summaryrefslogtreecommitdiff
path: root/include/Message
diff options
context:
space:
mode:
Diffstat (limited to 'include/Message')
-rw-r--r--include/Message/MessageManager.hpp85
-rw-r--r--include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp100
2 files changed, 110 insertions, 75 deletions
diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp
index 2cfe20ab..988ec1cd 100644
--- a/include/Message/MessageManager.hpp
+++ b/include/Message/MessageManager.hpp
@@ -6,19 +6,53 @@
#include "System/SysNew.hpp"
#include "Message/BMG.hpp"
#include "Message/UnkStruct_027E0C68_UnkSubClass1.hpp"
+#include "lib/math.h"
-class UnkStruct_027E0C68_UnkSubClass2 : public SysObject {
+// astruct_14
+class UnkStruct_027E0C68_UnkSubClass2_Base1 : public SysObject {
public:
/* 0x00 (vtable) */
- /* 0x04 */ unk32 unk_04;
- /* 0x08 */ unk32 unk_08;
- /* 0x0C */ unk32 unk_0C;
- /* 0x10 */ unk32 unk_10;
+ /* 0x04 */ unk32 unk_04[4];
/* 0x14 */ unk32 unk_14;
/* 0x18 */ u32 unk_18;
- /* 0x1C */ unk32 unk_1C;
- /* 0x20 */ unk32 unk_20;
- /* 0x24 */ unk32 unk_24;
+ /* 0x1C */ unk8 unk_1C;
+ /* 0x1D */ u8 unk_1D;
+ /* 0x1E */ unk16 unk_1E;
+ /* 0x20 */
+
+ UnkStruct_027E0C68_UnkSubClass2_Base1(unk32 param_2, unk32 param_3);
+
+ /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass2_Base1();
+ /* 0x08 */ virtual void vfunc_08(u32 param_1);
+ /* 0x0C */ virtual void vfunc_0C(UnkStruct_027E0C68_UnkSubClass1_Sub1* param_2);
+ /* 0x10 */ virtual void vfunc_10(void);
+ /* 0x14 */ virtual UNK_TYPE vfunc_14(void);
+ /* 0x18 */ virtual UNK_TYPE vfunc_18(void);
+ /* 0x1C */ virtual UNK_TYPE vfunc_1C(void);
+ /* 0x20 */ virtual UNK_TYPE vfunc_20(void);
+ /* 0x24 */ virtual UNK_TYPE vfunc_24(void);
+ /* 0x28 */ virtual UNK_TYPE vfunc_28(void);
+ /* 0x2C */ virtual UNK_TYPE vfunc_2C(void);
+ /* 0x30 */ virtual UNK_TYPE vfunc_30(void);
+ /* 0x34 */
+};
+
+class UnkStruct_027E0C68_UnkSubClass2_unk_24 {
+public:
+ /* 0x00 */ unk32 unk_00;
+ /* 0x04 */
+
+ void func_020376c0(Vec3p param_2);
+};
+
+// astruct_15
+class UnkStruct_027E0C68_UnkSubClass2 : public UnkStruct_027E0C68_UnkSubClass2_Base1 {
+public:
+ /* 0x20 */ unk8 unk_20;
+ /* 0x21 */ unk8 unk_21;
+ /* 0x22 */ unk8 unk_22;
+ /* 0x23 */ unk8 unk_23;
+ /* 0x24 */ UnkStruct_027E0C68_UnkSubClass2_unk_24 unk_24;
/* 0x28 */ unk32 unk_28;
/* 0x2C */ unk32 unk_2C;
/* 0x30 */ unk32 unk_30;
@@ -45,32 +79,6 @@ public:
/* 0x34 */
};
-class UnkStruct_027E0C68_UnkSubClass3 : public SysObject {
-public:
- /* 0x00 (vtable) */
- /* 0x04 */ unk32 unk_04;
- /* 0x08 */ unk32 unk_08;
- /* 0x0C */ unk32 unk_0C;
- /* 0x10 */ unk32 unk_10;
- /* 0x14 */ unk32 unk_14;
- /* 0x18 */ u32 unk_18;
-
- UnkStruct_027E0C68_UnkSubClass3();
- /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass3() override;
- /* 0x08 */ virtual UNK_TYPE vfunc_08(void) override;
- /* 0x0C */ virtual UNK_TYPE vfunc_0C(void) override;
- /* 0x10 */ virtual void vfunc_10(void) override;
- /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override;
- /* 0x1C */ virtual UNK_TYPE vfunc_1C(void) override;
- /* 0x20 */ virtual UNK_TYPE vfunc_20(void) override;
- /* 0x24 */ virtual UNK_TYPE vfunc_24(void) override;
- /* 0x28 */ virtual UNK_TYPE vfunc_28(void) override;
- /* 0x2C */ virtual UNK_TYPE vfunc_2C(void) override;
- /* 0x30 */ virtual UNK_TYPE vfunc_30(void) override;
- /* 0x34 */ virtual UNK_TYPE vfunc_34(void) override;
- /* 0x38 */ virtual UNK_TYPE vfunc_38(void) override;
-};
-
class UnkStruct_027E0C68 : public SysObject {
public:
/* 0x00 */ unk16 unk_00;
@@ -87,7 +95,7 @@ public:
/* 0x10 */ unk16 unk_12;
/* 0x14 */ BMGGroups* pGroups;
/* 0x18 */ UnkStruct_027E0C68_UnkSubClass2* unk_18[2];
- /* 0x20 */ UnkStruct_027E0C68_UnkSubClass3* unk_20[2]; // is it actually UnkStruct_027E0C68_UnkSubClass2?
+ /* 0x20 */ UnkStruct_027E0C68_UnkSubClass2_Base1* unk_20[2];
/* 0x28 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_28[6];
/* 0x40 */ UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_40[2]; // is array size 6?
/* 0x48 */
@@ -95,6 +103,7 @@ public:
static void func_0203643c(int *param_1, UnkStruct_027E0C68* param_2, u32 param_3);
void func_02036490(unk32 param_2, unk32 param_3, unk32 param_4);
void func_0203665c(void);
+ UnkStruct_027E0C68();
~UnkStruct_027E0C68();
UnkStruct_027E0C68_UnkSubClass1_Sub1* func_020366c4(void);
UnkStruct_027E0C68_UnkSubClass1_Sub1* func_02036700(void);
@@ -107,14 +116,14 @@ public:
bool func_02036824(void);
bool func_02036850(void);
void func_02036888(UnkStruct_027E0C68_UnkSubClass2* param_2);
- bool func_020368f4(UnkStruct_027E0C68_UnkSubClass3* param_2);
+ bool func_020368f4(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2);
void func_0203690c(unk32 param_2, unk32 param_3, unk32 param_4);
void func_02036bbc(void);
void func_02036c50(unk32 param_2);
void func_02036ca4(unk32 param_2);
bool func_02036ce4(UnkStruct_027E0C68_UnkSubClass2* param_2, unk32 param_3);
- bool func_02036d30(UnkStruct_027E0C68_UnkSubClass3* param_2);
- bool func_02036d4c(UnkStruct_027E0C68_UnkSubClass3* param_2);
+ bool func_02036d30(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2);
+ bool func_02036d4c(UnkStruct_027E0C68_UnkSubClass2_Base1* param_2);
void func_02036d6c(void);
UnkStruct_027E0C68_UnkSubClass1_Base* func_02036da8(u32 param_2, s16* param_3);
void func_02036edc(u32 param_2, u8 param_3);
diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp
index c457ff32..0bd03ee1 100644
--- a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp
+++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp
@@ -35,14 +35,25 @@ typedef struct UnkSubClass1_unk_154 {
typedef u32 (*UnkCallback1)(void);
-typedef struct UnkStruct1 {
- /* 0x00 */ UnkCallback1 unk_00;
- /* 0x04 */ UnkCallback1 unk_04;
-} UnkStruct1; // size = 0x8
+// astruct_11
+class UnkSubClass1_UnkownClass1_Sub1 {
+public:
+ /* 0x00 */ unk16 unk_00;
+ /* 0x02 */ unk16 unk_02;
+ /* 0x04 */ unk32 unk_04;
+ /* 0x08 */ unk32 unk_08;
+ /* 0x0C */ unk32 unk_0C;
+ /* 0x10 */ unk32 unk_10;
+ /* 0x14 */ unk32 unk_14;
+ /* 0x18 */
+
+ UnkSubClass1_UnkownClass1_Sub1();
+};
+// astruct_10
class UnkSubClass1_UnkownClass1 {
public:
- /* 0x00 */ UnkStruct1* unk_00;
+ /* 0x00 (vtable) */
/* 0x04 */ unk16 unk_04;
/* 0x06 */ unk16 unk_06;
/* 0x08 */ u32* unk_08;
@@ -66,29 +77,60 @@ public:
/* 0x50 */ unk32 unk_50;
/* 0x54 */ unk32 unk_54;
/* 0x58 */ unk32 unk_58;
- /* 0x5C */ unk32 unk_5C;
- /* 0x60 */ unk32 unk_60;
- /* 0x64 */ unk32 unk_64;
- /* 0x68 */ unk32 unk_68;
- /* 0x6C */ unk32 unk_6C;
- /* 0x70 */ unk32 unk_70;
+ /* 0x5C */ UnkSubClass1_UnkownClass1_Sub1 unk_5C;
/* 0x74 */ u32* unk_74;
/* 0x78 */ u32* unk_78;
/* 0x7C */ unk32 unk_7C;
- /* 0x80 */ unk32 unk_80;
- /* 0x84 */ unk32 unk_84;
+ /* 0x80 */ unk16 unk_80;
+ /* 0x80 */ unk16 unk_82;
+ /* 0x84 */ unk16 unk_84;
+ /* 0x84 */ unk8 unk_86;
+ /* 0x84 */ unk8 unk_87;
/* 0x88 */
+ /* 0x00 */ virtual unk16 func_020351a8(void);
+ /* 0x04 */ virtual unk16 func_020351b0(void);
+ /* 0x08 */
+
UnkSubClass1_UnkownClass1();
+ ~UnkSubClass1_UnkownClass1();
void func_02034a1c(unk32, unk32, struct UnkStruct_01ffbe34*);
void func_02034b0c(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6);
- void func_020350ac(void);
void func_020350b4(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5, unk32 param_6);
void func_0203516c(void);
void func_020351b8(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5);
void func_020352d8(void);
};
+class UnkSubClass1_UnkownClass2_Base1 {
+public:
+ /* 0x00 (vtable) */
+ /* 0x04 */ u16* unk_00; // pointer to the current position in the message to display
+ /* 0x08 */ unk16 unk_08;
+ /* 0x0A */ unk16 unk_0A;
+ /* 0x0C */ unk16 unk_0C;
+ /* 0x0E */ unk16 unk_0E;
+ /* 0x10 */ unk32 unk_10;
+
+ UnkSubClass1_UnkownClass2_Base1();
+ /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2_Base1() override;
+ /* 0x08 */
+};
+
+class UnkSubClass1_UnkownClass2 : public UnkSubClass1_UnkownClass2_Base1 {
+public:
+ /* 0x14 */ unk32 unk_14;
+ /* 0x18 */ unk32 unk_18;
+ /* 0x1C */ unk32 unk_1C;
+ /* 0x20 */ unk32 unk_20;
+ /* 0x24 */ unk32 unk_24;
+ /* 0x2C */
+
+ UnkSubClass1_UnkownClass2();
+ /* 0x00 */ virtual ~UnkSubClass1_UnkownClass2() override;
+ /* 0x08 */
+};
+
class UnknownClass2 : public SysObject {
public:
/* 0x00 (vtable) */
@@ -303,10 +345,7 @@ public:
/* 0x123 */ u8 unk_123;
/* 0x124 */
- //! TODO: fake?
- UnkStruct_027E0C68_UnkSubClass1_Base_0();
-
- UnkStruct_027E0C68_UnkSubClass1_Base_0(unk8 param_2, unk32 param_3, unk32 param_4);
+ UnkStruct_027E0C68_UnkSubClass1_Base_0(unk32 param_2, unk32 param_3, unk32 param_4);
//! TODO: remove the function declarations that are not overridden
/* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_0();
/* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override;
@@ -339,22 +378,11 @@ public:
/* 0x74 */
};
+// astruct_6
class UnkStruct_027E0C68_UnkSubClass1_Base : public UnkStruct_027E0C68_UnkSubClass1_Base_0 {
public:
/* 0x124 */ UnkSubClass1_unk_124* unk_124;
- /* 0x128 */ UnkStruct1* unk_128;
-
- //! TODO: confirm this is part of this class
- /* 0x12C */ u16* unk_12C; // pointer to the current position in the message to display
- /* 0x130 */ unk16 unk_130;
- /* 0x132 */ unk16 unk_132;
- /* 0x134 */ unk32 unk_134;
- /* 0x138 */ unk32 unk_138;
- /* 0x13C */ unk32 unk_13C;
- /* 0x140 */ unk32 unk_140;
- /* 0x144 */ unk32 unk_144;
- /* 0x148 */ unk32 unk_148;
- /* 0x14C */ unk32 unk_14C;
+ /* 0x128 */ UnkSubClass1_UnkownClass2 unk_128;
/* 0x150 */ u8 unk_150[4];
/* 0x154 */ UnkSubClass1_unk_154* unk_154;
/* 0x158 */ unk16 unk_158;
@@ -371,7 +399,7 @@ public:
//! TODO: fake?
UnkStruct_027E0C68_UnkSubClass1_Base();
- UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk8 param_3);
+ UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk16 param_3, unk32 param_4);
//! TODO: remove the function declarations that are not overridden
/* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base();
/* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override;
@@ -403,8 +431,7 @@ public:
/* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override;
/* 0x74 */
- static void func_0203881c(UnkStruct1** param_2);
- static void func_020387e0(unk8* param_2);
+ static void func_020387e0(u8* param_2);
unk32 func_02032fa4(void);
unk32 func_02032fb4(void);
@@ -443,7 +470,6 @@ public:
void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5);
void func_020331c4(unk32, unk32);
unk32 func_02038cf4(void);
- void func_02038b1c(void);
void func_0203947c(void);
unk32 func_0203951c(void);
void func_0203cabc(unk32);
@@ -518,7 +544,6 @@ public:
/* 0x588 */ UnkSubClass1_unk_124 unk_588;
/* 0x5B4 */
-
UnkStruct_027E0C68_UnkSubClass1_Sub1();
//! TODO: remove the function declarations that are not overridden
/* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub1() override;
@@ -557,6 +582,7 @@ public:
unk32 func_02038b78(void);
unk32 func_02039250(void);
void func_02039ca8(void);
+ void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4);
bool func_0203a2c0(void);
unk32 func_0203a30c(void);
bool func_0203a3e0(void);
@@ -687,7 +713,7 @@ extern unk32 data_027e0c38[];
extern "C" void func_0203489c(unk32, unk16, unk32*, unk32*);
extern "C" void func_020347b0(unk32, unk16, unk32*, unk32*, unk32, unk32);
extern THUMB unk32 func_0202ab48(void);
-extern "C" void func_02034984(unk32, unk32, unk32, unk32, unk32);
+extern "C" void func_02034984(unk32, u8, unk32, unk32);
extern "C" void func_02034698(unk32, unk32, unk32*, unk32*);
extern struct TouchControl data_027e0d78;