diff --git a/LEGO1/legotexturepresenter.cpp b/LEGO1/legotexturepresenter.cpp index 36a7e243..6d0cbe8c 100644 --- a/LEGO1/legotexturepresenter.cpp +++ b/LEGO1/legotexturepresenter.cpp @@ -2,6 +2,7 @@ #include "legoomni.h" #include "legovideomanager.h" +#include "mxcompositepresenter.h" // FUNCTION: LEGO1 0x1004eb40 LegoTexturePresenter::~LegoTexturePresenter() @@ -15,3 +16,21 @@ MxResult LegoTexturePresenter::AddToManager() VideoManager()->AddPresenter(*this); return SUCCESS; } + +// STUB: LEGO1 0x1004fc60 +MxResult LegoTexturePresenter::PutData() +{ + // TODO + return FAILURE; +} + +// FUNCTION: LEGO1 0x1004fcb0 +void LegoTexturePresenter::DoneTickle() +{ + if (this->m_compositePresenter && !this->m_compositePresenter->VTable0x64(2)) { + SetTickleState(TickleState_Idle); + return; + } + + MxMediaPresenter::DoneTickle(); +} diff --git a/LEGO1/legotexturepresenter.h b/LEGO1/legotexturepresenter.h index 22a23500..36cc59b9 100644 --- a/LEGO1/legotexturepresenter.h +++ b/LEGO1/legotexturepresenter.h @@ -22,7 +22,9 @@ class LegoTexturePresenter : public MxMediaPresenter { return !strcmp(p_name, LegoTexturePresenter::ClassName()) || MxMediaPresenter::IsA(p_name); } + virtual void DoneTickle() override; // vtable+0x2c virtual MxResult AddToManager() override; // vtable+0x34 + virtual MxResult PutData() override; // vtable+0x4c }; #endif // LEGOTEXTUREPRESENTER_H