Implement/match Isle::UpdateGlobe

This commit is contained in:
Christian Semmler 2024-05-24 13:08:35 -04:00
parent db90807d53
commit b07caec289
2 changed files with 15 additions and 7 deletions

View File

@ -66,7 +66,7 @@ class Isle : public LegoWorld {
MxLong HandleType19Notification(MxParam& p_param); MxLong HandleType19Notification(MxParam& p_param);
MxLong HandleTransitionEnd(); MxLong HandleTransitionEnd();
void HandleElevatorEndAction(); void HandleElevatorEndAction();
void FUN_10031590(); void UpdateGlobe();
void FUN_10032620(); void FUN_10032620();
void FUN_100330e0(); void FUN_100330e0();
void FUN_10033350(); void FUN_10033350();

View File

@ -399,15 +399,15 @@ MxLong Isle::HandleClick(LegoControlManagerEvent& p_param)
Start(&action); Start(&action);
break; break;
case IsleScript::c_Observe_RCab_Ctl: case IsleScript::c_Observe_RCab_Ctl:
FUN_10031590(); UpdateGlobe();
break; break;
case IsleScript::c_Observe_GlobeLArrow_Ctl: case IsleScript::c_Observe_GlobeLArrow_Ctl:
UpdateLightPosition(-1); UpdateLightPosition(-1);
FUN_10031590(); UpdateGlobe();
break; break;
case IsleScript::c_Observe_GlobeRArrow_Ctl: case IsleScript::c_Observe_GlobeRArrow_Ctl:
UpdateLightPosition(1); UpdateLightPosition(1);
FUN_10031590(); UpdateGlobe();
break; break;
case IsleScript::c_Observe_Draw1_Ctl: case IsleScript::c_Observe_Draw1_Ctl:
case IsleScript::c_Observe_Draw2_Ctl: case IsleScript::c_Observe_Draw2_Ctl:
@ -443,10 +443,18 @@ MxLong Isle::HandleClick(LegoControlManagerEvent& p_param)
return 0; return 0;
} }
// STUB: LEGO1 0x10031590 // FUNCTION: LEGO1 0x10031590
void Isle::FUN_10031590() void Isle::UpdateGlobe()
{ {
// TODO MxS32 lightPosition = atoi(VariableTable()->GetVariable("lightposition"));
for (MxS32 i = 0; i < 6; i++) {
MxStillPresenter* presenter = (MxStillPresenter*) Find(*g_isleScript, IsleScript::c_Observe_Globe1_Bitmap + i);
if (presenter != NULL) {
presenter->Enable(i == lightPosition);
}
}
} }
// STUB: LEGO1 0x100315f0 // STUB: LEGO1 0x100315f0