dxx-rebirth/common
Kp d085175cbd Scrub invalid primary textures at level load
Past releases, when rendering an invalid primary texture, would
Int3() and then reset the texture to zero.  Commit d767f7c changed the
logic to return without resetting the texture, since the reset seemed to
be unnecessary.  Unfortunately, it is necessary.  Some levels, including
those shipped with the retail game data, specify bogus primary textures
on some surfaces.  After d767f7c, rendering a surface with an invalid
primary texture causes the surface to be invisible, even if it has a
valid secondary texture.

Remove the return statement added in d767f7c.  Extend
validate_segment_side to validate the primary texture on the tested
side.  When an invalid texture is found, reset it and log a diagnostic.
For built-in levels, log at level CON_VERBOSE since players cannot
readily fix the level.  For external levels, log at level CON_URGENT so
that level authors know to fix their level before releasing it.

Fixes: d767f7cd5e ("Pass vcsegptridx to render_face")
2016-12-22 05:21:16 +00:00
..
2d Pass grs_main_bitmap to gr_init_bitmap_alloc 2016-10-29 23:16:15 +00:00
3d Fix various check_header_includes=1 failures 2016-12-05 00:26:11 +00:00
arch Fix memory corruption starting multiplayer game 2016-11-19 18:09:26 +00:00
editor Remove unnecessary gr_setcolor calls 2016-02-12 04:02:28 +00:00
include Scrub invalid primary textures at level load 2016-12-22 05:21:16 +00:00
main Remove unnecessary FuelCenter operator- 2016-12-22 05:21:16 +00:00
maths Move EDITOR to dxxsconf.h; rename to DXX_USE_EDITOR 2016-09-11 18:49:16 +00:00
mem Use array<> for memdebug data 2016-10-29 23:16:15 +00:00
misc Use range_for for hmp reset_tracks 2016-10-29 23:16:18 +00:00
texmap Fixed compile-time error of software rendering build. 2016-10-31 11:44:22 +01:00
ui Merge pull #266 into master 2016-11-19 18:09:26 +00:00