Skip to content

Overlay textures

Lactozilla requested to merge extra-textures into next

General

Edge textures render on top of walls, 3D floors, or polyobjects. They can be offset and scaled independently. They may also wrap, like a middle texture, and may extend past the wall's boundaries.

Some walls with edge textures

Each two-sided wall has up to four edge textures: top upper, top lower, bottom upper, and bottom lower. Their names are indicative of which part of the wall they snap to:

  • top upper edges begin rendering from the top of the upper wall;
  • top lower edges snap to the bottom of the upper wall;
  • bottom upper edges begin rendering from the top of the lower wall;
  • bottom lower edges snap to the bottom of the lower wall.

One-sided walls - which 3D floor sides and polyobject sides are considered to be in these contexts - have up to two edge textures: top upper and bottom lower.

UDMF

Changes to the UDMF specification.

Added to sides

Field Description
edge_top_upper_texture Top edge texture of the upper wall. Default = "-".
edge_top_upper_offsetx X offset for the top edge of the upper wall. Default = 0.0.
edge_top_upper_offsety Y offset for the top edge of the upper wall. Default = 0.0.
edge_top_upper_scalex X scale for the top edge of the upper wall. Default = 1.0.
edge_top_upper_scaley Y scale for the top edge of the upper wall. Default = 1.0.
edge_top_upper_alpha Alpha for the top edge of the upper wall. Default = 1.0.
edge_top_upper_renderstyle Render style for the top edge of the upper wall. Default = "translucent".
edge_top_upper_noskew Disables skewing of the top edge of the upper wall.
edge_top_upper_noclip Top edge texture extends outside the upper wall (displays like a mid texture.)
edge_top_upper_wrap Top edge texture of the upper wall wraps.
edge_top_lower_texture Bottom edge texture of the upper wall. Default = "-".
edge_top_lower_offsetx X offset for the bottom edge of the upper wall. Default = 0.0.
edge_top_lower_offsety Y offset for the bottom edge of the upper wall. Default = 0.0.
edge_top_lower_scalex X scale for the bottom edge of the upper wall. Default = 1.0.
edge_top_lower_scaley Y scale for the bottom edge of the upper wall. Default = 1.0.
edge_top_lower_alpha Alpha for the bottom edge of the upper wall. Default = 1.0.
edge_top_lower_renderstyle Render style for the bottom edge of the upper wall. Default = "translucent".
edge_top_lower_noskew Disables skewing of the bottom edge of the upper wall.
edge_top_lower_noclip Bottom edge texture extends outside the upper wall (displays like a mid texture.)
edge_top_lower_wrap Bottom edge texture of the upper wall wraps.
edge_bottom_upper_texture Top edge texture of the lower wall. Default = "-".
edge_bottom_upper_offsetx X offset for the top edge of the lower wall. Default = 0.0.
edge_bottom_upper_offsety Y offset for the top edge of the lower wall. Default = 0.0.
edge_bottom_upper_scalex X scale for the top edge of the lower wall. Default = 1.0.
edge_bottom_upper_scaley Y scale for the top edge of the lower wall. Default = 1.0.
edge_bottom_upper_alpha Alpha for the top edge of the lower wall. Default = 1.0.
edge_bottom_upper_renderstyle Render style for the top edge of the lower wall. Default = "translucent".
edge_bottom_upper_noskew Disables skewing of the top edge of the lower wall.
edge_bottom_upper_noclip Top edge texture extends outside the lower wall (displays like a mid texture.)
edge_bottom_upper_wrap Top edge texture of the lower wall wraps.
edge_bottom_lower_texture Bottom edge texture of the lower wall. Default = "-".
edge_bottom_lower_offsetx X offset for the bottom edge of the lower wall. Default = 0.0.
edge_bottom_lower_offsety Y offset for the bottom edge of the lower wall. Default = 0.0.
edge_bottom_lower_scalex X scale for the bottom edge of the lower wall. Default = 1.0.
edge_bottom_lower_scaley Y scale for the bottom edge of the lower wall. Default = 1.0.
edge_bottom_lower_alpha Alpha for the bottom edge of the lower wall. Default = 1.0.
edge_bottom_lower_renderstyle Render style for the bottom edge of the lower wall. Default = "translucent".
edge_bottom_lower_noskew Disables skewing of the bottom edge of the lower wall.
edge_bottom_lower_noclip Bottom edge texture extends outside the lower wall (displays like a mid texture.)
edge_bottom_lower_wrap Bottom edge texture of the lower wall wraps.
clipmidtex Side's mid textures are clipped to floor and ceiling.
wrapmidtex Side's mid textures are wrapped.

Added to lines

Field Description
clipmidtex Side's mid textures are clipped to floor and ceiling.

Lua

Changes to the Lua API.

Added to sides

Field Description
edge_top_upper The side_t.overlay of the top edge of the upper wall.
edge_top_lower The side_t.overlay of the bottom edge of the upper wall.
edge_bottom_upper The side_t.overlay of the top edge of the lower wall.
edge_bottom_lower The side_t.overlay of the bottom edge of the lower wall.
clipmidtex Whether the middle texture is clipped to the ceiling and the floor of the sector.
wrapmidtex Whether the middle texture wraps.

side_t.overlay

Field Description
valid Is the overlay valid?
texture Texture number.
offsetx X offset.
offsety Y offset.
scalex X scale.
scaley Y scale.
alpha Alpha.
blendmode Render style.
noskew Overlay doesn't skew against wall.
noclip Overlay doesn't clip against wall boundaries.
wrap Overlay wraps.
Edited by Lactozilla

Merge request reports