summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAetias <144526980+AetiasHax@users.noreply.github.com>2025-12-29 20:12:14 +0100
committerGitHub <noreply@github.com>2025-12-29 20:12:14 +0100
commit90b0175de6ef7e8aa6573e6dc4b41ef7925efc6b (patch)
tree607f150ad2cacab3f1d54d287edff39e743456f9 /include
parentfc691f4c8f76d11d6b47149fefadaca4470ab2a1 (diff)
ActorManager_04 (#138)
* Map symbol in Game * ActorManager_04 OK
Diffstat (limited to 'include')
-rw-r--r--include/Actor/ActorManager.hpp38
-rw-r--r--include/Player/MotionParams.hpp11
-rw-r--r--include/Player/PlayerLinkBase.hpp4
-rw-r--r--include/Save/SaveItemManager.hpp2
-rw-r--r--include/Unknown/UnkStruct_027e0dbc.hpp2
-rw-r--r--include/lib/files.h12
-rw-r--r--include/lib/files.hpp39
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 */
+};