File manager, plausible setup

This commit is contained in:
robojumper
2024-05-01 21:16:43 +02:00
parent b16a290037
commit cc3b62d6c1
8 changed files with 91 additions and 40 deletions
+1 -1
View File
@@ -159,6 +159,6 @@ public:
/* 80495a70 */ void *operator new(size_t size, EGG::Heap *heap, u32 align);
/* 80495a80 */ void *operator new(size_t size, EGG::Allocator *alloc);
/* 80495a90 */ void *operator new[](size_t size, u32 align);
/* 80495aa0 */ void *operator new[](size_t size, EGG::Heap *heap, int align);
/* 80495aa0 */ void *operator new[](size_t size, EGG::Heap *heap, u32 align);
#endif
+2 -1
View File
@@ -8,7 +8,8 @@
class mVec3_c : public EGG::Vector3f {
public:
/// @brief Constructs an empty vector.
mVec3_c() {}
/* 80009ee0 */ mVec3_c() {}
/* 80007460 */ ~mVec3_c() {}
/// @brief Constructs a vector from a float array.
mVec3_c(const f32 *p) {
+4 -3
View File
@@ -46,7 +46,7 @@ public:
/* 80009DB0 */ FileManager(); //
/* 80009EE0 */ // mVec3();
/* 80009EF0 */ static FileManager create(EGG::Heap *);
/* 80009EF0 */ static FileManager *create(EGG::Heap *);
/* 80009F30 */ bool loadSaveData(void *out, char *name, bool isSkipData);
/* 80009F70 */ void saveSaveData(void *unk, bool isSkipData);
/* 8000A000 */ void refreshSaveFileData();
@@ -57,7 +57,7 @@ public:
/* 8000A2E0 */ void fn_8000A2E0(); // idk something blank save files
/* 8000A330 */ u16 *getStoryFlagsMut();
/* 8000A360 */ u16 *getStoryFlagsConst();
/* 8000A360 */ const u16 *getStoryFlagsConst() const;
/* 8000A3B0 */ u16 *getItemFlagsMut();
/* 8000A3E0 */ u16 *getItemFlagsConst();
/* 8000A430 */ u16 *getDungeonFlagsMut();
@@ -243,6 +243,7 @@ public:
/* 80010440 */ void clearTempFileData();
/* 800104A0 */ void saveAfterCredits();
/* 80011210 */ SaveFile *getCurrentFile();
inline const SaveFile *getCurrentFile() const { return isFileInactive() ? &mFileB : &mFileA; }
/* 80011250 */ u16 *getSkipFlags2();
/* 80011260 */ SaveFile *getFileA();
/* 80011270 */ SaveFile *getFileB();
@@ -254,7 +255,7 @@ public:
/* 800113B0 */ u8 get_0xA84C();
/* 800113C0 */ bool checkRegionCode();
/* 80011440 */ bool checkFileCRC(int fileNum);
/* 80011490 */ bool isFileInactive();
/* 80011490 */ bool isFileInactive() const;
/* 80011500 */ void setPlayerInfoFileA();
/* 800115E0 */ void setT3Info(mVec3_c *pos, mAng3_c *rot);
/* 800116C0 */ static void getRegionVersion(char *out);
+7 -7
View File
@@ -1,20 +1,20 @@
#ifndef SAVE_FILE_H
#define SAVE_FILE_H
#include "UnknownTypeBelongings.h"
#include "m/m_vec.h"
#include <common.h>
// Ghidra: SaveFile
// Size: 0x53c0
// non-offical name
class SaveFile {
struct SaveFile {
public:
/* 0x 0000 */ char field_0x0000[0x8 - 0x0];
/* 0x 0008 */ s64 savedTime;
/* 0x 0010 */ Vec3f pos_t1;
/* 0x 001c */ Vec3f pos_t2;
/* 0x 0028 */ Vec3f pos_t3;
/* 0x 0034 */ Vec3f beacon_pos[32][5];
/* 0x 0010 */ mVec3_c pos_t1;
/* 0x 001c */ mVec3_c pos_t2;
/* 0x 0028 */ mVec3_c pos_t3;
/* 0x 0034 */ mVec3_c beacon_pos[32][5];
/* 0x 07b4 */ s32 beedleShopPathSegment;
/* 0x 07b8 */ f32 beedlShopPathSegFrac;
/* 0x 07bc */ char field_0x07BC[0x7c0 - 0x7bc];
@@ -86,7 +86,7 @@ public:
// ----------------------------------------------------------
public:
/* 800099b0 */ u16 *getStoryFlags0();
/* 800099c0 */ u16 *getStoryFlags1();
/* 800099c0 */ const u16 *getStoryFlags1() const;
/* 800099d0 */ u16 *getItemFlags0();
/* 800099e0 */ u16 *getItemFlags1();
/* 800099F0 */ u16 *getDungeonFlags0();