Build 5498
SVN-
General
Polymer lighting tweaks, mostly internal.
SVN handles and Git names are merged into one person.
Polymer lighting tweaks, mostly internal.
Add vm_player, vm_sprite and vm_distance to get/setuserdef. This controls the sprite and player referenced by things like "THISACTOR", all of the "ifp" conditionals, per-actor gamevar access, etc. This is intended to be used to un-gimp things like EVENT_WORLD.
Fix cstat 1024 in classic and Polymer
Increase Polymost depth fighting mitigation offset, plus some other minor changes that shouldn't affect anything.
Add support for sector/wall/sprite struct trackers to Polymer
Split Polymer artmap setup into polymer_setupartmap()
Menu options to control Polymer light and shadow counts
Fix cstat 1024 with Polymer
Check whether the sprite is a wall, floor, or face sprite when deciding whether to bump it ahead of another entry based on position and owner.
Disable Polymer lights attached to hidden switches.
Improve depth fighting mitigation for floor aligned sprites.
Fix errant use of tsprite extra field to check an enemy's health.
Sprite sorting changes:
-Sort by owner now occurs only when two sprites have matching x/y coordinates. -Cstat 1024 now activates a special drawing mode that indicates a sprite should be drawn without depth after all other sprites have been drawn. The previous cstat 1024 functionality, an internal hack for shadows cast by models in Polymost, has been moved to bit 1 of a new graphical effects bitfield stored in a tsprite's .extra member.
Tweak the amount that distance is factored in when mitigating depth fighting in Polymost.
Improve the behavior of the BLOODSPLAT family of sprites. This improves the effect so that the blood doesn't stutter when it moves, and no longer occasionally appears to climb back up the wall for a fraction of a second.
Additional depth fighting mitigation for face sprites
Sort tsprites by owner as a replacement for the sort by statnum removed by Helixhorned a while back. Seems sensible enough...
New attempt at fixing the depth fighting with wall and floor-aligned sprites.
Fix pathsearchmode in Mapster32 when using a .def which loads a .grp.
fix 2d3d mode input issue when sector is -1
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.
Mapster32:
-Improved indication of selections in 2d mode. This includes both highlighted objects and multiple object selection. -2d3d improvements: it's no longer possible to end up with a black view due to the z position being out of range when moving the cursor position to a new area with the right mouse button. -The middle mouse button can now be used in place of the right alt key when selecting sectors, similar to how the left mouse button can be used in place of the right shift key to select points and sprites. -2d mode mouse cursor has been changed to a 1 pixel thick red cross with a shadow instead of a 2 pixel thick red cross with no shadow. This improves visibility when working in textured mode with lava sectors and other textures similar in color. -2d mode palette now changes when working in an underwater sector. -Misc tweaks
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.
misc cleanups, support for drawing transparent lines in 2d mode. 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"
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.
A couple of Mapster32 tweaks to play nicer with different palettes.
Address complaints from the "Mapster32 problems and bugs" thread.
Mapster32 changes:
-2d mode sprite colors are now automatically generated from the sprite's 8-bit tile. -Zooming in and out has been smoothed out. -The 2d mode crosshair cursor is now 1px thick instead of 2. -The left mouse button can now be used to select multiple wall points and sprites in 2d mode. -Ctrl-x now skips corrupt maps instead of going into an infinite loop. ;) -'-L function in 3d mode works again. -Sprites with a clipdist that has been changed from the default value of 32 will display a circular approximation of the distance in 2d mode. Note that the real clipping distance is actually closer to a square, but a circle looks much less confusing/stupid alongside the display of floor sprites. -2d mode status bar has been made a few shades lighter.
New experimental Mapster32 hybrid 2D/3D mode feature. Pressing F10 in 2D mode enables a picture-in-picture 3D view in the corner of the screen. When moving the mouse over the 3D view, the controls change to 3D mode controls and all 3D mode operations can be performed. The 3D view can be resized with shift + F10 and can be moved to different positions by holding CTRL and using the arrow keys.
This commit also implements a much more useful automatic grid sizing feature and smooths out zooming in and out of the map.
Enable sector drawing and textured map in Mapster32 sideview mode with a sideview elevation of 512 (straight up and down).
Improve r_preview_mouseaim and Polymost Mapster32 3d mode mouse selection. Also adds a display of the current coordinates, angle and horiz when moving around in 3d mode.
Slight further Polymost cleanup. Nothing of real importance. DONT_BUILD.
Make 'L' key toggle grid lock in 3D mode, because it affects placement of sprites inserted with 'S'.
Polymost parallax sky fix.
Fix Polymost issue reported at http://forums.duke4.net/topic/775-eduke32-20-and-polymer/page__view__findpost__p__220265