Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 33 additions & 2 deletions Generals/Code/GameEngine/Include/Common/MessageStream.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Comment thread
xezon marked this conversation as resolved.
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)
Expand All @@ -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"
Comment thread
xezon marked this conversation as resolved.
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
Comment thread
xezon marked this conversation as resolved.

#endif

// META items that are really for debug/demo/development use only...
// They do not get built into RELEASE builds.
#if defined(RTS_DEBUG)
Expand Down Expand Up @@ -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
Comment thread
xezon marked this conversation as resolved.
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, ///<start/stop dumping to file all thoughts about placing SupplyCenters
MSG_META_DEMO_TOGGLE_CAMERA_DEBUG, ///< show/hide the camera debug stats
MSG_META_DEMO_TOGGLE_AVI, ///< start capturing video
MSG_META_DEMO_TOGGLE_BW_VIEW, ///< enable/disable black & white camera mode
Expand Down Expand Up @@ -393,6 +420,9 @@ class GameMessage : public MemoryPoolObject
MSG_META_DEBUG_TOGGLE_NETWORK, ///< toggle between having and not having network traffic.
MSG_META_DEBUG_DUMP_PLAYER_OBJECTS, ///< Dump numbers of objects owned by each player to the script debug window
MSG_META_DEBUG_DUMP_ALL_PLAYER_OBJECTS, ///< Dump numbers of objects owned by each player to the script debug window, and additional object info
MSG_META_DEBUG_OBJECT_ID_PERFORMANCE, ///< Run a mess of ObjectID lookups to see performance
MSG_META_DEBUG_DRAWABLE_ID_PERFORMANCE, ///< Run a mess of DrawableID lookups to see performance
MSG_META_DEBUG_SLEEPY_UPDATE_PERFORMANCE, ///< Peek at the size of the sleepy update vector

MSG_META_DEBUG_WIN, ///< Instant Win
MSG_META_DEMO_TOGGLE_DEBUG_STATS, ///< show/hide the debug stats
Expand Down Expand Up @@ -434,6 +464,7 @@ class GameMessage : public MemoryPoolObject
MSG_ADD_WAYPOINT_HINT, ///< (location) If clicked, a waypoint will be added for currently selected units.
//Context command hints
MSG_HIJACK_HINT, ///< if clicked, selected unit(s) will attempt to take over vehicle.
MSG_SABOTAGE_HINT,
MSG_FIREBOMB_HINT, ///< throw a molotov cocktail
MSG_CONVERT_TO_CARBOMB_HINT, ///< if clicked, selected unit(s) will attempt to convert clicked object into a carbomb.
MSG_CAPTUREBUILDING_HINT,
Expand Down Expand Up @@ -576,7 +607,7 @@ class GameMessage : public MemoryPoolObject

MSG_BEGIN_DEBUG_NETWORK_MESSAGES = 1900, ///< network messages that exist only in debug/internal builds. all grouped separately.

#if defined(RTS_DEBUG)
#if defined(RTS_DEBUG) || defined(_ALLOW_DEBUG_CHEATS_IN_RELEASE)
// all debug/internal-only messages must go here.
MSG_DEBUG_KILL_SELECTION,
MSG_DEBUG_HURT_OBJECT,
Expand Down
34 changes: 32 additions & 2 deletions Generals/Code/GameEngine/Source/Common/MessageStream.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -377,13 +377,37 @@ const char *GameMessage::getCommandTypeAsString(GameMessage::Type t)
CASE_LABEL(MSG_META_BEGIN_CAMERA_ZOOM_OUT)
CASE_LABEL(MSG_META_END_CAMERA_ZOOM_OUT)
CASE_LABEL(MSG_META_CAMERA_RESET)
CASE_LABEL(MSG_META_TOGGLE_CAMERA_TRACKING_DRAWABLE)
CASE_LABEL(MSG_META_TOGGLE_FAST_FORWARD_REPLAY)
CASE_LABEL(MSG_META_TOGGLE_PAUSE)
CASE_LABEL(MSG_META_TOGGLE_PAUSE_ALT)
CASE_LABEL(MSG_META_STEP_FRAME)
CASE_LABEL(MSG_META_STEP_FRAME_ALT)
CASE_LABEL(MSG_META_DEMO_INSTANT_QUIT)

#if defined(_ALLOW_DEBUG_CHEATS_IN_RELEASE)
CASE_LABEL(MSG_CHEAT_RUNSCRIPT1)
CASE_LABEL(MSG_CHEAT_RUNSCRIPT2)
CASE_LABEL(MSG_CHEAT_RUNSCRIPT3)
CASE_LABEL(MSG_CHEAT_RUNSCRIPT4)
CASE_LABEL(MSG_CHEAT_RUNSCRIPT5)
CASE_LABEL(MSG_CHEAT_RUNSCRIPT6)
CASE_LABEL(MSG_CHEAT_RUNSCRIPT7)
CASE_LABEL(MSG_CHEAT_RUNSCRIPT8)
CASE_LABEL(MSG_CHEAT_RUNSCRIPT9)
CASE_LABEL(MSG_CHEAT_TOGGLE_SPECIAL_POWER_DELAYS)
CASE_LABEL(MSG_CHEAT_SWITCH_TEAMS)
CASE_LABEL(MSG_CHEAT_KILL_SELECTION)
CASE_LABEL(MSG_CHEAT_TOGGLE_HAND_OF_GOD_MODE)
CASE_LABEL(MSG_CHEAT_INSTANT_BUILD)
CASE_LABEL(MSG_CHEAT_DESHROUD)
CASE_LABEL(MSG_CHEAT_ADD_CASH)
CASE_LABEL(MSG_CHEAT_GIVE_ALL_SCIENCES)
CASE_LABEL(MSG_CHEAT_GIVE_SCIENCEPURCHASEPOINTS)
CASE_LABEL(MSG_CHEAT_SHOW_HEALTH)
CASE_LABEL(MSG_CHEAT_TOGGLE_MESSAGE_TEXT)
#endif

#if defined(RTS_DEBUG)
CASE_LABEL(MSG_META_DEMO_TOGGLE_BEHIND_BUILDINGS)
CASE_LABEL(MSG_META_DEMO_TOGGLE_LETTERBOX)
Expand Down Expand Up @@ -441,10 +465,12 @@ const char *GameMessage::getCommandTypeAsString(GameMessage::Type t)
CASE_LABEL(MSG_META_DEMO_ENSHROUD)
CASE_LABEL(MSG_META_DEMO_DESHROUD)
CASE_LABEL(MSG_META_DEBUG_SHOW_EXTENTS)
CASE_LABEL(MSG_META_DEBUG_SHOW_AUDIO_LOCATIONS)
CASE_LABEL(MSG_META_DEBUG_SHOW_HEALTH)
CASE_LABEL(MSG_META_DEBUG_GIVE_VETERANCY)
CASE_LABEL(MSG_META_DEBUG_TAKE_VETERANCY)
CASE_LABEL(MSG_META_DEMO_TOGGLE_AI_DEBUG)
CASE_LABEL(MSG_META_DEMO_TOGGLE_SUPPLY_CENTER_PLACEMENT)
CASE_LABEL(MSG_META_DEMO_TOGGLE_CAMERA_DEBUG)
CASE_LABEL(MSG_META_DEMO_TOGGLE_AVI)
CASE_LABEL(MSG_META_DEMO_TOGGLE_BW_VIEW)
Expand Down Expand Up @@ -494,6 +520,9 @@ const char *GameMessage::getCommandTypeAsString(GameMessage::Type t)
CASE_LABEL(MSG_META_DEBUG_TOGGLE_NETWORK)
CASE_LABEL(MSG_META_DEBUG_DUMP_PLAYER_OBJECTS)
CASE_LABEL(MSG_META_DEBUG_DUMP_ALL_PLAYER_OBJECTS)
CASE_LABEL(MSG_META_DEBUG_OBJECT_ID_PERFORMANCE)
CASE_LABEL(MSG_META_DEBUG_DRAWABLE_ID_PERFORMANCE)
CASE_LABEL(MSG_META_DEBUG_SLEEPY_UPDATE_PERFORMANCE)
CASE_LABEL(MSG_META_DEBUG_WIN)
CASE_LABEL(MSG_META_DEMO_TOGGLE_DEBUG_STATS)
#endif // defined(RTS_DEBUG)
Expand Down Expand Up @@ -529,6 +558,7 @@ const char *GameMessage::getCommandTypeAsString(GameMessage::Type t)
CASE_LABEL(MSG_DO_ATTACKMOVETO_HINT)
CASE_LABEL(MSG_ADD_WAYPOINT_HINT)
CASE_LABEL(MSG_HIJACK_HINT)
CASE_LABEL(MSG_SABOTAGE_HINT)
CASE_LABEL(MSG_FIREBOMB_HINT)
CASE_LABEL(MSG_CONVERT_TO_CARBOMB_HINT)
CASE_LABEL(MSG_CAPTUREBUILDING_HINT)
Expand Down Expand Up @@ -642,9 +672,10 @@ const char *GameMessage::getCommandTypeAsString(GameMessage::Type t)
CASE_LABEL(MSG_CREATE_FORMATION)
CASE_LABEL(MSG_LOGIC_CRC)
CASE_LABEL(MSG_SET_MINE_CLEARING_DETAIL)
CASE_LABEL(MSG_ENABLE_RETALIATION_MODE)
CASE_LABEL(MSG_BEGIN_DEBUG_NETWORK_MESSAGES)

#if defined(RTS_DEBUG)
#if defined(RTS_DEBUG) || defined(_ALLOW_DEBUG_CHEATS_IN_RELEASE)
CASE_LABEL(MSG_DEBUG_KILL_SELECTION)
CASE_LABEL(MSG_DEBUG_HURT_OBJECT)
CASE_LABEL(MSG_DEBUG_KILL_OBJECT)
Expand Down Expand Up @@ -1006,7 +1037,6 @@ Bool isInvalidDebugCommand( GameMessage::Type t )
// TheSuperHackers @tweak Debug cheats are now multiplayer compatible. Happy cheating Munkees :)
return false;

case GameMessage::MSG_META_DEMO_INSTANT_QUIT:
case GameMessage::MSG_META_DEMO_SWITCH_TEAMS:
case GameMessage::MSG_META_DEMO_SWITCH_TEAMS_BETWEEN_CHINA_USA:
case GameMessage::MSG_META_DEMO_KILL_ALL_ENEMIES:
Comment thread
greptile-apps[bot] marked this conversation as resolved.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,14 @@

#include "GameLogic/GameLogic.h" // for TheGameLogic->getFrame()


#define dont_DUMP_ALL_KEYS_TO_LOG


#ifdef DUMP_ALL_KEYS_TO_LOG
#include "GameClient/Keyboard.h"
#endif

MetaMap *TheMetaMap = nullptr;


Expand Down Expand Up @@ -174,15 +182,41 @@ 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 },
{ "STEP_FRAME", GameMessage::MSG_META_STEP_FRAME },
{ "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 },

Comment thread
xezon marked this conversation as resolved.
#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 },
Expand Down Expand Up @@ -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 },
Comment thread
xezon marked this conversation as resolved.
{ "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 },
Expand All @@ -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},
Expand Down Expand Up @@ -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)


Expand Down Expand Up @@ -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;
Comment thread
xezon marked this conversation as resolved.
}


Expand Down
2 changes: 0 additions & 2 deletions GeneralsMD/Code/GameEngine/Include/Common/MessageStream.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
//*********************************************************************************************************
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down
Loading