Build 1861
SVN-
General
Revise shade preview; fix PGUP/PGDN with selected sectors; allow INS/DEL in 2D side-view mode; 64-bit printf cleanup
SVN handles and Git names are merged into one person.
Revise shade preview; fix PGUP/PGDN with selected sectors; allow INS/DEL in 2D side-view mode; 64-bit printf cleanup
* Lazy hightile loading in Mapster32 tile selector (first display all as lowtiles, then load each one while allowing movement)
* Consolidate the various, slightly different, methods of bounding a sprite between a sector's ceiling and floor into one common function * Fixes for accumulated bugs: shade preview, r_shadescale_unbounded, and a couple of unreported ones * Yaks, gnus, and bisons...
* Comment out some practically dead code (rendmode 1 and 2, pcx screenshots), cutting some 8k from the release binary.
* Refactor two nearly identical chunks in polymost.c into one function in the hope of getting some more, but interestingly that did nothing at all. At least it's more readable this way... * Commit, but don't enable, code for writing PNG screenshots (I'm tired of converting them every time). Requires libpng which in turn requires zlib.
Tweakery in various places.
Engine stuff: * Add 'r_shadescale_unbounded' cvar. When set to 0, OpenGL renderers should never draw completely black objects (currently only implemented for Polymost) Mapster32: * Add 'r_shadescale' to config * In 3D mode, make SPACE behave the same as holding down a mose button: the currently pointed-at object is locked. Required some modification of a.m32 to play well (i.e. not reset SPACE). This is useful by itself but more so in conjunction with the next point * make Alt behave as a modifier with PGUP/PGDN: when aiming at a 2-sided wall, move the other side's sector's ceiling or floor (only this is new). * Auto-alignment of walls can be controlled in a finer grained fashion now: When pressing '.', only the immediate neighbors get aligned. Use Ctrl-. for the old behaviour. * When inserting a point in 2D mode, auto-align the neighboring wall
fix lone sector drawing
various ones accumulated in the forum (falling into infinity, stuck in doors), crash in polymer mouse picker when in void space, creation of surplus loops on sector split when sector has weird geometry.
addition: disable sprite sectnum checking with m32script expert mode enabled.
Besides catching a few more corner cases, there's better mouselook handling and a warning (but no fix) for a rare and bad corruption when splitting a sector in this revision.
new command-line switch '-namesfile <filename>' for overriding NAMES.H; new 'drawlabel <quotenum> <x> <y> <z> <col> <backcol>' m32script command for drawing small labels, see end of a.m32 for an example; some special handling for sprites whose tile yoffset is greater or equal their pixel height.
Make RShift/RAlt-selection and various sector operations available in side-view mode. Adds yet another modifier, this time to RShift: if RCtrl is pressed at release time, select only sprites. (If no box drawn, old behaviour of selecting wall-points of line-highlighted wall's loop.)
New sector selection mode in 2d mode: if RCtrl is pressed when releasing RAlt, then instead of the sector having to be contained in the rectangle, the mouse pointer must be inside a sector to be selected. This way it's easy to select sectors with arbitrary shapes. Set ops work independently of it, too. Also some annoyance fixes with sprite movement.
fix sprite ornamentation
more m32 fixes
m32 fixery. random z position of inserted sprites is bad!
Final round of Mapster32 hardening. Going over the limits should now always produce an error message instead of corrupting the data. Also fixes crash in defs.c (thanks for the crashlog, LeoD).
Allocate some extra space after static wall[] and sector[] for the editor.
Oops, r1801 crashed Mapster in the undo system. Also less/better automatic wall[].xrepeat resizing on things like attaching a wall to another.
Mapster32 cleanup. The biggest visible change should be the more robust editing near the limits (still not perfect though).
Selective auto-correction option for the corruption checker. 'corruptcheck now' will print numbered tags for each warning, which can then be used like this: 'corruptcheck tryfix 20 34-64'. General cleanup; make mapster32 not depend on enet objects.
Mundane Mapster Maintenance Melee, Part 2
use sprite's cstat bit 2048 for approximately the same effect as spritenoshade; some side-view and other editor tweaks
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.