mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-24 00:44:21 +00:00
Implement/match LegoPathStruct (#944)
* Implement/match LegoPathStruct * Rename some nums * Consistent naming * Naming * relax regex * Name some functions * Improve naming * Rename
This commit is contained in:
committed by
GitHub
parent
bc91fd2189
commit
8fee73c525
@@ -12,7 +12,17 @@ class LegoWorld;
|
||||
// SIZE 0x0c
|
||||
struct LegoPathStructBase {
|
||||
public:
|
||||
LegoPathStructBase() : m_name(NULL), m_unk0x08(0) {}
|
||||
enum {
|
||||
c_bit1 = 0x01 << 24,
|
||||
c_bit2 = 0x02 << 24,
|
||||
c_bit3 = 0x04 << 24,
|
||||
c_bit4 = 0x08 << 24,
|
||||
c_bit5 = 0x10 << 24,
|
||||
c_bit6 = 0x20 << 24,
|
||||
c_bit7 = 0x40 << 24
|
||||
};
|
||||
|
||||
LegoPathStructBase() : m_name(NULL), m_flags(0) {}
|
||||
|
||||
// FUNCTION: LEGO1 0x10047420
|
||||
virtual ~LegoPathStructBase()
|
||||
@@ -22,25 +32,41 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
char* m_name; // 0x04
|
||||
undefined4 m_unk0x08; // 0x08
|
||||
char* m_name; // 0x04
|
||||
MxU32 m_flags; // 0x08
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100d7da0
|
||||
// SIZE 0x14
|
||||
struct LegoPathStruct : public LegoPathStructBase {
|
||||
class LegoPathStruct : public LegoPathStructBase {
|
||||
public:
|
||||
enum Trigger {
|
||||
c_camAnim = 'C',
|
||||
c_d = 'D',
|
||||
c_e = 'E',
|
||||
c_g = 'G',
|
||||
c_h = 'H',
|
||||
c_music = 'M',
|
||||
c_s = 'S',
|
||||
c_w = 'W'
|
||||
};
|
||||
|
||||
// FUNCTION: LEGO1 0x100473a0
|
||||
LegoPathStruct() : m_world(NULL) {}
|
||||
|
||||
// FUNCTION: LEGO1 0x10047470
|
||||
~LegoPathStruct() override {}
|
||||
|
||||
virtual void VTable0x04(LegoPathActor*, undefined4, undefined4); // vtable+0x04
|
||||
virtual void HandleTrigger(LegoPathActor* p_actor, MxBool p_direction, MxU32 p_data); // vtable+0x04
|
||||
|
||||
inline void SetWorld(LegoWorld* p_world) { m_world = p_world; }
|
||||
inline void SetAtomId(const MxAtomId& p_atomId) { m_atomId = p_atomId; }
|
||||
|
||||
private:
|
||||
MxBool HandleTrigger(LegoPathActor* p_actor, MxBool p_direction, MxU32 p_data, MxBool p_bool);
|
||||
void FUN_1001bc40(const char* p_name, MxU32 p_data, MxBool p_bool);
|
||||
void PlayMusic(MxBool p_direction, MxU32 p_data);
|
||||
|
||||
LegoWorld* m_world; // 0x0c
|
||||
MxAtomId m_atomId; // 0x10
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user