Build 5339
SVN-
RCtrl+RAlt (+['] or [;]) selects sectors in 3D mode, by The Mechanic.
SVN handles and Git names are merged into one person.
RCtrl+RAlt (+['] or [;]) selects sectors in 3D mode, by The Mechanic.
in manual member editing, Shift+ENTER allows toggling individual bits
For values that are displayed in hex. Patch by The Mechanic, with modifications.
after playtesting with Esc+[T], break from the key polling loop.
Bug noticed and fix located by The Mechanic.
Add EVENT_PREDRAW2DSCREEN.
call AppGrabMouse() on show/retract OSD like in the game.
This is necessary to hide the mouse cursor in some settings (such as with the debug build under Xfce). DONT_BUILD.
add config variable 'corruptcheck_heinum'.
With 3 modes: 0: auto-correction and warning disabled 1: auto-correction enabled (default, current behavior) 2: auto-correction and warning enabled
re-enable changing position in 2d mode with the right mouse button when dragging selected objects
fix frame locking issue with 2d3d mode, crash when toggling bottom texture swap, issues with drawing certain types of walls.
fix display of pal 4 sprites in 2d mode.
fix 3d mode status messages being overwritten with position/ang/horiz readouts.
fix unreadable status messages in 3d mode when working with a palette that doesn't align to Duke3d's color layout.
change default 2d3d position to upper right corner, remove debug printf I accidentally committed.
don't warn about the map being corrupt if the only thing wrong with it is a sector ceilingheinum or floorheinum set without the corresponding bits to enable sloping set. DONT_BUILD.
further 2d mode performance improvements. Sprites are also now displayed with their xrepeat and yrepeat taken into account. It's not perfect yet... needs more "jiggery-pokery"
fix two "variable may be used uninitialized" warnings.
I didn't produce a case when this could actually have happened, but reading the code, in the case of variable 'j' it seems possible with an empty map.
fix a possible oob read via drawspritelabel; sanitize 2d3d mode.
That is, in m32_is2d3dmode(), also check if 2d and 3d mode resultions are the same. Otherwise, oob writes (e.g. via tileinfo_doprint()) and other thinkable niceties may ensue.
2d mode performance improvements
improve 2d mode sprite label display. I want to test this further, so this is marked as DONT_BUILD.
fix 3d picture-in-picture when editing a map with TROR.
improve diagnostic message.
fix an oob write in test_map().
honor r_usenewaspect, especially it being off.
For this, add a setaspect_new() setup/restore pair in M32_DrawRoomsAndMasks() like for G_DrawRooms(). With this, changing viewingrange/aspect via m32script (in a.m32: [7] -- [9] on the upper row) can only be done in r_usenewaspect 0, though.
style-cleanup check_spritelist_consistency() and VM_Execute(): 'for'.
DONT_BUILD.
in build.c, prevent oob of wall[] if joining non-adjacent sectors.
Also, some minor stylistic cleanup.