mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 08:24:16 +00:00
Add LegoGameState::Area enum (#552)
* Add area enum * Fix * Fix * Fix * empty
This commit is contained in:

committed by
GitHub

parent
0463d48540
commit
c8930815c5
@@ -2,6 +2,7 @@
|
||||
#define ELEVATORBOTTOM_H
|
||||
|
||||
#include "decomp.h"
|
||||
#include "legogamestate.h"
|
||||
#include "legoworld.h"
|
||||
|
||||
class LegoControlManagerEvent;
|
||||
@@ -41,7 +42,7 @@ public:
|
||||
// ElevatorBottom::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
undefined4 m_unk0xf8; // 0xf8
|
||||
LegoGameState::Area m_unk0xf8; // 0xf8
|
||||
|
||||
MxLong HandleClick(LegoControlManagerEvent& p_param);
|
||||
};
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#ifndef INFOCENTER_H
|
||||
#define INFOCENTER_H
|
||||
|
||||
#include "legogamestate.h"
|
||||
#include "legoworld.h"
|
||||
#include "mxrect32.h"
|
||||
#include "radio.h"
|
||||
@@ -229,20 +230,20 @@ private:
|
||||
void PlayBookAnimation();
|
||||
void StopBookAnimation();
|
||||
|
||||
InfomainScript m_currentInfomainScript; // 0xf8
|
||||
MxS16 m_selectedCharacter; // 0xfc
|
||||
InfocenterState* m_infocenterState; // 0x100
|
||||
undefined4 m_transitionDestination; // 0x104
|
||||
Cutscene m_currentCutscene; // 0x108
|
||||
Radio m_radio; // 0x10c
|
||||
MxStillPresenter* m_unk0x11c; // 0x11c
|
||||
InfocenterMapEntry m_mapAreas[7]; // 0x120
|
||||
MxS16 m_unk0x1c8; // 0x1c8
|
||||
MxStillPresenter* m_frameHotBitmap; // 0x1cc
|
||||
MxS16 m_infoManDialogueTimer; // 0x1d0
|
||||
MxS16 m_bookAnimationTimer; // 0x1d2
|
||||
MxU16 m_unk0x1d4; // 0x1d4
|
||||
MxS16 m_unk0x1d6; // 0x1d6
|
||||
InfomainScript m_currentInfomainScript; // 0xf8
|
||||
MxS16 m_selectedCharacter; // 0xfc
|
||||
InfocenterState* m_infocenterState; // 0x100
|
||||
LegoGameState::Area m_transitionDestination; // 0x104
|
||||
Cutscene m_currentCutscene; // 0x108
|
||||
Radio m_radio; // 0x10c
|
||||
MxStillPresenter* m_unk0x11c; // 0x11c
|
||||
InfocenterMapEntry m_mapAreas[7]; // 0x120
|
||||
MxS16 m_unk0x1c8; // 0x1c8
|
||||
MxStillPresenter* m_frameHotBitmap; // 0x1cc
|
||||
MxS16 m_infoManDialogueTimer; // 0x1d0
|
||||
MxS16 m_bookAnimationTimer; // 0x1d2
|
||||
MxU16 m_unk0x1d4; // 0x1d4
|
||||
MxS16 m_unk0x1d6; // 0x1d6
|
||||
};
|
||||
|
||||
#endif // INFOCENTER_H
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#ifndef INFOCENTERDOOR_H
|
||||
#define INFOCENTERDOOR_H
|
||||
|
||||
#include "legogamestate.h"
|
||||
#include "legoworld.h"
|
||||
|
||||
class LegoControlManagerEvent;
|
||||
@@ -40,7 +41,7 @@ public:
|
||||
// InfocenterDoor::`scalar deleting destructor'
|
||||
|
||||
private:
|
||||
MxS32 m_unk0xf8; // 0xf8
|
||||
LegoGameState::Area m_unk0xf8; // 0xf8
|
||||
|
||||
MxLong HandleClick(LegoControlManagerEvent& p_param);
|
||||
};
|
||||
|
@@ -22,9 +22,68 @@ class LegoGameState {
|
||||
public:
|
||||
enum Act {
|
||||
e_actNotFound = -1,
|
||||
e_act1 = 0,
|
||||
e_act2 = 1,
|
||||
e_act3 = 2
|
||||
e_act1,
|
||||
e_act2,
|
||||
e_act3
|
||||
};
|
||||
|
||||
enum Area {
|
||||
e_noArea = 0,
|
||||
e_previousArea = 0,
|
||||
e_isle,
|
||||
e_infomain,
|
||||
e_infodoor,
|
||||
e_unk4,
|
||||
e_elevbott,
|
||||
e_unk6,
|
||||
e_unk7,
|
||||
e_unk8,
|
||||
e_unk9,
|
||||
e_unk10,
|
||||
e_unk11,
|
||||
e_regbook,
|
||||
e_infoscor,
|
||||
e_jetrace,
|
||||
e_unk15,
|
||||
e_unk16,
|
||||
e_unk17,
|
||||
e_carrace,
|
||||
e_unk19,
|
||||
e_unk20,
|
||||
e_unk21,
|
||||
e_unk22,
|
||||
|
||||
e_unk25 = 25,
|
||||
e_garage,
|
||||
e_unk27,
|
||||
|
||||
e_unk29 = 29,
|
||||
e_hospital,
|
||||
e_unk31,
|
||||
e_unk32,
|
||||
|
||||
e_police = 34,
|
||||
e_unk35,
|
||||
e_copter,
|
||||
e_dunecar,
|
||||
e_jetski,
|
||||
e_racecar,
|
||||
|
||||
e_act2main = 46,
|
||||
e_act3script,
|
||||
|
||||
e_jukeboxw = 53,
|
||||
|
||||
e_histbook = 56,
|
||||
e_unk57,
|
||||
e_unk58,
|
||||
e_unk59,
|
||||
e_unk60,
|
||||
e_unk61,
|
||||
|
||||
e_unk64 = 64,
|
||||
|
||||
e_unk66 = 66
|
||||
};
|
||||
|
||||
LegoGameState();
|
||||
@@ -40,21 +99,21 @@ public:
|
||||
LegoState* CreateState(const char* p_stateName);
|
||||
|
||||
void GetFileSavePath(MxString* p_outPath, MxULong p_slotn);
|
||||
void StopArea(MxU32 p_area = 0);
|
||||
void SwitchArea(MxU32 p_area);
|
||||
void StopArea(Area p_area);
|
||||
void SwitchArea(Area p_area);
|
||||
|
||||
inline MxU8 GetUnknownC() { return m_unk0x0c; }
|
||||
inline Act GetCurrentAct() { return m_currentAct; }
|
||||
inline Act GetLoadedAct() { return m_loadedAct; }
|
||||
inline MxU32 GetCurrentArea() { return m_currentArea; }
|
||||
inline MxU32 GetPreviousArea() { return m_previousArea; }
|
||||
inline MxU32 GetUnknown0x42c() { return m_unk0x42c; }
|
||||
inline Area GetCurrentArea() { return m_currentArea; }
|
||||
inline Area GetPreviousArea() { return m_previousArea; }
|
||||
inline Area GetUnknown0x42c() { return m_unk0x42c; }
|
||||
|
||||
inline void SetDirty(MxBool p_dirty) { m_isDirty = p_dirty; }
|
||||
inline void SetCurrentArea(MxU32 p_currentArea) { m_currentArea = p_currentArea; }
|
||||
inline void SetPreviousArea(MxU32 p_previousArea) { m_previousArea = p_previousArea; }
|
||||
inline void SetCurrentArea(Area p_currentArea) { m_currentArea = p_currentArea; }
|
||||
inline void SetPreviousArea(Area p_previousArea) { m_previousArea = p_previousArea; }
|
||||
inline void SetUnknown0x0c(MxU8 p_unk0x0c) { m_unk0x0c = p_unk0x0c; }
|
||||
inline void SetUnknown0x42c(undefined4 p_unk0x42c) { m_unk0x42c = p_unk0x42c; }
|
||||
inline void SetUnknown0x42c(Area p_unk0x42c) { m_unk0x42c = p_unk0x42c; }
|
||||
|
||||
void SetCurrentAct(Act p_currentAct);
|
||||
void FindLoadedAct();
|
||||
@@ -90,9 +149,9 @@ private:
|
||||
ScoreStruct m_unk0xa6; // 0xa6
|
||||
undefined m_unk0x41a[8]; // 0x41a - might be part of the structure at 0xa6
|
||||
MxBool m_isDirty; // 0x420
|
||||
MxU32 m_currentArea; // 0x424
|
||||
MxU32 m_previousArea; // 0x428
|
||||
undefined4 m_unk0x42c; // 0x42c
|
||||
Area m_currentArea; // 0x424
|
||||
Area m_previousArea; // 0x428
|
||||
Area m_unk0x42c; // 0x42c
|
||||
};
|
||||
|
||||
MxBool ROIHandlerFunction(char* p_input, char* p_output, MxU32 p_copyLen);
|
||||
|
@@ -2,6 +2,7 @@
|
||||
#define POLICE_H
|
||||
|
||||
#include "decomp.h"
|
||||
#include "legogamestate.h"
|
||||
#include "legoworld.h"
|
||||
#include "mxdsaction.h"
|
||||
#include "policestate.h"
|
||||
@@ -44,9 +45,9 @@ private:
|
||||
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
|
||||
MxLong HandleKeyPress(LegoEventNotificationParam& p_param);
|
||||
|
||||
Radio m_radio; // 0xf8
|
||||
PoliceState* m_policeState; // 0x108
|
||||
undefined4 m_transitionDestination; // 0x10c
|
||||
Radio m_radio; // 0xf8
|
||||
PoliceState* m_policeState; // 0x108
|
||||
LegoGameState::Area m_transitionDestination; // 0x10c
|
||||
};
|
||||
|
||||
#endif // POLICE_H
|
||||
|
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "legocontrolmanager.h"
|
||||
#include "legoeventnotificationparam.h"
|
||||
#include "legogamestate.h"
|
||||
#include "legoworld.h"
|
||||
#include "mxactionnotificationparam.h"
|
||||
#include "scorestate.h"
|
||||
@@ -43,7 +44,7 @@ public:
|
||||
void FillArea(MxU32 p_x, MxU32 p_y, MxS16 p_color);
|
||||
|
||||
protected:
|
||||
undefined4 m_unk0xf8;
|
||||
LegoGameState::Area m_unk0xf8;
|
||||
ScoreState* m_state;
|
||||
MxU8* m_surface;
|
||||
|
||||
|
Reference in New Issue
Block a user