Decompile overlay 1 (Part 4) (#97)

* UnkStruct_027e095c_001 OK

* UnkStruct_027e095c_001 OK (JP)

* SysNew_001 OK

* SaveManager_001 98%

* UnkStruct_027e09bc_001 OK

* MapObjectManager_001 OK

* ActorManager_001 OK

* remove useless thumb pragmas

* ItemManager_001 OK

* fix regressions

* fix build issues
This commit is contained in:
Yanis
2026-07-02 20:56:08 +02:00
committed by GitHub
parent 66eb66f081
commit f0dfb70749
73 changed files with 1223 additions and 440 deletions
+8
View File
@@ -332,6 +332,14 @@ struct SaveFile_00000_2600_Data {
/* 80 */
};
struct GameSaveSlot {
/* 0000 */ SaveInfoData mInfoData;
/* 0E00 */ SaveTreasureData mTreasureData;
/* 0E80 */ SaveFile_00000_2600_Data mUnk_2600;
/* 0F00 */ SaveFile_00000_1D00_Data mUnk_1D00;
/* 1300 */
};
class SaveSlot {
public:
/* 0000 */ SaveInfoData mInfoData[COUNT_DATA];
+20 -4
View File
@@ -9,6 +9,7 @@
#include "global.h"
#include "types.h"
#include <nitro/card.h>
#include <nitro/mi.h>
#define SAVE_DATA_SIZE (sizeof(SaveSlot) + sizeof(u8) * NUM_UNK_BLOCKS * SIZE_UNK_BLOCK)
@@ -36,23 +37,37 @@ struct SaveManager_00 {
unk_B78(param1) {}
};
class SaveManager_244 {
public:
/* 00 */ STRUCT_PAD(0x00, 0x7E);
/* 7E */ u16 mUnk_7E;
/* 80 */
SaveManager_244();
};
class SaveManager {
public:
/* 000 */ SaveManager_00 *mUnk_000; // related to mUnk_184, allocated from func_ov001_020ba670
/* 004 */ unk32 mUnk_004;
/* 008 */ STRUCT_PAD(0x08, 0x204);
/* 204 */ unk16 mUnk_204;
/* 206 */ unk16 mUnk_206;
/* 204 */ u16 mCardId;
/* 206 */ s16 mUnk_206; // this is a save slot index?
/* 208 */ unk16 mUnk_208;
/* 20A */ u8 mUnk_20A; // bool?
/* 20B */ unk8 mUnk_20B;
/* 20C */ unk32 mUnk_20C;
/* 20C */ CARDResult mResultCode;
/* 210 */ unk32 mUnk_210;
/* 214 */ unk32 mUnk_214;
/* 218 */ SaveFile *mpSaveFile;
/* 21C */ SaveFile_00000_0000_Data_D9C mUnk_21C;
/* 23C */ PTMF<SaveFile>::PTMFCallback mUnk_23C;
/* 244 */ void *mUnk_244;
/* 244 */ SaveManager_244 *mUnk_244;
/* 248 */
const size_t GetOffset() const {
return mUnk_206 * 0x7A700;
}
bool IsUnk20A() {
return this->mUnk_20A == 0;
@@ -94,6 +109,7 @@ public:
void func_ov019_020d09dc(u16 saveSlotIndex);
void func_ov019_020d0a04(u16 saveSlotIndex);
void func_ov019_020d0ae0(unk32 param1);
void func_ov001_020ba858(void);
static void func_ov019_020d086c(u16 param1);
static void func_ov019_020d0a2c(u16 param1);