diff --git a/src/cheat.c b/src/cheat.c index 90a020752..18cc493c0 100644 --- a/src/cheat.c +++ b/src/cheat.c @@ -6,95 +6,57 @@ #include "console.h" #include "keybind.h" -static BOOL bAllowCheatCodes = TRUE; - typedef struct _cheat_entry { -STRING *pName; -void (*function)(void); // pointer to void* function + STRING *pName; + void (*function)(void); // pointer to void* function } CHEAT_ENTRY; CHEAT_ENTRY cheatCodes[] = { -// {"OPHZM",kf_TogglePower}, //power // {"VQKZMY^\\Z",kf_ToggleOverlays},//interface -// {"XVIZ ^SS",kf_AllAvailable}, // give all // {"LWPH R^OOVQXL",kf_ShowMappings},//show mappings // {"KZROS^KZL",kf_GiveTemplateSet},//templates // {"LZSZ\\K ^SS",kf_SelectAllCombatUnits},//select all -// {"YMPR ^]PIZ",kf_ToggleGodMode},//from above // {"SZK KWZMZ ]Z SVXWK",kf_RecalcLighting},//let there be light -// {"YVQVLW QPH",kf_FinishResearch},//finish now // {"PJKSVQZ,",kf_ToggleOutline}, // {"L\\MZZQ[JRO",kf_ScreenDump}, //screendump -// {"M^QXZL",kf_ToggleSensorDisplay},//ranges -// {"JQVK LK^KL",kf_DebugDroidInfo},//unit stats - {"W^SSP RZVQ L\\W^KE",kf_AddMissionOffWorld},//let me win - {"KVRZ[ZRP",kf_FrameRate}, //timedemo - {"TVSS LZsZ\\KZ[",kf_KillSelected},//kill slected - {"[ZRP RP[Z",kf_ToggleDemoMode}, //demo mode - {"UPWQ TZKKSZF",kf_ToggleWeather},//john kettley - {"WPH Y^LK",kf_FrameRate},//how fast? - {"LW^TZF",kf_ToggleShakeStatus},//shakey - {"RPJLZYSVO",kf_ToggleMouseInvert},//mouseflip - {"]VYYZM ]^TZM",kf_SetKillerLevel},//biffa - {"LO^MTSZ XMZZQ",kf_SetKillerLevel}, //biffa - {"Z^LF",kf_SetEasyLevel},//easy - {"QPMR^S",kf_SetNormalLevel},//normal - {"W^M[",kf_SetHardLevel},//hard - {"[PJ]SZ JO",kf_SetToughUnitsLevel}, // your units take half the damage - {"HW^SZ YVQ",kf_TogglePower}, // turns on/off infinte power - {"XZK PYY RF S^Q[",kf_KillEnemy}, // kills all enemy units and structures - {"IZMLVPQ",kf_BuildInfo}, // tells you when the game was built - {"KVRZ KPXXSZ",kf_ToggleMissionTimer}, - {"HPMT W^M[ZM",kf_FinishResearch}, - {"\\^MPS IPM[ZMR^Q",kf_NoFaults},//carol vorderman + {"give all", kf_AllAvailable}, // give all + {"deity", kf_ToggleGodMode}, //from above + {"droidinfo", kf_DebugDroidInfo}, //show unit stats + {"sensors", kf_ToggleSensorDisplay}, //show sensor ranges + {"let me win", kf_AddMissionOffWorld}, //let me win + {"timedemo", kf_FrameRate}, //timedemo + {"kill", kf_KillSelected}, //kill slected + {"demo", kf_ToggleDemoMode}, //demo mode + {"john kettley", kf_ToggleWeather}, //john kettley + {"shakey", kf_ToggleShakeStatus}, //shakey + {"mouseflip", kf_ToggleMouseInvert}, //mouseflip + {"biffer baker", kf_SetKillerLevel}, //indestructive units + {"easy", kf_SetEasyLevel}, //easy + {"normal", kf_SetNormalLevel}, //normal + {"hard", kf_SetHardLevel}, //hard + {"double up", kf_SetToughUnitsLevel}, // your units take half the damage + {"whale fin", kf_TogglePower}, // turns on/off infinte power + {"get off my land", kf_KillEnemy}, // kills all enemy units and structures + {"build info", kf_BuildInfo}, // tells you when the game was built + {"time toggle", kf_ToggleMissionTimer}, + {"work harder", kf_FinishResearch}, + {"no faults", kf_NoFaults},//carol vorderman {"end of list",NULL} }; -char cheatString[255]; - -char *xorString(char *string) -{ - char *pReturn; - - pReturn = string; - - while(*pReturn) - { - if(*pReturn>32) - { - *pReturn = (UBYTE)(*pReturn ^ 0x3f); - } - pReturn++; - } - return(string); -} - -void setCheatCodeStatus(BOOL val) -{ - bAllowCheatCodes = val; -} - -BOOL getCheatCodeStatus( void ) -{ - return(bAllowCheatCodes); -} - BOOL attemptCheatCode( STRING *pName ) { UDWORD index; STRING errorString[255]; - char *xored; index = 0; while(cheatCodes[index].function!=NULL) { - strcpy(cheatString,cheatCodes[index].pName); - xored = xorString(cheatString); - if(strcmp(pName,xored) == FALSE) // strcmp oddity + if (strcmp(pName, cheatCodes[index].pName) == 0) { /* We've got our man... */ cheatCodes[index].function(); // run it @@ -108,4 +70,3 @@ BOOL attemptCheatCode( STRING *pName ) addConsoleMessage(errorString,LEFT_JUSTIFY); return(FALSE); } - diff --git a/src/cheat.h b/src/cheat.h index 576c9c4c1..90ddd1f1d 100644 --- a/src/cheat.h +++ b/src/cheat.h @@ -1,7 +1,4 @@ #ifndef _cheat_h #define _cheat_h -extern void setCheatCodeStatus(BOOL val); -extern BOOL getCheatCodeStatus( void ); extern BOOL attemptCheatCode(STRING *pName); -char *xorString(char *string); #endif diff --git a/src/keybind.c b/src/keybind.c index cb4858ff8..a4ce5a6a4 100644 --- a/src/keybind.c +++ b/src/keybind.c @@ -1188,14 +1188,13 @@ void kf_ToggleDebugMappings( void ) if(getDebugMappingStatus()) { processDebugMappings(FALSE); - CONPRINTF(ConsoleString,(ConsoleString,"ALL Debug Key Mappings - DISALLOWED")); + CONPRINTF(ConsoleString, (ConsoleString, "CHEATS DISABLED!")); } else { game_SetValidityKey(VALIDITYKEY_CHEAT_MODE); processDebugMappings(TRUE); - CONPRINTF(ConsoleString,(ConsoleString,"ALL Debug Key Mappings - PERMITTED")); - CONPRINTF(ConsoleString,(ConsoleString,"DISCLAIMER: YOU HAVE NOW CHEATED")); + CONPRINTF(ConsoleString, (ConsoleString, "CHEATS ENABLED!")); } if(bMultiPlayer) @@ -1811,10 +1810,8 @@ void kf_GiveTemplateSet(void) // Chat message. NOTE THIS FUNCTION CAN DISABLE ALL OTHER KEYPRESSES void kf_SendTextMessage(void) { - CHAR ch; - if(/*bMultiPlayer || */!bAllowOtherKeyPresses OR getCheatCodeStatus()) { if(bAllowOtherKeyPresses) // just starting. { @@ -1842,7 +1839,7 @@ void kf_SendTextMessage(void) { sendTextMessage(sTextToSend,FALSE); } - else if(getCheatCodeStatus()) + else if (getDebugMappingStatus()) { (void) attemptCheatCode(sTextToSend); } @@ -1926,7 +1923,6 @@ void kf_SendTextMessage(void) } } - // flushConsoleMessages(); //clear // addConsoleMessage(sTextToSend,DEFAULT_JUSTIFY); //display // iV_DrawText(sTextToSend,16+D_W,RADTLY+D_H-16); diff --git a/src/keymap.c b/src/keymap.c index db62c492a..7cf25b2c4 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -422,8 +422,6 @@ void keyInitMappings( BOOL bForceDefaults ) keyAddMapping(KEYMAP_ASSIGNABLE,KEY_IGNORE,(KEY_CODE)KEY_MAXSCAN,KEYMAP_PRESSED,kf_SelectNextCyborgFactory,strresGetString(psStringRes,STR_BIND_SELCYBORG)); keyAddMapping(KEYMAP_ASSIGNABLE,KEY_IGNORE,(KEY_CODE)KEY_MAXSCAN,KEYMAP_PRESSED,kf_ToggleReopenBuildMenu,strresGetString(psStringRes,STR_BIND_REOPEN_BUILD)); - if (bAllowDebugMode) - { // NOTE THIS!!!!!!! keyAddMapping(KEYMAP__DEBUG,KEY_IGNORE,KEY_A,KEYMAP_PRESSED,kf_AllAvailable, "Make all items available"); keyAddMapping(KEYMAP___HIDE,KEY_LSHIFT,KEY_BACKSPACE,KEYMAP_PRESSED,kf_ToggleDebugMappings, "TOGGLE Debug Mappings"); @@ -458,7 +456,6 @@ void keyInitMappings( BOOL bForceDefaults ) keyAddMapping(KEYMAP__DEBUG,KEY_LALT,KEY_F6,KEYMAP_PRESSED,kf_SelectPlayer, "Select player 5"); keyAddMapping(KEYMAP__DEBUG,KEY_LALT,KEY_F7,KEYMAP_PRESSED,kf_SelectPlayer, "Select player 6"); keyAddMapping(KEYMAP__DEBUG,KEY_LALT,KEY_F8,KEYMAP_PRESSED,kf_SelectPlayer, "Select player 7"); - } saveKeyMap(); // save out the default key mappings.