Implement/match LegoAct2::HandleEndAction and related (#1184)

* Implement/match LegoAct2::HandleEndAction

* Reorder
This commit is contained in:
Christian Semmler
2024-12-02 10:58:08 -07:00
committed by GitHub
parent 8b9f6f1007
commit a0a114135a
11 changed files with 314 additions and 54 deletions

View File

@@ -27,6 +27,7 @@ public:
MxResult VTable0x9c() override; // vtable+0x9c
MxS32 VTable0xa0() override; // vtable+0xa0
void FUN_10018980();
void FUN_10019520();
void FUN_100192a0(undefined4 p_param);
@@ -38,22 +39,22 @@ public:
// `vbtable'
private:
undefined m_unk0x1c; // 0x1c
MxS8 m_unk0x1d; // 0x1d
undefined m_unk0x1e; // 0x1e
MxBool m_unk0x1f; // 0x1f
undefined4 m_unk0x20; // 0x20
undefined4 m_unk0x24; // 0x24
MxS8 m_unk0x28; // 0x28
undefined4 m_unk0x2c; // 0x2c
undefined4 m_unk0x30; // 0x30
undefined4 m_unk0x34; // 0x34
undefined4 m_unk0x38; // 0x38
undefined4 m_unk0x3c; // 0x3c
undefined m_unk0x40; // 0x40
undefined4 m_unk0x44; // 0x44
MxS8 m_unk0x48; // 0x48
undefined4 m_unk0x4c; // 0x4c
undefined m_unk0x1c; // 0x1c
MxS8 m_unk0x1d; // 0x1d
undefined m_unk0x1e; // 0x1e
MxBool m_unk0x1f; // 0x1f
undefined4 m_unk0x20; // 0x20
undefined4 m_unk0x24; // 0x24
MxS8 m_unk0x28; // 0x28
undefined4 m_unk0x2c; // 0x2c
undefined4 m_unk0x30; // 0x30
LegoAnimActorStruct* m_shootAnim; // 0x34
LegoCacheSound* m_unk0x38; // 0x38
undefined4 m_unk0x3c; // 0x3c
undefined m_unk0x40; // 0x40
undefined4 m_unk0x44; // 0x44
MxS8 m_unk0x48; // 0x48
undefined4 m_unk0x4c; // 0x4c
};
// TEMPLATE: LEGO1 0x100194f0

View File

@@ -31,8 +31,10 @@ public:
// SYNTHETIC: LEGO1 0x1007a450
// Act2Brick::`scalar deleting destructor'
void Remove();
void PlayWhistleSound();
void StopWhistleSound();
void Mute(MxBool p_muted);
private:
static MxLong g_lastHitActorTime;

View File

@@ -68,15 +68,6 @@ public:
void SetUnknown0x1138(Act2Actor* p_unk0x1138) { m_unk0x1138 = p_unk0x1138; }
void SetDestLocation(LegoGameState::Area p_destLocation) { m_destLocation = p_destLocation; }
undefined4 FUN_10052560(
MxS32 p_param1,
MxBool p_param2,
MxBool p_param3,
Mx3DPointFloat* p_location,
Mx3DPointFloat* p_direction,
Mx3DPointFloat* p_param6
);
// SYNTHETIC: LEGO1 0x1004fe20
// LegoAct2::`scalar deleting destructor'
@@ -86,8 +77,19 @@ private:
MxLong HandlePathStruct(LegoPathStructNotificationParam& p_param);
void PlayMusic(JukeboxScript::Script p_objectId);
void FUN_10051900();
void FUN_10051960();
void InitBricks();
void UninitBricks();
void FUN_10051ac0();
MxResult FUN_10052560(
Act2mainScript::Script p_objectId,
MxBool p_param2,
MxBool p_param3,
Mx3DPointFloat* p_location,
Mx3DPointFloat* p_direction,
Mx3DPointFloat* p_param6
);
MxResult FUN_10052800();
Act2Brick m_bricks[10]; // 0x00f8
undefined m_unk0x10c0; // 0x10c0
@@ -110,7 +112,7 @@ private:
undefined4 m_unk0x1134; // 0x1134
Act2Actor* m_unk0x1138; // 0x1138
undefined m_unk0x113c; // 0x113c
undefined4 m_unk0x1140; // 0x1140
Act2mainScript::Script m_unk0x1140; // 0x1140
Act2mainScript::Script m_unk0x1144; // 0x1144
undefined m_unk0x1148[0x08]; // 0x1148
LegoGameState::Area m_destLocation; // 0x1150

View File

@@ -157,7 +157,7 @@ public:
MxResult ReadModelInfo(LegoFile* p_file, ModelInfo* p_info);
void FUN_10060480(LegoChar* p_characterNames[], MxU32 p_numCharacterNames);
void FUN_100604d0(MxBool p_unk0x08);
void FUN_100604f0(MxS32 p_objectIds[], undefined4 p_numObjectIds);
void FUN_100604f0(MxS32 p_objectIds[], MxU32 p_numObjectIds);
void FUN_10060540(MxBool p_unk0x29);
void FUN_10060570(MxBool p_unk0x1a);
MxResult StartEntityAction(MxDSAction& p_dsAction, LegoEntity* p_entity);

View File

@@ -44,7 +44,8 @@ public:
void Stop();
void FUN_10006be0();
void SetDistance(MxS32 p_min, MxS32 p_max);
void Mute(MxBool p_mute);
void MuteSilence(MxBool p_muted);
void MuteStop(MxBool p_mute);
// SYNTHETIC: LEGO1 0x10006610
// LegoCacheSound::`scalar deleting destructor'