This repository contains the source code for the FinalAlert (YR) Mission Editor, modified mainly for RN team use.
The official version for both applications has been increased to v2.0 in order to illustrate they now run properly on modern operating systems. We also used this opporunity to update the application and fix some known issues.
The source code consists of 2 projects:
1) In this example, we are going to build Final Alert 2 (for Red Alert 2). 1) Open MissionEditor.sln with Visual Studio 2022 and set the project configuration to "FinalAlertYRRelease". This will cause an automatic switch to FinalAlert2YR.exe. 2) Build the project by pressing F7 (Build Solution), once completed it will produce FinalAlert2YR.exe in the "dist/FinalAlert2" subdirectory 3) You can now run and debug the editor by pressing F5
In order to update zlib, bzip, boost and lzo to newest version, start a "Developer Command Prompt for VS 2022", move to the "3rdParty\xcc" folder with vcpkg and Git for Windows in PATH:
git --version
vcpkg x-update-baseline
A version of XCC is directly included in "3rdParty\xcc". It is a slightly modified and heavily stripped down version. The changes are available in 3rdParty\xcc\patch.<COMMIT_HASH>.diff
, where COMMIT_HASH
is the commit hash of the XCC repository (at the time of this writing 3rdParty\xcc\patch.70358b46858973426c1ecf204485cb2a88716217.diff
). If you update XCC to a newer version by replacing the files, please also apply the (eventually updated) patch afterwards.
After modifying the source code you might want to create a distribution. Please ensure that you have taken care of everything required by the licenses (e.g. notices of source code changes and your copyright statement) and that the program itself does make clear it has been modified by you.
There is a helper script that can create the distributions in the script folder:
cd scripts
build_and_distribute.bat
This rebuilds everything and creates several files in the dist folder:
When distributing, you yourself are responsible for fulfilling all license requirements both of this repository and of all third party libraries being used. There is no warranty that the helper script automatically fulfills all requirements.
MissionEditor\data\shared - Data copied to both FS/FA2 distribution MissionEditor\data\FinalAlert2 - Additional data copied to FA2 distribution MissionEditor\data\FinalSun - Additional data copied to FS distribution
MissionEditor\PropertySheets - Some property sheets to ease managing the many project configurations
dist - Will contain the output binaries in subfolders. Required DLLs of third-party libraries and the data directory will be copied there using MissionEditor\PropertySheets\common.props
This is an archive repository and will not be maintained. We suggest you fork this repository to fix any issues or add new features.
Most of the source code has been written around 1999-2001 and does not take advantage of modern C++ features (e.g. smart pointers or RAII) or hardware rendering. However, we've enabled C++20 support and refactored some critical parts to be up to date.
We'd like to thank the team at Electronic Arts for approving and making the release of the source code possible.
The video games "Command & Conquer: Tiberian Sun", "Command & Conquer: Red Alert 2", and "Command & Conquer: Yuri's Revenge" are copyright of Westwood Studios. All Rights Reserved. Westwood Studios is a trademark or registered trademark of Electronic Arts in the U.S. and/or other countries. All rights reserved.
Microsoft, DirectX, Visual C++, Visual Studio and Windows are trademarks of the Microsoft group of companies.
Git and the Git logo are either registered trademarks or trademarks of Software Freedom Conservancy, Inc., corporate home of the Git Project, in the United States and/or other countries.
Unless otherwise stated, the source code provided in this repository is licenced under the GNU General Public License version 3. Please see the accompanying LICENSE file and the actual files of interest.
Third party libraries in the 3rdParty folder may be licensed differently. Please see their accompanying LICENSE or COPYING file and the actual files of interest.