diff --git a/src/d/d_bright_check.cpp b/src/d/d_bright_check.cpp index 7ec4f09b10..b9ea46e58e 100644 --- a/src/d/d_bright_check.cpp +++ b/src/d/d_bright_check.cpp @@ -191,6 +191,14 @@ void dBrightCheck_c::modeMove() { mDoAud_seStart(Z2SE_ENTER_GAME, NULL, 0, 0); #ifdef TARGET_PC toggleAutoSave(true); + + if (!dusk::getSettings().game.hideTvSettingsScreen) { + const dusk::gamemode::GameMode* gameMode = + dusk::gamemode::getGameModeManager().getCurrentGameMode(); + if (gameMode) { + gameMode->invokeOnSaveLoadedFunction(); + } + } #endif mCompleteCheck = true; mMode = MODE_WAIT_e; diff --git a/src/d/d_file_select.cpp b/src/d/d_file_select.cpp index 4b23d3ded9..3f64b8b239 100644 --- a/src/d/d_file_select.cpp +++ b/src/d/d_file_select.cpp @@ -1789,10 +1789,16 @@ void dFile_select_c::nameInput2() { #if TARGET_PC dusk::mods::svc::save_slot_new(mSelectNum); const dusk::gamemode::GameMode* gameMode = - dusk::gamemode::getGameModeManager().getCurrentGameMode(); + dusk::gamemode::getGameModeManager().getCurrentGameMode(); if (gameMode) { gameMode->invokeOnNewSaveFunction(); - gameMode->invokeOnSaveLoadedFunction(); + } + + // only do OnSaveLoaded callback here if hiding the brightness check screen + if (dusk::getSettings().game.hideTvSettingsScreen) { + if (gameMode) { + gameMode->invokeOnSaveLoadedFunction(); + } } #endif mDataSelProc = DATASELPROC_NEXT_MODE_WAIT;