This commit is contained in:
Christian Semmler 2024-01-15 14:26:17 -05:00
parent e7777ad8de
commit c105741b91
2 changed files with 15 additions and 15 deletions

View File

@ -36,7 +36,7 @@ class LegoAnimPresenter : public MxVideoPresenter {
virtual MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c virtual MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c
virtual void EndAction() override; // vtable+0x40 virtual void EndAction() override; // vtable+0x40
virtual void PutFrame() override; // vtable+0x6c virtual void PutFrame() override; // vtable+0x6c
virtual MxS32 VTable0x88(MxStreamChunk* p_chunk) override; // vtable+0x88 virtual MxResult VTable0x88(MxStreamChunk* p_chunk) override; // vtable+0x88
private: private:
void Init(); void Init();

View File

@ -56,9 +56,9 @@ void LegoAnimPresenter::Destroy(MxBool p_fromDestructor)
} }
// FUNCTION: LEGO1 0x10068fb0 // FUNCTION: LEGO1 0x10068fb0
MxS32 LegoAnimPresenter::VTable0x88(MxStreamChunk* p_chunk) MxResult LegoAnimPresenter::VTable0x88(MxStreamChunk* p_chunk)
{ {
MxS32 result = FAILURE; MxResult result = FAILURE;
LegoMemoryStream stream((char*) p_chunk->GetData()); LegoMemoryStream stream((char*) p_chunk->GetData());
MxS32 magicSig; MxS32 magicSig;
@ -104,21 +104,21 @@ void LegoAnimPresenter::PutFrame()
void LegoAnimPresenter::ReadyTickle() void LegoAnimPresenter::ReadyTickle()
{ {
m_currentWorld = GetCurrentWorld(); m_currentWorld = GetCurrentWorld();
if (m_currentWorld) { if (m_currentWorld) {
MxStreamChunk* chunk = m_subscriber->CurrentChunk(); MxStreamChunk* chunk = m_subscriber->CurrentChunk();
if (chunk) {
if (chunk->GetTime() + m_action->GetStartTime() <= m_action->GetElapsedTime()) {
chunk = m_subscriber->NextChunk();
MxU32 result = VTable0x88(chunk);
m_subscriber->DestroyChunk(chunk);
if (result == 0) { if (chunk && chunk->GetTime() + m_action->GetStartTime() <= m_action->GetElapsedTime()) {
ProgressTickleState(TickleState_Starting); chunk = m_subscriber->NextChunk();
ParseExtra(); MxResult result = VTable0x88(chunk);
} m_subscriber->DestroyChunk(chunk);
else {
EndAction(); if (result == SUCCESS) {
} ProgressTickleState(TickleState_Starting);
ParseExtra();
}
else {
EndAction();
} }
} }
} }