More refactoring

This commit is contained in:
jonschz 2025-02-15 16:01:22 +01:00
parent 2b8ab72bd8
commit 80ef01666e
3 changed files with 54 additions and 56 deletions

View File

@ -57,9 +57,6 @@ class InfocenterState : public LegoState {
Playlist& GetReturnDialogue(LegoGameState::Act p_act) { return m_returnDialogue[p_act]; }
Playlist& GetLeaveDialogue(LegoGameState::Act p_act) { return m_leaveDialogue[p_act]; }
Playlist& GetBricksterDialogue() { return m_bricksterDialogue; }
MxU32 GetUnknown0x74() { return m_unk0x74; }
void SetUnknown0x74(MxU32 p_unk0x74) { m_unk0x74 = p_unk0x74; }
// SYNTHETIC: LEGO1 0x10071900
// InfocenterState::`scalar deleting destructor'

View File

@ -190,12 +190,12 @@ MxResult Infocenter::Create(MxDSAction& p_dsAction)
m_infocenterState = (InfocenterState*) GameState()->GetState("InfocenterState");
if (!m_infocenterState) {
m_infocenterState = (InfocenterState*) GameState()->CreateState("InfocenterState");
m_infocenterState->SetUnknown0x74(3);
m_infocenterState->m_unk0x74 = 3;
}
else {
if (m_infocenterState->GetUnknown0x74() != 8 && m_infocenterState->GetUnknown0x74() != 4 &&
m_infocenterState->GetUnknown0x74() != 15) {
m_infocenterState->SetUnknown0x74(2);
if (m_infocenterState->m_unk0x74 != 8 && m_infocenterState->m_unk0x74 != 4 &&
m_infocenterState->m_unk0x74 != 15) {
m_infocenterState->m_unk0x74 = 2;
}
MxS16 count, i;
@ -217,7 +217,7 @@ MxResult Infocenter::Create(MxDSAction& p_dsAction)
GameState()->m_currentArea = LegoGameState::e_infomain;
GameState()->StopArea(LegoGameState::e_previousArea);
if (m_infocenterState->GetUnknown0x74() == 4) {
if (m_infocenterState->m_unk0x74 == 4) {
LegoGameState* state = GameState();
state->SetPreviousArea(GameState()->GetUnknown0x42c());
}
@ -266,9 +266,9 @@ MxLong Infocenter::Notify(MxParam& p_param)
StopBookAnimation();
m_bookAnimationTimer = 0;
if (m_infocenterState->GetUnknown0x74() == 0x0c) {
if (m_infocenterState->m_unk0x74 == 0x0c) {
StartCredits();
m_infocenterState->SetUnknown0x74(0xd);
m_infocenterState->m_unk0x74 = 0xd;
}
else if (m_destLocation != 0) {
BackgroundAudioManager()->RaiseVolume();
@ -339,7 +339,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
m_unk0x1d6 = 0;
}
switch (m_infocenterState->GetUnknown0x74()) {
switch (m_infocenterState->m_unk0x74) {
case 0:
switch (m_currentCutscene) {
case e_legoMovie:
@ -350,13 +350,13 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
return 1;
case e_badEndMovie:
StopCutscene();
m_infocenterState->SetUnknown0x74(11);
m_infocenterState->m_unk0x74 = 11;
PlayAction(InfomainScript::c_tic092in_RunAnim);
m_currentCutscene = e_noIntro;
return 1;
case e_goodEndMovie:
StopCutscene();
m_infocenterState->SetUnknown0x74(11);
m_infocenterState->m_unk0x74 = 11;
PlayAction(InfomainScript::c_tic089in_RunAnim);
m_currentCutscene = e_noIntro;
return 1;
@ -364,7 +364,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
// default / 2nd case probably?
StopCutscene();
m_infocenterState->SetUnknown0x74(11);
m_infocenterState->m_unk0x74 = 11;
PlayAction(InfomainScript::c_iic001in_RunAnim);
m_currentCutscene = e_noIntro;
@ -374,7 +374,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
}
break;
case 1:
m_infocenterState->SetUnknown0x74(11);
m_infocenterState->m_unk0x74 = 11;
switch (m_currentCutscene) {
case e_badEndMovie:
@ -398,7 +398,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
if (action->GetObjectId() == InfomainScript::c_GoTo_RegBook ||
action->GetObjectId() == InfomainScript::c_GoTo_RegBook_Red) {
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
m_infocenterState->SetUnknown0x74(14);
m_infocenterState->m_unk0x74 = 14;
return 1;
}
break;
@ -408,7 +408,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
GameState()->SetActor(m_selectedCharacter);
}
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
m_infocenterState->SetUnknown0x74(14);
m_infocenterState->m_unk0x74 = 14;
return 1;
}
break;
@ -422,7 +422,7 @@ MxLong Infocenter::HandleEndAction(MxEndActionNotificationParam& p_param)
PlayMusic(JukeboxScript::c_InformationCenter_Music);
}
m_infocenterState->SetUnknown0x74(2);
m_infocenterState->m_unk0x74 = 2;
SetROIVisible("infoman", TRUE);
return 1;
case 12:
@ -452,13 +452,13 @@ void Infocenter::ReadyWorld()
bg->Enable(TRUE);
InitializeBitmaps();
switch (m_infocenterState->GetUnknown0x74()) {
switch (m_infocenterState->m_unk0x74) {
case 3:
PlayCutscene(e_legoMovie, TRUE);
m_infocenterState->SetUnknown0x74(0);
m_infocenterState->m_unk0x74 = 0;
break;
case 4:
m_infocenterState->SetUnknown0x74(2);
m_infocenterState->m_unk0x74 = 2;
if (!m_infocenterState->HasRegistered()) {
m_bookAnimationTimer = 1;
}
@ -485,7 +485,7 @@ void Infocenter::ReadyWorld()
m_bookAnimationTimer = 1;
}
m_infocenterState->SetUnknown0x74(11);
m_infocenterState->m_unk0x74 = 11;
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
break;
}
@ -495,7 +495,7 @@ void Infocenter::ReadyWorld()
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
break;
case 0xf:
m_infocenterState->SetUnknown0x74(2);
m_infocenterState->m_unk0x74 = 2;
if (!m_infocenterState->HasRegistered()) {
m_bookAnimationTimer = 1;
}
@ -507,7 +507,7 @@ void Infocenter::ReadyWorld()
}
return;
case LegoGameState::e_act2: {
if (m_infocenterState->GetUnknown0x74() == 8) {
if (m_infocenterState->m_unk0x74 == 8) {
PlayMusic(JukeboxScript::c_InformationCenter_Music);
bgRed->Enable(TRUE);
PlayAction(InfomainScript::c_iic043in_RunAnim);
@ -521,11 +521,11 @@ void Infocenter::ReadyWorld()
if (state && state->GetUnknown0x08() == 0x68) {
bg->Enable(TRUE);
PlayCutscene(e_badEndMovie, TRUE);
m_infocenterState->SetUnknown0x74(0);
m_infocenterState->m_unk0x74 = 0;
return;
}
if (m_infocenterState->GetUnknown0x74() == 4) {
if (m_infocenterState->m_unk0x74 == 4) {
bgRed->Enable(TRUE);
if (GameState()->GetCurrentAct() == GameState()->GetLoadedAct()) {
@ -534,7 +534,7 @@ void Infocenter::ReadyWorld()
GameState()->m_currentArea = LegoGameState::e_infomain;
}
m_infocenterState->SetUnknown0x74(5);
m_infocenterState->m_unk0x74 = 5;
m_destLocation = LegoGameState::e_act2main;
InfomainScript::Script script =
@ -554,7 +554,7 @@ void Infocenter::ReadyWorld()
break;
}
case LegoGameState::e_act3: {
if (m_infocenterState->GetUnknown0x74() == 8) {
if (m_infocenterState->m_unk0x74 == 8) {
PlayMusic(JukeboxScript::c_InformationCenter_Music);
bgRed->Enable(TRUE);
PlayAction(InfomainScript::c_iic043in_RunAnim);
@ -569,19 +569,19 @@ void Infocenter::ReadyWorld()
if (state->GetUnknown0x08() == 3) {
bg->Enable(TRUE);
PlayCutscene(e_badEndMovie, TRUE);
m_infocenterState->SetUnknown0x74(0);
m_infocenterState->m_unk0x74 = 0;
return;
}
if (state && state->GetUnknown0x08() == 2) {
bg->Enable(TRUE);
PlayCutscene(e_goodEndMovie, TRUE);
m_infocenterState->SetUnknown0x74(0);
m_infocenterState->m_unk0x74 = 0;
return;
}
}
if (m_infocenterState->GetUnknown0x74() == 4) {
if (m_infocenterState->m_unk0x74 == 4) {
bgRed->Enable(TRUE);
if (GameState()->GetCurrentAct() == GameState()->GetLoadedAct()) {
@ -590,7 +590,7 @@ void Infocenter::ReadyWorld()
GameState()->m_currentArea = LegoGameState::e_infomain;
}
m_infocenterState->SetUnknown0x74(5);
m_infocenterState->m_unk0x74 = 5;
m_destLocation = LegoGameState::e_act3script;
InfomainScript::Script script =
@ -611,7 +611,7 @@ void Infocenter::ReadyWorld()
}
}
m_infocenterState->SetUnknown0x74(11);
m_infocenterState->m_unk0x74 = 11;
FUN_10015820(FALSE, LegoOmni::c_disableInput | LegoOmni::c_disable3d | LegoOmni::c_clearScreen);
}
@ -982,7 +982,7 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
switch (p_param.m_clickedObjectId) {
case InfomainScript::c_LeftArrow_Ctl:
m_infocenterState->SetUnknown0x74(14);
m_infocenterState->m_unk0x74 = 14;
StopCurrentAction();
if (GameState()->GetCurrentAct() == LegoGameState::e_act1) {
@ -997,7 +997,7 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
break;
case InfomainScript::c_RightArrow_Ctl:
m_infocenterState->SetUnknown0x74(14);
m_infocenterState->m_unk0x74 = 14;
StopCurrentAction();
if (GameState()->GetCurrentAct() == LegoGameState::e_act1) {
@ -1016,10 +1016,10 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
m_radio.Stop();
break;
case InfomainScript::c_Door_Ctl:
if (m_infocenterState->GetUnknown0x74() != 8) {
if (m_infocenterState->m_unk0x74 != 8) {
actionToPlay = InfomainScript::c_iic043in_RunAnim;
m_radio.Stop();
m_infocenterState->SetUnknown0x74(8);
m_infocenterState->m_unk0x74 = 8;
}
break;
@ -1055,7 +1055,7 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
case LegoGameState::e_infodoor:
case LegoGameState::e_regbook:
case LegoGameState::e_infoscor:
m_infocenterState->SetUnknown0x74(5);
m_infocenterState->m_unk0x74 = 5;
m_destLocation = state->GetPreviousArea();
actionToPlay =
(InfomainScript::Script) m_infocenterState->GetLeaveDialogue(GameState()->GetCurrentAct())
@ -1076,11 +1076,11 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
if (state->GetActorId() != LegoActor::c_none) {
if (!m_infocenterState->HasRegistered()) {
PlayAction(InfomainScript::c_iic007in_PlayWav);
m_infocenterState->SetUnknown0x74(2);
m_infocenterState->m_unk0x74 = 2;
}
else {
m_infocenterState->SetUnknown0x74(5);
m_destLocation = state->GetPreviousArea();
m_infocenterState->m_unk0x74 = 5;
m_destLocation = state->m_previousArea;
actionToPlay = (InfomainScript::Script) m_infocenterState
->GetLeaveDialogue(GameState()->GetCurrentAct())
.Next();
@ -1094,7 +1094,7 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
}
break;
case LegoGameState::e_act2:
m_infocenterState->SetUnknown0x74(5);
m_infocenterState->m_unk0x74 = 5;
m_destLocation = LegoGameState::e_act2main;
actionToPlay =
(InfomainScript::Script) m_infocenterState->GetLeaveDialogue(GameState()->GetCurrentAct()).Next();
@ -1102,7 +1102,7 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
InputManager()->SetUnknown336(TRUE);
break;
case LegoGameState::e_act3:
m_infocenterState->SetUnknown0x74(5);
m_infocenterState->m_unk0x74 = 5;
m_destLocation = LegoGameState::e_act3script;
actionToPlay =
(InfomainScript::Script) m_infocenterState->GetLeaveDialogue(GameState()->GetCurrentAct()).Next();
@ -1113,7 +1113,7 @@ MxU8 Infocenter::HandleControl(LegoControlManagerNotificationParam& p_param)
break;
case InfomainScript::c_Book_Ctl:
m_destLocation = LegoGameState::e_regbook;
m_infocenterState->SetUnknown0x74(4);
m_infocenterState->m_unk0x74 = 4;
actionToPlay = GameState()->GetCurrentAct() != LegoGameState::e_act1 ? InfomainScript::c_GoTo_RegBook_Red
: InfomainScript::c_GoTo_RegBook;
m_radio.Stop();
@ -1164,13 +1164,13 @@ MxLong Infocenter::HandleNotification0(MxNotificationParam& p_param)
MxCore* sender = p_param.GetSender();
if (sender == NULL) {
if (m_infocenterState->GetUnknown0x74() == 8) {
if (m_infocenterState->m_unk0x74 == 8) {
m_infoManDialogueTimer = 0;
StopCutscene();
PlayAction(InfomainScript::c_iic043in_RunAnim);
}
}
else if (sender->IsA("MxEntity") && m_infocenterState->GetUnknown0x74() != 5 && m_infocenterState->GetUnknown0x74() != 12) {
else if (sender->IsA("MxEntity") && m_infocenterState->m_unk0x74 != 5 && m_infocenterState->m_unk0x74 != 12) {
switch (((MxEntity*) sender)->GetEntityId()) {
case 5: {
m_infoManDialogueTimer = 0;
@ -1189,21 +1189,21 @@ MxLong Infocenter::HandleNotification0(MxNotificationParam& p_param)
return 1;
}
case 6:
if (m_infocenterState->GetUnknown0x74() == 8) {
if (m_infocenterState->m_unk0x74 == 8) {
StopCurrentAction();
SetROIVisible(g_object2x4red, FALSE);
SetROIVisible(g_object2x4grn, FALSE);
m_infocenterState->SetUnknown0x74(2);
m_infocenterState->m_unk0x74 = 2;
PlayAction(InfomainScript::c_iicb28in_RunAnim);
return 1;
}
case 7:
if (m_infocenterState->GetUnknown0x74() == 8) {
if (m_infocenterState->m_unk0x74 == 8) {
if (m_infocenterState->HasRegistered()) {
GameState()->Save(0);
}
m_infocenterState->SetUnknown0x74(12);
m_infocenterState->m_unk0x74 = 12;
PlayAction(InfomainScript::c_iic046in_RunAnim);
InputManager()->DisableInputProcessing();
InputManager()->SetUnknown336(TRUE);
@ -1361,6 +1361,7 @@ void Infocenter::FUN_10070d10(MxS32 p_x, MxS32 p_y)
}
// FUNCTION: LEGO1 0x10070dc0
// FUNCTION: BETA10 0x10030911
void Infocenter::UpdateFrameHot(MxBool p_display)
{
if (p_display) {
@ -1443,17 +1444,17 @@ void Infocenter::Reset()
MxBool Infocenter::Escape()
{
if (m_infocenterState != NULL) {
MxU32 val = m_infocenterState->GetUnknown0x74();
MxU32 val = m_infocenterState->m_unk0x74;
if (val == 0) {
StopCutscene();
m_infocenterState->SetUnknown0x74(1);
m_infocenterState->m_unk0x74 = 1;
}
else if (val == 13) {
StopCredits();
}
else if (val != 8) {
m_infocenterState->SetUnknown0x74(8);
m_infocenterState->m_unk0x74 = 8;
#ifdef COMPAT_MODE
{

View File

@ -234,10 +234,10 @@ MxLong RegistrationBook::HandleControl(LegoControlManagerNotificationParam& p_pa
DeleteObjects(&m_atomId, RegbookScript::c_iic006in_RunAnim, RegbookScript::c_iic008in_PlayWav);
if (GameState()->GetCurrentAct() == LegoGameState::e_act1) {
m_infocenterState->SetUnknown0x74(15);
m_infocenterState->m_unk0x74 = 15;
}
else {
m_infocenterState->SetUnknown0x74(2);
m_infocenterState->m_unk0x74 = 2;
}
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);
@ -318,7 +318,7 @@ void RegistrationBook::FUN_100775c0(MxS16 p_playerIndex)
break;
}
m_infocenterState->SetUnknown0x74(4);
m_infocenterState->m_unk0x74 = 4;
if (m_unk0x2b8 == 0 && !m_unk0x2c1) {
DeleteObjects(&m_atomId, RegbookScript::c_iic006in_RunAnim, RegbookScript::c_iic008in_PlayWav);
TransitionManager()->StartTransition(MxTransitionManager::e_mosaic, 50, FALSE, FALSE);