Bonjour,
Petit tutoriel pour rendre un peu plus accessible l'utilisation de l'outil ScummTR, vous pouvez le trouver ici, dans ce pack d'outils, ou dans le fil dédié d'Hibernatus.
Un énorme merci à Hibernatus pour sa création d'outils, sans lui les patchs de traductions de jeux scumm n'existeraient pas.
Ce fil a aussi pour but de partager des conseils de traducteurs et utilisateurs de ScummTr, et ce façon assez limpide pour que tout un chacun puisse se lancer dans la traduction perdue.
ScummTr permet d'extraire tous les textes d'un jeu utilisant le moteur "Scumm" (des jeux d'aventures LucasArt) dans un fichier au format .txt.
Une fois la traduction et les modifications apportées au document, il permet de les réinjecter aux fichiers du jeu (il patche ces derniers).
Il n'y a pas d'interface graphique pour ce logiciel : il faut l'utiliser en ligne de commande. J'espère avoir été suffisamment clair dans ce tuto pour que même un utilisateur complétement novice en informatique puisse le suivre.
A certains moments je prends en exemple son utilisation avec Monkey Island 2. Avec tout autre jeu il vous suffira de modifier son identifiant dans les commandes données ici.
Merci de garder le fil dans le sujet, intervenez si vous avez des questions, pour me corriger et améliorer le tutoriel.
Tutoriel pour ScummTR
1/ Organisation des fichiers et identifiant
1.a Dossier
Dans un dossier "game" (doit être nommé ainsi) copiez à l'intérieur tous les fichiers de votre jeu (ça permet de lancer le jeu dans ScummVM sans devoir sans arrêt déplacer des fichiers) :
- MONKEY2.000
- MONKEY2.001
etc
#Je prends pour exemple Monkey Island 2
Déplacez ce dossier "game" là où se trouve "scummtr.exe".
1.b Utilisation du terminal
Ouvrez une console de commande avec Cmd (perso je conseille d'installer Cmder), pour l'ouvrir vous n'avez qu'à taper "CMD" dans la recherche de votre barre windows.
Dans Cmd tapez :
cd "chemin du dossier qui contient scummtr et le dossier game"
Chez moi le dossier est sur mon bureau ça donne donc :
cd "C:\Users\Harry\Desktop\correction MI2talkie fr"
#les guillemets à cause de l'espace dans le nom du chemin
Exemple, capture d'écran :
1.c Trouver l'identifiant du jeu
Dans Cmd tapez :
scummtr -L
#regardez le jeu que l'on veut extraire dans la colonne "ID"
Exemple, capture d'écran :
2/ Extraire les textes du jeu
Dans Cmd tapez :
scummtr -a aov -owgpf IDduJeu .\game nomdufichier.txt
Donc dans notre cas :
scummtr -a aov -owgpf monkey2 .\game talkieMi2.txt
Exemple, capture d'écran :
-> Dans le dossier, à côté de scummtr.exe vous trouverez donc talkieMi2.txt
Vous n'avez plus qu'à l'ouvrir avec un éditeur de texte (Notepad++), voir plus bas "Conseils pour la modification du fichier de textes" avant de passer à la suite.
3/ Réinjecter les textes au jeu
Dans Cmd tapez :
scummtr -iwgpf IDduJeu .\game nomdufichier.txt
Donc dans notre cas :
scummtr -iwgpf monkey2 .\game talkieMi2.txt
Exemple, capture d'écran :
#Après chaque injection réussie, je vous conseille d'archiver une copie de votre fichier texte actuel. Après modification vous pouvez éventuellement faire une bourde (je pense par exemple à la fonction "rechercher/remplacer tous" utilisée sans précaution).
#Lors de traductions je garde toujours mes archives de scripts (par exemple : "talkieMi2-b1.txt" "talkieMi2-b2.txt" "talkieMi2-b3.txt" "talkieMi2-b4.txt" etc) au fur et à mesure de ma traduction.
Conseils pour la modification du fichier de textes
Lors d'une traduction ne surtout pas se prendre la tête avec les caractères spéciaux, tapez normalement (sauf si vous ajoutez des retours à la ligne), une fois que tout est fini utilisez la fonction "rechercher et remplacer" de Notepad++.
Si traduction depuis une version originale je conseille de rush la première traduction, vu que le texte est mis de façon non linéaire dans le fichier (sinon grosse perte de temps à chercher une suite logique).
Ensuite injectez et testez. Si erreur avec une ligne indiquée lors de l'injection, il vous suffit de vérifier la ligne suivante (si indiquée 135 regarder la ligne 136 également).
Jouez avec le fichier de textes ouvert à côté. Quand vous voyez une erreur faites pause et faites la correction directement dans le fichier.
Ne réinjectez pas le fichier à chaque correction, et surtout quittez ScummVM lors de l'injection sinon les fichiers de jeu seront corrompus !
Pour corriger simplement, utilisez la fonction rechercher dans le ficher de textes du jeu.
Encore une fois la fonction "Rechercher et remplacer tous" est très utile, mais à manier avec clairvoyance : il faut parfois se montrer ingénieux pour arriver à ses fins.
Voilà ce que ça donne un échantillon de texte dans le fameux fichier :
\255\010\147\013\255\010\102\005\255\010\010\000\255\010\000\000\007Et MOI on m'appelle "Le F\130ru du Merlu". \255\010\169\213\255\010\102\005\255\010\010\000\255\010\000\000\007Vos poissons sont si petits que vous avez besoin d'une \254\008 pince \133 \130piler pour les remettre \133 l'eau. \255\010\051\251\255\010\103\005\255\010\010\000\255\010\000\000\007Ah, oui?
Vos poissons sont si petits que vous avez besoin d'une \254\008 pince \133 \130piler pour les remettre \133 l'eau.
Si vous ajoutez des lignes au document (via entrée que l'on se comprenne), une fois les textes réinjectés au jeu, le moteur ne comprendras plus quoi faire des textes (et c'est le crash "badline sampling" lors de l'injection).
Vous pouvez allonger autant que vous voulez la longueur des lignes, mais n'ajoutez aucune ligne au document !
A l'écran, dans le cadre de dialogues vous verrez donc (en observant les codes caractères et fonctions énoncés dans "Code des caractères spéciaux et fonctions" qui suit cette partie)
Vos poissons sont si petits que vous avez besoin d'une \254\008 pince \133 \130piler pour les remettre \133 l'eau.
pince à épiler pour les remettre à l'eau.
Exemple, capture d'écran :
Codes des caractères spéciaux et fonctions
à \133 â \131 ç \135 é \130 è \138 ê \136 ï \139 î \140 ô \147 ù \151 û \150 © \015 ™ \015 ... ^ retour à la ligne à l'écran \255\001 segmente la phrase (grosso modo le print apparait en deux parties en gardant la première à l'écran quand la seconde partie apparaît) \255\002 remplace la ligne par ce qui suit \255\003 Empêche le texte de disparaitre avant un prochain print \255\002 retour à la ligne dans les choix de dialogues \254\008 guillemets `
Commentaire