reverse ctor adventure

This commit is contained in:
Yanis002
2025-01-28 01:37:09 +01:00
parent 06a1f74615
commit f04fd8f032
8 changed files with 383 additions and 101 deletions
+7 -7
View File
@@ -1647,7 +1647,7 @@ func_02032e44 kind:function(arm,size=0x1c) addr:0x2032e44
func_02032e60 kind:function(arm,size=0x1c) addr:0x2032e60
func_02032e7c kind:function(arm,size=0x48) addr:0x2032e7c
func_02032ec4 kind:function(arm,size=0x48) addr:0x2032ec4
func_02032f0c kind:function(thumb,size=0x78) addr:0x2032f0c
_ZN38UnkStruct_027E0C68_UnkSubClass1_Base_1C2Ev kind:function(thumb,size=0x78) addr:0x2032f0c
func_02032f84 kind:function(thumb,size=0x4) addr:0x2032f84
func_02032f88 kind:function(thumb,size=0xc) addr:0x2032f88
func_02032f94 kind:function(thumb,size=0x4) addr:0x2032f94
@@ -1733,7 +1733,7 @@ func_02034fc0 kind:function(arm,size=0x14) addr:0x2034fc0
func_02034fd4 kind:function(arm,size=0x38) addr:0x2034fd4
func_0203500c kind:function(arm,size=0x10) addr:0x203500c
func_0203501c kind:function(arm,size=0x48) addr:0x203501c
func_02035064 kind:function(arm,size=0x48) addr:0x2035064
_ZN25UnkSubClass1_UnkownClass1C1Ev kind:function(arm,size=0x48) addr:0x2035064
func_020350ac kind:function(arm,size=0x4) addr:0x20350ac
func_020350b0 kind:function(arm,size=0x4) addr:0x20350b0
func_020350b4 kind:function(arm,size=0xb8) addr:0x20350b4
@@ -1872,7 +1872,7 @@ func_02038888 kind:function(arm,size=0xc8) addr:0x2038888
func_02038950 kind:function(arm,size=0x130) addr:0x2038950
func_02038a80 kind:function(arm,size=0x1c) addr:0x2038a80
func_02038a9c kind:function(thumb,size=0x4) addr:0x2038a9c
func_02038aa0 kind:function(thumb,size=0x5c) addr:0x2038aa0
_ZN36UnkStruct_027E0C68_UnkSubClass1_BaseC1Eic kind:function(thumb,size=0x5c) addr:0x2038aa0
func_02038afc kind:function(thumb,size=0xc) addr:0x2038afc
func_02038b08 kind:function(thumb,size=0x14) addr:0x2038b08
func_02038b1c kind:function(thumb,size=0xc) addr:0x2038b1c
@@ -1908,8 +1908,8 @@ 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
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub18vfunc_0CEhhhi kind:function(arm,size=0x3c) addr:0x2039578
func_020395b4 kind:function(thumb,size=0x244) addr:0x20395b4
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub1C1Ev kind:function(thumb,size=0x244) addr:0x20397f8
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub1C2Eic kind:function(thumb,size=0x244) addr:0x20395b4
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub1C1Eic kind:function(thumb,size=0x244) addr:0x20397f8
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub113func_02039a3cEv kind:function(thumb,size=0x20) addr:0x2039a3c
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub18vfunc_2CEv kind:function(arm,size=0x24c) addr:0x2039a5c
func_02039ca8 kind:function(arm,size=0x24) addr:0x2039ca8
@@ -2024,7 +2024,7 @@ func_0203d848 kind:function(arm,size=0x8c) addr:0x203d848
func_0203d8d4 kind:function(arm,size=0x8c) addr:0x203d8d4
func_0203d960 kind:function(arm,size=0xc0) addr:0x203d960
func_0203da20 kind:function(arm,size=0xc0) addr:0x203da20
func_0203dae0 kind:function(thumb,size=0x98) addr:0x203dae0
_ZN38UnkStruct_027E0C68_UnkSubClass1_Base_0C2Ecii kind:function(thumb,size=0x98) addr:0x203dae0
func_0203db78 kind:function(thumb,size=0x30) addr:0x203db78
func_0203dba8 kind:function(thumb,size=0x38) addr:0x203dba8
func_0203dbe0 kind:function(thumb,size=0x30) addr:0x203dbe0
@@ -2034,7 +2034,7 @@ _ZN36UnkStruct_027E0C68_UnkSubClass1_Sub18vfunc_14Eii kind:function(arm,size=0x4
func_0203dcfc kind:function(arm,size=0xf0) addr:0x203dcfc
func_0203ddec kind:function(arm,size=0x10) addr:0x203ddec
func_0203ddfc kind:function(arm,size=0x18) addr:0x203ddfc
_Z13func_0203de14P31UnkStruct_027E0C68_UnkSubClass1_Sub1i kind:function(arm,size=0x10) addr:0x203de14
_ZN36UnkStruct_027E0C68_UnkSubClass1_Base13func_0203de14Ei kind:function(arm,size=0x10) addr:0x203de14
func_0203de24 kind:function(arm,size=0x34) addr:0x203de24
func_0203de58 kind:function(arm,size=0x208) addr:0x203de58
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub113func_0203e060Ehh kind:function(arm,size=0x30) addr:0x203e060
+5 -5
View File
@@ -1647,7 +1647,7 @@ func_02032e44 kind:function(arm,size=0x1c) addr:0x2032e40
func_02032e60 kind:function(arm,size=0x1c) addr:0x2032e5c
func_02032e7c kind:function(arm,size=0x48) addr:0x2032e78
func_02032ec4 kind:function(arm,size=0x48) addr:0x2032ec0
func_02032f0c kind:function(thumb,size=0x78) addr:0x2032f08
_ZN38UnkStruct_027E0C68_UnkSubClass1_Base_1C2Ev kind:function(thumb,size=0x78) addr:0x2032f08
func_02032f84 kind:function(thumb,size=0x4) addr:0x2032f80
func_02032f88 kind:function(thumb,size=0xc) addr:0x2032f84
func_02032f94 kind:function(thumb,size=0x4) addr:0x2032f90
@@ -1733,7 +1733,7 @@ func_02034fc0 kind:function(arm,size=0x14) addr:0x2034f7c
func_02034fd4 kind:function(arm,size=0x38) addr:0x2034f90
func_0203500c kind:function(arm,size=0x10) addr:0x2034fc8
func_0203501c kind:function(arm,size=0x48) addr:0x2034fd8
func_02035064 kind:function(arm,size=0x48) addr:0x2035020
_ZN25UnkSubClass1_UnkownClass1C1Ev kind:function(arm,size=0x48) addr:0x2035020
func_020350ac kind:function(arm,size=0x4) addr:0x2035068
func_020350b0 kind:function(arm,size=0x4) addr:0x203506c
func_020350b4 kind:function(arm,size=0xb8) addr:0x2035070
@@ -1872,7 +1872,7 @@ func_02038888 kind:function(arm,size=0xc8) addr:0x2038844
func_02038950 kind:function(arm,size=0x130) addr:0x203890c
func_02038a80 kind:function(arm,size=0x1c) addr:0x2038a3c
func_02038a9c kind:function(thumb,size=0x4) addr:0x2038a58
func_02038aa0 kind:function(thumb,size=0x5c) addr:0x2038a5c
_ZN36UnkStruct_027E0C68_UnkSubClass1_BaseC1Eic kind:function(thumb,size=0x5c) addr:0x2038a5c
func_02038afc kind:function(thumb,size=0xc) addr:0x2038ab8
func_02038b08 kind:function(thumb,size=0x14) addr:0x2038ac4
func_02038b1c kind:function(thumb,size=0xc) addr:0x2038ad8
@@ -1908,7 +1908,7 @@ 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
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub18vfunc_0CEhhhi kind:function(arm,size=0x3c) addr:0x2039534
func_020395b4 kind:function(thumb,size=0x244) addr:0x2039570
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub1C2Ev kind:function(thumb,size=0x244) addr:0x2039570
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub1C1Ev kind:function(thumb,size=0x244) addr:0x20397b4
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub113func_02039a3cEv kind:function(thumb,size=0x20) addr:0x20399f8
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub18vfunc_2CEv kind:function(arm,size=0x24c) addr:0x2039a18
@@ -2034,7 +2034,7 @@ _ZN36UnkStruct_027E0C68_UnkSubClass1_Sub18vfunc_14Eii kind:function(arm,size=0x4
func_0203dcfc kind:function(arm,size=0xf0) addr:0x203dcb8
func_0203ddec kind:function(arm,size=0x10) addr:0x203dda8
func_0203ddfc kind:function(arm,size=0x18) addr:0x203ddb8
_Z13func_0203de14P31UnkStruct_027E0C68_UnkSubClass1_Sub1i kind:function(arm,size=0x10) addr:0x203ddd0
_ZN36UnkStruct_027E0C68_UnkSubClass1_Base13func_0203de14Ei kind:function(arm,size=0x10) addr:0x203ddd0
func_0203de24 kind:function(arm,size=0x34) addr:0x203dde0
func_0203de58 kind:function(arm,size=0x208) addr:0x203de14
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub113func_0203e060Ehh kind:function(arm,size=0x30) addr:0x203e01c
@@ -79,6 +79,7 @@ public:
/* 0x84 */ unk32 unk_84;
/* 0x88 */
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);
@@ -88,9 +89,22 @@ public:
void func_020352d8(void);
};
class UnknownClass2 : public SysObject {
public:
/* 0x00 (vtable) */
/* 0x04 */ unk32* unk_04;
/* 0x08 */
UnknownClass2();
/* 0x00 */ virtual ~UnknownClass2();
/* 0x08 */ virtual UNK_TYPE vfunc_08(UNK_TYPE);
/* 0x0C */ virtual UNK_TYPE vfunc_0C(UNK_TYPE);
/* 0x10 */
};
class UnkSubClass1_unk_410 {
public:
/* 0x00 */ unk32 unk_00;
/* 0x00 */ struct UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_00;
/* 0x04 */
void func_0203ec34(void);
@@ -98,9 +112,10 @@ public:
void func_0203ebf8(void);
};
// same as UnkSubClass1_unk_410?
class UnkSubClass1_unk_424 {
public:
/* 0x00 */ unk32 unk_00;
/* 0x00 */ struct UnkStruct_027E0C68_UnkSubClass1_Sub1* unk_00;
/* 0x04 */
void func_0203ee80(unk32);
@@ -111,22 +126,21 @@ public:
class UnkSubClass1_unk_124 {
public:
/* 0x00 */ unk32 unk_00;
/* 0x00 */ unk32 unk_04;
/* 0x00 */ unk32 unk_08;
/* 0x00 */ unk32 unk_0C;
/* 0x00 */ unk32 unk_10;
/* 0x00 */ unk32 unk_14;
/* 0x00 */ unk32 unk_18;
/* 0x00 */ unk32 unk_1C;
/* 0x00 */ unk32 unk_20;
/* 0x00 */ unk32 unk_24;
/* 0x00 */ unk8 unk_28;
/* 0x00 */ unk8 unk_29;
/* 0x00 */ unk8 unk_2A;
/* 0x00 */ unk8 unk_2B;
/* 0x00 */ unk32 unk_2C;
/* 0x04 */
/* 0x00 */ void* unk_00; // pointer to UnkStruct_027E0C68_UnkSubClass1_Base (well, the first members of the base class)
/* 0x04 */ unk32 unk_04;
/* 0x08 */ unk32 unk_08;
/* 0x0C */ unk32 unk_0C;
/* 0x10 */ unk32 unk_10;
/* 0x14 */ unk32 unk_14;
/* 0x18 */ unk32 unk_18;
/* 0x1C */ unk32 unk_1C;
/* 0x20 */ unk32 unk_20;
/* 0x24 */ unk32 unk_24;
/* 0x28 */ unk8 unk_28;
/* 0x29 */ unk8 unk_29;
/* 0x2A */ unk8 unk_2A;
/* 0x2B */ unk8 unk_2B;
/* 0x2C */
void func_0203f020(unk32, unk32);
};
@@ -161,7 +175,7 @@ public:
/* 0x3C */
};
class UnkStruct_027E0C68_UnkSubClass1_Base : public SysObject {
class UnkStruct_027E0C68_UnkSubClass1_Base_1 : public SysObject {
public:
/* 0x000 (vtable) */
/* 0x004 */ unk32* unk_04;
@@ -178,56 +192,22 @@ public:
/* 0x030 */ unk32 unk_30;
/* 0x034 */ unk32 unk_34;
/* 0x038 */ unk32 unk_38;
/* 0x03C */ unk32 unk_3C;
/* 0x03C */ unk16 unk_3C;
/* 0x03E */ unk16 unk_3E;
/* 0x040 */ unk32 unk_40;
/* 0x044 */ unk32 unk_44;
/* 0x048 */ u8 unk_48;
/* 0x049 */ u8 unk_49;
/* 0x04A */ unk16 unk_4A;
/* 0x04C */ unk32 unk_4C;
/* 0x04C */ unk8 unk_4C;
/* 0x04C */ unk8 unk_4D;
/* 0x04C */ unk8 unk_4E;
/* 0x04C */ unk8 unk_4F;
/* 0x050 */ u8 unk_50;
/* 0x051 */ unk8 unk_51;
/* 0x052 */ 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 */ unk8 unk_11C;
/* 0x11D */ unk8 unk_11D;
/* 0x11E */ u8 unk_11E;
/* 0x11F */ unk8 unk_11F;
/* 0x120 */ u8 unk_120;
/* 0x120 */ u8 unk_121;
/* 0x122 */ u8 unk_122;
/* 0x122 */ u8 unk_123;
/* 0x124 */ UnkSubClass1_unk_124* unk_124;
/* 0x128 */ UnkStruct1* unk_128;
//! TODO: confirm this is part of the base 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;
/* 0x150 */ unk8 unk_150;
/* 0x151 */ u8 unk_151;
/* 0x152 */ unk8 unk_152;
/* 0x153 */ unk8 unk_153;
/* 0x154 */ UnkSubClass1_unk_154* unk_154;
/* 0x158 */ unk16 unk_158;
/* 0x15A */ unk16 unk_15A;
/* 0x15C */ s16 unk_15C;
/* 0x15E */
UnkStruct_027E0C68_UnkSubClass1_Base();
/* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base();
UnkStruct_027E0C68_UnkSubClass1_Base_1();
/* 0x00*/ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_1();
/* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3);
/* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5);
/* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3); // func_0203e060?
@@ -256,6 +236,147 @@ public:
/* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3);
/* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3);
/* 0x74 */
};
class UnkStruct_027E0C68_UnkSubClass1_Base_0 : public UnkStruct_027E0C68_UnkSubClass1_Base_1 {
public:
/* 0x052 */ unk16 unk_52;
/* 0x054 */ unk32 unk_54;
/* 0x058 */ unk32 unk_58;
/* 0x05C */ s16 unk_5C;
/* 0x05E */ s16 unk_5E;
/* 0x060 */ unk32 unk_60;
/* 0x064 */ unk32 unk_64;
/* 0x068 */ unk32 unk_68;
/* 0x06C */ unk32 unk_6C;
/* 0x070 */ unk32 unk_70;
/* 0x074 */ unk32 unk_74;
/* 0x078 */ unk32 unk_78;
/* 0x07C */ unk32 unk_7C;
/* 0x080 */ unk32 unk_80;
/* 0x084 */ unk32 unk_84;
/* 0x088 */ unk32 unk_88;
/* 0x08C */ unk32 unk_8C;
/* 0x090 */ unk32 unk_90;
/* 0x094 */ unk32 unk_94;
/* 0x098 */ unk32 unk_98;
/* 0x09C */ unk32 unk_9C;
/* 0x100 */ unk32 unk_100;
/* 0x104 */ unk32 unk_104;
/* 0x108 */ unk32 unk_108;
/* 0x10C */ unk32 unk_10C;
/* 0x110 */ unk32 unk_110;
/* 0x118 */ void* unk_114;
/* 0x118 */ s32 unk_118;
/* 0x11C */ unk8 unk_11C;
/* 0x11D */ unk8 unk_11D;
/* 0x11E */ u8 unk_11E;
/* 0x11F */ unk8 unk_11F;
/* 0x120 */ u8 unk_120;
/* 0x121 */ u8 unk_121;
/* 0x122 */ u8 unk_122;
/* 0x123 */ u8 unk_123;
/* 0x124 */
UnkStruct_027E0C68_UnkSubClass1_Base_0(unk8 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;
/* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override;
/* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060?
/* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override;
/* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override;
/* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override;
/* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override;
/* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override;
/* 0x28 */ virtual bool vfunc_28(void) override;
/* 0x2C */ virtual void vfunc_2C(void) override;
/* 0x30 */ virtual void vfunc_30(void) override;
/* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override;
/* 0x38 */ virtual bool vfunc_38(void) override;
/* 0x3C */ virtual void vfunc_3C(unk32 param_2) override;
/* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override;
/* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override;
/* 0x48 */ virtual void vfunc_48(void) override;
/* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c?
/* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override;
/* 0x54 */ virtual void vfunc_54(void) override;
/* 0x58 */ virtual void vfunc_58(void) override;
/* 0x5C */ virtual void vfunc_5C(void) override;
/* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override;
/* 0x64 */ virtual void vfunc_64(unk32 param_2) override;
/* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override;
/* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override;
/* 0x70 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override;
/* 0x74 */
};
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 the base 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;
/* 0x150 */ unk8 unk_150[4];
/* 0x154 */ UnkSubClass1_unk_154* unk_154;
/* 0x158 */ unk16 unk_158;
/* 0x15A */ unk16 unk_15A;
/* 0x15C */ s16 unk_15C;
/* 0x15E */ s8 unk_15E;
/* 0x15F */ s8 unk_15F;
/* 0x160 */ unk8 unk_160;
/* 0x160 */ unk8 unk_161;
/* 0x160 */ unk8 unk_162;
/* 0x160 */ unk8 unk_163;
/* 0x164 */
//! TODO: fake?
UnkStruct_027E0C68_UnkSubClass1_Base();
UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk8 param_3);
//! 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;
/* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override;
/* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060?
/* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override;
/* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override;
/* 0x1C */ virtual unk32 vfunc_1C(unk8 param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override;
/* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override;
/* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override;
/* 0x28 */ virtual bool vfunc_28(void) override;
/* 0x2C */ virtual void vfunc_2C(void) override;
/* 0x30 */ virtual void vfunc_30(void) override;
/* 0x34 */ virtual unk32 vfunc_34(unk32 param_2) override;
/* 0x38 */ virtual bool vfunc_38(void) override;
/* 0x3C */ virtual void vfunc_3C(unk32 param_2) override;
/* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override;
/* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override;
/* 0x48 */ virtual void vfunc_48(void) override;
/* 0x4C */ virtual void vfunc_4C(void) override; // func_02039a3c?
/* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override;
/* 0x54 */ virtual void vfunc_54(void) override;
/* 0x58 */ virtual void vfunc_58(void) override;
/* 0x5C */ virtual void vfunc_5C(void) override;
/* 0x60 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override;
/* 0x64 */ virtual void vfunc_64(unk32 param_2) override;
/* 0x68 */ virtual unk32 vfunc_68(unk32 param_2) override;
/* 0x6C */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override;
/* 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);
unk32 func_02032fa4(void);
unk32 func_02032fb4(void);
@@ -307,9 +428,6 @@ public:
class UnkStruct_027E0C68_UnkSubClass1_Sub1 : public UnkStruct_027E0C68_UnkSubClass1_Base {
public:
/* 0x15E */ s8 unk_15E;
/* 0x15F */ s8 unk_15F;
/* 0x160 */ unk32 unk_160;
/* 0x164 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_164;
/* 0x168 */ UnkSubClass1_UnkownClass1 unk_168;
/* 0x1F0 */ UnkSubClass1_UnkownClass1 unk_1F0;
@@ -319,18 +437,36 @@ public:
/* 0x410 */ UnkSubClass1_unk_410 unk_410;
/* 0x414 */ unk32 unk_414;
/* 0x418 */ UnkStruct_027E0C68_UnkSubClass1_Base* unk_418;
/* 0x41C */ unk32 unk_41C;
/* 0x420 */ unk32 unk_420;
/* 0x41C */ unk16 unk_41C;
/* 0x41C */ unk16 unk_41E;
/* 0x420 */ unk16 unk_420;
/* 0x420 */ unk16 unk_422;
/* 0x424 */ UnkSubClass1_unk_424 unk_424;
/* 0x428 */ u16* unk_428;
/* 0x42C */ unk32 unk_42C;
/* 0x430 */ unk32 unk_430;
/* 0x434 */ u8 unk_434[0xF4];
/* 0x528 */ s16* unk_528;
/* 0x52C */ u8 unk_52C[0x30];
/* 0x528 */ u16* unk_528;
/* 0x52C */ u8 unk_52C;
/* 0x55C */ unk32 unk_530;
/* 0x55C */ unk32 unk_534;
/* 0x55C */ unk32 unk_538;
/* 0x55C */ unk32 unk_53C;
/* 0x55C */ unk32 unk_540;
/* 0x55C */ unk8 unk_544;
/* 0x55C */ unk8 unk_545;
/* 0x55C */ unk8 unk_546;
/* 0x55C */ unk8 unk_547;
/* 0x55C */ unk32 unk_548;
/* 0x55C */ unk32 unk_54C;
/* 0x55C */ unk32 unk_550;
/* 0x55C */ unk32 unk_554;
/* 0x55C */ unk8 unk_558;
/* 0x55C */ unk8 unk_559;
/* 0x55C */ unk8 unk_55A;
/* 0x55C */ unk8 unk_55B;
/* 0x55C */ unk32 unk_55C;
/* 0x560 */ unk16 unk_560;
/* 0x560 */ unk16 unk_562;
/* 0x560 */ unk32 unk_560;
/* 0x564 */ unk32 unk_564;
/* 0x568 */ unk32 unk_568;
/* 0x56C */ unk16 unk_56C;
@@ -338,12 +474,11 @@ public:
/* 0x570 */ unk16 unk_570;
/* 0x572 */ u16 unk_572;
/* 0x574 */ s16 unk_574;
/* 0x576 */ u8 unk_576;
/* 0x577 */ u8 unk_577;
/* 0x578 */ u8 unk_578;
/* 0x579 */ u8 unk_579;
/* 0x576 */ unk16 unk_576;
/* 0x578 */ s16 unk_578;
// /* 0x579 */ u8 unk_579;
/* 0x57A */ u8 unk_57A;
/* 0x57B */ u8 unk_57B;
/* 0x57B */ s8 unk_57B;
/* 0x57C */ u8 unk_57C;
/* 0x57D */ u8 unk_57D;
/* 0x57E */ u8 unk_57E;
@@ -355,12 +490,13 @@ public:
/* 0x584 */ u8 unk_584;
/* 0x585 */ u8 unk_585;
/* 0x586 */ u8 unk_586;
/* 0x588 */ u8 unk_588[0x2C];
/* 0x586 */ u8 unk_587;
/* 0x588 */ UnkSubClass1_unk_124 unk_588;
/* 0x5B4 */
//! TODO: remove the function declarations that are not overridden
UnkStruct_027E0C68_UnkSubClass1_Sub1();
//! TODO: remove the function declarations that are not overridden
/* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub1() override;
/* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override;
/* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override;
@@ -393,16 +529,17 @@ public:
void func_0203e060(u8 param_2, u8 param_3);
void func_02039a3c(void);
void func_02039ca8(void);
};
class UnkStruct_027E0C68_UnkSubClass1_Sub2 : public UnkStruct_027E0C68_UnkSubClass1_Base {
public:
/* 0x15E */ u8 unk_15E[0x62];
/* 0x164 */ u8 unk_164[0x5C];
/* 0x1C0 */
//! TODO: remove the function declarations that are not overridden
UnkStruct_027E0C68_UnkSubClass1_Sub2();
//! TODO: remove the function declarations that are not overridden
/* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub2();
/* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override;
/* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override;
@@ -437,12 +574,11 @@ public:
class UnkStruct_027E0C68_UnkSubClass1_Sub3 : public UnkStruct_027E0C68_UnkSubClass1_Base {
public:
/* 0x15E */ u8 unk_15E[0x12];
/* 0x164 */ u8 unk_164[0xC];
/* 0x170 */
//! TODO: remove the function declarations that are not overridden
UnkStruct_027E0C68_UnkSubClass1_Sub3();
//! TODO: remove the function declarations that are not overridden
/* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Sub3();
/* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override;
/* 0x0C */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override;
@@ -38,7 +38,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_30(void) {
// non-matching
ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_08(unk32* param_2, unk32* param_3) {
this->unk_15C = 10;
this->unk_152 = 1;
this->unk_150[2] = 1;
this->func_0203e2ac(param_3);
}
+25
View File
@@ -5,3 +5,28 @@
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Player/TouchControl.hpp"
#include "Item/ItemManager.hpp"
extern "C" void func_020078f4(unk32, void*, unk32);
extern "C" void func_020078c0(unk32, void*, unk32);
THUMB UnkStruct_027E0C68_UnkSubClass1_Base_1::UnkStruct_027E0C68_UnkSubClass1_Base_1() {
this->unk_04 = 0;
this->unk_08 = 0;
this->unk_0C = NULL;
this->unk_38 = 0;
this->unk_3C = 0;
this->unk_4A = 0;
this->unk_4C = 0;
this->unk_4D = 0;
this->unk_4E = 0;
this->unk_4F = 0;
this->unk_50 = 0;
this->unk_51 = 0;
func_020078f4(0, &this->unk_10, 0x18);
func_020078f4(0, &this->unk_28, 0x10);
func_020078c0(0, &this->unk_3E, 0xC);
this->unk_10 = NULL;
this->unk_2C = NULL;
this->unk_30 = 2;
this->unk_34 = 3;
}
+13
View File
@@ -5,3 +5,16 @@
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Player/TouchControl.hpp"
#include "Item/ItemManager.hpp"
THUMB UnkStruct_027E0C68_UnkSubClass1_Base::UnkStruct_027E0C68_UnkSubClass1_Base(unk32 param_2, unk8 param_3) {
this->unk_124 = 0;
this->func_0203881c(&this->unk_128);
this->func_020387e0(this->unk_150);
this->unk_154 = 0;
this->unk_15A = 0;
this->unk_15C = 0;
this->unk_15E = 0xff;
this->unk_15F = 0xff;
this->unk_160 = 1;
this->unk_11E = param_3;
}
+75 -5
View File
@@ -6,6 +6,76 @@
#include "Player/TouchControl.hpp"
#include "Item/ItemManager.hpp"
extern "C" void func_ov000_020d0460(void*);
extern "C" void func_0203efd8(void*, void*);
extern "C" void func_0203ee48(void*);
THUMB UnkStruct_027E0C68_UnkSubClass1_Sub1::UnkStruct_027E0C68_UnkSubClass1_Sub1() : unk_164(NULL) {
u16** ppuVar3;
this->unk_410.unk_00 = this;
this->unk_414 = 0;
this->unk_418 = NULL;
this->unk_41C = 0;
this->unk_41E = 0;
this->unk_420 = 0;
this->unk_424.unk_00 = this;
// ???
ppuVar3 = &this->unk_428;
do {
*ppuVar3 = NULL;
ppuVar3 += 2;
} while (ppuVar3 < &this->unk_528);
func_0203ee48(&this->unk_424);
func_ov000_020d0460(&this->unk_534);
this->unk_53C = 0;
this->unk_540 = ~0x7FFF;
this->unk_544 = 3;
func_ov000_020d0460(&this->unk_548);
this->unk_550 = 0;
this->unk_554 = 0x00016000;
this->unk_558 = 3;
this->unk_55C = -1;
this->unk_560 = -1;
this->unk_56C = 0;
this->unk_56E = 0;
this->unk_570 = 0;
this->unk_572 = 0;
this->unk_574 = 0;
this->unk_576 = 0;
this->unk_578 = 3;
this->unk_57A = 0;
this->unk_57B = -1;
this->unk_57C = 0;
this->unk_57D = 0;
this->unk_57E = 0;
this->unk_57F = 0;
this->unk_580 = 0;
this->unk_581 = 0;
this->unk_582 = 0;
this->unk_583 = 0;
this->unk_585 = 0;
this->unk_586 = 0;
func_0203efd8(&this->unk_588, this);
this->unk_124 = (UnkSubClass1_unk_124*)&this->unk_588;
this->func_02039ca8();
if (this->func_02032fa4() != 0) {
this->unk_168.func_020350b4(0x39, 0, 2, 0, 0);
this->unk_1F0.func_020350b4(0x33, 0, 2, 0, 0);
this->unk_278.func_020350b4(0x33, 1, 2, 0, 0);
} else {
this->unk_168.func_020350b4(0x34, 0, 2, 0, 0);
this->unk_1F0.func_020350b4(0x32, 0, 2, 0, 0);
this->unk_278.func_020350b4(0x32, 1, 2, 0, 0);
}
this->unk_168.func_020351b8(true, false, false, false);
this->unk_1F0.func_020351b8(false, false, false, false);
this->unk_278.func_020351b8(false, false, false, false);
}
THUMB void UnkStruct_027E0C68_UnkSubClass1_Sub1::func_02039a3c(void) {
this->func_02038b28();
@@ -71,7 +141,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_2C(void) {
if (this->unk_15C == 1) {
if (this->unk_586 == ((data_02056be4[data_027e077c.mUnk_0] & 1) != 0) ) {
switch (this->unk_151) {
switch (this->unk_150[1]) {
case 0:
this->func_0203b0ec(1);
break;
@@ -265,7 +335,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_44(s32 touchLastX, s32 touc
}
if (data_027e0d78.mTouch == 0) {
switch(this->unk_151) {
switch(this->unk_150[1]) {
case 3:
case 4:
break;
@@ -400,7 +470,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_54(void) {
}
this->unk_424.func_0203ee48();
this->unk_151 = 1;
this->unk_150[1] = 1;
puVar3 = this->unk_12C;
local_54[0] = puVar3;
iVar2 = 0;
@@ -442,7 +512,7 @@ ARM void UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_54(void) {
// this->unk_580 = 1;
// } else {
// this->unk_151 = 4
// this->unk_150[1] = 4
// }
// break;
// case 5:
@@ -668,7 +738,7 @@ ARM unk32 UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_1C(unk8 param_2, UnkStruct
this->unk_574++;
if (this->func_0203a30c() == 0) {
this->unk_153 = 1;
this->unk_150[3] = 1;
}
}
+38
View File
@@ -6,6 +6,44 @@
#include "Player/TouchControl.hpp"
#include "Item/ItemManager.hpp"
extern u32 *data_027e0ce0[];
extern "C" void func_02007938(unk32, unk32, unk32, unk32, unk32);
extern "C" UnknownClass2* func_0203d1d0(void);
extern "C" UnknownClass2* func_0203d254(void);
THUMB UnkStruct_027E0C68_UnkSubClass1_Base_0::UnkStruct_027E0C68_UnkSubClass1_Base_0(unk8 param_2, unk32 param_3, unk32 param_4) {
UnknownClass2 *pvVar1;
this->unk_114 = NULL;
this->unk_118 = -1;
this->unk_11C = 0;
this->unk_11E = 0;
this->unk_11F = 0;
this->unk_120 = 1;
this->unk_121 = param_2;
this->unk_122 = 0;
func_02007938(0, this->unk_54, 0xc0, 1, param_4);
if (this->unk_10[this->unk_121 - 0x10] == '\0') {
// pvVar1 = new(*data_027e0ce0[0], 4) UnknownClass2();
if (pvVar1 != NULL) {
pvVar1 = func_0203d1d0();
}
this->unk_114 = pvVar1;
} else {
// pvVar1 = new(*data_027e0ce0[0], 4) UnknownClass2();
if (pvVar1 != NULL) {
pvVar1 = func_0203d254();
}
this->unk_114 = pvVar1;
}
}
// non-matching
ARM bool UnkStruct_027E0C68_UnkSubClass1_Sub1::vfunc_14(unk32 param_2, unk32 param_3) {
unk32 uVar1;