From 5a7df7f95d382c38e60cf40cef14aab95b7dc797 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Mon, 20 Jan 2025 17:31:28 -0700 Subject: [PATCH] Order until `LegoCarBuildAnimPresenter` (#1365) * Order until `Infocenter` * Order until RaceSkel * More order * Order until `LegoCarBuildAnimPresenter` * Add blank line * Add BETA annotation --- CMakeLists.txt | 6 +- LEGO1/lego/legoomni/include/act3.h | 4 +- LEGO1/lego/legoomni/include/hospital.h | 23 +++-- LEGO1/lego/legoomni/include/infocenter.h | 9 +- LEGO1/lego/legoomni/include/jukebox.h | 4 +- .../legoomni/include/legocarbuildpresenter.h | 6 +- .../legoomni/include/legohideanimpresenter.h | 8 +- .../lego/legoomni/include/legoinputmanager.h | 7 +- LEGO1/lego/legoomni/include/police.h | 4 +- LEGO1/lego/legoomni/include/raceskel.h | 2 + .../src/build/legocarbuildpresenter.cpp | 14 +-- .../legoomni/src/input/legoinputmanager.cpp | 7 -- LEGO1/lego/legoomni/src/race/raceskel.cpp | 9 ++ .../src/video/legohideanimpresenter.cpp | 10 --- LEGO1/lego/legoomni/src/worlds/act3.cpp | 6 -- LEGO1/lego/legoomni/src/worlds/hospital.cpp | 88 +++++++++---------- LEGO1/lego/legoomni/src/worlds/infocenter.cpp | 5 ++ LEGO1/lego/legoomni/src/worlds/jukebox.cpp | 6 -- LEGO1/lego/legoomni/src/worlds/police.cpp | 6 -- 19 files changed, 108 insertions(+), 116 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2e2148c9..0f84d674 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -363,14 +363,12 @@ function(add_lego_libraries NAME) LEGO1/lego/legoomni/src/entity/legonavcontroller.cpp LEGO1/lego/legoomni/src/paths/legopathboundary.cpp LEGO1/lego/legoomni/src/main/legomain.cpp - LEGO1/lego/legoomni/src/entity/legojetskiraceactor.cpp LEGO1/lego/legoomni/src/input/legoinputmanager.cpp LEGO1/lego/legoomni/src/race/legoracemap.cpp LEGO1/lego/legoomni/src/worlds/jukebox.cpp LEGO1/lego/legoomni/src/video/legoflctexturepresenter.cpp LEGO1/lego/legoomni/src/worlds/police.cpp LEGO1/lego/legoomni/src/common/legoanimationmanager.cpp - LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp LEGO1/lego/legoomni/src/entity/legopovcontroller.cpp LEGO1/lego/legoomni/src/common/legotextureinfo.cpp LEGO1/lego/legoomni/src/actors/doors.cpp @@ -383,12 +381,14 @@ function(add_lego_libraries NAME) LEGO1/lego/legoomni/src/worlds/infocenter.cpp LEGO1/lego/legoomni/src/race/raceskel.cpp LEGO1/lego/legoomni/src/worlds/act3.cpp - LEGO1/lego/legoomni/src/video/legomodelpresenter.cpp LEGO1/lego/legoomni/src/common/mxcompositemediapresenter.cpp LEGO1/lego/legoomni/src/worlds/hospital.cpp LEGO1/lego/legoomni/src/actors/bike.cpp LEGO1/lego/legoomni/src/entity/legoactorpresenter.cpp LEGO1/lego/legoomni/src/worlds/registrationbook.cpp + LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp + LEGO1/lego/legoomni/src/entity/legojetskiraceactor.cpp + LEGO1/lego/legoomni/src/video/legomodelpresenter.cpp LEGO1/lego/legoomni/src/video/legopalettepresenter.cpp LEGO1/lego/legoomni/src/entity/act2brick.cpp LEGO1/lego/legoomni/src/video/legovideomanager.cpp diff --git a/LEGO1/lego/legoomni/include/act3.h b/LEGO1/lego/legoomni/include/act3.h index 174d74a7..8b31ea73 100644 --- a/LEGO1/lego/legoomni/include/act3.h +++ b/LEGO1/lego/legoomni/include/act3.h @@ -92,6 +92,9 @@ public: MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxResult Tickle() override; // vtable+0x08 + // FUNCTION: LEGO1 0x10072500 + MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c + // FUNCTION: LEGO1 0x10072510 // FUNCTION: BETA10 0x10017550 const char* ClassName() const override // vtable+0x0c @@ -109,7 +112,6 @@ public: MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c void ReadyWorld() override; // vtable+0x50 - MxBool VTable0x5c() override; // vtable+0x5c void VTable0x60() override; // vtable+0x60 MxBool Escape() override; // vtable+0x64 void Enable(MxBool p_enable) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/hospital.h b/LEGO1/lego/legoomni/include/hospital.h index ef16252c..623a4399 100644 --- a/LEGO1/lego/legoomni/include/hospital.h +++ b/LEGO1/lego/legoomni/include/hospital.h @@ -16,11 +16,6 @@ class MxStillPresenter; // SIZE 0x18 class HospitalState : public LegoState { public: - // SIZE 0x04 - struct Unknown0x08 { - undefined4 m_unk0x00; // 0x00 - }; - HospitalState(); ~HospitalState() override {} @@ -45,13 +40,13 @@ public: // TODO: Most likely getters/setters are not used according to BETA. - Unknown0x08 m_unk0x08; // 0x08 - MxS16 m_unk0x0c; // 0x0c - MxS16 m_unk0x0e; // 0x0e - MxS16 m_unk0x10; // 0x10 - MxS16 m_unk0x12; // 0x12 - MxS16 m_unk0x14; // 0x14 - MxS16 m_unk0x16; // 0x16 + undefined4 m_unk0x08; // 0x08 + MxS16 m_unk0x0c; // 0x0c + MxS16 m_unk0x0e; // 0x0e + MxS16 m_unk0x10; // 0x10 + MxS16 m_unk0x12; // 0x12 + MxS16 m_unk0x14; // 0x14 + MxS16 m_unk0x16; // 0x16 }; // VTABLE: LEGO1 0x100d9730 @@ -65,6 +60,9 @@ public: MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxResult Tickle() override; // vtable+0x08 + // FUNCTION: LEGO1 0x100746a0 + MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c + // FUNCTION: LEGO1 0x100746b0 // FUNCTION: BETA10 0x1002e1a0 const char* ClassName() const override // vtable+0x0c @@ -81,7 +79,6 @@ public: MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 void ReadyWorld() override; // vtable+0x50 - MxBool VTable0x5c() override; // vtable+0x5c MxBool Escape() override; // vtable+0x64 void Enable(MxBool p_enable) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/infocenter.h b/LEGO1/lego/legoomni/include/infocenter.h index b1a943cf..7749cc84 100644 --- a/LEGO1/lego/legoomni/include/infocenter.h +++ b/LEGO1/lego/legoomni/include/infocenter.h @@ -20,6 +20,9 @@ public: InfocenterState(); ~InfocenterState() override; + // FUNCTION: LEGO1 0x10071830 + MxBool IsSerializable() override { return FALSE; } // vtable+0x14 + // FUNCTION: LEGO1 0x10071840 // FUNCTION: BETA10 0x10031ee0 const char* ClassName() const override // vtable+0x0c @@ -34,9 +37,6 @@ public: return !strcmp(p_name, InfocenterState::ClassName()) || LegoState::IsA(p_name); } - // FUNCTION: LEGO1 0x10071830 - MxBool IsSerializable() override { return FALSE; } // vtable+0x14 - MxS16 GetMaxNameLength() { return sizeOfArray(m_letters); } MxStillPresenter* GetNameLetter(MxS32 p_index) { return m_letters[p_index]; } void SetNameLetter(MxS32 p_index, MxStillPresenter* p_letter) { m_letters[p_index] = p_letter; } @@ -66,8 +66,7 @@ public: // SIZE 0x18 struct InfocenterMapEntry { - // FUNCTION: LEGO1 0x1006ec80 - InfocenterMapEntry() {} + InfocenterMapEntry(); MxStillPresenter* m_destCtl; // 0x00 undefined4 m_unk0x04; // 0x04 diff --git a/LEGO1/lego/legoomni/include/jukebox.h b/LEGO1/lego/legoomni/include/jukebox.h index 8196f454..e7a36668 100644 --- a/LEGO1/lego/legoomni/include/jukebox.h +++ b/LEGO1/lego/legoomni/include/jukebox.h @@ -59,6 +59,9 @@ public: MxLong Notify(MxParam& p_param) override; // vtable+0x04 MxResult Tickle() override; // vtable+0x08 + // FUNCTION: LEGO1 0x1005d6e0 + MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c + // FUNCTION: LEGO1 0x1005d6f0 // FUNCTION: BETA10 0x100388d0 const char* ClassName() const override // vtable+0x0c @@ -75,7 +78,6 @@ public: MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 void ReadyWorld() override; // vtable+0x50 - MxBool VTable0x5c() override; // vtable+0x5c MxBool Escape() override; // vtable+0x64 void Enable(MxBool p_enable) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/legocarbuildpresenter.h b/LEGO1/lego/legoomni/include/legocarbuildpresenter.h index deb55c03..821c3a60 100644 --- a/LEGO1/lego/legoomni/include/legocarbuildpresenter.h +++ b/LEGO1/lego/legoomni/include/legocarbuildpresenter.h @@ -44,6 +44,9 @@ public: return "LegoCarBuildAnimPresenter"; } + // FUNCTION: LEGO1 0x10078500 + void RepeatingTickle() override {} // vtable+0x24 + // FUNCTION: LEGO1 0x10078510 // FUNCTION: BETA10 0x10073260 const char* ClassName() const override // vtable+0x0c @@ -59,10 +62,11 @@ public: void ReadyTickle() override; // vtable+0x18 void StreamingTickle() override; // vtable+0x20 - void RepeatingTickle() override; // vtable+0x24 void EndAction() override; // vtable+0x40 void PutFrame() override; // vtable+0x6c + virtual MxResult Serialize(LegoStorage* p_storage); + void FUN_10079050(MxS16 p_index); void SwapNodesByName(LegoChar* p_param1, LegoChar* p_param2); void FUN_10079160(); diff --git a/LEGO1/lego/legoomni/include/legohideanimpresenter.h b/LEGO1/lego/legoomni/include/legohideanimpresenter.h index c04e2fe2..b2bbb7b8 100644 --- a/LEGO1/lego/legoomni/include/legohideanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legohideanimpresenter.h @@ -25,6 +25,12 @@ public: LegoHideAnimPresenter(); ~LegoHideAnimPresenter() override; + // FUNCTION: LEGO1 0x1006d860 + void VTable0x8c() override {} // vtable+0x8c + + // FUNCTION: LEGO1 0x1006d870 + void VTable0x90() override {} // vtable+0x90 + // FUNCTION: BETA10 0x1005d4a0 static const char* HandlerClassName() { @@ -51,8 +57,6 @@ public: void Destroy() override; // vtable+0x38 void EndAction() override; // vtable+0x40 void PutFrame() override; // vtable+0x6c - void VTable0x8c() override; // vtable+0x8c - void VTable0x90() override; // vtable+0x90 void FUN_1006db40(LegoTime p_time); diff --git a/LEGO1/lego/legoomni/include/legoinputmanager.h b/LEGO1/lego/legoomni/include/legoinputmanager.h index 8f2b0693..9b47d7a8 100644 --- a/LEGO1/lego/legoomni/include/legoinputmanager.h +++ b/LEGO1/lego/legoomni/include/legoinputmanager.h @@ -87,7 +87,12 @@ public: void Register(MxCore*); void UnRegister(MxCore*); - MxResult Tickle() override; // vtable+0x08 + // FUNCTION: LEGO1 0x1005b8b0 + MxResult Tickle() override + { + ProcessEvents(); + return SUCCESS; + } // vtable+0x08 // FUNCTION: LEGO1 0x1005b8c0 MxResult PutData() override { return SUCCESS; } // vtable+0x4c diff --git a/LEGO1/lego/legoomni/include/police.h b/LEGO1/lego/legoomni/include/police.h index e89ad3a7..39294cb1 100644 --- a/LEGO1/lego/legoomni/include/police.h +++ b/LEGO1/lego/legoomni/include/police.h @@ -59,6 +59,9 @@ public: MxLong Notify(MxParam& p_param) override; // vtable+0x04 + // FUNCTION: LEGO1 0x1005e1d0 + MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c + // FUNCTION: LEGO1 0x1005e1e0 // FUNCTION: BETA10 0x100f0c50 const char* ClassName() const override // vtable+0x0c @@ -75,7 +78,6 @@ public: MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 void ReadyWorld() override; // vtable+0x50 - MxBool VTable0x5c() override; // vtable+0x5c MxBool Escape() override; // vtable+0x64 void Enable(MxBool p_enable) override; // vtable+0x68 diff --git a/LEGO1/lego/legoomni/include/raceskel.h b/LEGO1/lego/legoomni/include/raceskel.h index 48830bea..92859c68 100644 --- a/LEGO1/lego/legoomni/include/raceskel.h +++ b/LEGO1/lego/legoomni/include/raceskel.h @@ -17,6 +17,8 @@ public: MxResult FUN_1001c360(float p_und, Matrix4& p_transform) override; + virtual void FUN_10071c80(Vector3& p_vec); + void GetCurrentAnimData(float* p_outCurAnimPosition, float* p_outCurAnimDuration); // SYNTHETIC: LEGO1 0x10071cf0 diff --git a/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp b/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp index 91d3650c..df971e85 100644 --- a/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp +++ b/LEGO1/lego/legoomni/src/build/legocarbuildpresenter.cpp @@ -39,12 +39,6 @@ LegoCarBuildAnimPresenter::LegoCarBuildAnimPresenter() m_mainSourceId = NULL; } -// FUNCTION: LEGO1 0x10078500 -void LegoCarBuildAnimPresenter::RepeatingTickle() -{ - // empty -} - // FUNCTION: LEGO1 0x10078680 // FUNCTION: BETA10 0x1007091e LegoCarBuildAnimPresenter::~LegoCarBuildAnimPresenter() @@ -294,6 +288,14 @@ void LegoCarBuildAnimPresenter::EndAction() } } +// STUB: LEGO1 0x10078e30 +// STUB: BETA10 0x10071387 +MxResult LegoCarBuildAnimPresenter::Serialize(LegoStorage* p_storage) +{ + // TODO + return SUCCESS; +} + // FUNCTION: LEGO1 0x10079050 // FUNCTION: BETA10 0x1007151e void LegoCarBuildAnimPresenter::FUN_10079050(MxS16 p_index) diff --git a/LEGO1/lego/legoomni/src/input/legoinputmanager.cpp b/LEGO1/lego/legoomni/src/input/legoinputmanager.cpp index 3aa0208c..e3523ca9 100644 --- a/LEGO1/lego/legoomni/src/input/legoinputmanager.cpp +++ b/LEGO1/lego/legoomni/src/input/legoinputmanager.cpp @@ -52,13 +52,6 @@ LegoInputManager::LegoInputManager() m_autoDragTime = 1000; } -// FUNCTION: LEGO1 0x1005b8b0 -MxResult LegoInputManager::Tickle() -{ - ProcessEvents(); - return SUCCESS; -} - // FUNCTION: LEGO1 0x1005b8f0 LegoInputManager::~LegoInputManager() { diff --git a/LEGO1/lego/legoomni/src/race/raceskel.cpp b/LEGO1/lego/legoomni/src/race/raceskel.cpp index 213e788d..899efe28 100644 --- a/LEGO1/lego/legoomni/src/race/raceskel.cpp +++ b/LEGO1/lego/legoomni/src/race/raceskel.cpp @@ -50,6 +50,15 @@ void RaceSkel::ParseAction(char* p_extra) m_roi->SetBoundingSphere(sphere); } +// FUNCTION: LEGO1 0x10071c80 +// FUNCTION: BETA10 0x100f1531 +void RaceSkel::FUN_10071c80(Vector3& p_vec) +{ + p_vec[0] = -630.0f; + p_vec[1] = -4.688f; + p_vec[2] = 323.0f; +} + // FUNCTION: LEGO1 0x10071cb0 // FUNCTION: BETA10 0x100f158b void RaceSkel::GetCurrentAnimData(float* p_outCurAnimPosition, float* p_outCurAnimDuration) diff --git a/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp b/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp index 67d49941..0aef42bd 100644 --- a/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp +++ b/LEGO1/lego/legoomni/src/video/legohideanimpresenter.cpp @@ -14,16 +14,6 @@ LegoHideAnimPresenter::LegoHideAnimPresenter() Init(); } -// FUNCTION: LEGO1 0x1006d860 -void LegoHideAnimPresenter::VTable0x8c() -{ -} - -// FUNCTION: LEGO1 0x1006d870 -void LegoHideAnimPresenter::VTable0x90() -{ -} - // FUNCTION: LEGO1 0x1006d9f0 LegoHideAnimPresenter::~LegoHideAnimPresenter() { diff --git a/LEGO1/lego/legoomni/src/worlds/act3.cpp b/LEGO1/lego/legoomni/src/worlds/act3.cpp index 0043e4b6..af9619ac 100644 --- a/LEGO1/lego/legoomni/src/worlds/act3.cpp +++ b/LEGO1/lego/legoomni/src/worlds/act3.cpp @@ -241,12 +241,6 @@ Act3::Act3() NotificationManager()->Register(this); } -// FUNCTION: LEGO1 0x10072500 -MxBool Act3::VTable0x5c() -{ - return TRUE; -} - // FUNCTION: LEGO1 0x100726a0 // FUNCTION: BETA10 0x100155da Act3::~Act3() diff --git a/LEGO1/lego/legoomni/src/worlds/hospital.cpp b/LEGO1/lego/legoomni/src/worlds/hospital.cpp index 303d7b90..e32edfdb 100644 --- a/LEGO1/lego/legoomni/src/worlds/hospital.cpp +++ b/LEGO1/lego/legoomni/src/worlds/hospital.cpp @@ -50,12 +50,6 @@ Hospital::Hospital() NotificationManager()->Register(this); } -// FUNCTION: LEGO1 0x100746a0 -MxBool Hospital::VTable0x5c() -{ - return TRUE; -} - // FUNCTION: LEGO1 0x100747f0 Hospital::~Hospital() { @@ -67,7 +61,7 @@ Hospital::~Hospital() ControlManager()->Unregister(this); TickleManager()->UnregisterClient(this); - m_hospitalState->m_unk0x08.m_unk0x00 = 3; + m_hospitalState->m_unk0x08 = 3; NotificationManager()->Unregister(this); g_unk0x100f7918 = 3; @@ -87,13 +81,13 @@ MxResult Hospital::Create(MxDSAction& p_dsAction) m_hospitalState = (HospitalState*) GameState()->GetState("HospitalState"); if (!m_hospitalState) { m_hospitalState = (HospitalState*) GameState()->CreateState("HospitalState"); - m_hospitalState->m_unk0x08.m_unk0x00 = 1; + m_hospitalState->m_unk0x08 = 1; } - else if (m_hospitalState->m_unk0x08.m_unk0x00 == 4) { - m_hospitalState->m_unk0x08.m_unk0x00 = 4; + else if (m_hospitalState->m_unk0x08 == 4) { + m_hospitalState->m_unk0x08 = 4; } else { - m_hospitalState->m_unk0x08.m_unk0x00 = 3; + m_hospitalState->m_unk0x08 = 3; } GameState()->m_currentArea = LegoGameState::e_hospital; @@ -203,7 +197,7 @@ void Hospital::ReadyWorld() HospitalScript::c_hho007p1_RunAnim }; - m_hospitalState->m_unk0x08.m_unk0x00 = 5; + m_hospitalState->m_unk0x08 = 5; PlayAction(hospitalScript[m_hospitalState->m_unk0x0c]); m_currentAction = hospitalScript[m_hospitalState->m_unk0x0c]; @@ -212,7 +206,7 @@ void Hospital::ReadyWorld() m_unk0x100 = 1; m_time = Timer()->GetTime(); - m_hospitalState->m_unk0x08.m_unk0x00 = 6; + m_hospitalState->m_unk0x08 = 6; PlayAction(HospitalScript::c_hho003cl_RunAnim); m_currentAction = HospitalScript::c_hho003cl_RunAnim; @@ -249,9 +243,9 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param) m_unk0x108 = 0; - switch (m_hospitalState->m_unk0x08.m_unk0x00) { + switch (m_hospitalState->m_unk0x08) { case 5: - m_hospitalState->m_unk0x08.m_unk0x00 = 7; + m_hospitalState->m_unk0x08 = 7; PlayAction(HospitalScript::c_hho006cl_RunAnim); m_currentAction = HospitalScript::c_hho006cl_RunAnim; @@ -265,7 +259,7 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param) break; case 7: case 10: - m_hospitalState->m_unk0x08.m_unk0x00 = 8; + m_hospitalState->m_unk0x08 = 8; m_unk0x100 = 1; m_time = Timer()->GetTime(); break; @@ -275,14 +269,14 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param) switch (m_hospitalState->m_unk0x0e) { case 0: case 1: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho017cl_RunAnim); m_currentAction = HospitalScript::c_hho017cl_RunAnim; m_unk0x108 = 1; break; default: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho018cl_RunAnim); m_currentAction = HospitalScript::c_hho018cl_RunAnim; @@ -294,14 +288,14 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param) switch (m_hospitalState->m_unk0x10) { case 0: case 1: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho019cl_RunAnim); m_currentAction = HospitalScript::c_hho019cl_RunAnim; m_unk0x108 = 1; break; default: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho020cl_RunAnim); m_currentAction = HospitalScript::c_hho020cl_RunAnim; @@ -313,14 +307,14 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param) switch (m_hospitalState->m_unk0x12) { case 0: case 1: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho023cl_RunAnim); m_currentAction = HospitalScript::c_hho023cl_RunAnim; m_unk0x108 = 1; break; default: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho024cl_RunAnim); m_currentAction = HospitalScript::c_hho024cl_RunAnim; @@ -332,14 +326,14 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param) switch (m_hospitalState->m_unk0x14) { case 0: case 1: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho021cl_RunAnim); m_currentAction = HospitalScript::c_hho021cl_RunAnim; m_unk0x108 = 1; break; default: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hhoa22cl_RunAnim); m_currentAction = HospitalScript::c_hhoa22cl_RunAnim; @@ -351,14 +345,14 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param) switch (m_hospitalState->m_unk0x16) { case 0: case 1: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho025cl_RunAnim); m_currentAction = HospitalScript::c_hho025cl_RunAnim; m_unk0x108 = 1; break; default: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho026cl_RunAnim); m_currentAction = HospitalScript::c_hho026cl_RunAnim; @@ -369,7 +363,7 @@ MxLong Hospital::HandleEndAction(MxEndActionNotificationParam& p_param) } break; case 12: - m_hospitalState->m_unk0x08.m_unk0x00 = 9; + m_hospitalState->m_unk0x08 = 9; act1State = (Act1State*) GameState()->GetState("Act1State"); act1State->SetUnknown18(9); case 14: @@ -416,13 +410,13 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerNotificationParam& p_param) m_unk0x100 = 3; - if (m_hospitalState->m_unk0x08.m_unk0x00 == 6) { + if (m_hospitalState->m_unk0x08 == 6) { if (m_unk0x128 == 0) { m_unk0x128 = 1; TickleManager()->UnregisterClient(this); - m_hospitalState->m_unk0x08.m_unk0x00 = 9; + m_hospitalState->m_unk0x08 = 9; Act1State* act1State = (Act1State*) GameState()->GetState("Act1State"); act1State->SetUnknown18(9); @@ -435,9 +429,9 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerNotificationParam& p_param) TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE); } } - else if (m_hospitalState->m_unk0x08.m_unk0x00 == 10 || m_hospitalState->m_unk0x08.m_unk0x00 == 8) { - if (m_hospitalState->m_unk0x08.m_unk0x00 == 10) { - m_hospitalState->m_unk0x08.m_unk0x00 = 11; + else if (m_hospitalState->m_unk0x08 == 10 || m_hospitalState->m_unk0x08 == 8) { + if (m_hospitalState->m_unk0x08 == 10) { + m_hospitalState->m_unk0x08 = 11; BackgroundAudioManager()->RaiseVolume(); DeleteObjects( @@ -452,14 +446,14 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerNotificationParam& p_param) switch (m_hospitalState->m_unk0x0e) { case 0: case 1: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho017cl_RunAnim); m_currentAction = HospitalScript::c_hho017cl_RunAnim; m_unk0x108 = 1; break; default: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho018cl_RunAnim); m_currentAction = HospitalScript::c_hho018cl_RunAnim; @@ -471,14 +465,14 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerNotificationParam& p_param) switch (m_hospitalState->m_unk0x10) { case 0: case 1: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho019cl_RunAnim); m_currentAction = HospitalScript::c_hho019cl_RunAnim; m_unk0x108 = 1; break; default: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho020cl_RunAnim); m_currentAction = HospitalScript::c_hho020cl_RunAnim; @@ -490,14 +484,14 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerNotificationParam& p_param) switch (m_hospitalState->m_unk0x12) { case 0: case 1: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho023cl_RunAnim); m_currentAction = HospitalScript::c_hho023cl_RunAnim; m_unk0x108 = 1; break; default: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho024cl_RunAnim); m_currentAction = HospitalScript::c_hho024cl_RunAnim; @@ -509,14 +503,14 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerNotificationParam& p_param) switch (m_hospitalState->m_unk0x14) { case 0: case 1: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho021cl_RunAnim); m_currentAction = HospitalScript::c_hho021cl_RunAnim; m_unk0x108 = 1; break; default: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hhoa22cl_RunAnim); m_currentAction = HospitalScript::c_hhoa22cl_RunAnim; @@ -528,14 +522,14 @@ MxLong Hospital::HandleButtonDown(LegoControlManagerNotificationParam& p_param) switch (m_hospitalState->m_unk0x16) { case 0: case 1: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho025cl_RunAnim); m_currentAction = HospitalScript::c_hho025cl_RunAnim; m_unk0x108 = 1; break; default: - m_hospitalState->m_unk0x08.m_unk0x00 = 12; + m_hospitalState->m_unk0x08 = 12; PlayAction(HospitalScript::c_hho026cl_RunAnim); m_currentAction = HospitalScript::c_hho026cl_RunAnim; @@ -571,7 +565,7 @@ MxBool Hospital::HandleControl(LegoControlManagerNotificationParam& p_param) DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, HospitalScript::c_hho006cl_RunAnim); if (m_unk0x100 == 1) { - m_hospitalState->m_unk0x08.m_unk0x00 = 14; + m_hospitalState->m_unk0x08 = 14; PlayAction(HospitalScript::c_hho016cl_RunAnim); m_currentAction = HospitalScript::c_hho016cl_RunAnim; @@ -579,7 +573,7 @@ MxBool Hospital::HandleControl(LegoControlManagerNotificationParam& p_param) } else if (m_unk0x128 == 0) { m_unk0x128 = 1; - m_hospitalState->m_unk0x08.m_unk0x00 = 13; + m_hospitalState->m_unk0x08 = 13; m_destLocation = LegoGameState::e_infomain; DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, HospitalScript::c_hho006cl_RunAnim); @@ -592,7 +586,7 @@ MxBool Hospital::HandleControl(LegoControlManagerNotificationParam& p_param) DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, HospitalScript::c_hho006cl_RunAnim); if (m_unk0x100 == 1) { - m_hospitalState->m_unk0x08.m_unk0x00 = 15; + m_hospitalState->m_unk0x08 = 15; PlayAction(HospitalScript::c_hho016cl_RunAnim); m_currentAction = HospitalScript::c_hho016cl_RunAnim; @@ -600,7 +594,7 @@ MxBool Hospital::HandleControl(LegoControlManagerNotificationParam& p_param) } else if (m_unk0x128 == 0) { m_unk0x128 = 1; - m_hospitalState->m_unk0x08.m_unk0x00 = 13; + m_hospitalState->m_unk0x08 = 13; m_destLocation = LegoGameState::e_unk31; DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, HospitalScript::c_hho006cl_RunAnim); @@ -675,7 +669,7 @@ MxResult Hospital::Tickle() MxBool Hospital::Escape() { DeleteObjects(&m_atomId, HospitalScript::c_hho002cl_RunAnim, 999); - m_hospitalState->m_unk0x08.m_unk0x00 = 0; + m_hospitalState->m_unk0x08 = 0; m_destLocation = LegoGameState::e_infomain; diff --git a/LEGO1/lego/legoomni/src/worlds/infocenter.cpp b/LEGO1/lego/legoomni/src/worlds/infocenter.cpp index d7fea12f..abc83982 100644 --- a/LEGO1/lego/legoomni/src/worlds/infocenter.cpp +++ b/LEGO1/lego/legoomni/src/worlds/infocenter.cpp @@ -149,6 +149,11 @@ Infocenter::Infocenter() m_unk0x1d6 = 0; } +// FUNCTION: LEGO1 0x1006ec80 +InfocenterMapEntry::InfocenterMapEntry() +{ +} + // FUNCTION: LEGO1 0x1006ec90 Infocenter::~Infocenter() { diff --git a/LEGO1/lego/legoomni/src/worlds/jukebox.cpp b/LEGO1/lego/legoomni/src/worlds/jukebox.cpp index e7193307..a92f493d 100644 --- a/LEGO1/lego/legoomni/src/worlds/jukebox.cpp +++ b/LEGO1/lego/legoomni/src/worlds/jukebox.cpp @@ -26,12 +26,6 @@ JukeBox::JukeBox() NotificationManager()->Register(this); } -// FUNCTION: LEGO1 0x1005d6e0 -MxBool JukeBox::VTable0x5c() -{ - return TRUE; -} - // FUNCTION: LEGO1 0x1005d830 JukeBox::~JukeBox() { diff --git a/LEGO1/lego/legoomni/src/worlds/police.cpp b/LEGO1/lego/legoomni/src/worlds/police.cpp index 7b3533d8..0a031509 100644 --- a/LEGO1/lego/legoomni/src/worlds/police.cpp +++ b/LEGO1/lego/legoomni/src/worlds/police.cpp @@ -26,12 +26,6 @@ Police::Police() NotificationManager()->Register(this); } -// FUNCTION: LEGO1 0x1005e1d0 -MxBool Police::VTable0x5c() -{ - return TRUE; -} - // FUNCTION: LEGO1 0x1005e320 Police::~Police() {