[3] EXAMPLE

 
Previous (Implementation)
Next (Technical blurb)
An example is better than 1000 words, so here we go.

Here's a sample of a text file that you could have into the 'S_SKIN' resource:
 

// Terminator skin by xxx mail me yyy@myhouse.com
name = terminator
sprite = TERM
face = TER
dsouch =   dstmouch
dsplpain=dstmpain
dsslop   = dstmexpl

As you see each line looks like: <property> = <value>

Let's study each line one by one:
 
 

// Terminator skin by xxx mail me yyy@myhouse.com

This is just a comment line. Comments start with '//'. Use comments to put 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.
 
 

name = terminator

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, whatever different may be the graphics, 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.

ATTENTION: 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.
sprite = TERM

Tells the name of the sprite to use for the skin. Sprites in Doom uses only 4 letters, the original player graphics sprite is 'PLAY'. The line above tells Legacy to look for TERMA1instead of PLAYA1, TERMA2A8 instead of PLAYA2A8 etc...
 

Note from Boingo:
Danger! Do not use the sprite command!  For unknown reasons, this command actually crashes some versions of Legacy!  The command was acidentally removed from some versions of Legacy before version 1.32, when it was restored.  To ensurethat your skin works with all versions of Legacy, place your S_SKINxx lump just before your skin sprites instead.

It is not needed to rename the player sprites like this. It is usually simpler to put all the sprites JUST AFTER the S_SKIN resource. Example:

    S_SKIN
    TERMA1
    TERMA2A8
    TERMA3A7
    TERMA4A6

    etc...

Note that if you put the sprites just after S_SKIN, the sprite name doesn't matter, Legacy looks for the first sprite name, and continue 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.
 
 

face = TER

All the status bar face graphics resources in Doom wad have the name start with 'STF' : STFST01, STFGOD0, STFDEAD, etc...

This lines simply tells which 3 LETTERS are to be used in place of 'STF'.

So in this example Legacy will look for 'TERGOD0' instead of 'STFGOD0', 'TERST01' instead of 'STFST01', etc...

Attention : the STPB0-STPB3 resources are no longer used.

The STFB1,STFB2,STFB3 resources of the original Doom are no longer used. Doom Legacy only uses STFB0, and remaps the green color to the color of the player, just like for the sprites.
Note 1: contrary to the sprites renaming, you MUST use this line in order to change the status bar face graphics.

Note 2: remember you must replace ALL the status bar face graphics, that is: provide a replacement for all the resources that start with 'STF'.
 
 

dsouch =   dstmouch
dsplpain=dstmpain
dsslop   = dstmexpl

These lines tells new sounds to use for that skin in particular, in place of the game's original sounds.

Up to 10 sounds can be replaced, the sounds are related to the player actions:
 

DSOOF
Landing from a higher elevation
DSNOWAY
Player is attempting to open a locked door or a wall
DSPLPAIN
Player in pain
DSPLDETH
Player's death scream
DSPDIEHI
Alternate player death scream
DSSLOP
Exploding death sound
DSPUNCH
The sound played when the player successfully lands a punch
DSRADIO
Communication sound
DSJUMP
Jumping sound (Doom Legacy sound)
DSOUCH
Player hitting his head against the ceiling (Doom Legacy sound)

For each sound to replace, use a line like:

<original sound resource name> = <new sound resource name>

Any of the 10 sounds can be replaced, or all.

The sounds that are not replaced will sound just like the original.

Note: the replacement sounds don't have to be new sounds, 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.
 

 
Previous (Implementation)
Next (Technical blurb)