diff --git a/LEGO1/lego/legoomni/include/act3.h b/LEGO1/lego/legoomni/include/act3.h index 9153ae05..f9794f7c 100644 --- a/LEGO1/lego/legoomni/include/act3.h +++ b/LEGO1/lego/legoomni/include/act3.h @@ -29,7 +29,7 @@ public: virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 virtual void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x5c() override; // vtable+0x5c virtual void VTable0x60() override; // vtable+0x60 virtual MxBool VTable0x64() override; // vtable+0x64 diff --git a/LEGO1/lego/legoomni/include/carrace.h b/LEGO1/lego/legoomni/include/carrace.h index 776662db..42a981bc 100644 --- a/LEGO1/lego/legoomni/include/carrace.h +++ b/LEGO1/lego/legoomni/include/carrace.h @@ -24,7 +24,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x64() override; // vtable+0x64 virtual undefined4 VTable0x6c(undefined4) override; // vtable+0x6c virtual undefined4 VTable0x70(undefined4) override; // vtable+0x70 diff --git a/LEGO1/lego/legoomni/include/elevatorbottom.h b/LEGO1/lego/legoomni/include/elevatorbottom.h index 1f02d28f..5bf8bced 100644 --- a/LEGO1/lego/legoomni/include/elevatorbottom.h +++ b/LEGO1/lego/legoomni/include/elevatorbottom.h @@ -27,7 +27,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 // FUNCTION: LEGO1 0x10017f10 virtual MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c diff --git a/LEGO1/lego/legoomni/include/gasstation.h b/LEGO1/lego/legoomni/include/gasstation.h index 5f6c64f1..9efb8886 100644 --- a/LEGO1/lego/legoomni/include/gasstation.h +++ b/LEGO1/lego/legoomni/include/gasstation.h @@ -30,7 +30,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x5c() override; // vtable+0x5c virtual MxBool VTable0x64() override; // vtable+0x64 virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/historybook.h b/LEGO1/lego/legoomni/include/historybook.h index 172dde98..a5299f63 100644 --- a/LEGO1/lego/legoomni/include/historybook.h +++ b/LEGO1/lego/legoomni/include/historybook.h @@ -26,7 +26,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x64() override; // vtable+0x64 // SYNTHETIC: LEGO1 0x100824b0 diff --git a/LEGO1/lego/legoomni/include/hospital.h b/LEGO1/lego/legoomni/include/hospital.h index 3e88a58a..194cb690 100644 --- a/LEGO1/lego/legoomni/include/hospital.h +++ b/LEGO1/lego/legoomni/include/hospital.h @@ -28,7 +28,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x5c() override; // vtable+0x5c virtual MxBool VTable0x64() override; // vtable+0x64 virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/infocenter.h b/LEGO1/lego/legoomni/include/infocenter.h index 5de2f745..fe6efff8 100644 --- a/LEGO1/lego/legoomni/include/infocenter.h +++ b/LEGO1/lego/legoomni/include/infocenter.h @@ -149,7 +149,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x5c() override; // vtable+0x5c virtual MxBool VTable0x64() override; // vtable+0x64 virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/infocenterdoor.h b/LEGO1/lego/legoomni/include/infocenterdoor.h index 1890f0b1..de3159f6 100644 --- a/LEGO1/lego/legoomni/include/infocenterdoor.h +++ b/LEGO1/lego/legoomni/include/infocenterdoor.h @@ -26,7 +26,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 // FUNCTION: LEGO1 0x100377a0 virtual MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c diff --git a/LEGO1/lego/legoomni/include/isle.h b/LEGO1/lego/legoomni/include/isle.h index e91982ee..148e099f 100644 --- a/LEGO1/lego/legoomni/include/isle.h +++ b/LEGO1/lego/legoomni/include/isle.h @@ -40,7 +40,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+50 + virtual void ReadyWorld() override; // vtable+50 virtual void Add(MxCore* p_object) override; // vtable+58 // FUNCTION: LEGO1 0x10030900 virtual MxBool VTable0x5c() override { return TRUE; } // vtable+5c diff --git a/LEGO1/lego/legoomni/include/jukebox.h b/LEGO1/lego/legoomni/include/jukebox.h index 7ee46589..9710a841 100644 --- a/LEGO1/lego/legoomni/include/jukebox.h +++ b/LEGO1/lego/legoomni/include/jukebox.h @@ -27,7 +27,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x5c() override; // vtable+0x5c virtual MxBool VTable0x64() override; // vtable+0x64 virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/legoact2.h b/LEGO1/lego/legoomni/include/legoact2.h index 4918fa76..0ac22875 100644 --- a/LEGO1/lego/legoomni/include/legoact2.h +++ b/LEGO1/lego/legoomni/include/legoact2.h @@ -12,7 +12,7 @@ class LegoAct2 : public LegoWorld { virtual MxLong Notify(MxParam& p_param) override; // vtable+0x04 virtual MxResult Tickle() override; // vtable+0x08 virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x5c() override; // vtable+0x5c virtual void VTable0x60() override; // vtable+0x60 virtual MxBool VTable0x64() override; // vtable+0x64 diff --git a/LEGO1/lego/legoomni/include/legocarbuild.h b/LEGO1/lego/legoomni/include/legocarbuild.h index 70db5856..cfe4990d 100644 --- a/LEGO1/lego/legoomni/include/legocarbuild.h +++ b/LEGO1/lego/legoomni/include/legocarbuild.h @@ -27,7 +27,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x5c() override; // vtable+0x5c virtual MxBool VTable0x64() override; // vtable+0x64 virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/legoworld.h b/LEGO1/lego/legoomni/include/legoworld.h index a57bf110..b6176067 100644 --- a/LEGO1/lego/legoomni/include/legoworld.h +++ b/LEGO1/lego/legoomni/include/legoworld.h @@ -24,6 +24,14 @@ typedef set MxCoreSet; // SIZE 0xf8 class LegoWorld : public LegoEntity { public: + enum StartupTicks { + e_start = 0, + e_one, + e_two, + e_three, + e_four + }; + LegoWorld(); virtual ~LegoWorld() override; // vtable+0x0 @@ -45,7 +53,7 @@ public: virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 virtual void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c - virtual void VTable0x50(); // vtable+0x50 + virtual void ReadyWorld(); // vtable+0x50 virtual LegoCameraController* VTable0x54(); // vtable+0x54 virtual void Add(MxCore* p_object); // vtable+0x58 virtual MxBool VTable0x5c(); // vtable+0x5c @@ -59,7 +67,7 @@ public: 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); @@ -82,7 +90,7 @@ protected: list m_list0xe0; // 0xe0 undefined4 m_unk0xec; // 0xec LegoHideAnimPresenter* m_hideAnimPresenter; // 0xf0 - MxS16 m_unk0xf4; // 0xf4 + MxS16 m_startupTicks; // 0xf4 MxBool m_worldStarted; // 0xf6 undefined m_unk0xf7; // 0xf7 }; diff --git a/LEGO1/lego/legoomni/include/police.h b/LEGO1/lego/legoomni/include/police.h index 999ae4aa..0261cd49 100644 --- a/LEGO1/lego/legoomni/include/police.h +++ b/LEGO1/lego/legoomni/include/police.h @@ -31,7 +31,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x5c() override; // vtable+0x5c virtual MxBool VTable0x64() override; // vtable+0x64 virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/registrationbook.h b/LEGO1/lego/legoomni/include/registrationbook.h index 25e4b2d8..53baeae9 100644 --- a/LEGO1/lego/legoomni/include/registrationbook.h +++ b/LEGO1/lego/legoomni/include/registrationbook.h @@ -27,7 +27,7 @@ public: } virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 - virtual void VTable0x50() override; // vtable+0x50 + virtual void ReadyWorld() override; // vtable+0x50 virtual MxBool VTable0x64() override; // vtable+0x64 virtual void VTable0x68(MxBool p_add) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/score.h b/LEGO1/lego/legoomni/include/score.h index 1e801aa3..08d4b595 100644 --- a/LEGO1/lego/legoomni/include/score.h +++ b/LEGO1/lego/legoomni/include/score.h @@ -32,7 +32,7 @@ public: // Score::`scalar deleting destructor' virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+18 - virtual void VTable0x50() override; // vtable+50 + virtual void ReadyWorld() override; // vtable+50 virtual MxBool VTable0x5c() override; // vtable+5c virtual MxBool VTable0x64() override; // vtable+64 virtual void VTable0x68(MxBool p_add) override; // vtable+68 diff --git a/LEGO1/lego/legoomni/src/act2/legoact2.cpp b/LEGO1/lego/legoomni/src/act2/legoact2.cpp index c487e9a4..3aafe018 100644 --- a/LEGO1/lego/legoomni/src/act2/legoact2.cpp +++ b/LEGO1/lego/legoomni/src/act2/legoact2.cpp @@ -29,7 +29,7 @@ MxLong LegoAct2::Notify(MxParam& p_param) } // STUB: LEGO1 0x10050a80 -void LegoAct2::VTable0x50() +void LegoAct2::ReadyWorld() { // TODO } diff --git a/LEGO1/lego/legoomni/src/act3/act3.cpp b/LEGO1/lego/legoomni/src/act3/act3.cpp index f23202f2..02a13c60 100644 --- a/LEGO1/lego/legoomni/src/act3/act3.cpp +++ b/LEGO1/lego/legoomni/src/act3/act3.cpp @@ -54,7 +54,7 @@ MxLong Act3::Notify(MxParam& p_param) } // STUB: LEGO1 0x10073270 -void Act3::VTable0x50() +void Act3::ReadyWorld() { // TODO } diff --git a/LEGO1/lego/legoomni/src/build/legocarbuild.cpp b/LEGO1/lego/legoomni/src/build/legocarbuild.cpp index 61576ece..9aba409b 100644 --- a/LEGO1/lego/legoomni/src/build/legocarbuild.cpp +++ b/LEGO1/lego/legoomni/src/build/legocarbuild.cpp @@ -43,7 +43,7 @@ MxLong LegoCarBuild::Notify(MxParam& p_param) } // STUB: LEGO1 0x100242c0 -void LegoCarBuild::VTable0x50() +void LegoCarBuild::ReadyWorld() { // TODO } diff --git a/LEGO1/lego/legoomni/src/entity/legoworld.cpp b/LEGO1/lego/legoomni/src/entity/legoworld.cpp index 002b6f5d..deaf0ce7 100644 --- a/LEGO1/lego/legoomni/src/entity/legoworld.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoworld.cpp @@ -26,7 +26,7 @@ DECOMP_SIZE_ASSERT(LegoCacheSoundListCursor, 0x10) // FUNCTION: LEGO1 0x1001ca40 LegoWorld::LegoWorld() : m_list0x68(TRUE) { - m_unk0xf4 = 4; + m_startupTicks = e_four; m_cameraController = NULL; m_entityList = NULL; m_cacheSoundList = NULL; @@ -495,30 +495,63 @@ void LegoWorld::VTable0x68(MxBool p_add) MxResult LegoWorld::Tickle() { if (!m_worldStarted) { - switch (m_unk0xf4) { - case 0: + switch (m_startupTicks) { + case e_start: m_worldStarted = TRUE; SetAppCursor(0); - VTable0x50(); + ReadyWorld(); return TRUE; - case 2: - if (FUN_100220e0() == 1) + case e_two: + if (PresentersPending()) break; default: - m_unk0xf4--; + m_startupTicks--; } } + 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 -void LegoWorld::VTable0x50() +void LegoWorld::ReadyWorld() { TickleManager()->UnregisterClient(this); } diff --git a/LEGO1/lego/legoomni/src/gasstation/gasstation.cpp b/LEGO1/lego/legoomni/src/gasstation/gasstation.cpp index 8bedf0cf..c7a695a8 100644 --- a/LEGO1/lego/legoomni/src/gasstation/gasstation.cpp +++ b/LEGO1/lego/legoomni/src/gasstation/gasstation.cpp @@ -48,7 +48,7 @@ MxLong GasStation::Notify(MxParam& p_param) } // STUB: LEGO1 0x10004b30 -void GasStation::VTable0x50() +void GasStation::ReadyWorld() { // TODO } diff --git a/LEGO1/lego/legoomni/src/hospital/hospital.cpp b/LEGO1/lego/legoomni/src/hospital/hospital.cpp index 8ede37e2..b141956d 100644 --- a/LEGO1/lego/legoomni/src/hospital/hospital.cpp +++ b/LEGO1/lego/legoomni/src/hospital/hospital.cpp @@ -52,7 +52,7 @@ MxLong Hospital::Notify(MxParam& p_param) } // STUB: LEGO1 0x10074a60 -void Hospital::VTable0x50() +void Hospital::ReadyWorld() { // TODO } diff --git a/LEGO1/lego/legoomni/src/infocenter/elevatorbottom.cpp b/LEGO1/lego/legoomni/src/infocenter/elevatorbottom.cpp index ab4d3cff..697ce5f1 100644 --- a/LEGO1/lego/legoomni/src/infocenter/elevatorbottom.cpp +++ b/LEGO1/lego/legoomni/src/infocenter/elevatorbottom.cpp @@ -65,9 +65,9 @@ MxLong ElevatorBottom::Notify(MxParam& p_param) } // FUNCTION: LEGO1 0x100181b0 -void ElevatorBottom::VTable0x50() +void ElevatorBottom::ReadyWorld() { - LegoWorld::VTable0x50(); + LegoWorld::ReadyWorld(); PlayMusic(JukeBox::e_informationCenter); FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen); } diff --git a/LEGO1/lego/legoomni/src/infocenter/infocenter.cpp b/LEGO1/lego/legoomni/src/infocenter/infocenter.cpp index 38b95622..4ca6dd79 100644 --- a/LEGO1/lego/legoomni/src/infocenter/infocenter.cpp +++ b/LEGO1/lego/legoomni/src/infocenter/infocenter.cpp @@ -298,7 +298,7 @@ MxLong Infocenter::HandleEndAction(MxParam& p_param) } // STUB: LEGO1 0x1006f4e0 -void Infocenter::VTable0x50() +void Infocenter::ReadyWorld() { m_infoManDialogueTimer = 0; m_bookAnimationTimer = 0; diff --git a/LEGO1/lego/legoomni/src/infocenter/infocenterdoor.cpp b/LEGO1/lego/legoomni/src/infocenter/infocenterdoor.cpp index 79e88a99..599096b2 100644 --- a/LEGO1/lego/legoomni/src/infocenter/infocenterdoor.cpp +++ b/LEGO1/lego/legoomni/src/infocenter/infocenterdoor.cpp @@ -53,9 +53,9 @@ MxLong InfocenterDoor::Notify(MxParam& p_param) } // FUNCTION: LEGO1 0x10037a70 -void InfocenterDoor::VTable0x50() +void InfocenterDoor::ReadyWorld() { - LegoWorld::VTable0x50(); + LegoWorld::ReadyWorld(); PlayMusic(JukeBox::e_informationCenter); FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen); } diff --git a/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp b/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp index f68bc29e..a2ee09b3 100644 --- a/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp +++ b/LEGO1/lego/legoomni/src/infocenter/registrationbook.cpp @@ -29,7 +29,7 @@ MxLong RegistrationBook::Notify(MxParam& p_param) } // STUB: LEGO1 0x10077cc0 -void RegistrationBook::VTable0x50() +void RegistrationBook::ReadyWorld() { // TODO } diff --git a/LEGO1/lego/legoomni/src/infocenter/score.cpp b/LEGO1/lego/legoomni/src/infocenter/score.cpp index 2d7d8c05..a7c1ee14 100644 --- a/LEGO1/lego/legoomni/src/infocenter/score.cpp +++ b/LEGO1/lego/legoomni/src/infocenter/score.cpp @@ -129,9 +129,9 @@ MxLong Score::FUN_10001510(MxEndActionNotificationParam& p_param) } // FUNCTION: LEGO1 0x10001580 -void Score::VTable0x50() +void Score::ReadyWorld() { - LegoWorld::VTable0x50(); + LegoWorld::ReadyWorld(); MxDSAction action; action.SetObjectId(0x1f4); diff --git a/LEGO1/lego/legoomni/src/isle/historybook.cpp b/LEGO1/lego/legoomni/src/isle/historybook.cpp index f5a970b3..4681ce1c 100644 --- a/LEGO1/lego/legoomni/src/isle/historybook.cpp +++ b/LEGO1/lego/legoomni/src/isle/historybook.cpp @@ -28,7 +28,7 @@ MxLong HistoryBook::Notify(MxParam& p_param) } // STUB: LEGO1 0x100826f0 -void HistoryBook::VTable0x50() +void HistoryBook::ReadyWorld() { // TODO } diff --git a/LEGO1/lego/legoomni/src/isle/isle.cpp b/LEGO1/lego/legoomni/src/isle/isle.cpp index e26e0797..40e07fa1 100644 --- a/LEGO1/lego/legoomni/src/isle/isle.cpp +++ b/LEGO1/lego/legoomni/src/isle/isle.cpp @@ -153,9 +153,9 @@ MxLong Isle::StopAction(MxParam& p_param) } // FUNCTION: LEGO1 0x10030fc0 -void Isle::VTable0x50() +void Isle::ReadyWorld() { - LegoWorld::VTable0x50(); + LegoWorld::ReadyWorld(); if (m_act1state->GetUnknown21()) { GameState()->HandleAction(2); diff --git a/LEGO1/lego/legoomni/src/isle/jukebox.cpp b/LEGO1/lego/legoomni/src/isle/jukebox.cpp index 687c0a79..c969754f 100644 --- a/LEGO1/lego/legoomni/src/isle/jukebox.cpp +++ b/LEGO1/lego/legoomni/src/isle/jukebox.cpp @@ -35,7 +35,7 @@ MxLong JukeBox::Notify(MxParam& p_param) } // STUB: LEGO1 0x1005d9f0 -void JukeBox::VTable0x50() +void JukeBox::ReadyWorld() { // TODO } diff --git a/LEGO1/lego/legoomni/src/police/police.cpp b/LEGO1/lego/legoomni/src/police/police.cpp index 42456814..aac86238 100644 --- a/LEGO1/lego/legoomni/src/police/police.cpp +++ b/LEGO1/lego/legoomni/src/police/police.cpp @@ -69,9 +69,9 @@ MxLong Police::Notify(MxParam& p_param) } // FUNCTION: LEGO1 0x1005e530 -void Police::VTable0x50() +void Police::ReadyWorld() { - LegoWorld::VTable0x50(); + LegoWorld::ReadyWorld(); PlayMusic(JukeBox::e_policeStation); FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen); } diff --git a/LEGO1/lego/legoomni/src/race/carrace.cpp b/LEGO1/lego/legoomni/src/race/carrace.cpp index 2e5c3b11..6230ed78 100644 --- a/LEGO1/lego/legoomni/src/race/carrace.cpp +++ b/LEGO1/lego/legoomni/src/race/carrace.cpp @@ -17,7 +17,7 @@ MxResult CarRace::Create(MxDSAction& p_dsAction) } // STUB: LEGO1 0x10016dd0 -void CarRace::VTable0x50() +void CarRace::ReadyWorld() { // TODO }