diff --git a/LEGO1/lego/legoomni/include/legopathpresenter.h b/LEGO1/lego/legoomni/include/legopathpresenter.h index de7b14d1..25d6323e 100644 --- a/LEGO1/lego/legoomni/include/legopathpresenter.h +++ b/LEGO1/lego/legoomni/include/legopathpresenter.h @@ -8,6 +8,7 @@ class LegoPathPresenter : public MxMediaPresenter { public: LegoPathPresenter(); + virtual ~LegoPathPresenter() override; // FUNCTION: LEGO1 0x100449a0 inline const char* ClassName() const override // vtable+0xc @@ -22,6 +23,8 @@ class LegoPathPresenter : public MxMediaPresenter { return !strcmp(p_name, LegoPathPresenter::ClassName()) || MxMediaPresenter::IsA(p_name); } + virtual void ReadyTickle(); // vtable+0x18 + virtual void StreamingTickle() override; // vtable+0x20 virtual void RepeatingTickle() override; // vtable+0x24 virtual void ParseExtra() override; // vtable+0x30 virtual MxResult AddToManager() override; // vtable+0x34 diff --git a/LEGO1/lego/legoomni/src/paths/legopathpresenter.cpp b/LEGO1/lego/legoomni/src/paths/legopathpresenter.cpp index b8ab8faf..044a95bd 100644 --- a/LEGO1/lego/legoomni/src/paths/legopathpresenter.cpp +++ b/LEGO1/lego/legoomni/src/paths/legopathpresenter.cpp @@ -12,6 +12,12 @@ LegoPathPresenter::LegoPathPresenter() Init(); } +// FUNCTION: LEGO1 0x10044ac0 +LegoPathPresenter::~LegoPathPresenter() +{ + Destroy(TRUE); +} + // FUNCTION: LEGO1 0x10044ab0 void LegoPathPresenter::Init() { @@ -65,3 +71,24 @@ void LegoPathPresenter::ParseExtra() { // TODO } + +// STUB: LEGO1 0x10044c20 +void LegoPathPresenter::ReadyTickle() +{ + // TODO + EndAction(); // Allow initialization process to continue +} + +// FUNCTION: LEGO1 0x10044d00 +void LegoPathPresenter::StreamingTickle() +{ + MxStreamChunk* chunk = m_subscriber->NextChunk(); + + if (chunk) { + if (chunk->GetFlags() & MxStreamChunk::Flag_End) { + ProgressTickleState(TickleState_Repeating); + } + + m_subscriber->DestroyChunk(chunk); + } +}