diff --git a/GameSettings.cpp b/GameSettings.cpp index a7901a76..6656cfed 100644 --- a/GameSettings.cpp +++ b/GameSettings.cpp @@ -904,7 +904,16 @@ void LoadGameExternalOptions() gGameExternalOptions.giCivilianTurnSpeedUpFactor = iniReader.ReadFloat("Graphics Settings","CIVILIAN_TURN_SPEED_UP_FACTOR",1.0, 0, 1.0); gGameExternalOptions.gfUseExternalLoadscreens = iniReader.ReadBoolean("Graphics Settings","USE_EXTERNALIZED_LOADSCREENS", FALSE); - gGameExternalOptions.gfUseLoadScreenHints = iniReader.ReadBoolean("Graphics Settings","USE_LOADSCREENHINTS", TRUE); + + if (!is_networked) + gGameExternalOptions.gfUseLoadScreenHints = iniReader.ReadBoolean("Graphics Settings","USE_LOADSCREENHINTS", TRUE); + else + gGameExternalOptions.gfUseLoadScreenHints = FALSE; + + if (!is_networked) + gGameExternalOptions.ubAdditionalDelayUntilLoadScreenDisposal = iniReader.ReadInteger("Graphics Settings","ADDITIONAL_DELAY_UNTIL_LOADSCREEN_DISPOSAL", 2, 0, 10); + else + gGameExternalOptions.ubAdditionalDelayUntilLoadScreenDisposal = 0; //tais: enable/disable New Starting Gear Interface (0 = disabled, classic style; 1 = enabled, new 21 item view and up to 5 gearkit selection) gGameExternalOptions.gfUseNewStartingGearInterface = iniReader.ReadBoolean("Graphics Settings","USE_NEW_STARTING_GEAR_INTERFACE", FALSE); diff --git a/GameSettings.h b/GameSettings.h index 9349b1d5..5b688d28 100644 --- a/GameSettings.h +++ b/GameSettings.h @@ -627,6 +627,7 @@ typedef struct BOOLEAN gfUseExternalLoadscreens; BOOLEAN gfUseLoadScreenHints; // added by Flugente + UINT32 ubAdditionalDelayUntilLoadScreenDisposal; // added by WANNE to have time to read the load screen hints //tais: nsgi BOOLEAN gfUseNewStartingGearInterface; diff --git a/Utils/Animated ProgressBar.cpp b/Utils/Animated ProgressBar.cpp index 3646dd0b..48978377 100644 --- a/Utils/Animated ProgressBar.cpp +++ b/Utils/Animated ProgressBar.cpp @@ -30,6 +30,10 @@ UINT16 gusLeftmostShaded = 0; extern BOOLEAN bShowSmallImage; +// Flugente: stuff needed for loadscreen hints +extern UINT16 num_found_loadscreenhints; +static UINT16 usCurrentLoadScreenHint = 0; + void CreateLoadingScreenProgressBar() { ResetLoadScreenHint(); @@ -69,6 +73,12 @@ void CreateLoadingScreenProgressBar() void RemoveLoadingScreenProgressBar() { + // WANNE: Sleep for a while, so we have time to read the load screen hint + if (gGameExternalOptions.gfUseLoadScreenHints && gGameExternalOptions.ubAdditionalDelayUntilLoadScreenDisposal > 0 && usCurrentLoadScreenHint ) + { + Sleep(gGameExternalOptions.ubAdditionalDelayUntilLoadScreenDisposal * 1000); + } + RemoveProgressBar( 0 ); SetFontShadow(DEFAULT_SHADOW); } @@ -222,10 +232,6 @@ void RemoveProgressBar( UINT8 ubID ) } } -// Flugente: stuff needed for loadscreen hints -extern UINT16 num_found_loadscreenhints; -static UINT16 usCurrentLoadScreenHint = 0; - void ResetLoadScreenHint() { usCurrentLoadScreenHint = 0;