Build 1738
SVN-
General
Revert the four Makefiles to have a base version in case I screw up again...
SVN handles and Git names are merged into one person.
Revert the four Makefiles to have a base version in case I screw up again...
Fixes former crash in drawline16 and swaps drawpixel with the unsafe variant there; fixes potential sector[-1] access in sliding Star Trek doors; make CC overridable in Makefiles so that other toolchains or static analyzers like scan-build/clang can be used; with its help, fix some issues, some more severe than others.
This commit doesn't add anything interesting for anyone not interested in tracing down completely absurd bugs.
More sensible dragging in side view mode. When pasting walls in 3D mode, match the actual pixel width of the source wall.
Adds chselshade (change selected shade) to a.m32
A week worth of Mapster hacking: first, there is an experimental side view mode toggled with [F3]. Nav keys are {QWAZ}, MMB and RMB. Use with care because it is still in construction. The sector selection routines have been rewritten -- it is now possible to paste the selection into a room and a new inner loop will be added automatically (MickyC's idea). Adds m32script commands drawline16z and drawcircle16z.
Set union ['] and difference [;] for sector selection in Mapster32; probably fix for crash on clipshape-init; replace tabs in doc/build*.txt with three spaces.
pass NEDMALLOC variable to build/Makefile
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.
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.
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.