diff --git a/LEGO1/mxlist.h b/LEGO1/mxlist.h index 6f26cad8..3e2635c2 100644 --- a/LEGO1/mxlist.h +++ b/LEGO1/mxlist.h @@ -83,7 +83,8 @@ class MxListCursor : public MxCore MxBool Find(T *p_obj); void Detach(); MxBool Next(T*& p_obj); - + void Reset() { m_match = NULL; } + private: MxList *m_list; MxListEntry *m_match; diff --git a/LEGO1/mxmediamanager.cpp b/LEGO1/mxmediamanager.cpp index d1823c03..b890eec4 100644 --- a/LEGO1/mxmediamanager.cpp +++ b/LEGO1/mxmediamanager.cpp @@ -27,9 +27,21 @@ MxResult MxMediaManager::Init() return SUCCESS; } -// OFFSET: LEGO1 0x100b8790 STUB +// OFFSET: LEGO1 0x100b8790 MxResult MxMediaManager::Tickle() { + MxAutoLocker lock(&this->m_criticalSection); + MxPresenter *presenter; + MxPresenterListCursor cursor(this->m_presenters); + + while (cursor.Next(presenter)) + presenter->Tickle(); + + cursor.Reset(); + + while (cursor.Next(presenter)) + presenter->VTable0x4c(); + return SUCCESS; }