Descent 3 by Outrage Entertainment
Go to file
Jason Yundt f5d2a43863 Add -aditionaldir option
Before this change, Descent 3 would look for all of its game data files
in a single directory. This change allows users to spread out Descent
3’s game data over multiple directories.

Building Descent 3 produces multiple files that can be freely
redistributed (Descent3, d3-linux.hog, online/Direct TCP~IP.d3c, etc.).
Running Descent 3 requires those files and several additional files that
cannot be freely redistributed. Before this change, the files that were
redistributable had to be in the same directory as the files that were
not redistributable. This change makes it so that they can be in
separate directories.

The main motivation behind this change is to allow people to package
Descent 3 for Linux in a reasonable manner. For the most part, binary
packages for Descent 3 will contain all of the freely redistributable
components. Package managers will copy those components into system
directories that are owned by root and that users probably shouldn’t
edit manually. Users will then create a new directory and copy the game
data from their copy of Descent 3 into that new directory. Users will
then be able to run:

  Descent3 -setdir <path-to-proprietary-files> -additionaldir <path-to-open-source-files>

The -additionaldir option can also be used to support more complicated
scenarios. For example, if the user is using Debian’s
game-data-packager [1], then they would do something like this:

  Descent3 -setdir <path-to-writable-directory> -additionaldir <path-to-gdp-directory> -additionaldir <path-to-open-source-files>

The -additionaldir option can also be used to load a mod that replaces
.hog files:

  Descent3 -setdir <path-to-base-game-data> -additionaldir <path-to-mod-files>

[1]: <https://github.com/DescentDevelopers/Descent3/issues/373#issuecomment-2120330650>
2024-09-29 14:07:53 -04:00
.github Use plog from vcpkg on CI 2024-09-10 03:00:57 +03:00
2dlib Merge pull request #587 from winterheart/module-fixes 2024-09-18 22:18:13 +02:00
AudioEncode Merge pull request #591 from winterheart/ddio-update 2024-09-23 22:37:14 +02:00
bitmap Merge pull request #587 from winterheart/module-fixes 2024-09-18 22:18:13 +02:00
cfile Add -aditionaldir option 2024-09-29 14:07:53 -04:00
cmake add rudimentary shaders and machinery 2024-08-18 02:52:46 -05:00
dd_grwin32 Add logger module 2024-09-18 22:50:08 +03:00
ddebug mem_malloc type triviality checks (7/8) 2024-09-16 22:12:14 +02:00
ddio Add -aditionaldir option 2024-09-29 14:07:53 -04:00
Descent3 Add -aditionaldir option 2024-09-29 14:07:53 -04:00
editor Add -aditionaldir option 2024-09-29 14:07:53 -04:00
fix Delete unused fixed math functions 2024-09-09 12:55:27 +02:00
grtext Remove dd_video module 2024-09-23 00:37:25 +03:00
legacy Remove dd_video module 2024-09-23 00:37:25 +03:00
lib Replace cf_LibraryFindFirst cf_DoForeachFileInLibrary() 2024-09-26 01:49:55 +03:00
libmve Fix some warnings on uninitialized MVE variables 2024-09-12 15:11:32 +03:00
linux Registry: read hexadecimal values correctly 2024-09-24 08:09:31 +02:00
logger Add logger module 2024-09-18 22:50:08 +03:00
manage Add -aditionaldir option 2024-09-29 14:07:53 -04:00
md5 CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
mem Merge pull request #587 from winterheart/module-fixes 2024-09-18 22:18:13 +02:00
misc Remove unused cf_LibraryFindFirst() and related to it functions 2024-09-26 01:49:55 +03:00
model Merge pull request #587 from winterheart/module-fixes 2024-09-18 22:18:13 +02:00
module Consolidate case-sensitive filesystem functions 2024-09-29 12:51:15 -04:00
music Merge pull request #587 from winterheart/module-fixes 2024-09-18 22:18:13 +02:00
netcon Add -aditionaldir option 2024-09-29 14:07:53 -04:00
netgames Add start parameter to FindArg() 2024-09-29 12:53:49 -04:00
networking Merge pull request #587 from winterheart/module-fixes 2024-09-18 22:18:13 +02:00
physics Add logger module 2024-09-18 22:50:08 +03:00
renderer Merge pull request #587 from winterheart/module-fixes 2024-09-18 22:18:13 +02:00
rtperformance Add logger module 2024-09-18 22:50:08 +03:00
scripts Merge pull request #593 from jengelh/cxx17 2024-09-18 23:48:03 +02:00
sndlib Merge pull request #582 from jengelh/master 2024-09-21 21:25:46 +03:00
stream_audio Merge pull request #587 from winterheart/module-fixes 2024-09-18 22:18:13 +02:00
tests [CMake] Enabled the CMake property USE_FOLDERS to provide a more structured project list in IDEs with the help of set(CMAKE_FOLDER "...") calls. 2024-07-03 19:55:04 +02:00
third_party Handle error on uninitialized plog submodule 2024-09-10 03:01:16 +03:00
tools Stop storing mtime in hog files 2024-09-25 08:13:19 +02:00
ui Remove dd_video module 2024-09-23 00:37:25 +03:00
unzip CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
vecmat Isolate misc module 2024-06-27 01:26:35 +03:00
win32 Merge pull request #587 from winterheart/module-fixes 2024-09-18 22:18:13 +02: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
.editorconfig Explicitly declare that source files are UTF-8 2024-07-17 10:12:09 -04:00
.gitattributes Create EditorConfig file 2024-05-21 11:11:16 -04:00
.gitignore Introducing git revision in source code 2024-04-28 22:05:26 +03:00
.gitmodules Add plog library as logging facility 2024-09-10 03:00:23 +03:00
Brewfile Use plog from vcpkg on CI 2024-09-10 03:00:57 +03:00
BUILD.md Add --recurse-submodules when cloning 2024-09-11 22:15:39 -06:00
CHANGELOG.md Fix spello "independan.." 2024-09-03 13:26:51 +02:00
CMakeLists.txt Remove dd_video module 2024-09-23 00:37:25 +03:00
CMakePresets.json Use vcpkg for all platform presets 2024-08-03 23:38:01 -05:00
LICENSE Updated source to reflect the license that this code is released under. 2024-04-20 09:57:49 -06:00
README.md Split README between README, BUILD and USAGE files. 2024-08-15 01:02:10 +02:00
THIRD_PARTY.md Add plog license information 2024-09-10 03:00:26 +03:00
USAGE.md Add plog library as logging facility 2024-09-10 03:00:23 +03:00
vcpkg.json Use plog from vcpkg on CI 2024-09-10 03:00:57 +03: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.md file for details about installation.

To build the game, follow build instructions in the BUILD.md file.

Build or runtime issues should be reported on our GitHub tracker.

Contributing

Anyone can contribute! We have an active Discord presence at Descent Developer Network. Patches should be submitted on GitHub.