From f78d18ec10f44c3ecdde32d545e51d3eae7cf180 Mon Sep 17 00:00:00 2001 From: Flugente Date: Wed, 22 Jul 2015 21:42:25 +0000 Subject: [PATCH] Cheats are activated/deactivatesd by [Ctrl] + G. [Ctrl] + GABBI is longer in use. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7926 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Cheats.h | 32 +++--------- Strategic/Game Init.cpp | 1 + Tactical/Turn Based Input.cpp | 91 +++++++++++++---------------------- 3 files changed, 40 insertions(+), 84 deletions(-) diff --git a/Cheats.h b/Cheats.h index c72c434e..28cede82 100644 --- a/Cheats.h +++ b/Cheats.h @@ -3,43 +3,23 @@ #include "Language Defines.h" - extern UINT8 gubCheatLevel; - - - // GLOBALS FOR CHEAT MODE...... -#ifdef GERMAN - #ifdef JA2TESTVERSION - #define STARTING_CHEAT_LEVEL 7 - #elif defined JA2BETAVERSION - #define STARTING_CHEAT_LEVEL 5 - #else - #define STARTING_CHEAT_LEVEL 0 - #endif +#ifdef JA2TESTVERSION + #define STARTING_CHEAT_LEVEL 6 +#elif defined JA2BETAVERSION + #define STARTING_CHEAT_LEVEL 3 #else - #ifdef JA2TESTVERSION - #define STARTING_CHEAT_LEVEL 6 - #elif defined JA2BETAVERSION - #define STARTING_CHEAT_LEVEL 3 - #else - #define STARTING_CHEAT_LEVEL 0 - #endif + #define STARTING_CHEAT_LEVEL 0 #endif - // ATE: remove cheats unless we're doing a debug build -//#ifdef JA2TESTVERSION #define INFORMATION_CHEAT_LEVEL( ) ( gubCheatLevel >= 3 ) #define CHEATER_CHEAT_LEVEL( ) ( gubCheatLevel >= 5 ) #define DEBUG_CHEAT_LEVEL( ) ( gubCheatLevel >= 6 ) -//#else -// #define INFORMATION_CHEAT_LEVEL( ) ( FALSE ) -// #define CHEATER_CHEAT_LEVEL( ) ( FALSE ) -// #define DEBUG_CHEAT_LEVEL( ) ( FALSE ) -//#endif #define RESET_CHEAT_LEVEL( ) ( gubCheatLevel = 0 ) +#define ACTIVATE_CHEAT_LEVEL() ( gubCheatLevel = 6 ) #endif \ No newline at end of file diff --git a/Strategic/Game Init.cpp b/Strategic/Game Init.cpp index 2e6a06c2..55ac0f60 100644 --- a/Strategic/Game Init.cpp +++ b/Strategic/Game Init.cpp @@ -102,6 +102,7 @@ extern BOOLEAN gfGamePaused; extern UNDERGROUND_SECTORINFO* FindUnderGroundSector( INT16 sMapX, INT16 sMapY, UINT8 bMapZ ); +UINT8 gubCheatLevel = STARTING_CHEAT_LEVEL; UINT8 gubScreenCount=0; diff --git a/Tactical/Turn Based Input.cpp b/Tactical/Turn Based Input.cpp index 17961063..5287f3f1 100644 --- a/Tactical/Turn Based Input.cpp +++ b/Tactical/Turn Based Input.cpp @@ -260,10 +260,6 @@ void DumpSectorDifficultyInfo( void ); void HandleStealthChangeFromUIKeys( ); - - -UINT8 gubCheatLevel = STARTING_CHEAT_LEVEL; - extern BOOLEAN CompatibleAmmoForGun( OBJECTTYPE *pTryObject, OBJECTTYPE *pTestObject ); extern void DetermineWhichAssignmentMenusCanBeShown( void ); extern void DetermineWhichMilitiaControlMenusCanBeShown( void ); //lalien @@ -344,6 +340,7 @@ void HandleTacticalMoveItems( void ); void TacticalInventoryMessageBoxCallBack( UINT8 ubExitValue ); void HandleTacticalCoverMenu( void ); void TacticalCoverMessageBoxCallBack( UINT8 ubExitValue ); +void ActivateCheatsMessageBoxCallBack( UINT8 ubExitValue ); void HandleTacticalAmmoCrates( UINT8 magType ); void HandleTacticalTransformItem( void ); BOOLEAN FindTransformation( UINT16 usItem, TransformInfoStruct **pTransformation ); @@ -1613,7 +1610,6 @@ void GetKeyboardInput( UINT32 *puiNewEvent ) static BOOLEAN fShifted2 = FALSE; static BOOLEAN fAltDown = FALSE; INT32 usMapPos; - BOOLEAN fGoodCheatLevelKey = FALSE; CHAR16 zString[128]; @@ -3006,15 +3002,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent ) if ( fCtrl ) { - if ( gubCheatLevel == 1 ) - { - gubCheatLevel++; - fGoodCheatLevelKey = TRUE; - } - else - { - RESET_CHEAT_LEVEL(); - } + // free to use } else if ( fAlt ) { @@ -3059,25 +3047,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent ) } else if( fCtrl ) { - if ( gubCheatLevel == 2 ) - { - gubCheatLevel++; - fGoodCheatLevelKey = TRUE; - } - else if ( gubCheatLevel == 3 ) - { - gubCheatLevel++; - fGoodCheatLevelKey = TRUE; - } - else if ( gubCheatLevel == 5 ) - { - gubCheatLevel++; - fGoodCheatLevelKey = TRUE; - } - else - { - RESET_CHEAT_LEVEL( ); - } + // free to use } else { @@ -3356,19 +3326,21 @@ void GetKeyboardInput( UINT32 *puiNewEvent ) } else if( fCtrl ) { - if ( gubCheatLevel == 0 ) + // Flugente: ask player whether he wants to activate cheats or not, but not in multiplayer + if ( !is_networked ) { - gubCheatLevel++; - fGoodCheatLevelKey = TRUE; - } - else - { - RESET_CHEAT_LEVEL(); + if ( CHEATER_CHEAT_LEVEL() ) + { + DoScreenIndependantMessageBox( pMessageStrings[MSG_PROMPT_CHEATS_DEACTIVATE], MSG_BOX_FLAG_YESNO, ActivateCheatsMessageBoxCallBack ); + } + else + { + DoScreenIndependantMessageBox( pMessageStrings[MSG_PROMPT_CHEATS_ACTIVATE], MSG_BOX_FLAG_YESNO, ActivateCheatsMessageBoxCallBack ); + } } } else if ( fAlt ) { - if ( CHEATER_CHEAT_LEVEL( ) ) { *puiNewEvent = I_NEW_MERC; @@ -3452,18 +3424,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent ) } else if( fCtrl ) { - if ( gubCheatLevel == 4 ) - { - gubCheatLevel++; - fGoodCheatLevelKey = TRUE; - // ATE; We're done.... start cheat mode.... - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_CHEAT_LEVEL_TWO ] ); - SetHistoryFact( HISTORY_CHEAT_ENABLED, 0, GetWorldTotalMin(), -1, -1 ); - } - else - { - RESET_CHEAT_LEVEL(); - } + // free to use } else { @@ -4422,11 +4383,6 @@ void GetKeyboardInput( UINT32 *puiNewEvent ) break; } - - if ( !fGoodCheatLevelKey && gubCheatLevel < 4 ) - { - RESET_CHEAT_LEVEL( ); - } } } } @@ -8232,6 +8188,25 @@ void TacticalCoverMessageBoxCallBack( UINT8 ubExitValue ) ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, szTacticalCoverDialogPrintString[ubExitValue-1]); } +void ActivateCheatsMessageBoxCallBack( UINT8 ubExitValue ) +{ + if ( ubExitValue == MSG_BOX_RETURN_YES ) + { + if ( CHEATER_CHEAT_LEVEL( ) ) + { + RESET_CHEAT_LEVEL( ); + } + else + { + ACTIVATE_CHEAT_LEVEL( ); + + // ATE; We're done.... start cheat mode.... + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[MSG_CHEAT_LEVEL_TWO] ); + SetHistoryFact( HISTORY_CHEAT_ENABLED, 0, GetWorldTotalMin( ), -1, -1 ); + } + } +} + void HandleTacticalTransformItem( void ) { UINT16 usItem;