Traductions possibles :
  • English
  • Français (French)

Ceci est une ancienne révision du document !


III.Les fichiers sources

Cette page est en construction, vous y êtes arrivés par hasard, demi-tour à la page précédente ;)

1.Comment ça marche ?

Un objet pour Simutrans est composé (la plupart du temps) d'images pour l'affichage et de données pour les données techniques. Les données s'écrivent tout simplement dans un fichier texte simple (.txt) mais que l'on enregistre avec l'extension .dat. Pour se faire c'est très simple : au moment d'enregistrer votre fichier, remplacez l'extension .txt qui se met automatiquement par .dat. Par la suite pour rouvrir vos fichiers .dat il faudra configurer votre système pour qu'il ouvre ce type de fichiers avec votre éditeur de texte (bloc-notes sous windows). Voila un exemple sous windows :

A l'intérieur du texte on peut écrire les paramètres les uns à la suite des autres mais il est préférable pour plus de lisibilité de les mettre les uns en dessous des autres. On peut mettre plusieurs objets dans un .dat à condition de les séparer par des tirets.

par exemple :

paramètres de l'objet 1

paramètres de l'objet 2

Pour les images il y a d'autres contraintes selon le pak pour lequel vous créez. L'image doit être enregistrée au format .png 24 bits (photofiltre enregistre par défaut en 24 bits), makeobj ne lire que les .png et si le .png est en 32 bits (avec un filtre de transparence) alors vous aurez un bug graphique assez gênant dans le jeu. D'autre part les dimensions de vos images doivent être multiples de la taille du pak pour lequel vous créez. Si c'est du pak128 on aura par exemple des images de 1024*256 ou 768*512. Si vous faites du pak64 alors on aura des images de 128*64 ou 192*384, et ainsi de suite pour chaque pak. Si la taille n'est pas bonne makeobj plantera.

Mais Il faut aussi connaitre le fonctionnement des images sources.

Ce qui va suivre est adapté au pak128, pour les autres paks il faudra modifier les tailles.

L'image est découpée en carrés de 128*128 pixels (d'où l'obligation d'avoir des dimensions multiples de 128). Voici un exemple d'une partie d'image source (ici source de l'AMT) :

Bien entendu on ne met pas de cadres rouges sur l'image-source, je l'ai fait ici pour vous montrer les carrés.

Il faudra ensuite indiquer dans le .dat les carrés à utiliser. On utilise alors des coordonnées, la première pour les lignes et la seconde pour les colonnes. Voyez ici sur notre même image :

Mieux vaut s'entraîner à repérer maintenant les carrés par leur coordonnées, les confusion sont fréquentes pour un débutant.

Pour la suite les paramètres à indiquer dans un .dat et les images correspondantes diffèrent mais peuvent devenir très répétitifs si on crée souvent la même chose, pour la suite je fournirais donc des trames en images et en texte pour faire vos fichiers plus facilement, nous verrons cela objet par objet.

Une image s'indique dans un .dat de la façon suivante :

id_interne_de_l'image=nom_de_l'image_sans_extension.ligne.colonne

exemple : imageUp[3]=AMT.3.3

l'image utilisé pour imageUp[3] est le carré de la 4ème ligne et de la 4ème colonne de AMT.png.

Les trames graphiques fournies ici sont faites pour le pak128 standard, il peut y avoir besoin de certains décalages pour les autres pak128 et d'un changement de taille pour les autres paks. Ces trames graphiques sont faites pour être utilisées avec les trames de .dat fournies, soyez vigilents si vous modifiez la position des objets…
Dans les dats, tous les paramètres s'écrivent comme ceci :
paramètre=valeur

tous les nombres sont des entiers. Le texte respecte les majuscules.

2.Offset

L'offset permet de décaler l'image dans certains cas si besoin. Cette technique est à utiliser uniquement en cas de nécéssité, elle ne doit pas remplacer le décalage des graphismes directement sur une image.

Voici comment on utilise l'offset :

id_image=nom_image.ligne.colonne,x,y

x est le nombre de pixels vers la droite, y le nombre de pixels vers le bas.

Dans l'exemple suivant, l'image est décalée de 16 pixels vers le haut.

cursor=SNFOSstationsmodern.1.7,0,-16

3.Utiliser votre éditeur de texte

1.Windows

Sous windows on utilise bloc-note et pas un autre. Il est accessible dans le menu démarrer\programes\accessoires\bloc-notes. Les outils utiles de bloc-note sont la fonction rechercher et remplacer que vous trouvez dans le menu edition.

Ces outils sont accessibles via les raccourcis clavier ctrl+f et ctrl+h

Soyez vigilents en utilisant l'outil “remplacer” si vous utilisez le bouton “remplacer tout”, il se peut que des bribes de texte n'ayant pas à être remplacées le soient.

Enfin pour sauvegarder un fichier source pour simutrans, on remplace l'extension par défaut ”.txt” par l'extension ”.dat”.

2.Linux

Sous linux, de nombreux éditeurs de texte existent. Bien souvent, ceux-ci sont en fonction de la distribution, voir même du gestionnaire de bureau installé. En faire le détail complet serait bien exhaustif, ainsi le mieux est de voir celui que vous possédez et de regarder la documentation fourni avec celui-ci pour en connaitre les différents raccourcis clavier.

Quelque exemple : Gedit, Kate, Leafpad…
Je parle d'éditeur de texte, pas de logiciel de traitement de texte. OpenOffice Writter n'est pas du tout adapté à cette usage

Pour enregistrer un fichier source pour simutrans, la manipulation est la même que sous windows, il suffit de mettre l'extension ”.dat” au fichier.

Attention, si vous travaillez sur linux et windows, les caractères de retour à la ligne ne sont pas les même sur les 2 systèmes. Un fichier créer sur l'un peut s'afficher bizarrement sur l'autre. Il est donc conseiller de travailler sur un seul système si on ne connait pas les commande de conversion.

4.Objets

5.Pages annexes