unify(client): Move Main Menus and Shell callbacks to Core#2622
unify(client): Move Main Menus and Shell callbacks to Core#2622DevGeniusCode wants to merge 5 commits intoTheSuperHackers:mainfrom
Conversation
|
| Filename | Overview |
|---|---|
| Core/GameEngine/CMakeLists.txt | Uncommented 13 new entries (Shell.h, ShellHooks.h, ShellMenuScheme.h/.cpp, and 9 menu .cpp files); Shell.cpp correctly remains commented out as it stays game-specific. |
| Generals/Code/GameEngine/CMakeLists.txt | Shell.h, ShellHooks.h, ShellMenuScheme.h, ShellMenuScheme.cpp, and 9 menu .cpp files correctly commented out; Shell.cpp kept active as Generals-specific implementation. |
| GeneralsMD/Code/GameEngine/CMakeLists.txt | Matching entries commented out (Shell.h, ShellHooks.h, ShellMenuScheme.h/.cpp, 9 menu files); Shell.cpp kept active for Zero Hour. |
| Core/GameEngine/Include/GameClient/Shell.h | Moved from GeneralsMD to Core intact; uses #pragma once, GPL header present, class interface unchanged. |
| Core/GameEngine/Include/GameClient/ShellHooks.h | Moved from GeneralsMD to Core intact; uses #pragma once, shell hook enum and SignalUIInteraction declaration preserved. |
| Core/GameEngine/Include/GameClient/ShellMenuScheme.h | Moved from GeneralsMD to Core; uses #pragma once, full class hierarchy for ShellMenuSchemeLine/Image/Scheme/Manager preserved. |
| Core/GameEngine/Source/GameClient/GUI/Shell/ShellMenuScheme.cpp | Implementation moved from GeneralsMD to Core; GPL header present, no NULL pointer usage, logic unchanged. |
| scripts/cpp/unify_move_files.py | Added 13 new commented-out unify_file() calls in main() documenting the operations performed by this PR; script logic unchanged. |
| Core/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/SinglePlayerMenu.cpp | Moved from GeneralsMD to Core verbatim; GPL header present, no pointer-related changes. |
| Core/GameEngine/Source/GameClient/GUI/GUICallbacks/ReplayControls.cpp | Moved from GeneralsMD to Core verbatim; no NULL pointer usage found, GPL header intact. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph Before["Before This PR"]
G["Generals/Code/GameEngine\n(Shell.h, ShellHooks.h, ShellMenuScheme.h\nShellMenuScheme.cpp, 9 menu .cpp files)"]
ZH["GeneralsMD/Code/GameEngine\n(Same 13 files — duplicate)"]
end
subgraph After["After This PR"]
C["Core/GameEngine\n(Shell.h, ShellHooks.h, ShellMenuScheme.h\nShellMenuScheme.cpp, 9 menu .cpp files)"]
GS["Generals/Code/GameEngine\nShell.cpp (game-specific, kept)"]
ZHS["GeneralsMD/Code/GameEngine\nShell.cpp (game-specific, kept)"]
GS -->|"#includes Core headers"| C
ZHS -->|"#includes Core headers"| C
end
G -->|"deleted"| C
ZH -->|"deleted"| C
Reviews (3): Last reviewed commit: "unify(client): Move Main Menus and Shell..." | Re-trigger Greptile
80f06b3 to
e4c4d72
Compare
e4c4d72 to
51143d8
Compare
Skyaero42
left a comment
There was a problem hiding this comment.
This is a merge and move. Files first need to be merged in one PR and then moved in another PR to allow for proper reviewing.
Which file are not same? (without spelling errors) |
Dependency Note:
This PR is built on top of PR #2620 . The diff currently includes files from previous PRs. Once PR #2620 is merged into upstream
main, this PR will automatically update to show only the relevant changes.Summary
Continuing the effort to unify the
GameClientcomponents by migrating the core Main Menus, Options, and Shell callbacks fromGeneralsMDdirectly to theCorestructure.Key Changes
GameClientfiles related to main game menus and shell systems toCore.Files Moved:
Main & Option Menus:
SinglePlayerMenu.cppCreditsMenu.cppDifficultySelect.cppDownloadMenu.cppKeyboardOptionsMenu.cppQuitMenu.cppReplay Menus & Controls:
ReplayMenu.cppPopupReplay.cppReplayControls.cppShell Systems:
ShellMenuScheme.cpp/ShellMenuScheme.hShell.hShellHooks.h