Name lots of nitro symbols (#29)

* name sdk symbols from nitro decomp

* fix function names in code

* sync names

* fix jp build

* rename function externs
This commit is contained in:
Yanis
2026-04-01 03:27:00 +02:00
committed by GitHub
parent 72aa60b96f
commit 1af545c929
19 changed files with 1317 additions and 1318 deletions
File diff suppressed because it is too large Load Diff
+661 -661
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -34,7 +34,7 @@ public:
/* 80 */
SaveAdventureFlags() {
Fill32(0, this, sizeof(SaveAdventureFlags));
MI_CpuFill32(0, this, sizeof(SaveAdventureFlags));
};
};
@@ -49,7 +49,7 @@ public:
/* 18 */
SaveInventory() {
Fill32(0, this->mUnk_04, sizeof(mUnk_04));
MI_CpuFill32(0, this->mUnk_04, sizeof(mUnk_04));
this->mUnk_12 = 0;
};
};
@@ -87,7 +87,7 @@ class SaveUnknown158 {
public:
/* 00 */ unk8 mUnk_00[0x0C];
SaveUnknown158() {
Fill32(0, this, sizeof(SaveUnknown158));
MI_CpuFill32(0, this, sizeof(SaveUnknown158));
};
};
@@ -95,7 +95,7 @@ class SaveUnknown164 {
public:
/* 00 */ unk8 mUnk_00[0x20];
SaveUnknown164() {
Fill32(0, this, sizeof(SaveUnknown164));
MI_CpuFill32(0, this, sizeof(SaveUnknown164));
};
};
@@ -125,7 +125,7 @@ public:
/* C84 */ unk32 mUnk_00_SaveInfoSub10[4];
Sub2Test2() {
Fill32(0, this->mUnk_00_SaveInfoSub10, 16);
MI_CpuFill32(0, this->mUnk_00_SaveInfoSub10, 16);
}
};
@@ -171,7 +171,7 @@ public:
mUnk_D18 = 0;
mUnk_D1C = 0;
mSongs = 0;
Fill32(0, this->mUnk_48_SaveUnknownD24, sizeof(this->mUnk_48_SaveUnknownD24));
MI_CpuFill32(0, this->mUnk_48_SaveUnknownD24, sizeof(this->mUnk_48_SaveUnknownD24));
this->mUnk_50_SaveUnknownD24 = 0;
}
};
+7 -7
View File
@@ -5,18 +5,18 @@
//! TODO: temporary place until this is documented properly
extern "C" {
void Fill16(int value, u16 *dst, size_t size);
void Copy16(u16 *src, u16 *dest, size_t size);
void Fill32(int value, void *dest, size_t size);
// Copy32
void MI_CpuFill16(int value, u16 *dst, size_t size);
void MI_CpuCopy16(u16 *src, u16 *dest, size_t size);
void MI_CpuFill32(int value, void *dest, size_t size);
// MI_CpuCopy32
// Stream32
void Fill256(int value, void *dst, size_t size);
void Copy256(void *src, void *dest, size_t size);
void _MI_CpuFill(int value, void *dst, size_t size);
void _MI_CpuCopy(void *src, void *dest, size_t size);
// CopySingle256
// CopySingle288
// CopySingle384
// CopySingle512
void Fill(u8 *dst, int value, size_t size);
void MI_CpuFill8(u8 *dst, int value, size_t size);
// Copy
// Zero288
// Swap32
+1 -1
View File
@@ -68,7 +68,7 @@ public:
/* 200 */
UnkStruct_0204a110_Sub3_00() {
Fill16(0, (u16 *) this->mUnk_000, sizeof(this->mUnk_000));
MI_CpuFill16(0, (u16 *) this->mUnk_000, sizeof(this->mUnk_000));
}
};
@@ -43,8 +43,6 @@ public:
UnkStruct_ov000_020b50c0();
void func_0200381c(const char *soundDataPath, unk32 param2, unk32 param3);
void func_ov000_02069d3c(unk32 param1);
void func_ov000_02069d7c(void);
void func_ov000_02069f58(void);
+1 -1
View File
@@ -21,7 +21,7 @@ ARM Actor::Actor() {
this->mUnk_5c.func_ov000_020975f8();
this->mRef.Reset();
this->mType = NULL;
Copy256(&data_ov000_020b539c.mUnk_00, &this->mUnk_5c, sizeof(data_ov000_020b539c.mUnk_00));
_MI_CpuCopy(&data_ov000_020b539c.mUnk_00, &this->mUnk_5c, sizeof(data_ov000_020b539c.mUnk_00));
this->mPos = this->mUnk_5c.mUnk_00;
this->mPrevPos = this->mUnk_5c.mUnk_00;
this->mAngle = this->mUnk_5c.mUnk_0c;
+1 -1
View File
@@ -115,7 +115,7 @@ THUMB void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param
this->mActorTableEnd = this->mActorTable + allocCount * 4;
size_t iVar9 = ((this->mActorTable + allocCount * 4) - this->mActorTable);
Fill32(0, this->mActorTable, (iVar9 * 4));
MI_CpuFill32(0, this->mActorTable, (iVar9 * 4));
this->mUnk_08 = this->mActorTable;
data_0204999c.func_ov001_020ba588(aligned08 + iVar5, 0x100);
+25 -25
View File
@@ -12,29 +12,29 @@
#include "regs.h"
extern "C" {
void func_020261f0(unk32 param1, void *param2);
void OS_SetIrqFunction(unk32 param1, void *param2);
void func_0201245c();
void func_02027a28(void *param1, unk32 param2);
void DC_FlushAll();
void func_02013184();
void func_020131b0();
void func_020263bc(unk32 param1);
void func_020234d4(unk32 param1);
void OS_EnableIrqMask(unk32 param1);
void GX_VBlankIntr(unk32 param1);
void func_02031e48(void *param1);
void func_02026ef0(void *param1);
unk32 func_02027818(unk32 param1);
unk32 func_0202780c(unk32 param1);
void OS_WakeupThreadDirect(void *param1);
unk32 OS_GetArenaLo(unk32 param1);
unk32 OS_GetArenaHi(unk32 param1);
UnkStruct_02011e10_Sub1 *func_020012e0(unk32 param1, unk32 param2, unk32 param3);
unk32 func_0202d624(void *param1, unk32 param2);
void *func_02001fd4(void *param1, size_t param2);
void func_020013ac(void *param1);
UnkStruct_02011e10_Sub1 *func_02001098(unk32 param1, unk32 param2, unk32 param3);
unk32 func_020011f4();
void func_0202793c(unk32 param1, unk32 param2);
void func_0202e820();
unk32 func_020271b0();
unk32 func_0202e864(void *param1);
void func_0202e8f8(void *param1);
void OS_SetArenaLo(unk32 param1, unk32 param2);
void TP_Init();
unk32 OS_func_0065();
unk32 TP_GetUserInfo(void *param1);
void TP_SetCalibrateParam(void *param1);
void func_0200a7b0(unk32 param1, void *param2, void *param3, void *param4, unk32 param5, unk32 param6, unk32 param7,
unk32 param8);
@@ -59,10 +59,10 @@ ARM Game::Game() :
mUnk_18(NULL) {}
ARM void Game::func_ov018_020c48a4() {
func_020261f0(1, func_02013184);
func_020263bc(1);
func_020234d4(1);
func_02026ef0(&this->mUnk_1C.mUnk_04);
OS_SetIrqFunction(1, func_02013184);
OS_EnableIrqMask(1);
GX_VBlankIntr(1);
OS_WakeupThreadDirect(&this->mUnk_1C.mUnk_04);
func_02031e48(func_020131b0);
this->TrySetCreateCallback((GameModeCreateCallback) Game::func_ov018_020c4ba8);
}
@@ -83,8 +83,8 @@ ARM UnkStruct_02049b18::UnkStruct_02049b18() {
}
ARM void UnkStruct_02011e10::func_ov018_020c4980() {
unk32 arenaLo = func_02027818(0);
unk32 arenaHi = func_0202780c(0);
unk32 arenaLo = OS_GetArenaLo(0);
unk32 arenaHi = OS_GetArenaHi(0);
for (int i = 0; i < HeapIndex_Max; i++) {
this->mUnk_00[i] = NULL;
@@ -123,13 +123,13 @@ ARM void UnkStruct_02011e10::func_ov018_020c4a5c() {
temp_r2 = this->mUnk_00[0];
temp_r5 = ((uintptr_t) temp_r2->mUnk_1C - (uintptr_t) temp_r2); //! TODO: fake match?
temp_r7 = func_02027818(0);
temp_r7 = OS_GetArenaLo(0);
temp_r7 += temp_r5;
temp_r0 = func_0202780c(0);
temp_r0 = OS_GetArenaHi(0);
this->mUnk_00[1] = func_02001098(temp_r7, temp_r0 - temp_r7, 2);
this->mUnk_5C = func_020011f4();
func_0202793c(0, temp_r0);
OS_SetArenaLo(0, temp_r0);
this->mUnk_74 = 1;
}
@@ -147,12 +147,12 @@ ARM UnkStruct_02049b80::UnkStruct_02049b80() {
ARM UnkStruct_02049b18_06::UnkStruct_02049b18_06() {
unk8 auStack_18[8];
func_0202e820();
TP_Init();
if (func_020271b0() != 0) {
func_0202e8f8(NULL);
} else if (func_0202e864(auStack_18) != 0) {
func_0202e8f8(auStack_18);
if (OS_func_0065() != 0) {
TP_SetCalibrateParam(NULL);
} else if (TP_GetUserInfo(auStack_18) != 0) {
TP_SetCalibrateParam(auStack_18);
}
}
+41 -40
View File
@@ -22,34 +22,35 @@
extern "C" {
unk32 func_02014fe0();
unk16 func_02026738();
void func_02023548();
unk16 OS_GetLockID();
void GX_DispOn();
void func_020327c8(void *param1, unk32 param2);
void func_02030d48(u16 param1);
void func_02030d58(u16 param1);
unk32 func_020313b4(unk32 param1);
unk32 func_020312b8(void *param1, void *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6, unk32 param7,
unk32 param8, unk32 param9);
unk32 func_02030cfc();
void CARD_LockBackup(u16 param1);
void CARD_UnlockBackup(u16 param1);
unk32 CARD_IdentifyBackup(unk32 param1);
unk32 CARD_ReadWriteBackupAsync(void *param1, void *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6,
unk32 param7, unk32 param8, unk32 param9);
unk32 CARD_GetResultCode();
void func_0201bdd0();
void func_020261f0(unk32 param1, void *param2);
void func_02002354();
void func_02004a00(unk32 param1);
void OS_SetIrqFunction(unk32 param1, void *param2);
void NNS_SndInit();
void NNS_SndArcInit(void *param1, const char *soundDataPath, unk32 param2, unk32 param3);
void NNS_SndArcPlayerSetup(unk32 param1);
void func_02004d2c(unk32 param1, unk32 param2);
void func_02001778(unk32 param1);
void func_02003f98(unk32 param1, unk32 param2);
void func_02002184(unk32 param1);
void NNS_SndHeapSaveState(unk32 param1);
void func_0202ee0c();
void func_0202f910(unk32 param1);
void func_0202f958(unk32 param1);
void func_02005030(void *param1);
void func_02002c80(void *param1);
void func_02002b08(void *param1, unk32 param2);
void func_0202ff34();
void NNS_SndHandleInit(void *param1);
void NNS_SndPlayerStopSeq(void *param1, unk32 param2);
void RTC_Init();
}
ARM void func_ov018_020c4e8c(void) {
func_0202ff34();
RTC_Init();
gRandom.Init();
data_0204999c.func_ov018_020c4980();
data_02049984.func_ov018_020c4840();
@@ -61,7 +62,7 @@ THUMB UnkStruct_0204a060::UnkStruct_0204a060() {
ARM UnkStruct_ov000_020b4eec::UnkStruct_ov000_020b4eec() {
this->mUnk_00 = 0;
Fill32(0, this->mUnk_04, sizeof(this->mUnk_04));
MI_CpuFill32(0, this->mUnk_04, sizeof(this->mUnk_04));
}
ARM UnkStruct_ov000_020b4f84::UnkStruct_ov000_020b4f84() {
@@ -81,12 +82,12 @@ ARM UnkStruct_ov000_020b4f84_00::~UnkStruct_ov000_020b4f84_00() {}
ARM UnkStruct_ov000_020b504c::UnkStruct_ov000_020b504c() :
mUnk_008(NULL),
mUnk_030(1) {
Fill32(0, this->mUnk_05C, sizeof(this->mUnk_05C));
MI_CpuFill32(0, this->mUnk_05C, sizeof(this->mUnk_05C));
this->mUnk_06F = 0;
this->mUnk_000 = new(HeapIndex_Main) UnkStruct_ov000_020b504c_Sub3(0x21);
Fill32(0, this->mUnk_00C, sizeof(this->mUnk_00C));
MI_CpuFill32(0, this->mUnk_00C, sizeof(this->mUnk_00C));
this->mUnk_000->func_ov000_020676f8("regular", 0);
@@ -128,15 +129,15 @@ ARM SaveManager::SaveManager() {
func_020327c8(this->mUnk_004, 0x1021);
this->mUnk_204 = func_02026738();
this->mUnk_204 = OS_GetLockID();
int uVar8 = 1;
func_02030d48(this->mUnk_204);
CARD_LockBackup(this->mUnk_204);
if (func_020313b4(0x1402) != 0) {
if (CARD_IdentifyBackup(0x1402) != 0) {
stack_struct stack[MAX_SAVE_SLOTS];
int cVar1;
if (func_020312b8((void *) 0xF4E00, &stack[0], 0x40, 0, 0, 0, 6, 1, 0) == 1) {
if (CARD_ReadWriteBackupAsync((void *) 0xF4E00, &stack[0], 0x40, 0, 0, 0, 6, 1, 0) == 1) {
if (!stack[0].UnkCheck() && !stack[1].UnkCheck()) {
cVar1 = 1;
} else {
@@ -150,22 +151,22 @@ ARM SaveManager::SaveManager() {
stack[0].mUnk_00 = 0x0C1D2E3F;
stack[0].mUnk_1C = 0xF4E5D6C7;
stack[0].mUnk_04 = 0x1A;
Fill16(0, (u16 *) stack[0].mUnk_06, 0x16);
MI_CpuFill16(0, (u16 *) stack[0].mUnk_06, 0x16);
stack[1].mUnk_00 = 0x0C1D2E3F;
stack[1].mUnk_1C = 0xF4E5D6C7;
stack[1].mUnk_04 = 0x1A;
Fill16(0, (u16 *) stack[1].mUnk_06, 0x16);
MI_CpuFill16(0, (u16 *) stack[1].mUnk_06, 0x16);
uVar8 = 2;
func_020312b8(stack, (void *) 0xF4E00, 0x40, 0, 0, 0, 7, 10, 2);
CARD_ReadWriteBackupAsync(stack, (void *) 0xF4E00, 0x40, 0, 0, 0, 7, 10, 2);
}
}
}
}
this->mUnk_20C = func_02030cfc();
func_02030d58(this->mUnk_204);
this->mUnk_20C = CARD_GetResultCode();
CARD_UnlockBackup(this->mUnk_204);
if (this->mUnk_20C != 0) {
this->mUnk_214 = uVar8;
@@ -193,18 +194,18 @@ ARM UnkStruct_0204a110::UnkStruct_0204a110() :
ARM void UnkStruct_0204a110::func_ov018_020c5300() {
func_02018c90(2);
this->mUnk_010.func_0201c890(0x0004800, 0x00016800, 1, 1, 0);
func_02023548();
GX_DispOn();
REG_DISPCNT_SUB |= 0x00010000;
}
ARM UnkStruct_0204e640::UnkStruct_0204e640() {
this->mUnk_00 = 0;
this->mUnk_04 = 0;
func_020261f0(2, func_0201bdd0);
OS_SetIrqFunction(2, func_0201bdd0);
}
ARM UnkStruct_0204af1c::UnkStruct_0204af1c() {
Fill16(0, (u16 *) this->mUnk_2920, sizeof(this->mUnk_2920));
MI_CpuFill16(0, (u16 *) this->mUnk_2920, sizeof(this->mUnk_2920));
for (u32 i = 0; i < ARRAY_LEN(this->mUnk_0000); i++) {
this->mUnk_0000[i].func_0201af10(i);
@@ -287,7 +288,7 @@ ARM UnkStruct_0204a110_Sub8::UnkStruct_0204a110_Sub8() {
}
ARM UnkStruct_02049f04::UnkStruct_02049f04() {
Fill32(0, this->mUnk_00, sizeof(this->mUnk_00));
MI_CpuFill32(0, this->mUnk_00, sizeof(this->mUnk_00));
this->mUnk_80 = 0;
}
@@ -314,22 +315,22 @@ ARM UnkStruct_ov000_020b50c0::UnkStruct_ov000_020b50c0() {
this->mUnk_A8[i] = 0;
}
func_02002354();
this->func_0200381c("SoundData/final_sound_data.sdat", data_0204999c.mUnk_24[0], 0);
NNS_SndInit();
NNS_SndArcInit(this, "SoundData/final_sound_data.sdat", data_0204999c.mUnk_24[0], 0);
}
ARM UnkStruct_ov018_020c5ac0 *UnkStruct_ov000_020b50c0::func_ov018_020c5718() {
unk32 uVar1 = data_0204999c.mUnk_24[0];
data_ov000_020b51b8.func_ov018_020c5940();
func_02004a00(uVar1);
NNS_SndArcPlayerSetup(uVar1);
func_02004d2c(0x0C, uVar1);
func_02001778(3);
this->mUnk_CC = this->func_ov000_0206a5d8(0x800);
this->mUnk_D0 = this->func_ov000_0206a5d8(0x400);
func_02003f98(1, uVar1);
this->mUnk_A8[1] = 1;
func_02002184(uVar1);
NNS_SndHeapSaveState(uVar1);
data_ov000_020b5300.func_ov018_020c583c(this->mUnk_D0);
data_ov000_020b5340.func_ov018_020c57fc();
data_ov000_020b5340.func_ov000_0206ffc0();
@@ -398,7 +399,7 @@ ARM UnkStruct_ov000_020b51b8::UnkStruct_ov000_020b51b8() {
this->mUnk_56 = 0x7F;
for (int i = 0; i < ARRAY_LEN(this->mUnk_08); i++) {
func_02002c80(&this->mUnk_08[i]);
NNS_SndHandleInit(&this->mUnk_08[i]);
}
func_02005030(&this->mUnk_14);
@@ -428,7 +429,7 @@ ARM UnkStruct_ov000_020b5214::UnkStruct_ov000_020b5214() {
this->mUnk_95 = 0;
this->mUnk_98 = 0;
func_02002c80(this);
NNS_SndHandleInit(this);
for (int i = 0; i < ARRAY_LEN(this->mUnk_70); i++) {
this->mUnk_70[i].mUnk_00 = 0;
@@ -449,13 +450,13 @@ ARM UnkStruct_ov000_020b52e8::UnkStruct_ov000_020b52e8() :
mUnk_10(0),
mUnk_12(0),
mUnk_13(0) {
func_02002c80(this);
NNS_SndHandleInit(this);
this->mUnk_04 = 0;
this->mUnk_08 = 0;
}
ARM UnkStruct_ov000_020b52e8::~UnkStruct_ov000_020b52e8() {
func_02002b08(this, 1);
NNS_SndPlayerStopSeq(this, 1);
}
ARM UnkStruct_ov018_020c5ac0::UnkStruct_ov018_020c5ac0() {
+36 -36
View File
@@ -7,11 +7,11 @@
extern "C" {
unk32 func_020328c8(void *, void *, size_t);
unk32 func_02030cfc();
void func_02030d48(u16 param1);
void func_02030d58(u16 param1);
unk32 func_020312b8(void *src, uintptr_t dest, unk32 param3, unk32 param4, unk32 param5, unk32 param6, unk32 param7,
unk32 param8, unk32 param9);
unk32 CARD_GetResultCode();
void CARD_LockBackup(u16 param1);
void CARD_UnlockBackup(u16 param1);
unk32 CARD_ReadWriteBackupAsync(void *src, uintptr_t dest, unk32 param3, unk32 param4, unk32 param5, unk32 param6,
unk32 param7, unk32 param8, unk32 param9);
bool func_ov000_020a0a90(size_t param1, void *param2, size_t param3);
void func_ov000_020a0b58();
@@ -27,11 +27,11 @@ const unk32 data_ov019_020d1be8[] = {
};
ARM void SaveManager::func_ov019_020d086c(u16 param1) {
func_02030d48(gSaveManager.mUnk_204);
CARD_LockBackup(gSaveManager.mUnk_204);
STATIC_PTMFCALLBACK(PTMF<SaveFile>, gSaveManager.mUnk_23C, gSaveManager.mpSaveFile);
gSaveManager.mUnk_20C = func_02030cfc();
func_02030d58(gSaveManager.mUnk_204);
gSaveManager.mUnk_20C = CARD_GetResultCode();
CARD_UnlockBackup(gSaveManager.mUnk_204);
if (gSaveManager.mUnk_20C != 0) {
gSaveManager.mUnk_214 = gSaveManager.mUnk_210;
@@ -80,10 +80,10 @@ ARM void SaveManager::func_ov019_020d0a04(u16 saveSlotIndex) {
ARM void SaveManager::func_ov019_020d0a2c(u16 saveSlotIndex) {
data_02049bd4.mUnk_04++;
gSaveManager.mpSaveFile->mSaveSlotIndex = saveSlotIndex;
func_02030d48(gSaveManager.mUnk_204);
CARD_LockBackup(gSaveManager.mUnk_204);
gSaveManager.mUnk_210 = 1;
gSaveManager.mpSaveFile->func_ov019_020d1634();
gSaveManager.mUnk_20C = func_02030cfc();
gSaveManager.mUnk_20C = CARD_GetResultCode();
if (gSaveManager.mUnk_20C != 0) {
gSaveManager.mUnk_214 = gSaveManager.mUnk_210;
@@ -92,13 +92,13 @@ ARM void SaveManager::func_ov019_020d0a2c(u16 saveSlotIndex) {
gSaveManager.mUnk_210 = 2;
gSaveManager.mpSaveFile->func_ov019_020d16d0();
gSaveManager.mUnk_20C = func_02030cfc();
gSaveManager.mUnk_20C = CARD_GetResultCode();
if (gSaveManager.mUnk_20C != 0) {
gSaveManager.mUnk_214 = gSaveManager.mUnk_210;
}
func_02030d58(gSaveManager.mUnk_204);
CARD_UnlockBackup(gSaveManager.mUnk_204);
gSaveManager.mUnk_210 = 0;
data_02049bd4.mUnk_04--;
}
@@ -192,14 +192,14 @@ ARM void SaveFile::func_ov019_020d0d50() {
stack[0].mUnk_00 = 0x0C1D2E3F;
stack[0].mUnk_1C = 0xF4E5D6C7;
stack[0].mUnk_04 = 0x1A;
Fill16(0, &stack[0].mUnk_06, 0x16);
MI_CpuFill16(0, &stack[0].mUnk_06, 0x16);
stack[1].mUnk_00 = 0x0C1D2E3F;
stack[1].mUnk_1C = 0xF4E5D6C7;
stack[1].mUnk_04 = 0x1A;
Fill16(0, &stack[1].mUnk_06, 0x16);
MI_CpuFill16(0, &stack[1].mUnk_06, 0x16);
func_020312b8(stack, SAVE_DATA_SIZE * 2, sizeof(stack_struct) * 2, 0, 0, 0, 7, 10, 2);
CARD_ReadWriteBackupAsync(stack, SAVE_DATA_SIZE * 2, sizeof(stack_struct) * 2, 0, 0, 0, 7, 10, 2);
}
// https://decomp.me/scratch/gJJbb
@@ -242,7 +242,7 @@ ARM void SaveFile::func_ov019_020d13b8() {
ARM void SaveSub7::func_ov019_020d1400() {
this->mUnk_00[0].mUnk_7E = func_020328c8(&gSaveManager.mUnk_004, &this->mUnk_00, sizeof(SaveSub17) - sizeof(u16));
Copy256(&this->mUnk_00[0], &this->mUnk_00[1], sizeof(SaveSub17));
_MI_CpuCopy(&this->mUnk_00[0], &this->mUnk_00[1], sizeof(SaveSub17));
}
// non-matching
@@ -265,13 +265,13 @@ ARM void SaveFile::func_ov019_020d1434() {
}
ARM void SaveSub5::func_ov019_020d14c0() {
this->mUnk_000[0].mUnk_3FE = func_020328c8(&gSaveManager.mUnk_004, &this->mUnk_000, offsetof(SaveSub15, mUnk_3FE));
Copy256(&this->mUnk_000[0], &this->mUnk_000[1], sizeof(SaveSub15));
_MI_CpuCopy(&this->mUnk_000[0], &this->mUnk_000[1], sizeof(SaveSub15));
}
ARM void SaveInfo::func_ov019_020d14fc() {
this->mSaveInfoData[0].mUnk_DFE =
func_020328c8(&gSaveManager.mUnk_004, &this->mSaveInfoData[0].mUnk_000, offsetof(SaveInfoData, mUnk_DFE));
Copy256(&this->mSaveInfoData[0], &this->mSaveInfoData[1], sizeof(SaveInfoData));
_MI_CpuCopy(&this->mSaveInfoData[0], &this->mSaveInfoData[1], sizeof(SaveInfoData));
}
//! TODO: weird sizeof
@@ -296,13 +296,13 @@ ARM void SaveFile::func_ov019_020d1538() {
ARM void SaveSub6::func_ov019_020d15cc() {
this->mUnk_00[0].mUnk_7E = func_020328c8(&gSaveManager.mUnk_004, &this->mUnk_00, offsetof(SaveSub16, mUnk_7E));
Copy256(&this->mUnk_00[0], &this->mUnk_00[1], sizeof(SaveSub16));
_MI_CpuCopy(&this->mUnk_00[0], &this->mUnk_00[1], sizeof(SaveSub16));
}
ARM void SaveTreasures::func_ov019_020d1600() {
this->mTreasureData[0].mUnk_7E =
func_020328c8(&gSaveManager.mUnk_004, &this->mTreasureData, offsetof(TreasureData, mUnk_7E));
Copy256(&this->mTreasureData[0], &this->mTreasureData[1], sizeof(TreasureData));
_MI_CpuCopy(&this->mTreasureData[0], &this->mTreasureData[1], sizeof(TreasureData));
}
// https://decomp.me/scratch/ibnQS
@@ -314,7 +314,7 @@ ARM void SaveFile::func_ov019_020d1634() {
// if (pSlot->mSaveInfo.mSaveInfoData[0].mUnk_C84.mUnk_00[(u32) i >> 5] & (1 << (i & 0x1F))) {
// u32 dest = (i << 12) + sizeof(SaveSlot);
// u8 *src = &this->mUnk_04E0C[i << 12];
// func_020312b8(src, offset + dest, 0x1000, 0, 0, 0, 6, 1, 0);
// CARD_ReadWriteBackupAsync(src, offset + dest, 0x1000, 0, 0, 0, 6, 1, 0);
// }
}
}
@@ -325,15 +325,15 @@ ARM void SaveFile::func_ov019_020d16d0() {
SaveSlot *pSub2 = &this->mSlots[this->mSaveSlotIndex];
SaveSlot *pSub3 = &this->mSlots[saveSlotIndex];
Copy256(&pSub2->mSaveInfo, &pSub3->mSaveInfo, sizeof(SaveInfo));
Copy256(&pSub2->mTreasures, &pSub3->mTreasures, sizeof(SaveTreasures));
Copy256(&pSub2->mUnk_2600, &pSub3->mUnk_2600, sizeof(SaveSub7));
_MI_CpuCopy(&pSub2->mSaveInfo, &pSub3->mSaveInfo, sizeof(SaveInfo));
_MI_CpuCopy(&pSub2->mTreasures, &pSub3->mTreasures, sizeof(SaveTreasures));
_MI_CpuCopy(&pSub2->mUnk_2600, &pSub3->mUnk_2600, sizeof(SaveSub7));
pSub3->mUnk_1D00.func_ov000_020a12a0();
Copy256(&pSub2->mUnk_1D00, &pSub3->mUnk_1D00, sizeof(SaveSub5));
_MI_CpuCopy(&pSub2->mUnk_1D00, &pSub3->mUnk_1D00, sizeof(SaveSub5));
Fill256(0, &pSub3->mUnk_2500, sizeof(SaveSub6));
Copy256(&pSub2->mUnk_2500, &pSub3->mUnk_2500, sizeof(SaveSub6));
_MI_CpuFill(0, &pSub3->mUnk_2500, sizeof(SaveSub6));
_MI_CpuCopy(&pSub2->mUnk_2500, &pSub3->mUnk_2500, sizeof(SaveSub6));
this->mSaveSlotIndex = saveSlotIndex;
this->func_ov019_020d1538();
@@ -362,7 +362,7 @@ ARM void SaveFile::func_ov019_020d1808(unk32 param1) {
SaveSlot *pSub2 = &this->mSlots[param1];
stack_struct2 stack1[5];
if (func_020312b8(pSub2, param1 * SAVE_DATA_SIZE, sizeof(SaveSlot), 0, 0, 0, 6, 1, 0) == 0) {
if (CARD_ReadWriteBackupAsync(pSub2, param1 * SAVE_DATA_SIZE, sizeof(SaveSlot), 0, 0, 0, 6, 1, 0) == 0) {
return;
}
@@ -398,7 +398,7 @@ ARM void SaveFile::func_ov019_020d1808(unk32 param1) {
if (stack1[i].mUnk_00 != 0) {
if (stack1[i].mUnk_04 == 0 || stack1[i].mUnk_00 != stack1[i * 2].mUnk_04) {
Copy256(puVar5, puVar5 + data_ov019_020d1bd4[i], data_ov019_020d1bd4[i]);
_MI_CpuCopy(puVar5, puVar5 + data_ov019_020d1bd4[i], data_ov019_020d1bd4[i]);
this->mUnk_04E00[param1][1].mUnk_00 |= 1 << (i & 0xFF);
}
} else {
@@ -407,7 +407,7 @@ ARM void SaveFile::func_ov019_020d1808(unk32 param1) {
if (stack1[i * 2].mUnk_04 == 0) {
this->mUnk_04E00[param1][1].mUnk_00 |= 1 << (i & 0xFF);
} else {
Copy256(puVar5 + data_ov019_020d1bd4[i], puVar5, data_ov019_020d1bd4[i]);
_MI_CpuCopy(puVar5 + data_ov019_020d1bd4[i], puVar5, data_ov019_020d1bd4[i]);
}
}
}
@@ -418,10 +418,10 @@ ARM void SaveFile::func_ov019_020d1aac(unk32 param1, const wchar_t *param2) {
awStack_28[8] = L'\0';
wcsncpy(awStack_28, param2, LENGTH_PLAYER_NAME);
Copy16((u16 *) awStack_28, (u16 *) this->mSlots[param1].mSaveInfo.mSaveInfoData[0].mPlayerName,
sizeof(wchar_t) * (LENGTH_PLAYER_NAME + 1));
Copy16((u16 *) awStack_28, (u16 *) this->mSlots[param1].mUnk_1D00.mUnk_000[0].mUnk_3C4,
sizeof(wchar_t) * (LENGTH_PLAYER_NAME + 1));
MI_CpuCopy16((u16 *) awStack_28, (u16 *) this->mSlots[param1].mSaveInfo.mSaveInfoData[0].mPlayerName,
sizeof(wchar_t) * (LENGTH_PLAYER_NAME + 1));
MI_CpuCopy16((u16 *) awStack_28, (u16 *) this->mSlots[param1].mUnk_1D00.mUnk_000[0].mUnk_3C4,
sizeof(wchar_t) * (LENGTH_PLAYER_NAME + 1));
}
// https://decomp.me/scratch/34KCr
@@ -432,7 +432,7 @@ ARM void SaveFile::func_ov019_020d1b14(unk32 param1) {
pSVar3->mSaveInfo.func_ov000_020a1028();
pSVar3->mSaveInfo.func_ov019_020d14fc();
Fill256(0, &pSVar3->mTreasures, sizeof(SaveTreasures));
_MI_CpuFill(0, &pSVar3->mTreasures, sizeof(SaveTreasures));
for (int i = 0; i < TreasureType_Max; i++) {
pSVar3->mTreasures.mTreasureData[0].mUnk_3C[i] = TreasureType_None;
}
@@ -441,7 +441,7 @@ ARM void SaveFile::func_ov019_020d1b14(unk32 param1) {
this->mSlots[param1].mUnk_1D00.func_ov000_020a12a0();
this->mSlots[param1].mUnk_1D00.func_ov019_020d14c0();
Fill256(0, &this->mSlots[param1].mUnk_2500, 0x80);
_MI_CpuFill(0, &this->mSlots[param1].mUnk_2500, 0x80);
this->mSlots[param1].mUnk_2500.func_ov019_020d15cc();
this->mSlots[param1].mUnk_2600.func_ov000_020a10f4();
+1 -1
View File
@@ -118,7 +118,7 @@ ARM void UnkSubStruct9::func_ov019_020cbc0c() {
SaveSlot *pSlot = gSaveManager.GetSaveSlot(this->mSaveSlotIndex);
auStack_c0.mUnk_06 = 0;
Fill32(0, &auStack_c0, sizeof(auStack_c0));
MI_CpuFill32(0, &auStack_c0, sizeof(auStack_c0));
auStack_c0.mUnk_05 = -1;
auStack_c0.mUnk_06 |= 0x04;
+3 -3
View File
@@ -10,7 +10,7 @@
#include "regs.h"
extern "C" {
void func_020249d4(void *pReg, unk32 param1, unk32 param2, unk32 param3, unk32 param4);
void _G2_SetBlend(void *pReg, unk32 param1, unk32 param2, unk32 param3, unk32 param4);
void func_ov000_02062e44(void *param1, void *param2);
};
@@ -187,7 +187,7 @@ ARM FileSelectMain::FileSelectMain() :
// Test2 aauStack_48;
REG_DISPCNT &= 0xFFFFE0FF;
REG_DISPCNT |= 0x00001C00;
func_020249d4(&REG_BLDCNT, 4, 8, 0, 0x10);
_G2_SetBlend(&REG_BLDCNT, 4, 8, 0, 0x10);
this->mUnk_0C.mList.func_020166cc(&this->mUnk_005C.mUnk_04);
this->func_ov019_020c63dc();
this->func_ov019_020c6d10();
@@ -1581,7 +1581,7 @@ ARM void FileSelectMain::func_ov019_020cb324() {
}
auStack_24.mUnk_06 = 0;
Fill32(0, &auStack_24, sizeof(auStack_24));
MI_CpuFill32(0, &auStack_24, sizeof(auStack_24));
auStack_24.mUnk_05 = 0xFF;
auStack_24.mUnk_06 |= 0x04;
+1 -1
View File
@@ -775,7 +775,7 @@ ARM void UnkStruct_ov019_020d24c8_2C_24::func_ov019_020ce4dc() {
u8 auStack_28[8];
auStack_28[6] = 0;
Fill32(0, auStack_28, 8);
MI_CpuFill32(0, auStack_28, 8);
auStack_28[7] = 0xFF;
auStack_28[6] |= 4;
data_0204af1c.func_0201aa44(&this->mUnk_008, &this->mUnk_004, 2, auStack_28);
+2 -2
View File
@@ -8,7 +8,7 @@
extern "C" {
void func_0200a7b0(unk32 param1, void *param2, void *param3, void *param4, unk32 param5, unk32 param6, unk32 param7,
unk32 param8);
void func_020249d4(void *pReg, unk32 param1, unk32 param2, unk32 param3, unk32 param4);
void _G2_SetBlend(void *pReg, unk32 param1, unk32 param2, unk32 param3, unk32 param4);
void DC_FlushAll();
};
@@ -49,7 +49,7 @@ ARM FileSelectSubScreen::FileSelectSubScreen() :
REG_DISPCNT_SUB &= ~0x00001F00;
REG_DISPCNT_SUB |= 0x00001F00;
func_020249d4(&REG_BLDCNT_SUB, 0x01, 0x1E, 0x08, 0x0A);
_G2_SetBlend(&REG_BLDCNT_SUB, 0x01, 0x1E, 0x08, 0x0A);
{
UnkStruct2 stack_narc("Screen/Bg/Cover.bin", 1);
+8 -8
View File
@@ -11,15 +11,15 @@
#include "versions.h"
extern "C" void func_020196fc();
extern "C" unk32 func_02031e58();
extern "C" void func_02031e68();
extern "C" unk32 CARD_func_0033();
extern "C" void CARD_func_0034();
extern "C" void func_01ff8d38();
extern "C" void func_020132c8();
extern "C" void func_020132dc();
extern "C" void func_02013354();
extern "C" void func_0201328c();
extern "C" int func_020280ec();
extern "C" void func_02028100(int enabled);
extern "C" int OS_DisableInterrupts_Irq();
extern "C" void OS_RestoreInterrupts(int enabled);
extern Mat3p data_027e02c4;
struct SomeSaveFileStruct {
@@ -70,8 +70,8 @@ ARM void Game::Run() {
this->mUnk_08 = NULL;
}
if (func_02031e58() != 0) {
func_02031e68();
if (CARD_func_0033() != 0) {
CARD_func_0034();
}
data_02049bd4.func_02014d98();
@@ -141,10 +141,10 @@ ARM void Game::Run() {
}
{
int enabled = func_020280ec();
int enabled = OS_DisableInterrupts_Irq();
this->mUnk_1C.func_02013e18(func_020132dc, 0);
REG_SWAP_BUFFERS = 3;
func_02028100(enabled);
OS_RestoreInterrupts(enabled);
}
func_020132c8();
+1 -1
View File
@@ -162,7 +162,7 @@ ARM void TouchControl::func_02014414(u16 speedIncrease, bool shouldIncrease) {
}
if (TouchControl::func_020143f0()) {
Fill16(0, (u16 *) &touchState, sizeof(TouchStateFlags));
MI_CpuFill16(0, (u16 *) &touchState, sizeof(TouchStateFlags));
} else {
TP_GetTouchStateFlags(&touchState);
}
+14 -14
View File
@@ -9,23 +9,23 @@
#include "global.h"
#include "regs.h"
extern "C" void func_0202851c();
extern "C" void _OS_Panic();
extern "C" void func_020131ec();
extern "C" void func_02013214();
extern "C" void func_ov020_020c86d8(void *);
extern "C" void func_02014d38(void *, int);
extern "C" void func_020196fc();
extern "C" void func_02023770(int);
extern "C" void func_02023fb0(int);
extern "C" void func_02023f8c(int);
extern "C" void GX_SetBankForBG(int);
extern "C" void GX_SetBankForSubBG(int);
extern "C" void GX_SetBankForLCDC(int);
extern "C" void GX_SetGraphicsMode(int, int, int);
extern "C" void GXS_SetGraphicsMode(int);
extern "C" unk32 func_ov000_02068504(int);
extern "C" unk32 func_020147a8();
extern "C" void *func_020244f8();
extern "C" void *G2S_func_0001();
extern "C" void func_0201b278(bool, bool);
extern "C" void func_0201b180(bool, bool);
extern "C" void func_02025050(void *, int, int);
extern "C" void GXS_LoadBGPltt(void *, int, int);
extern "C" void SetBrightColor(void *, int);
extern int data_02049bd4;
@@ -59,9 +59,9 @@ THUMB void SysFault::func_020127f0(unk32 param1) {
func_02014d38(&data_02049bd4, 1);
func_02014d38(&data_02049bd4, 3);
func_020196fc();
func_02023770(2);
func_02023fb0(4);
func_02023f8c(0x100);
GX_SetBankForBG(2);
GX_SetBankForSubBG(4);
GX_SetBankForLCDC(0x100);
GX_SetGraphicsMode(1, 0, 0);
GXS_SetGraphicsMode(0);
@@ -138,8 +138,8 @@ THUMB void SysFault::func_020127f0(unk32 param1) {
// "data could not be read" error
struct_aStack_2d8 aStack_2d8;
func_02025050(&data_0203e0be, func_ov000_02068504(0) << 1, 6);
Fill32(0, func_020244f8(), 0x800);
GXS_LoadBGPltt(&data_0203e0be, func_ov000_02068504(0) << 1, 6);
MI_CpuFill32(0, G2S_func_0001(), 0x800);
aStack_2d8.mUnk_20 = &data_ov000_020b4f84.mUnk_00[FontIndex_DSZ2_msg].mUnk_14;
aStack_2d8.func_ov000_020628e4(0, 0, 256, 192, 0, 0, 1, 0, 0);
@@ -158,8 +158,8 @@ THUMB void SysFault::func_020127f0(unk32 param1) {
// "data could not be written" error
struct_aStack_2d8 aStack_2d8;
func_02025050(&data_0203e0be, func_ov000_02068504(0) << 1, 6);
Fill32(0, func_020244f8(), 0x800);
GXS_LoadBGPltt(&data_0203e0be, func_ov000_02068504(0) << 1, 6);
MI_CpuFill32(0, G2S_func_0001(), 0x800);
aStack_2d8.mUnk_20 = &data_ov000_020b4f84.mUnk_00[FontIndex_DSZ2_msg].mUnk_14;
aStack_2d8.func_ov000_020628e4(0, 0, 256, 192, 0, 0, 1, 0, 0);
@@ -202,6 +202,6 @@ THUMB void SysFault::func_020127f0(unk32 param1) {
}
this->mUnk_05 = 0;
func_0202851c();
_OS_Panic();
}
}
+22 -22
View File
@@ -4,21 +4,21 @@
extern "C" void GX_SetGraphicsMode(int, int, int);
extern "C" void GXS_SetGraphicsMode(int);
extern "C" void func_02024934(void *, void *, int, int, int, int);
extern "C" void G2_SetBGAffine(void *, void *, int, int, int, int);
extern "C" void func_020242a0();
extern "C" void func_020241f4();
extern "C" void func_0202421c();
extern "C" void GX_ResetBankForBGExtPltt();
extern "C" void func_0202428c();
extern "C" void func_02024208();
extern "C" void func_02024240();
extern "C" void GX_ResetBankForOBJExtPltt();
extern "C" void func_020242b4();
extern "C" void func_020242dc();
extern "C" void GX_ResetBankForSubBGExtPltt();
extern "C" void func_020242c8();
extern "C" void func_02024304();
extern "C" void GX_ResetBankForSubOBJExtPltt();
extern "C" void func_02024264();
extern "C" void func_02024278();
extern "C" void func_02023f8c(int);
extern "C" void func_020243ec();
extern "C" void GX_SetBankForLCDC(int);
extern "C" void GX_DisableBankForLCDC();
extern int data_027e0120;
extern "C" void func_020196fc() {
@@ -32,10 +32,10 @@ extern "C" void func_020196fc() {
REG_BG1OFS_SUB = 0;
REG_BG2OFS_SUB = 0;
REG_BG3OFS_SUB = 0;
func_02024934(&REG_BG2PA, &data_027e0120, 0x80, 0x60, 0, 0);
func_02024934(&REG_BG3PA, &data_027e0120, 0x80, 0x60, 0, 0);
func_02024934(&REG_BG2PA_SUB, &data_027e0120, 0x80, 0x60, 0, 0);
func_02024934(&REG_BG3PA_SUB, &data_027e0120, 0x80, 0x60, 0, 0);
G2_SetBGAffine(&REG_BG2PA, &data_027e0120, 0x80, 0x60, 0, 0);
G2_SetBGAffine(&REG_BG3PA, &data_027e0120, 0x80, 0x60, 0, 0);
G2_SetBGAffine(&REG_BG2PA_SUB, &data_027e0120, 0x80, 0x60, 0, 0);
G2_SetBGAffine(&REG_BG3PA_SUB, &data_027e0120, 0x80, 0x60, 0, 0);
REG_BG0CNT = REG_BG0CNT & 0xffbf;
REG_BG1CNT = REG_BG1CNT & 0xffbf;
REG_BG2CNT = REG_BG2CNT & 0xffbf;
@@ -54,24 +54,24 @@ extern "C" void func_020196fc() {
REG_DISPCNT_SUB &= 0xffff1fff;
func_020242a0();
func_020241f4();
func_0202421c();
GX_ResetBankForBGExtPltt();
func_0202428c();
func_02024208();
func_02024240();
GX_ResetBankForOBJExtPltt();
func_020242b4();
func_020242dc();
GX_ResetBankForSubBGExtPltt();
func_020242c8();
func_02024304();
GX_ResetBankForSubOBJExtPltt();
func_02024264();
func_02024278();
func_02023f8c(0x1ff);
GX_SetBankForLCDC(0x1ff);
Fill256(0, &REG_VRAM, 0xa4000);
func_020243ec();
_MI_CpuFill(0, &REG_VRAM, 0xa4000);
GX_DisableBankForLCDC();
Fill256(0xc0, &REG_OAM_A, 0x400);
Fill256(0, &REG_PALETTE_A, 0x400);
_MI_CpuFill(0xc0, &REG_OAM_A, 0x400);
_MI_CpuFill(0, &REG_PALETTE_A, 0x400);
Fill256(0xc0, &REG_OAM_B, 0x400);
Fill256(0, &REG_PALETTE_B, 0x400);
_MI_CpuFill(0xc0, &REG_OAM_B, 0x400);
_MI_CpuFill(0, &REG_PALETTE_B, 0x400);
}