Build 3786
SVN-
Generale
Fix signed/unsigned comparison warnings and mismatched format char warning.
-
fix randgen module after md4 removal, run DEFS_BC_SIZE cmd only once.
Nickname SVN e nomi Git sono unificati per persona.
Fix signed/unsigned comparison warnings and mismatched format char warning.
fix randgen module after md4 removal, run DEFS_BC_SIZE cmd only once.
Sanitize hard coded render mode numbers... replace all references to rendmode 0, 3, 4, etc with proper REND_CLASSIC, REND_POLYMOST, REND_POLYMER labels.
Alter cvar system to fill the cvar name into the description line automatically, and remove the cvar name from the descriptions for all cvars
Unify glow and detail texture setup between polymost and mdsprite
Some further texcache refactoring. Removes all of the texcache globals and shoves them into a struct for easy management.
when 3D-inserting sprite higher than z extent, position at floor...
... when aiming at the floor.
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.
engine.c: add tile offset debugging code guarded by DEBUG_TILEOFFSETS.
Also, update test_tileoffsets.map with a new 'dimension': cstat 128 (sprite centering). It has an issue in Polymer marked with a silver D.
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.
remove old gamevar/serialization code.
Lunatic rotatesprite: disallow FULL16 coordinates since Lua numbers are FP.
Promote pr_customaspect to double from float to match the array of predefined aspect ratios that's in the menu
Fix a warning and uncomment something I accidentally left commented during testing
Make the menus look the same in all rendering modes, because the LOADSCREEN tile looks like shit when any kind of palette-based shading is involved. So, now everyone gets the ugly metal looking MENUSCREEN.
Properly handle shading models with traditional fog when r_usetileshades is also enabled.
Rename gltexinvalidateall to gltexinvalidatetype and add an enum for the two currently accepted values, INVALIDATE_ALL and INVALIDATE_ART
Get rid of that old model occlusion checking hack I wrote for Polymost years ago. I actually didn't know this was still in EDuke32... it's one of the worst things I've ever written. :p
A bit more work on the Polymost shade table mode (r_usetileshades)
Remove deleted md4 library related files from the Visual Studio project
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.
Classic rotatesprite: add assertion failing with DNF mod, comment another.
Among other things, rotatesprite doesn't cope well with large zoom values. Two assertions are added that guard qinterpolatedown16short() calls: in the failing case, they would write outside the destination arrays. Another (existing) assertion is commented a little and like for the first, instructions are given how to reproduce its failure.
sync rotatesprite* with CON.
a.m32: rotatesprite testing.
Variables dt_* are defined. If dt_t (tile number) is >=0 that tile is drawn using 'rotatespritea'.
don't save sector[].wallnum, signal last wall of sector in point2.
premap.c: remove a missed unused variable.
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.
Ignore ART mapping for TILE_ANIM, which is dynamically populated by the game
during ANM playback.
Hook ART mapping to rotatesprite.
The visibility calculation relies on the distance, which might not be entirely accurate in rotatesprite, so maybe it'll be too dark in some cases.
Make ART mapping work with any number of shade offsets (eg. BLOOD pal)
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.
Factor out four instances of duplicate code into append_ext_UNSAFE().
move readintostr() into defs_common.lua, fix an oversight.
first prototype of map-text saving.
make on-disk gamearray footer contain non-printable chars.
Also, allow writing userdefs[].auto_run.
MSVC build fix
New Polymer feature: shitty mode.
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.
allow overriding the optimization level with debugging builds.
Fix one more 1<<31 calculation, remove one unneeded cast.
I am not a smart man. Fix startup window hangs with grpinfo files.
Fix model HUD weapons not showing in Polymer, introduced in r3717.
optimize background 'rainbow' drawing in use for editor/debug.
Also, draw it at shade 18 and don't use fullbright colors.
do not pass $(STDCPPLIB) to final eduke32/mapster32 linking step.
clean up mirror drawing code.
No functional changes, but a (commented out) debug line for an oob read of the frame buffer when the mirror covers the whole screen is inserted.