diff --git a/config/eur/arm9/delinks.txt b/config/eur/arm9/delinks.txt index edd1731a..de586ab7 100644 --- a/config/eur/arm9/delinks.txt +++ b/config/eur/arm9/delinks.txt @@ -25,3 +25,6 @@ src/Main/Message/BMG.cpp: .text start:0x020371b0 end:0x0203744c .data start:0x02057b78 end:0x02057cb8 .rodata start:0x02056958 end:0x020569e0 + +src/Main/Message/UnkStruct_027E0C68_UnkSubClass1.cpp: + .text start:0x02038b28 end:0x0203e0f8 diff --git a/config/eur/arm9/symbols.txt b/config/eur/arm9/symbols.txt index 2d313ee3..59d1fb09 100644 --- a/config/eur/arm9/symbols.txt +++ b/config/eur/arm9/symbols.txt @@ -1886,7 +1886,7 @@ func_02038cb8 kind:function(arm,size=0x3c) addr:0x2038cb8 func_02038cf4 kind:function(arm,size=0x1c) addr:0x2038cf4 func_02038d10 kind:function(arm,size=0x10) addr:0x2038d10 func_02038d20 kind:function(arm,size=0x1b0) addr:0x2038d20 -func_02038ed0 kind:function(arm,size=0x24) addr:0x2038ed0 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_02038ed0Ev kind:function(arm,size=0x24) addr:0x2038ed0 func_02038ef4 kind:function(arm,size=0x4c) addr:0x2038ef4 func_02038f40 kind:function(arm,size=0x4) addr:0x2038f40 func_02038f44 kind:function(arm,size=0x114) addr:0x2038f44 @@ -1894,23 +1894,23 @@ func_02039058 kind:function(arm,size=0x4) addr:0x2039058 func_0203905c kind:function(arm,size=0x48) addr:0x203905c func_020390a4 kind:function(arm,size=0x164) addr:0x20390a4 func_02039208 kind:function(arm,size=0x20) addr:0x2039208 -func_02039228 kind:function(arm,size=0x28) addr:0x2039228 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_02039228EPiS0_ kind:function(arm,size=0x28) addr:0x2039228 func_02039250 kind:function(arm,size=0x64) addr:0x2039250 func_020392b4 kind:function(arm,size=0xe4) addr:0x20392b4 func_02039398 kind:function(arm,size=0xc) addr:0x2039398 func_020393a4 kind:function(arm,size=0x4) addr:0x20393a4 func_020393a8 kind:function(arm,size=0x28) addr:0x20393a8 -func_020393d0 kind:function(arm,size=0x70) addr:0x20393d0 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_020393d0Ei kind:function(arm,size=0x70) addr:0x20393d0 func_02039440 kind:function(arm,size=0x3c) addr:0x2039440 func_0203947c kind:function(arm,size=0x5c) addr:0x203947c -func_020394d8 kind:function(arm,size=0x44) addr:0x20394d8 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_020394d8EPiS0_ kind:function(arm,size=0x44) addr:0x20394d8 func_0203951c kind:function(arm,size=0x40) addr:0x203951c func_0203955c kind:function(arm,size=0x14) addr:0x203955c func_02039570 kind:function(arm,size=0x8) addr:0x2039570 -func_02039578 kind:function(arm,size=0x3c) addr:0x2039578 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_02039578Eccci kind:function(arm,size=0x3c) addr:0x2039578 func_020395b4 kind:function(thumb,size=0x244) addr:0x20395b4 func_020397f8 kind:function(thumb,size=0x244) addr:0x20397f8 -func_02039a3c kind:function(thumb,size=0x20) addr:0x2039a3c +_ZN31UnkStruct_027E0C68_UnkSubClass113func_02039a3cEv kind:function(thumb,size=0x20) addr:0x2039a3c func_02039a5c kind:function(arm,size=0x24c) addr:0x2039a5c func_02039ca8 kind:function(arm,size=0x24) addr:0x2039ca8 func_02039ccc kind:function(arm,size=0xa8) addr:0x2039ccc @@ -1918,7 +1918,7 @@ func_02039d74 kind:function(arm,size=0x414) addr:0x2039d74 func_0203a188 kind:function(arm,size=0x138) addr:0x203a188 func_0203a2c0 kind:function(arm,size=0x4c) addr:0x203a2c0 func_0203a30c kind:function(arm,size=0x1c) addr:0x203a30c -func_0203a328 kind:function(arm,size=0x34) addr:0x203a328 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_0203a328Ev kind:function(arm,size=0x34) addr:0x203a328 func_0203a35c kind:function(arm,size=0x84) addr:0x203a35c func_0203a3e0 kind:function(arm,size=0x1c) addr:0x203a3e0 func_0203a3fc kind:function(arm,size=0x2d4) addr:0x203a3fc @@ -1943,7 +1943,7 @@ func_0203c084 kind:function(arm,size=0xb8) addr:0x203c084 func_0203c13c kind:function(arm,size=0x64) addr:0x203c13c func_0203c1a0 kind:function(arm,size=0xbc) addr:0x203c1a0 func_0203c25c kind:function(arm,size=0x6c) addr:0x203c25c -func_0203c2c8 kind:function(arm,size=0x48) addr:0x203c2c8 +_ZN31UnkStruct_027E0C68_UnkSubClass1D0Ev kind:function(arm,size=0x48) addr:0x203c2c8 func_0203c310 kind:function(arm,size=0x40) addr:0x203c310 func_0203c350 kind:function(arm,size=0x8) addr:0x203c350 func_0203c358 kind:function(thumb,size=0x44) addr:0x203c358 diff --git a/config/usa/arm9/symbols.txt b/config/usa/arm9/symbols.txt index 7d2222ed..00f08fd2 100644 --- a/config/usa/arm9/symbols.txt +++ b/config/usa/arm9/symbols.txt @@ -1886,7 +1886,7 @@ func_02038cb8 kind:function(arm,size=0x3c) addr:0x2038c74 func_02038cf4 kind:function(arm,size=0x1c) addr:0x2038cb0 func_02038d10 kind:function(arm,size=0x10) addr:0x2038ccc func_02038d20 kind:function(arm,size=0x1b0) addr:0x2038cdc -func_02038ed0 kind:function(arm,size=0x24) addr:0x2038e8c +_ZN31UnkStruct_027E0C68_UnkSubClass113func_02038ed0Ev kind:function(arm,size=0x24) addr:0x2038e8c func_02038ef4 kind:function(arm,size=0x4c) addr:0x2038eb0 func_02038f40 kind:function(arm,size=0x4) addr:0x2038efc func_02038f44 kind:function(arm,size=0x114) addr:0x2038f00 @@ -1894,23 +1894,23 @@ func_02039058 kind:function(arm,size=0x4) addr:0x2039014 func_0203905c kind:function(arm,size=0x48) addr:0x2039018 func_020390a4 kind:function(arm,size=0x164) addr:0x2039060 func_02039208 kind:function(arm,size=0x20) addr:0x20391c4 -func_02039228 kind:function(arm,size=0x28) addr:0x20391e4 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_02039228EPiS0_ kind:function(arm,size=0x28) addr:0x20391e4 func_02039250 kind:function(arm,size=0x64) addr:0x203920c func_020392b4 kind:function(arm,size=0xe4) addr:0x2039270 func_02039398 kind:function(arm,size=0xc) addr:0x2039354 func_020393a4 kind:function(arm,size=0x4) addr:0x2039360 func_020393a8 kind:function(arm,size=0x28) addr:0x2039364 -func_020393d0 kind:function(arm,size=0x70) addr:0x203938c +_ZN31UnkStruct_027E0C68_UnkSubClass113func_020393d0Ei kind:function(arm,size=0x70) addr:0x203938c func_02039440 kind:function(arm,size=0x3c) addr:0x20393fc func_0203947c kind:function(arm,size=0x5c) addr:0x2039438 -func_020394d8 kind:function(arm,size=0x44) addr:0x2039494 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_020394d8EPiS0_ kind:function(arm,size=0x44) addr:0x2039494 func_0203951c kind:function(arm,size=0x40) addr:0x20394d8 func_0203955c kind:function(arm,size=0x14) addr:0x2039518 func_02039570 kind:function(arm,size=0x8) addr:0x203952c -func_02039578 kind:function(arm,size=0x3c) addr:0x2039534 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_02039578Eccci kind:function(arm,size=0x3c) addr:0x2039534 func_020395b4 kind:function(thumb,size=0x244) addr:0x2039570 func_020397f8 kind:function(thumb,size=0x244) addr:0x20397b4 -func_02039a3c kind:function(thumb,size=0x20) addr:0x20399f8 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_02039a3cEv kind:function(thumb,size=0x20) addr:0x20399f8 func_02039a5c kind:function(arm,size=0x24c) addr:0x2039a18 func_02039ca8 kind:function(arm,size=0x24) addr:0x2039c64 func_02039ccc kind:function(arm,size=0xa8) addr:0x2039c88 @@ -1918,7 +1918,7 @@ func_02039d74 kind:function(arm,size=0x414) addr:0x2039d30 func_0203a188 kind:function(arm,size=0x138) addr:0x203a144 func_0203a2c0 kind:function(arm,size=0x4c) addr:0x203a27c func_0203a30c kind:function(arm,size=0x1c) addr:0x203a2c8 -func_0203a328 kind:function(arm,size=0x34) addr:0x203a2e4 +_ZN31UnkStruct_027E0C68_UnkSubClass113func_0203a328Ev kind:function(arm,size=0x34) addr:0x203a2e4 func_0203a35c kind:function(arm,size=0x84) addr:0x203a318 func_0203a3e0 kind:function(arm,size=0x1c) addr:0x203a39c func_0203a3fc kind:function(arm,size=0x2d4) addr:0x203a3b8 @@ -1943,7 +1943,7 @@ func_0203c084 kind:function(arm,size=0xb8) addr:0x203c040 func_0203c13c kind:function(arm,size=0x64) addr:0x203c0f8 func_0203c1a0 kind:function(arm,size=0xbc) addr:0x203c15c func_0203c25c kind:function(arm,size=0x6c) addr:0x203c218 -func_0203c2c8 kind:function(arm,size=0x48) addr:0x203c284 +_ZN31UnkStruct_027E0C68_UnkSubClass1D0Ev kind:function(arm,size=0x48) addr:0x203c284 func_0203c310 kind:function(arm,size=0x40) addr:0x203c2cc func_0203c350 kind:function(arm,size=0x8) addr:0x203c30c func_0203c358 kind:function(thumb,size=0x44) addr:0x203c314 diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index d6547c2f..2ab2dcc8 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -5,78 +5,7 @@ #include "System/SysNew.hpp" #include "Message/BMG.hpp" - -// temp -#define UNK_TYPE void - -class UnkStruct_027E0C68_UnkSubClass1 : public SysObject { -public: - /* 0x00 (vtable) */ - /* 0x04 */ unk32* unk_04; - /* 0x08 */ unk32* unk_08; - /* 0x0C */ unk32 unk_0C; - /* 0x10 */ unk32 unk_10; - /* 0x14 */ u8 unk_14; - /* 0x15 */ s16* unk_15; - /* 0x16 */ unk16 unk_16; - /* 0x18 */ unk32 unk_18; - /* 0x1C */ unk32 unk_1C; - /* 0x20 */ unk32 unk_20; - /* 0x24 */ unk32 unk_24; - /* 0x28 */ unk32 unk_28; - /* 0x2C */ u32* unk_2C; - /* 0x30 */ unk32 unk_30; - /* 0x34 */ unk32 unk_34; - /* 0x38 */ unk32 unk_38; - /* 0x3C */ unk32 unk_3C; - /* 0x40 */ unk32 unk_40; - /* 0x44 */ unk32 unk_44; - /* 0x48 */ u8 unk_48; - /* 0x49 */ u8 unk_49; - /* 0x4A */ unk16 unk_4A; - /* 0x4C */ unk32 unk_4C; - /* 0x50 */ unk32 unk_50; - /* 0x54 */ unk32 unk_54; - /* 0x58 */ unk32 unk_58; - /* 0x5C */ s16 unk_5C; - /* 0x60 */ unk32 unk_60[0x3D]; - /* 0x15C */ s16 unk_15C; - /* 0x15C */ s16 unk_15E; - /* 0x160 */ unk32 unk_160; - /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1* unk_164; - /* 0x168 */ unk32 unk_168[0xAC]; - /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1* unk_418; - - UnkStruct_027E0C68_UnkSubClass1(); - /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1() override; - /* 0x08 */ virtual UNK_TYPE vfunc_08(void) override; - /* 0x0C */ virtual UNK_TYPE vfunc_0C(void) override; - /* 0x10 */ virtual UNK_TYPE vfunc_10(void) override; - /* 0x14 */ virtual UNK_TYPE vfunc_14(void) override; - /* 0x18 */ virtual UNK_TYPE vfunc_18(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 void vfunc_28(void) override; - /* 0x2C */ virtual void 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; - /* 0x3C */ virtual void vfunc_3C(unk32 param_2) override; - /* 0x40 */ virtual UNK_TYPE vfunc_40(void) override; - /* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override; - /* 0x48 */ virtual UNK_TYPE vfunc_48(void) override; - /* 0x4C */ virtual void vfunc_4C(void) override; - /* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, int param_3, u8* param_4) override; - /* 0x54 */ virtual UNK_TYPE vfunc_54(void) override; - /* 0x58 */ virtual void vfunc_58(void) override; - /* 0x5C */ virtual UNK_TYPE vfunc_5C(void) override; - /* 0x60 */ virtual UNK_TYPE vfunc_60(void) override; - /* 0x64 */ virtual UNK_TYPE vfunc_64(void) override; - /* 0x68 */ virtual UNK_TYPE vfunc_68(void) override; - /* 0x6C */ virtual UNK_TYPE vfunc_6C(void) override; - /* 0x70 */ virtual UNK_TYPE vfunc_70(void) override; -}; +#include "Message/UnkStruct_027E0C68_UnkSubClass1.hpp" class UnkStruct_027E0C68_UnkSubClass2 : public SysObject { public: diff --git a/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp new file mode 100644 index 00000000..534b725f --- /dev/null +++ b/include/Message/UnkStruct_027E0C68_UnkSubClass1.hpp @@ -0,0 +1,112 @@ +#pragma once + +#include "System/SysNew.hpp" +#include "Message/BMG.hpp" + +// temp +#define UNK_TYPE void + +class UnkStruct_027E0C68_UnkSubClass1 : public SysObject { +public: + /* 0x000 (vtable) */ + /* 0x004 */ unk32* unk_04; + /* 0x008 */ unk32* unk_08; + /* 0x00C */ unk32* unk_0C; + /* 0x010 */ unk32* unk_10; + /* 0x014 */ unk32 unk_14; + /* 0x018 */ unk32 unk_18; + /* 0x01C */ unk32 unk_1C; + /* 0x020 */ unk32 unk_20; + /* 0x024 */ unk32* unk_24; + /* 0x028 */ unk32* unk_28; + /* 0x02C */ u32* unk_2C; + /* 0x030 */ unk32 unk_30; + /* 0x034 */ unk32 unk_34; + /* 0x038 */ unk32 unk_38; + /* 0x03C */ unk32 unk_3C; + /* 0x040 */ unk32 unk_40; + /* 0x044 */ unk32 unk_44; + /* 0x048 */ u8 unk_48; + /* 0x049 */ u8 unk_49; + /* 0x04A */ unk16 unk_4A; + /* 0x04C */ unk32 unk_4C; + /* 0x050 */ u8 unk_50; + /* 0x050 */ unk8 unk_51; + /* 0x050 */ unk16 unk_52; + /* 0x054 */ unk32 unk_54; + /* 0x058 */ unk32 unk_58; + /* 0x05C */ s16 unk_5C; + /* 0x05E */ s16 unk_5E; + /* 0x060 */ unk32 unk_60[0x2E]; + /* 0x118 */ s32 unk_118; + /* 0x11C */ unk32 unk_11C[0xD]; + /* 0x150 */ unk8 unk_150; + /* 0x151 */ unk8 unk_151; + /* 0x152 */ unk8 unk_152; + /* 0x153 */ unk8 unk_153; + /* 0x154 */ unk32 unk_154; + /* 0x158 */ unk16 unk_158; + /* 0x15A */ unk16 unk_15A; + /* 0x15C */ s16 unk_15C; + /* 0x15C */ s16 unk_15E; + /* 0x160 */ unk32 unk_160; + /* 0x164 */ UnkStruct_027E0C68_UnkSubClass1* unk_164; + /* 0x168 */ u32 unk_168; + /* 0x16C */ u8 unk_16C[0x84]; + /* 0x1F0 */ u32 unk_1F0; + /* 0x1F4 */ u8 unk_1F4[0x84]; + /* 0x278 */ u32 unk_278; + /* 0x27C */ u8 unk_27C[0x84]; + /* 0x300 */ u32 unk_300; + /* 0x304 */ u8 unk_304[0x84]; + /* 0x388 */ u32 unk_388; + /* 0x38C */ u8 unk_38C[0x84]; + /* 0x410 */ u32 unk_410; + /* 0x414 */ unk32 unk_414; + /* 0x418 */ UnkStruct_027E0C68_UnkSubClass1* unk_418; + + UnkStruct_027E0C68_UnkSubClass1(); + /* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1() override; + /* 0x08 */ virtual UNK_TYPE vfunc_08(void) override; // func_0203c2c8 (dtor?) + /* 0x0C */ virtual void func_02039228(unk32* param_2, unk32* param_3) override; + /* 0x10 */ virtual void func_02039578(unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5) override; + /* 0x14 */ virtual UNK_TYPE func_0203e060(void) override; + /* 0x18 */ virtual UNK_TYPE func_0203dcb4(void) override; + /* 0x1C */ virtual UNK_TYPE func_0203b264(void) override; + /* 0x20 */ virtual UNK_TYPE func_0203b310(void) override; + /* 0x24 */ virtual UNK_TYPE func_0203b814(void) override; + /* 0x28 */ virtual void func_0203e0c8(void) override; + /* 0x2C */ virtual void func_02039a5c(void) override; + /* 0x30 */ virtual void func_02038ed0(void) override; + /* 0x34 */ virtual UNK_TYPE func_02038c34(void) override; + /* 0x38 */ virtual UNK_TYPE func_0203c350(void) override; + /* 0x3C */ virtual void func_02039ccc(unk32 param_2) override; + /* 0x40 */ virtual UNK_TYPE func_02039d74(void) override; + /* 0x44 */ virtual void func_0203a3fc(s32 touchLastX, s32 touchLastY) override; + /* 0x48 */ virtual void func_0203a328(void) override; + /* 0x4C */ virtual void func_02039a3c(void) override; + /* 0x50 */ virtual void func_0203a7f0(EntryINF1* param_2, int param_3, u8* param_4) override; + /* 0x54 */ virtual UNK_TYPE func_0203a988(void) override; + /* 0x58 */ virtual void func_0203af1c(void) override; + /* 0x5C */ virtual UNK_TYPE func_0203aea8(void) override; + /* 0x60 */ virtual UNK_TYPE func_0203b410(void) override; + /* 0x64 */ virtual UNK_TYPE func_0203b5d0(void) override; + /* 0x68 */ virtual unk32 func_020393d0(unk32 param_2) override; + /* 0x6C */ virtual void func_0203bdcc(unk32* param_2, unk32* param_3) override; + /* 0x70 */ virtual void func_020394d8(unk32* param_2, unk32* param_3) override; + /* 0x74 */ + + unk32 func_020337d8(unk32 param_2); + void func_02038b28(void); + void func_0203e090(void); + void func_0203dc10(unk32 param_2, unk32 param_3, unk32 param_4); + void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + + // not sure it belongs to this class: + void func_0203e2ac(unk32* param_2, unk32* param_3); + void func_02033190(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); + void func_02038b40(void); + void func_0203ec34(u32*); + void func_020350ac(u32*); + void func_02038b1c(void); +}; diff --git a/src/Main/Message/MessageManager.cpp b/src/Main/Message/MessageManager.cpp index f314c86d..8a1255bc 100644 --- a/src/Main/Message/MessageManager.cpp +++ b/src/Main/Message/MessageManager.cpp @@ -120,7 +120,7 @@ THUMB void UnkStruct_027E0C68::func_02036490(unk32 param_2, unk32 param_3, unk32 } if (this->unk_28[i] != NULL) { - this->unk_28[i]->vfunc_4C(); + this->unk_28[i]->func_02039a3c(); } } } @@ -311,7 +311,7 @@ ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 p for (i = 0; i < ARRAY_LEN(this->unk_28); i++) { if (this->unk_28[i] != NULL) { - this->unk_28[i]->vfunc_2C(); + this->unk_28[i]->func_02039a5c(); } } @@ -331,7 +331,7 @@ ARM void UnkStruct_027E0C68::func_0203690c(unk32 param_2, unk32 param_3, unk32 p //! TODO: fake? pSVar4 = this->func_02037178((UnkStruct_027E0C68_UnkSubClass1*)this->unk_18[0]); - if (data_027e0c54 != 0 && pSVar4 != NULL && pSVar4->unk_48 != ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0)) { + if (data_027e0c54 != 0 && pSVar4 != NULL && pSVar4->unk_50 != ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0)) { this->unk_04 = 0; } } @@ -370,8 +370,8 @@ ARM void UnkStruct_027E0C68::func_02036bbc(void) { for (i = 0; i < ARRAY_LEN(this->unk_28); i++) { pSVar3 = this->unk_28[i]; - if (pSVar3 != NULL && ((bVar2 && pSVar3->unk_48 == 0) || (bVar4 && pSVar3->unk_48 != 0))) { - pSVar3->vfunc_44(data_027e0d78.mTouchLastX, data_027e0d78.mTouchLastY); + if (pSVar3 != NULL && ((bVar2 && pSVar3->unk_50 == 0) || (bVar4 && pSVar3->unk_50 != 0))) { + pSVar3->func_0203a3fc(data_027e0d78.mTouchLastX, data_027e0d78.mTouchLastY); } } } @@ -381,7 +381,7 @@ ARM void UnkStruct_027E0C68::func_02036c50(unk32 param_2) { for (i = 0; i < ARRAY_LEN(this->unk_28); i++) { if (this->unk_28[i] != NULL && func_0203de14(this->unk_28[i], param_2) != 0) { - this->unk_28[i]->vfunc_28(); + this->unk_28[i]->func_0203e0c8(); } } } @@ -393,7 +393,7 @@ ARM void UnkStruct_027E0C68::func_02036ca4(unk32 param_2) { UnkStruct_027E0C68_UnkSubClass1* pSVar1 = this->unk_28[i]; if (pSVar1 != NULL) { - pSVar1->vfunc_3C(param_2); + pSVar1->func_02039ccc(param_2); } } } @@ -479,7 +479,7 @@ ARM UnkStruct_027E0C68_UnkSubClass1* UnkStruct_027E0C68::func_02036da8(u32 param iStack_34 = param_3[1]; iStack_30 = param_3[2]; pBVar5 = this->pGroups; - pSVar4->vfunc_50(pEVar1, BMG_GET_MSG_ADDR(pBVar5, param_2), &iStack_38); + pSVar4->func_0203a7f0(pEVar1, BMG_GET_MSG_ADDR(pBVar5, param_2), &iStack_38); func_ov000_020d77e4(data_ov000_020eec9c, 0x1C); return pSVar4; @@ -538,7 +538,7 @@ ARM UnkStruct_027E0C68_UnkSubClass1* UnkStruct_027E0C68::func_02036f68(u32 param pSVar5->unk_164 = pSVar2; pSVar5->unk_418 = this->unk_28[5]; - pSVar5->vfunc_50(pEVar1, BMG_GET_MSG_ADDR(this->pGroups, param_2), param_3); + pSVar5->func_0203a7f0(pEVar1, BMG_GET_MSG_ADDR(this->pGroups, param_2), param_3); if (func_ov000_020d7f18(data_ov000_020eec9c, 0x19) == 0 && func_ov000_020d7f18(data_ov000_020eec9c, 0x18) == 0 && func_ov000_020d7f18(data_ov000_020eec9c, 0x34) == 0 && func_ov000_020d7f18(data_ov000_020eec9c, 0x35) == 0 && @@ -584,7 +584,7 @@ ARM void UnkStruct_027E0C68::func_02037158(UnkStruct_027E0C68_UnkSubClass1* para pSVar1 = this->func_02037178(param_2); if (pSVar1 != NULL) { - pSVar1->vfunc_58(); + pSVar1->func_0203af1c(); } } diff --git a/src/Main/Message/UnkStruct_027E0C68_UnkSubClass1.cpp b/src/Main/Message/UnkStruct_027E0C68_UnkSubClass1.cpp new file mode 100644 index 00000000..c5227eef --- /dev/null +++ b/src/Main/Message/UnkStruct_027E0C68_UnkSubClass1.cpp @@ -0,0 +1,152 @@ +#include "Message/UnkStruct_027E0C68_UnkSubClass1.hpp" + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_02038c34(UNK_TYPE) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_02038ed0(void) { + if (this->unk_15C > 0) { + this->func_0203e090(); + } else { + this->unk_118 = -1; + } +} + +// non-matching +ARM void UnkStruct_027E0C68_UnkSubClass1::func_02039228(unk32* param_2, unk32* param_3) { + int temp; + this->unk_15C = 10; + // temp = param_3[2]; + this->unk_152 = 1; + // param_3[0] = param_3[2]; + func_0203e2ac(param_2, param_3); +} + +ARM unk32 UnkStruct_027E0C68_UnkSubClass1::func_020393d0(unk32 param_2) { + switch (param_2) { + case 0: + break; + case 1: + this->unk_34 = 4; + break; + case 2: + this->unk_34 = 6; + break; + case 3: + this->unk_34 = 1; + break; + case 4: + this->unk_34 = 0; + break; + default: + break; + } + + return (this->unk_18 * 8 - this->func_020337d8(param_2)) / 2; +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_020394d8(unk32* param_2, unk32* param_3) { + this->func_0203bdcc(param_2, param_3); + *param_2 += this->unk_158; + *param_3 += this->unk_15A; +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_02039578(unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5) { + this->func_0203dc10(1, param_3, param_4); + this->func_02033190(param_2, param_3, param_4, param_5); +} + +THUMB void UnkStruct_027E0C68_UnkSubClass1::func_02039a3c(void) { + this->func_02038b28(); + this->func_0203dcfc(this->unk_50, 0, 0, 2); +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_02039a5c(UNK_TYPE) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_02039ccc(unk32 param_2) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_02039d74(UNK_TYPE) { + // TODO +} + +// non-matching +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203a328(UNK_TYPE) { + if (this->unk_164 != NULL && this->unk_164->unk_15C > 0) { + this->func_02038b40(); + } + + this->func_0203ec34(&this->unk_410); +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203a3fc(s32 touchLastX, s32 touchLastY) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203a7f0(EntryINF1* param_2, int param_3, u8* param_4) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203a988(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203aea8(UNK_TYPE) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203af1c(void) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b264(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b310(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b410(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b5d0(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203b814(UNK_TYPE) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203bdcc(unk32* param_2, unk32* param_3) { + // TODO +} + +ARM UnkStruct_027E0C68_UnkSubClass1::~UnkStruct_027E0C68_UnkSubClass1() { + this->func_020350ac(&this->unk_388); + this->func_020350ac(&this->unk_300); + this->func_020350ac(&this->unk_278); + this->func_020350ac(&this->unk_1F0); + this->func_020350ac(&this->unk_168); + this->func_02038b1c(); +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203c350(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203dcb4(UNK_TYPE) { + // TODO +} + +ARM UNK_TYPE UnkStruct_027E0C68_UnkSubClass1::func_0203e060(UNK_TYPE) { + // TODO +} + +ARM void UnkStruct_027E0C68_UnkSubClass1::func_0203e0c8(UNK_TYPE) { + // TODO +}