I also made some changes to the optimized renderer that will hopefully improve performance on Pentiums. If you have one, try it, and let me know how it compares with earlier versions.
This test release also includes some new action specials that level designers might find interesting:
183: Line_AlignFloor (lineid, side)
184: Line_AlignCeiling (lineid, side)
Aligns the top of the floor or ceiling texture with the front (0) or back (1) of the specified line. Currently, it sets the rotation and panning once when used. In a future release, it will act as the base for future rotations and pannings.
185: Sector_SetRotation (tag, floor-angle, ceiling-angle)
Sets the angles that the floor and ceiling textures in the specified sector are rendered at. 0 is normal. The angles are specified in degrees (0-359).
186: Sector_SetCeilingPanning (tag, x-int, x-frac, y-int, y-frac)
187: Sector_SetFloorPanning (tag, x-int, x-frac, y-int, y-frac)
Pans the floor or ceiling texture in the specified sector horizontally (x) and/or vertically (y). The formula for selecting a panning value for the two parts is the same as for Sector_SetGravity. Example: Horizontal panning is calculated as x-int + (x-frac * 0.01). For most purposes, you can probably leave the ?-frac parts as 0 and just set the ?-int parts.
188: Sector_SetCeilingScale (tag, x-int, x-frac, y-int, y-frac)
189: Sector_SetFloorScale (tag, x-int, x-frac, y-int, y-frac)
Scales the floor or ceiling texture in the specified sector horizontally (x) and/or vertically (y). The formula for calculating a scaling value with the specials is the same as for the previous two.
The Transfer_Heights special has been slightly modified so that the effect can be made permanently visible. (In BOOM, there are certain situations that will make the effect invisible.) To use this alternate behavior, set the linedef's second parameter to 1, otherwise, leave it set to 0, and it will use the original BOOM behavior.
There are two known issues with this release:
- Alt-tabbing when in fullscreen mode does not work properly. This is a problem with OpenPTC.
- Save games are temporarily disabled until I get the serialization code for the C++ classes written. This also means that hubs are broken, because they rely on the savegame code to save the game state when you move between levels.