From 6bdaf3c485b7e7e106de9d47efb7bd43f1e5a01b Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 19 Jul 2026 19:36:59 +0400 Subject: [PATCH 1/2] feat(headless): stub gogoMessageBox in GameWindowManagerDummy --- .../GameEngine/Include/GameClient/GameWindowManager.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/GeneralsMD/Code/GameEngine/Include/GameClient/GameWindowManager.h b/GeneralsMD/Code/GameEngine/Include/GameClient/GameWindowManager.h index e976c6f5735..a398b5dac39 100644 --- a/GeneralsMD/Code/GameEngine/Include/GameClient/GameWindowManager.h +++ b/GeneralsMD/Code/GameEngine/Include/GameClient/GameWindowManager.h @@ -389,6 +389,16 @@ class GameWindowManagerDummy : public GameWindowManager virtual GameWindow *allocateNewWindow() override { return newInstance(GameWindowDummy); } + // TheSuperHackers @fix bobtista 19/07/2026 Return no message box window in headless mode + virtual GameWindow *gogoMessageBox(Int x, Int y, Int width, Int height, UnsignedShort buttonFlags, + UnicodeString titleString, UnicodeString bodyString, + GameWinMsgBoxFunc yesCallback, GameWinMsgBoxFunc noCallback, + GameWinMsgBoxFunc okCallback, GameWinMsgBoxFunc cancelCallback) override { return nullptr; } + virtual GameWindow *gogoMessageBox(Int x, Int y, Int width, Int height, UnsignedShort buttonFlags, + UnicodeString titleString, UnicodeString bodyString, + GameWinMsgBoxFunc yesCallback, GameWinMsgBoxFunc noCallback, + GameWinMsgBoxFunc okCallback, GameWinMsgBoxFunc cancelCallback, Bool useLogo) override { return nullptr; } + virtual GameWinDrawFunc getPushButtonImageDrawFunc() override { return nullptr; } virtual GameWinDrawFunc getPushButtonDrawFunc() override { return nullptr; } virtual GameWinDrawFunc getCheckBoxImageDrawFunc() override { return nullptr; } From 7e9370dd056cc4ab8faca29560fa92d0ea0bab43 Mon Sep 17 00:00:00 2001 From: Bobby Battista Date: Sun, 19 Jul 2026 19:38:28 +0400 Subject: [PATCH 2/2] feat(headless): replicate gogoMessageBox stub to Generals --- .../GameEngine/Include/GameClient/GameWindowManager.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Generals/Code/GameEngine/Include/GameClient/GameWindowManager.h b/Generals/Code/GameEngine/Include/GameClient/GameWindowManager.h index a3a4f53a4a6..2f84e45550b 100644 --- a/Generals/Code/GameEngine/Include/GameClient/GameWindowManager.h +++ b/Generals/Code/GameEngine/Include/GameClient/GameWindowManager.h @@ -389,6 +389,16 @@ class GameWindowManagerDummy : public GameWindowManager virtual GameWindow *allocateNewWindow() override { return newInstance(GameWindowDummy); } + // TheSuperHackers @fix bobtista 19/07/2026 Return no message box window in headless mode + virtual GameWindow *gogoMessageBox(Int x, Int y, Int width, Int height, UnsignedShort buttonFlags, + UnicodeString titleString, UnicodeString bodyString, + GameWinMsgBoxFunc yesCallback, GameWinMsgBoxFunc noCallback, + GameWinMsgBoxFunc okCallback, GameWinMsgBoxFunc cancelCallback) override { return nullptr; } + virtual GameWindow *gogoMessageBox(Int x, Int y, Int width, Int height, UnsignedShort buttonFlags, + UnicodeString titleString, UnicodeString bodyString, + GameWinMsgBoxFunc yesCallback, GameWinMsgBoxFunc noCallback, + GameWinMsgBoxFunc okCallback, GameWinMsgBoxFunc cancelCallback, Bool useLogo) override { return nullptr; } + virtual GameWinDrawFunc getPushButtonImageDrawFunc() override { return nullptr; } virtual GameWinDrawFunc getPushButtonDrawFunc() override { return nullptr; } virtual GameWinDrawFunc getCheckBoxImageDrawFunc() override { return nullptr; }