Skip to content

Releases: fbraz3/GeneralsX

GeneralsX Beta 15

Choose a tag to compare

@github-actions github-actions released this 22 Jul 02:32
468d6e7

This is a beta release. Some bugs are still expected. If you run into any problems, please open an issue so we can investigate.

What's New

🌍 Historic Milestone: True Cross-Platform LAN Multiplayer!

Mac (Apple Silicon) and Linux (x86_64) players can now play against each other seamlessly!

Real-time strategy games rely on perfect mathematical synchronization (determinism) between all players. For decades, the hardware differences between an Intel processor and an ARM processor meant that rounding floating-point numbers would inevitably cause a "SyncCrash" (Desync).

In this massive milestone, we have completely shielded the engine's physics and game logic. By enforcing strict Floating-Point Unit (FPU) isolation, disabling non-deterministic compiler features (like FMA), and rewriting the core math layer (WWMath), GeneralsX now maintains bit-identical frame simulation across fundamentally different CPU architectures!

🛠️ New Diagnostic Tools

To support this effort, we've built a new engine-level telemetry system:

  • The game now actively tracks state transfers and can automatically dump binary snapshots (Deep CRC Memory Buffers) the exact moment a match falls out of sync.
  • 📖 Developers & Modders: Read our new HOWTO: Investigating SyncCrashes guide to learn how to extract and hex-parse these buffers to hunt down desyncs like a pro.

🐛 Bug Fixes & Improvements

  • Audio: Fixed an issue where the game would stay permanently silent after loading a saved game (MiniAudio/OpenAL parity fix).
  • Campaign: Fixed an edge-case bug that caused an instant "Defeat" screen during the intro cinematic of Generals Challenge missions.
  • Miscellaneous stability tweaks and codebase modernization.

Getting Started

Install the engine: Follow the Installation Guide to set up GeneralsX on your platform.

Community Ports based on GeneralsX

If you like GeneralsX, please also take a look into these projects

Changelog

  • UI: Scale fonts on high resolutions for tooltips and menus by @fbraz3 in #213
  • Update release pipeline and remove old workflows by @fbraz3 in #216
  • Fix cross-platform math determinism (Mac/Linux) by @fbraz3 in #217
  • bugfix: Re-assert FP mode in mouse pick to fix wrong click location with audio active by @costin-alupului in #222
  • Linux crash fixes by @Hamschta in #223
  • fix(audio-miniaudio): restart sound groups in reset() to restore audio after loadGame by @coolswood in #224
  • bugfix(challenge): Fix Generals Challenge defeat during next mission intro cinematic by @coolswood in #225
  • fix(audio): guard FP environment at all audio entry points by @meerzulee in #226
  • refactor: Consolidate mouse-pick FP-mode guard into getPickRay() by @costin-alupului in #228
  • fix(sync): TheSuperHackers upstream sync 07-20-2026 by @fbraz3 in #229
  • fix(network): fix multiplayer uncapped FPS and add buffer HUD by @fbraz3 in #230

Full Changelog: GeneralsX-Beta-14...GeneralsX-Beta-15

GeneralsX Beta 14

Choose a tag to compare

@github-actions github-actions released this 14 Jul 17:28
482cae1

This is a beta release. Some bugs are still expected. If you run into any problems, please open an issue so we can investigate.

What's New

  • Resolve beta-13 regressions (strategy center, pause menu, tree render)
  • Fix solid black minimap rendering
  • Resolve LAN lobby discovery between Mac and Linux
  • Fix Mac native HiDPI/Retina rendering
  • Add HD terrain tile support

Getting Started

Install the engine: Follow the Installation Guide to set up GeneralsX on your platform.

Don't have the game files? Steam does not offer a macOS or Linux download for this title. See Getting the Game Files for step-by-step instructions (copy from Windows, CrossOver trial, or SteamCMD).

Community Ports based on GeneralsX

If you like GeneralsX, please also take a look into these projects

Changelog

  • build(cmake): prefer system dependencies over FetchContent by @AuroraRAS in #197
  • Fix #187: Use A8R8G8B8 fallback for radar overlay and shroud formats by @fbraz3 in #200
  • fix(network): resolve LAN lobby discovery issues across POSIX platforms by @fbraz3 in #201
  • Fix game crash on Linux when some music files are missing by @fbraz3 in #202
  • macOS: native HiDPI/Retina rendering (full-screen, sharp, correct input) by @wormeyman in #204
  • Add HD terrain tile support (64->256px) with legacy-map fallback by @mrkinglollipop in #208
  • fix(build): add CNC_GENERALS_PATH fallback in zero hour wrappers by @fbraz3 in #209
  • fix: resolve beta-13 regressions (strategy center, tree render) by @fbraz3 in #210
  • Fix UpdateChecker on GitHub Actions by @fbraz3 in #212
  • Remove local recolor debug logs by @fbraz3 in #214

Full Changelog: GeneralsX-Beta-13...GeneralsX-Beta-14

GeneralsX Beta 13

Choose a tag to compare

@github-actions github-actions released this 10 Jul 23:42

This is a beta release. Some bugs are still expected. If you run into any problems, please open an issue so we can investigate.

What's New

This release brings stability enhancements and fixes minor issues

Getting Started

Install the engine: Follow the Installation Guide to set up GeneralsX on your platform.

Don't have the game files? Steam does not offer a macOS or Linux download for this title. See Getting the Game Files for step-by-step instructions (copy from Windows, CrossOver trial, or SteamCMD).

Community Ports based on GeneralsX

If you like GeneralsX, please also take a look into these projects

Changelog

  • feat(math): integrate deterministic GameMath by @fbraz3 in #176
  • fix(audio): correct sample limit tracking and source leaks by @fbraz3 in #182
  • docs: update audio backend, backport rules, and rename worklog by @fbraz3 in #184
  • Fix macOS/Linux fullscreen Spaces and disable live window resize by @fbraz3 in #185
  • Fix segfault in WaterRenderObjClass when skybox asset fails to load by @1rgs in #188
  • fix(network): correctly map PlayerIndex to SlotIndex in CRC validation by @fbraz3 in #189
  • Sync upstream thesuperhackers/main (07-10-2026) by @fbraz3 in #199

Full Changelog: GeneralsX-Beta-12...GeneralsX-Beta-13

GeneralsX Beta 12

Choose a tag to compare

@github-actions github-actions released this 29 Jun 02:32
7e3ea1d

This is a beta release. Some bugs are still expected. If you run into any problems, please open an issue so we can investigate.

What's New

🎮 Smooth 60 FPS & Beyond!

  • Uncapped / 60 FPS Default: Both C&C Generals and Zero Hour now run at a smooth default of 60 FPS for rendering, resolving previous issues where the frame rate limiter was bypassed.
  • Skirmish Frame Rates: In skirmish matches, you can now enjoy 60 FPS gameplay, or even uncap the frame rate entirely by adjusting the "Game Speed" slider.

🌐 Multiplatform LAN Support (Alpha)

  • Cross-Play Success: Verified stable multiplatform LAN matches between macOS (Apple Silicon M1) and Linux (Ubuntu 26.04) for over 10 minutes of continuous play with zero disconnects or CRC mismatches!
  • ⚠️ Important Limitation: Players currently do not auto-discover or appear automatically in the LAN lobby list. To connect and play, you must use the Direct Connect / IP Join feature by entering the host's IP address. (We are actively working on resolving lobby auto-discovery).

Getting Started

Install the engine: Follow the Installation Guide to set up GeneralsX on your platform.

Don't have the game files? Steam does not offer a macOS or Linux download for this title. See Getting the Game Files for step-by-step instructions (copy from Windows, CrossOver trial, or SteamCMD).

Changelog

  • feat(framepacer): decouple logic from render fps and default to 60 fps by @fbraz3 in #172
  • ci(github-actions): split replay tests into workflow_run to fix secrets access on external PRs by @fbraz3 in #173
  • ci(github-actions): implement ccache, Vulkan SDK, and Flatpak runtime caching by @fbraz3 in #174
  • ci(replay-tests): fallback to github if gitlab assets clone fails by @fbraz3 in #175
  • fix(linux): Resolve black infantry textures and update build scripts by @fbraz3 in #178
  • chore(sync): sync upstream TheSuperHackers/main by @fbraz3 in #179
  • SagePatch: pin target to C++17 so macOS builds by @mohamedelabbas1996 in #180
  • chore(network): disable retail compatibility, move legacy submodules, and update docs by @fbraz3 in #181

Full Changelog: GeneralsX-Beta-11...GeneralsX-Beta-12


❤️ Acknowledgements

A huge thank you to @x64-dev —his work on the GeneralsOnline project served as the inspiration for many of the networking enhancements and socket fixes integrated into this release.

GeneralsX Beta 11

Choose a tag to compare

@github-actions github-actions released this 20 Jun 03:54
fd1311d

This is a beta release. Some bugs are still expected. If you run into any problems, please open an issue so we can investigate.

What's New

  • Generals base game is now fully playable - no more visual bugs or fps issues
  • Audio changed from OpenAL to Miniaudio - thanks to @feliwir for providing the core library
  • Fixed audio controls in options menu
  • Fixed unit group binding - command + number on mac or ctrl + number on Linux.

Getting Started

Install the engine: Follow the Installation Guide to set up GeneralsX on your platform.

Don't have the game files? Steam does not offer a macOS or Linux download for this title. See Getting the Game Files for step-by-step instructions (copy from Windows, CrossOver trial, or SteamCMD).

Changelog

  • feat(audio): add MiniAudio backend as alternative to OpenAL+FFmpeg by @fbraz3 and @feliwir in #159
  • cleanup: remove GX-ISSUE144 diagnostic logging by @fbraz3 in #160
  • chore: sync with thesuperhackers/main upstream by @fbraz3 in #162
  • fix(input): resolve macOS group binding issue and SagePatch snap conflict by @fbraz3 in #164
  • fix(shadows): fix fog of war, black infantry, and building shadows by @fbraz3 in #165
  • bugfix(macos): Invert the SDL3 mouse wheel reported as SDL_MOUSEWHEEL_FLIPPED by @msmesoft in #168
  • fix(graphics): correct skinned mesh rendering black on macOS by @fbraz3 in #169
  • merge: sync thesuperhackers upstream (06-19-2026) by @fbraz3 in #170
  • fix(audio): sound volume initialization & MiniAudio doc updates by @fbraz3 in #171

Full Changelog: GeneralsX-Beta-10...GeneralsX-Beta-11

GeneralsX Beta 10

Choose a tag to compare

@github-actions github-actions released this 10 Jun 04:07
ee18a5e

This is a beta release. Some bugs are still expected. If you run into any problems, please open an issue so we can investigate.

Getting Started

Install the engine: Follow the Installation Guide to set up GeneralsX on your platform.

Don't have the game files? Steam does not offer a macOS or Linux download for this title. See Getting the Game Files for step-by-step instructions (copy from Windows, CrossOver trial, or SteamCMD).

What's Changed

  • fix(ci-replay): restore replay result reports and stabilize Linux headless CI by @fbraz3 in #142
  • fix(issue-144): macOS Cyrillic text fix by @fbraz3 in #153 - Thanks @w1semannn for reporting and tests
  • [sync] TheSuperHackers upstream sync 06-05-2026 by @fbraz3 in #155
  • feat(sagepatch): casual QoL patch for macOS + Linux + user-config-dir (Phase 1.5) by @ebellumat and @fbraz3 in #156
  • Update correct app id for C&C Generals GETTING_THE_GAME_FILES.md by @iptelephony in #157
  • merge: sync with TheSuperHackers upstream - 2026-06-08 by @fbraz3 in #158

Full Changelog: GeneralsX-Beta-9-patch-1...GeneralsX-Beta-10

GeneralsX Beta 9 - Patch 1

Choose a tag to compare

Important: This release fixes the crash issue present in Beta 9 that occurred after the title screen on Linux and macOS. If you are currently using Beta 9, please upgrade to this release.

This is a beta release. Some bugs are still expected. If you run into any problems, please open an issue so we can investigate.

Project status and next steps

This release mainly ports stability fixes from TheSuperHackers.

Single-player is now in a very stable state, so my main focus will shift toward improving LAN multiplayer support. This will be a challenging task since I have limited hardware available for testing, so future releases may be less frequent than they have been over the past few months.

Stability improvements and bug fixes will continue to be addressed as they are discovered. If you encounter any issues, please open an issue on GitHub with as much detail as possible. Your feedback is essential to help improve the project.

Getting Started

Install the engine: Follow the Installation Guide to set up GeneralsX on your platform.

Don't have the game files? Steam does not offer a macOS or Linux download for this title. See Getting the Game Files for step-by-step instructions (copy from Windows, CrossOver trial, or SteamCMD).

What's Changed

  • fix(ci-replay): restore replay result reports and stabilize Linux headless CI by @fbraz3 in #142
  • CI: optimize to macOS + Flatpak only, Linux replay in Flatpak by @fbraz3 in #143
  • chore(sync): merge thesuperhackers main 2026-05-21 by @fbraz3 in #146
  • merge: sync TheSuperHackers main into GeneralsX (2026-05-28) by @fbraz3 in #148
  • Fixing TheSuperHackers syncing issues by @fbraz3 in #152

Full Changelog: GeneralsX-Beta-8...GeneralsX-Beta-9-patch-1

GeneralsX Beta 8

Choose a tag to compare

@github-actions github-actions released this 16 May 17:57
a9be923

This is a beta release. Some bugs are still expected. If you run into any problems, please open an issue so we can investigate.

Getting Started

Install the engine: Follow the Installation Guide to set up GeneralsX on your platform.

Don't have the game files? Steam does not offer a macOS or Linux download for this title. See Getting the Game Files for step-by-step instructions (copy from Windows, CrossOver trial, or SteamCMD).

What's Changed

  • ci(workflows): upgrade actions for node24 by @fbraz3 in #130
  • fix(audio-openal): advance Attack/Sound/Decay portions on sample completion by @fbraz3 in #134
  • fix(dx8wrapper): restore macOS transparency in pillarbox path by @fbraz3 in #135
  • fix(linux-filesystem): resolve asset-root case mismatches by @fbraz3 in #137
  • docs(build): clarify linux proton install behavior by @fbraz3 in #138
  • chore(generals-parity): complete wave 1-5 code parity baseline by @fbraz3 in #139
  • merge(sync): import TheSuperHackers upstream into GeneralsX (2026-05-15) by @fbraz3 in #141

Full Changelog: GeneralsX-Beta-7...GeneralsX-Beta-8

GeneralsX Beta 7

Choose a tag to compare

@github-actions github-actions released this 08 May 13:41
c63bb98

This is a beta release. Some bugs are still expected. If you run into any problems, please open an issue so we can investigate.

Getting Started

Install the engine: Follow the Installation Guide to set up GeneralsX on your platform.

Don't have the game files? Steam does not offer a macOS or Linux download for this title. See Getting the Game Files for step-by-step instructions (copy from Windows, CrossOver trial, or SteamCMD).

What's Changed

  • fix(macos-build): detect vcpkg root automatically by @fbraz3 in #122
  • docs: add windows platform parameter to steamCMD by @rafikt1992 in #123
  • fix(replay): headless replay compatibility by @fbraz3 in #124
  • ci(replay-tests): add per-platform headless replay regression tests by @fbraz3 in #125
  • Fix update checker release guard without GitTag by @fbraz3 in #126
  • Sync upstream TheSuperHackers (2026-05-07) preserving GeneralsX cross-platform architecture by @fbraz3 in #127

Full Changelog: GeneralsX-Beta-6...GeneralsX-Beta-7

GeneralsX Beta 6

Choose a tag to compare

@github-actions github-actions released this 30 Apr 02:04
723ee69

This is a beta release. Some bugs are still expected. If you run into any problems, please open an issue so we can investigate.

Getting Started

Install the engine: Follow the Installation Guide to set up GeneralsX on your platform.

Don't have the game files? Steam does not offer a macOS or Linux download for this title. See Getting the Game Files for step-by-step instructions (copy from Windows, CrossOver trial, or SteamCMD).

What's Changed

  • docs(instructions): revise generalsx guide for active release state by @fbraz3 in #105
  • docs: add getting game files guide and rename install doc by @fbraz3 in #107
  • docs(wiki): update devin wiki.json to reflect active release state by @fbraz3 in #108
  • fix(audio-openal): restore narrator speech streams by @fbraz3 in #111
  • fix(graphics): stabilize macOS fullscreen scaling pipeline by @fbraz3 in #112
  • fix(network): correct LAN frame pacing unit mismatch on Linux by @fbraz3 in #113
  • fix(map-cache): support custom map paths and names by @fbraz3 in #114
  • chore(sync): merge TheSuperHackers upstream on 2026-04-28 by @fbraz3 in #115
  • fix(graphics): harden macOS fullscreen focus lock by @fbraz3 in #116
  • fix(sdl3-cursor): use SDL_CreateAnimatedCursor by @fbraz3 in #117

Full Changelog: GeneralsX-Beta-5...GeneralsX-Beta-6