From 165d7201fc7b5006dfee2fe9f0e7a159db36536e Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 25 May 2024 11:41:42 +0200 Subject: Decomp `Actor` --- include/Actor/Actor.hpp | 5 ++++- include/Actor/ActorPlayerDummy.hpp | 25 +++++++++++++++++++++++++ include/Actor/ActorRef.hpp | 4 ---- include/Actor/ActorType.hpp | 2 ++ include/Map/MapManager.hpp | 2 +- include/Player/EquipRope.hpp | 17 ++++++++++++++++- 6 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 include/Actor/ActorPlayerDummy.hpp (limited to 'include') diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index d6c3b60f..f27ed6f8 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -119,7 +119,7 @@ public: /* 116 */ unk8 mUnk_116; /* 117 */ unk8 mUnk_117; /* 118 */ bool mAlive; - /* 119 */ unk8 mUnk_119; + /* 119 */ u8 mUnk_119; /* 11a */ bool mVisible; /* 11b */ bool mUnk_11b; /* 11c */ unk8 mUnk_11c; @@ -192,6 +192,9 @@ public: /* b4 */ Actor(); + + bool func_01fffd04(s32 param1, Vec3p *param2, s32 param3); + unk8 func_ov00_020c1788(); void SetUnk_129(bool value); void SetUnk_11c(unk8 value); diff --git a/include/Actor/ActorPlayerDummy.hpp b/include/Actor/ActorPlayerDummy.hpp new file mode 100644 index 00000000..ceedc688 --- /dev/null +++ b/include/Actor/ActorPlayerDummy.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Actor/Actor.hpp" +#include "Actor/ActorType.hpp" + +class ActorPlayerDummy : public Actor { +public: + static ActorType gType; + + /* 000 (base) */ + /* 158 */ void *mUnk_158; + /* 15c */ u32 mUnk_15c; + /* 160 */ unk32 mUnk_160; + /* 164 */ u32 mUnk_164; + /* 168 */ unk32 mUnk_168; + /* 16c */ unk16 mUnk_16c; + /* 16e */ unk16 mUnk_16e; + /* 170 */ unk16 mUnk_170; + /* 172 */ unk8 mUnk_172[2]; + /* 174 */ unk32 mUnk_174; + /* 178 */ +}; diff --git a/include/Actor/ActorRef.hpp b/include/Actor/ActorRef.hpp index c96f111f..94fe8ceb 100644 --- a/include/Actor/ActorRef.hpp +++ b/include/Actor/ActorRef.hpp @@ -8,10 +8,6 @@ struct ActorRef { /* 4 */ s32 index; /* 8 */ - inline ActorRef() { - this->Reset(); - } - inline void Reset() { id = -1; index = -1; diff --git a/include/Actor/ActorType.hpp b/include/Actor/ActorType.hpp index ca8c6558..7e9e777b 100644 --- a/include/Actor/ActorType.hpp +++ b/include/Actor/ActorType.hpp @@ -50,6 +50,8 @@ typedef u32 ActorTypeId; enum ActorTypeId_ { + ActorTypeId_Null = __ACTOR_TYPE_ID(N,U,L,L), + ActorTypeId_Navi = __ACTOR_TYPE_ID(N,A,V,I), ActorTypeId_ForceNavi = __ACTOR_TYPE_ID(F,C,N,V), ActorTypeId_WisdomNavi = __ACTOR_TYPE_ID(W,S,N,V), diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index e773ef19..ddc91b62 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -167,7 +167,7 @@ public: unk8 MapData_vfunc_60(); static unk8 func_ov00_02083e70(); unk8 MapData_vfunc_68(); - void func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3); + s32 func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3); void func_ov00_02083f44(Vec3p *param_2); unk8 MapData_vfunc_6c(); unk8 MapData_vfunc_70(); diff --git a/include/Player/EquipRope.hpp b/include/Player/EquipRope.hpp index 6a75a15e..a1ea4089 100644 --- a/include/Player/EquipRope.hpp +++ b/include/Player/EquipRope.hpp @@ -2,10 +2,18 @@ #include "global.h" #include "types.h" +#include "lib/math.h" #include "Actor/ActorRef.hpp" +#include "Physics/Cylinder.hpp" #include "Player/EquipItem.hpp" +struct EquipRope_Unk_18 { + /* 00 */ Vec3p vec; + /* 0c */ unk8 mUnk_0c[0x10]; + /* 1c */ +}; + class EquipRope : public EquipItem { public: /* 00 (base) */ @@ -13,7 +21,10 @@ public: /* 0a */ unk16 mUnk_0a; /* 0c */ unk8 mUnk_0c[4]; /* 10 */ ActorRef mRef; - /* 18 */ unk8 mUnk_18[0x54]; + /* 18 */ EquipRope_Unk_18 mUnk_18[2]; + /* 50 */ unk8 mUnk_50[0x1a]; + /* 6a */ bool mUnk_6a; + /* 6b */ unk8 mUnk_6b; /* 6c */ unk16 mUnk_6c; /* 6e */ unk8 mUnk_6e[2]; /* 70 */ unk16 mUnk_70; @@ -39,7 +50,11 @@ public: /* 50 */ Actor* func_ov14_0213d420(); + s32 func_ov14_0213d440(s32 actorId); s32 func_ov14_0213d480(s32 actorId); + bool func_ov14_0213d81c(s32 index, Vec3p *vec); + void func_ov14_0213d91c(s32 index); + bool func_ov14_0213dadc(s32 index, Cylinder *cylinder); s32 func_ov14_0213ddd4(Actor *actor); bool func_ov14_0213defc(Actor *actor); }; -- cgit v1.2.3