Rename some things in Infocenter (#1293)

This commit is contained in:
MS
2024-12-27 19:21:49 -05:00
committed by GitHub
parent 8afa64048b
commit 29e77210e8
2 changed files with 74 additions and 65 deletions

View File

@@ -69,7 +69,7 @@ struct InfocenterMapEntry {
// FUNCTION: LEGO1 0x1006ec80 // FUNCTION: LEGO1 0x1006ec80
InfocenterMapEntry() {} InfocenterMapEntry() {}
MxStillPresenter* m_presenter; // 0x00 MxStillPresenter* m_destCtl; // 0x00
undefined4 m_unk0x04; // 0x04 undefined4 m_unk0x04; // 0x04
MxRect32 m_area; // 0x08 MxRect32 m_area; // 0x08
}; };
@@ -161,9 +161,9 @@ private:
Cutscene m_currentCutscene; // 0x108 Cutscene m_currentCutscene; // 0x108
Radio m_radio; // 0x10c Radio m_radio; // 0x10c
MxStillPresenter* m_unk0x11c; // 0x11c MxStillPresenter* m_unk0x11c; // 0x11c
InfocenterMapEntry m_mapAreas[7]; // 0x120 InfocenterMapEntry m_glowInfo[7]; // 0x120
MxS16 m_unk0x1c8; // 0x1c8 MxS16 m_unk0x1c8; // 0x1c8
MxStillPresenter* m_frameHotBitmap; // 0x1cc MxStillPresenter* m_frame; // 0x1cc
MxS16 m_infoManDialogueTimer; // 0x1d0 MxS16 m_infoManDialogueTimer; // 0x1d0
MxS16 m_bookAnimationTimer; // 0x1d2 MxS16 m_bookAnimationTimer; // 0x1d2
MxU16 m_unk0x1d4; // 0x1d4 MxU16 m_unk0x1d4; // 0x1d4

View File

@@ -132,12 +132,12 @@ Infocenter::Infocenter()
m_selectedCharacter = e_noCharacter; m_selectedCharacter = e_noCharacter;
m_unk0x11c = NULL; m_unk0x11c = NULL;
m_infocenterState = NULL; m_infocenterState = NULL;
m_frameHotBitmap = NULL; m_frame = NULL;
m_destLocation = LegoGameState::e_undefined; m_destLocation = LegoGameState::e_undefined;
m_currentInfomainScript = InfomainScript::c_noneInfomain; m_currentInfomainScript = InfomainScript::c_noneInfomain;
m_currentCutscene = e_noIntro; m_currentCutscene = e_noIntro;
memset(&m_mapAreas, 0, sizeof(m_mapAreas)); memset(&m_glowInfo, 0, sizeof(m_glowInfo));
m_unk0x1c8 = -1; m_unk0x1c8 = -1;
SetAppCursor(e_cursorBusy); SetAppCursor(e_cursorBusy);
@@ -612,6 +612,7 @@ void Infocenter::ReadyWorld()
} }
// FUNCTION: LEGO1 0x1006f9a0 // FUNCTION: LEGO1 0x1006f9a0
// FUNCTION: BETA10 0x1002ef2f
void Infocenter::InitializeBitmaps() void Infocenter::InitializeBitmaps()
{ {
m_radio.Initialize(TRUE); m_radio.Initialize(TRUE);
@@ -632,56 +633,64 @@ void Infocenter::InitializeBitmaps()
((MxPresenter*) Find(m_atomId, InfomainScript::c_Laura_Ctl))->Enable(TRUE); ((MxPresenter*) Find(m_atomId, InfomainScript::c_Laura_Ctl))->Enable(TRUE);
((MxPresenter*) Find(m_atomId, InfomainScript::c_Radio_Ctl))->Enable(TRUE); ((MxPresenter*) Find(m_atomId, InfomainScript::c_Radio_Ctl))->Enable(TRUE);
m_mapAreas[0].m_presenter = (MxStillPresenter*) Find("MxStillPresenter", "Info_A_Bitmap"); m_glowInfo[0].m_destCtl = (MxStillPresenter*) Find("MxStillPresenter", "Info_A_Bitmap");
m_mapAreas[0].m_area.SetLeft(391); assert(m_glowInfo[0].m_destCtl);
m_mapAreas[0].m_area.SetTop(182); m_glowInfo[0].m_area.SetLeft(391);
m_mapAreas[0].m_area.SetRight(427); m_glowInfo[0].m_area.SetTop(182);
m_mapAreas[0].m_area.SetBottom(230); m_glowInfo[0].m_area.SetRight(427);
m_mapAreas[0].m_unk0x04 = 3; m_glowInfo[0].m_area.SetBottom(230);
m_glowInfo[0].m_unk0x04 = 3;
m_mapAreas[1].m_presenter = (MxStillPresenter*) Find("MxStillPresenter", "Boat_A_Bitmap"); m_glowInfo[1].m_destCtl = (MxStillPresenter*) Find("MxStillPresenter", "Boat_A_Bitmap");
m_mapAreas[1].m_area.SetLeft(304); assert(m_glowInfo[1].m_destCtl);
m_mapAreas[1].m_area.SetTop(225); m_glowInfo[1].m_area.SetLeft(304);
m_mapAreas[1].m_area.SetRight(350); m_glowInfo[1].m_area.SetTop(225);
m_mapAreas[1].m_area.SetBottom(268); m_glowInfo[1].m_area.SetRight(350);
m_mapAreas[1].m_unk0x04 = 10; m_glowInfo[1].m_area.SetBottom(268);
m_glowInfo[1].m_unk0x04 = 10;
m_mapAreas[2].m_presenter = (MxStillPresenter*) Find("MxStillPresenter", "Race_A_Bitmap"); m_glowInfo[2].m_destCtl = (MxStillPresenter*) Find("MxStillPresenter", "Race_A_Bitmap");
m_mapAreas[2].m_area.SetLeft(301); assert(m_glowInfo[1].m_destCtl); // DECOMP: intentional typo
m_mapAreas[2].m_area.SetTop(133); m_glowInfo[2].m_area.SetLeft(301);
m_mapAreas[2].m_area.SetRight(347); m_glowInfo[2].m_area.SetTop(133);
m_mapAreas[2].m_area.SetBottom(181); m_glowInfo[2].m_area.SetRight(347);
m_mapAreas[2].m_unk0x04 = 11; m_glowInfo[2].m_area.SetBottom(181);
m_glowInfo[2].m_unk0x04 = 11;
m_mapAreas[3].m_presenter = (MxStillPresenter*) Find("MxStillPresenter", "Pizza_A_Bitmap"); m_glowInfo[3].m_destCtl = (MxStillPresenter*) Find("MxStillPresenter", "Pizza_A_Bitmap");
m_mapAreas[3].m_area.SetLeft(289); assert(m_glowInfo[3].m_destCtl);
m_mapAreas[3].m_area.SetTop(182); m_glowInfo[3].m_area.SetLeft(289);
m_mapAreas[3].m_area.SetRight(335); m_glowInfo[3].m_area.SetTop(182);
m_mapAreas[3].m_area.SetBottom(225); m_glowInfo[3].m_area.SetRight(335);
m_mapAreas[3].m_unk0x04 = 12; m_glowInfo[3].m_area.SetBottom(225);
m_glowInfo[3].m_unk0x04 = 12;
m_mapAreas[4].m_presenter = (MxStillPresenter*) Find("MxStillPresenter", "Gas_A_Bitmap"); m_glowInfo[4].m_destCtl = (MxStillPresenter*) Find("MxStillPresenter", "Gas_A_Bitmap");
m_mapAreas[4].m_area.SetLeft(350); assert(m_glowInfo[4].m_destCtl);
m_mapAreas[4].m_area.SetTop(161); m_glowInfo[4].m_area.SetLeft(350);
m_mapAreas[4].m_area.SetRight(391); m_glowInfo[4].m_area.SetTop(161);
m_mapAreas[4].m_area.SetBottom(209); m_glowInfo[4].m_area.SetRight(391);
m_mapAreas[4].m_unk0x04 = 13; m_glowInfo[4].m_area.SetBottom(209);
m_glowInfo[4].m_unk0x04 = 13;
m_mapAreas[5].m_presenter = (MxStillPresenter*) Find("MxStillPresenter", "Med_A_Bitmap"); m_glowInfo[5].m_destCtl = (MxStillPresenter*) Find("MxStillPresenter", "Med_A_Bitmap");
m_mapAreas[5].m_area.SetLeft(392); assert(m_glowInfo[5].m_destCtl);
m_mapAreas[5].m_area.SetTop(130); m_glowInfo[5].m_area.SetLeft(392);
m_mapAreas[5].m_area.SetRight(438); m_glowInfo[5].m_area.SetTop(130);
m_mapAreas[5].m_area.SetBottom(176); m_glowInfo[5].m_area.SetRight(438);
m_mapAreas[5].m_unk0x04 = 14; m_glowInfo[5].m_area.SetBottom(176);
m_glowInfo[5].m_unk0x04 = 14;
m_mapAreas[6].m_presenter = (MxStillPresenter*) Find("MxStillPresenter", "Cop_A_Bitmap"); m_glowInfo[6].m_destCtl = (MxStillPresenter*) Find("MxStillPresenter", "Cop_A_Bitmap");
m_mapAreas[6].m_area.SetLeft(396); assert(m_glowInfo[6].m_destCtl);
m_mapAreas[6].m_area.SetTop(229); m_glowInfo[6].m_area.SetLeft(396);
m_mapAreas[6].m_area.SetRight(442); m_glowInfo[6].m_area.SetTop(229);
m_mapAreas[6].m_area.SetBottom(272); m_glowInfo[6].m_area.SetRight(442);
m_mapAreas[6].m_unk0x04 = 15; m_glowInfo[6].m_area.SetBottom(272);
m_glowInfo[6].m_unk0x04 = 15;
m_frameHotBitmap = (MxStillPresenter*) Find("MxStillPresenter", "FrameHot_Bitmap"); m_frame = (MxStillPresenter*) Find("MxStillPresenter", "FrameHot_Bitmap");
assert(m_frame);
UpdateFrameHot(TRUE); UpdateFrameHot(TRUE);
} }
@@ -831,7 +840,7 @@ MxU8 Infocenter::HandleButtonUp(MxS32 p_x, MxS32 p_y)
if (m_unk0x1c8 != -1) { if (m_unk0x1c8 != -1) {
m_infoManDialogueTimer = 0; m_infoManDialogueTimer = 0;
switch (m_mapAreas[m_unk0x1c8].m_unk0x04) { switch (m_glowInfo[m_unk0x1c8].m_unk0x04) {
case 3: case 3:
GameState()->SetActor(m_selectedCharacter); GameState()->SetActor(m_selectedCharacter);
@@ -1304,11 +1313,11 @@ MxBool Infocenter::VTable0x5c()
void Infocenter::FUN_10070d10(MxS32 p_x, MxS32 p_y) void Infocenter::FUN_10070d10(MxS32 p_x, MxS32 p_y)
{ {
MxS16 i; MxS16 i;
for (i = 0; i < (MxS32) (sizeof(m_mapAreas) / sizeof(m_mapAreas[0])); i++) { for (i = 0; i < (MxS32) (sizeof(m_glowInfo) / sizeof(m_glowInfo[0])); i++) {
MxS32 right = m_mapAreas[i].m_area.GetRight(); MxS32 right = m_glowInfo[i].m_area.GetRight();
MxS32 bottom = m_mapAreas[i].m_area.GetBottom(); MxS32 bottom = m_glowInfo[i].m_area.GetBottom();
MxS32 left = m_mapAreas[i].m_area.GetLeft(); MxS32 left = m_glowInfo[i].m_area.GetLeft();
MxS32 top = m_mapAreas[i].m_area.GetTop(); MxS32 top = m_glowInfo[i].m_area.GetTop();
if (left <= p_x && p_x <= right && top <= p_y && p_y <= bottom) { if (left <= p_x && p_x <= right && top <= p_y && p_y <= bottom) {
break; break;
@@ -1321,12 +1330,12 @@ void Infocenter::FUN_10070d10(MxS32 p_x, MxS32 p_y)
if (i != m_unk0x1c8) { if (i != m_unk0x1c8) {
if (m_unk0x1c8 != -1) { if (m_unk0x1c8 != -1) {
m_mapAreas[m_unk0x1c8].m_presenter->Enable(FALSE); m_glowInfo[m_unk0x1c8].m_destCtl->Enable(FALSE);
} }
m_unk0x1c8 = i; m_unk0x1c8 = i;
if (i != -1) { if (i != -1) {
m_mapAreas[i].m_presenter->Enable(TRUE); m_glowInfo[i].m_destCtl->Enable(TRUE);
} }
} }
} }
@@ -1362,18 +1371,18 @@ void Infocenter::UpdateFrameHot(MxBool p_display)
return; return;
} }
MxS32 originalDisplayZ = m_frameHotBitmap->GetDisplayZ(); MxS32 originalDisplayZ = m_frame->GetDisplayZ();
m_frameHotBitmap->SetDisplayZ(1000); m_frame->SetDisplayZ(1000);
VideoManager()->SortPresenterList(); VideoManager()->SortPresenterList();
m_frameHotBitmap->Enable(TRUE); m_frame->Enable(TRUE);
m_frameHotBitmap->SetPosition(x, y); m_frame->SetPosition(x, y);
m_frameHotBitmap->SetDisplayZ(originalDisplayZ); m_frame->SetDisplayZ(originalDisplayZ);
} }
else { else {
if (m_frameHotBitmap) { if (m_frame) {
m_frameHotBitmap->Enable(FALSE); m_frame->Enable(FALSE);
} }
} }
} }