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