mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
Implement/match Isle::HandleEndAction and Isle::HandleElevatorEndAction (#691)
* WIP * Match
This commit is contained in:

committed by
GitHub

parent
d96679ea9e
commit
52d74647be
@@ -101,7 +101,7 @@ protected:
|
||||
MxS32 m_unk0x014; // 0x014
|
||||
MxU32 m_unk0x018; // 0x018
|
||||
MxS16 m_elevFloor; // 0x01c
|
||||
undefined m_unk0x01e; // 0x01e
|
||||
MxBool m_unk0x01e; // 0x01e
|
||||
MxBool m_unk0x01f; // 0x01f
|
||||
MxBool m_planeActive; // 0x020
|
||||
undefined m_unk0x021; // 0x021
|
||||
|
@@ -78,10 +78,11 @@ public:
|
||||
void Enable(MxBool p_enable) override; // vtable+68
|
||||
virtual void VTable0x6c(IslePathActor* p_actor); // vtable+6c
|
||||
|
||||
MxLong StopAction(MxParam& p_param);
|
||||
MxLong HandleEndAction(MxEndActionNotificationParam& p_param);
|
||||
MxLong HandleClick(LegoControlManagerEvent& p_param);
|
||||
MxLong HandleType19Notification(MxParam& p_param);
|
||||
MxLong HandleTransitionEnd();
|
||||
void HandleElevatorEndAction();
|
||||
void FUN_10031590();
|
||||
void FUN_10032620();
|
||||
void FUN_100330e0();
|
||||
|
@@ -3,6 +3,15 @@
|
||||
|
||||
#include "legoentity.h"
|
||||
|
||||
namespace JukeboxScript
|
||||
{
|
||||
#ifdef COMPAT_MODE
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace JukeboxScript
|
||||
|
||||
// VTABLE: LEGO1 0x100da8a0
|
||||
// SIZE 0x6c
|
||||
class JukeBoxEntity : public LegoEntity {
|
||||
@@ -26,7 +35,7 @@ public:
|
||||
}
|
||||
|
||||
void StartAction();
|
||||
void StopAction(MxU32 p_state);
|
||||
void StopAction(JukeboxScript::Script p_script);
|
||||
|
||||
inline MxBool IsBackgroundAudioEnabled() { return m_audioEnabled; }
|
||||
|
||||
|
@@ -17,6 +17,15 @@ struct ColorStringStruct {
|
||||
const char* m_colorName;
|
||||
};
|
||||
|
||||
namespace JukeboxScript
|
||||
{
|
||||
#ifdef COMPAT_MODE
|
||||
enum Script : int;
|
||||
#else
|
||||
enum Script;
|
||||
#endif
|
||||
} // namespace JukeboxScript
|
||||
|
||||
// SIZE 0x430
|
||||
class LegoGameState {
|
||||
public:
|
||||
@@ -159,7 +168,7 @@ public:
|
||||
inline Act GetLoadedAct() { return m_loadedAct; }
|
||||
inline Area GetCurrentArea() { return m_currentArea; }
|
||||
inline Area GetPreviousArea() { return m_previousArea; }
|
||||
inline MxU32 GetUnknown0x41c() { return m_unk0x41c; }
|
||||
inline JukeboxScript::Script GetUnknown0x41c() { return m_unk0x41c; }
|
||||
inline Area GetUnknown0x42c() { return m_unk0x42c; }
|
||||
inline History* GetHistory() { return &m_history; }
|
||||
|
||||
@@ -167,7 +176,7 @@ public:
|
||||
inline void SetCurrentArea(Area p_currentArea) { m_currentArea = p_currentArea; }
|
||||
inline void SetPreviousArea(Area p_previousArea) { m_previousArea = p_previousArea; }
|
||||
inline void SetActorId(MxU8 p_actorId) { m_actorId = p_actorId; }
|
||||
inline void SetUnknown0x41c(undefined4 p_unk0x41c) { m_unk0x41c = p_unk0x41c; }
|
||||
inline void SetUnknown0x41c(JukeboxScript::Script p_unk0x41c) { m_unk0x41c = p_unk0x41c; }
|
||||
inline void SetUnknown0x42c(Area p_unk0x42c) { m_unk0x42c = p_unk0x42c; }
|
||||
inline Username* GetPlayersIndex(MxS32 p_index) { return &m_players[p_index]; }
|
||||
inline MxS16 GetPlayerCount() { return m_playerCount; }
|
||||
@@ -202,10 +211,10 @@ public:
|
||||
Username m_players[9]; // 0x28
|
||||
|
||||
private:
|
||||
History m_history; // 0xa6
|
||||
undefined2 m_unk0x41a; // 0x41a
|
||||
undefined4 m_unk0x41c; // 0x41c
|
||||
MxBool m_isDirty; // 0x420
|
||||
History m_history; // 0xa6
|
||||
undefined2 m_unk0x41a; // 0x41a
|
||||
JukeboxScript::Script m_unk0x41c; // 0x41c
|
||||
MxBool m_isDirty; // 0x420
|
||||
|
||||
public:
|
||||
Area m_currentArea; // 0x424
|
||||
|
Reference in New Issue
Block a user