Libérer

Cet article décrit comment regrouper les missions The Dark Mod dans ce que l'on appelle des fichiers PK4 pour la publication.

## Mission PK4

Chaque mission TDM doit être regroupée dans un fichier PK4 (un PK4 est juste une archive ZIP renommée). Le PK4 contient tous les fichiers nécessaires à l'exécution de la mission, y compris les fichiers map, cm, aas, proc, textures, modèles, scripts, defs, xdata, etc. Le contenu du PK4 ressemble à la structure de dossiers que l'on trouve dans le fichier principal darkmod `/` répertoire : les textures vont dans textures/, les fichiers .def vont dans def/ et ainsi de suite.

Au minimum, une archive PK4 doit contenir la carte compilée et deux fichiers texte :

```
maps/outpost.map
 maps/outpost.proc
 maps/outpost.cm
 maps/outpost.aas32
 darkmod.txt
 carte de départ.txt

```

Facile à voir, l'exemple de liste de fichiers ci-dessus est basé sur une mission appelée `avant-poste` . Les deux fichiers texte sont nécessaires pour afficher votre mission dans la boîte de dialogue "Nouvelle mission" du menu principal de TDM. Voir leur description ci-dessous.

### Choisir un nom de fichier PK4

Il est important de trouver un **nom de fichier unique** pour votre fichier PK4, car le nom de fichier est utilisé par le gestionnaire de mission du jeu pour distinguer les packages : il est préférable de choisir un nom PK4 qui n'a pas été utilisé par d'autres missions publiées. De plus, n'utilisez pas de caractères étrangers pour le nom de fichier, restez fidèle aux caractères alphanumériques AZ, az et 0-9. Veuillez ne pas inclure les informations de version dans le nom de fichier, les futures mises à jour devraient avoir le même nom de fichier pour être correctement mises à jour via le programme d'installation du jeu.

### Internationalisation (I18N)

*Commentaire de Geep, 2021 : Lorsque la table de chaînes i18n a été introduite, c'était pour permettre des traductions rapides, avec la carte et les autres ressources inchangées. De nos jours, les traductions de meilleure qualité nécessitent généralement des modifications de la carte et/ou des ressources. Compte tenu de cela, l’avantage de la table de chaînes pour les traducteurs est modeste. Pour les mappeurs, cela a des coûts non négligeables, en termes d'effort, mais particulièrement de complexité et d'opacité lorsqu'on travaille en DR. Cette section pourrait donc être considérée comme facultative.*

Pour faciliter la traduction de votre mission dans différentes langues, vous devez la préparer à cela. Les étapes les plus importantes sont :

1. Utilisez **les modèles #str\_XXXXXX** au lieu de chaînes anglaises codées en dur pour les noms d'inventaire, les textes lisibles, etc.
2. Mettez le contenu des chaînes des **modèles #str\_XXXXX** dans **strings/fm/english.lang**
3. Séparez le contenu de votre FM des dictionnaires spécifiques aux missions des fans.

Plus de détails peuvent être trouvés dans l' article principal de l' I18N .

### darkmod.txt

Le fichier darkmod.txt décrit votre mission dans la boîte de dialogue de sélection de mission du TDM :

```
Titre : #str_20000
 Description : #str_20001
 Version 1
 Auteur : angua & greebo

```

Le texte de description ne doit pas être trop long, assurez-vous de vérifier la longueur des textes lors du test du package dans la boîte de dialogue d'installation de la mission. Depuis TDM 2.0, les numéros de version sont uniquement utilisés sous forme de nombres entiers.

À partir de la version TDM 1.01, il sera possible pour les missions de spécifier une "version requise", de sorte que les missions construites sur des morts-vivants (par exemple) puissent spécifier dans leur darkmod.txt qu'elles ont besoin de TDM 1.01 et versions ultérieures pour fonctionner. Si le programme d'installation de la mission rencontre une incompatibilité de version, une notification apparaît et TDM refusera de l'installer.

Vous pouvez spécifier une autre ligne après *Version :*

```
Titre : L'avant-poste
 Description : Pénétrez par effraction dans un avant-poste de constructeur pour récupérer un lingot d'or.
 Version 1
 Auteur : angua & greebo
 Version TDM requise : 1.01

```

La chaîne "Version TDM requise" est facultative, donc les missions existantes fonctionnent toujours bien sûr.

**Remarque :** Si votre mission utilise des modèles #str\_XXXXX, la version minimale requise devient la v1.07 !

VERSION : Le téléchargeur interne ne peut gérer que des nombres entiers. Donc, ne mettez pas à jour de la v 1 à la v 1.1, passez de 1 à 2.

### carte de départ.txt

Ce fichier contient le nom de la première mission à charger lorsque le joueur sélectionne « Démarrer la mission ». C'est intéressant pour les campagnes multi-cartes, mais pour une mission sur une seule carte, mettez simplement le nom de votre fichier de carte ici :

```
avant-poste

```

## Avant de créer le PK4

You should always perform a full recompile of your map. Delete the .proc, .cm and .aas\* files and run a dmap command from TDM console. Make sure the dates of these files are making sense and no old files are floating around in your maps/ folder.

## Creating your PK4

Un bon moyen de créer votre PK4 initial est de copier les fichiers de cartes compilés dans un dossier maps/temporaire et de les compresser. Vous pouvez utiliser n'importe quel programme de compression capable de gérer des fichiers ZIP, comme 7-zip, WinRAR, WinZip, peu importe ( *important*  : ne créez pas de fichiers en RAR, 7z ou tout autre format, seul le format ZIP sera reconnu). Le fichier zip peut avoir n'importe quel nom de fichier légal - il n'est pas nécessaire qu'il s'agisse du nom exact de la mission. Renommez ensuite son suffixe en .pk4. Il est préférable d'avoir un nom composé uniquement de lettres minuscules, sinon des problèmes peuvent survenir sous Linux.

Assurez-vous que le dossier maps/ se trouve à la racine de votre ZIP. Ajoutez ensuite le **darkmod.txt** et le **Startingmap.txt** à l'archive.

### Suppression d'unnec. des dossiers

Assurez-vous de ne pas insérer accidentellement des fichiers de sauvegarde tels que "mymap.bak", "mymap\_autosave.map" ou d'autres fichiers aléatoires dans le PK4. Ils augmentent simplement la taille du fichier, mais ne sont pas du tout nécessaires pour jouer à la mission.

### Le fichier \_i18n.pk4

À partir de **la version 1.07**  : créez un autre fichier PK4 et placez-y les fichiers de strings/fm, ainsi que tous les éléments spécifiques à la langue tels que les arrière-plans de l'interface graphique. Au minimum ce fichier doit contenir :

```
strings/fm/anglais.lang

```

Le nom de fichier DOIT être "yourfmname\_i18n.pk4", par exemple pour le FM avec un PK4 de outpost.pk4, ce fichier doit être nommé "outpost\_i18n.pk4".

Si vous n'avez pas ajouté de modèles personnalisés, de textures ou d'autres ressources (c'est-à-dire que vous utilisez simplement des ressources Vanilla TDM), vous avez terminé ici. Continuez avec #Test du PK4

## Ajout d'actifs personnalisés

Tous les modèles personnalisés, textures, fichiers def et xdata doivent être ajoutés au PK4. Assurez-vous de placer les fichiers dans exactement la même structure de dossiers que celle trouvée dans le dossier darkmod/main mod. Exemple : les fichiers .mtr doivent être placés dans le sous-dossier materials/. Si vous deviez extraire le fichier PK4 dans le dossier darkmod/, les fichiers se retrouveraient au bon endroit (remarque : ne faites pas cela, vous pourriez écraser les fichiers existants dans le dossier darkmod).

Dans le cas (espérons-le) rare où votre mission doit écraser le contenu TDM existant (par exemple modifier un fichier DEF présent dans le mod principal pour changer un paramètre), incluez simplement le fichier modifié dans votre PK4. Le fichier de votre PK4 "remplacera" ceux de la base du mod lorsque la mission sera installée (c'est à cela que servent les `paramètres fs_game_base` et `fs_game`  : le contenu "game" remplacera le contenu "game\_base").

Sachez que le remplacement de fichiers contenant des définitions (def, mtr, etc.) pourrait potentiellement rendre votre mission incompatible avec les futures versions de TDM, alors «  **essayez d'éviter cela autant que possible »** . Mais parfois c’est nécessaire.

Avertissement
Ne packagez pas **Darkmod.cfg** ou **autoexec.cfg** avec votre mission. Cela écraserait les propres fichiers de configuration des joueurs, ce qui pourrait entraîner une interruption de leur installation TDM !

## Tester le PK4

Une fois créé, ajoutez un nouveau dossier dans votre répertoire darkmod/fms/ et placez-y le PK4. Lancez ensuite TDM, votre carte devrait maintenant figurer dans la liste des missions disponibles. Assurez-vous d'utiliser un "bon" nom de dossier pour votre PK4, sans conflit avec ceux existants et sans espaces, ni caractères spéciaux ou étrangers (= non anglais). Les chiffres, c'est bien.

Installez la mission et voyez si elle démarre correctement.

## Image de démarrage (facultatif)

Lorsque vous parcourez la boîte de dialogue de sélection de mission, une petite capture d'écran en arrière-plan peut être affichée dans le menu. Ce fichier est nommé **install\_splash.tga** et peut éventuellement être fourni par le créateur de la mission. Créez simplement une petite image 256x256 (doit être au format TGA, les fichiers DDS ne fonctionneront pas) et placez-la dans votre PK4, à côté des fichiers Startingmap.txt et darkmod.txt. Le code de chargement trouvera cette image et l'extrairea juste à temps pour l'afficher dans le menu.

## Notes FM (facultatif)

Il est possible d'afficher quelques lignes sous forme de notes FM. Ajoutez simplement un fichier appelé **readme.txt** dans le PK4. Lorsque ce fichier est disponible, un bouton supplémentaire « Notes » sera affiché à côté du bouton « Installer la mission ». C'est un bon endroit pour mettre des remerciements et des crédits.

## Distribuer votre mission

Maintenant que vous disposez de votre fichier PK4 distribuable, d’autres peuvent jouer à votre mission de fan. Pour les étapes suivantes, consultez Votre mission - Du test bêta à la version et au-delà .