Implement various infocenter functions (#510)

* Implement various infocenter methods

* fix order

* Update infocenter.cpp

* Update infocenter.cpp

* Update infocenter.cpp

* Update mxcontrolpresenter.cpp

* Rename stuff for consistency

* Add StateStruct to InfocenterState

* Resolve some TODO

* Use MxRect32

* Improve match

* Match Infocenter::UpdateFrameHot

* Fix VTable0x64

* WIP Match

* Match

* Cleanup

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Misha
2024-01-31 09:47:15 -05:00
committed by GitHub
parent bad32149ca
commit 9e0b19856c
20 changed files with 486 additions and 118 deletions

View File

@@ -428,20 +428,32 @@ void LegoGameState::SwitchArea(MxU32 p_area)
BackgroundAudioManager()->Stop();
AnimationManager()->FUN_1005ef10();
VideoManager()->SetUnk0x554(0);
VideoManager()->SetUnk0x554(FALSE);
MxAtomId* script = g_isleScript;
switch (p_area) {
case 1:
break;
case 2:
VideoManager()->SetUnk0x554(1);
VideoManager()->SetUnk0x554(TRUE);
script = g_infomainScript;
break;
case 3:
VideoManager()->SetUnk0x554(1);
VideoManager()->SetUnk0x554(TRUE);
script = g_infodoorScript;
break;
// TODO
case 5:
script = g_elevbottScript;
break;
case 12:
VideoManager()->SetUnk0x554(TRUE);
script = g_regbookScript;
break;
case 13:
VideoManager()->SetUnk0x554(TRUE);
script = g_infoscorScript;
break;
// TODO: implement other cases
}