diff --git a/GameSettings.cpp b/GameSettings.cpp index 471dc3579..aa65f0d6b 100644 --- a/GameSettings.cpp +++ b/GameSettings.cpp @@ -885,6 +885,7 @@ void LoadGameExternalOptions() gGameExternalOptions.usWorkerTrainingPoints = iniReader.ReadInteger( "Financial Settings", "WORKER_TRAINING_POINTS", 100, 1, 250 ); //################# Troubleshooting Settings ################# + gGameExternalOptions.gfCheatMode = iniReader.ReadBoolean("Troubleshooting Settings", "CHEAT_MODE", FALSE, false); gGameExternalOptions.gubDeadLockDelay = (UINT8) iniReader.ReadInteger("Troubleshooting Settings","DEAD_LOCK_DELAY",15, 5, 50); gGameExternalOptions.gfEnableEmergencyButton_SkipStrategicEvents = iniReader.ReadBoolean("Troubleshooting Settings","ENABLE_EMERGENCY_BUTTON_NUMLOCK_TO_SKIP_STRATEGIC_EVENTS",0); diff --git a/GameSettings.h b/GameSettings.h index be398428e..d799902a5 100644 --- a/GameSettings.h +++ b/GameSettings.h @@ -403,6 +403,7 @@ typedef struct /////////////////////////////////////// // System settings + BOOLEAN gfCheatMode; UINT8 gubDeadLockDelay; BOOLEAN gfEnableEmergencyButton_SkipStrategicEvents; diff --git a/SaveLoadGame.cpp b/SaveLoadGame.cpp index bb9db4574..d10543951 100644 --- a/SaveLoadGame.cpp +++ b/SaveLoadGame.cpp @@ -6733,7 +6733,10 @@ BOOLEAN LoadSavedGame( int ubSavedGameID ) //} #ifndef JA2TESTVERSION - RESET_CHEAT_LEVEL( ); + if (gGameExternalOptions.gfCheatMode) + ACTIVATE_CHEAT_LEVEL(); + else + RESET_CHEAT_LEVEL(); #endif #ifdef JA2BETAVERSION diff --git a/Strategic/Game Init.cpp b/Strategic/Game Init.cpp index 76f69e100..96de80e7d 100644 --- a/Strategic/Game Init.cpp +++ b/Strategic/Game Init.cpp @@ -1224,7 +1224,9 @@ void ReStartingGame() gpCustomizableTimerCallback = NULL; // WANNE - MP: Set cheat level to 0 for mp - if (!is_networked) + if (gGameExternalOptions.gfCheatMode) + gubCheatLevel = 6; + else if (!is_networked) gubCheatLevel = STARTING_CHEAT_LEVEL; else gubCheatLevel = 0;