/Remnant

An open source re-implementation of Sole Survivor written in C++.

Primary LanguageCMakeGNU General Public License v2.0GPL-2.0

An Open Source Re-Implementation of Command and Conquer: Sole Survivor

This project is a bottom-up rewrite of Command and Conquer: Sole Survivor, a real time strategy game. This project uses the original binary to provide functions that have not been implemented yet. The intention is to allow the fixing of bugs, implementation of new features and porting to platforms unsupported by the original.

Building

In order to generate a working binary, currently you must build the project using a version of the Watcom compiler. Building using MinGW-w64 and Microsoft Visual Studio is also tested periodically, but because of differences in the compiler ABI, dll's that it generates will not work correctly with the original game binary. Once the reimplementation is complete it should be possible to build with any C++11 compiler.

In order to build, first download and install Open Watcom and CMake for windows. Make sure you add CMake to at least your users path when prompted to during the install. Next, open a command prompt window and run the following commands:

  • C:\WATCOM\owsetenv.bat Sets the environment variables for OpenWatcom, assumes default install directory.
  • git clone https://github.com/TheAssemblyArmada/Remnant.git Clone the repository.
  • cd Remnant Change to the cloned repository.
  • mkdir build Make a build directory.
  • cd build Change to the build directory.
  • cmake -G "Watcom WMake" -DCMAKE_BUILD_TYPE="Release" .. Configures the watcom build environment.
  • wmake Compiles both the launcher and the Remnant .dll file with Open Watcom.

Remnant will only work against the english 1.05 patch. Simply copy the launcher and .dll into your Sole Survivor directory and run the launcher.

Linux and macOS

Native support for Linux and macOS is planned for the future, but because of how the project is developed, a native binary will not be possible for some time. In the mean time, using Wine on Linux and macOS, should be possible but is currently untested.

Licence

The source code provided in this repository for Remnant is licenced under the GNU General Public License version 2 or later with an exception allowing the resulting code to be linked against a closed source binary which will be in place until Remnant no longer relies on the original.

Other Open-Game Projects

Below is a list of similar projects and their respective original games:

There is also the Wikipedia page for open source games.

Contributing

If you are interested in contributing to Remnant, you will need some knowledge of C++ as a minimum requirement. Join the developer chat listed below for more information on what else you will need such as the idc file for the current map of the binary.

You can also check the wiki for more information.

Contact

You can discuss development of this project on our Discord server.