dxx-rebirth/similar
Kp f92e5e900e Recover from invalid control_center_triggers.num_links
Use of `partial_range` will trap invalid counts, but will throw an
exception and terminate the program.  Change the logic to log a
diagnostic and clamp the count to the maximum legal value, so that users
can play the level.  The level may still be impossible to complete, if
the triggers within the valid range do not open an exit door.  However,
level authors always have the ability to get that wrong, so the logic
with recovery is better than the logic without it.

Also, add a new diagnostic for invalid side in a control center trigger,
and a new diagnostic for invalid segment in a control center trigger.
For the latter, add a special case to reduce the severity when playing
`Descent 2: Vertigo`, since there is a known bad trigger in a Vertigo
level, and users cannot fix it.
2023-06-03 23:13:26 +00:00
..
2d Use memcpy for font filename 2023-05-20 16:37:26 +00:00
3d Document type of gr_find_closest_color_15bpp input 2023-04-22 14:56:35 +00:00
arch Use RAII to manage SDL_LockAudio state 2023-05-13 15:02:55 +00:00
editor Eliminate unnecessary string copy in PHYSFSX_addRelToSearchPath 2023-05-13 15:02:55 +00:00
main Recover from invalid control_center_triggers.num_links 2023-06-03 23:13:26 +00:00
misc Eliminate unnecessary string copy in PHYSFSX_addRelToSearchPath 2023-05-13 15:02:55 +00:00