mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
Refactor actor states, define enum (#1220)
* Refactor actor states, define enum * Revert * Rename `UpdateState` to `Animate`
This commit is contained in:

committed by
GitHub

parent
ce3f71ea0f
commit
6da2faa48c
@@ -22,7 +22,7 @@ public:
|
||||
void SetROI(LegoROI* p_roi, MxBool p_bool1, MxBool p_bool2) override; // vtable+0x24
|
||||
void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
|
||||
MxS32 VTable0x68(Vector3& p_v1, Vector3& p_v2, Vector3& p_v3) override; // vtable+0x68
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxResult HitActor(LegoPathActor*, MxBool) override; // vtable+0x94
|
||||
MxResult VTable0x9c() override; // vtable+0x9c
|
||||
MxS32 VTable0xa0() override; // vtable+0xa0
|
||||
|
@@ -50,7 +50,7 @@ public:
|
||||
Act3Cop();
|
||||
|
||||
void ParseAction(char* p_extra) override; // vtable+0x20
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxResult HitActor(LegoPathActor*, MxBool) override; // vtable+0x94
|
||||
MxResult VTable0x9c() override; // vtable+0x9c
|
||||
|
||||
@@ -78,7 +78,7 @@ public:
|
||||
~Act3Brickster() override;
|
||||
|
||||
void ParseAction(char* p_extra) override; // vtable+0x20
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxResult HitActor(LegoPathActor* p_actor, MxBool p_bool) override; // vtable+0x94
|
||||
void SwitchBoundary(
|
||||
LegoPathBoundary*& p_boundary,
|
||||
@@ -128,8 +128,8 @@ public:
|
||||
return "Act3Shark";
|
||||
}
|
||||
|
||||
void ParseAction(char*) override; // vtable+0x20
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void ParseAction(char*) override; // vtable+0x20
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
|
||||
// LegoAnimActor vtable
|
||||
virtual MxResult FUN_10042ce0(Act3Ammo* p_ammo); // vtable+0x10
|
||||
|
@@ -22,7 +22,7 @@ public:
|
||||
~Act3Ammo() override;
|
||||
|
||||
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
|
||||
// FUNCTION: BETA10 0x10017750
|
||||
MxU32 IsValid() { return m_ammoFlag & c_valid; }
|
||||
|
@@ -124,7 +124,7 @@ public:
|
||||
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxLong HandleClick() override; // vtable+0xcc
|
||||
MxLong HandleControl(LegoControlManagerNotificationParam& p_param) override; // vtable+0xd4
|
||||
MxLong HandlePathStruct(LegoPathStructNotificationParam& p_param) override; // vtable+0xdc
|
||||
|
@@ -25,7 +25,7 @@ public:
|
||||
}
|
||||
|
||||
void ParseAction(char* p_extra) override; // vtable+0x20
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxResult HitActor(LegoPathActor* p_actor, MxBool p_bool) override; // vtable+0x94
|
||||
virtual MxFloat VTable0xcc(float p_time); // vtable+0xcc
|
||||
|
||||
|
@@ -24,7 +24,7 @@ public:
|
||||
}
|
||||
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxLong HandleClick() override; // vtable+0xcc
|
||||
MxLong HandleControl(LegoControlManagerNotificationParam& p_param) override; // vtable+0xd4
|
||||
MxLong HandlePathStruct(LegoPathStructNotificationParam& p_param) override; // vtable+0xdc
|
||||
|
@@ -68,7 +68,7 @@ public:
|
||||
}
|
||||
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
|
||||
MxLong HandleClick() override; // vtable+0xcc
|
||||
MxLong HandleControl(LegoControlManagerNotificationParam& p_param) override; // vtable+0xd4
|
||||
|
@@ -134,7 +134,7 @@ public:
|
||||
void Reset()
|
||||
{
|
||||
m_roi->SetVisibility(TRUE);
|
||||
SetActorFlags(0);
|
||||
SetActorState(c_initial);
|
||||
}
|
||||
|
||||
void SetWorld(LegoWorld* p_world) { m_world = p_world; }
|
||||
|
@@ -26,7 +26,7 @@ public:
|
||||
}
|
||||
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxLong HandleClick() override; // vtable+0xcc
|
||||
MxLong HandleControl(LegoControlManagerNotificationParam&) override; // vtable+0xd4
|
||||
void Exit() override; // vtable+0xe4
|
||||
|
@@ -58,7 +58,7 @@ public:
|
||||
|
||||
void ParseAction(char* p_extra) override; // vtable+0x20
|
||||
void SetWorldSpeed(MxFloat p_worldSpeed) override; // vtable+0x30
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
|
||||
|
||||
virtual MxResult FUN_1001c1f0(float& p_und);
|
||||
|
@@ -43,7 +43,7 @@ public:
|
||||
float p_f2,
|
||||
Vector3& p_v3
|
||||
) override; // vtable+0x6c
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
|
||||
MxU32 VTable0x90(float p_time, Matrix4& p_matrix) override; // vtable+0x90
|
||||
MxResult HitActor(LegoPathActor* p_actor, MxBool p_bool) override; // vtable+0x94
|
||||
|
@@ -39,7 +39,7 @@ public:
|
||||
float p_f2,
|
||||
Vector3& p_v3
|
||||
) override; // vtable+0x6c
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxS32 VTable0x1c(LegoPathBoundary* p_boundary, LegoEdge* p_edge) override; // vtable+0x1c
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10013a80
|
||||
|
@@ -22,9 +22,16 @@ extern const char* g_strHIT_WALL_SOUND;
|
||||
// SIZE 0x154
|
||||
class LegoPathActor : public LegoActor {
|
||||
public:
|
||||
enum {
|
||||
c_bit2 = 0x02,
|
||||
c_disable = 0x04,
|
||||
enum ActorState {
|
||||
// States
|
||||
c_initial = 0,
|
||||
c_one = 1,
|
||||
c_two = 2,
|
||||
c_three = 3,
|
||||
c_disabled = 4,
|
||||
c_maxState = 255,
|
||||
|
||||
// Flags
|
||||
c_noCollide = 0x100
|
||||
};
|
||||
|
||||
@@ -54,7 +61,7 @@ public:
|
||||
float p_f2,
|
||||
Vector3& p_v3
|
||||
); // vtable+0x6c
|
||||
virtual void UpdateState(float p_time); // vtable+0x70
|
||||
virtual void Animate(float p_time); // vtable+0x70
|
||||
virtual void VTable0x74(Matrix4& p_transform); // vtable+0x74
|
||||
|
||||
// FUNCTION: LEGO1 0x10002d20
|
||||
@@ -133,7 +140,7 @@ public:
|
||||
LegoPathBoundary* GetBoundary() { return m_boundary; }
|
||||
|
||||
// FUNCTION: BETA10 0x1001c860
|
||||
MxU32 GetActorFlags() { return m_actorFlags; }
|
||||
MxU32 GetActorState() { return m_actorState; }
|
||||
|
||||
LegoPathController* GetController() { return m_pathController; }
|
||||
MxBool GetCollideBox() { return m_collideBox; }
|
||||
@@ -143,7 +150,7 @@ public:
|
||||
void SetBoundary(LegoPathBoundary* p_boundary) { m_boundary = p_boundary; }
|
||||
|
||||
// FUNCTION: BETA10 0x10013430
|
||||
void SetActorFlags(MxU32 p_actorFlags) { m_actorFlags = p_actorFlags; }
|
||||
void SetActorState(MxU32 p_actorState) { m_actorState = p_actorState; }
|
||||
|
||||
void SetController(LegoPathController* p_pathController) { m_pathController = p_pathController; }
|
||||
void SetLastTime(MxFloat p_lastTime) { m_lastTime = p_lastTime; }
|
||||
@@ -173,7 +180,7 @@ protected:
|
||||
MxFloat m_lastTime; // 0x84
|
||||
LegoPathBoundary* m_boundary; // 0x88
|
||||
LegoUnknown m_unk0x8c; // 0x8c
|
||||
MxU32 m_actorFlags; // 0xdc
|
||||
MxU32 m_actorState; // 0xdc
|
||||
LegoUnknown100db7f4* m_destEdge; // 0xe0
|
||||
MxFloat m_unk0xe4; // 0xe4
|
||||
MxBool m_collideBox; // 0xe8
|
||||
|
@@ -21,9 +21,9 @@ public:
|
||||
~LegoRaceMap() override;
|
||||
|
||||
// LegoPathActor vtable
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
void ParseAction(char* p_extra) override; // vtable+0x20
|
||||
void UpdateState(float p_time) override = 0; // vtable+0x70
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
void ParseAction(char* p_extra) override; // vtable+0x20
|
||||
void Animate(float p_time) override = 0; // vtable+0x70
|
||||
|
||||
// LegoRaceMap vtable
|
||||
virtual void FUN_1005d4b0(); // vtable+0x00
|
||||
|
@@ -67,7 +67,7 @@ public:
|
||||
float p_f2,
|
||||
Vector3& p_v3
|
||||
) override; // vtable+0x6c
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxResult HitActor(LegoPathActor* p_actor, MxBool p_bool) override; // vtable+0x94
|
||||
void SwitchBoundary(LegoPathBoundary*& p_boundary, LegoUnknown100db7f4*& p_edge, float& p_unk0xe4)
|
||||
override; // vtable+0x98
|
||||
@@ -163,7 +163,7 @@ public:
|
||||
float p_f2,
|
||||
Vector3& p_v3
|
||||
) override; // vtable+0x6c
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxResult HitActor(LegoPathActor* p_actor, MxBool p_bool) override; // vtable+0x94
|
||||
void SwitchBoundary(LegoPathBoundary*& p_boundary, LegoUnknown100db7f4*& p_edge, float& p_unk0xe4)
|
||||
override; // vtable+0x98
|
||||
|
@@ -42,8 +42,8 @@ public:
|
||||
float p_f1,
|
||||
float p_f2,
|
||||
Vector3& p_v3
|
||||
) override; // vtable+0x6c
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
) override; // vtable+0x6c
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
void SwitchBoundary(LegoPathBoundary*& p_boundary, LegoUnknown100db7f4*& p_edge, float& p_unk0xe4)
|
||||
override; // vtable+0x98
|
||||
MxResult VTable0x9c() override; // vtable+0x9c
|
||||
|
@@ -24,7 +24,7 @@ public:
|
||||
}
|
||||
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxLong HandleClick() override; // vtable+0xcc
|
||||
MxLong HandleControl(LegoControlManagerNotificationParam& p_param) override; // vtable+0xd4
|
||||
MxLong HandlePathStruct(LegoPathStructNotificationParam&) override; // vtable+0xdc
|
||||
|
@@ -123,7 +123,7 @@ public:
|
||||
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void UpdateState(float p_time) override; // vtable+0x70
|
||||
void Animate(float p_time) override; // vtable+0x70
|
||||
MxLong HandleClick() override; // vtable+0xcc
|
||||
MxLong HandleControl(LegoControlManagerNotificationParam& p_param) override; // vtable+0xd4
|
||||
MxLong HandleEndAnim(LegoEndAnimNotificationParam& p_param) override; // vtable+0xd8
|
||||
|
Reference in New Issue
Block a user