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_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*);

View File

@ -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)) {

View File

@ -366,16 +366,16 @@ void Option_Setup(void) {
bool playedExpertMode;
s32 i;
#if MODS_LEVEL_SELECT == 1
for (i = 0; i < ARRAY_COUNT(gSaveFile.save.data.planet); i++) {
gSaveFile.save.data.planet[i].expertClear = 1;
gSaveFile.save.data.planet[i].normalClear = 1;
gSaveFile.save.data.planet[i].normalMedal = 1;
gSaveFile.save.data.planet[i].expertMedal = 1;
gSaveFile.save.data.planet[i].played = 1;
// @port: Force expert mode: Warning this
if (CVarGetInteger("gForceExpertMode", 0) == 1) {
for (i = 0; i < ARRAY_COUNT(gSaveFile.save.data.planet); i++) {
gSaveFile.save.data.planet[i].expertClear = 1;
gSaveFile.save.data.planet[i].normalClear = 1;
gSaveFile.save.data.planet[i].normalMedal = 1;
gSaveFile.save.data.planet[i].expertMedal = 1;
gSaveFile.save.data.planet[i].played = 1;
}
}
Save_Write();
#endif
gVIsPerFrame = 2;
sOptionCardList[OPTION_MAP].tex.texture = aMainGameCardTex;
@ -1437,17 +1437,14 @@ void Option_Sound_SetVolumeLevels(void) {
switch (D_menu_801B9288 - 1) {
case 0:
gSaveFile.save.data.musicVolume = var_v1;
CVarSetFloat("gMainMusicVolume", var_v1 / 100.0f);
break;
case 1:
gSaveFile.save.data.voiceVolume = var_v1;
CVarSetFloat("gVoiceVolume", var_v1 / 100.0f);
break;
case 2:
gSaveFile.save.data.sfxVolume = var_v1;
CVarSetFloat("gSFXMusicVolume", var_v1 / 100.0f);
break;
}
Audio_SetVolume(D_menu_801B924C, var_v1);
@ -1878,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();

View File

@ -485,6 +485,10 @@ void DrawDebugMenu() {
.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", {
.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);
}
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) {