Skip to content

GeneralsX Beta 17

Choose a tag to compare

@github-actions github-actions released this 20 Aug 21:47
· 524 commits to main since 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.

Getting Started

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

What's New

🪟 Windows Support & Cross-Platform LAN Gaming

GeneralsX now features native Windows x86 builds (GeneralsX.exe and GeneralsXZH.exe) with full cross-platform LAN compatibility between Linux, macOS, and Windows!

  • 🤝 Huge thanks to @arazmj for contributing deterministic Windows x86 support, MSVC native build support for both Zero Hour and the Generals base game, CI release pipelines, and networking fixes!
  • ⚠️ Important Note: This enables LAN gaming (Local Area Network, Direct Connect, or Virtual LAN solutions like ZeroTier, Radmin LAN, Hamachi), NOT online matchmaking / GameSpy. All players in the LAN lobby must use compatible GeneralsX builds to play together deterministically without sync crashes.

🌐 Multiplayer & Networking

  • Cross-Platform LAN Compatibility: Play LAN matches between macOS, Linux, and Windows clients with shared deterministic simulation.
  • Shared Tunnel & Cave Network Exits: Fixed passenger exit orders being rejected when units entered one tunnel/cave entrance and were ordered out of another connected endpoint belonging to the same player (#254 by @arazmj).
  • Preserve Spaces in Map Names: Fixed serialization for map names with spaces (such as Twilight Flame) when communicating across clients (#252 by @arazmj).
  • Network Packet Optimization: Removed unnecessary dynamic allocations in NetPacket handling.

🖥️ Windowing & Platform Fixes

  • macOS HiDPI & Multi-Monitor Placement: Fixed window sizing and centering issues on Retina / multi-monitor setups, preventing oversized windows and incorrect display migration (#251 by @kumait).
  • Windows Big File Language Auto-Detection: Automatically detect game language when registry entries are not present.
  • UI & Watermark: Improved tag casing detection and layout formatting for the on-screen watermark.

🔊 Audio Engine (OpenAL & MiniAudio)

  • Audio Event Lifetime Management: Refactored audio requests to use RefCountPtr<DynamicAudioEventRTS>, eliminating dangling pointer crashes during looping audio playback across both OpenAL and MiniAudio backends.

🧠 Gameplay & Engine Fixes (Upstream Sync)

  • Pathfinder Retail Crash Fixes: Fixed legacy engine crashes caused by dangling pointers in pathfindCell and missing info headers in closed list navigation.
  • Aircraft AI Fixes:
    • Chinook helicopters no longer accept invalid enter commands or enter-themselves loops.
    • Aircraft no longer attempt to land or remain stationed at destroyed Airfields.
  • Infantry Evacuation AI: Force-evacuated infantry from destroyed/unloaded vehicles no longer path towards invalid target locations.
  • Horde Mechanics: Prevented dead units from being evaluated as active horde members.
  • Smooth GUI Animation: Animated GUI menus and windows now move smoothly at refresh rates above 30 FPS.
  • Script Performance: Reduced lookup overhead in ScriptEngine::findScript() by ~85%.
  • Scorch Rendering: Separated scorch rendering into W3DScorch and fixed mipmap quality updates when changing graphic settings.

Community Ports based on GeneralsX

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

Changelog

  • fix: Correct window placement and HiDPI sizing on macOS by @kumait in #251
  • fix(network): preserve spaces in map names by @arazmj in #252
  • build(windows): restore deterministic x86 build by @arazmj in #253
  • fix(containment): allow shared network exits by @arazmj in #254
  • chore(sync): merge upstream thesuperhackers into GeneralsX by @fbraz3 in #257
  • feat(windows): add native msvc build support for generals base game by @fbraz3 in #262

Full Changelog: GeneralsX-Beta-16...GeneralsX-Beta-17