I don't like vfuncs

This commit is contained in:
Yanis002
2025-02-02 22:24:35 +01:00
parent 808b6f311c
commit 91b1c85414
4 changed files with 62 additions and 56 deletions
+2 -2
View File
@@ -1650,7 +1650,7 @@ _ZN31UnkSubClass1_UnkownClass2_Base1C1Ev kind:function(arm,size=0x48) addr:0x203
_ZN12MsgProc_BaseC2Ev 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
_ZN12MsgProc_BaseD2Ev kind:function(thumb,size=0x4) addr:0x2032f94
func_02032f98 kind:function(arm,size=0xc) addr:0x2032f98
func_02032fa4 kind:function(arm,size=0x10) addr:0x2032fa4
func_02032fb4 kind:function(arm,size=0x18) addr:0x2032fb4
@@ -2805,7 +2805,7 @@ data_02057f90 kind:data(any) addr:0x2057f90
data_0205800c kind:data(any) addr:0x205800c
data_02058024 kind:data(any) addr:0x2058024
data_0205803c kind:data(any) addr:0x205803c
data_02058054 kind:data(any) addr:0x2058054
_ZTV13MsgProc_Base2 kind:data(any) addr:0x2058054
data_02058088 kind:data(any) addr:0x2058088
data_02058090 kind:data(any) addr:0x2058090
data_02058094 kind:data(any) addr:0x2058094
+2 -2
View File
@@ -1650,7 +1650,7 @@ _ZN31UnkSubClass1_UnkownClass2_Base1C1Ev kind:function(arm,size=0x48) addr:0x203
_ZN12MsgProc_BaseC2Ev 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
_ZN12MsgProc_BaseD2Ev kind:function(thumb,size=0x4) addr:0x2032f90
func_02032f98 kind:function(arm,size=0xc) addr:0x2032f94
func_02032fa4 kind:function(arm,size=0x10) addr:0x2032fa0
func_02032fb4 kind:function(arm,size=0x18) addr:0x2032fb0
@@ -2806,7 +2806,7 @@ data_02057f90 kind:data(any) addr:0x2057f48
data_0205800c kind:data(any) addr:0x2057fc4
data_02058024 kind:data(any) addr:0x2057fdc
data_0205803c kind:data(any) addr:0x2057ff4
data_02058054 kind:data(any) addr:0x205800c
_ZTV13MsgProc_Base2 kind:data(any) addr:0x205800c
data_02058088 kind:data(any) addr:0x2058040
data_02058090 kind:data(any) addr:0x2058048
data_02058094 kind:data(any) addr:0x205804c
+52 -46
View File
@@ -214,7 +214,7 @@ struct UnkStruct_MsgProc_Base_unk_2C {
/* 0x0C */
};
// astruct_8?
// astruct_8
class MsgProc_Base : public SysObject {
public:
/* 0x000 (vtable) */
@@ -248,15 +248,17 @@ public:
/* 0x052 */
MsgProc_Base();
/* 0x00*/ virtual ~MsgProc_Base();
/* 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?
/* 0x14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3);
/* 0x18 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4);
/* 0x1C */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5);
/* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE);
/* 0x24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE);
/* 0x00 */ virtual ~MsgProc_Base();
/* 0x08 */ /* func_02033030 */ virtual void vfunc_08(unk32* param_2, unk32* param_3);
/* 0x0C */ /* func_02033190 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5);
/* 0x10 */ /* func_020331c4 */ virtual void vfunc_10(u8 param_2, u8 param_3);
/* 0x14 */ /* func_02032fcc */ virtual bool vfunc_14(unk32 param_2, unk32 param_3);
/* 0x18 */ /* func_020332e4 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4);
/* 0x1C */ /* func_02033360 */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5);
/* 0x20 */ /* func_020333e0 */ virtual UNK_TYPE vfunc_20(UNK_TYPE);
/* 0x24 */ /* func_02033af4 */ virtual UNK_TYPE vfunc_24(UNK_TYPE);
//! TODO: fake?
/* 0x28 */ virtual bool vfunc_28(void);
/* 0x2C */ virtual void vfunc_2C(void);
/* 0x30 */ virtual void vfunc_30(void);
@@ -266,7 +268,7 @@ public:
/* 0x40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3);
/* 0x44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY);
/* 0x48 */ virtual void vfunc_48(void);
/* 0x4C */ virtual void vfunc_4C(void); // func_02039a3c?
/* 0x4C */ virtual void vfunc_4C(void);
/* 0x50 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5);
/* 0x54 */ virtual void vfunc_54(void);
/* 0x58 */ virtual void vfunc_58(void);
@@ -369,17 +371,19 @@ public:
MsgProc_Base2(unk32 param_2, unk32 param_3, unk32 param_4);
//! TODO: remove the function declarations that are not overridden
/* 0x00 */ virtual ~MsgProc_Base2();
/* 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;
/* 0x08 */ /* func_0203e2ac */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override;
/* 0x0C */ /* func_02039578 */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override;
/* 0x10 */ /* func_0203e060 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060?
/* 0x14 */ /* func_0203dcb4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override;
/* 0x18 */ /* func_0203e284 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override;
/* 0x1C */ virtual unk32 vfunc_1C(u16* 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;
/* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(void) override;
/* 0x2C */ /* func_0203e19c */ virtual void vfunc_2C(void) override;
/* 0x30 */ /* func_0203e090 */ virtual void vfunc_30(void) override;
//! TODO: fake?
/* 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;
@@ -431,19 +435,21 @@ public:
MsgProc_Main(unk32 param_2, unk16 param_3, unk32 param_4);
//! TODO: remove the function declarations that are not overridden
/* 0x00 */ virtual ~MsgProc_Main();
/* 0x08 */ virtual void vfunc_08(unk32* param_2, unk32* param_3) override;
/* 0x08 */ /* func_02039228 */ 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(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override;
/* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override;
/* 0x1C */ /* func_0203905c */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override;
/* 0x20 */ /* func_020390a4 */ 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;
/* 0x2C */ /* func_02038d20 */ virtual void vfunc_2C(void) override;
/* 0x30 */ /* func_02038ed0 */ virtual void vfunc_30(void) override;
/* 0x34 */ /* func_02038c34 */ virtual unk32 vfunc_34(unk32 param_2) override;
/* 0x38 */ /* func_02039570 */ virtual bool vfunc_38(void) override;
//! TODO: fake?
/* 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;
@@ -589,31 +595,31 @@ public:
/* 0x00 */ virtual ~MsgProc_Type1() 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;
/* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060?
/* 0x10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override;
/* 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(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override;
/* 0x20 */ virtual UNK_TYPE vfunc_20(UNK_TYPE) override;
/* 0x18 */ /* func_0203b264 */ virtual unk32 vfunc_18(UnkStruct_0203b264* param_2, unk32 param_3, unk32 param_4) override;
/* 0x1C */ /* func_0203b310 */ virtual unk32 vfunc_1C(u16* param_2, UnkStruct_0203b264* param_3, unk8 param_4, unk32 param_5) override;
/* 0x20 */ /* func_0203b814 */ 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;
/* 0x2C */ /* func_02039a5c */ 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, UnkSubClass1_02256FF8* 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(s16* 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;
/* 0x38 */ /* func_0203c350 */ virtual bool vfunc_38(void) override;
/* 0x3C */ /* func_02039ccc */ virtual void vfunc_3C(unk32 param_2) override;
/* 0x40 */ /* func_02039d74 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override;
/* 0x44 */ /* func_0203a3fc */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override;
/* 0x48 */ /* func_0203a328 */ virtual void vfunc_48(void) override;
/* 0x4C */ /* func_02039a3c */ virtual void vfunc_4C(void) override;
/* 0x50 */ /* func_0203a7f0 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, UnkSubClass1_02256FF8* param_5) override;
/* 0x54 */ /* func_0203a988 */ virtual void vfunc_54(void) override;
/* 0x58 */ /* func_0203af1c */ virtual void vfunc_58(void) override;
/* 0x5C */ /* func_0203aea8 */ virtual void vfunc_5C(void) override;
/* 0x60 */ /* func_0203b410 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override;
/* 0x64 */ /* func_0203b5d0 */ virtual void vfunc_64(s16* param_2) override;
/* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override;
/* 0x6C */ /* func_0203bdcc */ virtual void vfunc_6C(unk32* param_2, unk32* param_3) override;
/* 0x70 */ /* func_020394d8 */ virtual void vfunc_70(unk32* param_2, unk32* param_3) override;
/* 0x74 */
static bool func_0203c25c(class MsgProc_Type1* param_1);
+6 -6
View File
@@ -8,8 +8,8 @@ extern ARM void func_0203dc74(MsgProc_Main*, unk32, unk32);
extern u32** data_027e0ce0[];
extern u32 data_02056924[];
extern u32* data_02068e6c;
extern u32* data_02068e8c;
extern UnkStruct_MsgProc_Base_unk_2C* data_02068e6c;
extern UnkStruct_MsgProc_Base_unk_2C* data_02068e8c;
extern u16 data_02056918[];
extern ActorTypeId data_0205691c[];
@@ -456,10 +456,10 @@ ARM MsgProc_Main* UnkStruct_027E0C68::func_02036da8(u32 param_2, s16* param_3) {
pBVar5 = this->pGroups;
// pSVar4->vfunc_50(pEVar1, BMG_GET_MSG_ADDR(pBVar5, param_2), (s16*)&iStack_38, 1);
BMGFileInfo* entry = &(pBVar5)->entries[(param_2) >> 0x10];
pSVar4->vfunc_50(pEVar1,
((u32)entry->pDAT1 + (((func_02037258(entry, (((param_2))) & 0xFFFF))->offset) & ~1)),
// BMG_GET_MSG_ADDR(pBVar5, param_2),
(s16*)&iStack_38, 1);
// pSVar4->vfunc_50(pEVar1,
// ((u32)entry->pDAT1 + (((func_02037258(entry, (((param_2))) & 0xFFFF))->offset) & ~1)),
// // BMG_GET_MSG_ADDR(pBVar5, param_2),
// (s16*)&iStack_38, 1);
data_ov000_020eec9c.func_ov000_020d77e4(0x1C);
return pSVar4;