diff options
| author | Aetias <144526980+AetiasHax@users.noreply.github.com> | 2024-10-20 17:03:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-20 17:03:41 +0200 |
| commit | f4c5e4862419a14487575bf477118458c0e4a289 (patch) | |
| tree | 5c3e2ab28324e232a3a7cca148deb15894ada19a /include/Actor | |
| parent | 58837ca1fcb5a8ce1af3a977a2f71d08c2d583e2 (diff) | |
| parent | 52e0ac185a5a3570e166ddfaddb4662863ed3d63 (diff) | |
Merge pull request #36 from Yanis42/match_actor_rupee
Match ``14_Land/Actor/ActorRupee.cpp`` (79%)
Diffstat (limited to 'include/Actor')
| -rw-r--r-- | include/Actor/Actor.hpp | 31 | ||||
| -rw-r--r-- | include/Actor/ActorRupee.hpp | 9 | ||||
| -rw-r--r-- | include/Actor/ActorType.hpp | 12 |
3 files changed, 42 insertions, 10 deletions
diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index 8f9378d2..64402237 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -13,8 +13,25 @@ #include "Player/EquipBoomerang.hpp" #include "System/SysNew.hpp" +struct Actor_UnkStruct_012 { + /* 00 */ u16 mUnk_00; + /* 02 */ u8 mUnk_02; + /* 03 */ u8 mUnk_03; + /* 04 */ u32 mUnk_04; + /* 08 */ u32 mUnk_08; + /* 0c */ u32 mUnk_0c; + /* 10 */ u8 mUnk_10; + /* 11 */ u8 mUnk_11; + /* 12 */ u8 mUnk_12[0x2]; + /* 14 */ u32 mUnk_14; + /* 18 */ u32 mUnk_18; + /* 1c */ + + Actor_UnkStruct_012(); +}; + struct Actor_UnkStruct_020 { - /* 00 */ unk16 mUnk_00[4]; + /* 00 */ u16 mUnk_00[4]; /* 08 */ u8 mUnk_08[2]; /* 0a */ u8 mUnk_0a[2]; /* 0c */ unk8 mUnk_0c; @@ -28,7 +45,7 @@ struct Actor_UnkStruct_020 { }; struct Actor_UnkStruct_09c { - /* 0 */ unk16 mUnk_0; + /* 0 */ u16 mUnk_0; /* 2 */ unk8 mUnk_2; /* 3 */ unk8 mUnk_3; /* 4 */ unk32 mUnk_4; @@ -40,8 +57,8 @@ struct Actor_UnkStruct_09c { struct Actor_UnkStruct_0a4 { /* 00 */ bool mUnk_00; /* 01 */ bool mUnk_01; - /* 01 */ bool mUnk_02; - /* 01 */ bool mUnk_03; + /* 02 */ bool mUnk_02; + /* 03 */ bool mUnk_03; /* 04 */ Vec3p mUnk_04; /* 10 */ s32 mUnk_10; /* 14 */ @@ -65,6 +82,8 @@ enum PlayerCollide_ { PlayerCollide_Shield = 0x4, PlayerCollide_Gongoron = 0x8, PlayerCollide_Hammer = 0x10, + + PlayerCollide_PickupFlags = PlayerCollide_Hammer | PlayerCollide_Gongoron | PlayerCollide_Sword | PlayerCollide_Player, }; struct Knockback { @@ -118,7 +137,7 @@ public: /* 109 */ unk8 mUnk_109; /* 10a */ unk8 mUnk_10a[0x6]; /* 110 */ unk8 mUnk_110; - /* 111 */ unk8 mUnk_111; + /* 111 */ bool mUnk_111; /* 112 */ unk8 mUnk_112; /* 113 */ unk8 mUnk_113; /* 114 */ unk8 mUnk_114; @@ -159,7 +178,7 @@ public: /* 14 */ virtual void vfunc_14(u32 param1); /* 18 */ virtual void vfunc_18(u32 param1); /* 1c */ virtual void vfunc_1c(u16 *param1); - /* 20 */ virtual void vfunc_20(s32 param1); + /* 20 */ virtual void vfunc_20(bool param1); /* 24 */ virtual void vfunc_24(); /* 28 */ virtual void vfunc_28(); /* 2c */ virtual s32 vfunc_2c(); diff --git a/include/Actor/ActorRupee.hpp b/include/Actor/ActorRupee.hpp index c0618394..56519394 100644 --- a/include/Actor/ActorRupee.hpp +++ b/include/Actor/ActorRupee.hpp @@ -6,7 +6,8 @@ #include "Actor/Actor.hpp" #include "Actor/ActorType.hpp" -#include "Item/Item.hpp" +#include "Item/ItemManager.hpp" +#include "Player/PlayerLinkBase.hpp" typedef u32 RupeeId; enum RupeeId_ { @@ -27,7 +28,7 @@ public: /* 000 (base) */ /* 158 */ RupeeId mRupeeId; - /* 15c */ unk16 mUnk_15c; + /* 15c */ u16 mUnk_15c; /* 15e */ unk16 mUnk_15e; /* 160 */ @@ -35,7 +36,7 @@ public: /* 08 */ virtual bool vfunc_08() override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; - /* 20 */ virtual void vfunc_20(s32 param1) override; + /* 20 */ virtual void vfunc_20(bool param1) override; /* 60 */ virtual bool vfunc_60() override; /* 64 */ virtual void vfunc_64() override; /* b4 */ @@ -47,6 +48,6 @@ public: void func_ov14_0213b204(unk32 param1); void Update(bool param1); static void func_ov14_0213b5f4(RupeeId id, unk32 param2, Vec3p *param3, bool param4); - static void func_ov14_0213b6a4(RupeeId id, void *param2); + static void func_ov14_0213b6a4(RupeeId id, Actor_UnkStruct_012 *param2); static bool func_ov14_0213b70c(RupeeId id); }; diff --git a/include/Actor/ActorType.hpp b/include/Actor/ActorType.hpp index 76fb560d..4adc3a7a 100644 --- a/include/Actor/ActorType.hpp +++ b/include/Actor/ActorType.hpp @@ -126,6 +126,18 @@ enum ActorTypeId_ { ActorTypeId_VLR0 = __ACTOR_TYPE_ID(V, L, R, 0), }; +class ActorType_UnkClass { +public: + u32 unk_00; + u32 unk_04; + u32 unk_08; + u32 unk_0C; + u32 unk_10; + ActorType_UnkClass(u32 unk_00, u32 unk_04) : + unk_00(unk_00), + unk_04(unk_04) {} +}; + class Actor; typedef Actor *(*ActorCreateFunc)(); |
