Hello,
Un petit tutoriel pour ceux d'entre-vous qui veulent créer des textures animées et des boutons ( i.e. des "switches" ) pour des wads compatibles Boom.
Pour obtenir ces textures animées ( et ce, sans avoir à remplacer les textures originales ), il faut créer deux lumps, appelés
ANIMATED et
SWITCHES. La création de ces lumps se fait avec un logiciel appelé
SWANTBLS.exe.
Il y a des petites subtilités dans l'utilisation de ce logiciel ( notamment sous des systèmes d'exploitation modernes ), nous allons y revenir.
Commençons tout d'abord par télécharger ce qui est nécessaire !
1) Outils nécessairesVous aurez besoin de :
- Les
textures que vous voulez animer ( ou mettre en tant que boutons ), avec bien évidemment des noms de 8 caractères maximum pour les noms de fichier,
- L'exécutable
SWANTBLS.exe, qui existe en deux versions selon votre architecture :
- Version 32 bits : http://doomworld.com/idgames/?id=9463
- Version 64 bits : http://www.mediafire.com/download/ozfuon628b4ga4l/swantbls_64bits.zip
- Parfois ( notamment sous une architecture en 64 bits ), vous pourrez avoir besoin d'un fichier .dll appelé
msvcr100d.dll. Vous pouvez télécharger ce fichier ici : http://www.mediafire.com/download/5n0bvpexhe964ff/msvcr100d.zip
Il faudra placer le fichier .dll
dans le même dossier que SWANTBLS.exe.
2) Création du fichier source pour SWANTBLS.exeSWANTBLS.exe a besoin de lire un fichier source pour créer vos textures animées et vos boutons.
Il convertit ce fichier texte en nos deux lumps ANIMATED et SWITCHES.
La structure du fichier source est la suivante :
- Code:
-
# This file is input for SWANTBLS.EXE, it specifies the switchnames
# and animated textures and flats usable with BOOM. The output of
# SWANTBLS is two lumps, SWITCHES.LMP and ANIMATED.LMP that should
# be inserted in the PWAD as lumps.
#
#switches usable with each IWAD, 1=SW, 2=registered DOOM, 3=DOOM2
[SWITCHES]
#epi texture1 texture2
1 SW1BRCOM SW2BRCOM
...
- Code:
-
#animated flats, spd is number of frames between changes
[FLATS]
#spd last first
8 NUKAGE3 NUKAGE1
...
- Code:
-
#animated textures, spd is number of frames between changes
[TEXTURES]
#spd last first
8 BLODGR4 BLODGR1
...
Il y a trois "blocs" correspondant aux définitions de ce que vous voulez créer. Le bloc
[SWITCHES] correspond aux boutons, le bloc
[FLATS] correspond aux sols animés ( exemple : des liquides, de la lave etc. ) et le bloc
[TEXTURES] correspond aux textures murales animées ( cascades, lumières etc. ).
Le fichier source contient les définitions des textures animées et des boutons de Doom et Doom II. Il convient d'ajouter les définitions de vos textures à la suite de celles de Doom et Doom II.
Vous pouvez télécharger un fichier source "vierge" ( avec juste les définitions des textures animées et des boutons de Doom et Doom II ) ici : http://www.mediafire.com/download/61x6hnxkih798zb/DEFSWANI_exemple.zip
Voyons maintenant comment remplir les trois blocs de définitions. Nous allons faire un exemple complet avec de nouveaux boutons, des textures murales animées, et des sols animés. Bien entendu, il n'est pas nécessaire d'ajouter des choses dans les trois blocs, tout dépend de ce que vous voulez créer. Si vous n'avez que des textures murales, seul le bloc [TEXTURES] sera à compléter, et ainsi de suite.
Remplissage du bloc [SWITCHES]Imaginons la situation suivante : vous avez deux textures de bouton, une texture pour la position inactive ( appelée MYSW_1 pour notre exemple ) et une texture pour la position active ( appelée MYSW_2 ). Votre dossier ressemble à ça :
Ouvrons le fichier source ( que nous allons appeler DEFSWANI_exemple.txt ).
Nous avons ceci :
- Fichier source:
- Code:
-
#
# This file is input for SWANTBLS.EXE, it specifies the switchnames
# and animated textures and flats usable with BOOM. The output of
# SWANTBLS is two lumps, SWITCHES.LMP and ANIMATED.LMP that should
# be inserted in the PWAD as lumps.
#
#switches usable with each IWAD, 1=SW, 2=DOOM2, 3=registered/Ultimate DOOM
[SWITCHES]
#epi texture1 texture2
1 SW1BRCOM SW2BRCOM
1 SW1BRN1 SW2BRN1
1 SW1BRN2 SW2BRN2
1 SW1BRNGN SW2BRNGN
1 SW1BROWN SW2BROWN
1 SW1COMM SW2COMM
1 SW1COMP SW2COMP
1 SW1DIRT SW2DIRT
1 SW1EXIT SW2EXIT
1 SW1GRAY SW2GRAY
1 SW1GRAY1 SW2GRAY1
1 SW1METAL SW2METAL
1 SW1PIPE SW2PIPE
1 SW1SLAD SW2SLAD
1 SW1STARG SW2STARG
1 SW1STON1 SW2STON1
1 SW1STON2 SW2STON2
1 SW1STONE SW2STONE
1 SW1STRTN SW2STRTN
2 SW1BLUE SW2BLUE
2 SW1CMT SW2CMT
2 SW1GARG SW2GARG
2 SW1GSTON SW2GSTON
2 SW1HOT SW2HOT
2 SW1LION SW2LION
2 SW1SATYR SW2SATYR
2 SW1SKIN SW2SKIN
2 SW1VINE SW2VINE
2 SW1WOOD SW2WOOD
3 SW1PANEL SW2PANEL
3 SW1ROCK SW2ROCK
3 SW1MET2 SW2MET2
3 SW1WDMET SW2WDMET
3 SW1BRIK SW2BRIK
3 SW1MOD1 SW2MOD1
3 SW1ZIM SW2ZIM
3 SW1STON6 SW2STON6
3 SW1TEK SW2TEK
3 SW1MARB SW2MARB
3 SW1SKULL SW2SKULL
#animated flats, spd is number of frames between changes
[FLATS]
#spd last first
8 NUKAGE3 NUKAGE1
8 FWATER4 FWATER1
8 SWATER4 SWATER1
8 LAVA4 LAVA1
8 BLOOD3 BLOOD1
8 RROCK08 RROCK05
8 SLIME04 SLIME01
8 SLIME08 SLIME05
8 SLIME12 SLIME09
#animated textures, spd is number of frames between changes
[TEXTURES]
#spd last first
8 BLODGR4 BLODGR1
8 SLADRIP3 SLADRIP1
8 BLODRIP4 BLODRIP1
8 FIREWALL FIREWALA
8 GSTFONT3 GSTFONT1
8 FIRELAVA FIRELAV3
8 FIREMAG3 FIREMAG1
8 FIREBLU2 FIREBLU1
8 ROCKRED3 ROCKRED1
8 BFALL4 BFALL1
8 SFALL4 SFALL1
8 WFALL4 WFALL1
8 DBRAIN4 DBRAIN1
Nous allons nous placer à la fin du bloc [SWITCHES] ( autrement dit, avant la ligne qui commence par "#animated flats," ), et sauter une ligne pour insérer la définition de notre bouton.
Le fait de sauter une ligne n'est pas obligatoire, mais ajoute de la clarté.
Le format de la définition, comme indiqué en anglais dans le fichier, est le suivant :
- Code:
-
[Numéro correspondant à l'Iwad] [Texture inactive] [Texture active]
Les champs sont séparés par des tabulations ou par des espaces, et chaque définition tient sur une ligne.
En ce qui concerne le numéro correspondant à l'Iwad, je vous recommande de toujours mettre 3. Cela fonctionne bien avec les wads pour Doom
et Doom II.
Nous allons donc rajouter nos deux boutons, avec d'abord un 3 pour le numéro, puis une séparation ( espaces ou tabulation ) puis le nom de la texture inactive, puis des espaces, et enfin le nom de la texture active. Ca doit ressembler à ceci :
- Code:
-
[...]
3 SW1MARB SW2MARB
3 SW1SKULL SW2SKULL
3 MYSW_1 MYSW_2
#animated flats, spd is number of frames between changes
[FLATS]
[...]
/!\ N'ajoutez pas l'extension du fichier correspondant à la texture, mettez bien "MYSW_1" et pas "MYSW_1.bmp".
Voyons maintenant comment ajouter des sols animés.
Remplissage du bloc [FLATS]Le format de définition des sols animés est le suivant :
- Code:
-
[Nombre de frames entre deux changements de texture] [Dernière texture de l'animation] [Première texture de l'animation]
/!\ L'ordre est inversé, on spécifie d'abord le nom de la dernière texture, puis celui de la première.
8 est le nombre de frames standard, c'est celui que nous allons utiliser par défaut.
Imaginons que vous ayez trois textures de sol formant une animation de sang, comme ceci :
( Les noms des textures seraient ici MYBLO_1, MYBLO_2 et MYBLO_3 )
Nous allons nous mettre à la fin du bloc [FLATS], sauter une ligne et rajouter notre définition au bout, comme suit :
- Code:
-
[...]
8 SLIME04 SLIME01
8 SLIME08 SLIME05
8 SLIME12 SLIME09
8 MYBLO_3 MYBLO_1
#animated textures, spd is number of frames between changes
[TEXTURES]
Nous mettons donc bien MYBLO_3 en tant que texture de "fin" de l'animation.
Remplissage du bloc [TEXTURES]Le remplissage du bloc [TEXTURES] se fait de la même manière que pour le bloc [FLATS]. Le format de définition est le suivant :
- Code:
-
[Nombre de frames entre deux changements de texture] [Dernière texture de l'animation] [Première texture de l'animation]
Prenons l'exemple où nous avons quatre textures formant une animation de cascade :
Nous allons donc nous placer en bas de notre bloc [TEXTURES], et ajouter la définition de notre animation :
- Code:
-
[...]
8 WFALL4 WFALL1
8 DBRAIN4 DBRAIN1
8 CASC4 CASC1
Enregistrez votre fichier texte. Nous allons procéder à la génération des lumps ANIMATED et SWITCHES en utilisant SWANTBLS.exe.
( Cf. post suivant )