mirror of
https://github.com/HarbourMasters/Starship
synced 2026-07-04 05:30:36 -04:00
This should fix saves
This commit is contained in:
+2
-2
@@ -63,8 +63,8 @@ typedef struct {
|
||||
s32 Save_Write(void);
|
||||
s32 Save_Read(void);
|
||||
|
||||
void Save_ReadData(void);
|
||||
void Save_WriteData(void);
|
||||
bool Save_ReadData(void);
|
||||
bool Save_WriteData(void);
|
||||
|
||||
s32 Save_WriteEeprom(SaveFile*);
|
||||
s32 Save_ReadEeprom(SaveFile*);
|
||||
|
||||
@@ -44,15 +44,17 @@ s32 Save_Write(void) {
|
||||
gSaveFile.save.checksum = Save_Checksum(&gSaveFile.save);
|
||||
gSaveFile.backup = gSaveFile.save;
|
||||
gSaveIOBuffer = gSaveFile;
|
||||
Save_WriteData();
|
||||
return 0;
|
||||
return Save_WriteData();
|
||||
}
|
||||
|
||||
s32 Save_Read(void) {
|
||||
OSMesg* sp24;
|
||||
s32 i;
|
||||
|
||||
Save_ReadData();
|
||||
if(!Save_ReadData()){
|
||||
return 0;
|
||||
}
|
||||
|
||||
gSaveFile = gSaveIOBuffer;
|
||||
|
||||
if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) {
|
||||
|
||||
@@ -1875,8 +1875,12 @@ void Option_Data_Update(void) {
|
||||
|
||||
if (temp_fv0 == 0.0f) {
|
||||
D_menu_801B91CC = 3;
|
||||
|
||||
#ifdef AVOID_UB
|
||||
gSaveFile.save = gDefaultSave;
|
||||
gSaveFile.backup = gDefaultSave;
|
||||
#else
|
||||
gSaveFile = *(SaveFile*) &gDefaultSave;
|
||||
#endif
|
||||
|
||||
Save_Write();
|
||||
|
||||
|
||||
+4
-12
@@ -98,20 +98,12 @@ void Controller_ReadData(void) {
|
||||
osSendMesg(&gControllerMesgQueue, OS_MESG_32(SI_CONT_READ_DONE), OS_MESG_PRI_NORMAL);
|
||||
}
|
||||
|
||||
void Save_ReadData(void) {
|
||||
if ((gStartNMI == 0) && (Save_ReadEeprom(&gSaveIOBuffer) == 0)) {
|
||||
osSendMesg(&gSaveMesgQueue, OS_MESG_32(SI_SAVE_SUCCESS), OS_MESG_PRI_NORMAL);
|
||||
return;
|
||||
}
|
||||
osSendMesg(&gSaveMesgQueue, OS_MESG_32(SI_SAVE_FAILED), OS_MESG_PRI_NORMAL);
|
||||
bool Save_ReadData(void) {
|
||||
return Save_ReadEeprom(&gSaveIOBuffer) == 0;
|
||||
}
|
||||
|
||||
void Save_WriteData(void) {
|
||||
if ((gStartNMI == 0) && (Save_WriteEeprom(&gSaveIOBuffer) == 0)) {
|
||||
osSendMesg(&gSaveMesgQueue, OS_MESG_32(SI_SAVE_SUCCESS), OS_MESG_PRI_NORMAL);
|
||||
return;
|
||||
}
|
||||
osSendMesg(&gSaveMesgQueue, OS_MESG_32(SI_SAVE_FAILED), OS_MESG_PRI_NORMAL);
|
||||
bool Save_WriteData(void) {
|
||||
return Save_WriteEeprom(&gSaveIOBuffer) == 0;
|
||||
}
|
||||
|
||||
void Controller_Rumble(void) {
|
||||
|
||||
Reference in New Issue
Block a user