mirror of
https://github.com/zeldaret/st
synced 2026-10-20 10:19:06 -04:00
Merge headers from nitro decomp (#69)
* merge headers from nitro decomp * cleanup: use inlines from g2.h and gx.h when changing registers * cleanup: remove externs declarations in source files
This commit is contained in:
@@ -3,16 +3,11 @@
|
||||
#include "Unknown/UnkStruct_02049b80.hpp"
|
||||
#include "Unknown/UnkStruct_02049bd4.hpp"
|
||||
|
||||
#include <nitro/card.h>
|
||||
#include <wstring.h>
|
||||
|
||||
extern "C" {
|
||||
unk32 func_020328c8(void *, void *, size_t);
|
||||
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();
|
||||
};
|
||||
@@ -199,7 +194,7 @@ ARM void SaveFile::func_ov019_020d0d50() {
|
||||
stack[1].mUnk_04 = 0x1A;
|
||||
MI_CpuFill16(0, &stack[1].mUnk_06, 0x16);
|
||||
|
||||
CARD_ReadWriteBackupAsync(stack, SAVE_DATA_SIZE * 2, sizeof(stack_struct) * 2, 0, 0, 0, 7, 10, 2);
|
||||
CARD_WriteAndVerifyFlashAsync((u32) stack, (void *) (SAVE_DATA_SIZE * 2), sizeof(stack_struct) * 2, NULL, NULL);
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/gJJbb
|
||||
@@ -242,7 +237,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));
|
||||
_MI_CpuCopy(&this->mUnk_00[0], &this->mUnk_00[1], sizeof(SaveSub17));
|
||||
MI_CpuCopyFast(&this->mUnk_00[0], &this->mUnk_00[1], sizeof(SaveSub17));
|
||||
}
|
||||
|
||||
// non-matching
|
||||
@@ -265,13 +260,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));
|
||||
_MI_CpuCopy(&this->mUnk_000[0], &this->mUnk_000[1], sizeof(SaveSub15));
|
||||
MI_CpuCopyFast(&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));
|
||||
_MI_CpuCopy(&this->mSaveInfoData[0], &this->mSaveInfoData[1], sizeof(SaveInfoData));
|
||||
MI_CpuCopyFast(&this->mSaveInfoData[0], &this->mSaveInfoData[1], sizeof(SaveInfoData));
|
||||
}
|
||||
|
||||
//! TODO: weird sizeof
|
||||
@@ -296,13 +291,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));
|
||||
_MI_CpuCopy(&this->mUnk_00[0], &this->mUnk_00[1], sizeof(SaveSub16));
|
||||
MI_CpuCopyFast(&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));
|
||||
_MI_CpuCopy(&this->mTreasureData[0], &this->mTreasureData[1], sizeof(TreasureData));
|
||||
MI_CpuCopyFast(&this->mTreasureData[0], &this->mTreasureData[1], sizeof(TreasureData));
|
||||
}
|
||||
|
||||
// https://decomp.me/scratch/ibnQS
|
||||
@@ -325,15 +320,15 @@ ARM void SaveFile::func_ov019_020d16d0() {
|
||||
SaveSlot *pSub2 = &this->mSlots[this->mSaveSlotIndex];
|
||||
SaveSlot *pSub3 = &this->mSlots[saveSlotIndex];
|
||||
|
||||
_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));
|
||||
MI_CpuCopyFast(&pSub2->mSaveInfo, &pSub3->mSaveInfo, sizeof(SaveInfo));
|
||||
MI_CpuCopyFast(&pSub2->mTreasures, &pSub3->mTreasures, sizeof(SaveTreasures));
|
||||
MI_CpuCopyFast(&pSub2->mUnk_2600, &pSub3->mUnk_2600, sizeof(SaveSub7));
|
||||
|
||||
pSub3->mUnk_1D00.func_ov000_020a12a0();
|
||||
_MI_CpuCopy(&pSub2->mUnk_1D00, &pSub3->mUnk_1D00, sizeof(SaveSub5));
|
||||
MI_CpuCopyFast(&pSub2->mUnk_1D00, &pSub3->mUnk_1D00, sizeof(SaveSub5));
|
||||
|
||||
_MI_CpuFill(0, &pSub3->mUnk_2500, sizeof(SaveSub6));
|
||||
_MI_CpuCopy(&pSub2->mUnk_2500, &pSub3->mUnk_2500, sizeof(SaveSub6));
|
||||
MI_CpuClearFast(&pSub3->mUnk_2500, sizeof(SaveSub6));
|
||||
MI_CpuCopyFast(&pSub2->mUnk_2500, &pSub3->mUnk_2500, sizeof(SaveSub6));
|
||||
|
||||
this->mSaveSlotIndex = saveSlotIndex;
|
||||
this->func_ov019_020d1538();
|
||||
@@ -362,7 +357,7 @@ ARM void SaveFile::func_ov019_020d1808(unk32 param1) {
|
||||
SaveSlot *pSub2 = &this->mSlots[param1];
|
||||
stack_struct2 stack1[5];
|
||||
|
||||
if (CARD_ReadWriteBackupAsync(pSub2, param1 * SAVE_DATA_SIZE, sizeof(SaveSlot), 0, 0, 0, 6, 1, 0) == 0) {
|
||||
if (CARD_ReadFlashAsync((u32) pSub2, (void *) (param1 * SAVE_DATA_SIZE), sizeof(SaveSlot), NULL, NULL) == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -398,7 +393,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) {
|
||||
_MI_CpuCopy(puVar5, puVar5 + data_ov019_020d1bd4[i], data_ov019_020d1bd4[i]);
|
||||
MI_CpuCopyFast(puVar5, puVar5 + data_ov019_020d1bd4[i], data_ov019_020d1bd4[i]);
|
||||
this->mUnk_04E00[param1][1].mUnk_00 |= 1 << (i & 0xFF);
|
||||
}
|
||||
} else {
|
||||
@@ -407,7 +402,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 {
|
||||
_MI_CpuCopy(puVar5 + data_ov019_020d1bd4[i], puVar5, data_ov019_020d1bd4[i]);
|
||||
MI_CpuCopyFast(puVar5 + data_ov019_020d1bd4[i], puVar5, data_ov019_020d1bd4[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -432,7 +427,7 @@ ARM void SaveFile::func_ov019_020d1b14(unk32 param1) {
|
||||
pSVar3->mSaveInfo.func_ov000_020a1028();
|
||||
pSVar3->mSaveInfo.func_ov019_020d14fc();
|
||||
|
||||
_MI_CpuFill(0, &pSVar3->mTreasures, sizeof(SaveTreasures));
|
||||
MI_CpuClearFast(&pSVar3->mTreasures, sizeof(SaveTreasures));
|
||||
for (int i = 0; i < TreasureType_Max; i++) {
|
||||
pSVar3->mTreasures.mTreasureData[0].mUnk_3C[i] = TreasureType_None;
|
||||
}
|
||||
@@ -441,7 +436,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();
|
||||
|
||||
_MI_CpuFill(0, &this->mSlots[param1].mUnk_2500, 0x80);
|
||||
MI_CpuClearFast(&this->mSlots[param1].mUnk_2500, 0x80);
|
||||
this->mSlots[param1].mUnk_2500.func_ov019_020d15cc();
|
||||
|
||||
this->mSlots[param1].mUnk_2600.func_ov000_020a10f4();
|
||||
|
||||
Reference in New Issue
Block a user