Build 3819
SVN-
fix 'zadd' DEF token handling. (Polymer has it right.)
SVN handles and Git names are merged into one person.
fix 'zadd' DEF token handling. (Polymer has it right.)
Fixes a crash after killing the boss in Duke 0.99 and fixes the issue with WGR2 SVN being detected as 0.99 due to malformed definelevelname statements
Fix a reference to "RDR_POLYMER" that was missed in startgtk
implement dragpoint, clipmove*; fix gamearray serialization.
fix 'copy' on 64-bit archs.
fix restoring of tables. Also add savegame.lua which I forgot!
fix qsprintf, add test code for GAMEVAR_{NODEFAULT,NORESET} flags.
MSVC build fix
fix possible NULL pointer dereference in polymer_getbuildmaterial().
fix Lua->CON line translation by recreating the line info, too.
Fix signed/unsigned comparison warnings and mismatched format char warning.
fix randgen module after md4 removal, run DEFS_BC_SIZE cmd only once.
fix centering of y-flipped wall sprites. (Case D in test_tileoffsets.)
make flipping closer to classic.
This fixes cases A and B in test_tileoffsets.map.
fix floor sprites with y flipping by removing special-case code.
This fixes the case marked with the silver letter C in test_tileoffsets.map. The orientation of the sprites is correct (matches classic) as far as I can see, there are now only problems with translation.
Fix two possible signed left shift overflows.
texcache.c: use Bfilelength(), fixing Linux build.
Fix a warning and uncomment something I accidentally left commented during testing
Add an experimental shading mode to Polymost for .art tiles, in which extra textures are allocated for each shade level based on the classic mode shade tables. Enable with r_usetileshades 1 (disabled by default). This uses a lot of memory and is still very WIP (a lot of the shading is completely wrong at this point).
Also, further refactor texcache code.
Fix issue with Polymer checkbox in startup window, as reported at http://forums.duke4.net/topic/2961-paper-cuts-minor-bugs-and-annoyances/page__view__findpost__p__158208
Classic rotatesprite: fix second assertion failure documented in prev. commit.
build.c: fix strcpy() with overlapping arguments.
make 'corruptcheck tryfix ?' (or '??') not require c. number range.
for some nextwall/nextsector corruptions, suggest making wall white.
Selected by writing e.g. 'corruptcheck tryfix 1-14 ??' in the console. Like with the first alternative, the corruption numbers / range (here, 1-14) must be given.
Mapster32 corruptcheck: on nextsector/nextwall oob, suggest making wall white.
... in the auto-correction. Also, - make two similar corruptions level 5 (wallptr oob, wallptr+wallnum oob). - in drawscreen_drawwall(), do a more strict bound check, not only >=0.
Mapster32 corruptcheck: if some members out of MAX bounds, signal level 5.
Revert to spherical shading; it's not like you could look up in classic anyway.
Fix interaction between ART mapping and lighting.
Finish Polymer cancer mode and enable by default.
TODO: figure out wtf is wrong with rotatesprite, linear filtering.
reading of map-text prototype.
Also fixes a couple of oversights (introduced) with the saving.
move readintostr() into defs_common.lua, fix an oversight.
MSVC build fix
Fix Makefile fuckery.
osd.c: Fix OSD_StripColors() with empty input string.
fix oob read of frame buffer when leftmost vline has a mirror.
In the mirror reversing code, get rid of the padding. This may produce seams, but they appear to be extremely transient and shouldn't be noticeable. In game.c, add a debugging compilation switch DEBUG_MIRRORS_ONLY.
Fix one more 1<<31 calculation, remove one unneeded cast.