diff --git a/Generals/Code/GameEngine/Include/Common/MessageStream.h b/Generals/Code/GameEngine/Include/Common/MessageStream.h index a8ddb0f368d..32d15c8fb07 100644 --- a/Generals/Code/GameEngine/Include/Common/MessageStream.h +++ b/Generals/Code/GameEngine/Include/Common/MessageStream.h @@ -272,6 +272,7 @@ class GameMessage : public MemoryPoolObject MSG_META_BEGIN_CAMERA_ZOOM_OUT, MSG_META_END_CAMERA_ZOOM_OUT, MSG_META_CAMERA_RESET, + MSG_META_TOGGLE_CAMERA_TRACKING_DRAWABLE, MSG_META_TOGGLE_FAST_FORWARD_REPLAY, ///< Toggle the fast forward feature MSG_META_TOGGLE_PAUSE, ///< TheSuperHackers @feature Toggle game pause MSG_META_TOGGLE_PAUSE_ALT, ///< TheSuperHackers @feature Toggle game pause (alternative mapping) @@ -280,6 +281,30 @@ class GameMessage : public MemoryPoolObject MSG_META_DEMO_INSTANT_QUIT, ///< bail out of game immediately +#if defined(_ALLOW_DEBUG_CHEATS_IN_RELEASE)//may be defined in GameCommon.h + MSG_CHEAT_RUNSCRIPT1, ///< run script named "KEY_F1" + MSG_CHEAT_RUNSCRIPT2, ///< run script named "KEY_F2" + MSG_CHEAT_RUNSCRIPT3, ///< run script named "KEY_F3" + MSG_CHEAT_RUNSCRIPT4, ///< run script named "KEY_F4" + MSG_CHEAT_RUNSCRIPT5, ///< run script named "KEY_F5" + MSG_CHEAT_RUNSCRIPT6, ///< run script named "KEY_F6" + MSG_CHEAT_RUNSCRIPT7, ///< run script named "KEY_F7" + MSG_CHEAT_RUNSCRIPT8, ///< run script named "KEY_F8" + MSG_CHEAT_RUNSCRIPT9, ///< run script named "KEY_F9" + MSG_CHEAT_TOGGLE_SPECIAL_POWER_DELAYS, ///< Toggle special power delays on/off + MSG_CHEAT_SWITCH_TEAMS, ///< switch local control to another team + MSG_CHEAT_KILL_SELECTION, ///< kill the selected units (yeah!) + MSG_CHEAT_TOGGLE_HAND_OF_GOD_MODE, ///< do 100% damage to the selected units (w00t!) + MSG_CHEAT_INSTANT_BUILD, ///< All building is with a timer of 1 + MSG_CHEAT_DESHROUD, ///< de-shroud the world for the local player + MSG_CHEAT_ADD_CASH, ///< adds 10000 cash to the player + MSG_CHEAT_GIVE_ALL_SCIENCES, ///< grant all grantable sciences + MSG_CHEAT_GIVE_SCIENCEPURCHASEPOINTS, ///< give yourself an SPP (but no rank change) + MSG_CHEAT_SHOW_HEALTH, ///< show object health + MSG_CHEAT_TOGGLE_MESSAGE_TEXT, ///< hides/shows the onscreen messages + +#endif + // META items that are really for debug/demo/development use only... // They do not get built into RELEASE builds. #if defined(RTS_DEBUG) @@ -339,10 +364,12 @@ class GameMessage : public MemoryPoolObject MSG_META_DEMO_ENSHROUD, ///< re-shroud the world for the local player MSG_META_DEMO_DESHROUD, ///< de-shroud the world for the local player MSG_META_DEBUG_SHOW_EXTENTS, ///< show object extents - MSG_META_DEBUG_SHOW_HEALTH, ///< show object health + MSG_META_DEBUG_SHOW_AUDIO_LOCATIONS, ///< show audio objects and radii + MSG_META_DEBUG_SHOW_HEALTH, ///< show object health MSG_META_DEBUG_GIVE_VETERANCY, ///< give a veterancy level to selected objects MSG_META_DEBUG_TAKE_VETERANCY, ///< take a veterancy level from selected objects MSG_META_DEMO_TOGGLE_AI_DEBUG, ///< show/hide the ai debug stats + MSG_META_DEMO_TOGGLE_SUPPLY_CENTER_PLACEMENT, ///getFrame() + +#define dont_DUMP_ALL_KEYS_TO_LOG + + +#ifdef DUMP_ALL_KEYS_TO_LOG +#include "GameClient/Keyboard.h" +#endif + MetaMap *TheMetaMap = nullptr; @@ -174,6 +182,7 @@ static const LookupListRec GameMessageMetaTypeNames[] = { "BEGIN_CAMERA_ZOOM_OUT", GameMessage::MSG_META_BEGIN_CAMERA_ZOOM_OUT }, { "END_CAMERA_ZOOM_OUT", GameMessage::MSG_META_END_CAMERA_ZOOM_OUT }, { "CAMERA_RESET", GameMessage::MSG_META_CAMERA_RESET }, + { "TOGGLE_CAMERA_TRACKING_DRAWABLE", GameMessage::MSG_META_TOGGLE_CAMERA_TRACKING_DRAWABLE }, { "TOGGLE_FAST_FORWARD_REPLAY", GameMessage::MSG_META_TOGGLE_FAST_FORWARD_REPLAY }, { "TOGGLE_PAUSE", GameMessage::MSG_META_TOGGLE_PAUSE }, { "TOGGLE_PAUSE_ALT", GameMessage::MSG_META_TOGGLE_PAUSE_ALT }, @@ -181,8 +190,33 @@ static const LookupListRec GameMessageMetaTypeNames[] = { "STEP_FRAME_ALT", GameMessage::MSG_META_STEP_FRAME_ALT }, { "DEMO_INSTANT_QUIT", GameMessage::MSG_META_DEMO_INSTANT_QUIT }, +#if defined(_ALLOW_DEBUG_CHEATS_IN_RELEASE)//may be defined in GameCommon.h + { "CHEAT_RUNSCRIPT1", GameMessage::MSG_CHEAT_RUNSCRIPT1 }, + { "CHEAT_RUNSCRIPT2", GameMessage::MSG_CHEAT_RUNSCRIPT2 }, + { "CHEAT_RUNSCRIPT3", GameMessage::MSG_CHEAT_RUNSCRIPT3 }, + { "CHEAT_RUNSCRIPT4", GameMessage::MSG_CHEAT_RUNSCRIPT4 }, + { "CHEAT_RUNSCRIPT5", GameMessage::MSG_CHEAT_RUNSCRIPT5 }, + { "CHEAT_RUNSCRIPT6", GameMessage::MSG_CHEAT_RUNSCRIPT6 }, + { "CHEAT_RUNSCRIPT7", GameMessage::MSG_CHEAT_RUNSCRIPT7 }, + { "CHEAT_RUNSCRIPT8", GameMessage::MSG_CHEAT_RUNSCRIPT8 }, + { "CHEAT_RUNSCRIPT9", GameMessage::MSG_CHEAT_RUNSCRIPT9 }, + { "CHEAT_TOGGLE_SPECIAL_POWER_DELAYS", GameMessage::MSG_CHEAT_TOGGLE_SPECIAL_POWER_DELAYS }, + { "CHEAT_SWITCH_TEAMS", GameMessage::MSG_CHEAT_SWITCH_TEAMS }, + { "CHEAT_KILL_SELECTION", GameMessage::MSG_CHEAT_KILL_SELECTION }, + { "CHEAT_TOGGLE_HAND_OF_GOD_MODE", GameMessage::MSG_CHEAT_TOGGLE_HAND_OF_GOD_MODE }, + { "CHEAT_INSTANT_BUILD", GameMessage::MSG_CHEAT_INSTANT_BUILD }, + { "CHEAT_DESHROUD", GameMessage::MSG_CHEAT_DESHROUD }, + { "CHEAT_ADD_CASH", GameMessage::MSG_CHEAT_ADD_CASH }, + { "CHEAT_GIVE_ALL_SCIENCES", GameMessage::MSG_CHEAT_GIVE_ALL_SCIENCES }, + { "CHEAT_GIVE_SCIENCEPURCHASEPOINTS", GameMessage::MSG_CHEAT_GIVE_SCIENCEPURCHASEPOINTS }, + { "CHEAT_SHOW_HEALTH", GameMessage::MSG_CHEAT_SHOW_HEALTH }, + { "CHEAT_TOGGLE_MESSAGE_TEXT", GameMessage::MSG_CHEAT_TOGGLE_MESSAGE_TEXT }, + +#endif + #if defined(RTS_DEBUG) { "HELP", GameMessage::MSG_META_HELP }, + { "DEMO_TOGGLE_BEHIND_BUILDINGS", GameMessage::MSG_META_DEMO_TOGGLE_BEHIND_BUILDINGS }, { "DEMO_LOD_DECREASE", GameMessage::MSG_META_DEMO_LOD_DECREASE }, { "DEMO_LOD_INCREASE", GameMessage::MSG_META_DEMO_LOD_INCREASE }, @@ -250,7 +284,8 @@ static const LookupListRec GameMessageMetaTypeNames[] = { "DEMO_TOGGLE_GREEN_VIEW", GameMessage::MSG_META_DEMO_TOGGLE_GREEN_VIEW }, { "DEMO_TOGGLE_MOTION_BLUR_ZOOM", GameMessage::MSG_META_DEMO_TOGGLE_MOTION_BLUR_ZOOM }, { "DEMO_SHOW_EXTENTS", GameMessage::MSG_META_DEBUG_SHOW_EXTENTS }, - { "DEMO_SHOW_HEALTH", GameMessage::MSG_META_DEBUG_SHOW_HEALTH }, + { "DEMO_SHOW_AUDIO_LOCATIONS", GameMessage::MSG_META_DEBUG_SHOW_AUDIO_LOCATIONS }, + { "DEMO_SHOW_HEALTH", GameMessage::MSG_META_DEBUG_SHOW_HEALTH }, { "DEMO_GIVE_VETERANCY", GameMessage::MSG_META_DEBUG_GIVE_VETERANCY }, { "DEMO_TAKE_VETERANCY", GameMessage::MSG_META_DEBUG_TAKE_VETERANCY }, { "DEMO_BATTLE_CRY", GameMessage::MSG_META_DEMO_BATTLE_CRY }, @@ -266,6 +301,7 @@ static const LookupListRec GameMessageMetaTypeNames[] = { "DEMO_DESHROUD", GameMessage::MSG_META_DEMO_DESHROUD }, { "DEMO_ENSHROUD", GameMessage::MSG_META_DEMO_ENSHROUD }, { "DEMO_TOGGLE_AI_DEBUG", GameMessage::MSG_META_DEMO_TOGGLE_AI_DEBUG }, + { "DEMO_TOGGLE_SUPPLY_CENTER_PLACEMENT", GameMessage::MSG_META_DEMO_TOGGLE_SUPPLY_CENTER_PLACEMENT }, { "DEMO_TOGGLE_NO_DRAW", GameMessage::MSG_NO_DRAW }, { "DEMO_CYCLE_LOD_LEVEL", GameMessage::MSG_META_DEMO_CYCLE_LOD_LEVEL }, { "DEMO_DUMP_ASSETS", GameMessage::MSG_META_DEBUG_DUMP_ASSETS}, @@ -302,6 +338,9 @@ static const LookupListRec GameMessageMetaTypeNames[] = { "DEBUG_DUMP_ALL_PLAYER_OBJECTS", GameMessage::MSG_META_DEBUG_DUMP_ALL_PLAYER_OBJECTS }, { "DEMO_WIN", GameMessage::MSG_META_DEBUG_WIN }, { "DEMO_TOGGLE_DEBUG_STATS", GameMessage::MSG_META_DEMO_TOGGLE_DEBUG_STATS }, + { "DEBUG_OBJECT_ID_PERFORMANCE", GameMessage::MSG_META_DEBUG_OBJECT_ID_PERFORMANCE }, + { "DEBUG_DRAWABLE_ID_PERFORMANCE", GameMessage::MSG_META_DEBUG_DRAWABLE_ID_PERFORMANCE }, + { "DEBUG_SLEEPY_UPDATE_PERFORMANCE", GameMessage::MSG_META_DEBUG_SLEEPY_UPDATE_PERFORMANCE }, #endif // defined(RTS_DEBUG) @@ -499,9 +538,28 @@ GameMessageDisposition MetaEventTranslator::translateGameMessage(const GameMessa } } + + if (t == GameMessage::MSG_RAW_KEY_DOWN) + { m_lastKeyDown = key; - m_lastModState = newModState; + + +#ifdef DUMP_ALL_KEYS_TO_LOG + + WideChar Wkey = TheKeyboard->getPrintableKey(key, 0); + UnicodeString uKey; + uKey.set(&Wkey); + AsciiString aKey; + aKey.translate(uKey); + DEBUG_LOG(("^%s ", aKey.str())); +#endif + + } + + + + m_lastModState = newModState; } diff --git a/GeneralsMD/Code/GameEngine/Include/Common/MessageStream.h b/GeneralsMD/Code/GameEngine/Include/Common/MessageStream.h index 0a08d98486d..fc7945a3156 100644 --- a/GeneralsMD/Code/GameEngine/Include/Common/MessageStream.h +++ b/GeneralsMD/Code/GameEngine/Include/Common/MessageStream.h @@ -614,8 +614,6 @@ class GameMessage : public MemoryPoolObject MSG_DEBUG_KILL_OBJECT, #endif - - //********************************************************************************************************* MSG_END_NETWORK_MESSAGES = 1999, ///< MARKER TO DELINEATE MESSAGES THAT GO OVER THE NETWORK //********************************************************************************************************* diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/MessageStream/MetaEvent.cpp b/GeneralsMD/Code/GameEngine/Source/GameClient/MessageStream/MetaEvent.cpp index 5f7d773a129..731e6eafcba 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameClient/MessageStream/MetaEvent.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameClient/MessageStream/MetaEvent.cpp @@ -465,7 +465,6 @@ GameMessageDisposition MetaEventTranslator::translateGameMessage(const GameMessa newModState |= ALT; } - for (const MetaMapRec *map = TheMetaMap->getFirstMetaMapRec(); map; map = map->m_next) { if (!isMessageUsable(map->m_usableIn))