2018-07-12
This is a documentation of the new editing features in Legacy. These features should be in Doom Legacy version 1.43 and later.
Doom Legacy supports most Boom editing features discussed in the Boom Reference.
These editing documents are also fairly lightweight and straight forward, if you would like a more comprehensive version, please visit the Doom Legacy Wiki.
Range | Use |
---|---|
0 – 141 | Original Doom and Doom2 linedef types |
142 – 269 | Boom extensions |
272 – 306 | Legacy extensions |
LINEDEF type | Effect | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FraggleScript triggers See FS getting started and FS reference manual. | |||||||||||||||||||
272 | Start FS script (tagnumber), WR | ||||||||||||||||||
273 | Start FS script (tagnumber), WR, 1-sided | ||||||||||||||||||
274 | Start FS script (tagnumber), W1 | ||||||||||||||||||
275 | Start FS script (tagnumber), W1, 1-sided | ||||||||||||||||||
276 | Start FS script (tagnumber), SR | ||||||||||||||||||
277 | Start FS script (tagnumber), S1 | ||||||||||||||||||
278 | Start FS script (tagnumber), GR | ||||||||||||||||||
279 | Start FS script (tagnumber), G1 | ||||||||||||||||||
Translucency maps Apply a translucency map to the middle texture, making a stained glass effect. The corresponding translucency maps are stored in legacy.wad. | |||||||||||||||||||
284 | TRANSMED: Brightens everything behind the line. Turns things kinda green though. | ||||||||||||||||||
285 | TRANSMOR: Less brightness with a lot less green. | ||||||||||||||||||
286 | TRANSHI: Darkens a little with no green tint. | ||||||||||||||||||
287 | TRANSFIR: Brightens but with no green tint. | ||||||||||||||||||
288 | TRANSFX1: Selective translucency. Only certain colors are translucent. | ||||||||||||||||||
Colormaps and water | |||||||||||||||||||
280 |
Water — Boom style
Creates swimmable water in all tagged sectors, with colormap transfer like Boom 242. 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 transferred lightlevel. * It will also create a low fake ceiling if the control ceiling is lower than the target ceiling (this is usually not desired). |
||||||||||||||||||
282 |
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:
Hex color values can be found via paint program or web editor. |
||||||||||||||||||
283 |
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. |
||||||||||||||||||
3D floors | |||||||||||||||||||
281 |
Solid 3D floor with shadow
Creates a solid 3D floor in all tagged sectors. |
||||||||||||||||||
289 |
Solid 3D floor without shadow
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. |
||||||||||||||||||
300 |
Solid translucent 3D floor
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. Sidedef1 upper texture: #nnn nnn = 3 digit number (0..255) that encodes for the translucent effect alpha. If it is empty then alpha is 128. |
||||||||||||||||||
301 |
Translucent 3D water
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). Since 1.44 Alpha 4 it allows selectable fog effects with alpha. Before that only alpha was selectable and it was drawn clear.
Sidedef1 upper texture: #nnnF |
||||||||||||||||||
304 |
Opaque water
Creates a 3D fluid, that is not translucent on the surface. The control sector is sidedef1 of the linedef. Since 1.44 Alpha 4 it allows selectable fog effects with alpha, and rendering of low visibility transluceny. Before that it did not have translucent effect, did not have alpha, and it was drawn clear, with the upper texture as normal. The default is the old transparent effect. Sidedef1 upper texture: #nnnF nnn = 3 digit number (0..255) that encodes for the translucent effect alpha inside the opaque water. If it is empty then alpha is 190. It does not affect the surfaces. An low visibility alpha of 127..255 is recommended for opaque water. F = fog effect selection, as in linedef 302. The default is clear ('A'). |
||||||||||||||||||
302 |
3D fog
Creates 3D fog (using control sector's colormap) in all tagged sectors. The middle texture is used for the fog effect. It is sampled for color, texture, and transparent pattern, generating a fog texture by blending and blurring. The fog effect generated is slightly different for each drawing mode, with the RGBA 32 bit drawing being the reference and the others approximating that as close as possible. Because the fog modes will be improved in the future, it is not recommended to rely too heavily on the exact rendering in the current version. Sidedef1 upper texture: #nnnF nnn = 3 digit number (0..255) that encodes for the translucent effect alpha. If it is empty then alpha is 110. F = fog effect selection. The default is fogdust ('F').
|
||||||||||||||||||
303 |
Ceiling light
Creates a 3D light below the control sector's ceiling height, in all tagged sectors. |
||||||||||||||||||
305 |
Double light effect
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 with-in the control sector floor and ceiling heights. |
||||||||||||||||||
306 |
Invisible floor
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. |
||||||||||||||||||
Instant z movement | |||||||||||||||||||
290 | Instant lower floor | ||||||||||||||||||
291 | Instant raise ceiling |
Linedef Flag | Effect |
---|---|
512 = 0x200 |
Passthru: This flag when set allows a push or switch linedef trigger to pass the push action thru it to ones within range behind it. - Boom |
1024 = 0x400 |
Alltrigger: This flag, when set, will allow all things to activate a W* (walkover) line, with the exception of flying blood. :) This includes all generalized types that are W*. |
Doom Legacy supports up to 64 deathmatch starts. For compatibility with the existing maps, Legacy will try alternate spawn spots. At each spot it will first check that the spot is unoccupied, to prevent players from being stuck together.
The Doom map format refers to different types of THINGs (a.k.a. mapthings, map objects, mobjs) by unsigned 16-bit codes, known as DoomEd numbers. Doom and Heretic use different numberings, with the number ranges overlapping in some places. The situation has been made even more complicated by the different Doom source ports introducing their own, often conflicting, special THING types.
Legacy tries to honor the most common "new" thing types, especially those introduced by Boom and SMMU.
THING type | description | origin |
---|---|---|
4001-4028 | Playerstarts for players 5-32. | JDS group |
5001 | Point push effect | Boom |
5002 | Point pull effects | Boom |
5003 | Camera location | SMMU |
5004 | Path node | SMMU |
1200 | Scream Ambient Sound | Heretic |
1201 | Squish Ambient Sound | Heretic |
1202 | Drops Ambient Sound | Heretic |
1203 | Slow footsteps Ambient Sound | Heretic |
1204 | Heart beat Ambient Sound | Heretic |
1205 | Bells Ambient Sound | Heretic |
1206 | Growl Ambient Sound | Heretic |
1207 | Magic Ambient Sound | Heretic |
1208 | Laughter Ambient Sound | Heretic |
1209 | Fast footsteps Ambient Sound | Heretic |
Doom Legacy has several new graphic and patch resources, as well as supporting different variations of modifying them.
Like many other older games, Doom used the 256 color paletted graphics. The graphics stored in a WAD use palette indices for color, instead of the RGB colors we might use today. The drawing engine maps these indices to real RGB colors using the palettes defined in the PLAYPAL lump in the IWAD.
So say you want to make a few new textures in your paint program. You can either create paletted images using the Doom palette, or use 24 or 32 bit RGB images and quantize them to the Doom palette when they are done. The Heretic palette is different from the Doom palette, but used in exactly the same way. Modern lump editors such as XWE will convert your image to the proper color palette automatically, but the results will generally be better if you use the correct palette to begin with.
Legacy 1.48 does not support hi-res or hicolor textures or sprites. However, Legacy 2.0 does! Please check the Doom Legacy website for more info on Legacy 2.0.
The Doom software renderer uses many different kinds of color mapping tables to simulate lighting and color blending effects. A colormap is a 256-byte array used to remap the colors inside a palette:
They are used to create colored area effects, such as sectors with colored lighting, or a colored fog for the whole level. The hardware renderer tries to emulate these same effects as best it can.
Colormaps can be created with a utility called Inkworks. Inkworks is a DOS based program which allows you to manipulate the color palette and save it in a WAD which contains both PLAYPAL and COLORMAP lumps to merge or insert into your WAD.
A wild or complex effect multicolored colormap works for software rendering, but the hardware renderer cannot use colormaps directly. The hardware renderer will analyze the colormap and try to reduce it to a simple color blend that it can emulate. The result somewhat has the same tints, but not detailed color effects. This hardware renderer method cannot handle colormaps that only highlight certain colors and leave others unmodified. It will generate a color blend that tints everything. Because of this limitation it is not recommended to generate unusual custom colormaps.
For both hardware and software modes, the easiest way to simulate colormaps is by using the Legacy Generate colormap linetype and setting a hexadecimal RGB color value in its texture field. This will generate a colormap for the software renderer, and a color blend for the hardware renderer.
The Doom software renderer uses a set of 34 colormaps (one for each light level plus 2 extra), called a lightmap, to simulate different visibility levels. The default lightmap is stored in the confusingly named COLORMAP lump. One can also simulate colored lighting and fog using lightmaps.
A translucency map is a 256-by-256 byte array used for selective software translucency, where a background color is seen through a translucent foreground:
You can visualize it as a set of 256 colormaps, one for each foreground color. Boom (and hence Legacy) uses the lump TRANSMAP as the default translucency map.
Certain lump types in an IWAD or PWAD should be in continous blocks surrounded by the appropriate section markers. Here are the markers used by Doom Legacy:
Markers | Section contents |
---|---|
C_START, C_END | Software colormaps |
P_START, P_END | Patch lumps (wall and sky textures) |
PP_START, PP_END | alternative |
F_START, F_END | Flat lumps (floor and ceiling textures) |
FF_START, FF_END | alternative |
S_START, S_END | Sprite lumps (mapthings) |
SS_START, SS_END | alternative |
Not all lump types need section markers, for example graphics, sounds and music do not. More about section markers and the lumps that go between them will be found below, but we also encourage you to view your IWAD contents for more info.
Legacy honors the section markers P_START and P_END when introduced as new Patch textures. As well as PP, P1, P2, and P3, just like Doom.
(The quickest way is automatically. The way to do this is by selecting the Patches Tab, and then loading new texture images. Entry>Load.) From that point Xwe should automatically add the P_START and P_END markers, as well as the PNAMES and TEXTURE1 lumps) required for the new patch textures. The engine then takes the texture name, number, and scale, and puts them where they are assigned to by the map, in game.
It's a general rule of mine to create NEW patch textures rather than replacing an exsiting one, or creating NEW patch textures with a New Name rather than replacing an existing one.
Standard wall texture sizes: 64x128, 128x128, 256x128.
However as of 1.41x, hardware video mode in Doom Legacy
supports x2 large flats and wall textures
The original sky texture size in Doom is 256x128, however, Legacy also supports sky textures the size of 256x240. This is because of freelook: you are able to look higher, thus seeing a part of the sky you couldn't see in the original Doom. A taller sky texture was needed.
Using a taller graphic is better than scaling up the original skies, it looks better. However for compatibility, Legacy scales up the SKY textures if it finds that they are the old small size 256x128.
The bottom 40 lines are under the horizon and not normally seen. The lines 100 to 199 are the ones you see while looking straight ahead. The top lines 0-99 are the lines of sky you see when looking up.
There is a small utility called LUMPY provided in this archive to create patches for the sky. Other editing utilities can be used to add the new sky patch to your WAD, XWE for example, see Editing Links.
To convert the sky with LUMPY: LUMPY image.pcx -width 256 -height 240
To add the sky to your WAD with XWE:
Open XWE, select the Patches Tab at the bottom. Select:
Entry>Load. Load your image.
Flats in a PWAD are supported by the 'addfile' console command (loading a PWAD file in the game world). This is useful for testing purposes.
Flats in a PWAD already worked with the original Doom, you had to put a 'F_END' after the last flat. However, it wasted memory because the engine took all resources from the F_START of the original game WAD, up to the F_END in your PWAD, as flats.
Legacy honors the section markers F_START and F_END. The alternatives FF_START and FF_END are also honored. Flats are expected to be within these markers and these flat areas will be searched first. Separate flat sections within PWAD files are supported, and they add flats to those found in the IWAD. If a flat name is not found within the flat markers then Legacy will search the entire IWAD and PWAD for the flat.
Most ports and vanilla Doom engines expect F_START and F_END, so use them. It makes your WAD compatible with other ports, and speeds up the name search in Legacy.
Unlike patch textures, Flats don't need a pname or texture description lump. The engine determines their parameters from the lump size. Just slap them in your PWAD between the section markers F_START and F_END and you are done.
The standard flat (floor / ceiling) texture size in Doom is 64x64 pixels. However as of 1.41x, hardware video mode in Doom Legacy supports x2 large flats and wall textures. More about x2 flats and wall textures can be found on the Doom Legacy Wiki.
Legacy texture flat loading supports any number of new flats (using new names), and it only animates (loads) those animated flats that are used in a level.
Flat sizes supported:Swantbl can be used to create new animations. Now you're probably wondering, what the heck is Swantbl?
Swantbl is a utility that creates SWITCHES and ANIMATED lumps to put in your WAD, used by Boom and of course Doom Legacy. First you will need 2 to 4 image framesets for your animation - depending on if it is a flat, a wall, or a switch. They will need to be (named) and in your WAD. And then, by editing the DEFSWANI.dat you add new image frame (names) from Last to First. Then compile it with Swantbl, which then outputs the 2 animation lumps to put in your WAD. More info can be found on the Wiki about animated textures. And of course the DEFSWANI.dat.
For now, certain Legacy resources need to be in a format called pic_t. You can also use LUMPY or Deepsea to convert other image formats to pic_t. In Legacy 2.0, this will be DEPRECATED, and replaced by PNG.
Pictures in pic_t format.Name | Description |
---|---|
CONSBACK | Console background |
CBLEFT | Console left border |
CBRIGHT | Console right border |
The standard sprite naming system is used. It has 4 letters for the sprite name, followed by frame and rotation characters (5,6). The same sprite can be displayed flipped (reversed) for another frame and rotation using characters (7,8). For most objects and standing monsters, the left view is the reverse of the right view. For walking monsters, the reversed rotation must use a different frame with the correct leg position.
Defining a sprite with rotation 0, makes it cover all rotations. These are often used for round objects, and dead monsters. Having dead monsters with only the 0 rotation is traditional, and it saves on the wad size. Because monsters that are dead are less interesting, it also saves effort. However, it is quite possible to have dead monsters with all the rotation views, such as a dead boss.
The normal 8 position sprites are still supported:
(1,2,3,4,5,6,7,8).
An example is PLAYA2C8, which is for frame A rotation 2, reversed
for frame C rotation 8.
The usual standing 8 rotation sprites, using sprite xxxx frame K, are:
xxxxK1, xxxxK2K8, xxxxK3K7, xxxxK4K6, xxxxK5.
Using the 16 rotations adds 8 more positions between the existing 8 rotation positions.
With Doom Legacy 1.47 and later, sprites can have 16 rotation positions.
This uses a sprite naming system used by EDGE2 (3DGE).
The 16 position sprite order is:
(1,9,2,A,3,B,4,C,5,D,6,E,7,F,8,G).
An example is PLAYAACF, which is for frame A rotation A, reversed
for frame C for rotation F.
The usual standing 16 rotation sprites, using sprite xxxx frame K, are:
xxxxK1, xxxxK9KG, xxxxK2K8, xxxxKAKF, xxxxK3K7, xxxxKBKE,
xxxxK4K6, xxxxKCKD, xxxxK5.
SPRITES in a PWAD are supported by the 'addfile' console command (loading a PWAD file in the game world). This is useful for testing purposes.
Doom Legacy locates the S_START and S_STOP lump markers to speed loading, and to protect against using the wrong lump that might have the same name. In your PWAD, put S_START before the first sprite, and S_END after the last. Another START marker will also end the sprite section. During loading, the sprite lump in the sprite section will have preference over any lump of the same name found elsewhere in the PWAD. S_START (or SS_START) is not obligatory, but is recommended to clearly separate sprites from skin sprites, and other sections that might redefine the same sprite, but for other uses. It is good practice to place both S_START and S_END in a PWAD when adding new sprite graphics.
All sprite resources found in a PWAD will replace those loaded before, just like with any other resources. Thus, sprites in a PWAD replace the original sprites of Doom, Doom2 etc. due to the original game IWAD always being the first one loaded.
Using section markers (S_START, S_END) prevents getting the wrong lump. Sprite resources are recognized by their first 4 letters. For example player sprites start with PLAY. Suppose you replace the PLAYPAL resource in a PWAD, along with some sprites. If you don't put in the S_START, and PLAYPAL is BEFORE the sprites, it will be taken as a sprite, because it starts with PLAY.
You can replace selected frames of a sprite using a PWAD, for example replacing PUNGA0, but not PUNGB0. This DOES NOT work with DeHacked sprite renaming. This is useful for the rocket for example, when you want to replace only the missile or only the explosion.
In Doom Legacy, each sprite skin in a PWAD is defined by a lump named S_SKIN. It contains an ASCII text file which describes the name and properties of the skin.
If you put more than one skin into a WAD file, there are effectively multiple resources of the same name S_SKIN. If this is a problem you can add any characters after the S_SKIN letters, so that your WAD editor doesn't complain. Example: S_SKIN1, S_SKIN2, ... Legacy will search only for the first 6 letters.
A skin is basically a sprite replacement for the player avatar. ALL the frames of the player sprite must be replaced; this includes the normal run, attack and hurt sequences, as well as the normal death, and the explode death sequences.
Though the status bar face is viewable only by the player who uses the skin, it may be replaced in order to be consistent with the player character appearance. As soon as we ran some tests with a Leprechaun skin, and saw the marine's head in the status bar... we added support for replacing the status bar face. Like the sprites, all the face graphics need to be replaced, if some are not defined, the game will quit.
To make it more fun, a skin can have a set of up to 10 sounds replaced, these are called the 'skin sounds'. Skin sounds are replacements of a set of the original Doom sounds, which are given out only by the skin that defines them. All the sounds need not be replaced.
An example is better than 1000 words, so here we go. Here's a sample of a text file that you could have in the S_SKIN resource:
Let's study each line one by one:
This is just a comment line. Comments start with '//'. Use comments to enter author information. The comments are not displayed anywhere into the game, but they may be useful if someone hacks your WAD, he/she'll know where it comes from and who did it.
This tells that the skin name is "terminator". The skin name is displayed in the multiplayer->setup menu. It is used by the "skin" command, in the console. You would type "skin terminator" at the console to change the skin manually, of course it's easier to use the multiplayer menu. The skin name must be UNIQUE : if there are two skins in a WAD with the same name, however different the graphics maybe, only the first skin will be used.
The skin name is also displayed in the teamplay rankings, when using "teamskins". Since each team is identified by a skin in teamskin mode, the rankings would show like this:
107 LEPRECHAUNS TEAM
98 TERMINATOR TEAM
As you see, the name of the skin is used as the name of the team. If you don't specify the name of the skin, it receives a name like SKIN 1, SKIN 2, etc.. not fun.
The name can't have spaces in it... for example a name like "blues brothers" will make Legacy quit with a message like "unknown 'brothers' keyword". We should fix that later.
Tells the name of the sprite to use for the skin. Sprites in Doom use only 4 letters, the original player graphics sprite is PLAY. The line above tells Legacy to look for TERMA1 instead of PLAYA1, TERMA2A8 instead of PLAYA2A8 etc.
It is usually easiest to put all the sprites right after the S_SKIN resource. Example:
S_SKIN
TERMA1
TERMA2A8
TERMA3A7
TERMA4A6
etc.
If you put the sprites just after S_SKIN, the sprite name doesn't matter, Legacy looks for the first sprite name, and continues to collect all the frames with the same sprite name, until the name has changed, or the end of the wadfile. You will want to rename the skin sprites only if your WAD editor requests that all resources have a _unique_ name.
Since you can use any name for the sprites, even without using the "sprite = XXXX" statement, you will probably need this only if you really can't get the sprites ordered just after the S_SKIN resource.
Note: ALL the frames of the player sprites must be replaced.
All the status bar face graphics resources in Doom WAD have a name that starts with STF: STFST01, STFGOD0, STFDEAD, etc. This line simply gives the three characters to use in place of STF. So in this example Legacy will look for TERGOD0 instead of STFGOD0, TERST01 instead of STFST01, etc.
The STFB1, STFB2 and STFB3 resources of the original Doom are not used anymore. Doom Legacy only uses STFB0, and remaps the green color to the color of the player, as like it does for sprites.
Contrary to the sprites renaming, you MUST use this line in order to change the status bar face graphics. You must replace all of the status bar face graphics, that is, provide a replacement for all the resources that start with STF.
These lines tell Legacy to use new sounds for this skin in particular, in place of the game's original sounds.
Up to 10 sounds related to the player actions can be replaced. The new sound names MUST start with letters DS. Any of the 10 sounds can be replaced, or all. The sounds that are not replaced will sound just like the original.
Original sound name | Purpose |
---|---|
dsplpain | pain sound |
dspldeth | death sound |
dspdiehi | extreme death sound |
dsslop | gibbing sound |
dsoof | hitting the ground / missing a key to a locked door |
dsouch | hitting head on ceiling |
dsnoway | failed using something |
dsjump | jumping sound |
dspunch | punch attack sound |
dsradio | message sound |
Note: the replacement sound doesn't have to be a new sound, you can use any sound from the game. For example, if you create an imp skin, you could replace the player sounds with the imp sounds.
If you have a WAD with skins and also have other sprite replacements, make sure you use the S_START and S_END sprite section markers around the sprites. This prevents the skin sprites from replacing the default player sprites, in case you used 'PLAY' for any of the skin sprites. The PLAYxxxx skin sprites that are outside of the sprite section markers, will not be mistaken as the default player sprites.
To make it clear: Legacy will add skins using lumps in the same WAD. This means it does not matter if there are resources with the same name in different PWADs. Legacy is not bothered if you put several markers with the same name in a PWAD (multiple S_SKIN for example). We added support for S_SKINxx where xx can be any character, just because some WAD utilities don't like multiple resources of the same name.
You could for example use the same sprite name for several skins in a single PWAD, because they are delimited by skin markers (S_SKIN).
Version 1.44 and later.
Vanilla Doom created Voodoo Dolls from extra player start positions. This has traditionally been player1, but any player start position will do it (for instance in PLUTONIA MAP06). Voodoo dolls can be used to trip linedefs. This is necessary for many WADs, which use the voodoo dolls for timers and action activators.
Due to the way vanilla Doom created voodoo dolls, the last player start position placed on the map is the actual player start position. A player object would have already been spawned for the previous start position, but the spawning of a new player object would disconnect it, which made it a voodoo doll. It would not respond to player commands, but you could see it, and if you hurt it the player would get hurt.
Simply place an extra player1 start position in your map. The lower numbered player start positions will become voodoo dolls. The last player1 start position will become the actual player1 start.
There are several tricks to using a voodoo doll, and it should be easy to find help documents about using them.
For example, the appearance of the voodoo doll will alert and attract monsters. This can be more effective than creating tunnels, and does not require scripts. You can put a voodoo doll on one side of a door with a monster on the other side, and when the door opens, the monster walks forward triggering a teleport. The monster will then appear in the teleport target sector, which can be anywhere.
Another example, put a health bonus (any item that can be picked up) on a conveyor or scrolling floor, and have it move the items to the voodoo doll. The player will get the health and items without seeing them or any mechanism.
Even though similar effects can be done using Fraggle Script and spawning items, the voodoo doll can be simpler to implement, and it works with other Doom ports.
legacy.wad is the main data file in the Doom Legacy distribution. It contains several resources used by the engine, any of which can be replaced using PWADs.
All the graphics in legacy.wad are in patch format, unless stated otherwise.
lump | contents |
---|---|
Text lumps | |
VERSION | legacy.wad version string, must match the engine version |
THINGS.H |
FraggleScript header file containing THING names
and flags. Add include("things.h"); in your script heading to use it. See also FS things.h on the Wiki. |
ENDOOM | End text, in a strange semi-binary format. |
Lightmaps and translucency maps | |
WATERMAP | Boom bluish underwater lightmap. |
TRANSMED TRANSMOR TRANSHI TRANSFIR TRANSFX1 | Maps for default software translucency. |
Sounds | |
DSOUCH | Player hits the ground or a wall. |
DSJUMP | Player jumps. |
DSFLOUSH | Walking through water. |
DSGLOOP | Landing or jumping in water. |
DSSPLASH | Splash, or getting out of water. |
Sprites | |
BLUD[ab]0 | Random projectile blood |
SMOK[a-e]0 | Smoke |
SPLA[a-c]0 | Water splash? |
TNT1A0 | Invisible sprite for invisible mapthings. |
Other graphics | |
CREDIT | Credits page |
CROSHAI[1-3] | HUD crosshairs |
RANKINGS | Deathmatch rankings graphic (while in a net-game). |
BRDR_MM BRDR_MT | window border patches? |
A_DMG[1-3] | Wall blood splat patches |
WATER[0-7] | "Old water" flats. Legacy uses 8 animated water flat textures, instead of the original 4. |
RSKY[1-3] | Replacement sky textures, 256x240 pixels (not 256x128 like the original ones). |
Menu graphics | |
M_SINGLE | single-player |
M_MULTI | multi-player |
M_SETUPM | multi-player setup |
M_SETUPA | player1 multi-player setup |
M_SETUPB | player2 multi-player setup |
M_2PLAYR | split-screen multi-player setup |
M_STSERV | start-server multi-player setup |
M_CONNEC | connect-server multi-player setup |
M_CONTROL M_CDVOL M_VIDEO M_SLIDEL M_SLIDER M_SLIDEC | more menu patches |
Additional pic_t graphics | |
CORONA | Corona luminosity map |
CONSBACK | Console background picture, 320x200, when 'con_backpic' is true (the console variable) also used as the loading picture MUST BE 200 lines high, can be any width (default is 320) |
CBLEFT | Console left border, used with translucent console background MUST BE 200 lines high, any width (default is 8) |
CBRIGHT | Console right border, used with translucent console background MUST BE 200 lines high, any width (default is 8) |
Status bar overlay icons, pic_t | |
SBOHEALT | health (default shows a red cross) |
SBOFRAGS | frags (default shows a skull) |
SBOARMOR | armor (default shows a green armor) |
SBOAMMO1 | pistol ammo |
SBOAMMO2 | shotgun ammo |
SBOAMMO3 | chaingun ammo |
SBOAMMO4 | rocket ammo |
SBOAMMO5 | plasma ammo |
SBOAMMO6 | BFG ammo |
SBOAMMO8 | super shotgun ammo |
Common older WAD utilities are WinTex version 4.3, by Olivier Montanuy and NWT (New Wad Tools) version 1.3, by Denis Miller. Both programs will allow you to insert new raw data resources into WADs.
Newer Doom lump editors such as XWE and SlumpED will also work for almost all lump editing variations covered in this document.
These documents are the current standard references to the inner workings of Doom, Boom, Heretic and Hexen. Although many of the limitations of the original games have been lifted and new features have been added, they are still very useful to a Legacy map editor.
If you have questions regarding the WAD tools in particular, please consult the Doom editing newsgroups, or ask questions on the Doom Legacy forum (go to http://doomlegacy.sourceforge.net and look for the forum link.)
And above all, please check the Doom Legacy Wiki with any other questions regarding Doom Legacy editing!
Have fun!