Build 1925
SVN-
General
fix MSVC build
SVN handles and Git names are merged into one person.
fix MSVC build
* Fix usage of uninitialized array (\!), which could result in TROR connections being deleted at random when deleting sectors. I guess this is a sign of approaching senility :(
* When dragging highlighted sprites, do a setsprite() after each position update. This way, they won't end up on the wrong level * TROR support for SE 31 and 32 in-game, example provided in test map * some uncommited stuff for TROR: SE 6/14
make min. resolution 320x200 (Hendricks266's request)
fix highlighted sector deleting and probably a couple of other inconsistencies stemming from that bug
* Make destructable ceilings and floors (SE 13 pointing down) behave well with TROR; also carry sprites and players on the roof of a subway. The latter uses t_data[9] on the pivot sprite.
* Make the minimum resolution possible 640x480. Sometimes you'd accidentally enter something like 'vidmode 800 60' and crashes would ensue... * fix a warning
crash prevention for bad pal sprites (and warning in Mapster 3D mode)
Polymer ROR support, but no support for masked floor/ceilings yet.
Fix the blacked out bonus screen and run game.c through astyle
another small fix
Don't crash G_ShowCacheLocks when there are many locks; Better sprite interpolation in subways
Patch from Hendricks266 to add "-rts" command line parameter
I now understand SE0's
Make certain sprites in rotating sectors impervious against diverging from their initial position due to roundoff error accumulation. The sprites affected are those with statnums 0, STANDABLE, FX, and FALLER (also SE lights, but that shouldn't be considered permanent) contained in sectors with SE 0, 6 or 14. Fix some interpolation issues with such sprites in passing, though they still jitter on occasion. For usage examples, take a look at the updated trueror1.map.
Implementation note: the so instrumented sprites use actor[].t_data[7] to hold a magic number (0x18190000 + pivot spr idx), and t_data[8] and [9] for the initial coords relative to the pivot point.
fix NOASM=1 build
safer sprintf
* Thin out models in memory by removing unused frames. This saves 200MB with DNE on Polymer.
* fix memory corruption when loading a Polymer savegame using another renderer and then change to Polymer * fix possible crash in OSD_Exec() and uninitialized mem access in game config reader * move makeasmwriteable() to baselayer.c
Patch from Hendricks266 and whatever changes happened to be in my tree. I hope they work ;)
"The most noticeable change is the addition of the "includedefault" CON and DEF command, which will attempt to include eduke.con (or nam.con, or ww2gi.con), then game.con, or duke3d.def, or nam.def, or ww2gi.def. This is useful for TCs like my add-ons, where for my pseudo-mutators I currently say "include EDUKE.CON", but I also have to juggle this terrible order of paths, so that I can have an EDUKE.CON file in my HRP which says "include GAME.CON" to allow the mainline game to actually run, but also allow DukePlus to load its EDUKE.CON file (since it uses that and not an -x switch), and also allow any custom EDUKE.CON files in the root to be used."
* Tighter y[ud]most clamping in TROR/classic. This fixes the overdraw bug when standing on the rails in the test map.
* Voxel tweaks: horizontally scale wall-aligned ones by 5/4, make them ignore per-tile yoffset in classic (i.e. emulate Polymost; I think this is more sensible since they're not clipped to floors/ceilings anyway), make Polymost know the voxel scale * Always cull back-facing, one-sided, wall-aligned sprites (classic/Polymost), irrespective of whether it's a sprite, voxel or model. This can lead to falsely not drawing them in certain circumstances, but IMO that's preferable to visible hidden switches etc. * Change defaults for r_novoxmips to 1 and lazytileselector to 0
also fix eduke32 on x86 and include a script for compiling all four versions, packing each into a fat binary and zipping the whole pack.
Replacing 'NSApp' with the value returned from [NSApplication sharedApplication] is the last step to avoid null addresses in the x86 code. Go figure...
A couple more OSX tweaks: pull in 'nibless' SDLMain.m into tree for future hacking, fix backspace ('delete') key in OSD, almost everything to make x86 binaries actually run.