Build 1718
SVN-
General
Temporarily replace drawpixels by a bounds-checked version in engine.c.
SVN handles and Git names are merged into one person.
Temporarily replace drawpixels by a bounds-checked version in engine.c.
Don't reset extra tags before loading map in Mapster32.
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.
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.
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.
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.
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
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.
added BUILD functions getclosestcol and divscale, made 2d drawing commands accept VGA-palette colors (-1 through -255) in addition to editor colors, made 2d mode show Polymer SE light outlines
added m32_autoexec.cfg execution on startup of mapster32 (like autoexec.cfg for the game); in 3d mode: shift-pgup/pgdn -> alt-pgup/pgdn for 2-sided walls
SDL/non-Windows: external midi playing with fork/exec and signals; double initprintf internal buffers since they got too long for the --help text; warn on replacing empty tile with a hightile; fix a keypad issue in Mapster32
check limits in more places when drawing walls in 2d mode.
More of them. Includes the possiblity of typing m32script commands directly into the OSD (without "do", see osdtryscript in mapster32.cfg) and improved diagnostics.
more polymer-override variable twiddling in m32script, fixes and beautifying.
Mapster32 maintenance pack #1
The bulk of this commit is "code rape"--or rather, caressing, rewritten for readability. Actual changes/fixes: - fixed "walking" in 2d mode - fixed DELETE key in OSD in SDL build - main loop in general (timeout for event wait after 200 ms so that highlights blink) - access to some pr_override* variables in m32script (suggested by Roma Loom) - API cleanup (added statics and consts here and there)
Fixes some problems with mapster zooming; reset keystatus[] after playtesting.
Various mapster32 fixes: check wall limits in sector drawing; don't count BACKSPACEing there as a new revision (probably fixes undo-related crashes). Also a patch-fix for a crash I couldn't pin down exactly and a corruption checker for m32script.
have default grid size in configuration
Ups entering of sprite extra in 3d mode from 1024 to 65536. Also a toy for tinkering with tints in mapster.