Descent 3 by Outrage Entertainment
Go to file
Azamat H. Hackimov 1926a77f19 Introducing git revision in source code
Git revision is generating on build time (not on configure time). In case of uncommited changes this revision will be marked as "dirty". If cmake cannot retrieve revision from git history (i.e. from packaged source code), cmake will attempt to read "git-hash.txt" from `PROJECT_SOURCE_DIR` (it will be generated on build time; after implementing packaging workflow it can be reworked).
Reworked main screen and console output to display proper version.
Version project now is 1.5.0 as previous PATCH value (500) was intended to be D3_RELEASE_BUILD_NO, autogenerated on compile time. As we switched to GIT_HASH, D3_RELEASE_BUILD_NO now useless.
2024-04-28 22:05:26 +03:00
.github Make it look prettier in reader mode 2024-04-27 19:39:36 -04:00
2dlib Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
acmlib
AudioEncode
bitmap Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
cfile Remove MacOS (Classic) code and all references (3/3) 2024-04-27 07:44:40 -07:00
cmake Introducing git revision in source code 2024-04-28 22:05:26 +03:00
czip
d3music
dd_grwin32 Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
dd_lnxsound Delete unused sources 2024-04-27 07:33:01 -07:00
dd_sndlib Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
dd_vidwin32
ddio_common Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
ddio_lnx Delete unused sources 2024-04-27 07:33:01 -07:00
ddio_win Merge pull request #188 from tophyr/kill-unused-srcs 2024-04-28 07:23:48 -04:00
ddvid_lnx
Descent3 Introducing git revision in source code 2024-04-28 22:05:26 +03:00
fix
grtext Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
legacy Move old renderer files into legacy/ 2024-04-26 15:39:44 -07:00
lib Introducing git revision in source code 2024-04-28 22:05:26 +03:00
libacm Remove comment about decoding ACMs as stereo in libacm/adecode.cpp 2024-04-28 15:01:02 +02:00
libmve
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 Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
manage Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
md5
mem Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
misc Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
model Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
module Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
movie
music Add BUILD_INTERFACE to cfile module 2024-04-24 00:41:02 +03:00
netcon Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
netgames Remove MacOS (Classic) code and all references (3/3) 2024-04-27 07:44:40 -07:00
networking Remove MacOS (Classic) code and all references (3/3) 2024-04-27 07:44:40 -07:00
physics Fix controls on aarch64 2024-04-26 17:07:24 -04:00
renderer Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
rtperformance Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
scripts Remove MacOS (Classic) code and all references (3/3) 2024-04-27 07:44:40 -07:00
sndlib Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
stream_audio Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07: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 Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
unzip unzip: Link against real zlib. 2024-04-24 08:22:13 +02:00
vecmat Remove MacOS (Classic) code and all references (1/3) 2024-04-27 07:38:14 -07:00
win32 Introducing git revision in source code 2024-04-28 22:05:26 +03:00
.clang-format
.clang-format-ignore
.gitignore Introducing git revision in source code 2024-04-28 22:05:26 +03:00
Brewfile unzip: Link against real zlib. 2024-04-24 08:22:13 +02:00
CMakeLists.txt Introducing git revision in source code 2024-04-28 22:05:26 +03:00
CMakePresets.json unzip: Link against real zlib. 2024-04-24 08:22:13 +02:00
gpl.sh
gplheader
LICENSE
README.md Update README.md 2024-04-28 09:41:15 -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 2022 and 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.