Updates: Marching Forward Together 🚀 #346
augustresende
started this conversation in
General
Replies: 2 comments
-
I'll gladly stress-test the game. My internet is VERY unstable but this way I could put it to a good use. I'm not a coder and I'm bad at writing docs and I can't even compile the engine because I play and work on Linux. But once it's easily compilable - I'll gladly test everything I can. That's the least (and the best) I can do. |
Beta Was this translation helpful? Give feedback.
0 replies
-
Once the build env is modernized I would like to help with the macOS port via SDL3 or whatever lib we go for |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Greetings, Generals! A few days ago, i've published a rousing call to unite around the newly released source code of C&C: Generals – Zero Hour under GPLv3. Our message was simple: we should pool our talents into one open-source project instead of scattering our efforts. Since then, the excitement has skyrocketed—our Discord is buzzing, forks are popping up, and new contributors are rolling in! That announcement was our battle cry—an invitation for modders, coders, QA testers, artists, and fans to embrace the newly released EA source code (under GPLv3) and collaborate rather than fragment.
Since then, our community discussions have exploded with ideas, new developments, and important clarifications. We’ve heard questions about Patch 1.05, advice on setting up modern build tools, and strong enthusiasm for tackling old problems like netcode desync. We’ve also encountered plenty of “How can I help?” and “I don’t code, but can I still contribute?” comments—short answer: Yes! Everyone can make a difference. This updated post weaves together all that fresh information, serving as a comprehensive roadmap to keep Generals – Zero Hour alive, modern, and thriving for years to come.
1. Reflecting on Our First Call
When we first issued our announcement, we emphasized a few key themes:
Uniting Under One Repository
Our main message was to avoid forking chaos. Rather than hundreds of siloed code dumps, we wanted a single, community-driven GitHub repository (namely TheSuperHackers/GeneralsGameCode where everyone could pitch in. By pooling our energy in one place, we ensure every fix, improvement, and experiment remains accessible to all fans.
Open-Source Spirit & GPLv3
We stressed that the EA code release under GPLv3 is a golden chance to unify. This license not only allows but encourages collaboration; any improvements made by one individual or team can be shared freely. This is especially vital for a large modding community used to reverse-engineering or patching without official support. Now, we have the real code—and we want everyone to benefit, not just a handful of private forks.
Respecting the Original Game
We also made it clear that our initial steps should keep the “feel” of Zero Hour intact. In other words, we didn’t want to introduce random balance changes or massive overhauls before making sure the game was stable, compatible with old mods, and free from major crashes. We called this the “do no harm” principle, aiming to preserve the game we all love before we start adding fancy features.
These core pillars—unity, open-source collaboration, and honoring the classic Zero Hour experience—remain our foundation. Everything you see below builds upon those same ideas, but with extra depth and fresh direction informed by your feedback.
2. What We’ve Learned (and How We’re Evolving)
2.1 Patch 1.05 & Code Alignment
A major piece of news was EA’s release of an official Patch 1.05 via Steam, which includes updates for Steam Workshop support and some stability fixes. Naturally, the community asked: “Is this the same 1.05 as the old fan patch, or something else entirely?” The answer is they’re different. The older “1.05” was a fan-led project that built on top of 1.04, while EA’s newly released 1.05 is an official update layered over the final retail code.
We’ve discovered that the open-source drop provided by EA matches Zero Hour 1.04 with certain additional changes reminiscent of their new Patch 1.05. Our plan is to clarify those differences and merge them so the official release aligns seamlessly with our open fork. In simpler terms, we want everyone running the “true” final code version, including Workshop support and other small improvements, without losing anything from 1.04 or older community patches. If everything goes well, EA will open source the 1.05 as well in some months, hopefully before.
2.2 Modern Build Tools & Missing Libraries
Back in 2003, EA’s teams used Visual C++ 6.0 (VC6) to compile Zero Hour. But nowadays, it’s almost impossible—and highly impractical—to rely on such an antiquated environment. Some people are trying the migration away from Visual C++ 6.0 to VS 2022 (@jmarshall2323) and testing Linux builds as well (@Fighter19). This is a critical step to keep the project accessible to new contributors and to allow cross-platform exploration.
However, we quickly noticed certain proprietary libraries—such as the Miles Sound System—weren’t included in the public code release (likely due to licensing restrictions). As a result, some devs are working on either re-implementing or substituting those libraries with open-source or permissive alternatives (@jmarshall2323 did lots of progress with OpenAL soft). This might seem like a minor detail, but it’s crucial to ensuring the entire game can build and run without relying on missing or commercial code.
2.3 Multiplayer & Netcode Fixes
One of the community’s loudest demands has always been: “Can we finally tackle those dreaded mismatches and desyncs that ruin multiplayer?” With the full netcode now visible, we can address these issues in a more direct way than ever before. We plan to systematically track down known mismatch conditions, fix them, and potentially revamp how the game handles client-server interactions.
Anti-cheat is another hot topic. For years, players relied on tools like GenTool, GenPatcher, or private server checks. Imagine the potential of having robust cheat detection built into the open engine itself—we could significantly level the playing field and remove the reliance on external hacks or custom add-ons. That said, this is a big lift, requiring methodical coding, testing, and community feedback to ensure we don’t introduce new connectivity issues.
2.4 Documentation & Onboarding
Ever since the code became publicly available, many enthusiastic newcomers have popped in, asking: “How do I even start?” or “Which compiler do I need? Do I have to buy old versions of Visual Studio?”. Recognizing these hurdles, we are prioritizing detailed documentation and onboarding materials—step-by-step guides that show how to set up your environment, handle
.big
files, and understand the project’s folder structure.Whether you’re a C++ pro or a total novice, we want you to feel welcomed and informed. Non-coders, too, can pitch in by reviewing or editing guides, helping with translations, or writing wiki entries that clarify each step of building and running Zero Hour from source. If you have knowledge to share—please do! The faster we can demystify the process, the faster we grow our contributor base.
3. Updated Call to Action: Unity + Progress + Fun
We’re still shouting from the rooftops: let’s unify in one place and share our progress! But here’s how that message has matured based on fresh insights:
Begin with Stability & Compatibility
Our immediate mission is to produce a faithful, stable build that preserves Zero Hour’s core. That means no radical gameplay changes—just the essential fixes (e.g., alt-tab crashes), official patch merges, and ensuring we don’t break older mods or replays. For the first releases we need to keep compatibility with Vanilla 1.04 and 1.05 or people will not be encouraged to migrate.
Don’t Fragment—Merge Your Successes
We love your experiments and personal forks. If you add a cool feature or fix a bug, we encourage you to submit a Pull Request to TheSuperHackers/GeneralsGameCode so everyone benefits. Fork to innovate, but unite to share those innovations!
Documentation is Everyone’s Friend
There’s a strong push to create robust build instructions, FAQs, and wiki pages. Even if you’re not comfortable diving into C++ code, you can still help by clarifying how to set up the project or run certain tools. This supportive ecosystem lowers the barrier for newcomers—which ultimately strengthens the entire community.
Tackle Netcode & Anti-Cheat Together
We share a collective dream of stable, cheat-free online play. Fixing desyncs is a big job, so we’ll need testers to host multiplayer matches, gather logs, and reproduce issues. If you have experience building netcode or diagnosing networking bugs, your help here is massively appreciated.
Look Forward to Modern Rendering & Cross-Platform
While not our immediate priority, we also see huge interest in updating the DirectX 8 engine to something more modern—be that DirectX 11, Vulkan, or a cross-platform library like SDL3. This could pave the way for native Linux or macOS builds, making Generals truly universal.
4. Our Roadmap: Three Phases of Growth
Phase 1: Simple Build & Critical Fixes
Phase 2: Multiplayer Quality & Minor Enhancements
Phase 3: Potential Modernization (Only Once Stable)
5. How You Can Jump In (No Skill Is Too Small!)
Grab the Code & Experiment
Clone or fork the GitHub repository. If you manage to build the game, let us know how it went. If you fail, share your errors! This feedback directly translates into better build guides.
Share Your Fixes & Feedback
If you do fix a bug—be it a compile error, a crash, or something else—don’t keep it to yourself! Submit a Pull Request so everyone can benefit from your hard work. Even a small fix can save others hours of frustration.
Contribute to Documentation
Writing a short paragraph on “How I set up Visual Studio for Zero Hour” or “Working with
.big
files for newbies” can be incredibly helpful. We’re building a knowledge base that’s easy to browse and regularly updated.Test Multiplayer & Provide Logs
If you’re up for it, jump online with friends or the broader community and stress-test the netcode. Keep track of any mismatches or suspicious behaviors. This on-the-ground feedback is what helps coders zero in on the root causes.
Help With Art, UI, or Asset Replacements
Long-term, we dream of creating open-source replacement assets (models, textures, effects) so that Zero Hour can eventually be fully free. That’s a huge art and design undertaking. If you’re a 3D modeler, texture artist, or sound engineer, your passion could be game-changing!
6. A Bright Future for Zero Hour 💥
Enthusiasm across our Discord servers, GitHub issues, and community forums is absolutely sky-high. We’ve always known that Generals – Zero Hour had an enduring fanbase, but this open-source release has ignited new possibilities that once felt out of reach. By working together, we can:
Remember, we’re in this for the long haul. Our final vision—a fully modernized, cross-platform Generals with robust multiplayer and new goodies—won’t happen overnight. It takes time, patience, collaboration, and mutual respect. But if we’ve proven anything over the last 20 years, it’s that the Zero Hour community is persistent, creative, and unstoppable.
7. Conclusion: Keep the Momentum Going
If you read our first call-to-action, consider this your official “Part Two”—a deeper, more detailed blueprint of what we’re doing, what we’ve learned, and how you can get involved. The entire community stands ready to welcome new faces, whether you write code, create mods, produce art, or simply provide feedback and encouragement. Every contribution makes us stronger.
So let’s continue to push forward together, Generals! The road ahead is challenging, but also exciting beyond measure. Our beloved RTS just got a second (or third, or fourth!) lease on life—and with your help, we’ll keep the momentum going until Command & Conquer: Generals – Zero Hour stands as a shining example of what the open-source world can achieve.
Thank you for being part of this journey. Now, let’s load up that code, jump into Discord, and bring Zero Hour into a brilliant new era—no soldier left behind!
—The Zero Hour Open-Source Community Team
Join our Discord
Check the GitHub repository
Beta Was this translation helpful? Give feedback.
All reactions