mirror of
https://github.com/kevinbentley/Descent3.git
synced 2025-01-22 11:28:56 +00:00
Descent 3 by Outrage Entertainment
0b7989b65a
When activating switches in the room with 6 matcens, this happens after a short while: ``` Assertion failure at TERRAIN_REGION (Descent3/terrain.h:218), triggered 1 time: 'x != -1 && "invalid/unset room number (-1)!"' f0 TERRAIN_REGION (x=-1) at Descent3/terrain.h:222 f1 AIPathAllocPath (obj=0x3d304b0 <Objects+150000>, ai_info=0x520000444080, goal_ptr=0x520000444250, start_room=0x3d304cc <Objects+150028>, start_pos=0x3d304d0 <Objects+150032>, end_room=0x7fb115dbe830, end_pos=0x52000044427c, rad=0, flags=0, handle=28822, ignore_obj=-1) at Descent3/aipath.cpp:1066 f2 GoalDoFrame (obj=0x3d304b0 <Objects+150000>) at Descent3/AIGoal.cpp:823 f3 AIDoFrame (obj=0x3d304b0 <Objects+150000>) at Descent3/AImain.cpp:6214 f4 ObjDoFrame (obj=0x3d304b0 <Objects+150000>) at Descent3/object.cpp:2674 f5 ObjDoFrameAll () at Descent3/object.cpp:2988 f6 GameFrame () at Descent3/GameLoop.cpp:2981 f7 GameSequencer () at Descent3/gamesequence.cpp:1221 f8 PlayGame () at Descent3/game.cpp:834 f9 MainLoop () at Descent3/descent.cpp:550 f10 Descent3 () at Descent3/descent.cpp:508 f11 oeD3LnxApp::run (this=0x7fb115a0db50) at Descent3/sdlmain.cpp:151 (gdb) up start_room=0x3d304cc <Objects+150028>, start_pos=0x3d304d0 <Objects+150032>, end_room=0x7fb115dbe830, end_pos=0x52000044427c, rad=0, flags=0, handle=28822, ignore_obj=-1) at Descent3/aipath.cpp:1066 1066 } else if (BOA_Array[BOA_INDEX(*start_room)][BOA_INDEX(*end_room)] & BOAF_TOO_SMALL_FOR_ROBOT) { (gdb) p *start_room $2 = 171 (gdb) p *end_room $3 = -1 ``` The return type of ``BOA_GetNextPath`` is int; but inside the function, ``false`` is returned, which does not fit the scheme. Judging from callsites, ``BOA_NO_PATH`` is expected instead. In some functions related to AI pathfinding, add handling or assertions for invalid room numbers. |
||
---|---|---|
.github | ||
2dlib | ||
AudioEncode | ||
bitmap | ||
cfile | ||
cmake | ||
dd_grwin32 | ||
ddebug | ||
ddio | ||
Descent3 | ||
editor | ||
fix | ||
grtext | ||
legacy | ||
lib | ||
libmve | ||
linux | ||
logger | ||
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 | ||
.gitmodules | ||
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.