more progress

This commit is contained in:
Yanis002
2025-01-30 16:43:18 +01:00
parent a65697ce56
commit 1c316549d4
3 changed files with 107 additions and 37 deletions
+8 -8
View File
@@ -1947,18 +1947,18 @@ _ZN36UnkStruct_027E0C68_UnkSubClass1_Sub1D0Ev kind:function(arm,size=0x48) addr:
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub1D2Ev kind:function(arm,size=0x40) addr:0x203c310
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub18vfunc_38Ev kind:function(arm,size=0x8) addr:0x203c350
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub3C1Eisi kind:function(thumb,size=0x44) addr:0x203c358
func_0203c39c kind:function(thumb,size=0x78) addr:0x203c39c
func_0203c414 kind:function(arm,size=0x4c) addr:0x203c414
func_0203c460 kind:function(arm,size=0x4c) addr:0x203c460
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub313func_0203c39cEii kind:function(thumb,size=0x78) addr:0x203c39c
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub38vfunc_3CEi kind:function(arm,size=0x4c) addr:0x203c414
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub38vfunc_40Eii kind:function(arm,size=0x4c) addr:0x203c460
func_0203c4ac kind:function(arm,size=0x118) addr:0x203c4ac
func_0203c5c4 kind:function(arm,size=0x18) addr:0x203c5c4
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub38vfunc_14Eii kind:function(arm,size=0x18) addr:0x203c5c4
func_0203c5dc kind:function(arm,size=0x120) addr:0x203c5dc
func_0203c6fc kind:function(arm,size=0x1c) addr:0x203c6fc
func_0203c718 kind:function(arm,size=0x14) addr:0x203c718
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub3D0Ev kind:function(arm,size=0x1c) addr:0x203c6fc
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub3D2Ev kind:function(arm,size=0x14) addr:0x203c718
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub2C1Eisi kind:function(arm,size=0x110) addr:0x203c72c
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub213func_0203c83cEv kind:function(arm,size=0x4) addr:0x203c83c
func_0203c840 kind:function(arm,size=0x30) addr:0x203c840
func_0203c870 kind:function(arm,size=0x38) addr:0x203c870
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub2D2Ev kind:function(arm,size=0x30) addr:0x203c840
_ZN36UnkStruct_027E0C68_UnkSubClass1_Sub2D0Ev kind:function(arm,size=0x38) addr:0x203c870
func_0203c8a8 kind:function(arm,size=0x58) addr:0x203c8a8
func_0203c900 kind:function(arm,size=0x4) addr:0x203c900
func_0203c904 kind:function(arm,size=0x11c) addr:0x203c904
@@ -286,8 +286,10 @@ public:
UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114();
/* 0x00 */ virtual ~UnkStruct_027E0C68_UnkSubClass1_Base_0_unk_114() override;
/* 0x04 */ virtual UNK_TYPE vfunc_04(UNK_TYPE);
/* 0x08 */ virtual UNK_TYPE vfunc_08(UNK_TYPE);
/* 0x08 */ virtual unk32 vfunc_08(void*, s16);
/* 0x0C */
unk32 func_0203d1b4(void);
};
// astruct_7
@@ -477,6 +479,8 @@ public:
unk32 func_0203e284(UnkStruct_0203b264*, unk32, unk32);
void func_0203e2ac(unk32* param_2);
void func_0203fc78(unk32*, unk32*);
s16 func_0203d318(s16, s16);
void func_02038ef4(unk32, unk32);
};
// does it host both choices?
@@ -679,35 +683,39 @@ public:
UnkStruct_027E0C68_UnkSubClass1_Sub3(unk32 param_2, unk16 param_3, unk32 param_4);
//! 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;
/* 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;
/* 0x08 */ /* func_02039228 */ 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_0203c5c4 */ 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 */ /* func_0203905c */ virtual unk32 vfunc_1C(unk8 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 */ /* astruct_8::vfunc_24 */ virtual UNK_TYPE vfunc_24(UNK_TYPE) override;
/* 0x28 */ /* func_0203e0c8 */ virtual bool vfunc_28(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;
/* 0x3C */ /* func_0203c414 */ virtual void vfunc_3C(unk32 param_2) override;
/* 0x40 */ /* func_0203c460 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override;
/* 0x44 */ /* func_02038f40 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override;
/* 0x48 */ /* func_02038b74 */ virtual void vfunc_48(void) override;
/* 0x4C */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c?
/* 0x50 */ /* func_02038f44 */ virtual void vfunc_50(EntryINF1* param_2, u32 param_3, s16* param_4, unk32 param_5) override;
/* 0x54 */ /* func_020392b4 */ virtual void vfunc_54(void) override;
/* 0x58 */ /* func_02039398 */ virtual void vfunc_58(void) override;
/* 0x5C */ /* func_02039058 */ virtual void vfunc_5C(void) override;
/* 0x60 */ /* func_020393a4 */ virtual void vfunc_60(func_0203b410_param_2* param_2, unk32 param_3, unk32 param_4) override;
/* 0x64 */ /* func_020393a8 */ virtual void vfunc_64(unk32 param_2) override;
/* 0x68 */ /* func_020393d0 */ virtual unk32 vfunc_68(unk32 param_2) override;
/* 0x6C */ /* func_0203947c */ 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 */
//! TODO: vfunc_4C?
void func_0203c39c(unk32 param_2, unk32 param_3);
void func_0203c4ac(unk32, unk32);
};
// TEMPORARY
+63 -1
View File
@@ -1229,6 +1229,65 @@ THUMB UnkStruct_027E0C68_UnkSubClass1_Sub3::UnkStruct_027E0C68_UnkSubClass1_Sub3
this->unk_16E = 0;
}
// non-matching
THUMB void UnkStruct_027E0C68_UnkSubClass1_Sub3::func_0203c39c(unk32 param_2, unk32 param_3) {
u16 uVar1;
unk32 uVar2;
s16 uVar3;
s32 iVar4;
s32 local_20;
s32 local_1c [2];
this->func_02038b28();
uVar3 = 0;
for (iVar4 = 0; iVar4 < 2; iVar4++) {
local_1c[0] = 0xC0;
local_20 = 0x10;
if (iVar4 != 0) {
this->func_0203fc78(local_1c, &local_20);
}
uVar1 = this->func_0203d318((s32)(local_1c[0] + 7 + ((u32)(local_1c[0] + 7 >> 2) >> 0x1D)) >> 3,
(s32)(local_20 + 7 + ((u32)(local_20 + 7 >> 2) >> 0x1D)) >> 3);
if (uVar3 < uVar1) {
uVar3 = uVar1;
}
}
if (this->unk_114->vfunc_08(this, uVar3) != 0) {
this->unk_10 = this->unk_114->func_0203d1b4();
}
}
ARM void UnkStruct_027E0C68_UnkSubClass1_Sub3::vfunc_3C(unk32 param_2) {
if (this->unk_15C > 0 && this->unk_122 != 1) {
if (this->func_0203de14(param_2) != 0) {
this->vfunc_40(0, 0);
}
}
}
ARM void UnkStruct_027E0C68_UnkSubClass1_Sub3::vfunc_40(unk32 param_2, unk32 param_3) {
param_2 += this->unk_166;
param_3 += this->unk_168;
this->func_0203c4ac(param_2 + this->unk_16A, param_3 + this->unk_16C);
this->func_02038ef4(param_2, param_3);
}
//! TODO: solve vfunc oddities
extern "C" bool func_0203dcb4(unk32);
// non-matching
ARM bool UnkStruct_027E0C68_UnkSubClass1_Sub3::vfunc_14(unk32 param_2, unk32 param_3) {
return func_0203dcb4(param_2 + this->unk_162);
}
ARM UnkStruct_027E0C68_UnkSubClass1_Sub3::~UnkStruct_027E0C68_UnkSubClass1_Sub3() {
}
// non-matching
ARM UnkStruct_027E0C68_UnkSubClass1_Sub2::UnkStruct_027E0C68_UnkSubClass1_Sub2(unk32 param_2, unk16 param_3, unk32 param_4) :
UnkStruct_027E0C68_UnkSubClass1_Base(1, 0, param_4)
@@ -1251,5 +1310,8 @@ ARM UnkStruct_027E0C68_UnkSubClass1_Sub2::UnkStruct_027E0C68_UnkSubClass1_Sub2(u
this->unk_180[3].func_ov000_020d0644(0x1E, 3, 0x8D, 0, 0);
}
void UnkStruct_027E0C68_UnkSubClass1_Sub2::func_0203c83c(void) {
ARM void UnkStruct_027E0C68_UnkSubClass1_Sub2::func_0203c83c(void) {
}
ARM UnkStruct_027E0C68_UnkSubClass1_Sub2::~UnkStruct_027E0C68_UnkSubClass1_Sub2() {
}