The Cortex Command Community Project is Free/Libre and Open Source under GNU AGPL v3
This is a community-driven effort to continue the development of Cortex Command.
Stay up to date in our Discord channel.
If you just want to play the latest version of the game you can get it from our website, and you can get mods from our mod portal.
First you need to download the necessary files:
-
Install the necessary tools.
You'll probably want Visual Studio Community Edition (build supports both 2017 and 2019 versions).
You also need to have both x86 and x64 versions of the Visual C++ Redistributable for Visual Studio 2017 installed in order to run the compiled builds.
You may also want to check out the list of recommended Visual Studio plugins here. -
Clone this Source Repository and the Data Repository in neighboring folders.
Do Not change the folder names unless you want to make trouble for yourself. -
Copy the following libraries from
Cortex-Command-Community-Project-Source\external\lib\
into the Data Repository:
lua51.dll
lua51-64.dll
fmod.dll
fmodL.dll
Now you're ready to build and launch the game.
Simply open RTEA.sln
with Visual Studio, choose your target platform (x86 or x64) and configuration, and run the project.
- Use
Debug Full
for debugging with all visual elements enabled (builds fast, runs very slow). - Use
Debug Minimal
for debugging with all visual elements disabled (builds fast, runs slightly faster). - Use
Debug Release
for a debugger-enabled release build (builds slow, runs almost as fast as Final). - Use
Final
to build release executable.
The first build will take a while, but future ones should be quicker.
If you want to use an IDE other than Visual Studio, you will have to build using meson. Check the Linux and Installing Dependencies section for pointers.
The Linux build uses the meson build system, and builds against system libraries.
g++>=8.1
(needs to support c++17 filesystem)allegro4
loadpng
flac
luajit
lua5.2
minizip
lz4>=1.9.0
libpng
libX11
meson
>= 0.53
(If your distro doesn't have a recent version of meson, use the pip version instead)boost>=1.55
- (optional)
xmessage
-
Install Dependencies (see below for some distro-specific instructions).
-
Clone this Source Repository and the Data Respository.
-
Open a terminal in the Source Repository.
-
meson build
ormeson --buildtype=debug build
for debug build (default is release build) -
ninja -C build
-
(optional)
sudo ninja install -C build
(To uninstall later, keep the build directory intact. The game can then be uninstalled bysudo ninja uninstall -C build
)
If you want to change the buildtype afterwards, you can use meson configure --buildtype {release or debug}
in the build directory or create a secondary build directory as in Step 4. There are also additional build options documented in the wiki as well as through running meson configure
in the build directory.
(If you installed the game in step 6 above, it should appear with your regular applications and will just run)
-
Copy (or link, might be preferable for testing builds)
build/CortexCommand
orbuild/CortexCommand_debug
(depending on if you made a debug build) into the Data Repository.cd $DATA_REPOSITORY; ln -s ../Cortex-Command-Community-Project-Source/build/CortexCommand .
-
Copy all
libfmod
files fromexternal/lib/linux/x86_64
into the Data Repository.cd $DATA_REPOSITORY; ln -s ../Cortex-Command-Community-Project-Source/external/lib/linux/x86_64/libfmod.so* .
-
Copy
Scenes.rte
andMetagames.rte
from your purchased copy of Cortex Command into Data Repository. -
Run
./CortexCommand
or./CortexCommand_debug
in the Data Repository.
Arch Linux:
# pacman -S allegro4 boost flac luajit lua52 minizip lz4 libpng libx11 xorg-xmessage meson ninja base-devel
Ubuntu >=20.04:
# apt-get install build-essential libboost-dev liballegro4-dev libloadpng4-dev libflac++-dev luajit-5.1-dev liblua5.2-dev libminizip-dev liblz4-dev libpng++-dev libx11-dev ninja-build meson
-
On some distros some keyboards and mice are recognized as controllers, to fix this follow these instructions: https://github.com/denilsonsa/udev-joystick-blacklist
-
pipewire(-alsa)
and fmod don't work well together, so the game might not close, have no sound or crash. Workaround byln -s /bin/true /usr/bin/pulseaudio
-
Gamepad triggers may be inverted, to work around that: Hold down the trigger, select the input you want it assigned to and release to assign it, then it will be correct in use.
Windows 10 (64-bit) without Visual Studio
- Windows SDK
- Clang Toolset (Grab the latest LLVM-...-win64.exe)
- git
- meson (documentation here)
- (optional) Visual Studio for the Developer Consoles since setup otherwise may be unnecessarily hard
See the Information and Recommendations page for more details and useful development tools.