Decompile Title overlay (#20)

* Decompile Title overlay

* math structs as cpp when applicable

* fixes and improvements

* regressions fix 1

* regressions fix 2
This commit is contained in:
Yanis
2026-01-15 19:04:43 +01:00
committed by GitHub
parent 76c1ec9acf
commit ed672be03f
57 changed files with 1788 additions and 784 deletions
+70 -75
View File
@@ -5,12 +5,7 @@
extern "C" {
void func_020166cc(void *param1, void *param2);
void func_ov000_02062e44(void *param1, void *param2);
//! TODO: conflict between UnkStructSub4, UnkStructSub4_2 and UnkStructSub19
unk32 func_ov000_020609c4(void *thisx);
void func_ov000_0206082c(void *thisx, unk32 param1, unk32 param2);
};
// non-matching
@@ -19,75 +14,75 @@ ARM UnkSubStruct9::UnkSubStruct9(stack_struct1 param1) :
mUnk_064(0x89, 1),
mUnk_29C(0x89, UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_04[param1.param2]),
mUnk_2B4(0x89, 0x15) {
this->mUnk_2CC.mUnk_6E = 1;
this->mUnk_2CC.mUnk_70 = 0;
this->mUnk_2CC.mUnk_5C = 0;
this->mUnk_2CC.mUnk_5E = 0;
this->mUnk_2CC.mUnk_74 = 0;
func_ov000_0206082c(&this->mUnk_2CC, 0x89, 0x00);
this->mUnk_2CC.mUnk_6E = true;
this->mUnk_2CC.mUnk_70 = 0;
this->mUnk_2CC.mUnk_5C.x = 0;
this->mUnk_2CC.mUnk_5C.y = 0;
this->mUnk_2CC.mUnk_74 = 0;
this->mUnk_2CC.func_ov000_0206082c(0x89, 0x00);
this->mUnk_344.mUnk_6E = 1;
this->mUnk_344.mUnk_70 = 0;
this->mUnk_344.mUnk_5C = 0;
this->mUnk_344.mUnk_5E = 0;
this->mUnk_344.mUnk_74 = 0;
func_ov000_0206082c(&this->mUnk_344, 0x89, 0x03);
this->mUnk_344.mUnk_6E = true;
this->mUnk_344.mUnk_70 = 0;
this->mUnk_344.mUnk_5C.x = 0;
this->mUnk_344.mUnk_5C.y = 0;
this->mUnk_344.mUnk_74 = 0;
this->mUnk_344.func_ov000_0206082c(0x89, 0x03);
this->mUnk_3BC.mUnk_6E = 1;
this->mUnk_3BC.mUnk_70 = 0;
this->mUnk_3BC.mUnk_5C = 0;
this->mUnk_3BC.mUnk_5E = 0;
this->mUnk_3BC.mUnk_74 = 0;
func_ov000_0206082c(&this->mUnk_3BC, 0x89, 0x02);
this->mUnk_3BC.mUnk_6E = true;
this->mUnk_3BC.mUnk_70 = 0;
this->mUnk_3BC.mUnk_5C.x = 0;
this->mUnk_3BC.mUnk_5C.y = 0;
this->mUnk_3BC.mUnk_74 = 0;
this->mUnk_3BC.func_ov000_0206082c(0x89, 0x02);
this->mUnk_434.mUnk_6E = 1;
this->mUnk_434.mUnk_70 = 0;
this->mUnk_434.mUnk_5C = 0;
this->mUnk_434.mUnk_5E = 0;
this->mUnk_434.mUnk_74 = 0;
func_ov000_0206082c(&this->mUnk_434, 0x89, 0x01);
this->mUnk_434.mUnk_6E = true;
this->mUnk_434.mUnk_70 = 0;
this->mUnk_434.mUnk_5C.x = 0;
this->mUnk_434.mUnk_5C.y = 0;
this->mUnk_434.mUnk_74 = 0;
this->mUnk_434.func_ov000_0206082c(0x89, 0x01);
this->mUnk_4AC.mUnk_6E = 1;
this->mUnk_4AC.mUnk_70 = 0;
this->mUnk_4AC.mUnk_5C = 0;
this->mUnk_4AC.mUnk_5E = 0;
this->mUnk_4AC.mUnk_74 = 0;
func_ov000_0206082c(&this->mUnk_4AC, 0x89, 0x04);
this->mUnk_4AC.mUnk_6E = true;
this->mUnk_4AC.mUnk_70 = 0;
this->mUnk_4AC.mUnk_5C.x = 0;
this->mUnk_4AC.mUnk_5C.y = 0;
this->mUnk_4AC.mUnk_74 = 0;
this->mUnk_4AC.func_ov000_0206082c(0x89, 0x04);
this->mUnk_524.mUnk_6E = 1;
this->mUnk_524.mUnk_70 = 0;
this->mUnk_524.mUnk_5C = 0;
this->mUnk_524.mUnk_5E = 0;
this->mUnk_524.mUnk_74 = 0;
func_ov000_0206082c(&this->mUnk_524, 0x89, 0x05);
this->mUnk_524.mUnk_6E = true;
this->mUnk_524.mUnk_70 = 0;
this->mUnk_524.mUnk_5C.x = 0;
this->mUnk_524.mUnk_5C.y = 0;
this->mUnk_524.mUnk_74 = 0;
this->mUnk_524.func_ov000_0206082c(0x89, 0x05);
this->mUnk_59C.mUnk_6E = 1;
this->mUnk_59C.mUnk_70 = 0;
this->mUnk_59C.mUnk_5C = 0;
this->mUnk_59C.mUnk_5E = 0;
this->mUnk_59C.mUnk_74 = 0;
func_ov000_0206082c(&this->mUnk_59C, 0x89, 0x06);
this->mUnk_59C.mUnk_6E = true;
this->mUnk_59C.mUnk_70 = 0;
this->mUnk_59C.mUnk_5C.x = 0;
this->mUnk_59C.mUnk_5C.y = 0;
this->mUnk_59C.mUnk_74 = 0;
this->mUnk_59C.func_ov000_0206082c(0x89, 0x06);
this->mUnk_614.mUnk_6E = 1;
this->mUnk_614.mUnk_70 = 0;
this->mUnk_614.mUnk_5C = 0;
this->mUnk_614.mUnk_5E = 0;
this->mUnk_614.mUnk_74 = 0;
func_ov000_0206082c(&this->mUnk_614, 0x89, 0x07);
this->mUnk_614.mUnk_6E = true;
this->mUnk_614.mUnk_70 = 0;
this->mUnk_614.mUnk_5C.x = 0;
this->mUnk_614.mUnk_5C.y = 0;
this->mUnk_614.mUnk_74 = 0;
this->mUnk_614.func_ov000_0206082c(0x89, 0x07);
this->mUnk_68C.mUnk_6E = 1;
this->mUnk_68C.mUnk_70 = 0;
this->mUnk_68C.mUnk_5C = 0;
this->mUnk_68C.mUnk_5E = 0;
this->mUnk_68C.mUnk_74 = 0;
func_ov000_0206082c(&this->mUnk_68C, 0x89, 0x08);
this->mUnk_68C.mUnk_6E = true;
this->mUnk_68C.mUnk_70 = 0;
this->mUnk_68C.mUnk_5C.x = 0;
this->mUnk_68C.mUnk_5C.y = 0;
this->mUnk_68C.mUnk_74 = 0;
this->mUnk_68C.func_ov000_0206082c(0x89, 0x08);
this->mUnk_704.mUnk_6E = 1;
this->mUnk_704.mUnk_70 = 0;
this->mUnk_704.mUnk_5C = 0;
this->mUnk_704.mUnk_5E = 0;
this->mUnk_704.mUnk_74 = 0;
func_ov000_0206082c(&this->mUnk_704, 0x89, 0x09);
this->mUnk_704.mUnk_6E = true;
this->mUnk_704.mUnk_70 = 0;
this->mUnk_704.mUnk_5C.x = 0;
this->mUnk_704.mUnk_5C.y = 0;
this->mUnk_704.mUnk_74 = 0;
this->mUnk_704.func_ov000_0206082c(0x89, 0x09);
if (this->mSaveSlotIndex == 0) {
this->mUnk_004.func_ov000_020633c0(0x40, 0x89, 0x02, 0x1F, 0x89, 0x00);
@@ -131,16 +126,16 @@ ARM void UnkSubStruct9::func_ov019_020cbb40() {
}
ARM void UnkSubStruct9::func_ov019_020cbb94() {
func_ov000_020609c4(&this->mUnk_2CC);
func_ov000_020609c4(&this->mUnk_344);
func_ov000_020609c4(&this->mUnk_3BC);
func_ov000_020609c4(&this->mUnk_434);
func_ov000_020609c4(&this->mUnk_4AC);
func_ov000_020609c4(&this->mUnk_524);
func_ov000_020609c4(&this->mUnk_59C);
func_ov000_020609c4(&this->mUnk_614);
func_ov000_020609c4(&this->mUnk_68C);
func_ov000_020609c4(&this->mUnk_704);
this->mUnk_2CC.func_ov000_020609c4();
this->mUnk_344.func_ov000_020609c4();
this->mUnk_3BC.func_ov000_020609c4();
this->mUnk_434.func_ov000_020609c4();
this->mUnk_4AC.func_ov000_020609c4();
this->mUnk_524.func_ov000_020609c4();
this->mUnk_59C.func_ov000_020609c4();
this->mUnk_614.func_ov000_020609c4();
this->mUnk_68C.func_ov000_020609c4();
this->mUnk_704.func_ov000_020609c4();
}
struct struct_auStack_c0 {