Skip to content

Commit 92ea8b3

Browse files
Update README.md (#515)
1 parent 9eac3d3 commit 92ea8b3

File tree

1 file changed

+61
-28
lines changed

1 file changed

+61
-28
lines changed

README.md

Lines changed: 61 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,82 @@
1+
[![GitHub Release](https://img.shields.io/github/v/release/TheSuperHackers/GeneralsGameCode?include_prereleases&sort=date&display_name=tag&style=flat&label=Release)](https://github.com/TheSuperHackers/GeneralsGameCode/releases)
2+
![GitHub milestone details](https://img.shields.io/github/milestones/progress-percent/TheSuperHackers/GeneralsGameCode/3)
3+
![GitHub milestone details](https://img.shields.io/github/milestones/progress-percent/TheSuperHackers/GeneralsGameCode/1)
4+
![GitHub milestone details](https://img.shields.io/github/milestones/progress-percent/TheSuperHackers/GeneralsGameCode/4)
5+
![GitHub milestone details](https://img.shields.io/github/milestones/progress-percent/TheSuperHackers/GeneralsGameCode/5)
6+
![GitHub milestone details](https://img.shields.io/github/milestones/progress-percent/TheSuperHackers/GeneralsGameCode/6)
17

2-
# Command & Conquer Generals (inc. Zero Hour) Source Code
8+
[![GitHub issues by-label](https://img.shields.io/github/issues/TheSuperHackers/GeneralsGameCode/bug?style=flat&label=Bug%20Issues&labelColor=%23c4c4c4&color=%23424242)](https://github.com/TheSuperHackers/GeneralsGameCode/issues?q=label%3ABug)
9+
[![GitHub issues by-label](https://img.shields.io/github/issues/TheSuperHackers/GeneralsGameCode/enhancement?style=flat&label=Enhancement%20Issues&labelColor=%23c4c4c4&color=%23424242)](https://github.com/TheSuperHackers/GeneralsGameCode/issues?q=label%3AEnhancement)
10+
[![GitHub issues by-label](https://img.shields.io/github/issues/TheSuperHackers/GeneralsGameCode/major?style=flat&label=Major%20Issues&labelColor=%23c4c4c4&color=%23424242)](https://github.com/TheSuperHackers/GeneralsGameCode/issues?q=label%3AMajor)
11+
[![GitHub issues by-label](https://img.shields.io/github/issues/TheSuperHackers/GeneralsGameCode/critical?style=flat&label=Critical%20Issues&labelColor=%23c4c4c4&color=%23424242)](https://github.com/TheSuperHackers/GeneralsGameCode/issues?q=label%3ACritical)
12+
[![GitHub issues by-label](https://img.shields.io/github/issues/TheSuperHackers/GeneralsGameCode/blocker?style=flat&label=Blocker%20Issues&labelColor=%23c4c4c4&color=%23424242)](https://github.com/TheSuperHackers/GeneralsGameCode/issues?q=label%3ABlocker)
313

4-
This repository includes source code for Command & Conquer Generals, and its expansion pack Zero Hour. This release provides support to the Steam Workshop for both games ([C&C Generals](https://steamcommunity.com/workshop/browse/?appid=2229870) and [C&C Generals - Zero Hour](https://steamcommunity.com/workshop/browse/?appid=2732960)).
14+
# Welcome to the Generals Game Code Project
515

16+
GeneralsGameCode is a community-driven project aimed at fixing and improving the classic RTS game, *Command &
17+
Conquer: Generals* and its expansion *Zero Hour*. This repository contains the source code for both games, with a
18+
primary focus on *Zero Hour*.
619

7-
## Dependencies
20+
Additionally, there is a complementary project repository for fixing and improving game data and assets such as
21+
INI scripts, GUI, AI, maps, models, textures, audio, localization. You can find it
22+
[here](https://github.com/TheSuperHackers/GeneralsGamePatch/) and contribute to it as well.
823

9-
If you wish to rebuild the source code and tools successfully you will need to find or write new replacements (or remove the code using them entirely) for the following libraries;
24+
## Project Overview
1025

11-
- DirectX SDK (Version 9.0 or higher) (expected path `\Code\Libraries\DirectX\`)
12-
- STLport (4.5.3) - (expected path `\Code\Libraries\STLport-4.5.3`)
13-
- 3DSMax 4 SDK - (expected path `\Code\Libraries\Max4SDK\`)
14-
- NVASM - (expected path `\Code\Tools\NVASM\`)
15-
- BYTEmark - (expected path `\Code\Libraries\Source\Benchmark`)
16-
- RAD Miles Sound System SDK - (expected path `\Code\Libraries\Source\WWVegas\Miles6\`)
17-
- RAD Bink SDK - (expected path `\Code\GameEngineDevice\Include\VideoDevice\Bink`)
18-
- SafeDisk API - (expected path `\Code\GameEngine\Include\Common\SafeDisk` and `\Code\Tools\Launcher\SafeDisk\`)
19-
- Miles Sound System "Asimp3" - (expected path `\Code\Libraries\WPAudio\Asimp3`)
20-
- GameSpy SDK - (expected path `\Code\Libraries\Source\GameSpy\`)
21-
- ZLib (1.1.4) - (expected path `\Code\Libraries\Source\Compression\ZLib\`)
22-
- LZH-Light (1.0) - (expected path `\Code\Libraries\Source\Compression\LZHCompress\CompLibSource` and `CompLibHeader`)
26+
The game was originally developed using Visual Studio 6 and C++98. We've updated the code to be compatible with Visual
27+
Studio 2022 and C++20.
2328

29+
The initial goal of this project is to fix critical bugs and implement improvements while maintaining compatibility with
30+
the original *Generals* version 1.08 and *Zero Hour* version 1.04. Once we can break retail compatibility, more fixes
31+
and features will be possible to implement.
2432

25-
## Compiling (Win32 Only)
33+
## Current Focus and Future Plans
2634

27-
To use the compiled binaries, you must own the game. The C&C Ultimate Collection is available for purchase on [EA App](https://www.ea.com/en-gb/games/command-and-conquer/command-and-conquer-the-ultimate-collection/buy/pc) or [Steam](https://store.steampowered.com/bundle/39394/Command__Conquer_The_Ultimate_Collection/).
35+
Here's an overview of our current focus and future plans
2836

29-
The quickest way to build all configurations in the project is to open `rts.dsw` in Microsoft Visual Studio C++ 6.0 (SP6 recommended for binary matching to Generals patch 1.08 and Zero Hour patch 1.04) and select Build -> Batch Build, then hit the “Rebuild All” button.
37+
- **Modernizing the Codebase**: Transitioning to modern C++ standards and refactoring old code.
38+
- **Critical Bug Fixes**: Fixing game-breaking issues (e.g., fullscreen crash).
39+
- **Minor Bug Fixes**: Addressing minor bugs (e.g., UI issues, graphical glitches).
40+
- **Cross-Platform Support**: Adding support for more platforms (e.g., Linux, macOS).
41+
- **Engine Improvements**: Enhancing the game engine to improve performance and stability.
42+
- **Client-Side Features**: Enhancing the game's client with features such as an improved replay viewer and UI updates.
43+
- **Multiplayer Improvements**: Implementing a new game server and an upgraded matchmaking lobby.
44+
- **Tooling Improvements**: Developing new or improving existing tools for modding and game development.
45+
- **Community-Driven Improvements**: Once the community grows, we plan to incorporate more features, updates, and
46+
changes based on player feedback.
3047

31-
If you wish to compile the code under a modern version of Microsoft Visual Studio, you can convert the legacy project file to a modern MSVC solution by opening `rts.dsw` in Microsoft Visual Studio .NET 2003, and then opening the newly created project and solution file in MSVC 2015 or newer.
48+
## Running the Game
3249

33-
NOTE: As modern versions of MSVC enforce newer revisions of the C++ standard, you will need to make extensive changes to the codebase before it successfully compiles, even more so if you plan on compiling for the Win64 platform.
50+
To run *Generals* or *Zero Hour* using this project, you need to have the original *Command & Conquer: Generals and Zero Hour* game
51+
installed. The easiest way to get it is through *Command & Conquer The Ultimate Collection*
52+
on [Steam](https://store.steampowered.com/bundle/39394). Once the game is ready, download the latest version of the
53+
project from [GitHub Releases](https://github.com/TheSuperHackers/GeneralsGameCode/releases), extract the necessary
54+
files, and follow the instructions in the [Wiki](https://github.com/TheSuperHackers/GeneralsGameCode/wiki).
3455

35-
When the workspace has finished building, the compiled binaries will be copied to the folder called `/Run/` found in the root of each games directory.
3656

57+
## Joining the Community
3758

38-
## Known Issues
59+
You can chat and discuss the development of the project on our [Discord channel](https://www.community-outpost.com/discord) to get the latest updates,
60+
report bugs, and contribute to the project!
3961

40-
Windows has a policy where executables that contain words “version”, “update” or “install” in their filename will require UAC Elevation to run. This will affect “versionUpdate” and “buildVersionUpdate” projects from running as post-build events. Renaming the output binary name for these projects to not include these words should resolve the issue for you.
62+
## Building the Game Yourself
4163

64+
We provide support for building the project using Visual Studio 6 (VS6) and Visual Studio 2022. For detailed build
65+
instructions, check the [Wiki](https://github.com/TheSuperHackers/GeneralsGameCode/wiki/build_guides), which also
66+
includes guides for building with Docker, CLion, and links to forks supporting additional versions.
4267

43-
## STLport
44-
STLport will require changes to successfully compile this source code. The file [stlport.diff](stlport.diff) has been provided for you so you can review and apply these changes. Please make sure you are using STLport 4.5.3 before attempting to apply the patch.
68+
## Contributing
4569

70+
We welcome contributions to the project! If you’re interested in contributing, you need to have knowledge of C++. Join
71+
the developer chat on Discord for more information on how to get started. Please make sure to read our
72+
[Contributing Guidelines](CONTRIBUTING.md) before submitting a pull request. You can also check out
73+
the [Wiki](https://github.com/TheSuperHackers/GeneralsGameCode/wiki) for more detailed documentation.
4674

47-
## License
4875

49-
This repository and its contents are licensed under the GPL v3 license, with additional terms applied. Please see [LICENSE.md](LICENSE.md) for details.
76+
## License & Legal Disclaimer
77+
78+
EA has not endorsed and does not support this product. All trademarks are the property of their respective owners.
79+
80+
This project is licensed under the [GPL-3.0 License](https://www.gnu.org/licenses/gpl-3.0.html), which allows you to
81+
freely modify and distribute the source code under the terms of this license. Please see [LICENSE.md](LICENSE.md)
82+
for details.

0 commit comments

Comments
 (0)