Build 7326
SVN-
fix use of uninitialized values
SVN handles and Git names are merged into one person.
fix use of uninitialized values
on TROR point insertion, mark more points.
This fixes a bug reported by Micky C on 2016-01-11 where too few points were marked to be inserted. See AMC TC SVN r2308.
in drawspritelabel(), use fixed background color.
Make it always one of the colors that the 2D color cycles to (base color + offset in [0 .. 4]) instead of <base color>-3, as that one might be in a different color ramp.
fix variable that is used uninitialized.
add var 'corruptcheck_game_duke3d' and enable by default.
Currently, this checks for effector sprites that are not face-aligned. See https://forums.duke4.net/topic/8324-icestation-colossus-map-broken
fix fillsector() calls before fade_editor_screen().
The latter allows one to specify a color to keep, but with r5302 the fillsector() highlights are drawn with transparency, thus making it ineffective. Add an argument to toggle transparency to fillsector() (now fillsector_maybetrans()) and two wrapper functions.
fix 2d3d mode input issue when sector is -1
after playtesting with Esc+[T], break from the key polling loop.
Bug noticed and fix located by The Mechanic.
add config variable 'corruptcheck_heinum'.
With 3 modes: 0: auto-correction and warning disabled 1: auto-correction enabled (default, current behavior) 2: auto-correction and warning enabled
fix frame locking issue with 2d3d mode, crash when toggling bottom texture swap, issues with drawing certain types of walls.
fix display of pal 4 sprites in 2d mode.
fix 3d mode status messages being overwritten with position/ang/horiz readouts.
fix unreadable status messages in 3d mode when working with a palette that doesn't align to Duke3d's color layout.
don't warn about the map being corrupt if the only thing wrong with it is a sector ceilingheinum or floorheinum set without the corresponding bits to enable sloping set. DONT_BUILD.
fix two "variable may be used uninitialized" warnings.
I didn't produce a case when this could actually have happened, but reading the code, in the case of variable 'j' it seems possible with an empty map.
fix a possible oob read via drawspritelabel; sanitize 2d3d mode.
That is, in m32_is2d3dmode(), also check if 2d and 3d mode resultions are the same. Otherwise, oob writes (e.g. via tileinfo_doprint()) and other thinkable niceties may ensue.
fix 3d picture-in-picture when editing a map with TROR.
fix an oob write in test_map().
demote wall check "corruptions" introduced in r4569 to level 2.
The winding of a loop -- with clockdir() -- is determined by examining the two line segments spanned between the points following a leftmost point of the loop. If the loop contains a leftmost point that belongs to the "right" side (as can happen with sliding door constructions), there's a chance that an outer loop is misclassified.
fix a crash when m32_settings.cfg contains video setting.
Such as "vid_gamma". In that case, setbrightness() would have been called without basepaltableptr having been initialized. The fix is by moving the preparational setbasepaltable() call from ExtPostStartupWindow() to ExtInit(), just before the OSD command dispatching.
fix possible integer overflow in loopinside().
This could happen when building outside the "classic" grid limits and would then lead to e.g. incorrect loop assignment on sector splitting. Bug reported by MetHy.
prototypical checker for wall loops, enabled partially.
Inspired by http://forums.duke4.net/topic/7506-tror-question/page__view__findpost__p__199151 the corruption checker now checks for certain conditions of the loops of each sector. Recall that CW loops are outer and CCW loops are inner. - If a sector has no or more than one outer loop, count that as corruption (level 4 and 3, respectively). - (Disabled) For sectors with exactly one outer loop, check that all inner ones are inside it. This is currently not compiled due to an asymmetry of loopinside() for degenerate cases, similar to pre-r3898 inside().
fix construction of *_crash.map file name in crash handler.
make 'corruptcheck tryfix ?' (or '??') not require c. number range.
for some nextwall/nextsector corruptions, suggest making wall white.
Selected by writing e.g. 'corruptcheck tryfix 1-14 ??' in the console. Like with the first alternative, the corruption numbers / range (here, 1-14) must be given.