Descent3/scripts
Jan Engelhardt c3a6b1258c Resolve assertion when CollectorNomad2 dies
It is possible to cause the death of the CollectorNomad2 object (rush
to it before it possibly leaves again into the sidepackets the ship
won't fit through). The transition happens here:

```
f0  KillObject (objp=0x3d4d3e0 <Objects+384000>, killer=0x3cef7e0 <Objects>, damage=3) at /home/jengelh/D3/Descent3/damage.cpp:1036
f1  ApplyDamageToGeneric (hit_obj=0x3d4d3e0 <Objects+384000>, killer=0x3cef7e0 <Objects>, damage_type=6, damage=3, server_says=0, weapon_id=255) at /home/jengelh/D3/Descent3/damage.cpp:1401
f2  collide_generic_and_player (robotobj=0x3d4d3e0 <Objects+384000>, playerobj=0x3cef7e0 <Objects>, collision_point=0x7f877f40a830, collision_normal=0x7f877f40a858, f_reverse_normal=true, hit_info=0x7f877f40a810) at /home/jengelh/D3/physics/collide.cpp:2127
f3  collide_two_objects (A=0x3cef7e0 <Objects>, B=0x3d4d3e0 <Objects+384000>, collision_point=0x7f877f40a830, collision_normal=0x7f877f40a858, hit_info=0x7f877f40a810) at /home/jengelh/D3/physics/collide.cpp:2505
f4  do_physics_sim (obj=0x3cef7e0 <Objects>) at /home/jengelh/D3/physics/physics.cpp:1515
f5  ObjDoFrame (obj=0x3cef7e0 <Objects>) at /home/jengelh/D3/Descent3/object.cpp:2824
f6  ObjDoFrameAll () at /home/jengelh/D3/Descent3/object.cpp:2988
f7  GameFrame () at /home/jengelh/D3/Descent3/GameLoop.cpp:2980
f8  GameSequencer () at /home/jengelh/D3/Descent3/gamesequence.cpp:1221
f9  PlayGame () at /home/jengelh/D3/Descent3/game.cpp:834
f10 MainLoop () at /home/jengelh/D3/Descent3/descent.cpp:550
f11 Descent3 () at /home/jengelh/D3/Descent3/descent.cpp:508
f12 oeD3LnxApp::run (this=0x7f877f00db50) at /home/jengelh/D3/Descent3/sdlmain.cpp:151

<frame 2> (gdb) p robotobj
$1 = {
	type = 2 '\002' (OBJ_ROBOT), dummy_type = 255 '\377', id = 276,
	flags = 2135072, name = 0x5020000aff30 "CollectorNomad2",
	handle = 2432, next = 178, prev = -1,
	control_type = 1 '\001' (CT_AI), movement_type = 2 '\002' (MC_ROLLING),
	render_type = 1 '\001' (LRT_GOURAUD), lighting_render_type = 1 '\001', roomnum = 58,
	pos = {x = 2350.21484, y = -263.523956, z = 1868.59888},
	orient = {
		rvec = {x = 0.882905424, y = 1.63964216e-14, z = -0.469550878},
		uvec = {x = -1.25793295e-14, y = 1, z = 1.12662192e-14},
		fvec = {x = 0.469550878, y = -4.04037088e-15, z = 0.882905424}
	},...}
```

Thus, KillObject sets obj->control_type=CT_DYING. In the same game
tick, Level6.cpp then calls aAIGoalFollowPathSimple which triggers
the assertion.

```
Int3 in $GIT/Descent3/osiris_predefs.cpp at line 571.(Descent 3 Debug Break)

f0  osipf_AIGoalFollowPathSimple (objhandle=2432, path_id=21, guid=7, flags=1052928, slot=3) at $GIT/Descent3/osiris_predefs.cpp:571
f1  AI_GoalFollowPathSimple (objhandle=2432, path_id=21, guid=7, flags=1052928, slot=3) at $GIT/scripts/osiris_import.h:170
f2  aAIGoalFollowPathSimple (objhandle=2432, pathid=21, flags=1052928, goalid=7, priority=3) at $GIT/scripts/DallasFuncs.cpp:3649
f3  LevelScript_0000::CallEvent (this=0x5020000ba430, event=256, data=0x7f963e71d930) at $GIT/scripts/Level6.cpp:2465
f4  CallInstanceEvent (id=0, ptr=0x5020000ba430, event=256, data=0x7f963e71d930) at $GIT/scripts/Level6.cpp:2209
f5  Osiris_CallLevelEvent (event=256, data=0x7f963e71d930) at $GIT/Descent3/OsirisLoadandBind.cpp:2000
f6  GameFrame () at $GIT/Descent3/GameLoop.cpp:3020
f7  GameSequencer () at $GIT/Descent3/gamesequence.cpp:1221
f8  PlayGame () at $GIT/Descent3/game.cpp:834
f9  MainLoop () at $GIT/Descent3/descent.cpp:550
f10 Descent3 () at $GIT/Descent3/descent.cpp:508
f11 oeD3LnxApp::run (this=0x7f963e80db50) at $GIT/Descent3/sdlmain.cpp:151
```
2024-09-02 22:53:27 +02:00
..
data Merge branch 'DescentDevelopers:main' into win-x64 2024-05-17 20:06:34 +02:00
lnx Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
aigame2.cpp Properly format/use variadic macros 2024-05-24 20:57:17 -04:00
aigame4.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
AIGame3_External.h Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
AIGame3.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
AIGame.cpp Quiet warnings about uninitialized values. 2024-07-31 15:40:16 -06:00
barney.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
BatteriesIncluded.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
BatteriesIncluded.msg Initial import 2024-04-15 21:43:29 -06:00
BossCamera.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
CanyonsCTF.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
CellTestLevel.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
CellTestLevel.msg Initial import 2024-04-15 21:43:29 -06:00
ChrisTest.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
ChrisTest.msg Initial import 2024-04-15 21:43:29 -06:00
clutter.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
CMakeLists.txt build on OpenBSD via Linux pathways 2024-08-20 10:03:24 -04:00
DallasFuncs.cpp [Scripts] Fixed 100 warnings of type C4101 'foo': unreferenced local variable, since this cpp file gets included in alot of scripts. 2024-06-29 21:50:50 +02:00
Gamegauge_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Gamegauge_GER.msg Initial import 2024-04-15 21:43:29 -06:00
Gamegauge_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
gamegauge_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
gcc-game.def Initial import 2024-04-15 21:43:29 -06:00
gcc-lvl.def Initial import 2024-04-15 21:43:29 -06:00
generic.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Geodomes.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Geodomes.msg Initial import 2024-04-15 21:43:29 -06:00
HalfPipe_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
HalfPipe.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
HalfPipe.msg Initial import 2024-04-15 21:43:29 -06:00
InfernalBolt_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
InfernalBolt.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
InfernalBolt.msg Initial import 2024-04-15 21:43:29 -06:00
Inversion.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Inversion.msg Initial import 2024-04-15 21:43:29 -06:00
level1_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level1_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level1.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level1.msg Initial import 2024-04-15 21:43:29 -06:00
level2_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level2_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level2.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level2.msg Initial import 2024-04-15 21:43:29 -06:00
level3_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level3_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level3.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level3.msg Initial import 2024-04-15 21:43:29 -06:00
level4_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level4_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level4.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level4.msg Initial import 2024-04-15 21:43:29 -06:00
level5_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level5_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level5.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level5.msg Initial import 2024-04-15 21:43:29 -06:00
level6_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level7_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level7_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level7.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level7.msg Initial import 2024-04-15 21:43:29 -06:00
level8_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level8_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level8.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level8.msg Initial import 2024-04-15 21:43:29 -06:00
level9_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level10_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level10_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level10.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level10.msg Initial import 2024-04-15 21:43:29 -06:00
level11_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level11_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level11.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level11.msg Initial import 2024-04-15 21:43:29 -06:00
level12_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level13_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level13_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level13.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level13.msg Initial import 2024-04-15 21:43:29 -06:00
level14_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
level14_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level14.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level14.msg Initial import 2024-04-15 21:43:29 -06:00
level15_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
level17.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
level17.msg Initial import 2024-04-15 21:43:29 -06:00
Level1_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level1_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level2_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level2_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level3_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level3_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level4_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level4_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level5_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level5_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level6_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level6_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
Level6_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level6.cpp Resolve assertion when CollectorNomad2 dies 2024-09-02 22:53:27 +02:00
Level6.msg Initial import 2024-04-15 21:43:29 -06:00
Level7_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level7_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level8_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level8_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level9_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level9_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
Level9_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level9.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Level9.msg Initial import 2024-04-15 21:43:29 -06:00
Level10_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level10_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level11_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level11_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level12_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level12_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
Level12_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level12.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Level12.msg Initial import 2024-04-15 21:43:29 -06:00
Level13_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level13_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level14_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level14_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level15_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Level15_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Level16.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Level16.msg Initial import 2024-04-15 21:43:29 -06:00
LEVEL0.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
LEVEL15_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
LEVEL15.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
LEVEL15.msg Initial import 2024-04-15 21:43:29 -06:00
levels1_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
levels2_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
levelS2_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
levelS2.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
levelS2.msg Initial import 2024-04-15 21:43:29 -06:00
LevelS1_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
LevelS1_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
LevelS1.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
LevelS1.msg Initial import 2024-04-15 21:43:29 -06:00
LevelS2_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
LEVELS1_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
LEVELS2_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
linux_lib.cpp Resolve out-of-bounds access in _splitpath 2024-08-31 12:13:44 +02:00
linux_lib.h Move platform-specific defines and macros to own file crossplat.h 2024-08-20 23:09:27 +03:00
merc5.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
merc5.msg Initial import 2024-04-15 21:43:29 -06:00
Merc1.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Merc1.msg Initial import 2024-04-15 21:43:29 -06:00
Merc3.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Merc3.msg Initial import 2024-04-15 21:43:29 -06:00
Merc4.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Merc4.msg Initial import 2024-04-15 21:43:29 -06:00
Merc6.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Merc6.msg Initial import 2024-04-15 21:43:29 -06:00
Merc7.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Merc7.msg Initial import 2024-04-15 21:43:29 -06:00
Merc02.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Merc02.msg Initial import 2024-04-15 21:43:29 -06:00
MS-GAME.DEF Initial import 2024-04-15 21:43:29 -06:00
MS-LVL.DEF Initial import 2024-04-15 21:43:29 -06:00
myPowerHouse.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Mysterious_Isle.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Mysterious_Isle.msg Initial import 2024-04-15 21:43:29 -06:00
orbital.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
osiris_common.h Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
osiris_import.h Programmatically replace all __LINUX__ with POSIX 2024-07-12 18:11:54 -05:00
osiris_vector.h [Cleanup] Removed function declarations that are not implemented. 2024-08-20 20:03:02 +02:00
Paranoia.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
paranoia.msg Initial import 2024-04-15 21:43:29 -06:00
PiccuStation.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
PINBALL.MSG Initial import 2024-04-15 21:43:29 -06:00
Polaris_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
Polaris_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
Polaris_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
Polaris_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
Polaris.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Polaris.msg Initial import 2024-04-15 21:43:29 -06:00
Quadsomniac_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
Quadsomniac.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Quadsomniac.msg Initial import 2024-04-15 21:43:29 -06:00
RudeAwakening.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
RudeAwakening.msg Initial import 2024-04-15 21:43:29 -06:00
SewerRat.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
SewerRat.msg Initial import 2024-04-15 21:43:29 -06:00
testscript.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
TrainingMission_FRN.msg Initial import 2024-04-15 21:43:29 -06:00
TrainingMission_Ger.msg Initial import 2024-04-15 21:43:29 -06:00
TrainingMission_ITN.msg Initial import 2024-04-15 21:43:29 -06:00
TrainingMission_SPN.msg Initial import 2024-04-15 21:43:29 -06:00
TrainingMission.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
TrainingMission.msg Initial import 2024-04-15 21:43:29 -06:00
Y2K.cpp Modernize struct/enum/unions type declarations 2024-05-30 03:35:17 -04:00
Y2K.msg Initial import 2024-04-15 21:43:29 -06:00