Build 1726
SVN-
Generale
a.m32 corruption checker: also handle out-of-range picnum
Nickname SVN e nomi Git sono unificati per persona.
a.m32 corruption checker: also handle out-of-range picnum
Use posix_memalign in fork/exec midi player when not using nedmalloc. This fixes compilation in this case for me.
Works around a bug with newer NVIDIA GL drivers where creating a GL context
would remove write access to our code sections. bugs 3086185 and 3104646
Delete _clipshape_.map. Easy to forget if it's not on the file system anymore...
Fixes quite a few nasty bugs with the new clipping code, including the crash. Clip shapes are now loaded from _clipshape0.map through _clipshape9.map (no break like when loading tiles, just see if each is present). Mapster32: insert some safety code for sprites with sectnum<0. Because this is still a bad thing, have the m32script corruption checker catch this and run it periodically from EVENT_DRAW2DSCREEN. Also draw such sprites in 2D mode with a blood-red color, and make them draggable. Remove set[sector,wall,sprite] commands.
New sprite clipping for hitscan; crude debugging code for tracing down the crash that Commander is getting and I can reproduce only in real Windows with the synthesis build.
Fix crash. Reason was obsolete code.
Sector-like sprite clipping. Check samples/spriteclip.txt.
Temporarily replace drawpixels by a bounds-checked version in engine.c.
Don't reset extra tags before loading map in Mapster32.
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.