♣_______ Page mise à jour le 1er janvier 2024 vers 08h20 TUC |
Le fichier itr.tut | Retour au SOMMAIRE |
Ce fichier contient une suite d'instructions permettant d'afficher des messages, jouer des fichiers .wav, changer de vue, etc. pendant le déroulement d'une activité ITR.
On trouvera ci-dessous
les principales particularités de ce fichier ;
la liste des instructions testées (classées par catégories) ;
une présentation plus détaillée de chaque instruction (classement alphabétique).
Pour éviter l'impression de traverser à l'aveuglette la liste des particularités, commençons par un extrait commenté :
# ZEEWAARTS <07:00:00> | ligne de commentaire (ignorée lors de l'exécution) |
LOAD_SMS Messages_Z.sms | lit le fichier SMS contenant la liste des fichiers .wav à jouer |
TEXT " départ imminent. bonne chance !" 10 | texte à afficher pendant 10 secondes |
WAIT SECS 5 | attend 5 secondes |
PLAY_WAVE 1 | joue le fichier .wav placé en Discrete_Trigger 1 |
WAIT SECS 15 | |
PLAY_METHOD "show_train_operations" | ouvre la fenêtre [F9] (opérations ferroviaires) |
TEXT " <!> Fixez la caméra de recul sur le wagon 0-3." 10 | |
PLAY_METHOD "set_headlights" 0 | met les feux à l'état [ARRÊT] |
WAIT SECS 40 | |
PLAY_METHOD "hide_train_operations" | ferme la fenêtre [F9] |
SET_CAMERA "camera_passengers" | passe en caméra passager (vue 5) |
WAIT VARIABLE "variable_speed" 1 0.5 -1 | attend que la rame soit presque arrêtée |
TEXT " arrêt au poste de contrôle." -1 | texte à afficher sans limite de temps |
si le fichier contient une erreur, celle-ci est indiquée au lancement par un message détaillé ; on peut alors continuer l'activité (sans l'exécution du fichier Itr.tut, bien sûr) ; toutefois, il peut aussi arriver qu'un fichier corrompu empêche le lancement de toute activité ITR.
Le système s'apparente donc aux événements-temps d'une activité jouable mais avec une différence importante : pour les événements-temps, l'indication horaire donnée (et utilisée par MSTS) est le nombre de secondes depuis le début de l'activité ; dans le fichier Itr.tut, la lecture est purement séquentielle et l'on aura (si l'activité commence à 7 h)
TEXT " départ imminent." 10 | affiché de 07:00:00 à 07:00:10 |
WAIT SECS 5 | attend de 07:00:00 à 07:00:05 |
PLAY_WAVE 1 | joué à 07:00:05 |
WAIT SECS 15 | attend de 07:00:05 à 07:00:20 |
PLAY_METHOD "show_train_operations" | exécuté à 07:00:20 |
La simple lecture de l'horaire utilisé dans un tel fichier n'est donc pas immédiate, et on peut avoir besoin d'un utilitaire pour passer d'une chronologie à l'autre.
WAIT SECS | attendre n secondes |
WAIT VARIABLE | attendre que telle variable atteigne telle valeur |
WAIT CAMERA | attendre que l'acolyte ait choisi telle vue |
WAIT CONTROL_SETTING | attendre que l'acolyte ait utilisé telle commande |
TEXT | afficher un texte (pendant un temps fixé ou indéfini) |
LOAD_SMS | fixer le fichier SMS contenant la liste des fichiers utilisés |
PLAY_WAVE | jouer un fichier .wav |
SET_CAMERA | fixer la vue (cabine, passager, etc.) |
PLAY_METHOD "show|hide" | ouvrir ou fermer une fenêtre (horaire, aiguilles, rame, etc.) |
HIGHLIGHT_DISPLAY | encadrer une commande |
PLAY_METHOD "set" | gérer les feux, les avertisseurs, le pantograhe, etc. exécuter diverses commandes moteur ou spécifiques aux locomotives à vapeur |
DISABLE | désactiver une ou toutes les touches |
ENABLE | réactiver une touche |
# | ligne de texte ignorée à l'exécution |
Légende | INSTRUCTION et élément fixe (par exemple les guillemets) | |
paramètre libre | §§ - texte | |
% - valeur numérique | ||
paramètre à choisir dans une liste | ||
paramètre incertain | ||
explications |
comme d'habitude, | [ ] | encadre un élément facultatif |
| | sépare les éléments d'une liste dont un doit être retenu. |
La ligne est ignorée à l'exécution ; il semble que l'on puisse aussi placer # à l'intérieur d'une ligne pour transformer la fin de la ligne en commentaire.
Désactive une touche (ou toutes les touches avec All) ; une touche de commande désactivée n'aura plus d'effet si l'acolyte l'utilise.
Dans la plus pure tradition Microsoft®, le fichier Itr.tut d'origine commence par DISABLE All puis consacre plus de trente lignes à réactiver chacune des touches dont l'acolyte aura quand même besoin.
On ne trouvera ci-dessous que les mots-clés permettant d'empêcher l'utilisation des vues extérieures :
Camera_FrontTracking | vue [2] |
Camera_RearTracking | vue [3] |
Camera_Trainspotter | vue [4] |
CameraCoupling | vue [6] |
CameraYardMaster | vue [7] |
CameraHeadOut | vue [↑] |
L'annexe Ⓐ de la dernière page [⇒] contient une liste complète des paramètres possibles.
Réactive une touche (ou toutes) ; cf. l'instruction précédente.
Si le chiffre est 1, trace un cadre autour de l'élément indiqué (ici, le frein de train ou la pendule) ;
si le chiffre est 0, le cadre est effacé.
L'utilité de cette instruction paraît limitée, en dehors des didacticiels maison (voir dans l'annexe Ⓒ de la dernière page [⇒] la présentation de ce type particulier d'activités).
Instruction à placer au début du fichier Itr.tut pour indiquer quel fichier .sms contient la liste des fichiers .wav à utiliser (inutile si le fichier Itr.tut ne contient aucune instruction PLAY_WAVE).
Pour plus de précisions sur ce fichier, se reporter à l'annexe Ⓑ de la dernière page [⇒].
Cette instruction, qui permet de donner divers ordres à la rame, présente de nombreuses variantes ; sa syntaxe dépend notamment du premier paramètre ; nous regrouperons donc ses emplois selon la nature de ce premier paramètre :
Ouvre ou ferme une fenêtre du tableau de bord ; les principales possibilités sont
"show_track_profile" | ouvre la fenêtre [F4] |
"show_points_indicator" | ouvre la fenêtre [F8] |
"show_train_operations" | ouvre la fenêtre [F9] |
"show_timetable" | ouvre la fenêtre [F10] |
"show_note_book" | ouvre la fenêtre [F11] |
NB1- "hide_note_book" semble sans effet ; il faut refermer la fenêtre en appuyant sur [F11] ; NB2- pour disposer d'une fenêtre dès le lancement de l'activité, il faut en programmer l'ouverture au début du fichier ; NB3- l'acolyte peut également modifier l'état des fenêtres, si les touches [Fx] correspondantes n'ont pas été désactivées ; NB4- il existe d'autres paramètres possibles, comme "show_next_signal_display", mais leur effet n'est pas évident. |
Modifie une commande :
"set_headlights" | 0 1 2 | met les feux à l'état [ARRÊT] [RÉDUIRE] [COMPLET] |
On notera que les états 0,1 et 2 sont codés respectivement 1, 2 et 3 dans les fichiers .wag ou .eng .
"set_horn_or_whistle_on" | met l'averisseur sonore en marche |
"set_horn_or_whistle_off" | arrête l'averisseur sonore |
"set_bell_on" | met la cloche en marche |
"set_bell_off" | arrête la cloche |
Il existe d'autres paramètres correspondant à des commandes diverses :
"set_pantograph_up","set_pantograph_down","set_direction" 1
mais ils ne semblent pas influer sur le comportement de la rame.
De plus, il existe toute une série de commandes propres aux locomotives à vapeur, qui n'ont pas été testées ; il n'est donc pas impossible que certaines d'entre elles aient un effet sur la marche de la locomotive.
Joue le fichier dont le nom correspond, dans le fichier chargé par LOAD_SMS, au Discrete_Trigger ( % . Voir plus de détails dans l'annexe Ⓑ de la dernière page [⇒].
Cette instruction comble une lacune des événements dans les activités jouables qui peuvent afficher un message, mais pas jouer un fichier-son.
Fixe la vue utilisée :
"camera_cabview" | vue [1] (cabine) |
"camera_front_tracking" | vue [2] (extérieur avant) |
"camera_rear_tracking" | vue [3] (extérieur arrière) |
"camera_trainspotter" | vue [4] (poursuite) |
"camera_passenger" | vue [5] (passager) |
"camera_coupling" | vue [6] (attelage) |
"camera_yard_master" | vue [7] (environnement) |
"camera_headout" | vue [↑] (tête dehors) |
Cette instruction affiche le texte dans un bandeau noir en haut de l'écran ; ce texte (en police à espacement fixe) peut s'étendre sur deux lignes d'environ 70 caractères chacune ; les caractères de contrôle ne sont pas reconnus.
Le nombre qui suit le texte indique pendant combien de secondes le bandeau doit rester affiché ; comme on a pu le voir précédemment, ce temps n'intervient pas dans la chronologie ; si l'on met cette valeur à -1, le texte reste affiché jusqu'à l'instruction TEXT suivante.
Ici encore, on peut apprécier un système qui n'occupe pas les trois quarts de l'écran et, surtout, ne gèle pas image et sons jusqu'à ce qu'on ait appuyé sur [Échap].
Attend que l'acolyte ait choisi la vue du premier paramètre (même liste que pour SET_CAMERA) ou bien passe à la suite au bout de % secondes.
Attend que l'acolyte ait manœuvré la commande indiquée dans le premier paramètre. Quelques valeurs possibles :
"qualify_direction" | levier de direction |
"qualify_throttle" | accélérateur |
"qualify_train_brake" | frein de train |
"qualify_pantograph" | pantographe |
"qualify_bell" | avertisseurs sonores |
"qualify_horn_or_whistle" |
%1 %2 | apparemment, valeur d'origine et valeur finale ; seul horn_or_whistle a été testé ; le résultat est celui qu'on peut attendre avec 1 0 ou 1 1, mais l'instruction semble ignorée avec 0 1 et 0 0 |
%3 | passe à la suite au bout de %3 secondes si la condition précédente n'est pas remplie ; -1 attend indéfiniment que la condition précédente soit remplie. |
%4 | effet inconnu |
Laisse passer % secondes avant de permettre l'exécution de l'instruction qui suit ; la chronologie s'établit d'une instruction WAIT à la suivante, sans tenir compte du temps pris par l'exécution des autres instructions (texte affiché, fichier .wav, etc.).
Tout comme l'horaire des rames de trafic, la chronologie des WAIT SEC est immuable ; si leur suite fait klaxonner à 7 h 9 mn 45 s, on entendra le klaxon à 7 h 9 mn 45 s à chaque fois qu'on exécutera l'activité ; mais si ce coup de klaxon est censé répondre à un panneau [Klaxonner], il se peut que la rame tantôt soit encore nettement en amont du panneau, tantôt l'ait dépassé depuis un certain temps. D'où l'intérêt de l'instruction suivante pour réharmoniser les chronologies.
Attend que la variable indiquée par le premier paramètre ait atteint la valeur %1.
Les essais n'ont porté que sur "variable_speed" (réagissant à la vitesse), avec les observations suivantes :
On peut ainsi remplacer un événement-lieu avec Arrêt obligatoire par WAIT VARIABLE "variable_speed" 1 0.5 -1 .
Comme on peut le voir, le fichier Itr.tut offre un ensemble de commandes assez riche et varié pour permettre la réalisation de projets assez élaborés.
Ici s'achève cette présentation des Introductory Train Rides . Puisse-t-elle contribuer, même très modestement, à la découverte de ce vieux MSTS. Que l'on en fasse une bande-annonce de sa ligne, un simulateur de simulateur pour une activité difficile ou une vidéo-comme-sur-YouTube (mais qui ne sera jamais deux fois de suite exactement la même, la fantaisie du programme et RandomSelection en sont la garantie), ces Voyages de présentation valent bien un détour.