Aller au contenu
izidor49

Traduction de jeux

Messages recommandés

Comme j'aime bien relever des défis et ça fait un petit moment que j'y pense je voudrais me lancer dans la traduction de jeux snes,

j'ai été plusieurs fois sur le site "La Traf" histoire d'avoir un bref aperçu du processus en lisant les tuto.mais je n'ai pas réussi à faire

fonctionner les outils proposés ou alors j'ai pas pris les bonnes versions.

 

Pour le moment je préfère trouvé de l'aide ici car plusieurs membres ont de sérieuses connaissances en la matière

et je sais qu'ils me donneront de bons conseils. :D

 

je n'ai pas non plus la prétention de faire de grosse traduction mais simplement un petit jeu,

d???ailleurs je n'ai aucune idée du volume de travail que ça représente.

 

Pour commencer je vais vous dire mes connaissances qui peut-être pourront m???être utile :

-je connais le system Hexadécimal basé 16

-J'ai des connaissances de base en c/c++ , mais j'ai plus fait de l'orientation objet genre manipulation de classe,

manipulation de pointeurs, liste chainée, lib SDL pour le c .

et c'est tout!

Est-ce suffisant pour apprendre et me lancer sur une petite trad?

 

Pour mes premières questions :

Quels sont les outils de base?

Est-ce-qu'une personne peut faire une trad en solo?

Et si vous avait un lien vers un bon tuto

 

Merci pour vos réponses

Partager ce message


Lien à poster
Partager sur d’autres sites

le mieu pour comprend comment sa marche deja c'est de savoir coder sa même une rom pour bien comprendre le fonctionnement de la snes et ses opcodes en ASM .

 

on as beau coder en C , il faut connaitre l'assembleur !!

Partager ce message


Lien à poster
Partager sur d’autres sites

Houla remy, tu y va un peu fort ^^

 

Perso j'y connais rien en asm et ces différent opcode et j'ai pourtant traduis pas mal de jeu snes (Chrono Trigger, Starfox 2, Super Mario RPG etc...)

 

Connaitre le langage asm sert avant tout à modifier les routines du jeu pour changer sont comportement (supprimer une compression, ajouter de nouvelle fonctionnalité, ajouter une font à longueur variable etc...)

 

Maintenant il faut connaitre en effet un minimum de chose sur la console Super Nintendo et sont fonctionement pour pouvoir comprendre ce que l'on fais, par exemple si le jeu est mappé en lorom ou hirom, les data ne seront pas structuré de la même façon ainsi que les pointeurs.

 

Pas besoin de savoir programmer quoi que ce soit car pas mal d'outils sont disponible pour modifier un jeu snes.

 

Je vais te lister les outils indispenssable à avoir (ces outils sont valables pour toutes les types de consoles)

 

-Translhextion v1.6c (éditeur héxadecimal qui prend en charge les table .tbl)

-Hex Workshop v6.0 (éditeur héxadecimal plus complet avec des options très pratique)

-Tile Molester v1.6 (éditeur graphic) faut installer la librairie Java

-YY-CHR v0.99b2 (éditeur graphic)

-Lunar Address v1.04 (très utile pour passer des adresses PC => SNES)

-The Cheat v1.4 (pour la mise en page des textes in-game)

-Hareng-Tool v1.2 (pour inserer et dumper les textes de la rom)

 

Après au niveau des emulateurs avec fonction debugueur

-no$sns v1.4 (avec fonction view ram)

-snes9x 1.51 ep10r2 (avec fonction view ram)

 

Tu peux faire une trad en solo sans problème même si il est mieux de travailler à plusieurs, la TRAF regorge de tutorial

 

http://traf.romhack....Page_principale

 

La seul chose qui peux empecher la traduction d'un jeu snes lorsque l'on débute, c'est si le jeu possède une compression quelconque au niveau des graphismes, et la en effet vaut mieux avoir de solide connaissance en asm et en C ou Lua pour écrire un outils de compression/decompression pour le jeu en question.

 

Il faut savoir lire la routine de compression via un debugueur, l'analysé et écrire un outils.

 

On a eu ce problème avec Dragon Ball Z Super Saiya Jin Densetsu, tout les textes été dumper mais impossible de modifier la font dialogue pour y mettre nos lettres abcABC (on été partie de la rom japonaise)

 

http://www.romhack.o...php?f=43&t=3757

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour cette explication qui m???éclaire un peut plus sur le sujet même si je ne comprend pas tous :roll: , je n'ai surement pas les connaissances requise cité par kogami, néanmoins je suis motivé et je vais y aller par étape, pour le moment j'ai fait quelques bref teste histoire déjà de connaitre les outils.

 

Pour mes teste j'utilise :

-translhextion

-Table manager

-searchRX

-tile layout pro

-snes9x

-la rom pal de final fight 3

 

J'ai pu modifier en parti le texte d'intro de la rom.

Partager ce message


Lien à poster
Partager sur d’autres sites
Je serai partant aussi pour me lancer dans une traduction d'un jeu.

Ha! ça serait cool .

 

Pour l'instant je but sur un truc, apparemment il faut que le mot traduit comporte le même nombre de lettre que l'original

si j'ai bien compris.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense plutot que c'est la phrase complète et non le mot.

Et ça dépend aussi de la place prévu à l'origine.

 

Si je me rappelle bien Squaresoft n'avait pas traduit FFV pour des raisons commerciales mais aussi techniques.

Les fenêtres de dialogue étaient trop petites pour insérer tout le texte US.

Partager ce message


Lien à poster
Partager sur d’autres sites

alors pour modifier du texte sans rien changer et en laissant la place d'origine oui c'est faisable en 3 minute montre en main ya pas 36 solution si le texte n'est pas compresser ou autre !!

 

mais dans l'autre cas , il faut vraiment savoir comment la snes fonctionne pour savoir ce qui est ecrit dans la rom !!!!!

Partager ce message


Lien à poster
Partager sur d’autres sites

Il existe plein de possibilité pour avoir plus de place qu'à l'origine, déjà 1er chose avant de taper dans le plus gros.

 

Comprendre comment fonctionne les pointeur !!!!

 

Qu'est ce qu'iun pointeur ? Et bien c'est très simple, chaque phrase a un début et une fin (logique vous me diré) sauf que pour la snes il faut lui indiqué ou ce termine chaque phrase, donc il suffit de trouver la table de pointeur et de la modifier en fonction de votre traduction. déjà vous aurez plus de liberté dans votre traduction.

 

C'est pointeur sont modifiable à la main via un éditeur hexadecimal, ou alors vous pouvez directement automatisé cette tache avec différent outils lors de l'inssertion de votre texte (par exemple Hareng-Tool les gère très bien)

 

 

Voilà un exemple de ce que l'on peux faire une fois que l'on a bien compris le fonctionnement de la console (ici pour le jeu Chrono Trigger)

 

http://kogami.free.f...Hareng-Tool.zip

 

Si je me rappelle bien Squaresoft n'avait pas traduit FFV pour des raisons commerciales mais aussi techniques.

Les fenêtres de dialogue étaient trop petites pour insérer tout le texte US.

 

Y a aucun problème technique pour ce qui est de la non traduction du jeu en anglais en tout cas ^^ Y a rien de différent entre un FF4 et 5 niveau dialogue.

Partager ce message


Lien à poster
Partager sur d’autres sites
Comprendre comment fonctionne les pointeur !!!!

 

J'ai lu un sujet sur les pointer, celui-ci :http://file:///C:/Do...Snes - Jes.html

 

Je pense avoir compris le principe:

EDIT : on recherche une table de pointer en correspondance avec un bloc texte afin de pouvoir

déplacé ce texte dans une zone(bank) ou il y a plus de place, quitte a étendre la rom car les phrases traduite peuvent

être plus longues que les original?

 

Mais comment savoir si se sont des pointer 16 ou 24bits?

 

Autre chose, l'adresse d'une phrase commence bien à l'adresse du premier caractère?

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour savoir si les pointeur sont en 16 ou 24bit, ba faut trouver la table de pointeur dans la rom et voir s'il sont codé sur 2 ou 3 octet (2 octet = 16 bit, 3 octet = 24 bit)

 

Qu'elle est l'avantage d'avoir des pointeur codé sur 24 bit ?

 

Et bien ceci est assez rare car on les trouves le plus souvent sous forme codé en16 bit, mais si on a la chance de les avoir au format 24 bit, cela voudrais dire que l'on pourra déplacer les textes n'importe ou dans la rom et donc n'avoir aucune contrainte niveau place disponible (il existe dans une rom beaucoup d'espace vide non utilisé).

 

Au format 16 bit, il faudra resté dans sa bank initial et ci celle ci est pleine (lorom 32kb et hirom 64kb) il faudra déplacer les texte + table de pointeur dans une autre bank et trouver le pointeur de la bank pour lui indiquer la nouvelle valeur de la bank.

 

Autre chose, l'adresse d'une phrase commence bien à l'adresse du premier caractère?

 

Oui, c'est un peu logique ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Et lunaradress est bien pratique aussi pour les pointeurs.

Par contre l'écran titre est compressé si je me souviens bien (du moins les tiles, la tilemap je sais plus)

Pour la gueule des pointeurs bah ça se reconnait facilement, si c'est xx yy zz c'est du 24 bits si c'est du xx yy c'est du 16, je tacherai d'y jetter un oeil pour te donner un coup de pouce.

 

Dans le cas des pointeurs 24bits le zz représente la bank du jeu, l'avantage des ces pointeurs c'est que l'on peut les mettre dans la bank de notre choix :)

 

Au fait pour moi l'outil de base, c'est l'éditeur hexa. Après de quoi noter tes trouvailles...

 

Petit truc sympa à connaitre/tester c'est la méthode des XXoctets quand tu cherches un truc.

Une fois que tu as défini ou se trouvaient les textes/gfxs/fonte, et que tu cherche je sais pas, admettons un écran titre. Tu sais pas ou il est, ou s'il est compressé teste en bousillant des octets situés entre ces zones, lance le jeu et regarde ce qui est tout niqué dans le jeu de là, tu sais pas encore si tu as bousillé la routine ou des données, donc tu repères la zone et tu la réduits pour trouver précisément le début du truc. Après tu notes précieusement toutes tes recherches pour définir la structure de ta rom. J'espère être assez clair, il est tard et je suis un peu mort.

Si jamais tu veux te faire la main...

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci MrL pour les infos,

 

Bon, je rencontre des difficultés pour repérer la table de pointer, j'ai bidouillé quelques octets pour voir, mais sans succès.

Peut-être qui n'y a tous simplement pas de pointer pour cette rom? (super turrican low)

 

J'ai utilisé le logiciel vbapoint pour calculer le pointer pour la phrase qui commence par

'LONESOME..' à l'offset 350403 je lui est mis l'adresse du "L" soit 0x558c3 en retour il me donne C556C3,

et pour le pointer C356 C5, puis j'ai effectuer une recherche avec la valeur inversé "C356"

mais sans succès.

 

Je vais peut-être dire une bêtise, mais est'il possible de tracé les appels de pointer avec Snes9x en mode debugueur? d'ailleurs pour la version 1.53 je n'ai pas trouver cette fonction.

 

Une idée?

 

 

HS : Remy si tu passe par la, je n'arrive pas a mettre une image avec l???éditeur j'ai essayé avec l'icon "Inséré une image" et il me demande une URL et avec joindre des fichiers sa me met "Cet envoie à échoué"

Partager ce message


Lien à poster
Partager sur d’autres sites

Après au niveau des emulateurs avec fonction debugueur

-no$sns v1.4 (avec fonction view ram)

-snes9x 1.51 ep10r2 (avec fonction view ram)

 

Ce sont les plus récent a ce jour (surtout no$sns)

 

Pour savoir si les textes sont pointé ou pas, suffit de modifier le 1er texte en le mettant plus long et de réduire le 2eme mot et voir si in game les mots apparaise coupé ou non.

Partager ce message


Lien à poster
Partager sur d’autres sites
Version de la rom? Décide toi sur un projet

 

Ba a vrai dire pour le moment j'essaye de comprendre et de mettre en pratique cette histoire de pointeur,

et j???épluche les tuto de la TRAF sur ce sujet mais, c'est vrai que quand le moment sera venu je devrai faire un choix de projet :wink: .

 

Je vais resté sur cette rom pour les testes

 

Donc je cherche toujours c'est fichu pointeurs, j'ai pu créé la table mais elle n'est pas complète au niveau des caractères spéciaux

 

Je met une petite image si quelqu'un peut m'aidé (En jaune c'est une phrase complète)

post-5508-0-95165800-1351892674_thumb.jpg

 

EDIT: Je pense que le texte est compressé?

Partager ce message


Lien à poster
Partager sur d’autres sites

Dte ou mte a voir

FBB1= th

0E18=e

(e+espace)

Mais a vu de nez c'est de l'ascii classique sinon.

 

Le 00 ??a doit être ton espace "simple"

Un conseil cherche toutes les combinaisons possibles pour définir si c'est une mte ou une dte, ensuite cherche en ascii dans ta rom dans l'ordre d'apparition :

(Exemple tout bidon)

 

Admettons ta dte ou mte commence par 0E00 et finie a 0E02

0E00=Th

0E01=e

0E02=it

 

Il te faudra aller chercher :

"The it" en clair dans la rom, c'est a dire qu'avec (dans ton cas) les caractères ascii.(c'est un dictionnaire de mot ou de bout de mot dans ton cas)

 

Le truc chiant avec les dte/mte c'est qu'il faut refaire le dictionnaire après la traduction pour optimiser la place.

 

N'hésite pas a tester des combinaisons, a changer des octets pour voir ce que ça fait ;)

C'est une forme de compression assez simple a piger, mais si vraiment tu galère je regarderai la rom.(la j'ai pas ouvert l'éditeur hexadécimal, je suis sur ma tablette)

Partager ce message


Lien à poster
Partager sur d’autres sites
Le truc chiant avec les dte/mte c'est qu'il faut refaire le dictionnaire après la traduction pour optimiser la place.

 

Je trouve pas que se soit le plus relou dans un hack surtout que tu le fais qu'une fois quand ton script est fini d'être traduit et avec Hareng-Tool il t'optimise toute les meilleur combinaisons en seul clic.

Partager ce message


Lien à poster
Partager sur d’autres sites

Sérieusement?

J'ai encore à en apprendre sur ce logiciel, mais comment tu lui dit: ça pas toucher c'est de l'op code, du pointeur,etc...

Et les accents ça gère aussi?

J'utilisais un tool de terminus moi pour déterminer la meilleure dte possible, mais c'était casse couille fallait mettre tes scripts bout à bout et les accents étaient pas ou mal gérés.

Du coup j'imprimais le tout pour faire mes recherches de paires en complément, de la je trouvais des fautes, et fallait que je me retape le tout du début!

Partager ce message


Lien à poster
Partager sur d’autres sites

Les l'op code faut les virer car sinon en effet il est prends en comte mais un simple remplacer sur ton script fait l'affaire parcontre pour les accents je n'avais pas de problème, il était bien reconnue.

 

J'ai pris le Hareng-Tool Lua dispo sur la TRAF.

 

Il me sort un fichier texte avec toute les meilleur compression

sanstitre2mj.png

Partager ce message


Lien à poster
Partager sur d’autres sites
Dte ou mte a voir

FBB1= th

 

MrL, j'ai suivi ton conseil en modifiant des octets .

 

En modifiant la suite d'octes "FBB1" comme ceci :

FBB2

FBB3

FBB4

 

Voila se que j'obtient :

post-5508-0-58467900-1351936722_thumb.jpg

On voit l'apparition d'un "C" après les mots "THE" qui d'ailleurs est décalé et s'efface vers la droite.

 

Que dois-je en déduire?

Est-ce un pointeur?

Partager ce message


Lien à poster
Partager sur d’autres sites

Puis-je te sujérer "d'encadrer" ces codes avec par exemple un A?(41 en ascii) afin d'y voir plus clair?

41F1B141

Etc...

ça ne ressemble pas a des pointeurs en tout cas, mais poursuis tes essais :)

@kog bon c'est pas encore tip top pour les opcode alors, je resterai sur ma méthode, bien que plus longue, elle a fait ses preuves, mais faudrait trouver un codeur pour faire une liste de combinaisons de mots à ne pas prendre en compte.

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai dumpé le srcipt pour essayé de mettre ça en ordre dans un fichier texte; bloc par bloc, phrase par phrase et mot par mot.

 

Apparemment le 20----> c'est un espace simple, le 00 c'est un retour à la ligne enfin je crois car il n'apparait pas tous le temps en fin de ligne mais il peut faire parti d'un mot compressé genre ".+retour à la ligne".

Chaque mots compressé commence toujours par FB, FC, FA, F9 enfin bref toujours Fxxx.

 

Le suite d'octets FB B1 0E 18 semble représente la chaine "espace+THE+espace" tous les mots "THE"(a part ceux non compressés) du sript d'intro dépendent de cette suite d'octets par exemple si je modifie :

FB-en->FC---->Ecran noir

B1-en->B2---->Décale tout les mots "THE" de 1 caractère vers la gauche

0E-en->1E---->j'ai "?????" à la place des mots "THE" et modifié au delà de 3E donc 4E---->le sprite de fond est mal affiché(bouillie de pixel)+ des caractères dispersés sur la zone ou le script s'affiche.

18---en--->08--------->Ecran noir

 

 

j'ai aussi fait le tuto complet sur la compression MTE du guide V2 pour comprendre le principe du processus.

 

je vais essayé de trouvé les correspondances in game la ou il y à des trous.

Partager ce message


Lien à poster
Partager sur d’autres sites

Je pense avoir trouvé quelque chose qui ressemble au dictionnaire du script d'intro :

je peut voire les bouts de mot qui manque.

 

EDIT:

Par exemple sur l'image suivante, en jaune le mot "JUST" qui est le complément de "ICE"

pour le mot "JUSTICE" dans le script

 

post-5508-0-90208900-1352060128_thumb.jpg

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors bingo c'est bien le dictionnaire :)

 

Par contre c'est con que les gfxs soient compressés, la seule chose en clair dans la rom c'est les sprites du héro :/

 

J'ai remarqué aussi que la fonte avait pas mal d'éléments non utilisées, d'où la répétition je pense du caractères ? ou des vides.

autre chose, tu as testé le code 6162? pour l'intro c'est le début du dolby machin, j'ai pas poussé la recherche de la table plus loin par contre :]

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Restaurer la mise en forme

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement

×
×
  • Créer...