Sidedef

From ZDoom Wiki
Jump to navigation Jump to search
DoomWiki.org
For more information on this article, visit the Sidedef page on the Doom Wiki.

A sidedef is a structure bound to a linedef in order to specify for one side of the linedef which sector to refer to, what texture to use and where, and how to display and offset that texture. Sidedefs are assigned to linedefs, not the other way around. Just like sector data, sidedef data can be reused for multiple lines or sets of lines. Where a given sidedef's properties are the same as those of another sidedef, either sidedef can be used in either place, and the redundant sidedef can be discarded. This can significantly reduce the filesize of a saved map, and is known as sidedef packing. ZDoom unpacks these sidedefs when maps are loaded, however, presumably for stability purposes.

Specification

Bytes Data type Description
0-1 Signed short X offset
2-3 Signed short Y offset
4-11 Char[8] Upper texture
12-19 Char[8] Lower texture
20-27 Char[8] Middle texture
28-29 Unsigned Short Sector reference — this must be correct for sectors to be closed

UDMF properties

The Universal Doom Map Format allows to set a number of properties on sidedefs. Unless otherwise specified, default values for integers and float is 0. Boolean values default to "false". They include:

Name Type Description
alpha float Translucency of this line, default is 1.0.
clipmidtex bool If true, this side's mid textures are clipped to floor and ceiling. Default is to let them "bleed" through floor and ceiling planes. Note that OpenGL renderers will clip mid textures regardless.
comment string A comment. This is ignored by the engine.
light integer This side's light level.
lightabsolute bool If true, 'light' is an absolute value. Default is relative to the owning sector's light level.
lightfog bool If true, this side's relative lighting is used even in foggy sectors. Default is to disable relative lighting in foggy sectors.
nodecals bool If true, this disables decals on the sidedef.
nofakecontrast bool If true, this disables use of fake contrast on this sidedef (forcing even lighting). Default is to use MAPINFO and user settings.
offsetx_bottom float Additional X offset for lower texture.
offsetx_mid float Additional X offset for mid texture.
offsetx_top float Additional X offset for upper texture.
offsetx integer X offset.
offsety_bottom float Additional Y offset for lower texture.
offsety_mid float Additional Y offset for mid texture.
offsety_top float Additional Y offset for upper texture.
offsety integer Y offset.
scalex_bottom float X scale for lower texture, Default = 1.0.
scalex_mid float X scale for mid texture, Default = 1.0.
scalex_top float X scale for upper texture, Default = 1.0.
scaley_bottom float Y scale for lower texture, Default = 1.0.
scaley_mid float Y scale for mid texture, Default = 1.0.
scaley_top float Y scale for upper texture, Default = 1.0.
sector integer Sector index. No valid default.
smoothlighting bool If true, this forces use of smooth lighting fake contrast. Default is to use MAPINFO and user settings.
texturebottom string Lower texture. Default = "-" for no texture.
texturemiddle string Middle texture. Default = "-" for no texture.
texturetop string Upper texture. Default = "-" for no texture.
wrapmidtex bool If true, this side's mid textures are wrapped (tiled vertically).

See also