diff options
| author | Yanis002 <35189056+Yanis002@users.noreply.github.com> | 2025-01-28 18:47:44 +0100 |
|---|---|---|
| committer | Yanis002 <35189056+Yanis002@users.noreply.github.com> | 2025-01-28 18:47:44 +0100 |
| commit | d4e8b81dde4aaa5947b53fffb2e2ba6644e3a860 (patch) | |
| tree | 0bbca161707777013a2917b0053111efa54dded0 /include/Message | |
| parent | 2c350df3b4857f3864ed9a8ee7ebd6242ade7a3a (diff) | |
more ctor/dtor progress
Diffstat (limited to 'include/Message')
| -rw-r--r-- | include/Message/MessageManager.hpp | 85 | ||||
| -rw-r--r-- | include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp | 100 |
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; |
