Skip to content

americusmaximus/WarAction

Repository files navigation

War Action

War Action

Project

War Action is an open source implementation of Fireglow Games' Sudden Strike Gold from 2000, with the 1.2.1 patch.

Goals

There are multiple goals this project tries to achieve:

  • Learn how games were made in an era when things had to be done in the code, and not through fancy game engines like today.
  • Have a fully playable game implemented end-to-end, including resource management, audio, and video rendering, as well as support of large screen resolutions.
  • Eventually, to support 64-bit compilation for modern systems, and provide an avenue for development of modern renderer implementations such as DirectX or Vulkan, and, eventually, to port to Linux or Mac.

Code

git clone --recurse-submodules https://github.com/americusmaximus/WarAction

Requirements & Dependencies

  1. Microsoft Visual Studio
  2. OGG and Vorbis
  3. ZLib

Notes

  1. I used GOG.com's Sudden Strike Gold 1.2.1 version 13578 of the game.
  2. The game is structured in a way where the executable is just a glue for separate menu and game modules, which are in their turn can use different renderer modules.
  3. The GOG.com's version of the game uses Ogg Vorbis for the game's music. It looks like this was a recent change and a requirement for the game publishing, I believe original game shipped with mp3 files. In order to support Ogg Vorbis, the games has its own WinMM.dll library to support the file format, otherwise it is mostly a wrapper of the system library.
  4. The original game used zlib version 1.1.3, which I upgraded to 1.3.1 for proper 64-bit support.

Compatibility, Code Style & Standards

In order to be able to run the code not only in the modern operating systems, but also in legacy environments, such as Windows XP, the code base has to abstain from usage of modern C++ language features.

Modern Visual Studio makes the binary dependent on modern runtime libraries that are not available in the legacy systems, therefore the game won't work. In order to make the code work on legacy systems please see detailed instructions on compatibility.

Similar & Related Projects

  1. FZFS

Thanks

  1. Hifi for the original implementation of WinMM.dll with the Ogg Vorbis support. Even though the game's version is very customized, access to the original code was very useful.
  2. elwray for the initial research of the rendering modules.

Legal

  1. This is not a complete game. Please purchase software you like!
  2. The source code in this repository is mostly produced by reverse engineering the original binaries. There are a couple of exceptions for reverse engineering under DMCA -- documentation, interoperability, fair use. See goals section for the interoperability and fair use cases. The documentation is needed to support those. Also please see an article about software preservation.
  3. Fireglow Games, Sudden Strike, CDV, Ogg Vorbis, DirectX, OpenGL, Vulkan, and others are trademarks of their respective owners.