Build 5334
SVN-
General
Fix GTK build.
SVN handles and Git names are merged into one person.
Fix GTK build.
Fix USE_OPENGL=0 build.
Mostly revert r5326, and instead restrict the starting and stopping text input to touch devices where we need the on-screen keyboard to appear. This maintains the bugfix on targets with a physical keyboard.
Fix the Custom game content directory startup window option loading the folder alphabetically previous to the one selected when the "autoload" folder is present.
fix oob write for Ctrl+K ("delete all to end of line").
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
Revert r5316 which completely broke BOUNCEMINE.
don't spawn FRAMEEFFECT1 for BOUNCEMINE.
There's no point, really. Since the bouncemine is immobile, the tsprites will all be overlaid at one point and show the same picture, as far as I can see. Worse, since r4876, the generated sprites may draw on top of the actual one. The former have their shade always set to sprite[t->owner].shade though, and will then appear fully bright (shade -127, since BOUNCEMINE sets it like this). This fixes issue number 4 from http://forums.duke4.net/topic/8042-five-minor-problems-report/
fix displayed viewscreen when its x/yrepeat isn't evenly divisible by 4.
fix unbalanced begindrawing()/enddrawing() pair in printext16().
Fix various, but not all warnings.
Except: - missing braces around initializer [-Wmissing-braces]: due to union-in-struct vec3f_t - comparison between signed and unsigned integer expressions [-Wsign-compare]: in polymer.c
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 warnings
fix regression with Y-flipping bit.
fix synthesis warning.
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.
Address complaints from the "Mapster32 problems and bugs" thread.
Mapster32 changes:
-2d mode sprite colors are now automatically generated from the sprite's 8-bit tile. -Zooming in and out has been smoothed out. -The 2d mode crosshair cursor is now 1px thick instead of 2. -The left mouse button can now be used to select multiple wall points and sprites in 2d mode. -Ctrl-x now skips corrupt maps instead of going into an infinite loop. ;) -'-L function in 3d mode works again. -Sprites with a clipdist that has been changed from the default value of 32 will display a circular approximation of the distance in 2d mode. Note that the real clipping distance is actually closer to a square, but a circle looks much less confusing/stupid alongside the display of floor sprites. -2d mode status bar has been made a few shades lighter.
Makefile tweaks: remove BUILD_FINISHED because it frequently appeared in the wrong place when using make -j, and remove "executable" wording from linking phase. DONT_BUILD.
Fix a bug where the editor was forced into game filesystem mode by default, and add a preference to mapster32.cfg to control the default filesystem mode.
Prevent stack overflow when a grp configured via .grpinfo erroneously depends on itself. This should also be addressed in the .grpinfo parser, but this fixes it for now.
Fix warning in defs.c. DONT_BUILD.
Fix automap lines in Polymer mode
fix an oob write in test_map().
Fix an out-of-bounds read in getpskyidx().
m32exec.c fix "multiple unsequenced modifications to 'insptr' [-Wunsequenced]".