Traduction d'Ultima V Warriors of Destiny

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Godcedric
    a répondu
    Là tu es parti sur du costaud. C'est là qu'on voit aussi que les jeux évoluent avec des moteurs et techniques différentes d'une version à l'autre.

    Laisser un commentaire:


  • Sylvain_rocher
    a répondu
    Quelques nouvelles : c'est beaucoup plus galère techniquement que ce que je pensais. Donc je n'ai pas encore commencé la traduction à proprement parler.
    Mon gros problème ? J'ai des fichiers qui contiennent des chaînes de caractères à traduire. Si je modifie la taille d'une de ces chaînes, tout se décale. Ca veut juste dire qu'il y a bien des adresses (pointeurs) en dur dans le code pour aller chercher ces textes. Jusque là, c'est la même chose que toutes mes traductions précédentes. Il suffit de trouver les pointeurs et les modifier à la main. Le problème : le jeu utilise des "overlay", donc impossible de remonter aux pointeurs avec IDA avec une simple analyse statique du code. Donc j'ai du passer à la vitesse supérieure et me lancer dans le debogage dynamique sous DosBOX en analysant pas à pas chaque instruction assembleur pour traquer les endroit où se trouvent les adresses. Et aucun document sur internet ne référence ces adresses.

    J'ai plusieurs milliers de lignes de textes, et la structure globale du code ont la bonne idée de ne pas avoir mis les pointeurs les uns à côtés des autres (bon, c'est parfois le cas). Donc je dois me faire ch*** à espionner chaque chaîne de caractères pour comprendre comment le jeu va chercher son adresse pour la noter, pour pouvoir la modifier quand je me lancerai dans la traduction. J'ai trouvé 152 adresses sur plusieurs miliers. Bref, ça va être un travail de TITAN !! Mais au moins ça me permet de progresser dans mon travail de traducteur en me formant au débogage dynamique sous DosBox Il va donc falloir être bien patient pour cette traduction ahah

    Laisser un commentaire:


  • Sylvain_rocher
    a répondu
    Je viens donner quelques nouvelles. Je viens de finir la première phase : mes outils permettent de lire et réécrire l'ensemble des fichiers contenant du texte dans le jeu ... enfin presque. Je n'ai trouvé nulle part les textes qui s'affichent au lancement du jeu "Origin System presents" et "a lord british production". Ce sont des textes graphiques mais qui ne sont dans aucun fichier graphique.

    La structure du programme utilise des "overlays", ce sont des surcouches de code ou de données que le jeu va chercher quand il en a besoin. Je suspecte donc que ces données soient dans un des fichiers d'overlay (en l'occurence INTRO.OVL), mais le soucis est que ce fichier doit mélanger à la fois du code et des données graphiques ... données compressées par un algorithme LZW, donc c'est beaucoup plus difficile de repérer les zones binaires qui pourraient correspondre à des images ...

    Je vais donc commencer à avancer dans la traduction, et je verrai peut-être à la fin pour réinvestiguer ces quelques bouts de textes. Le fait que le jeu utilise des overlay va aussi rendre la modification de code bien plus difficile (notamment les commandes du jeu ! Je ne vois pas encore comment je vais m'en sortir). Bref, cette traduction ne va pas être facile du tout

    Mais chaque chose en son temps, je vais commencer à m'attaquer à la première difficulté : l'ajout des accents

    Laisser un commentaire:


  • Sylvain_rocher
    a répondu
    Envoyé par Guybrush02 Voir le message
    Bravo (et courage) pour ce nouveau chantier !

    Dommage de ne pas avoir les sources décompilées cette fois comme avec ergonomy_joe
    Tu dois déjà connaitre mais le site https://wiki.ultimacodex.com/wiki/Ul...ternal_formats donne pas mal d'infos sur les différentes formats de données dans les fichiers du jeu.
    Merci beaucoup !
    Oui, évidemment, sans ce site je n’aurais traduit aucun des Ultima il faut parfois compléter avec d’autres sources mais c’est le site de référence

    Laisser un commentaire:


  • Guybrush02
    a répondu
    Bravo (et courage) pour ce nouveau chantier !

    Dommage de ne pas avoir les sources décompilées cette fois comme avec ergonomy_joe
    Tu dois déjà connaitre mais le site https://wiki.ultimacodex.com/wiki/Ul...ternal_formats donne pas mal d'infos sur les différentes formats de données dans les fichiers du jeu.

    Laisser un commentaire:


  • Sylvain_rocher
    a répondu
    Envoyé par Snow Voir le message
    Je ne sais pas si cela pourra te servir, mais Ultima V Lazarus, remake basé sur le moteur de Dungeon Siege, a été traduit dans la langue de Molière (mais dure demain).

    En tout cas, bon courage pour cette nouvelle trad !
    Merci
    Oui, je connais cette version de réputation, mais je n'ai pas Dungeon Siege donc je ne peux pas l'installer pour accéder aux données en VF. Le patch n'est qu'un exe, donc pas de fichiers de données à côté. Et quand bien même, il faudrait connaître le format de fichier de données de Dungeon Siege pour les décoder, car ce sera certainement pas identique à la version d'origine. Je n'y suis pas encore, mais ce sera peut-être plus galère de décoder, faire la correspondance et reconduire.

    Chaque chose en son temps

    Laisser un commentaire:


  • Snow
    a répondu
    Je ne sais pas si cela pourra te servir, mais Ultima V Lazarus, remake basé sur le moteur de Dungeon Siege, a été traduit dans la langue de Molière (mais dure demain).

    En tout cas, bon courage pour cette nouvelle trad !
    Dernière modification par Snow, 22 août 2025, 21h18.

    Laisser un commentaire:


  • Sylvain_rocher
    a crée une discussion Traduction d'Ultima V Warriors of Destiny

    Traduction d'Ultima V Warriors of Destiny

    Bonjour à tous,

    J'espère que vous avez passé de bonnes vacances d'été Comme prévu, je me lance dans la traduction du 5ème opus de la série Ultima.
    J'ai commencé à décortiquer les différents formats de fichiers et à développer les outils pour la traduction. Pour cet épisode, AUCUN texte dans le fichier EXE. Pourtant, ce n'est pas synonyme de facilité pour autant. J'ai relevé pour le moment 2 difficultés techniques majeures :

    - la première concerne justement les font (les polices) pour l'ajout des caractères accentués : au vue de la façon dont sont construits les textes du jeu, aucun code au-delà du 127 n'est possible sans une altération très profonde des structures de données du jeu. En effet, le système de dialogues du jeu est entièrement scripté (ça veut dire que ce n'est pas qu'un enchaînement de caractères, mais à chaque code correspond une lettre, un mot, une phrase ou une action). Et tous les codes au-delà de 127 sont utilisés dans les scripts, et toutes les lettres accentuées du français ont bien sûr un code dans ces eaux-là. Mais j'ai ma petite idée pour contourner ça
    - la seconde concerne justement les fichiers contenant les dialogues. Pour faire rapide, chaque dialogue début à une certaine adresse dans le fichier (codé sur 2 octets), mais le français étant beaucoup plus long, je dépasse les capacités de codage sur 2o ... donc il faut que je modifie le format de fichier des dialogues pour coder les adresses sur 4 octets, mais ça demandera une modification du code assembleur de l'EXE. Je sais qu'oFF_rus ferait ça les doigts dans le nez, mais je vais essayer d'y arriver par moi-même

    Bref, voilà, je débute tranquillement, et cette traduction va me prendre bien plus de temps que les précédentes, car je vais aussi découvrir le jeu en même temps que je le traduis Donc la phase de test sera nécessairement longue.

    A bientôt pour vous donner quelques nouvelles !
Chargement...