mirror of
https://github.com/kevinbentley/Descent3.git
synced 2025-01-22 11:28:56 +00:00
Descent 3 by Outrage Entertainment
e867977543
$GIT/scripts/LEVEL15.cpp: In function ‘void aMatCenPuzzleInit()’: $GIT/scripts/LEVEL15.cpp:833:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 833 | #define MagicMatCenSwitchSequence (*((int *)(&User_vars[17]))) $GIT/scripts/LEVEL15.cpp:834:25: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 834 | #define MatCenStateA (*((int *)(&User_vars[0]))) ... $GIT/scripts/Level6.cpp: In function ‘void aPriestKeyEnter(int)’: $GIT/scripts/Level6.cpp:910:47: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 910 | #define Var_ThereIsPlayerInPriestKeyPuzzle (*((int *)(&User_vars[7]))) Turn ``User_var`` into an array of std::variant, the latter of which can hold either float or int. Savegames do not carry the necessary type information which variant (float/int) is in use; instead, this is statically decided by the level DLL logic on a per-index basis. This approach is retained for now. A lot of ``Var_something = 0`` is used despite Var_something being logically used as float, so we need to override op= to keep the variant type as-is. |
||
---|---|---|
.github | ||
2dlib | ||
AudioEncode | ||
bitmap | ||
cfile | ||
cmake | ||
dd_grwin32 | ||
dd_video | ||
ddebug | ||
ddio | ||
Descent3 | ||
editor | ||
fix | ||
grtext | ||
legacy | ||
lib | ||
libmve | ||
linux | ||
manage | ||
md5 | ||
mem | ||
misc | ||
model | ||
module | ||
music | ||
netcon | ||
netgames | ||
networking | ||
physics | ||
renderer | ||
rtperformance | ||
scripts | ||
sndlib | ||
stream_audio | ||
tests | ||
third_party | ||
tools | ||
ui | ||
unzip | ||
vecmat | ||
win32 | ||
.clang-format | ||
.clang-format-ignore | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
Brewfile | ||
BUILD.md | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
CMakePresets.json | ||
LICENSE | ||
README.md | ||
THIRD_PARTY.md | ||
USAGE.md | ||
vcpkg.json |
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.