|
[TUTO] Traduire un jeu Wii de A à Z P1/3- ForumTopic: [TUTO] Traduire un jeu Wii de A à Z P1/3par SPLN le 28/08/12 à 18:39:28 (il y a 12 ans 12 semaines 3 jours 20 heures 28 minutes) 28 réponses, vu 8393 foisTutoriel en construction / Avis apréciés.Maintenant le tutoriel est disponible en PDF et DOCX si vous désirez le télécharger pour le lire hors-ligne. Pensez à télécharger les outils requis au préalable si vous souhaitez le faire sans Internet plus tard. PrérequisEn général: - ISO à traduire x2 (l'original, et celui à patcher) - Wiiscrubber 1.4 ( et/ou Wiiscrubber 1.3 MOD ) - Outils de décompression Wii - Éditeur Hexadécimal (MadEdit est fortement conseillé!) - JWPce (Pour traduire du JAP) - Pack d'exemple (textes) Pour les images: - BrawlBox ET/OU - SZS Modifier ET/OU - CTools ( SZS Tool / TPL Editor ) - Logiciel de retouche d'images (Ex: Photoshop, Gimp) Pour l'audio: - BrawlBox - BRSAR Patcher by Hamradio - BRSTM Converter - BRSTM Maker (SP) - Logiciel de retouche audio (Ex: Audacity) Pour la vidéo: - SUPER (c) - THP GUI - Logiciel de retouche vidéo (Ex: Adobe Premiere Pro, Sony Vegas, Windows Movie Maker) IntroductionTout d'abords il faut savoir que traduire un jeu n'ai pas chose aisée. De plus la façon de traduire un jeu n'est pas forcément la même d'un jeu à l'autre. Que ce soit à cause de l'encodage du texte, de fichiers compressés/cryptés ou que tout le texte se situe dans le main.dol, dans une image ou ailleurs. Cependant la méthode est relativement la même pour chaque jeu : 1 - Trouver les données à traduire 2 - (Les extraire, si nécessaire) puis les modifier 3 - Les réinjecter (et prier pour que ça marche) Comme les façons de traduire peuvent différer d'un jeu à l'autre. Nous allons procéder en différentes étapes : 0 - B.A.-BA 1 - La modification des textes 2 - La modification des images/textures 3 - La traduction et ses outils 4 - La modification de fichiers audios 5 - La modification de fichiers vidéos 0 - B.A.-BALà ce sera la base de la base et pourra éventuellement être utile pour traduire autre chose que des jeux Wii si vous avez les outils nécessaires. a) Trouver des données à traduirePour commencer le mieux est de faire du "Reverse Engineering". En gros penser à la place des développeurs. Si j'avais à mettre des images/textes quelques part, je les mettrais où? - Là c'est pareil, donc il suffit de prendre WiiScrubber et de parcourir l'ISO à la recherche de fichiers textes/images/audio. (Prochainement ici) - Puis de chercher des mots-clés (en général en anglais) dans le nom des fichiers et dossier du genre: Spoiler : : En général les fichiers/dossiers auront des noms relatifs à leurs fonctions dans le jeu comme cité plus-haut. Cependant il arrive aussi que les développeurs soit plus malin et qu'ils préfèrent les nommer sous forme de nombre comme XXXX.brres (XXXX une suite de nombre donc on ne peut rien en déduire). Ce qui ne nous arrange pas, sauf s'il on connait la nature du fichier et que l'on puisse l'explorer. (Ex: fichier image/audio/texte) - Une fois ces données trouvées, référez-vous aux méthodes pour les extraire, les modifier puis les réinjecter. (voir plus bas) NOTE: Vous pouvez vous aider de l'émulateur Dolphin pour savoir si les textes affichés sont des textes contenus dans un fichier ou alors des textures. Il suffit pour cela d'autoriser le "Dump des textures" dans les paramètres de Dolphin. Si une image contenant le texte affiché est présente dans le répertoire BINGO c'est une image. b) Extraire/Modifier/RéinjecterPour extraire un fichier d'un ISO Wii : il faut ouvrir WiiScrubber, charger son ISO, dérouler la partition DATA. Ensuite de faire clic droit sur un fichier puis "Extract" (NOTE: le mod v1.3 permet d'extraire des dossiers). Dès l'extraction terminée vous pourrez modifier le fichier extrait. Vous pouvez également extraire tout l'ISO, ce qui peut-être plus pratique lorsque vous avez des modifications à faire. S'il s'agit : - d'un fichier contenant du texte, utiliser un éditeur hexadécimal. (se référer au "I - La modification des textes") - d'un fichier contenant des images/textures, extraire/convertir le fichier en un fichier(s) image compatible à l'aide des outils ci-dessus et le modifier avec un logiciel de retouche d'images. Une fois l'image modifiée, la reconvertir au format d'origine ou la réinjecter s'il s'agit d'un fichier présent dans une archive (contenant des images/textures comme les *.brsar, par exemple) avec les même outils. (se référer au "II - La modification des images/textures") - d'un fichier audio (à compléter) - d'un fichier vidéo (à compléter) Puis réinjecter les fichiers modifiés dans l'ISO à l'aide de Wiiscrubber : - Sélectionner le fichier à remplacer puis : "Clic droit -> Replace" S'il s'agit : - S'il vous manque de la place : Supprimer la partition UPDATE dédiés au mise à jour de la Wii puis faire "Clic Droit -> Resize partition" sur la partition DATA et choisir la taille maximale. Si ça ne fonctionne toujours pas vérifier que votre fichier modifié ne dépasse pas trop la taille du fichier original sinon ça peut ne pas marcher. NOTE: Il est conseillé de travailler sur un ISO Wii NON-trimé NI compressé sinon vous serez à coup sûr en manque de place. c) Compression/EncryptionAlors il existe différents moyens pour compresser/crypter un fichier. En général dans le pack d'outils de décompression vous trouverez votre bonheur. Mais il est possible que certains fichiers soit encryptés/compressés dans un format inconnu par les outils cités plus haut. Si tel est le cas, chercher des informations relatives à l'extension du fichier (Ex: ".mrg" s'il s'appelle "0001.mrg") et au jeu Wii en question (sur des sites comme gbatemp par exemple). Si votre recherche n'a pas porté ces fruits... Je n'ai qu'un seul outil (QuickBMS). Je ne vous apprendrais pas à vous servir de ce programme, de toute façon les instructions sont sur le site web. Il permet de tester tous les algorithmes des formats de compression connus. Il existe même des scripts sur cette page pour des extensions liés à certains jeux. I - La modification des textesa) Encodage du texteEn ce qui concerne les textes, en fonction des langues l'encodage peut changer d'où le fait que j'ai conseillé ces deux logiciels : JWPce & MadEdit. D'une part MadEdit car il possède un mode Hexadécimal (Menu: View -> Hex Mode ou Alt+3) et que l'on peut régler l'encodage du texte (Menu: View -> Encoding). C'est particulièrement utile lorsque l'on doit traduire du texte d'une langue orientale comme le Japonais, le Chinois, le Coréen... Il affichera les caractères hexadécimaux à gauche et le caractère correspondant à l'encodage sélectionné à droite. On peut même télécharger des dictionnaires, notamment des dico jap-fr. Puis JWPce qui permet de "taper" des caractères tel que des Hiragana, Katakana, Kanji en accédant à la table des caractères (CTRL+T - Menu: Kanji -> JIS Table ). Très utile lorsque l'on doit traduire une image en japonais. On peut aussi modifier dans le menu : "Utilies -> Option -> File/Clipboard". Vous pourrez alors choisir l'encodage d'import/export d'un fichier et du presse papier. Exemple de ma configuration JWPce (pour traduire la JAP) : Spoiler : : b) Modifier les textesUne fois le texte à modifier trouvé et le bon encodage sélectionné avec MadEdit il ne vous reste plus qu'à le traduire soit à la volée via l’éditeur hexadécimal ou via des patchs grâce à des logiciels divers. Personnellement je ne m'attarderais pas non plus sur les moyens de patcher un fichier (certains éditeur hexa le font). D'habitude je traduis à la volée c'est à dire que je remplace (ET PAS SUPPRIMER la taille du fichier texte ne doit PAS BOUGER) chaque caractère par ce qui constitueront ma traduction à l'aide du clavier. NOTE: Il est impératif de se référer à la partie "c) Limites". Exemples: Ex1 - S'il y a écrit en anglais "Spear" je le traduit par => "Lance" Je ne dois pas supprimer des caractères JUSTE les remplacer (par du vide s'il faut, voir "c) Limites") Ex2 - "レース" (en Japonais) => "Course" Si le texte ne s'affiche pas (copier-coller) ce qui est entre guillemet dans le champs HTML de ce site. Vous pouvez aussi vous entrainez à le taper sur JWPce :vP NOTE: Un caractère Japonais est codé sur 2 octets (donc 2 caractères hexadécimaux sur lesquelles on peut écrire. C'est pour ça qu'il est important de se renseigner sur l'encodage du texte) tandis que les caractères ASCII standard sont codés sur 1 octet (soit l'alphabet occidental, caractères spéciaux exclu). D'où le fait que j'ai le droit d'écrire "Course" qui est 2 fois plus grand car: Donc à gauche on a 3*2 = 6 ; Et à droite 6*1 : 6=6 donc on a rien dépassé, tout est en ordre. Néanmoins ceci est valable en Shift-JIS mais pas forcement dans les autres encodages. Ex3 - Lancer MadEdit en mode hexadécimal. Dans la colonne de gauche (soit celle hexadécimal) créer un nouveau fichier et entrer: Code : 83 8C 81 5B 83 58 Puis trouver l'encodage =vP Solution: Spoiler : : c) LimitesLorsque vous traduisez du texte vous devez garder 2 choses à l'esprit: - Ne pas supprimer d'octet (parce que ça décalerait tout les textes et fouterais le bord*l) - Ne pas dépasser le nombre de caractère (en hexadécimal) du texte original Ces 2 points sont très importants. Car en général le texte est stocké dans une sorte de tableau. Dans ce tableau sont stocké des pointeurs qui mémorisent les coordonnées des différents textes. Et donc s'il on supprime un octet les coordonnées dans les pointeurs n'auront pas changé mais celle des textes oui. Les jeux (en général) fonctionne de la façon suivante : Il demande d'afficher du texte => il regarde le pointeur => il copie tout ce qu'il y a du pointeur au caractère de séparation ( qui est 00 en hexadécimal, cf: exemple ). Et donc si le texte est décalé les caractères de séparation aussi. Donc ne jamais supprimer d'octet! Mais en sachant cela on peut utiliser les caractères de séparation pour raccourcir du texte et donc éviter de mettre des espaces quand on a des caractères en trop. Exemple: Même principe que l'exemple précédent: Lancer MadEdit en mode hexadécimal. Dans la colonne de gauche (soit celle hexadécimal) créer un nouveau fichier et entrer : Code : 74 78 74 31 00 74 65 78 74 65 32 00 4C 4F 4C Là l'encodage ne devrait pas poser de problème =vP. Dans ce fichier on distingue 3 textes "txt1";"texte2";"LOL" NOTE: Lorsque je devrais parler d'un caractère hexadécimal je le noterais $XX. Exemple: Le caractère de séparation $00, le caractère hexadécimal "AD" => $AD Bon je vais vous montrer ce qu'il est permis de faire: Spoiler : : d) Mise en pratiqueIci je vais appliquer tous ce que j'ai appris, dans le fichier com_data.rso du jeu Monster Hunter 3 (~Tri) (en japonais bien sûr). En général, je sélectionne le texte sur MadEdit. Puis je le copie-colle sur JWPce ou un traducteur style Google. Je vais aussi sur dictionnaire japonais qui propose également la recherche de Romaji : pour faire simple c'est la traduction littérale en caractère ASCII. Histoire de ne pas traduire ça comme un porc. Voilà en ce qui concerne les textes. On a fait quasiment le tour. e) Avancé ( Pointeurs )NOTE: Cette partie est EXTRÊMEMENT DÉCONSEILLÉE aux personnes n'ayant aucune base en hexadécimal. Et la programmation (même de "bas" niveau, peu importe le langage) peut être d'une grande aide. On a parlé d'un problème dans les limites : celui des pointeur qui délimite les textes. Or ce sont ses pointeurs qui nous restreint à conserver le même nombre de caractère pour chaque texte. Tout ça car il pointe sur un offset (= position en hexadécimal du caractère dans le fichier) qui ne doit pas bouger. Honnêtement je n'ai pas eu l'occasion de modifier les pointeurs d'un quelconque fichier par manque de temps et d’expérience (à l'époque). Sachant que le mieux est d'utiliser un programme qui corrige au fur et à mesure la positions des pointeurs en fonction de la taille du texte et des modifications qu'on y apporte. De plus certains jeux ne supporte pas que l'on modifie les pointeurs comme ça. Pourquoi? Car certains jeux : se self-check pour éviter des erreurs ou qu'il y ai plusieurs pointeurs, que les pointeurs seuls ne servent à rien car le pointeurs est lié à une information (ex: un argument qui donnerait une certaines valeur à une partie du texte ce qui expliquerait les "%quelquechose" ou ce genre d'annotation n'ayant aucun lien avec le texte. Surement une variable), etc... Bref, c'est loin d'être une obligation (sauf dans certains cas). Si jamais vous vous lancez, faites attention de bien faire une LONGUE phase de test pour être SÛR à 200% que TOUT fonctionne ! Si j'ai un conseil à vous donnez pour faire un programme ce serait de: 1 - Balayer le début du fichier (l'entête contenant les pointeurs) Sachant que les pointeurs sont à intervalle régulier. 2 - De charger dans un tableau à l'aide des pointeurs les textes 3 - De créer une Interface graphique permettant de modifier les textes Avec par exemple deux colonnes. Une affichant le texte original et l'autre le texte que l'on veut rentrer. Avec le support de l'encodage du texte ainsi qu'une fonction copier-coller tant qu'à faire. 4 - Un bouton Sauvegarder. Et qui balayera le tableau de Haut en bas et qui modifiera la position des pointeurs texte par texte. Table des matières :Partie 1: 0 - B.A.-BA 1 - La modification des textes Partie 2: ici 2 - La modification des images/textures 3 - La traduction et ses outils Partie 3: ici 4 - La modification de fichiers audios 5 - La modification de fichiers vidéos Dernière édition le 30/08/15 à 20:59:29 par SPLN. Pages: 1 Messages:
Pages: 1 Ajouter commentaire: Créez un compte ou identifiez vous pour poster un commentaire. Pour votre téléphone, Jailbreak iPhone et Jailbreak iPad. - Hack PS3 - Hacker sa WiiU - Hacker PS Vita - Rage Comics, troll face - Retrouvez chaque jour des image drole sur internet grâce à LOLTube. - Meme Internet |
222 connectés (0 membre, 222 anonymes) | © 2007-2015 Attila |