- gcc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0 (with Speex)
- gcc (Debian 10.2.1-6) 10.2.1
- gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Note
This list is not exhaustive and newer versions might work as well.
- gcc and g++ (with multilib on 64-bit x86 operating systems)
- libstdc++5
- MySQL client (optional, see
nomysql
below) - Speex 1.1.9 (optional, see
nospeex
below)
Base requirements installation (for 64-bit Ubuntu 22.04 LTS)
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install gcc-multilib g++-multilib libstdc++5:i386
MySQL requirements installation (for 64-bit Ubuntu 22.04 LTS)
sudo apt install libmysqlclient-dev:i386
MySQL requirements installation (for 64-bit Debian 11.6)
sudo apt install libmariadb-dev-compat:i386
Sound alias duration support requirements installation
sudo apt install ffmpeg
Note
If not installed, getSoundDuration(<aliasname>)
always returns undefined.
Custom sound file docs (for 64-bit Ubuntu 22.04 LTS)
Important
Note: This feature is enabled by default and increases RAM usage by about 500 MB. See below for how to disable it (nospeex
).
# Move into the code directory
cd code
# Default interactive build
./doit.sh
# Alternative: Without Speex
./doit.sh nospeex
# Alternative: Without MySQL and Speex
./doit.sh nomysql nospeex
# Alternative: Debug build with Speex
./doit.sh debug
On success, this creates libcod2.so
in ./code/bin
.
- Short version:
LD_PRELOAD=./code/bin/libcod2.so ./cod2_lnxded +set fs_game ...
etc.
- The details will not be documented here, please refer to: