From 7857355b0c8009a684984d151a283821605b7bf7 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Sun, 17 Sep 2023 06:41:06 -0400 Subject: [PATCH] Implement/match MxMediaManager::Tickle --- LEGO1/mxlist.h | 3 ++- LEGO1/mxmediamanager.cpp | 14 +++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) 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; }