summaryrefslogtreecommitdiff
path: root/include/Actor
diff options
context:
space:
mode:
authorAetias <aetias@outlook.com>2024-05-25 23:15:25 +0200
committerAetias <aetias@outlook.com>2024-05-25 23:15:25 +0200
commit2b81d5a3877ea441b3534b5f4376388e64676880 (patch)
tree0ee02e6282f02597f643be516304677fb4a43efd /include/Actor
parent67aba5b356275585e2b26c80a533ab5dd9bb6c38 (diff)
Decomp `Actor`
Diffstat (limited to 'include/Actor')
-rw-r--r--include/Actor/Actor.hpp28
-rw-r--r--include/Actor/ActorRef.hpp6
2 files changed, 25 insertions, 9 deletions
diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp
index f27ed6f8..cd59bde4 100644
--- a/include/Actor/Actor.hpp
+++ b/include/Actor/Actor.hpp
@@ -23,6 +23,8 @@ struct Actor_UnkStruct_020 {
/* 0c */ unk8 mUnk_0f;
/* 10 */ unk32 mUnk_10;
/* 14 */
+
+ Actor_UnkStruct_020();
};
struct Actor_UnkStruct_09c {
@@ -43,15 +45,24 @@ struct Actor_UnkStruct_0a4 {
/* 04 */ Vec3p mUnk_04;
/* 10 */ s32 mUnk_10;
/* 14 */
+
+ Actor_UnkStruct_0a4(q20 x, q20 y, q20 z, s32 unk_10);
};
class KillPickupsFilter : public FilterActorBase {
public:
- /* 0 (base) */
- /* 4 */ ActorRef mUnk_4[20];
+ /* 00 (base) */
+ /* 04 */ ActorRef mUnk_4[10];
+ /* a4 */
/* 0 */ virtual bool Filter(Actor *actor) override;
/* 4 */
+
+ inline KillPickupsFilter() {
+ for (s32 i = 0; i < 10; ++i) {
+ mUnk_4[i].Reset();
+ }
+ }
};
typedef u32 PlayerCollide;
@@ -99,10 +110,10 @@ public:
/* 09c */ Actor_UnkStruct_09c mUnk_09c;
/* 0a4 */ Actor_UnkStruct_0a4 mUnk_0a4;
/* 0b8 */ unk8 mUnk_0b8[0x24];
- /* 0dc */ unk16 mUnk_0dc;
- /* 0de */ unk16 mUnk_0de;
- /* 0e0 */ unk16 mUnk_0e0;
- /* 0e2 */ unk16 mUnk_0e2;
+ /* 0dc */ u16 mUnk_0dc;
+ /* 0de */ u16 mUnk_0de;
+ /* 0e0 */ u16 mUnk_0e0;
+ /* 0e2 */ u16 mUnk_0e2;
/* 0e4 */ unk16 mUnk_0e4;
/* 0e6 */ unk8 mUnk_0e6[0x20];
/* 106 */ unk8 mUnk_106;
@@ -193,7 +204,7 @@ public:
Actor();
- bool func_01fffd04(s32 param1, Vec3p *param2, s32 param3);
+ bool func_01fffd04(s32 param1);
unk8 func_ov00_020c1788();
void SetUnk_129(bool value);
@@ -223,7 +234,7 @@ public:
q20 XzDistanceTo(Vec3p *vec);
q20 DistanceToLink();
q20 XzDistanceToLink();
- s32 GetAngleTo(Vec3p *vec);
+ s16 GetAngleTo(Vec3p *vec);
s32 GetAngleToLink();
void func_ov00_020c2988(Vec3p *param1, q20 param2, Vec3p *param3);
void ResetWallTouch();
@@ -247,7 +258,6 @@ public:
void Kill();
void KillInBounds();
void func_ov00_020c31c0(unk32 param1);
- void vfunc_ac_Thunk();
void func_ov00_020c3200(s32 param1);
void GetLinkPos(Vec3p *result);
void GetLinkDummyPos(Vec3p *result);
diff --git a/include/Actor/ActorRef.hpp b/include/Actor/ActorRef.hpp
index 94fe8ceb..be82f8a8 100644
--- a/include/Actor/ActorRef.hpp
+++ b/include/Actor/ActorRef.hpp
@@ -8,6 +8,12 @@ struct ActorRef {
/* 4 */ s32 index;
/* 8 */
+ inline ActorRef() {}
+ inline ActorRef(s32 id, s32 index):
+ id(id),
+ index(index)
+ {}
+
inline void Reset() {
id = -1;
index = -1;