From ZDoom Wiki
Jump to navigation Jump to search

Sides store important information about lines including their textures for each part (bottom, middle, top), texture offsets, and any colorization they may have. Using sides is needed in order to manipulate how a line appears. Each line has either one or two sides depending on if it has a back sector. They can be gotten from a line's sidedef array or from level's global Sides array.


  • readonly Sector sector - The sector the side faces.
  • readonly Line linedef - The line the side belongs to.
  • int16 Light - The brightness level of the side. This is normally relative to the sector it's facing.
  • uint16 Flags - The flags the line side has:
    • Side.WALLF_ABSLIGHTING - The brightness of this wall uses the side's light level as an absolute one instead of one relative to the sector it's facing. This will also cause it to ignore fog.
    • Side.WALLF_NOAUTODECALS - This side of the line doesn't create impact decals.
    • Side.WALLF_NOFAKECONTRAST - This side doesn't have Doom's fake contrast applied to it, evenly lighting it regardless of orientation.
    • Side.WALLF_SMOOTHLIGHTING - Doom's fake contrast is applied linearly along this side based on wall orientation instead of only at fixed values.
    • Side.WALLF_CLIP_MIDTEX - If the line is two-sided, the texture in the middle part is set to never render below the floor or above the ceiling on this side.
    • Side.WALLF_WRAP_MIDTEX - If the line is two-sided, the texture in the middle part is set to fill the entire space vertically on this side.
    • Side.WALLF_POLYOBJ - This side belongs to a polyobject.
    • Side.WALLF_LIGHT_FOG - Use this side's brightness level even if the sector it's facing has fog. Normally fog disables this behavior.



Sides have a top, middle and bottom parts which can be retrieved with, Side.mid and Side.bottom constants respectively.

  • TextureID GetTexture(int which)
  • void SetTexture(int which, TextureID tex)
  • void SetTextureXOffset(int which, double offset)
  • double GetTextureXOffset(int which)
  • void AddTextureXOffset(int which, double delta)
  • void SetTextureYOffset(int which, double offset)
  • double GetTextureYOffset(int which)
  • void AddTextureYOffset(int which, double delta)
  • void SetTextureXScale(int which, double scale)
  • double GetTextureXScale(int which)
  • void MultiplyTextureXScale(int which, double delta)
  • void SetTextureYScale(int which, double scale)
  • double GetTextureYScale(int which)
  • void MultiplyTextureYScale(int which, double delta)
  • int GetTextureFlags(int tier)
  • void ChangeTextureFlags(int tier, int And, int Or)
  • void SetSpecialColor(int tier, int position, Color scolor, bool useowncolor = true)
  • Color GetAdditiveColor(int tier)
  • void SetAdditiveColor(int tier, Color color)
  • void EnableAdditiveColor(int tier, bool enable)
  • void SetColorization(int tier, Name cname)
  • Vertex V1()
  • Vertex V2()
  • int Index()
  • int GetUDMFInt(Name nm)
  • double GetUDMFFloat(Name nm)
  • string GetUDMFString(Name nm)