mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-28 18:51:16 +00:00
Implement/match LegoWorld::PresentersPending
This commit is contained in:
parent
fadf8e7fd5
commit
c3ea62ec45
@ -59,7 +59,7 @@ class LegoWorld : public LegoEntity {
|
||||
inline LegoCameraController* GetCamera() { return m_cameraController; }
|
||||
inline undefined4 GetUnknown0xec() { return m_unk0xec; }
|
||||
|
||||
undefined FUN_100220e0();
|
||||
MxBool PresentersPending();
|
||||
void Remove(MxCore* p_object);
|
||||
void FUN_1001fc80(IslePathActor* p_actor);
|
||||
MxS32 GetCurrPathInfo(LegoPathBoundary** p_path, MxS32& p_value);
|
||||
|
||||
@ -502,7 +502,7 @@ MxResult LegoWorld::Tickle()
|
||||
VTable0x50();
|
||||
return TRUE;
|
||||
case 2:
|
||||
if (FUN_100220e0() == 1)
|
||||
if (PresentersPending())
|
||||
break;
|
||||
default:
|
||||
m_unk0xf4--;
|
||||
@ -511,10 +511,42 @@ MxResult LegoWorld::Tickle()
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x100220e0
|
||||
undefined LegoWorld::FUN_100220e0()
|
||||
// FUNCTION: LEGO1 0x100220e0
|
||||
MxBool LegoWorld::PresentersPending()
|
||||
{
|
||||
return 0;
|
||||
MxPresenterListCursor controlPresenterCursor(&m_controlPresenters);
|
||||
MxPresenter* presenter;
|
||||
|
||||
while (controlPresenterCursor.Next(presenter)) {
|
||||
if (presenter->IsEnabled() && !presenter->HasTickleStatePassed(MxPresenter::e_starting))
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
MxPresenterListCursor animPresenterCursor(&m_animPresenters);
|
||||
|
||||
while (animPresenterCursor.Next(presenter)) {
|
||||
if (presenter->IsEnabled()) {
|
||||
if (presenter->IsA("LegoLocomotionAnimPresenter")) {
|
||||
if (!presenter->HasTickleStatePassed(MxPresenter::e_ready))
|
||||
return TRUE;
|
||||
}
|
||||
else {
|
||||
if (!presenter->HasTickleStatePassed(MxPresenter::e_starting))
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (MxCoreSet::iterator it = m_set0xa8.begin(); it != m_set0xa8.end(); it++) {
|
||||
if ((*it)->IsA("MxPresenter")) {
|
||||
presenter = (MxPresenter*) *it;
|
||||
|
||||
if (presenter->IsEnabled() && !presenter->HasTickleStatePassed(MxPresenter::e_starting))
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10022340
|
||||
|
||||
Loading…
Reference in New Issue
Block a user