Build 1749
SVN-
General
(ATM broken) support for PNG highpal files; their dimensions must be the same as the TGA ones.
SVN handles and Git names are merged into one person.
(ATM broken) support for PNG highpal files; their dimensions must be the same as the TGA ones.
Split MD3 model post-processing into common and Polymer parts and defer the latter if the game is started with a different renderer. This has the benefit of faster startup times and much less memory consumption in that case. When the user switches to Polymer later in-game, all processing is done in one run. I've observed crashes due to the music system if it takes too long, so the it may be unreliable. Also some calloc->malloc where the clearing is unnecessary.
d'oh
Atrributify various function declarations. Right now the attributes used are noreturn, nonnull and format, the latter allowing us to catch silly printf errors. Again, these range from relatively benign to disastrous.
Strip out most duplicated Makefile stuff into Makefile.common -- this should make configuration and maintenance much less troublesome. Attention to everyone who builds their own Edukes: you may have to re-set some paths like the one to the DirectX SDK.
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.