Skip to content

Commit 9821ea8

Browse files
committed
Add MSG_META_TAKE_SCREENSHOT_COMPRESSED message and F11 keybinding
1 parent e2c6be9 commit 9821ea8

File tree

8 files changed

+42
-0
lines changed

8 files changed

+42
-0
lines changed

Generals/Code/GameEngine/Include/Common/MessageStream.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ class GameMessage : public MemoryPoolObject
258258
MSG_META_END_PREFER_SELECTION, ///< The Shift key has been released.
259259

260260
MSG_META_TAKE_SCREENSHOT, ///< take screenshot
261+
MSG_META_TAKE_SCREENSHOT_COMPRESSED, ///< take compressed screenshot without stalling
261262
MSG_META_ALL_CHEER, ///< Yay! :)
262263
MSG_META_TOGGLE_ATTACKMOVE, ///< enter attack-move mode
263264

Generals/Code/GameEngine/Source/Common/MessageStream.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,7 @@ const char *GameMessage::getCommandTypeAsString(GameMessage::Type t)
364364
CASE_LABEL(MSG_META_BEGIN_PREFER_SELECTION)
365365
CASE_LABEL(MSG_META_END_PREFER_SELECTION)
366366
CASE_LABEL(MSG_META_TAKE_SCREENSHOT)
367+
CASE_LABEL(MSG_META_TAKE_SCREENSHOT_COMPRESSED)
367368
CASE_LABEL(MSG_META_ALL_CHEER)
368369
CASE_LABEL(MSG_META_TOGGLE_ATTACKMOVE)
369370
CASE_LABEL(MSG_META_BEGIN_CAMERA_ROTATE_LEFT)

Generals/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3411,6 +3411,14 @@ GameMessageDisposition CommandTranslator::translateGameMessage(const GameMessage
34113411
{
34123412
if (TheDisplay)
34133413
TheDisplay->takeScreenShot();
3414+
break;
3415+
}
3416+
3417+
// --------------------------------------------------------------------------------------------
3418+
case GameMessage::MSG_META_TAKE_SCREENSHOT_COMPRESSED:
3419+
{
3420+
if (TheDisplay)
3421+
TheDisplay->takeScreenShotCompressed();
34143422
disp = DESTROY_MESSAGE;
34153423
break;
34163424
}

Generals/Code/GameEngine/Source/GameClient/MessageStream/MetaEvent.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ static const LookupListRec GameMessageMetaTypeNames[] =
163163
{ "END_PREFER_SELECTION", GameMessage::MSG_META_END_PREFER_SELECTION },
164164

165165
{ "TAKE_SCREENSHOT", GameMessage::MSG_META_TAKE_SCREENSHOT },
166+
{ "TAKE_SCREENSHOT_COMPRESSED", GameMessage::MSG_META_TAKE_SCREENSHOT_COMPRESSED },
166167
{ "ALL_CHEER", GameMessage::MSG_META_ALL_CHEER },
167168

168169
{ "BEGIN_CAMERA_ROTATE_LEFT", GameMessage::MSG_META_BEGIN_CAMERA_ROTATE_LEFT },
@@ -793,6 +794,16 @@ MetaMapRec *MetaMap::getMetaMapRec(GameMessage::Type t)
793794
map->m_displayName = TheGameText->FETCH_OR_SUBSTITUTE("GUI:SelectNextIdleWorker", L"Next Idle Worker");
794795
}
795796
}
797+
{
798+
MetaMapRec *map = TheMetaMap->getMetaMapRec(GameMessage::MSG_META_TAKE_SCREENSHOT_COMPRESSED);
799+
if (map->m_key == MK_NONE)
800+
{
801+
map->m_key = MK_F11;
802+
map->m_transition = DOWN;
803+
map->m_modState = NONE;
804+
map->m_usableIn = COMMANDUSABLE_EVERYWHERE;
805+
}
806+
}
796807

797808
#if defined(RTS_DEBUG)
798809
{

GeneralsMD/Code/GameEngine/Include/Common/MessageStream.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ class GameMessage : public MemoryPoolObject
258258
MSG_META_END_PREFER_SELECTION, ///< The Shift key has been released.
259259

260260
MSG_META_TAKE_SCREENSHOT, ///< take screenshot
261+
MSG_META_TAKE_SCREENSHOT_COMPRESSED, ///< take compressed screenshot without stalling
261262
MSG_META_ALL_CHEER, ///< Yay! :)
262263
MSG_META_TOGGLE_ATTACKMOVE, ///< enter attack-move mode
263264

GeneralsMD/Code/GameEngine/Source/Common/MessageStream.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,7 @@ const char *GameMessage::getCommandTypeAsString(GameMessage::Type t)
364364
CASE_LABEL(MSG_META_BEGIN_PREFER_SELECTION)
365365
CASE_LABEL(MSG_META_END_PREFER_SELECTION)
366366
CASE_LABEL(MSG_META_TAKE_SCREENSHOT)
367+
CASE_LABEL(MSG_META_TAKE_SCREENSHOT_COMPRESSED)
367368
CASE_LABEL(MSG_META_ALL_CHEER)
368369
CASE_LABEL(MSG_META_TOGGLE_ATTACKMOVE)
369370
CASE_LABEL(MSG_META_BEGIN_CAMERA_ROTATE_LEFT)

GeneralsMD/Code/GameEngine/Source/GameClient/MessageStream/CommandXlat.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3744,6 +3744,14 @@ GameMessageDisposition CommandTranslator::translateGameMessage(const GameMessage
37443744
{
37453745
if (TheDisplay)
37463746
TheDisplay->takeScreenShot();
3747+
break;
3748+
}
3749+
3750+
// --------------------------------------------------------------------------------------------
3751+
case GameMessage::MSG_META_TAKE_SCREENSHOT_COMPRESSED:
3752+
{
3753+
if (TheDisplay)
3754+
TheDisplay->takeScreenShotCompressed();
37473755
disp = DESTROY_MESSAGE;
37483756
break;
37493757
}

GeneralsMD/Code/GameEngine/Source/GameClient/MessageStream/MetaEvent.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ static const LookupListRec GameMessageMetaTypeNames[] =
171171
{ "END_PREFER_SELECTION", GameMessage::MSG_META_END_PREFER_SELECTION },
172172

173173
{ "TAKE_SCREENSHOT", GameMessage::MSG_META_TAKE_SCREENSHOT },
174+
{ "TAKE_SCREENSHOT_COMPRESSED", GameMessage::MSG_META_TAKE_SCREENSHOT_COMPRESSED },
174175
{ "ALL_CHEER", GameMessage::MSG_META_ALL_CHEER },
175176

176177
{ "BEGIN_CAMERA_ROTATE_LEFT", GameMessage::MSG_META_BEGIN_CAMERA_ROTATE_LEFT },
@@ -851,6 +852,16 @@ MetaMapRec *MetaMap::getMetaMapRec(GameMessage::Type t)
851852
map->m_displayName = TheGameText->FETCH_OR_SUBSTITUTE("GUI:SelectNextIdleWorker", L"Next Idle Worker");
852853
}
853854
}
855+
{
856+
MetaMapRec *map = TheMetaMap->getMetaMapRec(GameMessage::MSG_META_TAKE_SCREENSHOT_COMPRESSED);
857+
if (map->m_key == MK_NONE)
858+
{
859+
map->m_key = MK_F11;
860+
map->m_transition = DOWN;
861+
map->m_modState = NONE;
862+
map->m_usableIn = COMMANDUSABLE_EVERYWHERE;
863+
}
864+
}
854865

855866
#if defined(RTS_DEBUG)
856867
{

0 commit comments

Comments
 (0)