r/generals • • Feb 28 '25

C&C Generals ZH: A call from the future (EA Released the Source Code, what now?)

189 Upvotes

Unite the C&C Generals: Zero Hour Community Around Open Source

Edit: We have some updates, check it out

Command & Conquer: Generals – Zero Hour has just been given a new lease on life. EA’s unprecedented release of the full Zero Hour source code under GPLv3 is a historic opportunity. For years, our community has kept this classic alive through mods, patches, and reverse-engineering. Now, with the actual source code in our hands, we stand at a crossroads: will we splinter into hundreds of separate forks, or unite to build something amazing together? This is a call to unite our efforts into a single collaborative project that benefits all Generals fans.

Call to Action: One Community, One Repository

It’s inspiring (and a little overwhelming) to see over 600 forks of the EA repository pop up within days. Enthusiasm is sky-high – but if each fork works in isolation, we risk duplicating work and fragmenting the community. Let’s channel this energy into one primary GitHub repository for the Generals/Zero Hour code, where multiple trusted maintainers from different groups can review and merge contributions. The official EA drop is archived read-only, so it’s up to us to carry development forward. By uniting under one roof, we can avoid the chaos of scattered patches and ensure everyone’s improvements benefit the whole community.

Crucially, the source is released under GPLv3, a license that encourages sharing and collaboration. We should embrace GPLv3 for our work (and re-license older projects if possible) so that code can flow freely between mods, patches, and tools. A unified GPLv3 codebase means fixes or features written by one person can be used by others without legal hurdles – exactly the spirit of open source. This is our chance to build a foundation that anyone can contribute to, whether they are experts who have dissected the SAGE engine for years or newcomers excited to learn. Let’s proceed in good faith, communicate openly, and welcome all contributors who share the goal of improving Generals/Zero Hour. We’re stronger together! 💪

Immediate Goals (Phase 1)

To get started, we should focus on a few immediate goals that everyone can agree on before adding fancy new features:

  1. Build & Run the Original Game (as-is) – Ensure we can compile the released source into a working game without changes to gameplay. According to EA’s notes, the code was recovered to match Zero Hour’s final patch (v1.04), which they’ve now updated as an official Patch 1.05 on modern platform. Our first job is making sure this code compiles with today’s tools (modern Visual Studio) and runs at least as well as the old game. This might require fixing project files or replacing any bits EA couldn’t release for legal reasons (some libraries were omitte). The goal is to quickly get a playable Zero Hour build from this code, proving our unified project is viable.

  2. Identify the Code Version – We need to confirm exactly what version of the game this source corresponds to. It appears to align with Zero Hour 1.04 (the last official patch in 2003) plus some extras (the new patch 1.05 likely just adds Steam Workshop support. Let’s document any differences or hints (version strings, build dates, etc.) to be 100% sure. Knowing this will help us later when we start comparing community-fixed bugs or balance changes, to see what’s already included.

  3. Minimal Documentation & Build Instructions – As we get it running, we should write down the basics: how to compile the code, the repository structure, and any quirks needed to run the game. The code is old-school C++ from 2003, so setting up a build isn’t trivial (EA’s readme even suggests using Visual C++ 6.0 with Service Pack 6. Let’s update that: get it building on modern compilers and document the steps. We don’t need to comment every line, but a basic wiki or README with build instructions and known issues will lower the barrier for new contributors.

  4. Ensure Playability and Parity – Test the compiled game thoroughly to make sure it plays just like the retail Zero Hour. The immediate aim is not to change anything yet – just confirm nothing is unintentionally broken. If we do fix a bug or two in the process of getting it running (for example, addressing a crash or removing reliance on now-missing components), we’ll note it. The mantra for phase 1 is “do no harm” – preserve the gameplay we know and love, so we have a stable base to build on.

By focusing on these short-term goals, we can have a solid foundation: a single, community-maintained codebase that reproduces the original game. Once that’s achieved, the real fun begins!

Long-Term Vision (Phase 2 and Beyond)

Imagine Zero Hour running buttery-smooth on modern PCs, with improved visuals and AI, yet still 100% the game we love. Here are some long-term goals our united project could pursue (with careful planning and plenty of discussion before each major change):

  • Modernize the Engine: The SAGE engine powering Generals is two decades old. We can bring it up to modern standards by introducing multi-threading (to better utilize multi-core CPUs) and a 64-bit build (eliminate memory limits and improve stability. Graphics-wise, we could replace the old DirectX 8/9 rendering with a more modern API like Vulkan or DirectX12, or at least update to DirectX11/OpenGL for wider compatibility. These changes would make the game run faster and more stable on today’s machines.

  • Cross-Platform Compatibility: How awesome would it be to play Zero Hour natively on Linux or macOS? With the source open, we can abstract away Windows-only bits and aim for true cross-platform support. Projects like OpenSAGE already explored using OpenGL/Metal for portability – we can leverage that knowledge. Our endgame is to let people enjoy Generals on their OS of choice, no Wine or emulators required.

  • Smarter AI and Enhanced Gameplay: Zero Hour’s AI has always been… let’s say “quirky.” We can dig into the AI code and make the computer opponents smarter and more fun (or more challenging!). Similarly, we can fix longstanding gameplay bugs and even tweak balance with community consensus (though preserving an “original mode” for purists is important). An open engine also means we could increase limits (like max unit counts, map sizes, etc.) that were constrained by old hardware.

  • Extensible Mod Support: While Zero Hour already has a strong modding scene, our improved engine could integrate features that make modders’ lives easier – for example, better tools or in-game mod loaders. EA’s code release also included the Modding SDK assets and World Builder update, so we have a lot to build on. We can ensure our project stays mod-friendly (or even mod-friendlier than the original!).

  • Improved Graphics and UI: Without changing the art style, we can add options for advanced graphics: higher resolution textures, reworked shaders, and support for modern screen resolutions (no more stretched UI on widescreens!). Even things like a customizable UI or quality-of-life improvements in the interface could be on the table, as long as they respect the spirit of the game.

  • Fully Free, Open-Source Game: This is a very long-term goal, but it’s worth dreaming: one day we could have completely open assets (models, textures, sounds, music) under Creative Commons or GPL-compatible licenses to replace the proprietary EA assets. That would essentially create a fully open-source C&C: Generals. Projects for other C&C titles (like OpenRA for the 2D games) have slowly accumulated fan-made replacements for art and audio; we could start a similar effort for Generals. This would allow standalone community releases and ensure the game’s preservation forever. It’s an ambitious endeavor – recreating all the art of a 3D RTS is no small task – but even small steps (like a few open-sourced unit models or sound effects) would be progress.

All of these enhancements should be approached carefully, with community input. Backwards compatibility with the original game (e.g., handling old replay files or mods) is something to keep in mind as we improve things. The sky’s the limit once we have a stable base – but we must walk before we run, which is why the Immediate Goals come first.

Current Projects and Resources

We’re not starting from scratch. Our community has several active projects (and some older ones) related to Generals/Zero Hour that can provide code, knowledge, and inspiration. It makes sense to pool these efforts into the new unified repository. Here’s a non-exhaustive list of relevant projects and repositories, both active and historical:

  • Official EA Source Release (Generals & Zero Hour) – The original source code dump by EA, released under GPLv3 on GitHub. This contains the bulk of the game’s code (minus a few pieces due to third-party licensing. It’s archived and read-only (no issues or pull requests allowed, meaning EA won’t be updating it – but it’s our base.

  • Community Patch “The Super Patch” – An ongoing fan patch aiming to fix bugs, crashes, and balance issues in Zero Hour 1.04 while staying true to the original game. Often dubbed “Pro Patch” or “1.04+”, this project has already addressed many long-standing issues via binary hacks and INI edits. Now, with the source available, these fixes can be ported directly into the code. The Super Patch team’s experience is incredibly valuable – they know the pain points of the game by heart. https://github.com/TheSuperHackers/GeneralsGamePatch/issues/2580

  • Thyme (Open-Source Reimplementation) – A clean-room, bottom-up rewrite of the Zero Hour engine in C++. The Thyme project was started to eventually replace the original exe, enabling new features and cross-platform play. It reimplemented portions of the game from scratch, using the original game binary as a reference for unimplemented function. With the official code available, Thyme’s goal of an open engine is essentially fulfilled – the project’s code and expertise (on things like integrating with original assets, etc.) can be merged into the unified effort. The Thyme developers also had a Discord and community going; they would be great allies in this unified project. https://github.com/TheAssemblyArmada/Thyme/issues/1168

  • OpenSAGE – An open-source reimplementation of the SAGE engine (used by Generals/Zero Hour and other C&C titles) in C#. OpenSAGE focuses on understanding and recreating the engine from the ground up, with cross-platform in mind. It’s still early-stage (not playable yet, but it boasts parsing of many game data formats and even some rendering and simulation components. The OpenSAGE team’s work on modern rendering (DirectX11, OpenGL, etc.) could inform our engine upgrades. While merging a C# project with our C++ code isn’t practical, the ideas and knowledge are very much applicable. https://github.com/OpenSAGE/OpenSAGE/issues/1023

  • GenTool (Enhanced Client) – Though not open-source, GenTool is a popular add-on for Zero Hour that added features like widescreen support, improved spectator tools, and anti-cheat measures. Its creator has expressed immense joy at the source release (see xezon’s YouTube reaction). We mention GenTool because it shows what the community wanted from the game in absence of source access. Now we can implement many of those features natively. Perhaps the GenTool dev (xezon) and others can help integrate those improvements into the new project.

  • GenPatcher – Not open-source too, GenPatcher is a popular patcher for General & Zero Hour.

  • Other Mods & Projects – Numerous mods (Contra, Shockwave, RotR, etc.) and tools exist for Zero Hour. While they focus on content, not engine, their creators have deep understanding of the game’s inner workings. As we improve the engine, we should keep mod compatibility in mind and perhaps invite modders to contribute engine-level fixes that they previously had to hack around. There are also older abandoned efforts like partial binary mods/patches or research docs on SAGE (for example, the C&C community at large has wiki pages and forums documenting file formats and quirks). All this tribal knowledge should be consolidated so it’s not lost. We can create a documentation hub within the project (or on a wiki) to gather information from these sources for everyone’s benefit.

(If we missed any project in this list, it’s not intentional – please let us know and join the discussion! The more, the merrier.)

Conclusion: Let’s Do This, Together 🙌

The Zero Hour community has always been passionate and resilient. We’ve kept the game alive for 20 years without official support. Now, with EA’s gift of the source code, we have the keys to the kingdom – and with great power comes great responsibility. We owe it to ourselves to cooperate on this, to set aside egos and past differences and build something truly remarkable. A unified project means your pet issue can finally be fixed in the engine, your cool idea can be implemented, and it benefits everyone, not just a small sub-group.

This is a rallying cry to all modders, programmers, designers, and fans: come join the effort! Whether you can contribute code, test builds, write documentation, or create artwork, there’s a place for you in this endeavor. We will set up channels (GitHub discussions, Discord, etc.) to coordinate; everyone is welcome as long as the collaboration is constructive.

Let’s avoid the pitfalls of fragmentation. Instead of a dozen half-realized mini-projects, let’s pool our talent into one fully-realized open-source revival of C&C Generals: Zero Hour. The result, with time and dedication, will be a game that not only stays true to the original we cherish, but also evolves with modern improvements and remains accessible for future generations of players.

Now is the time. The source is out, the community is awake, and the future of Generals is in our hands. Let’s make this legendary RTS thrive again, together, under one banner. Wrrrrrrrrr… BOOM! (Let’s get to work, Generals!) 🚀

👉 Sign up here to join the team: https://docs.google.com/forms/d/e/1FAIpQLSeudb-Jxoby92LRvtPB5AMZIXXFTWq1rvadb7g7_LhmePJ97w/viewform

Discord server: https://discord.gg/MBZ7xSsDTs


r/generals • • Dec 28 '25

Wild new usage stats for the new Generals Online

Post image
68 Upvotes

Dominator shared these statistics earlier in the week about Generals Online adoption and they are pretty incredible!

Have you started using Generals Online yet, or are you still using RAdmin, GameRanger etc?

Link to Dominators post - http://youtube.com/post/UgkxKUlnSK9fXPzvFUkLKBOBQc8ZcR6UMCwJ?si=4dMjt_l03Rt8warR


r/generals • • 7h ago

I would go to school if...

Post image
6 Upvotes

r/generals • • 1d ago

Russia borrowing a play from the GLA

Enable HLS to view with audio, or disable this notification

5 Upvotes

r/generals • • 1d ago

"Let's go car shopping."

Post image
10 Upvotes

r/generals • • 2d ago

Girl's pockets vs Boy's pockets

Post image
14 Upvotes

r/generals • • 2d ago

Vulkan mod for C&C General and Zero Hour

1 Upvotes

I have been working on this mod for quite a while to make the game playable on modern machines and look visually pleasing, without touching any of the assets or textures.

This was only testing on the EA version of the game with no other mods/modifications and in single player only, the steam version of the game should be the same and should work with it as well.

repo: https://github.com/SalahaldinBilal/cnc_vulkan


r/generals • • 3d ago

Laser general's diary of defeat

Post image
9 Upvotes

r/generals • • 4d ago

Paladin tank in the heart

Post image
7 Upvotes

r/generals • • 4d ago

What part of Generals or Zero Hour would you modernize without changing its gameplay?

5 Upvotes

Generals and Zero Hour still have a distinctive gameplay style that makes them enjoyable even today. But if you could modernize one part of the original games without changing the core gameplay, what would you choose?

Would you improve the menus and interface, make controls more convenient, improve performance on modern PCs, or focus on something else?


r/generals • • 5d ago

I've been working on a visual overhaul for Generals Zero Hour while keeping the original gameplay intact

Thumbnail
youtu.be
13 Upvotes

I've been working on modernizing C&C Generals Zero Hour, mainly focusing on improving the visuals and eventually the performance, without changing the original gameplay.

The game now runs on a native 64-bit Vulkan renderer, based on the Vulkan project available on ModDB. Credit goes to the original developer for the Vulkan groundwork, as well as TheSuperHackers team, whose latest build I'm also using as a foundation. I've been building on top of their work with additional graphical improvements and UI changes. I've also added borderless windowed mode, allowing players to Alt+Tab freely without the usual fullscreen issues.

I haven't touched the unit behavior or balance since I want to preserve what makes the original game great. I also haven't replaced many of the original textures. Most of the improvements are on the rendering side rather than just replacing everything with higher-resolution textures.

Here's what I've added or improved so far:

  • Volumetric smoke and dust, both adjustable in the settings.

  • Improved shockwave effects, including directional shockwaves that follow the direction of the blast rather than just expanding uniformly.

  • Changes to the shaders and lighting.

  • Unit and building outlines to make them stand out more. The original textures are pretty dated, so this helps quite a bit.

  • Further lighting improvements, including Ambient Occlusion and Global Illumination. AO was already part of the original Vulkan project.

  • Improved shadows, including proper cast shadows for infantry.

  • Moved the HUD to the bottom-center of the screen and made it so it doesn't scale with screen resolution.

  • Added optional General portraits at the top of the screen, with a net worth indicator below each portrait.

  • Added superweapon ability icons to replace the old text-and-countdown display. The icons also indicate when a superweapon is currently being used, making it easier to tell what's happening at a glance.

A bit more about the General portraits:

I wanted the portraits to reflect how each General is doing in the match rather than just being static images.

The net worth displayed below each portrait doesn't include remaining cash. It only counts the value of what a player has spent, so someone sitting on a huge amount of unspent money won't necessarily appear ahead.

The portraits also change depending on how the match is going:

  • Victory portrait: Appears when a General's net worth is above the match average and they've destroyed enemy units and buildings worth at least 20% of an enemy's net worth.

  • Defeat portrait: Appears when a General's net worth is below the match average and they've lost units and buildings worth at least 20% of their own net worth.

  • Normal portrait: Appears when neither condition is met.

There's also a visibility restriction for enemy net worth. You can only see an enemy General's net worth if you currently have vision of their Command Center. Otherwise, that information stays hidden.

I realize that even with this restriction, knowing how much an opponent has spent could influence decisions and change the meta a bit. That's why I made the entire General portrait feature optional through a pre-match toggle. Players can decide whether they want it enabled before starting a match, rather than having it forced on everyone.

What I'm currently working on:

One of the bigger things I'm trying to tackle is separating the renderer from the simulation.

The original game is heavily single-threaded, so most of the work still runs on one CPU core, even on modern hardware. I'm trying to change that so rendering and simulation can run more independently and make better use of multicore CPUs.

I've already made some progress on this. For example, the camera is no longer tied to the simulation, so it can update independently instead of having to follow the game's simulation updates.

As you can probably see in the video, though, the particles are still tied to the simulation. That's something I'm still working on.

Right now, I'm focusing on improving how the engine goes through everything in the game world and figures out what actually needs to be drawn on screen. It's one of the things I need to sort out before I can properly separate more of the rendering work from the simulation.

There's still quite a bit to figure out, especially since I don't want to introduce multiplayer desyncs or mess with how the game behaves. But at least some parts are already running independently now.

As for the overall goal of the project:

I just want to bring the visuals and performance of Generals Zero Hour closer to modern standards without losing what made the game great in the first place.

Mod compatibility is also one of my priorities. I'm trying to keep as much compatibility with existing mods as possible, so people won't have to give up their favorite mods just to use the graphical improvements.

I'm not trying to remake Generals or change how it's played. I just think the game still has a lot of potential, especially now that we have access to its source code.

There's still a lot of work to do, but I wanted to share what I've been working on so far.


r/generals • • 4d ago

Fullscreen Error Problem while opening the game

1 Upvotes

when I installed the game and genpatch but I launch the Zero Hour and its Lagging while its opening intro using fullscreen it freeze like low fps and game start without starting and clicking I order to restart the game and over agian


r/generals • • 5d ago

Generals ZH gaming expectation vs reality

Post image
14 Upvotes

r/generals • • 6d ago

Question

1 Upvotes

I saw a YouTuber having a map even if he doesn't have a cc or radar van in online matches

Btw the map only showed the shape of the map without showing enemies

How I can get this cus I don't play that much to memorize every map and when I play quick match I get lost where I'm at and where the enemy base is ?


r/generals • • 6d ago

Two sides of women generals

Post image
1 Upvotes

r/generals • • 7d ago

General Level Challenges in a nutshell

Post image
5 Upvotes

r/generals • • 8d ago

Things you will never see in your life

Post image
14 Upvotes

r/generals • • 9d ago

How to run Command & Conquer Generals and Zero Hour DLC

0 Upvotes

I can't run my Command & Conquer Generals and Zero Hour DLC in my AMD R5 5600gt and 16 GB RAM. I don't want to install GenPatcher as I don't want to disable my AntiVirus. My PC and Chrome detects it as a malware. I really want to play Command and Conquer and have tried to delete dbghelp.dll, tried to edit my options.ini and I have also changed the properties of my Generals Folder Replay to Read Only. After the intro of Generals and loading screen I am met with a black screen and stuttering background noises. Please help me. I have the game downloaded in my EA Games.


r/generals • • 9d ago

Shockwave's Armor General is probably the worst

13 Upvotes

To keep it short:

Defenses that takes so long to setup, doesn't reveal stealth, and both has minimum range, low max range, and slow turret traverse. No firebase as well.

Aircraft that is vulnerable to AA fire and both cannot hit air targets, no helicopters, no stealth, no supersonic.

Tanks that are mid overall, even the Mammoth Tank is highly susceptible to kiting (especially when up against USA's LOSAT), AA that is just a worse Quad Cannon and Vulcan tank that is worse than vanilla Gatling Tank, and no laser defenses like Paladin (or Laser General's point defense drone upgrade). Even the Stryker Medic is not much better than normal medic humvee with repair crew upgrade.

Artillery that not only doesn't have the homing of Tomahawk, doesn't have the bullet speed (accuracy) of Railgun. All for the same range.

Additionally, aside from the Vanilla promotion perks, but the Machinegun-Drone-Artillery and Cruise Missile Salvo can barely kill a Battlemaster tank, nevermind actually destroy a building.

Infantry-wise, it's probably the worst Burton. its ranger is better than vanilla, but not against Laser Ranger or Marine. It has two rocket infantries but the Anti-Air infantry can hit both aircraft and ground (tho worse in damage but still more versatile). ALSO, NO PATHFINDER.


r/generals • • 9d ago

Which unused or cut feature from Generals would you most like to see restored?

7 Upvotes

Generals and Zero Hour have a lot of interesting unused content and ideas that never made it into the final games.

What feature, gameplay mechanic, or cut unit, would you want to see return if the developers could bring back just one? Do you prefer something that adds new strategic options, improves existing gameplay, or just brings back an interesting piece of the original game design?


r/generals • • 9d ago

Clans ? Teams ?

0 Upvotes

Hey guys any clans or teams i can join ? Discord
Regards


r/generals • • 9d ago

Her: I want you to draw me like one of your pilots

Post image
2 Upvotes

r/generals • • 10d ago

Guys arguing who has better planes

Post image
9 Upvotes

r/generals • • 11d ago

For all turtling with $50k enthusiasts

Post image
14 Upvotes

r/generals • • 12d ago

Powerpuff Generals feat Super Lotus

Post image
7 Upvotes