Questions existentielles

Foire aux questions et tutoriels
Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6360
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Questions existentielles

Message non lupar BahaBulle » 13 févr. 2012, 19:22

Ce topic a pour but de répondre, de façon rapide et non détaillée, aux questions récurrentes sur la traduction de roms/isos.

Pour de plus amples explications, vous pouvez lire les docs et tutoriels du site de la TRAF (en français) ou du site Romhacking.net (en anglais).

- Quels types d'outils utiliser ?
- Comment traduire une rom ?
- Comment traduire un iso (PSP, PSX...) ou une rom NDS ?
- Combien de temps faut-il pour traduire un jeu ?
- Comment agrandir une rom ?
- Pourquoi je ne trouve pas les textes/graphismes dans mon jeu ?

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6360
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Quels types d'outils utiliser ?

Message non lupar BahaBulle » 13 févr. 2012, 21:48

Editeur hexadécimal
C'est l'outil indispensable pour traduire un jeu. Il permet de visualiser les textes mais aussi n'importe quelle donnée et de comprendre comment elles sont stoquées.
Il est conseillé d'utiliser un éditeur qui permet de charger une table de correspondance afin de voir plus facilement les textes s'ils n'utilisent pas la table ASCII standard (table utilisée par défaut de tous les éditeurs hexadécimaux).

Recherche relative
Tous les éditeurs hexadécimaux ne permettent pas de faire de recherches relatives. Il peut donc être utile d'avoir un outil dédié pour effectuer ce genre de recherche.

Editeur de table de correspondance
Pour créer une table de correspondance, un éditeur de textes suffit mais pour ceux qui auraient un peu de mal, il existe des outils pour vous aider.

Editeur graphique
Ils servent à visualiser et/ou modifier les graphismes. Non pas Photoshop, Gimp ou paint mais des outils dédiés au romhack parce qu'ils possèdent des modes prédéfinis spécifiques aux différentes consoles.
Cependant, la plupart de ces outils permettent d'exporter les graphismes au format bmp, png... afin de faciliter la modification via des outils plus évolués (Photoshop, Gimp...).

Extracteur/inséreur de textes
C'est un outil rarement utilisé par les nouveaux mais très utile pour la traduction des textes. Ils permettent d'extraire les textes dans des fichiers textes, rendant beaucoup plus simple la traduction. Bien sûr, ils font l'inverse, c'est à dire qu'ils réinsèrent les fichiers textes dans les fichiers. Et généralement, ils permettent également de gérer les pointeurs en les recalculant à l'insertion.
Il faut avouer que ces outils ne sont pas forcément les plus simple à utiliser car ils sont souvent en ligne de commande et demande donc un peu de réflexion. Mais rassurez-vous, ce n'est pas non plus une horreur à utiliser.

Patcheurs
Une fois le jeu entièrement traduit, il faut créer un patch pour le distribuer. La plupart des patcheurs permettent de patcher une rom et de créer des patchs.

Aucun nom d'outils ne sera donné ici car il n'y a pas d'outil parfait et personne ne sera d'accord sur le meilleure. Il est donc conseillé d'en tester plusieurs d'un même type et de se faire ses propres idées.
Pour les fainéants, le site de la TRAF possède toute une liste d'outils donc certains recommandés.

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6360
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Comment traduire une rom ?

Message non lupar BahaBulle » 13 févr. 2012, 22:12

Une ROM contient les textes, les graphismes et le code d'un jeu.

Pour visualiser les textes, on utilise un éditeur hexadécimal. Généralement, l'éditeur ne suffit pas et il faut créer une table de correspondance pour savoir à quelle lettre correspond une valeur (un ou plusieurs octets).

Pour visualiser les graphismes, on utilise un éditeur graphique. Selon la console, il existe des modes prédéfinis permettant d'afficher correctement les graphismes.

Que ce soit pour les textes ou les graphismes, il n'y a pas de secret, il faut parcourir la rom. La recherche de textes est légèrement plus facile étant donné que les éditeurs (et d'autres outils) permettent d'effectuer des recherches (relative ou non) de texte.
Une fois ceux-ci trouvés, il est possible de les modifier directeur dans les éditeurs. Cependant, pour les textes, il est conseillé de les extraire (grâce à des outils dédiés) dans des fichiers textes afin de faciliter la traduction.

Vous trouverez des explications détaillées sur le site de la TRAF, rubriques "Chroniques" et "Tutoriels".

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6360
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Comment traduire un iso (PSP, PSX...) ou une rom NDS ?

Message non lupar BahaBulle » 13 févr. 2012, 23:12

Pour des soucis de facilité, nous ne parlerons que d'iso mais c'est à peu près la même chose pour une rom NDS.

Traduire un iso est sensiblement la même chose que traduire une rom.

La grosse différence c'est qu'un iso utilise une structure qui permet (généralement) de visualiser les différents fichiers composant cet iso.
C'est pour cela qu'il est fortement déconseillé de traduire directement dans l'iso comme on le ferait plus facilement avec une rom.

Il existe des outils permettant d'extraire/insérer des fichiers dans un iso simplifiant ainsi le travail.

Une fois les fichiers extrait, cela fonctionne généralement comme une rom, c'est à dire qu'on prend un éditeur hexadécimal pour rechercher les textes et un éditeur graphique pour les graphismes.

Dans un iso, il y a généralement un type de fichier qu'on appelle archive. C'est à dire qu'il s'agit d'un fichier regroupant plusieurs fichiers. Il est conseillé de réaliser un outil permettant de désarchiver le fichier pour pouvoir travailler sur chaque fichier séparément. Il est bien évidemment possible de faire cette étape à la main mais c'est long et contraignant.

Le site de la TRAF ne traite pas énormément des isos mais les tutoriels et exemple sur les roms peuvent être utilisés sur les différents fichiers d'un iso.

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6360
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Combien de temps faut-il pour traduire un jeu ?

Message non lupar BahaBulle » 14 févr. 2012, 10:15

Voilà une question très difficile.

En fait, c'est impossible à dire. Cela peut aller très vite (quelques mois) ou être très long (plusieurs années).
Tout dépend de la motivation de chacun et surtout le temps que l'on peut accorder au projet.

C'est pour cela que nous ne donnons plus de date de sortie des nos patchs car c'est impossible à connaître à l'avance.

Tout peut bien se passer pendant quelques temps et au bout d'un moment :
- on tombe sur une difficulté technique qu'on n'a pas vu venir ;
- un disque dur qui lâche ;
- une rencontre amoureuse qui nous fait oublier que l'ordinateur existe ;
- notre petite copine/femme/mari nous pose l'ultimatum "C'est la trad ou moi !" ;
- des mauvaises notes ou des examens et nos parents bloquent l'accès à l'ordinateur ;
- la venue au monde d'un nouveau membre de la famille ;
...

Bref, tout un tas de raison qui font retarder (voir abandonner) les projets.

Il ne faut pas oublier que nous faisons ça sur notre temps libre et de façon bénévole.

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6360
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Comment agrandir une rom ?

Message non lupar BahaBulle » 14 févr. 2012, 16:23

Tout dépend de la console. La plupart du temps, ajouter des octets à la fin du fichier ne suffit pas.

Gameboy
Théoriquement, ajouter des octets à la fin du fichier devrait suffire (ajouter la taille d'une bank à chaque fois = 0x4000 octets)

Nintendo
C'est assez compliqué à faire étant donné qu'il faut prendre en compte le mapper utilisé (un mapper permet à la console d'utiliser telle ou telle bank étant donné que toute la rom n'est pas accessible d'un coup).

Super Nintendo
Théoriquement, on peut augmenter une rom jusqu'à 4 Mo sans soucis. Augmenter encore la taille demande quelques manipulations.
Il existe des outils permettant d'agrandir une rom SNES.

Megadrive
Une rom peut faire jusqu'à 2 Mo sans problème. Si on agrandit encore, cela posera des problèmes avec la SRAM qui permet de sauvegarder les jeux (sauf si la rom originale fait déjà plus de 2 Mo ;)). Il faudra donc passer par des modifications ASM pour remédier au problème.

Nintendo DS ou ISO
Agrandir une rom NDS ou un ISO directement ne sert à rien. Il faut agrandir les fichiers contenu dedans.
C'est assez simple vu qu'il suffit d'ajouter des octets à la fin des fichiers à agrandir. C'est ensuite l'outil permettant de reconstruire la rom NDS ou l'ISO qui va modifier ce qu'il faut où il faut pour prendre en compte ces fichiers agrandis.

Cependant, ce n'est pour ça que le jeu va fonctionner correctement et prendre en compte les nouvelles données contenues à la fin des fichiers.

Les consoles utilisant ces supports (PSX, PSP, NDS, Saturn...) chargent toutes les données dont ils ont besoin en mémoire (RAM).
La RAM des consoles étant limitée, si le jeu charge un fichier plus gros qu'à l'origine, il est possible que cela écrase des données nécessaire et donc que cela fasse planter le jeu.

Remédier à ce problème est assez compliqué (voir impossible) et demande une très grande connaissance de la machine et du langage assembleur correspondant.

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6360
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Pourquoi je ne trouve pas les textes/graphismes dans mon jeu

Message non lupar BahaBulle » 14 févr. 2012, 16:33

Il y a de grandes chances que vos données soient compressées.

En effet, les développeurs, n'ayant pas forcément assez de place sur le support pour y mettre tout ce qu'ils veulent, sont obligés de compresser leur données (ça peut aussi être parce qu'ils ne veulent pas que ces données soient facilement repris par n'importe qui ;)).

Le jeu les décompressera au moment de leur lecture afin de les utiliser.

Il existe plusieurs types de compression qui sont plus ou moins efficaces et surtout plus ou moins facile à comprendre.

Nous n'allons pas les détailler et les expliquer ici mais sachez que certaines peuvent être trouvées facilement avec un éditeur hexadécimal.
Pour les autres, il est nécessaire d'utiliser un émulateur qui permet de tracer ou de debugger afin de trouver la routine de décompression et la comprendre.


Revenir vers « FAQ »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité