- Notifications
You must be signed in to change notification settings - Fork163
Command and Conquer: Generals - Zero Hour
License
TheSuperHackers/GeneralsGameCode
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
GeneralsGameCode is a community-driven project aimed at fixing and improving the classic RTS game,Command &Conquer: Generals and its expansionZero Hour. This repository contains the source code for both games, with aprimary focus onZero Hour.
Additionally, there is a complementary project repository for fixing and improving game data and assets such asINI scripts, GUI, AI, maps, models, textures, audio, localization. You can find ithere 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 VisualStudio 2022 and C++20.
The initial goal of this project is to fix critical bugs and implement improvements while maintaining compatibility withthe originalGenerals version 1.08 andZero Hour version 1.04. Once we can break retail compatibility, more fixesand 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, andchanges based on player feedback.
To runGenerals orZero Hour using this project, you need to have the originalCommand & Conquer: Generals and Zero Hour gameinstalled. The easiest way to get it is throughCommand & Conquer The Ultimate CollectiononSteam. Once the game is ready, download the latest version of theproject fromGitHub Releases, extract the necessaryfiles, and follow the instructions in theWiki.
You can chat and discuss the development of the project on ourDiscord channel to get the latest updates,report bugs, and contribute to the project!
We provide support for building the project on Windows and Linux. For detailed build instructions, check theWiki, which includes guides for VS6, VS2022,Docker, CLion, and links to forks supporting additional versions.
Windows (Visual Studio 2022)
cmake --preset win32cmake --build build/win32 --config Release
Linux (via Docker)
./scripts/docker-build.sh# Build using Docker./scripts/docker-install.sh --detect# Install to your game
The repository uses a vcpkg manifest (vcpkg.json) paired with a lockfile (vcpkg-lock.json). When you add or upgradedependencies, runvcpkg install --x-manifest-root . --triplet <triplet> withVCPKG_FEATURE_FLAGS=versions so thelockfile picks up the new versions and include the updated lockfile in your change. GitHub Actions consumes these portsthroughVCPKG_BINARY_SOURCES=clear;files,<workspace>/vcpkg-bincache,readwrite (paired with anactions/cache entry forthat folder), so the first CI build warms the cache and subsequent builds pull prebuilt binaries instead ofre-compiling everything.
We welcome contributions to the project! If you’re interested in contributing, you need to have knowledge of C++. Jointhe developer chat on Discord for more information on how to get started. Please make sure to read ourContributing Guidelines before submitting a pull request. You can also check outtheWiki 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 theGPL-3.0 License, which allows you tofreely modify and distribute the source code under the terms of this license. Please seeLICENSE.mdfor details.
About
Command and Conquer: Generals - Zero Hour
Topics
Resources
License
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Languages
- C++96.5%
- C2.7%
- CMake0.6%
- Python0.2%
- Shell0.0%
- Perl0.0%