This is a documentation of the new editing features in Doom Legacy. These features should be in Legacy version 1.43 and up.

Please note that Boom support is not discussed in this document. If you would like documentation on Boom, consult boomref.txt


---------------------------------------------------------------------
Section 1: New linedef types.
---------------------------------------------------------------------
1 to 141    REG    Original Doom and Doom2 linedef types
142 to 260   BOOM    Boom extension linedef types

New colormap types




280 - LEGACY    Legacy water in tagged

Creates swimmable water in all tagged sectors, with colormap transfer like Boom 242.

Similar to the Boom 242 deep water type but swimmable (using the Legacy swimming code). It operates more like water than 242 does, but does not have ripples like types 301 and 304. Unlike type 242, this type will not make the actual floor or ceiling into invisible barriers.
The water is only shown if it is above the target sector's floor; otherwise, the regular floor is rendered. When water is rendered, the properties for the top of the water "plane" and the bottom, are both taken from the control sector's floor.

The lightlevel of the water is controlled by the target sector's lightlevel unless the target sector has been also tagged to a "Transfer floor properties" linedef, in which case, the water will have the transfered lightlevel.
It also uses the sidedef1 upper, lower, and middle textures as colormaps in the targeted sector.

It will also create a low fake ceiling if the control ceiling is lower than the target ceiling (this is usually not desired).

The control sector is sidedef1 of the linedef.
The control sector floor height and texture are used for the top of the water, both sides.
The water is swimmable everywhere below the control sector floor.
The sides of the water display HOM looking inward.
The control sector ceiling height and texture are rendered, if they are lower than the actual ceiling.

Under water, the lightlevel is from the control sector, and if the control sector lower texture defines a colormap, it is used.
Above water, the lightlevel is from the target sector, and if the control sector middle texture defines a colormap, it is used.
Above the fake ceiling, the lightlevel is from the control sector, and if the control sector upper texture defines a colormap, it is used.



282 - LEGACY    Legacy generate colormap

This type sets the colormap of all tagged sectors like described below, without changing the floor/ceiling or light values. This is nice for putting colored lighting in many different sectors of different floor/ceiling heights:

uppertexture: #xxxxxxy
xxxxxx = 6 hex chars giving the color value in RGB format of the colormap mask
y = 1 alphanumeric char (a-z) denoting the amount of the colormap mask.

midtexture: #abbcc
(not yet supported in hardware mode)
a = boolean value (0 or 1) denoting if this particular colormap should be treated like fog (i.e. equal application of colormap to all walls, etc)
bb = numerical value (0 through 32) of the colormap at which the fade begins
cc = numerical value (1 through 33) of the colormap at which the destination color will be reached.

lowertexture: #xxxxxx
(not yet supported in hardware mode)
xxxxxx = 6 hex chars denoting the color to which the colormap will fade.


Translucent linedefs




283 - LEGACY   Legacy fog sheet

Displays a 128 high transparent dark fog texture as the middle texture. This can be used to make a better fog effect by patching up the "holes" in fog sectors. Because you often will not want this effect on both sides of the line, this linedef will only affect sides with a middle texture.
Like other transparent textures, the offset_y must be set to position it vertically.
For ground fog, set offset_y = (fog_height - ceiling_height), which should be negative.
For ceiling smoke, set offset_y = (128 + smoke_bottom - ceiling_height).


The old linedef codes for line translucency have been taken by Boom support, so I have shifted the types.
284 - LEGACY   Brightens everything behind the line. Turns things kinda green though
285 - LEGACY   Less brightness with allot less green.
286 - LEGACY   Darkens a little with no green tint.
287 - LEGACY   Brightens but with no green tint.
288 - LEGACY   Selective translucency. Only certain colors are translucent.


3dfloor types




281 - LEGACY    Legacy solid 3D floor with shadow in tagged

Creates a solid 3D floor in all tagged sectors.
It creates a floor, as a solid slab with thickness, that can be walked on and under. The slab will conform to the shape of the target sector creating a 3D floor.

The control sector is sidedef1 of the linedef.
The control sector ceiling height and texture are used for the top of the slab.
The control sector floor height and texture are used for the bottom of the slab.
The middle texture of sidedef1 is used for the texture along the sides.

The lightlevel and colormap under the 3D floor is changed to the lightlevel and colormap of the control sector. This can be used to create a shadow, or to set a different light level, or to impose a different colormap under the floor slab. The edges of the floor slab are lit by whatever colormap and lightlevel exists in the bordering sector.

3D effects: EXISTS, SOLID, RENDERALL, CUTLEVEL


289 - LEGACY    Legacy solid 3D floor without shadow in tagged

Creates a solid 3D floor in all tagged sectors, same as type 281, but without changing the lighting under the floor slab. The floor does not cast a shadow, so the light below the slab is the same as above.

It puts a floor, as a solid slab with thickness, that can be walked on and under, inside all tagged sectors.

The control sector is sidedef1 of the linedef.
The control sector ceiling height and texture are used for the top of the slab.
The control sector floor height and texture are used for the bottom of the slab.
The middle texture of sidedef1 is used for the texture along the sides.

The edges of the floor slab are lit by whatever colormap and lightlevel exists in the bordering sector.

3D effects: EXISTS, SOLID, RENDERALL, CUTLEVEL, NOSHADE


300 - LEGACY    Legacy solid translucent 3D floor in tagged

Creates a solid translucent 3D floor in all tagged sectors, same as type 281, but translucent, and without changing the lighting under the floor slab.

It creates a floor, as a solid slab with thickness, that can be walked on and under.

Sidedef1
upper texture: #nnn
nnn = 3 digit number that encodes for the translucent effect alpha. If it is empty then alpha is 127.

middle texture:
The middle texture is used for the slab sides, and is displayed translucent.

The control sector is sidedef1 of the linedef.
The control sector ceiling height and texture are used for the top of the slab.
The control sector floor height and texture are used for the bottom of the slab.
The middle texture of sidedef1 is used for the texture along the sides.

The edges of the floor slab are lit by whatever colormap and lightlevel exists in the bordering sector.

3D effects: EXISTS, SOLID, RENDERALL, NOSHADE, TRANSLUCENT, EXTRA, CUTEXTRA


301 - LEGACY    Legacy translucent 3D water in tagged

Creates translucent 3D water in all tagged sectors.
Set the control sector ceiling to the water top level, and the floor to the floor level (or below).

Sidedef1
upper texture: #nnn
nnn = 3 digit number that encodes for the translucent effect alpha. If it is empty then alpha is 127.

middle texture:
The middle texture is used for the water sides, and is displayed translucent. Use of a normal texture is recommended for the water sides. If a transparent texture, like midspace is used, then there is still a "medusa" effect slowdown.

Used as a floor slab, it is swimmable, and will support the player for as long as they swim. If they stop they sink through and fall out the bottom. The player can walk under the water floor normally.

The control sector is sidedef1 of the linedef.
The control sector ceiling height and texture are used for the top of the slab.
The control sector floor height and texture are used for the bottom of the slab.
The middle texture of sidedef1 is used for the texture along the sides.

The lightlevel and colormap within the water is the lightlevel and colormap of the control sector.

3D effects: EXISTS, RENDERALL, TRANSLUCENT, SWIMMABLE, BOTHPLANES, ALLSIDES, DOUBLESHADOW, EXTRA, CUTEXTRA, CUTSPRITES


304 - LEGACY    Legacy opaque water in tagged

Creates a 3D fluid, that is not translucent on the surface. Within the fluid it is transparent.
Does not have translucent effect, does not have alpha, so upper texture is normal.

The control sector is sidedef1 of the linedef.
The control sector ceiling height and texture are used for the top of the slab.
The control sector floor height and texture are used for the bottom of the slab.
The middle texture of sidedef1 is used for the texture along the sides.

The lightlevel and colormap within the water is the lightlevel and colormap of the control sector.

3D effects: EXISTS, RENDERALL, SWIMMABLE, BOTHPLANES, ALLSIDES, DOUBLESHADOW, EXTRA, CUTEXTRA, CUTSPRITES


302 - LEGACY    Legacy 3D fog in tagged

Creates 3D fog (using control sector's colormap) in all tagged sectors.
The middle texture is normal, but is not used. Has the same light effect as 303, but also tints anything seen through any of the edges, top, or bottom, like a translucent. Because the fog effect is not present within the fog itself, it helps to add some fog sheet linedefs (283).

For ground fog, set the control ceiling at the fog level, and the control floor at floor level. Set the control sector darker than the target sector light level.

For ceiling smoke, set the control floor at the smoke level, and the control ceiling at ceiling level. Set the control sector darker than the target sector light level.

The control sector lighting and colormap are used in the area between the control sector ceiling and floor in every tagged sector. Within the fog area, all objects and walls will be lighted by the fog light level, and all textures that are seen through the fog, will be tinted by the colormap and transluceny of the fog.

The control sector light level controls the light level of the fog area. If the control sector light is darker than the target sector, it appears like a black fog (tinted other colors for other colormaps). If the control sector light is brighter than the target sector, then the fog will appear to be a light source, and will brighten textures and objects within it, leaving a bright stripe along the wall. Suggested light levels for the control sector are 40 to 110.

3D effects: EXISTS, RENDERALL, FOG, BOTHPLANES, INVERTPLANES, ALLSIDES, INVERTSIDES, DOUBLESHADOW, EXTRA, CUTEXTRA, CUTSPRITES


303 - LEGACY    Legacy 3D ceiling light in tagged

Creates a 3D light below the control sector's ceiling height, in all tagged sectors.
Does the 3D light and colormap of a 3D floor, without the floor.

3D effects: EXISTS, CUTSPRITES


305 - LEGACY    Legacy 3D double light effect in tagged

Creates a 3D light similar to 303, except that the light is only affects the area between the control sector ceiling height, and the control sector floor height. Does the 3D light and colormap of a 3D floor, without the floor.

The control sector light and colormap are used withing the control sector floor and ceiling heights.

3D effects: EXISTS, DOUBLESHADOW, CUTSPRITES


306 - LEGACY    Legacy Invisible floor in tagged

Creates a 3D invisible floor, or slab in each tagged sector. The floor can be walked on, and will stop weapons, but does not affect light nor colormaps.

3D effects: EXISTS, SOLID

3D effects meanings

EXISTS Make sure floor is valid
SOLID Walk on and clip things
RENDERSIDES Render the sides of the floor slab
RENDERPLANES Render the slab top and bottom
RENDERALL Render everything
SWIMMABLE Legacy swimming effect
NOSHADE Floor does not cast a shadow, does not affect lighting below it.
CUTSOLIDS Floor hides solid pixels
CUTEXTRA Floor hides translucent pixels
CUTLEVEL Floor hides all hidden pixels
CUTSPRITES Floor hides sprite pixels
BOTHPLANES Render both top and bottom all the time
EXTRA Get cut by CUTEXTRAS
TRANSLUCENT Translucent, "see through" effect.
FOG Fog brush effect
INVERTPLANES Reverse the top and bottom visibility rules
ALLSIDES Render inside and outside sides, as inside water
INVERTSIDES Only render inside sides, as inside water
DOUBLESHADOW   The light only affects the area between the control floor and ceiling


Legacy Fragglescript types


Upon trigger, run the fragglescript denoted by the tag number.
272 - WR     walkover repeatable trigger, two sided.
273 - WR     walkover repeatable trigger, sidedef1 side only.
274 - W1     walkover once trigger, two sided.
275 - W1     walkover once trigger, sidedef1 side only.
276 - SR     switch repeatable trigger
277 - S1     switch once trigger
278 - GR     gunshot repeatable trigger
279 - G1     gunshot once trigger


Movement



290 - LEGACY    Instant lower floor

291 - LEGACY    Instant raise ceiling


---------------------------------------------------------------------
Section 2: New linedef flags.
---------------------------------------------------------------------

Alltrigger [0x400] (1024)
This flag, when set, will allow all things to activate a W* line, with the exception of flying blood. :) This includes all generalized types that are W*.


More to come.