mirror of
https://github.com/isledecomp/isle.git
synced 2024-12-18 03:56:24 -05:00
Implement/match LegoAct2::HandleTransitionEnd (#1176)
This commit is contained in:
parent
a17b3168e9
commit
c9a2a7203b
3 changed files with 25 additions and 20 deletions
|
@ -2,6 +2,7 @@
|
|||
#define LEGOACT2_H
|
||||
|
||||
#include "act2brick.h"
|
||||
#include "legogamestate.h"
|
||||
#include "legostate.h"
|
||||
#include "legoworld.h"
|
||||
|
||||
|
@ -66,7 +67,7 @@ class LegoAct2 : public LegoWorld {
|
|||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
void SetUnknown0x1138(Act2Actor* p_unk0x1138) { m_unk0x1138 = p_unk0x1138; }
|
||||
void SetUnknown0x1150(undefined4 p_unk0x1150) { m_unk0x1150 = p_unk0x1150; }
|
||||
void SetDestLocation(LegoGameState::Area p_destLocation) { m_destLocation = p_destLocation; }
|
||||
|
||||
undefined4 FUN_10052560(
|
||||
MxS32 p_param1,
|
||||
|
@ -98,19 +99,19 @@ class LegoAct2 : public LegoWorld {
|
|||
// variable name verified by BETA10 0x10014633
|
||||
char* m_siFile; // 0x10d4
|
||||
|
||||
LegoROI* m_unk0x10d8; // 0x10d8
|
||||
MxMatrix m_unk0x10dc; // 0x10dc
|
||||
undefined4 m_unk0x1124; // 0x1124
|
||||
LegoROI* m_ambulance; // 0x1128
|
||||
undefined4 m_unk0x112c; // 0x112c
|
||||
undefined4 m_unk0x1130; // 0x1130
|
||||
undefined4 m_unk0x1134; // 0x1134
|
||||
Act2Actor* m_unk0x1138; // 0x1138
|
||||
undefined m_unk0x113c; // 0x113c
|
||||
undefined4 m_unk0x1140; // 0x1140
|
||||
undefined4 m_unk0x1144; // 0x1144
|
||||
undefined m_unk0x1148[0x08]; // 0x1148
|
||||
undefined4 m_unk0x1150; // 0x1150
|
||||
LegoROI* m_unk0x10d8; // 0x10d8
|
||||
MxMatrix m_unk0x10dc; // 0x10dc
|
||||
undefined4 m_unk0x1124; // 0x1124
|
||||
LegoROI* m_ambulance; // 0x1128
|
||||
undefined4 m_unk0x112c; // 0x112c
|
||||
undefined4 m_unk0x1130; // 0x1130
|
||||
undefined4 m_unk0x1134; // 0x1134
|
||||
Act2Actor* m_unk0x1138; // 0x1138
|
||||
undefined m_unk0x113c; // 0x113c
|
||||
undefined4 m_unk0x1140; // 0x1140
|
||||
undefined4 m_unk0x1144; // 0x1144
|
||||
undefined m_unk0x1148[0x08]; // 0x1148
|
||||
LegoGameState::Area m_destLocation; // 0x1150
|
||||
};
|
||||
|
||||
#endif // LEGOACT2_H
|
||||
|
|
|
@ -58,7 +58,7 @@ MxLong InfoCenterEntity::HandleClick(LegoEventNotificationParam& p_param)
|
|||
}
|
||||
case LegoGameState::Act::e_act2: {
|
||||
LegoAct2* act2 = (LegoAct2*) FindWorld(*g_act2mainScript, Act2mainScript::c__Act2Main);
|
||||
act2->SetUnknown0x1150(2);
|
||||
act2->SetDestLocation(LegoGameState::e_infomain);
|
||||
|
||||
LegoAct2State* act2state = (LegoAct2State*) GameState()->GetState("LegoAct2State");
|
||||
if (act2state) {
|
||||
|
|
|
@ -58,7 +58,7 @@ LegoAct2::LegoAct2()
|
|||
m_unk0x1138 = NULL;
|
||||
m_unk0x1140 = 0;
|
||||
m_unk0x1144 = 0;
|
||||
m_unk0x1150 = 0;
|
||||
m_destLocation = LegoGameState::e_undefined;
|
||||
m_unk0x10c8 = 0;
|
||||
m_siFile = "";
|
||||
m_unk0x113c = 5;
|
||||
|
@ -328,11 +328,15 @@ MxLong LegoAct2::HandleEndAction(MxEndActionNotificationParam& p_param)
|
|||
return 0;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10050a50
|
||||
// FUNCTION: LEGO1 0x10050a50
|
||||
MxLong LegoAct2::HandleTransitionEnd()
|
||||
{
|
||||
// TODO
|
||||
return 0;
|
||||
if (m_destLocation != LegoGameState::e_undefined) {
|
||||
GameState()->SwitchArea(m_destLocation);
|
||||
m_destLocation = LegoGameState::e_undefined;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x10050a80
|
||||
|
@ -393,7 +397,7 @@ MxBool LegoAct2::Escape()
|
|||
m_gameState->m_unk0x0c = 0;
|
||||
}
|
||||
|
||||
m_unk0x1150 = 2;
|
||||
m_destLocation = LegoGameState::e_infomain;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue