Skip to content

GeneralsX Beta 18

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Aug 20:27
7207989

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

🌟 Welcoming @arazmj to the Team!

We are thrilled to give a warm welcome to @arazmj as a new core contributor to GeneralsX! 🎉
@arazmj has delivered phenomenal improvements across cross-platform determinism, graphics rendering enhancements, widescreen UI polish, AI stability, and codebase synchronization with upstream TheSuperHackers. Thank you and welcome aboard! 🚀

🎯 Cross-Platform Multiplayer & Determinism

  • Deterministic Bézier Trajectories: Aligned GLM matrix and vector operations with D3DX order so projectile trajectories (such as Scorpion tank shells) stay bit-identical across macOS, Linux, and Windows (#255 by @arazmj).
  • Reliable Integer-to-String (itoa) Conversion: Replaced Unix itoa buffer handling with a portable implementation, ensuring correct bone name generation (ExitStart0...) during troop unloads (e.g., Troop Crawlers) and eliminating desyncs between macOS and Windows (#256 by @arazmj).
  • Deep CRC Diagnostics on Windows: Enabled automated 64-frame state snapshot logging on Windows (deep_crc_*.bin), standardizing desync diagnosis across all platforms (#278 by @fbraz3).
  • Network Command Ordering: Sorted network command lists deterministically to avoid command sequencing divergence (#276 by @arazmj).

🎨 Graphics & Rendering Polish

  • Texture & DDS Mipmap Quality: Authored DDS mip chains and explicit mip requests are now fully preserved. Added robust capability-aware MSAA fallbacks, clamped anisotropy to device limits with linear fallback (preventing degradation to point sampling), and corrected rectangular/sparse mip sizing (#270 by @arazmj).
  • Skinned Mesh Vertex Colors: Preserved authored diffuse, team-color, and emissive vertex colors during skinned mesh rendering without state leakage (#270 by @arazmj).
  • Shoreline Alpha & Shroud Blending: Configured shoreline texture alpha blending explicitly to modulate with fog-of-war/shroud alpha, preventing visual inconsistencies (#269 by @arazmj).
  • Particle & Scorch Improvements: Upgraded scorch mark management with deque storage/deduplication and added volume particle depth controls (#276).

🖥️ UI & Quality of Life

  • Widescreen Control Bar Aspect Ratios: Command buttons, science purchase buttons, unit cameos, and build queue cards now maintain their original aspect ratio on widescreen and ultrawide displays (> 4:3) rather than stretching horizontally (#268 by @arazmj).
  • Generals Campaign Menu Transition: Fixed an issue where the main menu shell could overlay the campaign mission when continuing from the score screen (#275 by @arazmj).
  • Loose GameData.ini Modding Precedence: User-authored loose Data/INI/GameData.ini files now take precedence over auto-generated SagePatch.ini defaults (e.g. custom camera height), restoring standard modding flexibility (#264 by @kumait).

🧠 Gameplay & Engine Fixes (Upstream Sync)

  • AI State Lifecycle Safety: Fixed a crash caused by temporary AI states being prematurely cleared during update callbacks when spawning USAF aircraft/free Raptors (#277 by @arazmj).
  • Save/Load Improvements: Added -loadsave command-line argument, explicit success/error feedback dialogs, and graceful recovery when loading save games (#276 by @arazmj).
  • Shared Tunnel & Cave Network Exits: Integrated upstream's polymorphic containment validation (isContained()), ensuring units can exit from any connected tunnel or cave endpoint (#276 by @arazmj).
  • Missile AI & Selection Fixes: Diving missiles no longer miss moving targets, and KINDOF_NO_SELECT objects are properly excluded from mass selections (#276).
  • UTF-8 String Utilities: Improved cross-platform UTF-8 text validation and conversion handling (#276).

Community Ports based on GeneralsX

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

Changelog

  • fix(math): align deterministic Bezier operations by @arazmj in #255
  • fix(compat): terminate itoa output reliably by @arazmj in #256
  • fix(ini): replay user GameData.ini after SagePatch overrides by @kumait in #264
  • fix(ui): preserve widescreen card aspect ratios by @arazmj in #268
  • fix(water): stabilize shoreline track alpha by @arazmj in #269
  • fix(graphics): preserve texture and render quality by @arazmj in #270
  • chore(ci): clarify conventional commit rules for trailers and co-authors by @fbraz3 in #274
  • fix(generals): prevent campaign menu overlay by @arazmj in #275
  • chore(sync): merge TheSuperHackers upstream by @arazmj in #276
  • fix(ai): preserve temporary state lifecycle by @arazmj in #277
  • feat(crc): enable deep crc memory buffer logging on windows by @fbraz3 in #278

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