mirror of
https://github.com/zeldaret/st
synced 2026-05-23 15:01:41 -04:00
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:
@@ -13,13 +13,7 @@
|
||||
|
||||
extern "C" {
|
||||
void func_020249d4(void *pReg, unk32 param1, unk32 param2, unk32 param3, unk32 param4);
|
||||
|
||||
void func_ov000_02062e44(void *param1, void *param2);
|
||||
|
||||
//! TODO: conflict between UnkStructSub4, UnkStructSub4_2 and UnkStructSub19
|
||||
unk32 func_ov000_020609c4(void *thisx);
|
||||
unk32 func_ov000_02060af8(void *thisx);
|
||||
void func_ov000_0206082c(void *thisx, unk32 param1, unk32 param2);
|
||||
};
|
||||
|
||||
class UnkStruct_ov019_020d24c0 {
|
||||
@@ -39,7 +33,7 @@ public:
|
||||
UnkStruct_ov019_020d24c0 data_ov019_020d24c0(-0x100, 0, 0x100, 0);
|
||||
|
||||
UnkStruct_ov019_020d1e4c UnkStruct_ov019_020d1e70::data_ov019_020d1e4c = {
|
||||
0x14, 0x14, 0x14, 0x04, 0x03, -0x47, 0x00, 0x0281, -0x47, {0x00, 0x00}, 0x0281,
|
||||
0x14, 0x14, 0x14, 0x04, 0x03, -0x47, 0x00, 0x0281, -0x47, Vec2s(0x00, 0x00), 0x0281,
|
||||
};
|
||||
|
||||
UnkStruct_ov019_020d1e94 UnkStruct_ov019_020d1e70::data_ov019_020d1e94 = {
|
||||
@@ -240,7 +234,7 @@ ARM void FileSelectMain::func_ov019_020c6d08() {}
|
||||
ARM void FileSelectMain::func_ov019_020c6d0c() {}
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020c6d10() {
|
||||
CALL_PTMF(FileSelectMain, data_ov019_020d1edc[this->mState]);
|
||||
CALL_PTMF(PTMF<FileSelectMain>, data_ov019_020d1edc[this->mState]);
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/EuA67
|
||||
@@ -304,8 +298,8 @@ ARM void FileSelectMain::func_ov019_020c6e3c() {
|
||||
unaff_r4 = 0;
|
||||
UnkStruct_ov019_020d24c8_28_258 local_3c(0x8A, 0x05);
|
||||
|
||||
local_40.x = local_3c.mPos.x;
|
||||
local_40.y = local_3c.mPos.y;
|
||||
local_40.x = local_3c.mPosU.x;
|
||||
local_40.y = local_3c.mPosU.y;
|
||||
|
||||
unaff_r9 = 10;
|
||||
func_ov000_02062e44(auStack_50, &this->GetUnk03E0(fileIndex).mUnk_004);
|
||||
@@ -723,8 +717,8 @@ ARM void FileSelectMain::func_ov019_020c77b8() {
|
||||
this->func_ov019_020c6c54();
|
||||
this->func_ov019_020c6ca0();
|
||||
this->func_ov019_020c757c();
|
||||
func_ov000_0206082c(&this->mUnk_1144, 0x8B, 0);
|
||||
func_ov000_0206082c(&this->mUnk_155C, 0x8B, 2);
|
||||
this->mUnk_1144.func_ov000_0206082c(0x8B, 0);
|
||||
this->mUnk_155C.func_ov000_0206082c(0x8B, 2);
|
||||
}
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020c7804() {
|
||||
@@ -758,9 +752,9 @@ ARM void FileSelectMain::func_ov019_020c7878() {
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020c78ac() {
|
||||
if (this->mExitMode == FileSelectExitMode_AdventureMode) {
|
||||
func_ov000_0206082c(&this->mUnk_1144, 0x8B, 1);
|
||||
this->mUnk_1144.func_ov000_0206082c(0x8B, 1);
|
||||
} else if (this->mExitMode == FileSelectExitMode_BattleMode) {
|
||||
func_ov000_0206082c(&this->mUnk_155C, 0x8B, 3);
|
||||
this->mUnk_155C.func_ov000_0206082c(0x8B, 3);
|
||||
}
|
||||
|
||||
this->mUnk_0DA4.mUnk_2A = false;
|
||||
@@ -1120,13 +1114,13 @@ ARM void FileSelectMain::func_ov019_020c80e8() {
|
||||
ARM void FileSelectMain::func_ov019_020c80f4() {}
|
||||
|
||||
// non-matching
|
||||
ARM void FileSelectMain::vfunc_08() {
|
||||
ARM void FileSelectMain::vfunc_08(GameModePTMFParam2Struct *param1, TouchControl *pTouchControl) {
|
||||
for (int i = 0; i < MAX_SAVE_SLOTS; i++) {
|
||||
this->mUnk_03E8[i].func_ov000_02063f64();
|
||||
this->GetUnk03E0(i).func_ov019_020cbb94();
|
||||
}
|
||||
|
||||
CALL_PTMF(FileSelectMain, data_ov019_020d1f94[this->mState]);
|
||||
CALL_PTMF(PTMF<FileSelectMain>, data_ov019_020d1f94[this->mState]);
|
||||
this->mUnk_002C.UnkOperations(NULL, false);
|
||||
REG_BLDALPHA = this->mUnk_002C.func_0201eaa0() | 0x1000;
|
||||
}
|
||||
@@ -1263,9 +1257,9 @@ ARM void FileSelectMain::func_ov019_020c92dc() {
|
||||
this->GetUnk03E0(i).mUnk_004.mUnk_2A = false;
|
||||
}
|
||||
|
||||
this->mUnk_00BC.UnkOperations(&this->mUnk_005C.mPos, true);
|
||||
this->mUnk_00BC.UnkOperations2(&this->mUnk_005C.mPos, true);
|
||||
|
||||
this->mUnk_1078.UnkOperations(&this->mUnk_0DA4.mPos, true);
|
||||
this->mUnk_1078.UnkOperations2(&this->mUnk_0DA4.mPos, true);
|
||||
UnkStruct_ov019_020d24c8_28_258 local_30(0x8B, 0x06);
|
||||
Vec2s local_5c;
|
||||
Vec2s local_58;
|
||||
@@ -1274,7 +1268,7 @@ ARM void FileSelectMain::func_ov019_020c92dc() {
|
||||
this->mUnk_1144.mUnk_5C.x = local_58.x + local_30.mPos.x - local_5c.x;
|
||||
this->mUnk_1144.mUnk_5C.y = local_58.y + local_30.mPos.y - local_5c.y;
|
||||
|
||||
this->mUnk_1490.UnkOperations(&this->mUnk_11BC.mPos, true);
|
||||
this->mUnk_1490.UnkOperations2(&this->mUnk_11BC.mPos, true);
|
||||
UnkStruct_ov019_020d24c8_28_258 local_48(0x8B, 0x06);
|
||||
Vec2s local_60;
|
||||
Vec2s local_64;
|
||||
@@ -1283,11 +1277,11 @@ ARM void FileSelectMain::func_ov019_020c92dc() {
|
||||
this->mUnk_1144.mUnk_5C.x = local_64.x + local_48.mPos.x - local_60.x;
|
||||
this->mUnk_1144.mUnk_5C.y = local_64.y + local_48.mPos.y - local_60.y;
|
||||
|
||||
this->mUnk_18A8.UnkOperations(&this->mUnk_15D4.mPos, true);
|
||||
this->mUnk_1BC0.UnkOperations(&this->mUnk_18EC.mPos, true);
|
||||
this->mUnk_18A8.UnkOperations2(&this->mUnk_15D4.mPos, true);
|
||||
this->mUnk_1BC0.UnkOperations2(&this->mUnk_18EC.mPos, true);
|
||||
|
||||
func_ov000_020609c4(&this->mUnk_1144);
|
||||
func_ov000_020609c4(&this->mUnk_155C);
|
||||
this->mUnk_1144.func_ov000_020609c4();
|
||||
this->mUnk_155C.func_ov000_020609c4();
|
||||
}
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020c9b28() {
|
||||
@@ -1327,8 +1321,8 @@ ARM void FileSelectMain::func_ov019_020c9c18() {
|
||||
}
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020c9c70() {
|
||||
func_ov000_020609c4(&this->mUnk_1144);
|
||||
func_ov000_020609c4(&this->mUnk_155C);
|
||||
this->mUnk_1144.func_ov000_020609c4();
|
||||
this->mUnk_155C.func_ov000_020609c4();
|
||||
|
||||
switch (data_0204a110.func_01ff9b50()) {
|
||||
case 0x46:
|
||||
@@ -1360,18 +1354,18 @@ ARM void FileSelectMain::func_ov019_020c9c70() {
|
||||
}
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020c9d88() {
|
||||
func_ov000_020609c4(&this->mUnk_1144);
|
||||
func_ov000_020609c4(&this->mUnk_155C);
|
||||
this->mUnk_1144.func_ov000_020609c4();
|
||||
this->mUnk_155C.func_ov000_020609c4();
|
||||
|
||||
if (this->mExitMode == FileSelectExitMode_AdventureMode) {
|
||||
if (func_ov000_02060af8(&this->mUnk_1144) != 0) {
|
||||
if (this->mUnk_1144.func_ov000_02060af8() != 0) {
|
||||
this->SetState(FileSelectState_EnterGameMode);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (this->mExitMode == FileSelectExitMode_BattleMode) {
|
||||
if (func_ov000_02060af8(&this->mUnk_155C) != 0) {
|
||||
if (this->mUnk_155C.func_ov000_02060af8() != 0) {
|
||||
this->SetState(FileSelectState_EnterGameMode);
|
||||
return;
|
||||
}
|
||||
@@ -1379,9 +1373,9 @@ ARM void FileSelectMain::func_ov019_020c9d88() {
|
||||
}
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020c9e08() {
|
||||
this->mUnk_00BC.UnkOperations(&this->mUnk_005C.mPos, true);
|
||||
this->mUnk_00BC.UnkOperations2(&this->mUnk_005C.mPos, true);
|
||||
|
||||
this->mUnk_1100.UnkOperations(&this->mUnk_0DA4.mPos, true);
|
||||
this->mUnk_1100.UnkOperations2(&this->mUnk_0DA4.mPos, true);
|
||||
UnkStruct_ov019_020d24c8_28_258 local_30(0x8B, 0x06);
|
||||
Vec2s local_5c;
|
||||
Vec2s local_58;
|
||||
@@ -1390,7 +1384,7 @@ ARM void FileSelectMain::func_ov019_020c9e08() {
|
||||
this->mUnk_1144.mUnk_5C.x = local_58.x + local_30.mPos.x - local_5c.x;
|
||||
this->mUnk_1144.mUnk_5C.y = local_58.y + local_30.mPos.y - local_5c.y;
|
||||
|
||||
this->mUnk_1518.UnkOperations(&this->mUnk_11BC.mPos, true);
|
||||
this->mUnk_1518.UnkOperations2(&this->mUnk_11BC.mPos, true);
|
||||
UnkStruct_ov019_020d24c8_28_258 local_48(0x8B, 0x05);
|
||||
Vec2s local_6c;
|
||||
Vec2s local_68;
|
||||
@@ -1399,11 +1393,11 @@ ARM void FileSelectMain::func_ov019_020c9e08() {
|
||||
this->mUnk_155C.mUnk_5C.x = local_68.x + local_48.mPos.x - local_6c.x;
|
||||
this->mUnk_155C.mUnk_5C.y = local_68.y + local_48.mPos.y - local_6c.y;
|
||||
|
||||
this->mUnk_18A8.UnkOperations(&this->mUnk_15D4.mPos, true);
|
||||
this->mUnk_1BC0.UnkOperations(&this->mUnk_18EC.mPos, true);
|
||||
this->mUnk_18A8.UnkOperations2(&this->mUnk_15D4.mPos, true);
|
||||
this->mUnk_1BC0.UnkOperations2(&this->mUnk_18EC.mPos, true);
|
||||
|
||||
func_ov000_020609c4(&this->mUnk_1144);
|
||||
func_ov000_020609c4(&this->mUnk_155C);
|
||||
this->mUnk_1144.func_ov000_020609c4();
|
||||
this->mUnk_155C.func_ov000_020609c4();
|
||||
|
||||
if (this->mExitMode == FileSelectExitMode_AdventureMode && this->mUnk_00BC.mUnk_0C) {
|
||||
data_02049a2c.GetUnk00_FileSelect()->LoadAdventureMode(this->mSaveSlotIndex);
|
||||
@@ -1466,9 +1460,9 @@ ARM void FileSelectMain::func_ov019_020ca940() {
|
||||
this->GetUnk03E0(i).mUnk_004.mUnk_2A = false;
|
||||
}
|
||||
|
||||
this->mUnk_00BC.UnkOperations(&this->mUnk_005C.mPos, true);
|
||||
this->mUnk_00BC.UnkOperations2(&this->mUnk_005C.mPos, true);
|
||||
|
||||
this->mUnk_1100.UnkOperations(&this->mUnk_0DA4.mPos, true);
|
||||
this->mUnk_1100.UnkOperations2(&this->mUnk_0DA4.mPos, true);
|
||||
UnkStruct_ov019_020d24c8_28_258 local_30(0x8B, 0x06);
|
||||
Vec2s local_5c;
|
||||
Vec2s local_58;
|
||||
@@ -1477,7 +1471,7 @@ ARM void FileSelectMain::func_ov019_020ca940() {
|
||||
this->mUnk_1144.mUnk_5C.x = local_58.x + local_30.mPos.x - local_5c.x;
|
||||
this->mUnk_1144.mUnk_5C.y = local_58.y + local_30.mPos.y - local_5c.y;
|
||||
|
||||
this->mUnk_1518.UnkOperations(&this->mUnk_11BC.mPos, true);
|
||||
this->mUnk_1518.UnkOperations2(&this->mUnk_11BC.mPos, true);
|
||||
UnkStruct_ov019_020d24c8_28_258 local_48(0x8B, 0x05);
|
||||
Vec2s local_6c;
|
||||
Vec2s local_68;
|
||||
@@ -1486,11 +1480,11 @@ ARM void FileSelectMain::func_ov019_020ca940() {
|
||||
this->mUnk_155C.mUnk_5C.x = local_68.x + local_48.mPos.x - local_6c.x;
|
||||
this->mUnk_155C.mUnk_5C.y = local_68.y + local_48.mPos.y - local_6c.y;
|
||||
|
||||
this->mUnk_18A8.UnkOperations(&this->mUnk_15D4.mPos, true);
|
||||
this->mUnk_1BC0.UnkOperations(&this->mUnk_18EC.mPos, true);
|
||||
this->mUnk_18A8.UnkOperations2(&this->mUnk_15D4.mPos, true);
|
||||
this->mUnk_1BC0.UnkOperations2(&this->mUnk_18EC.mPos, true);
|
||||
|
||||
func_ov000_020609c4(&this->mUnk_1144);
|
||||
func_ov000_020609c4(&this->mUnk_155C);
|
||||
this->mUnk_1144.func_ov000_020609c4();
|
||||
this->mUnk_155C.func_ov000_020609c4();
|
||||
}
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020cb180() {
|
||||
@@ -1525,8 +1519,8 @@ ARM void FileSelectMain::func_ov019_020cb268() {}
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020cb26c() {}
|
||||
|
||||
ARM void FileSelectMain::vfunc_10() {
|
||||
CALL_PTMF(FileSelectMain, data_ov019_020d204c[this->mState]);
|
||||
ARM void FileSelectMain::vfunc_10(unk8 *param1) {
|
||||
CALL_PTMF(PTMF<FileSelectMain>, data_ov019_020d204c[this->mState]);
|
||||
}
|
||||
|
||||
ARM void FileSelectMain::func_ov019_020cb2a8() {
|
||||
|
||||
Reference in New Issue
Block a user