Skip to content
This repository has been archived by the owner on Jul 23, 2020. It is now read-only.

An open source re-implementation of Red Alert written in C++.

License

Notifications You must be signed in to change notification settings

TheAssemblyArmada/Chronoshift

Repository files navigation

Chronoshift Logo

Build Status Build Status

An Open Source Re-Implementation of Command and Conquer: Red Alert

This project is a bottom-up rewrite of Command and Conquer: Red Alert, 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/Chronoshift.git Clone the repository.
  • cd Chronoshift 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 Chronoshift .dll file with Open Watcom.

Chronoshift will only work against the english 3.03 beta patch. Simply copy the launcher and .dll into your Red Alert 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 Chronoshift 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 Chronoshift 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 Chronoshift, 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.