This commit is contained in:
Christian Semmler 2024-01-20 15:47:14 -05:00
parent a4b6b1768c
commit a701f60c10
2 changed files with 10 additions and 10 deletions

View File

@ -34,7 +34,7 @@ class Police : public LegoWorld {
// Police::`scalar deleting destructor' // Police::`scalar deleting destructor'
virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18 virtual MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
virtual void VTable0x50() override; virtual void VTable0x50() override; // vtable+0x50
private: private:
Radio m_radio; // 0xf8 Radio m_radio; // 0xf8

View File

@ -6,15 +6,14 @@
#include "legoinputmanager.h" #include "legoinputmanager.h"
#include "legoomni.h" #include "legoomni.h"
#include "mxnotificationmanager.h" #include "mxnotificationmanager.h"
#include "mxomni.h"
DECOMP_SIZE_ASSERT(Police, 0x110) DECOMP_SIZE_ASSERT(Police, 0x110)
// FUNCTION: LEGO1 0x1005e130 // FUNCTION: LEGO1 0x1005e130
Police::Police() Police::Police()
{ {
this->m_policeState = NULL; m_policeState = NULL;
this->m_unk0x10c = 0; m_unk0x10c = 0;
NotificationManager()->Register(this); NotificationManager()->Register(this);
} }
@ -41,13 +40,14 @@ MxResult Police::Create(MxDSAction& p_dsAction)
SetIsWorldActive(FALSE); SetIsWorldActive(FALSE);
InputManager()->Register(this); InputManager()->Register(this);
LegoGameState* gs = GameState();
PoliceState* p = (PoliceState*) gs->GetState("PoliceState"); LegoGameState* gameState = GameState();
if (!p) { PoliceState* policeState = (PoliceState*) gameState->GetState("PoliceState");
p = (PoliceState*) gs->CreateState("PoliceState"); if (!policeState) {
policeState = (PoliceState*) gameState->CreateState("PoliceState");
} }
this->m_policeState = p; m_policeState = policeState;
GameState()->SetUnknown424(0x22); GameState()->SetUnknown424(0x22);
GameState()->FUN_1003a720(0); GameState()->FUN_1003a720(0);
return ret; return ret;
@ -66,5 +66,5 @@ void Police::VTable0x50()
{ {
LegoWorld::VTable0x50(); LegoWorld::VTable0x50();
PlayMusic(JukeBox::e_policeStation); PlayMusic(JukeBox::e_policeStation);
FUN_10015820(0, 7); FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
} }