mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-26 01:17:55 -05:00
Implement/match Isle::UpdateGlobe (#947)
* Implement/match Isle::UpdateGlobe * Change function access
This commit is contained in:
parent
db90807d53
commit
1633118f68
2 changed files with 23 additions and 14 deletions
|
@ -61,15 +61,22 @@ class Isle : public LegoWorld {
|
||||||
void Enable(MxBool p_enable) override; // vtable+68
|
void Enable(MxBool p_enable) override; // vtable+68
|
||||||
virtual void VTable0x6c(LegoPathActor* p_actor); // vtable+6c
|
virtual void VTable0x6c(LegoPathActor* p_actor); // vtable+6c
|
||||||
|
|
||||||
|
inline void SetDestLocation(LegoGameState::Area p_destLocation) { m_destLocation = p_destLocation; }
|
||||||
|
|
||||||
|
void FUN_10033350();
|
||||||
|
|
||||||
|
// SYNTHETIC: LEGO1 0x10030a30
|
||||||
|
// Isle::`scalar deleting destructor'
|
||||||
|
|
||||||
|
protected:
|
||||||
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
|
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
|
||||||
MxLong HandleClick(LegoControlManagerEvent& p_param);
|
MxLong HandleClick(LegoControlManagerEvent& p_param);
|
||||||
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_10032d30(
|
void FUN_10032d30(
|
||||||
IsleScript::Script p_script,
|
IsleScript::Script p_script,
|
||||||
JukeboxScript::Script p_music,
|
JukeboxScript::Script p_music,
|
||||||
|
@ -77,12 +84,6 @@ class Isle : public LegoWorld {
|
||||||
MxBool p_und
|
MxBool p_und
|
||||||
);
|
);
|
||||||
|
|
||||||
inline void SetDestLocation(LegoGameState::Area p_destLocation) { m_destLocation = p_destLocation; }
|
|
||||||
|
|
||||||
// SYNTHETIC: LEGO1 0x10030a30
|
|
||||||
// Isle::`scalar deleting destructor'
|
|
||||||
|
|
||||||
protected:
|
|
||||||
Act1State* m_act1state; // 0xf8
|
Act1State* m_act1state; // 0xf8
|
||||||
Pizza* m_pizza; // 0xfc
|
Pizza* m_pizza; // 0xfc
|
||||||
Pizzeria* m_pizzeria; // 0x100
|
Pizzeria* m_pizzeria; // 0x100
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue