diff --git a/source/save_basic.c b/source/save_basic.c index 331cbe5..0ffd4ea 100644 --- a/source/save_basic.c +++ b/source/save_basic.c @@ -4,6 +4,7 @@ #include "save_basic.h" static gameDataSav save_data = {0}; +static Hashes HASHES = {.PLAYER_POSITION = 0xa40ba103}; void openSave() { Result rc = 0; @@ -37,7 +38,26 @@ void openSave() { printf("Save data mounted successfully!\n"); } +u32 readU32FromAddr(u32 addr) { + // TODO: Implement reading u32 from save file address + return 0; +} + +float readF32FromAddr(u32 addr) { + // TODO: Implement reading float from save file address + return 0.0f; +} + +void writeF32ToAddr(u32 addr, float value) { + // TODO: Implement writing float to save file address +} + void processSave() { printf("Processing save data...\n"); - // TODO: Implement actual save processing + // TODO: Load save file into memory for processing +} + +void writeSave() { + printf("Writing save data...\n"); + // TODO: Write modified data back to save file } \ No newline at end of file diff --git a/source/save_basic.h b/source/save_basic.h index 64c58ab..0dbdf3a 100644 --- a/source/save_basic.h +++ b/source/save_basic.h @@ -9,7 +9,20 @@ typedef struct char * saveFile; } gameDataSav; +typedef struct { + u32 PLAYER_POSITION; +} Hashes; + +typedef union Float { + float m_float; + u8 m_bytes[sizeof(float)]; +} Float; + +u32 readU32FromAddr(u32 addr); +float readF32FromAddr(u32 addr); +void writeF32ToAddr(u32 addr, float value); void processSave(); void openSave(); +void writeSave(); #endif \ No newline at end of file