Créer des map overlays personalisés

YZG

16-02-2019 à 18:34:05
Après avoir trouvé des demi-instructions sur les forums de ProMods et m'être cassé la tête parce qu'il manquait des bouts importants, j'ai fini par comprendre comment ça marche et j'ai pu créer mes propres overlays pour ma map. Si des gens sont intéressés à apprendre, voici quelques instructions qui, j'espère, vous feront sauver quelques heures de casse-tête :) Toutes mes excuses de ne pas en avoir fait un joli vidéo comme la série faite par MyGodness ou même d'avoir inclus d'images; ce sera une modif pour le futur. J'ai essayé d'être aussi clair et concis que possible, si c'est pas le cas, je modifierai mon post en conséquence.

N'hésitez pas si vous avez des questions :)

++++++++++++++++++++++++++++++++++++++

Matériel
Vous aurez besoin des programmes suivants:
- Paint.net (Gimp et divers autres logiciels similaires font aussi le travail);
- Dxtbmpx
- SCS Studio
- Wordpad

Préparation préalable des dossiers
Dans les dossiers de votre mod, il vous faudra créer de nouveaux dossier en des endroits précis:
1. Dans le dossier material, créez, s'il n'y en a pas déjà un, un dossier nommé overlay.
2. Toujours dans le dossier material, créez, s'il n'y en a pas déjà un, un dossier nommé ui. Dans celui-ci, créez un dossier nommé map. Dedans, créez un dossier nommé road
3. Enfin, dans def, créez, s'il n'y en a pas déjà un, un dossier nommé world.

Préparation de l'image destinée à servir d'overlay
1. Il vous faut transformer votre image un peu avec paint.net. Les overlays doivent avoir une dimension de 128 pixels par 128 pixels et une résolution de 96 pixels/pouce. Il vous faudra donc ajuster la taille de votre image en conséquence. Par exemple, j'utilise les boucliers des numéros de route québécoises comme celui:ci: https://upload.wikimedia.org/wikipedia/commons/2/2f/Qc113.svg?uselang=fr. Je dois convertir ce rectangle en carré; pour cela, j'agrandis l'image de chaque côté en agrandissant ma zone de travail. Attention de ne pas juste redimensionner l'image, car votre image sera étirée! Quand j'ai un beau carré, je redimensionne l'image pour qu'elle ait 128 pixels par 128 pixels.

2. Assurez-vous que le fond de votre image est transparent.

3. Vous pouvez l'enregistrer quand ce sera fait. N'importe quel format de fichier fait l'affaire à ce point; perso, j'aime bien .png.

4. Ouvrez l'image dans Dxtbmpx. Ce programme sert ici uniquement à la réenregistrer, cette fois en format .dds. Paint.net peut enregistrer les images en .dds, mais il n'est pas possible de spécifier un encodage précis. Or, c'est super important de pouvoir le faire, d'où Dxtbmpx. Vous enregistrerez (File - Save As) votre image en format dds, en spécifiant, dans le menu déroulant, l'option DDS DXT5. C'est crucial, car autrement, je jeu plantera en essayant de l'afficher.

5. Joie et bonheur!

6. Eh oh, ne nous réjouissons pas trop vite, le plus dur reste à faire! :)

Il faut maintenant aller coller votre image en .dds dans les dossiers de tout à l'heure et créer des fichiers de définition. Collez-la donc dans le dossier material/overlay en lui donnant un nom qui suit la forme xx_y000, où xx représente un code de pays, y représente une lettre et 000 représente le numéro de la route. Dans le cas de l'image que je vous ai montré précédemment, elle est enregistré sous le nom qc_r113. J'utiliserai ce nom à titre d'exemple à partir de ce point. Je n'ai pas eu de succès en nommant mes images autrement, même en faisant tout le reste comme il faut, alors je me suis résolu à suivre cette convention... et ça marche.

7. Créez un fichier texte vide dans le même dossier. Nommez-le qc_r113.mat. Ouvrez ensuite ce fichier avec Wordpad et inscrivez :

material : "eut2.sign" {
    texture[0] : "/material/overlay/qc_r113.tobj"
    texture_name[0] : "texture_base"
    diffuse : { 1 , 1 , 1 }
    specular : { 0 , 0 , 0 }
    shininess : 4
    add_ambient : 0
}


Assurez-vous de remplacer le qc_r113.tobj de la 2e ligne par le nom de votre route! Vous pouvez sauvegarder le fichier et le fermer.

8. Vous aurez deviné que le fichier .mat fait référence à un fichier que vous n'avez pas encore créé: qc_r113.tobj. Créez un fichier texte vide, renommez-le qc_r113, assurez-vous de changer l'extension pour que ce soit .tobj.

9. Ouvrez SCS Studio. Vous aurez une bande horizontale dans le tiers supérieur de l'écran avec des fonctions. Cliquez sur TOBJ editor.

10. Une petite fenêtre pop up s'ouvrira. Cliquez sur Open TOBJ file et allez chercher fichier que vous venez tout juste de créer.

11. Dans la fenêtre pop up, vous avez un grand rectangle blanc, sous le titre Path in tobj file:. Inscrivez:

/material/overlay/qc_r113.dds

12. Cliquez sur Save tobj file as et sauvegardez-le sous le nom qc_r113.tobj.

13. Joie et bonh.... ah, non, encore des étapes??

14. Malheureusement, tout ce que l'on vient de faire n'est pas suffisant; il faut recommencer les étapes 6 à 12, mais cette fois, pour le dossier material/ui/map/road. En effet, il faut absolument que vos fichiers se retrouvent à la fois dans material/overlay et dans material/ui/map/road pour que ça fonctionne. De plus, même si c'est le même concept qu'aux étapes 6 à 12, on ne peut pas simplement faire un copier/coller du contenu do dossier material/overlay et en finir là, les fichiers doivent être édités un peu.

15. Copiez les fichiers qc_r113.dds, qc_r113.mat et qc_r113.tobj dans le dossier material/overlay et copiez-les dans le dossier material/ui/map/road. La première chose à changer est le nom de ces fichiers; en effet, il faut ajouter le préfixe road_ à tous les fichiers de ce dossier pour que cela fonctionne. Vous aurez donc à renommer vos trois fichiers en road_qc_r113.dds, road_qc_r113.mat et road_qc_r113.tobj.

16. Avec Wordpad, ouvrez le fichier road_qc_r113.mat. Effacez ce qui y est écrit et collez ceci:

material : "ui"
{
    texture : "road_qc_r113.tobj"
    texture_name : "texture"
}


Sauvegardez et fermez le fichier.

17. Avec SCS Studio, il faudra aller ouvrir le fichier tobj comme tout à l'heure. Cette fois, vous verrez que du texte s'affiche dans le rectangle blanc. Remplacez-le par:

/material/ui/map/road/road_qc_r113.dds

18. Cliquez sur Save Tobj file as et enregistrez-le, comme tout à l'heure.

19. Allez dans le dossier world que vous avez créé tout à l'heure. Dedans, créez un fichier texte vide et nommez-le overlay.BP.sii. À noter que BP, c'est le nom de ma map; dans votre cas, faudra remplacer BP par le nom de votre map.

20. Ouvrez avec Wordpad le fichier sii que vous venez de créer. Dedans, copiez le texte suivant:

SiiNunit
{
# For modders: Please do not modify this file if you want to add a new entry. Create in
# this directory a new file "<base_name>.<idofyourmod>.sii" where <base_name> is name of
# base file without the extension (e.g. "city" for "/def/city.sii") and <idofyourmod> is
# some string which is unlikely to conflict with other mod.

overlay_def : .overlay {
    

     road_names[]: "qc_r113"


}    

}


Puis, sauvegardez et fermez le fichier.

21. Bingo! Archivez les fichiers de votre mod dans un fichier .scs selon la méthode habituelle, puis allez dans l'éditeur d'ETS2. Vous pourrez y trouver l'overlay que vous venez de créer. Et voilà! Désormais, vous pouvez agrémenter vos maps de vos propres overlays et, du coup, les rendre d'autant plus réalistes :)
Concepteur de la map Belle Province, une recréation à l'échelle 1:4 du Québec pour ETS2.
16-02-2019 à 20:09:47
Super intéressant et utile, merci pour ce tuto qui me sera très utile. Pour l'instant, je n'ai fait que remplacer les images dds des overlays déjà existants mais cette solution n'est pas viable sur le long terme.

J'en profite pour te poser une question, saurait-tu comment ajouter des emplacements pour les panneaux publicitaires ? Car, de même, pour l'instant, je remplace les images dds existantes mais encore moins viable à long terme vu le peu d'images présentes de bases ... 

Par avance, merci !

Fondateur de la Communauté Francophone des Cartographes & Concepteur de Grand Utopia

YZG

16-02-2019 à 20:33:57
Non, désolé, pour l'instant je sais pas non plus.

Les panneaux de signalisation sont mon prochain gros défi.

Concepteur de la map Belle Province, une recréation à l'échelle 1:4 du Québec pour ETS2.