Descent 3 by Outrage Entertainment
Go to file
Jan Engelhardt cf0990b053 Resolve out-of-bounds access saving a game on level 4
Things seem fine on level 1 and 2, but saving on level 4:

$GIT/Descent3/matcen.cpp:813:36: runtime error: index -1 out of bounds for type 'sound_info [1000]'
=================================================================
==38205==ERROR: AddressSanitizer: global-buffer-overflow on address 0x00000480e974 at pc 0x7f396b280c66 bp 0x7ffc328e1f90 sp 0x7ffc328e1750
READ of size 1 at 0x00000480e974 thread T0
    f1 matcen::SaveData(CFILE*) $GIT/Descent3/matcen.cpp:813
    f2 SGSMatcens(CFILE*) $GIT/Descent3/gamesave.cpp:1320
    f3 SaveGameState(char const*, char const*) $GIT/Descent3/gamesave.cpp:803
    f4 SaveGameDialog() $GIT/Descent3/gamesave.cpp:494
    f5 RunGameMenu() $GIT/Descent3/gamesequence.cpp:2161
    f6 GameSequencer() $GIT/Descent3/gamesequence.cpp:1218
    f7 PlayGame() $GIT/Descent3/game.cpp:834
    f8 MainLoop() $GIT/Descent3/descent.cpp:555
    f9 Descent3() $GIT/Descent3/descent.cpp:508
    f10 oeD3LnxApp::run() $GIT/Descent3/sdlmain.cpp:151
2024-08-30 02:37:42 +02:00
.github Add release flow to GitHub Actions 2024-08-12 17:07:44 +03:00
2dlib [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
AudioEncode CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
bitmap [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
cfile Resolve use-after-free in cf_CopyFile 2024-08-30 01:25:56 +02:00
cmake add rudimentary shaders and machinery 2024-08-18 02:52:46 -05:00
dd_grwin32 [Cleanup] Remove unused code. 2024-08-20 20:03:02 +02:00
dd_video Remove unused DirectX-related files 2024-06-29 18:21:38 +02:00
ddebug [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
ddio Merge pull request #544 from winterheart/reactivate-editor 2024-08-26 22:17:12 +02:00
Descent3 Resolve out-of-bounds access saving a game on level 4 2024-08-30 02:37:42 +02:00
editor Reactivate editor building 2024-08-21 17:29:14 +03:00
fix CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
grtext [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
legacy Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
lib Merge pull request #544 from winterheart/reactivate-editor 2024-08-26 22:17:12 +02:00
libmve CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
linux Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
manage DDIO: new crossplatform SleepMS() function 2024-08-20 23:08:10 +03:00
md5 CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
mem CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
misc [Misc] Deleted leftover empty logging code. 2024-08-20 20:03:02 +02:00
model Always use Multitexture 2024-08-18 03:26:06 -05:00
module Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
music Resolve alloc-dealloc-mismatch in OutrageMusicSeq::FreeList 2024-08-30 01:26:00 +02:00
netcon Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
netgames CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
networking Fixup platform defines to be positive tests instead of negative ones 2024-07-12 18:31:05 -05:00
physics Resolve out-of-bounds access in AIDoMemFrame 2024-08-30 02:37:15 +02:00
renderer Merge pull request #545 from tophyr/pr/improve-render-perf 2024-08-27 23:19:55 +02:00
rtperformance CMake: add all headers to target sources 2024-08-09 17:09:14 +02:00
scripts Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
sndlib [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
stream_audio [Cleanup] Fixed mismatch between function declarations and implementations. 2024-08-20 20:03:02 +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 Split libacm files to third_party/libacm and AudioEncode 2024-07-28 21:51:35 +03:00
tools Move IOOpts.h into main tree 2024-06-17 01:55:02 +03:00
ui [UI] Replaced busy wait loop with a sleep. 2024-08-26 00:45:06 +02: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 WIN32: Replace ddio_FindFileStart() with ddio_DoForeachFile() 2024-08-15 11:50:36 +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
.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
Brewfile Use vcpkg for all platform presets 2024-08-03 23:38:01 -05:00
BUILD.md Set up transformations in vertex shader 2024-08-18 03:26:03 -05:00
CHANGELOG.md Prepare to next major version 1.6.0 2024-08-18 00:06:22 +03:00
CMakeLists.txt Merge pull request #542 from rfht/main 2024-08-20 18:30:23 +02: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 Split libacm files to third_party/libacm and AudioEncode 2024-07-28 21:51:35 +03:00
USAGE.md Split README between README, BUILD and USAGE files. 2024-08-15 01:02:10 +02:00
vcpkg.json Set up transformations in vertex shader 2024-08-18 03:26:03 -05: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.