Build 3831
SVN-
Generale
Update credits.
Nickname SVN e nomi Git sono unificati per persona.
Update credits.
also reset per-actor gamevars from spawns originating from C.
Take care not to do it twice. Still untested though.
split 'replace' option for actor chaining flags into soft/hard.
Hard replacement reassigns the tile flags, while soft replacement bitwise ORs them, as in CON (since some flags might already have been set using commands like spritenoshade).
reset per-actor gamevars on actor spawn, untested.
Compile DEF progress meter only on Windows or if having the startup window.
The latter checked with #defined HAVE_GTK2, which is probably not correct for every platform. In builds without a startup window, the periods get mingled with stdout output otherwise.
implement 'definegametype', allow writing userdef.level_number.
Also, allow (implicit) actor index -1 to 'sound' like in C-CON and fix MULTIMODE gamevar definition (was 0, not 1).
Fix potential oob access when flipping the floor [F] in 2D mode.
Replace inline "qsetmode==200" checks with in3dmode().
Analogously for the negation; remove a couple of redundant decls of "qsetmode".
Make deletion of an ambient sound MUSICANDSFX sprite stop its sound again.
Add a test case source/lunatic/test/delmusicsfx.lua.
add actor.delete() and various 'length' methods to geom.vec3/ivec3.
remove "found `gettspr' outside of EVENT_ANIMATESPRITES" warning.
Because one may obviously use gettspr/settspr in states called from that event.
fix 'zadd' DEF token handling. (Polymer has it right.)
With DNCOORDS display, print number of sprites currently on the screen.
Only in debugging builds.
add a couple of ud members, gamevars; handle 'dynamicremap' only once.
Also, allow MAXVOLUMES+1 to first arg of 'music'.
Well then, I sure fucked that last commit up didn't I
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
-Wchained-loadactor option for LunaCON, clear errors on restart.
The last only in release builds.
implement dragpoint, clipmove*; fix gamearray serialization.
don't extern 'clipmovetraceboxnum', add a new func. clipmovex() instead.
The 'x' is for "extended", since its last arg is a switch of whether to disable sliding. Use that from gameexec.c.
fix 'copy' on 64-bit archs.
LunaCON standalone: don't try default path on file-not-found for root names.
Add support for shareware 0.99/1.0/1.1, for shits and giggles.
MSVC build fix
Add a simple indicator of progress when loading a large def (like the HRP)... print one period to the startup window per 50 passes of the main loop in defsparser()
Support high DPI setups for the startup dialogs on Windows
fix possible NULL pointer dereference in polymer_getbuildmaterial().
rename con.peractorvar to simply con.actorvar.
NOTE: I'm committing this from my git clone again. If this works OK, everything is in good order again. If not, I hope that I won't damage the SVN repo. *Runs away...*
Test commit from SVN since I may have bricked my local git clone. (r3796 doesn't show up as SVN-committed for me, partial commit?) The change itself is a very small tweak in m32help.hlp.
prototypical gamevar serialization, currently very CON-centric.
initialize SPRITE_HARDCODED_BADGUY on Lua state recreation, too.
partially implement {save,load}mapstate CON commands.
What is missing is saving and restoring per-player and per-actor gamevars. Also add a test CON mutator 'mapstate.con'.
allow desktop-sized windowed modes, add 1680x1050 to defaults list.
Make G_{Save,Restore}MapState() take no input arguments.
Instead, MapInfo[ud.volume_number*MAXLEVELS+ud.level_number] is accessed inside these functions.
Remove redundant checks for some map state function uses.
Also, prettify G_FreeMapState(), remove some duplicate function decls and resurrect 'savestate' and 'restorestate' OSD commands for the debug build.
fix Lua->CON line translation by recreating the line info, too.
conditionally compile out more code in savegame/gamevars.[ch].
Also, make the savegame major version 2 in the Lunatic build.
accept any number of *.lua modules on the command line.
There's no option letter for loading them, and the extension is checked case sensitively. Lua modules are loaded after CON translated to Lua. Also remove -testlua option.
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