GeneralsGameCode is a community-driven project aimed at fixing and improving the classic RTS game, Command & Conquer: Generals and its expansion Zero Hour. This repository contains the source code for both games, with a primary focus on Zero Hour.
Additionally, there is a complementary project repository for fixing and improving game data and assets such as INI scripts, GUI, AI, maps, models, textures, audio, localization. You can find it here and contribute to it as well.
The game was originally developed using Visual Studio 6 and C++98. We've updated the code to be compatible with Visual Studio 2022 and C++20.
The initial goal of this project is to fix critical bugs and implement improvements while maintaining compatibility with the original Generals version 1.08 and Zero Hour version 1.04. Once we can break retail compatibility, more fixes and features will be possible to implement.
Here's an overview of our current focus and future plans
- Modernizing the Codebase: Transitioning to modern C++ standards and refactoring old code.
- Critical Bug Fixes: Fixing game-breaking issues (e.g., fullscreen crash).
- Minor Bug Fixes: Addressing minor bugs (e.g., UI issues, graphical glitches).
- Cross-Platform Support: Adding support for more platforms (e.g., Linux, macOS).
- Engine Improvements: Enhancing the game engine to improve performance and stability.
- Client-Side Features: Enhancing the game's client with features such as an improved replay viewer and UI updates.
- Multiplayer Improvements: Implementing a new game server and an upgraded matchmaking lobby.
- Tooling Improvements: Developing new or improving existing tools for modding and game development.
- Community-Driven Improvements: Once the community grows, we plan to incorporate more features, updates, and changes based on player feedback.
To run Generals or Zero Hour using this project, you need to have the original Command & Conquer: Generals and Zero Hour game installed. The easiest way to get it is through Command & Conquer The Ultimate Collection on Steam. Once the game is ready, download the latest version of the project from GitHub Releases, extract the necessary files, and follow the instructions in the Wiki.
You can chat and discuss the development of the project on our Discord channel to get the latest updates, report bugs, and contribute to the project!
We provide support for building the project using Visual Studio 6 (VS6) and Visual Studio 2022. For detailed build instructions, check the Wiki, which also includes guides for building with Docker, CLion, and links to forks supporting additional versions.
We welcome contributions to the project! If you’re interested in contributing, you need to have knowledge of C++. Join the developer chat on Discord for more information on how to get started. Please make sure to read our Contributing Guidelines before submitting a pull request. You can also check out the Wiki for more detailed documentation.
EA has not endorsed and does not support this product. All trademarks are the property of their respective owners.
This project is licensed under the GPL-3.0 License, which allows you to freely modify and distribute the source code under the terms of this license. Please see LICENSE.md for details.