Build 1792
SVN-
General
temporarily bump the additional space after wall[] to 1024 walltypes in the editor; display map corruption status in upper left corner in the corrupt case.
SVN handles and Git names are merged into one person.
temporarily bump the additional space after wall[] to 1024 walltypes in the editor; display map corruption status in upper left corner in the corrupt case.
* Fix a serious logic mistake with checksectorpointer. Previously, a white wall could 'connect' to a red one, leaving the reverse link intact and creating a situation like this: w_new <-> w <-- w_old.
* Have the corruption checker catch this case among a few other new ones. Rename OSD command 'autocorruptcheck' to simply 'corruptcheck' with options 'corruptcheck <seconds>', 'corruptcheck now' and 'corruptcheck tryfix'. * When pasting sector selection into valid player space (releasing AltGr), ask whether a surrounding outer loop should be created since this is probably not always desired.
fix some issues with compilation on mac osx; make B, N, M keys behave the same as KP1, KP2, KP3 when pointing at a polymer light (hack around keyboard strangeness)
make [ and ] keys cycle search matches and Alt-[ and Alt-] cycle corrupt places; make Alt behave the same as Shift when panning/resizing textures in 3D mode to work around dead Shift+KP5+KP2/8 combination.
Fix handling of lotag and friends in generic sprite search. Tags like 65535 which are really (int16_t)(-1) are now also found.
fix non-Polymer build
Fix clipshape bug reported by DeeperThought. Reason was absent-mindedness while coding :/
fix false save failure message and clean up begindrawing/enddrawing pairs
Too much stuff for one commit.
engine: * sector-like sprite clipping now works with x- xor y-flipped actual sprites mapster32: * corruption checker has been hooked up to loading/saving routines to inform/warn the user * also warn if mouse pointer is over corrupt wall which is shown in pink then: you should not move such a wall! * faster map loading by deferring polymer_loadboard to 3d mode entrance (also removes some 'glGetTexLevelParameteriv returned GL_FALSE' warnings) * more logical maphack light handling, the logic is still a bit dodgy though * some menu and misc. function fixup * redundancy elimination... API: * added consts various for 'char *filename' parameters * loadboard() now accepts bit 4 for flags (formerly 'fromwhere')
have gltexcompr option in mapster32; fix prhighpal.py script
A bunch of mutually unrelated updates.
First, there's a new script for the generation of highpalookup images. Python 2.6, NumPy and PIL are required. Next, the map corruption checker has been ported to C. This is so that Mapster32 will be able to take decisions more cleverly based on the corruptness of the map. It also catches a few more issues like inconsistent nextwall/nextsector tags now. Finally, link the executables with --large-address-aware on Windows. This gives a gig more private virtual memory on XP when booting with /3GB. YMMV, but I can play IW2 with Polymer now.
Make deferred polymer model processing not crash; make tile name search case-insensitive.
(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.
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.
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.
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.