From fd528e418c0ab4b77cf7a926abe4d721f9f1fe64 Mon Sep 17 00:00:00 2001 From: Shadooow Date: Mon, 21 Jun 2021 16:50:14 +0000 Subject: [PATCH] new feature: CHEAT_MODE, new option in Ja2_Options.ini to automatically enable cheat mode in every loaded game or new replay git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9096 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameSettings.cpp | 1 + GameSettings.h | 1 + SaveLoadGame.cpp | 5 ++++- Strategic/Game Init.cpp | 4 +++- 4 files changed, 9 insertions(+), 2 deletions(-) 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;