GMX (Generals Modding eXtended) is a community-driven extension of the open-source Command & Conquer: Generals – Zero Hour codebase.
GMX is built directly on top of GeneralsGameCode, maintained by TheSuperHackers and community contributors.
This project will:
- ✅ Inherit all bug fixes and enhancements from the community project.
- ✅ Extend modding support beyond INI editing, providing APIs and frameworks for advanced mods.
- ✅ Remain compatible with Generals: Zero Hour while enabling brand-new gameplay systems.
⚡ GMX is not a fork that drifts away—it is an expansion layer that tracks upstream fixes and improvements.
The community project focuses on stability, modernization, and bug fixing.
GMX builds on that foundation by adding a new layer for modding and content creation.
- Custom Gameplay Systems → damage types, weather effects, advanced AI, special effects.
- Improved Tooling → better error reporting, debugging tools, hot-reload for modders.
- Asset Expansion → support for new particle effects, shaders, audio, and UI integration.
- Upstream Sync → every release includes the latest GeneralsGameCode fixes.
GMX follows semantic versioning (MAJOR.MINOR.PATCH):
- Patch releases (
1.04.1) → Upstream fixes only, no breaking changes. - Minor releases (
1.3.0) → New modding features, backwards compatible. - Major releases (
2.0.0) → Breaking changes or when retail compatibility is dropped.
Each GMX release notes the upstream sync point (e.g., "Includes GeneralsGameCode v0.9.4").
The repository uses a vcpkg manifest (vcpkg.json) paired with a lockfile (vcpkg-lock.json). When you add or upgrade
dependencies, run vcpkg install --x-manifest-root . --triplet <triplet> with VCPKG_FEATURE_FLAGS=versions so the
lockfile picks up the new versions and include the updated lockfile in your change. GitHub Actions consumes these ports
through VCPKG_BINARY_SOURCES=clear;files,<workspace>/vcpkg-bincache,readwrite (paired with an actions/cache entry for
that folder), so the first CI build warms the cache and subsequent builds pull prebuilt binaries instead of
re-compiling everything.
GMX only tracks bugs related to modding features, APIs, and tools.
- 🐞 Game Bugs / Engine Issues → Report to GeneralsGameCode Issues.
- 🛠️ GMX-Specific Bugs (extended APIs, modding tools, new systems) → Report in GMX Issues.
When reporting, please include:
- GMX version (from release tag).
- Steps to reproduce.
- Logs, crash dumps, or mod files if relevant.
GMX’s mission is to extend modding support.
Feature requests must be focused on modder use-cases.
- APIs for unit logic, projectiles, damage, or effects.
- Extensions to INI (new fields, parameters, object properties).
- Modder tools (logging, debugging, hot-reload).
- Asset pipeline improvements (particles, shaders, audio hooks).
- Exporters and editors for modding workflows.
- Engine stability or vanilla bug fixes (→ report upstream).
- Gameplay balance or campaign changes.
- Requests involving copyrighted EA/third-party assets.
👉 Submit requests using the Feature Request Template.
Ways you can contribute:
- Bug Reports → Only for GMX-specific modding issues.
- Feature Requests → Must be modding-focused (see above).
- Code Contributions → PRs adding APIs, tools, or modding features.
- Docs & Wiki → Help document new APIs and modding workflows.
- Testing & Feedback → Try new features, provide modder feedback.
Before contributing:
- Ask: Does this belong in GMX (modding) or GeneralsGameCode (engine fix)?
- Keep GMX extensions modular and documented.
- Follow upstream coding style and standards.
You need the original Command & Conquer: Generals and Zero Hour.
- Available in Command & Conquer The Ultimate Collection.
- Download the latest GMX build from Releases.
- Setup instructions are in the Wiki.
GMX uses the same toolchain as GeneralsGameCode.
- Supported: Visual Studio 2022, Docker, CLion.
- Legacy: Visual Studio 6 (for compatibility).
Full instructions in the Build Wiki.
- Upstream Project: GeneralsGameCode, maintained by TheSuperHackers and contributors.
- GMX Development: Extends their work to build a stronger modding framework for the community.
🙏 Thanks to the entire community keeping Generals & Zero Hour alive!
This project is licensed under the GPL-3.0 License, the same as GeneralsGameCode.
- You may freely use, modify, and distribute under this license.
- See LICENSE.md for details.
All trademarks are property of their respective owners.