Build 1716
SVN-
General
SDL and menu joystick fixes by NY00123 (thanks!).
SVN handles and Git names are merged into one person.
SDL and menu joystick fixes by NY00123 (thanks!).
Pull in backtrace.c (pre-compiled as backtrace.dll and MinGW dependencies) from http://code.google.com/p/backtrace-mingw. When running debugging snapshots, this will print out a helpful backtrace in eduke32.crashlog. I had to disable stack protectors for debug builds as this was pulling in a dependency that I assume most people won't have. If anyone feels like merging that code into EDuke32 itself and find a way to remove the ugly libintl dependencies, be my guest. In the meantime, sorry for the awful commit.
Link debug builds with -rdynamic in order to get symbol names when printing backtraces from the signal handler.
New aspect determination code for classic/Polymost, controlled with r_usenewaspect and r_screenaspect cvars; print stack traces with SDL/GCC; change signature of app_main in game.c to match declarations found in other places and return different positive values on init error.
New CON command 'clipmovenoslide', doing the same as clipmove but stopping at collisions before sliding calculations. Fixes a problem with Mapster32 where names.h was tried to be read before setting up the search path.
make sector keep old firstwall when adding inner loop, rewrite setfirstwall to use malloc'ed memory for temp storage instead of end of sector[], reintroduce correct searchwall determination in Polymer mouse picker (intersection of xy projection of aiming ray with wall); added commands to m32script: shiftvarvar[lr], ifhighlighted, ifin3dmode, updatehighlight, sethighlight; coded prototype terrain helper based on isolines and triangle strips.
Make pointer checking on save disabled by default.
New CON commands:
* sectsetinterpolation <sector> * sectclearinterpolation <sector> * clipmove <<ret>> <<x>> <<y>> <z> <<sectnum>> <xvect> <yvect> <walldist> <floordist> <ceildist> <clipmask> * lineintersect <x1> <y1> <z1> <x2> <y2> <z2> <x3> <y3> <x4> <y4> <<intx>> <<inty>> <<intz>> <<ret>> * rayintersect <x1> <y1> <z1> <xv> <yv> <zv> <x3> <y3> <x4> <y4> <<intx>> <<inty>> <<intz>> <<ret>> * calchypotenuse <<ret>> <x> <y> (all except *interpolation also in m32script). Also fixes Sect_ClearInterpolation to be symmetrical to its Set counterpart (shouldnt change anything since it was unused). Added "-conversion YYYYMMDD" switch for keyword-compatibility with old mods. Mapster32: invisible sprite preview with Quote-i.
Automatically name savegames based on the map name instead of canceling the save if no name is entered
mapster32 fixes: aiming crash in polymer, more accurate aiming in polymost + calibration/replacement crosshair via "r_preview_mouseaim", 2 other crashes; fix "S" in tile selector, make read-only variable overridable with "script_expertmode", misc. beautifying.
msvc compile fix
Re-tie initial SDL mouse grabbing to DEBUGGINGAIDS.
Correctly (I hope) handle the zoom argument of rotatesprite when drawing HUD models in Polymer.
Add a few debug cvars for development purposes.
Fixes various issues with selecting: sectors and duplicating them many times in a row, sprites and then deleting some of them (also adds set union ['] and difference [;] to RSHIFT); adds the ability to move all selected sprites in the XY plane in 3d mode with SHIFT-LMB and align to the grid in an absolute fashion with CTRL.
Fix wrong interpretation of SPREXT_NOTMD that would cause it to assume the flag was set whenever any flag was set, causing the models to switch on and off in Duke Plus with Polymer.
Polymost-style HUD model support for Polymer. It properly displays all HRP HUD models as far as I can tell.
Tweaks keys for the PR override vars once more. Keyboards are annoying.
Fixes crash in 2d map drawing where sector[-1] was accessed; added commands a2xy and ah2xyz to m32script, coded 2d preview of swinging and sliding doors; added "samprate" setting to configuration, useful if the default one gives jittering/echoey audio
Search for named tile in tile selector ('S'); various bugfixes (among other things with PR-override vars)
bugfixes; mark tiles in tile selector for later grouping (press SPACE on a tile); a.m32: convert to CRLF and add [xyz]vel query in 3d mode (Alt-KP1), also different keys for Polymer override var tweaking; some CRLF->LF in LF-only files.