Descent 3 by Outrage Entertainment
Go to file
2024-04-27 19:34:55 -04:00
.github Move PR template to the .github folder 2024-04-27 19:34:49 -04:00
2dlib Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
acmlib Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
AudioEncode Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
bitmap Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
cfile Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
czip Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
d3music Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
dd_grwin32 Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
dd_lnxsound Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
dd_sndlib Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
dd_vidwin32 Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
ddgr_mac Updated source to reflect the license that this code is released under. 2024-04-20 09:57:49 -06:00
ddio_common Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
ddio_lnx Fix -Wswitch 2024-04-21 20:24:31 +02:00
ddio_mac Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
ddio_win [Windows,Mouse] Removed call to DDIOShowCursor() from ddio_MouseMode() so we can set the mode before ddio_MouseInit() gets called and also prevent overrideing the mode always with MOUSE_STANDARD_MODE. 2024-04-27 18:54:07 +02:00
ddvid_lnx Fix -Wcomment 2024-04-21 20:24:31 +02:00
Descent3 [Windows,Mouse] Call ddio_MouseMode() before ddio_MouseInit() so the correct flags get set for RegisterRawInputDevices(). 2024-04-27 18:55:26 +02:00
fix Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
grtext Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
legacy Remove license from html files 2024-04-20 18:34:49 +02:00
lib misc: Remove endian.cpp and lib/psendian.h 2024-04-24 17:27:21 +02:00
libacm Remove two channel minimum of libacm 2024-04-26 14:07:48 -05:00
libmve Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
linux Enable console logging if MONO or LOGGER is defined 2024-04-23 09:07:20 -04:00
lnxcontroller Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
lnxmvelib Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
mac Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
mac_sndlib Updated source to reflect the license that this code is released under. 2024-04-20 09:57:49 -06:00
manage Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
md5 Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
mem Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
misc misc: Remove endian.cpp and lib/psendian.h 2024-04-24 17:27:21 +02:00
model [Build] Fixed 'uninitialized local variable' in Release build after last commit. 2024-04-21 14:13:14 +02:00
module Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
movie Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
music Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
netcon Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
netgames Fix -Wswitch 2024-04-21 20:24:31 +02:00
networking Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
physics Fix controls on aarch64 2024-04-26 17:07:24 -04:00
renderer Remove renderer/opengl_ryan.cpp 2024-04-26 09:49:55 -04:00
rtperformance Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
scripts Update script CHECKSUM for 64 bit platforms 2024-04-25 09:39:41 -04:00
sndlib Merge pull request #158 from DanielGibson/fix-141 2024-04-24 19:49:51 -04:00
stream_audio Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
tests Implementing C++ byteswap functions 2024-04-23 21:18:07 +03:00
tools Implementing C++ byteswap functions 2024-04-23 21:18:07 +03:00
ui Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
unzip unzip: Link against real zlib. 2024-04-24 08:22:13 +02:00
vecmat Some more CMake white space formatting 2024-04-21 11:46:32 +02:00
win32 Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
.clang-format Additional clang-format 2024-04-17 00:25:04 +03:00
.clang-format-ignore Import source of libacm 1.3, integrate it into CMake build 2024-04-21 18:25:45 +02:00
.gitignore Generate HOG files as dependencies for Descent3 2024-04-21 19:15:23 +03:00
Brewfile unzip: Link against real zlib. 2024-04-24 08:22:13 +02:00
CMakeLists.txt Merge branch 'main' into fix-release-build 2024-04-24 14:37:13 -04:00
CMakePresets.json unzip: Link against real zlib. 2024-04-24 08:22:13 +02:00
gpl.sh Updated source to reflect the license that this code is released under. 2024-04-20 09:57:49 -06:00
gplheader Updated source to reflect the license that this code is released under. 2024-04-20 09:57:49 -06:00
LICENSE Updated source to reflect the license that this code is released under. 2024-04-20 09:57:49 -06:00
README.md Add vcpkg steps to windows build instructions. 2024-04-27 19:24:10 -04:00
vcpkg.json unzip: Link against real zlib. 2024-04-24 08:22:13 +02:00

d3 (1)

This is the Descent 3 open source engine, licensed under GPL-3.0. It includes the '1.5' patch written by Kevin Bentley and Jeff Slutter several years ago and brought to a stable condition by the Descent community.

In order to use this, you must provide your own game files. See the Usage section for details.

Version 1.5 Notes

There is no "release" yet. The current milestone is "1.5 Stable", which is meant to more or less be Descent 3 as it might have been if the 1.5 patch had made it to retail years ago. Artifacts can be downloaded from the Actions tab. The milestone needs testing on all platforms. Please report issues when found.

Usage

Purchase Descent 3 from a reputable source and install it, then replace the main binary with the newly built Descent3 binary under ${CMAKE_BINARY_DIR}/Descent3/*/Descent3[.exe]. See your platform below:

Windows

In the install folder, rename main.exe to main.old and take your built Descent3.exe, name it main.exe, and add it to the install folder.

MacOS

Right-click Descent3.app, click Show Package Contents. Back up your Descent3 binary and drop your built Descent3 binary into the install (Contents/MacOS) folder.

Linux

Back up your Descent3 binary and drop your built Descent3 binary into the install folder.

Building

Build steps below assume you have already cloned the repository and entered it locally.

Building - Windows

Requires Visual Studio C++ Tools (cmake and vcpkg)

Install and configure vcpkg:

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && bootstrap-vcpkg.bat
setx VCPKG_ROOT="C:\path\to\vcpkg"
setx PATH=%VCPKG_ROOT%;%PATH%

Build Descent 3:

cmake --preset win -D LOGGER=[ON|OFF]
cmake --build --preset win --config [Debug|Release]

Building - MacOS

brew bundle install
cmake --preset mac -D LOGGER=[ON|OFF]
cmake --build --preset mac --config [Debug|Release]

Building - Linux

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y --no-install-recommends ninja-build cmake g++ libsdl1.2-dev libsdl-image1.2-dev libncurses-dev libxext6:i386 zlib1g-dev
cmake --preset linux -D LOGGER=[ON|OFF]
cmake --build --preset linux --config [Debug|Release]

Contributing

Anyone can contribute! We have an active Discord presence at Descent Developer Network. If you are interested in maintaining the project on a regular basis, please contact Kevin Bentley.