Skip to content

feat(windows): add native msvc build support for generals base game - #262

Merged
fbraz3 merged 8 commits into
mainfrom
feature/windows-generals-base-x86
Aug 20, 2026
Merged

feat(windows): add native msvc build support for generals base game#262
fbraz3 merged 8 commits into
mainfrom
feature/windows-generals-base-x86

Conversation

@fbraz3

@fbraz3 fbraz3 commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Description

Restores native MSVC Windows x86 build support for the Generals base game (Generals/), backporting the configurations from Zero Hour (GeneralsMD/).

Changes

  • Generals Base CMake Sync:
    • Redirect Win32 device sources in Generals/Code/GameEngineDevice/CMakeLists.txt to shared Core/GameEngineDevice/Source/Win32Device/ implementations (Win32GameEngine.cpp, Win32OSDisplay.cpp, Win32DIKeyboard.cpp, Win32Mouse.cpp).
    • Add d3d8lib linkage and if(UNIX) CompatLib guard to Generals/Code/GameEngine/CMakeLists.txt and Generals/Code/CMakeLists.txt.
  • CompatLib Cleaning:
    • Remove obsolete shadowing CompatLib headers (comip.h, comutil.h, windows.h) from Generals/Code/CompatLib/Include/.
    • Update windows_wrapper.h to include SDK <windows.h> under Windows and sync D3DXMATRIX constructors in d3dx8math.h.
  • CI Build Matrix:
    • Expand .github/workflows/build-windows.yml to a matrix building both generalsxzh (GeneralsXZH.exe) and generalsx (GeneralsX.exe).
    • Update ci.yml to trigger build-windows when either Zero Hour or Generals base game changes are detected.

Validation

  • Tested git status and verified all CMake and workflow definitions.
  • Triggered GitHub Actions CI build matrix on branch feature/windows-generals-base-x86.

@fbraz3
fbraz3 merged commit 0cb144b into main Aug 20, 2026
11 checks passed
@fbraz3
fbraz3 deleted the feature/windows-generals-base-x86 branch August 20, 2026 01:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant