Merge branch 'audio_fixes_v2' of https://github.com/HarbourMasters/Starship into audio_fixes_v2

This commit is contained in:
Sonic Dreamcaster 2024-11-17 00:21:42 -03:00
commit ce479c7202
5 changed files with 29 additions and 30 deletions

View File

@ -63,8 +63,8 @@ typedef struct {
s32 Save_Write(void); s32 Save_Write(void);
s32 Save_Read(void); s32 Save_Read(void);
void Save_ReadData(void); bool Save_ReadData(void);
void Save_WriteData(void); bool Save_WriteData(void);
s32 Save_WriteEeprom(SaveFile*); s32 Save_WriteEeprom(SaveFile*);
s32 Save_ReadEeprom(SaveFile*); s32 Save_ReadEeprom(SaveFile*);

View File

@ -44,15 +44,17 @@ s32 Save_Write(void) {
gSaveFile.save.checksum = Save_Checksum(&gSaveFile.save); gSaveFile.save.checksum = Save_Checksum(&gSaveFile.save);
gSaveFile.backup = gSaveFile.save; gSaveFile.backup = gSaveFile.save;
gSaveIOBuffer = gSaveFile; gSaveIOBuffer = gSaveFile;
Save_WriteData(); return Save_WriteData();
return 0;
} }
s32 Save_Read(void) { s32 Save_Read(void) {
OSMesg* sp24; OSMesg* sp24;
s32 i; s32 i;
Save_ReadData(); if(!Save_ReadData()){
return 0;
}
gSaveFile = gSaveIOBuffer; gSaveFile = gSaveIOBuffer;
if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) { if (gSaveFile.save.checksum == Save_Checksum(&gSaveFile.save)) {

View File

@ -366,16 +366,16 @@ void Option_Setup(void) {
bool playedExpertMode; bool playedExpertMode;
s32 i; s32 i;
#if MODS_LEVEL_SELECT == 1 // @port: Force expert mode: Warning this
for (i = 0; i < ARRAY_COUNT(gSaveFile.save.data.planet); i++) { if (CVarGetInteger("gForceExpertMode", 0) == 1) {
gSaveFile.save.data.planet[i].expertClear = 1; for (i = 0; i < ARRAY_COUNT(gSaveFile.save.data.planet); i++) {
gSaveFile.save.data.planet[i].normalClear = 1; gSaveFile.save.data.planet[i].expertClear = 1;
gSaveFile.save.data.planet[i].normalMedal = 1; gSaveFile.save.data.planet[i].normalClear = 1;
gSaveFile.save.data.planet[i].expertMedal = 1; gSaveFile.save.data.planet[i].normalMedal = 1;
gSaveFile.save.data.planet[i].played = 1; gSaveFile.save.data.planet[i].expertMedal = 1;
gSaveFile.save.data.planet[i].played = 1;
}
} }
Save_Write();
#endif
gVIsPerFrame = 2; gVIsPerFrame = 2;
sOptionCardList[OPTION_MAP].tex.texture = aMainGameCardTex; sOptionCardList[OPTION_MAP].tex.texture = aMainGameCardTex;
@ -1437,17 +1437,14 @@ void Option_Sound_SetVolumeLevels(void) {
switch (D_menu_801B9288 - 1) { switch (D_menu_801B9288 - 1) {
case 0: case 0:
gSaveFile.save.data.musicVolume = var_v1; gSaveFile.save.data.musicVolume = var_v1;
CVarSetFloat("gMainMusicVolume", var_v1 / 100.0f);
break; break;
case 1: case 1:
gSaveFile.save.data.voiceVolume = var_v1; gSaveFile.save.data.voiceVolume = var_v1;
CVarSetFloat("gVoiceVolume", var_v1 / 100.0f);
break; break;
case 2: case 2:
gSaveFile.save.data.sfxVolume = var_v1; gSaveFile.save.data.sfxVolume = var_v1;
CVarSetFloat("gSFXMusicVolume", var_v1 / 100.0f);
break; break;
} }
Audio_SetVolume(D_menu_801B924C, var_v1); Audio_SetVolume(D_menu_801B924C, var_v1);
@ -1878,8 +1875,12 @@ void Option_Data_Update(void) {
if (temp_fv0 == 0.0f) { if (temp_fv0 == 0.0f) {
D_menu_801B91CC = 3; D_menu_801B91CC = 3;
#ifdef AVOID_UB
gSaveFile.save = gDefaultSave;
gSaveFile.backup = gDefaultSave;
#else
gSaveFile = *(SaveFile*) &gDefaultSave; gSaveFile = *(SaveFile*) &gDefaultSave;
#endif
Save_Write(); Save_Write();

View File

@ -485,6 +485,10 @@ void DrawDebugMenu() {
.tooltip = "Allows you to select any level from the main menu" .tooltip = "Allows you to select any level from the main menu"
}); });
UIWidgets::CVarCheckbox("Enable Expert Mode", "gForceExpertMode", {
.tooltip = "Allows you to force expert mode"
});
UIWidgets::CVarCheckbox("SFX Jukebox", "gSfxJukebox", { UIWidgets::CVarCheckbox("SFX Jukebox", "gSfxJukebox", {
.tooltip = "Allows you to play sound effects from the game" .tooltip = "Allows you to play sound effects from the game"
}); });

View File

@ -98,20 +98,12 @@ void Controller_ReadData(void) {
osSendMesg(&gControllerMesgQueue, OS_MESG_32(SI_CONT_READ_DONE), OS_MESG_PRI_NORMAL); osSendMesg(&gControllerMesgQueue, OS_MESG_32(SI_CONT_READ_DONE), OS_MESG_PRI_NORMAL);
} }
void Save_ReadData(void) { bool Save_ReadData(void) {
if ((gStartNMI == 0) && (Save_ReadEeprom(&gSaveIOBuffer) == 0)) { return 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);
} }
void Save_WriteData(void) { bool Save_WriteData(void) {
if ((gStartNMI == 0) && (Save_WriteEeprom(&gSaveIOBuffer) == 0)) { return 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);
} }
void Controller_Rumble(void) { void Controller_Rumble(void) {