diff options
| author | Aetias <144526980+AetiasHax@users.noreply.github.com> | 2025-12-29 20:12:14 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-29 20:12:14 +0100 |
| commit | 90b0175de6ef7e8aa6573e6dc4b41ef7925efc6b (patch) | |
| tree | 607f150ad2cacab3f1d54d287edff39e743456f9 /include | |
| parent | fc691f4c8f76d11d6b47149fefadaca4470ab2a1 (diff) | |
ActorManager_04 (#138)
* Map symbol in Game
* ActorManager_04 OK
Diffstat (limited to 'include')
| -rw-r--r-- | include/Actor/ActorManager.hpp | 38 | ||||
| -rw-r--r-- | include/Player/MotionParams.hpp | 11 | ||||
| -rw-r--r-- | include/Player/PlayerLinkBase.hpp | 4 | ||||
| -rw-r--r-- | include/Save/SaveItemManager.hpp | 2 | ||||
| -rw-r--r-- | include/Unknown/UnkStruct_027e0dbc.hpp | 2 | ||||
| -rw-r--r-- | include/lib/files.h | 12 | ||||
| -rw-r--r-- | include/lib/files.hpp | 39 |
7 files changed, 73 insertions, 35 deletions
diff --git a/include/Actor/ActorManager.hpp b/include/Actor/ActorManager.hpp index 08ef7fd2..0b3b2677 100644 --- a/include/Actor/ActorManager.hpp +++ b/include/Actor/ActorManager.hpp @@ -3,6 +3,8 @@ #include "global.h" #include "types.h" +#include "lib/files.hpp" + #include "Actor/Actor.hpp" #include "Actor/ActorRef.hpp" #include "Actor/FilterActorBase.hpp" @@ -41,7 +43,18 @@ struct ActorList { /* c */ }; -class ActorManager { +class ActorManager_Unk14 : public SysObject { +public: + /* 00 */ unk8 mUnk_00[4]; + /* 04 */ void *mUnk_04; + /* 08 */ unk8 mUnk_08[4]; + /* 0c */ + + ActorManager_Unk14(u32 maxActors); + ~ActorManager_Unk14(); +}; + +class ActorManager : public SysObject { public: /* 00 */ u16 mMaxActors; /* 02 */ u16 mNumActors; @@ -49,32 +62,39 @@ public: /* 08 */ s32 mCacheEmptyActorIndex; /* 0c */ unk32 mNextActorId; /* 10 */ Actor **mActorTable; - /* 14 */ void *mUnk_14; - /* 18 */ unk8 mUnk_18[4]; + /* 14 */ ActorManager_Unk14 *mUnk_14; + /* 18 */ bool mUnk_18; /* 1c */ unk32 mUnk_1c; /* 20 */ unk32 mUnk_20; /* 24 */ unk32 mUnk_24; - /* 28 */ unk8 mUnk_28; + /* 28 */ u8 mUnk_28; /* 29 */ bool mUnk_29; /* 2a */ unk8 mUnk_2a; /* 2b */ unk8 mUnk_2b; /* 2c */ unk32 mUnk_2c; /* 30 */ unk32 mUnk_30; /* 34 */ unk32 mUnk_34; - /* 38 */ unk8 mUnk_38[4]; + /* 38 */ u8 mUnk_38; + /* 39 */ unk8 mUnk_39[3]; /* 3c */ u32 mUnk_3c; /* 40 */ unk32 mUnk_40; /* 44 */ unk32 mUnk_44; /* 48 */ u32 mUnk_48; /* 4c */ unk32 mUnk_4c; /* 50 */ unk32 mUnk_50; - /* 54 */ unk8 mUnk_54[4]; + /* 54 */ u8 mUnk_54; + /* 55 */ u8 mUnk_55; + /* 56 */ u8 mUnk_56; + /* 57 */ unk8 mUnk_57; /* 58 */ u32 mUnk_58; /* 5c */ unk32 mUnk_5c; /* 60 */ unk32 mUnk_60; - /* 64 */ unk8 mUnk_64[4]; + /* 64 */ u8 mUnk_64; + /* 65 */ unk8 mUnk_65; + /* 66 */ unk8 mUnk_66[2]; /* 68 */ ActorManager_UnkStruct_68 mUnk_68[5]; - /* a4 */ unk8 mUnk_a4[0x20]; + /* a4 */ unk8 mUnk_a4[0x1f]; + /* a4 */ u8 mUnk_c3; /* c4 */ void DeleteActor(u32 index, bool param2); @@ -100,7 +120,7 @@ public: ~ActorManager(); void func_ov004_0210532c(); void func_ov004_021053dc(); - void func_ov004_021054a4(s32 *param1, s32 param2, unk32 param3); + void func_ov004_021054a4(FileEntryFlag *param1, s32 param2, unk32 param3); void func_ov004_0210554c(); bool func_ov004_02105578(unk32 param1); bool func_ov004_02105608(unk32 param1, unk32 param2, unk32 param3); diff --git a/include/Player/MotionParams.hpp b/include/Player/MotionParams.hpp deleted file mode 100644 index f04f8a08..00000000 --- a/include/Player/MotionParams.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "global.h" -#include "lib/files.h" -#include "types.h" - -struct MotionParams { - /* 00 */ FileEntry motionBhio; // motion.bhio - /* 10 */ unk8 mUnk_10; - /* 11 */ -}; diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp index 9d85416e..ae46ebdf 100644 --- a/include/Player/PlayerLinkBase.hpp +++ b/include/Player/PlayerLinkBase.hpp @@ -1,13 +1,13 @@ #pragma once #include "global.h" +#include "lib/files.hpp" #include "nds/math.h" #include "types.h" #include "Actor/ActorManager.hpp" #include "Item/ItemManager.hpp" #include "Player/Bhio.hpp" -#include "Player/MotionParams.hpp" #include "Player/PlayerBase.hpp" #include "Player/PlayerControlData.hpp" @@ -39,7 +39,7 @@ public: /* 5a */ s16 mUnk_5a; /* 5c */ unk8 mUnk_5c[3]; /* 5f */ bool mUnk_5f; - /* 60 */ MotionParams *mMotionParams; + /* 60 */ FileEntryFlag *mMotionParams; /* 64 */ Bhio *mBhio_0; /* 68 */ Bhio *mBhio_1; /* 6c */ Bhio *mBhio_2; diff --git a/include/Save/SaveItemManager.hpp b/include/Save/SaveItemManager.hpp index 66aaf683..5b25f672 100644 --- a/include/Save/SaveItemManager.hpp +++ b/include/Save/SaveItemManager.hpp @@ -81,7 +81,7 @@ public: extern "C" void Fill16(int value, unsigned short *dst, int size); extern "C" void Fill32(unk32, u32 *, unk32); -extern "C" void Fill256(int value, int *dst, int size); +extern "C" void Fill256(int value, void *dst, int size); class SaveInventory { public: diff --git a/include/Unknown/UnkStruct_027e0dbc.hpp b/include/Unknown/UnkStruct_027e0dbc.hpp index 76dbf9a1..21691344 100644 --- a/include/Unknown/UnkStruct_027e0dbc.hpp +++ b/include/Unknown/UnkStruct_027e0dbc.hpp @@ -24,6 +24,8 @@ public: void func_ov000_0207b9dc(); void func_ov000_0207b9c8(); void func_ov000_0207b988(GameModeId modeId); + + unk32 func_ov003_020f3d5c(unk32 param1); }; extern UnkStruct_027e0dbc data_027e0dbc; diff --git a/include/lib/files.h b/include/lib/files.h deleted file mode 100644 index 8fae3247..00000000 --- a/include/lib/files.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "global.h" -#include "types.h" - -struct FileEntry { - /* 00 (vtable )*/ - /* 04 */ void *path; - /* 08 */ unk32 mUnk_08; - /* 0c */ unk32 mUnk_0c; - /* 10 */ -}; diff --git a/include/lib/files.hpp b/include/lib/files.hpp new file mode 100644 index 00000000..78b435f4 --- /dev/null +++ b/include/lib/files.hpp @@ -0,0 +1,39 @@ +#pragma once + +#include "global.h" +#include "types.h" + +struct FileEntry_Unk8 { + /* 00 */ unk8 mUnk_00[0x8]; + /* 08 */ u16 mUnk_08; + /* 0a */ u16 mUnk_0a; + /* 0c */ // more fields, probably +}; + +class FileEntry { +public: + /* 00 (vtable) */ + /* 04 */ char *path; + /* 08 */ FileEntry_Unk8 *mUnk_08; + /* 0c */ unk32 mUnk_0c; + /* 10 */ + + /* 00 */ virtual ~FileEntry() = 0; + /* 08 */ virtual FileEntry_Unk8 *vfunc_08(unk32 param1) = 0; + /* 0c */ virtual void vfunc_0c() = 0; + /* 10 */ virtual u32 vfunc_10(u32 param1) = 0; + /* 14 */ +}; + +class FileEntryFlag : public FileEntry { +public: + /* 00 (base) */ + /* 10 */ unk8 mUnk_10; + /* 14 */ + + /* 00 */ virtual ~FileEntryFlag() override; + /* 08 */ virtual FileEntry_Unk8 *vfunc_08(unk32 param1) override; + /* 0c */ virtual void vfunc_0c() override; + /* 10 */ virtual u32 vfunc_10(u32 param1) override; + /* 14 */ +}; |
