home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 September / PCWorld_2001-09_cd.bin / Software / Vyzkuste / doomleg / LEGACY.DOC / SKINSPEC.TXT < prev    next >
Text File  |  2000-08-02  |  11KB  |  335 lines

  1.  
  2.  ---------------------
  3.  D O O M   L E G A C Y
  4.  ---------------------
  5.  S K I N S   S P E C S
  6.  ----------------------------------------------------------------------------
  7.                                Written by: Denis Fabrice
  8.                                Last updated 25-Aug-1998
  9.  
  10. --------
  11. CONTENTS
  12. --------
  13.  
  14. [0] First note
  15. [1] Overview
  16. [2] Implementation
  17. [3] Example
  18. [4] Technical blurb
  19.     [4-1] Skins and sprites in pwad.
  20.     [4-2] Same resource name on different pwads.
  21. [5] Tools
  22.  
  23.  
  24. --------------
  25. [0] FIRST NOTE
  26. --------------
  27.  
  28.   If you have problems creating Skins wads for Doom Legacy,
  29.   and can't find the answer to your questions in this documentation
  30.  
  31.   mail to: legacy@newdoom.com
  32.  
  33.  
  34.  
  35. ------------
  36. [1] OVERVIEW
  37. ------------
  38.  
  39. Let's first have an overview of what defines a Skin:
  40.  
  41.   S_SKIN:
  42.   -------
  43.   Each skin in a pwad is identified by a 'skin marker': this is
  44.   a resource by the name 'S_SKIN'. The resource contains data in
  45.   the form of a text file, which describes what is replaced by
  46.   the skin, and gives the name of the skin.
  47.  
  48.   Skin sprites:
  49.   -------------
  50.   A skin is basically a sprite replacement for the player avatar.
  51.   ALL the frames of the player sprite must be replaced : this
  52.   includes the normal run, attack, hurt sequences, as well as the
  53.   'normal' death, and the 'explode' death sequences.
  54.  
  55.   Skin face:
  56.   ----------
  57.   Though the status bar face is viewable only by the player who
  58.   uses the skin, it may be replaced in order to be consistent
  59.   with the player character appearance. As soon as we ran some
  60.   tests with a 'Leprechaun' skin, and saw the marine's head in
  61.   the status bar.. we added support for replacing the status bar
  62.   face. Like the sprites, _ALL_ the face graphics need to be
  63.   replaced, if some are not defined, the game will quit.
  64.  
  65.   Skin sounds:
  66.   ------------
  67.   To make it more fun, a skin can have a set of up to 10 sounds
  68.   replaced, these are called the 'skin sounds'. Skin sounds are
  69.   replacements of a set of the original Doom sounds, which are
  70.   given out only by the skin that defines them. All the sounds
  71.   need not be replaced.
  72.  
  73.  
  74. ------------------
  75. [2] IMPLEMENTATION
  76. ------------------
  77.  
  78. Now on to implementations:
  79.  
  80.  
  81.   S_SKIN resource format:
  82.   -----------------------
  83.  
  84.   The content of S_SKIN is just a simple ASCII text file.
  85.  
  86.   If you put more than one skin into a wad file, there are effectively
  87.   multiple resources of the same 'S_SKIN' name. If this is a problem
  88.   you can add any characters after the 'S_SKIN' letters, so that
  89.   your wad editor doesn't complain. Example: S_SKIN1, S_SKIN2, ...
  90.   Legacy will search only for the first 6 letters.
  91.  
  92.   Format of the text file:
  93.  
  94.    // comments start with '//'
  95.  
  96.    name = <skin name>        <- give the name of your skin max 16 chars
  97.                                 NO SPACES!
  98.  
  99.    sprite = XXXX             <- identify the sprites to use for this skin
  100.                                 4 characters, optional.
  101.  
  102.    face   = XXX              <- identify the status bar face graphics to
  103.                                 use for this skin. MUST be 3 characters
  104.  
  105.    dsouch   = dsXXXXXX       <- replace one of the 10 customisable sounds
  106.    dsplpain =                   with a new sound. The new sound name MUST
  107.    dspdiehi =                   start with letters 'DS'
  108.    dsoof    =
  109.    dsslop   =
  110.    dspunch  =
  111.    dsradio  =
  112.    dspldeth =
  113.    dsjump   =
  114.    dsouch   =
  115.  
  116.  
  117.  
  118. -----------
  119. [3] EXAMPLE
  120. -----------
  121.  
  122. An example is better than 1000 words, so here we go.
  123.  
  124. Here's a sample of a text file that you could have into the 'S_SKIN'
  125. resource:
  126.  
  127. ----------------------------------
  128.  
  129. // Terminator skin by xxx mail me yyy@myhouse.com
  130. name = terminator
  131. sprite = TERM
  132. face = TER
  133. dsouch =   dstmouch
  134. dsplpain=dstmpain
  135. dsslop   = dstmexpl
  136.  
  137. ----------------------------------
  138.  
  139. As you see each line looks like: <property> = <value>
  140.  
  141. Let's study each line one by one:
  142.  
  143. // Terminator skin by xxx mail me yyy@myhouse.com
  144.  
  145.     This is just a comment line. Comments start with '//'.
  146.     Use comments to put author information. The comments
  147.     are not displayed anywhere into the game, but they may
  148.     be useful if someone hacks your wad, he/she'll know
  149.     where it comes from and who did it.
  150.  
  151.  
  152. name = terminator
  153.  
  154.     This tells that the skin name is 'terminator'.
  155.  
  156.     The skin name is displayed in the multiplayer->setup menu.
  157.  
  158.     It is used by the 'skin' command, in the console. You would
  159.     type 'skin terminator' at the console to change the skin
  160.     manually, of course it's easier to use the multiplayer menu.
  161.  
  162.     The skin name must be UNIQUE : if there are two skins in
  163.     a wad with the same name, whatever different may be the
  164.     graphics, only the first skin will be used.
  165.  
  166.     The skin name is also displayed in the TEAMPLAY Rankings,
  167.     when using 'teamskins'. Since each team is identified by
  168.     a skin in 'teamskin' mode, the rankings would show like this:
  169.  
  170.                     107   LEPRECHAUNS TEAM
  171.                      98   TERMINATOR TEAM
  172.  
  173.     As you see, the name of the skin is used as the name of the
  174.     team.
  175.  
  176.     If you don't specify the name of the skin, it receives a
  177.     name like 'SKIN 1', 'SKIN 2', etc.. not fun.
  178.  
  179.     ATTENTION: the name can't have spaces in it... for example
  180.     a name like 'blues brothers' will make Legacy quit with
  181.     a message like "unknown 'brothers' keyword". We should fix
  182.     that later.
  183.  
  184.  
  185. sprite = TERM
  186.  
  187.     Tells the name of the sprite to use for the skin. Sprites in
  188.     Doom uses only 4 letters, the original player graphics sprite
  189.     is 'PLAY'. The line above tells Legacy to look for TERMA1
  190.     instead of PLAYA1, TERMA2A8 instead of PLAYA2A8 etc...
  191.  
  192.     It is not needed to rename the player sprites like this.
  193.     It is usually simpler to put all the sprites _JUST AFTER_
  194.     the S_SKIN resource. Example:
  195.  
  196.     S_SKIN
  197.     TERMA1
  198.     TERMA2A8
  199.     TERMA3A7
  200.     TERMA4A6
  201.  
  202.     etc...
  203.  
  204.     Note that if you put the sprites just after S_SKIN, the sprite
  205.     name doesn't matter, Legacy looks for the first sprite name,
  206.     and continue to collect all the frames with the same sprite
  207.     name, until the name has changed, or the end of the wadfile.
  208.  
  209.     You will want to rename the skin sprites only if your wad
  210.     editor requests that all resources have a _unique_ name.
  211.  
  212.     Since you can use any name for the sprites, even without
  213.     using the 'sprite = xxxx' statement, you will probably need
  214.     this only if you really can't get the sprites ordered just
  215.     after the S_SKIN resource.
  216.  
  217.     Note: _ALL_ the frames of the player sprites must be replaced.
  218.  
  219.  
  220. face = TER
  221.  
  222.     All the status bar face graphics resources in Doom wad have
  223.     the name start with 'STF' : STFST01, STFGOD0, STFDEAD, etc...
  224.  
  225.     This lines simply tells _3 LETTERS_ to use in place of 'STF'.
  226.  
  227.     So in this example Legacy will look for 'TERGOD0' instead of
  228.     'STFGOD0', 'TERST01' instead of 'STFST01', etc...
  229.  
  230.     Attention : the STPB0-STPB3 resources are no more used.
  231.  
  232.                 the STFB1,STFB2,STFB3 resources of the original
  233.                 Doom are no more used. Doom Legacy only uses
  234.                 STFB0, and remaps the green color to the color
  235.                 of the player, just like for the sprites.
  236.  
  237.     Note 1: contrary to the sprites renaming, you MUST use this
  238.             line in order to change the status bar face graphics.
  239.  
  240.     Note 2: remember you must replace _ALL_ the status bar face
  241.             graphics, that is: provide a replacement for all
  242.             the resources that start with 'STF'.
  243.  
  244.  
  245.  
  246. dsouch =   dstmouch
  247. dsplpain=dstmpain
  248. dsslop   = dstmexpl
  249.  
  250.     These lines tells new sounds to use for that skin in particular,
  251.     in place of the game's original sounds.
  252.  
  253.     Up to 10 sounds can be replaced, the sounds are related to the
  254.     player actions:
  255.  
  256.     DSOOF
  257.     DSNOWAY
  258.     DSPLPAIN
  259.     DSPLDETH
  260.     DSPDIEHI
  261.     DSSLOP
  262.     DSPUNCH
  263.     DSRADIO
  264.     DSJUMP     <- jump sound                      (Doom Legacy sound)
  265.     DSOUCH     <- hurt sound when hitting ceiling (Doom Legacy sound)
  266.  
  267.     For each sound to replace, use a line like:
  268.  
  269.       <original sound resource name> = <new sound resource name>
  270.  
  271.     Any of the 10 sounds can be replaced, or all.
  272.  
  273.     The sounds that are not replaced will sound just like the original.
  274.  
  275.     Note: the replacement sounds doesn't have to be new sounds, you can
  276.           use any sound from the game. For example, if you create an
  277.           imp skin, you could replace the player sounds with the imp
  278.           sounds.
  279.  
  280.  
  281. -------------------
  282. [4] TECHNICAL BLURB
  283. -------------------
  284.  
  285.  
  286.  [4-1] Skins and sprites in pwad
  287.  -------------------------------
  288.    If you have a wad with skins _AND_ other sprite replacements,
  289.    make sure you use S_START, S_END sprite section markers so
  290.    that the skin sprites are not replacing the default player
  291.    sprites, in case you use 'PLAY' for the skin sprites. If the
  292.    PLAYxxxx skin sprites are _outside_ of the sprite section
  293.    markers, they will not be mistaken as the default player
  294.    sprites.
  295.  
  296.  
  297.  [4-2] Same resource name on different pwads
  298.  -------------------------------------------
  299.    To make it clear : Legacy will add skins _WAD PER WAD_. Which
  300.    means it doesn't bother at all if there are resources with the
  301.    same name in different pwads.
  302.  
  303.    In fact, Legacy doesn't even bother if you put several markers
  304.    with the same name in a pwad (multiple 'S_SKIN' for example).
  305.  
  306.    We added support for 'S_SKINxx' where xx can be any character,
  307.    just because some wad utilities don't like multiple resources
  308.    of the same name.
  309.  
  310.    You could for example use the same sprite name for several
  311.    skins into _one_ pwad, since they are delimited by skin
  312.    markers (S_SKIN).
  313.  
  314.  
  315.  
  316. ---------
  317. [5] TOOLS
  318. ---------
  319.  
  320. That's it. Creating skins is very easy, provided you have the tools.
  321.  
  322. We recommend NWT 'New Wad Tools' version 1.3, by Denis Möller. This
  323. program allows to insert new resources, rename it, insert raw data
  324. into resources (which is how we insert text files into Doom wad
  325. resources).
  326.  
  327. Another common wad utility is 'WinTex' version 4.0, by Olivier Montanuy.
  328. This is similar to NWT, but it will run under Windows only.
  329.  
  330. If you have questions regarding the WAD tools in particular, please
  331. consult the Doom editing newsgroups, or ask questions on the Doom
  332. Legacy forum (http://www.newdoom.com/doomlegacy).
  333.  
  334. Have fun!
  335.