Traductions possibles :

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

fr:tutomakeobj3 [2010/07/23 14:31]
gauthier
fr:tutomakeobj3 [2015/02/18 11:05] (version actuelle)
Ligne 1: Ligne 1:
====== III.Les fichiers sources ====== ====== III.Les fichiers sources ======
- +<WRAP info>Dernières mises à jour : Simutrans 120.0.1</WRAP>
-<WRAP warning>Ce tutoriel est fait pour les dernières version de Simutrans ! Il peut ne pas être bon pour des versions antérieures. Dernières mises à jour : +
- +
- +
-    * Simutrans : 102.+
-    * Makeobj : 50 +
- +
- +
-</WRAP>+
===== 1.Comment ça marche ? ===== ===== 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 : 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 :
- +{{  fr:tuto:dat:fichiersource01.png  }}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.
-{{  :fr:fichiersource01.png  }}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 : par exemple :
- 
<WRAP box>paramètres de l'objet 1 <WRAP box>paramètres de l'objet 1
- 
- 
paramètres de l'objet 2</WRAP> paramètres de l'objet 2</WRAP>
- +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 24 bits. S'il 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.
-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. Mais Il faut aussi connaitre le fonctionnement des images sources.
- 
<WRAP important>Ce qui va suivre est adapté au pak128, pour les autres paks il faudra modifier les tailles.</WRAP> <WRAP important>Ce qui va suivre est adapté au pak128, pour les autres paks il faudra modifier les tailles.</WRAP>
- +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) :{{  fr:tuto:dat:fichiersource02.png  }}<WRAP info>Bien entendu on ne met pas de cadres rouges sur l'image-source, je l'ai fait ici pour vous montrer les carrés.</WRAP>
-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) :{{  :fr:fichiersource02.png  }}<WRAP info>Bien entendu on ne met pas de cadres rouges sur l'image-source, je l'ai fait ici pour vous montrer les carrés.</WRAP> +
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 : 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 :
- +{{  fr:tuto:dat:fichiersource03.png  }}<WRAP tip>Mieux vaut s'entraîner à repérer maintenant les carrés par leur coordonnées, les confusion sont fréquentes pour un débutant.</WRAP>
-{{  :fr:fichiersource03.png  }}<WRAP tip>Mieux vaut s'entraîner à repérer maintenant les carrés par leur coordonnées, les confusion sont fréquentes pour un débutant.</WRAP> +
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. 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 : Une image s'indique dans un .dat de la façon suivante :
- 
<WRAP box>id_interne_de_l'image=nom_de_l'image_sans_extension.ligne.colonne <WRAP box>id_interne_de_l'image=nom_de_l'image_sans_extension.ligne.colonne
- 
exemple : imageUp[3]=AMT.3.3 exemple : imageUp[3]=AMT.3.3
- +Ici l'image utilisée pour imageUp[3] est le carré de la 4ème ligne et de la 4ème colonne de AMT.png.</WRAP>
-l'image utilisé pour imageUp[3] est le carré de la 4ème ligne et de la 4ème colonne de AMT.png.</WRAP> +
<WRAP info>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…</WRAP> <WRAP info>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…</WRAP>
- 
<WRAP info>Dans les dats, tous les paramètres s'écrivent comme ceci : <WRAP info>Dans les dats, tous les paramètres s'écrivent comme ceci :
- 
<WRAP box>paramètre=valeur</WRAP> <WRAP box>paramètre=valeur</WRAP>
- 
tous les nombres sont des entiers. Le texte respecte les majuscules.</WRAP> tous les nombres sont des entiers. Le texte respecte les majuscules.</WRAP>
 +<WRAP tip>Pour écrire un commentaire dans un fichier dat, c'est à dire une ligne qui ne sera pas compilée par makeobj, il suffit de commencer cette ligne par #</WRAP>
===== 2.Offset ===== ===== 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. 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 : Voici comment on utilise l'offset :
- 
<WRAP box>id_image=nom_image.ligne.colonne,x,y</WRAP> <WRAP box>id_image=nom_image.ligne.colonne,x,y</WRAP>
- 
x est le nombre de pixels vers la droite, y le nombre de pixels vers le bas. 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. Dans l'exemple suivant, l'image est décalée de 16 pixels vers le haut.
- 
<WRAP box>cursor=SNFOSstationsmodern.1.7,0,-16</WRAP> <WRAP box>cursor=SNFOSstationsmodern.1.7,0,-16</WRAP>
- 
<WRAP important>Les icones et l'image [-] des voies ne supportent pas l'offset.</WRAP> <WRAP important>Les icones et l'image [-] des voies ne supportent pas l'offset.</WRAP>
-===== 3.Utiliser votre éditeur de texte =====+===== 3.Inclinaison des pentes =====
 +Depuis Simutrans 120, il existe deux hauteurs de pente. Certains paks utilisent des pentes pleines et des demi-pentes, d'autres paks utilisent des pentes pleines et des double pentes.
-==== 1.Windows ====+Le pak128 utilise des demi-pentes. Dans ce pak, la plupart des voies ne peuvent pas être construites sur des pentes fortes, c'est le cas des rails et des autoroutes par exemple.
 +<WRAP info>Dans le pak128, la hauteur d'une pente douce est de 16 pixels tandis que la hauteur d'une pente dure est de 32 pixels.</WRAP>
-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.+===== 4.Icones (boutons) =====
 +Les objets nécessitant des icones ont, sur leur trame graphique, quelque chose de cette forme:
-<WRAP tip>Ces outils sont accessibles via les raccourcis clavier ctrl+f et ctrl+h</WRAP>+{{  fr:tuto:dat:icon.png  }}
 +L'image d'une icone ne doit contenir que le petit carré de 16 pixels de coté situé en haut à gauche, tout le reste doit être supprimé avant la compilation de l'objet sans quoi il y aura des bugs d'affichage dans le jeu.
-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.+Les élements donnés autour de l'icone proprement dite sont des élements spécifiques au pak128 qui entrent dans la composition des icones de ce pak.
 +===== 5.Curseurs =====
-Enfin pour sauvegarder un fichier source pour simutrans, on remplace l'extension par défaut ”.txt” par l'extension ”.dat”.+Sur les trames graphiques des objets nécessitant un curseur, le tile servant à placer le curseur est surélevé de quelques pixels par rapport au bas du carré le contenant. Ceci est parfaitement volontaire et sert à compenser un décalage vers le bas du curseur dans le jeu.
 +===== 6.Exemples de fichiers source =====
-==== 2.Linux ====+Vous trouverez des exemples de fichiers source de tout type d'objet dans les sources des différents paks.
 +[[http://svn.code.sf.net/p/simutrans/code/pak128/|Sources du pak128]]
-Sous linux, de nombreux éditeurs de texte existent. Bien  souvent, ceux-ci sont en fonction de la distribution, voire même du  gestionnaire de bureau installé. En faire le  détail complet serait trop long, ainsi le mieux est de voir celui que  vous possédez et de regarder la documentation fournie avec celui-ci pour  en connaitre les différents raccourcis clavier.+===== 7.Utiliser votre éditeur de texte =====
 +==== 1.Windows ====
-<WRAP tip>Quelques exemples : Gedit, Kate, Leafpad…</WRAP>+Sous windows on utilise bloc-note, notepad++ ou tout autre éditeur de texte pur, c'est à dire sans traitement de texte. On n'utilise donc surtout pas wordpad, Word, Writer, etc... Bloc-note 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.
 +<WRAP tip>Ces outils sont accessibles via les raccourcis clavier ctrl+f et ctrl+h</WRAP>
-<WRAP warning>Je parle d'éditeur de texte, pas de logiciel de traitement de texte. OpenOffice Writer n'est pas du tout adapté à cette usage.</WRAP>+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”.
-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.//\\  //+==== 2.Linux ====
 +Sous linux, de nombreux éditeurs de texte existent. Bien  souvent, ceux-ci sont en fonction de la distribution, voire même du  gestionnaire de bureau installé. En faire le  détail complet serait trop long, ainsi le mieux est de voir celui que  vous possédez et de regarder la documentation fournie avec celui-ci pour  en connaitre les différents raccourcis clavier.
-<WRAP tip>Attention, si vous travaillez sur linux et windows, les caractères de retour à la ligne ne sont pas les mêmes sur les deux systèmes. Un fichier créé sur l'un peut s'afficher bizarrement sur l'autre//.// Il est donc conseillé de travailler sur un seul système si on ne  connait pas les commande de conversion.</WRAP>+<WRAP tip>Quelques exemples : Gedit, Kate, Leafpad…</WRAP>
-===== 4.Objets =====+<WRAP warning>Je parle d'éditeur de texte, pas de logiciel de traitement de texte. OpenOffice Writer n'est pas du tout adapté à cette usage.</WRAP>
 +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.//\\  //
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutovehicle|véhicules]] +<WRAP tip>Attention, si vous travaillez sur linux et windows, les caractères de retour à la ligne ne sont pas les mêmes sur les deux systèmes. Un fichier créé sur l'un peut s'afficher bizarrement sur l'autre//.// Il est donc conseillé de travailler sur un seul système si on ne  connait pas les commande de conversion.</WRAP>
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutocitycar|voitures]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutopedestrian|piétons]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutoway|voies]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutowayobject|objets pour voie]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutobridge|ponts]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutotunnel|tunnels]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutosignal|signalisations]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutostation|stations]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutostationextension|extensions de stations]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutodepot|dépôts]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutobuilding|bâtiments de ville, monuments, attractions touristiques, etc ...]] +
- +
- +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutoindustry|industries]] +
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutogood|biens]]+===== 8.Objets =====
 +[[fr:tutovehicle|véhicules]]
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutocrossing|croisements (passages à niveaux, etc ...)]]+[[fr:tutocitycar|voitures]]
 +[[fr:tutopedestrian|piétons]]
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutotree|arbres]]+[[fr:tutoway|voies]]
 +[[fr:tutowayobject|objets pour voie]]
-[[http://www.simutrans-france.fr.nf/doku.php?id=fr:tutosmoke2|fumées]]+[[fr:tutobridge|ponts]]
 +[[fr:tutotunnel|tunnels]]
-===== 5.Pages annexes =====+[[fr:tutosignal|signalisations]]
 +[[fr:tutostation|stations]]
-graphismes des bâtiments : [[:fr:tutobuilding2|Graphismes d'un bâtiment]]+[[fr:tutostationextension|extensions de stations]]
 +[[fr:tutodepot|dépôts]]
-waytype : [[:fr:tutowaytype|Types de voies possibles]]+[[fr:tutobuilding|bâtiments de ville, monuments, attractions touristiques, etc ...]]
 +[[fr:tutoindustry|industries]]
-engine_type : [[:fr:tutoenginetype|Energies des véhicules]]+[[fr:tutogood|biens]]
 +[[fr:tutocrossing|croisements (passages à niveaux, etc ...)]]
-freight / goods : [[:fr:tutogoods|Biens du pak128]]+[[fr:tutotree|arbres]]
 +[[fr:tutosmoke2|fumées]]
-smoke : [[:fr:tutosmoke|Fumées du pak128]]+===== 9.Pages annexes =====
 +graphismes des bâtiments : [[fr:tutobuilding2|Graphismes d'un bâtiment]]
-sound : [[:fr:tutosound|Sons du pak128]]+waytype : [[fr:tutowaytype|Types de voies possibles]]
 +engine_type : [[fr:tutoenginetype|Energies des véhicules]]
-system_type : [[:fr:tutosystemtype|Paramètres spéciaux possibles]]+freight / goods : [[fr:tutogoods|Biens du pak128]]
 +smoke : [[fr:tutosmoke|Fumées du pak128]]
-climates : [[:fr:tutoclimates|Les climats dans Simutrans]]+sound : [[fr:tutosound|Sons du pak128]]
 +system_type : [[fr:tutosystemtype|Paramètres spéciaux possibles]]
-<WRAP box>tuto suivant : [[:fr:tutomakeobj|Chapitre IV : compilation avec makeobj]].</WRAP>+climates : [[fr:tutoclimates|Les climats dans Simutrans]]
 +<WRAP box>tuto suivant :  [[fr:tutomakeobj|Chapitre IV : compilation avec makeobj]].</WRAP>