Build 3030
SVN-
add check for sprites being out of the maximal grid range (+-524288).
Mostra dettagli
Requested auto-correction will place such sprites at their sector's first point.
Nickname SVN e nomi Git sono unificati per persona.
add check for sprites being out of the maximal grid range (+-524288).
Requested auto-correction will place such sprites at their sector's first point.
for c&p-ing map portions w/o TROR, fix wrongly resetting wall lotag/extra
for copy-pasting map portions without TROR, fix wrongly resetting xpanning.
This is really an artifact of overloading the sector fields for different uses. For copy-pasting TROR'd portions, the bug still persists.
properly reset highlights in undo/redo.
with highlighted sectors, print rot. angle; Alt + [,]: manual angle.
Because rotating sectors "smoothly" by 1 BUILD ang will quickly accumulate roundoff error, this lets the user first do that as a preview and then use the manual angle rotation do carry it out for real.
use the rotatepoint code for both smooth and 90-degree sect. rotation.
add "extend all highlighted sectors" func to 'F menu via a.m32.
const char *scripthist -> char *, since it's alloc'd/freed
Fix tweaking TROR wall links when flipping sectors ([X], [Y]).
This was actually broken all the time except when ALL sectors were selected (which was what I tested incidentally when I wrote the first "fix"). D'oh!
display zero-length walls as level-3 corruptions.
draw a wall blue if its squared length exceeds INT_MAX (not UINT_MAX)
fix a div by zero when drawing tile info for void tile in 3D mode.
This was exposed by Clang with -ftrapv, which apparently also traps those.
disallow joining non-adjacent sectors when expert mode is disabled.
keep the temp sector on some more occasions that don't delete them.
Part 1 of ceiling/floor auto-alignment functionality.
Usage is from 3D mode only. When a sector (or wall) is committed to the clipboard, it (or the wall's sector) is saved, and is subsequently used when auto-aligning [;-ENTER] another sector's ceiling or floor against the reference one's. This temp. sector is reset on any structurally modifying operation except setting first walls; also, aligning extended ceilings or floors is impossible as they use .*xrepeat internally. The auto-alignment does not change picnums (this can be accomplished with the ['+ENTER] combination), but copies the orientation bits 2^{2..6} to the alignee. Afterwards, if the reference is relative-aligned, it tweaks them, so that every case where the two firstwalls are either parallel or perpendi- cular is handled correctly. It does not yet calculate the panning values.
in textured 2D mode, make floor flipping [F] work.
In textured 2D mode, allow setting floor relativity [R].
Also factor out the code (2x) setting the alignment bits for sprites.
more descriptive message when flipping stuff [F], reverse w/ SHIFT.
fix specifying a custom configuration file with -cfg.
We were writing into a string literal. Ouch!
Factor out 'rainbow' drawing code and use bytesperline instead of xdimen.
sprite list consistency checker in corruptcheck.
This checks for about every possible type of sprite list corruption and reports back with a corruption level 5 if one of the 14 validations fail.
fix faulty limit check in duplicate_selected_sprites().
Fix extended ceiling/floor picnums taking on picnum 0 in Polymer.
The reason was that drawmasks(), which was where the resetting of the fake RoR textures happened under Polymer, can be called from polymer_displayrooms() when mirrors are present. I was assuming that drawmasks() was only ever called after the 'main' drawrooms and that hence the sequence of fake RoR tile tweaking was set, reset, set, reset, ... which it was not. Now, do the resetting explicitly after every drawmasks() in the editor.
don't use lazy tile loading with r_hightile=0.
fix crash with 'vidmode <bpp>' introduced in r2311.
tweak dragging a single sprite so that they can be dragged 'uphill'.
The implementation uses the recently introduced updatesector_onlynextwall when setspritez fails.
make sector flipping (X/Y) work properly with TROR.
always show highlighted sprites in 2D mode, even in a gray sector.
Rudimentary support for auto-aligning along TROR nextwalls.
Usage: press the ['] (quote) modifier together with the PERIOD key. Aligns only the immediate upper and lower neighbors of each wall that got aligned by following point2s or nextwalls. Doesn't play well with Alt (carry over xrepeat) yet, might need two subsequent alignment passes.
fix AWFUL out-of-bounds WRITE with sector highlighting.
How in the name of hell this could pass undetected for so long is a mystery to me.
fix filling all sectors of a bunch with Ctrl-U. Previously, only
one sector was filled and the 'clear bunch' message was displayed even if the operation was canceled.