From 4d7968c7af4df3d672ee0d776b04493c6b323529 Mon Sep 17 00:00:00 2001 From: Misha <106913236+MishaProductions@users.noreply.github.com> Date: Wed, 27 Dec 2023 16:05:21 -0500 Subject: [PATCH] implement LegoWorldPresenter::StartingTickle (#378) --- LEGO1/legovideomanager.cpp | 2 +- LEGO1/legoworldpresenter.cpp | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/LEGO1/legovideomanager.cpp b/LEGO1/legovideomanager.cpp index 098bbe6e..456b10f5 100644 --- a/LEGO1/legovideomanager.cpp +++ b/LEGO1/legovideomanager.cpp @@ -80,7 +80,7 @@ void LegoVideoManager::MoveCursor(MxS32 p_cursorX, MxS32 p_cursorY) MxResult LegoVideoManager::Tickle() { // TODO - return FAILURE; + return MxVideoManager::Tickle(); } // STUB: LEGO1 0x1007c080 diff --git a/LEGO1/legoworldpresenter.cpp b/LEGO1/legoworldpresenter.cpp index 7a17ad7a..02578675 100644 --- a/LEGO1/legoworldpresenter.cpp +++ b/LEGO1/legoworldpresenter.cpp @@ -99,9 +99,25 @@ void LegoWorldPresenter::ReadyTickle() m_currentTickleState = TickleState_Starting; } -// STUB: LEGO1 0x10066ac0 +// FUNCTION: LEGO1 0x10066ac0 void LegoWorldPresenter::StartingTickle() { + if (m_action->IsA("MxDSSerialAction")) { + MxPresenter* presenter = *m_list.begin(); + if (presenter->GetCurrentTickleState() == TickleState_Idle) { + presenter->SetTickleState(TickleState_Ready); + } + } + else { + for (MxCompositePresenterList::iterator it = m_list.begin(); it != m_list.end(); it++) { + if ((*it)->GetCurrentTickleState() == TickleState_Idle) { + (*it)->SetTickleState(TickleState_Ready); + } + } + } + + m_previousTickleStates |= 1 << (unsigned char) m_currentTickleState; + m_currentTickleState = TickleState_Streaming; } // STUB: LEGO1 0x10067a70