Aller au contenu

[Projet] Traduction des sous-titres de Shenmue 1 et 2


Manic

Messages recommandés

Après une demi-journée de "boulot" sur cette partie (développement de l'algorithme) et 6h plus tard (le programme était pas super optimisé faut le reconnaitre... mais j'ai pas trouvé d'autres moyens), voici le résultat.

 

Ce fichier Excel contient toutes les chaines du XBE avec leurs pointeurs.

 

Ca a vraiment été long à générer, car comme tu disais l'adresse virtuelle (où est chargée le Xbe en mémoire) n'était pas statique comme sur DC (0x8c010000), mais dynamique (le Xbe est chargé en plusieurs morceaux, par "sections"). Ca a vraiment compliqué les choses (dans le fond non, mais ça a été beaucoup plus long à traiter car il fallait re-scanner à chaque fois le binaire... et comme le binaire fait 5MB en plus... Et j'ai eu du mal à faire l'algorithme, je me fais vieux).

 

Dans ce fichier Excel tu trouveras toutes les infos qu'il te faut pour rajouter le support à Shenmue II Xbox.

 

A noter que tu n'as pas à gérer la place libre comme sur Dreamcast. Sur Xbox, on peut jouer avec les sections pour créer de la place libre (ce que j'ai réussi à faire, expliqué plus haut).

 

Pour ceux que ça intéresse:

 

Pour traduire le binaire Dreamcast, nous devions gérer la taille des chaines de caractères. En effet, les chaines anglaises sont beaucoup plus petites que les chaines équivalente en français, ce qui présume donc que nous avions un manque de place (Genre "Save" -> "Sauvegarder").

 

Nous avons essayé de rajouter des octets supplémentaires à la fin du binaire et de pointer dans cette zone de mémoire trafiquée par nous, où serait stocké nos nouvelles chaines traduites, mais ça ne fonctionnait pas. Nous avons donc essayé d'optimiser au maximum l'espace disponible en se servant de tout l'espace alloué par les chaines existantes, y compris celle des Debug (qui sont inutiles, bien sûr). Cette technique, qui utilise le MemoryManager d'Ayla, nous a permis de lever les limitations de place, mais d'également garder la taille de 1ST_READ.BIN à l'identique, ce qui est une bonne chose car nous sommes relativement limités en place sur Dreamcast.

 

Sur Xbox, il est tout à fait possible d'utiliser le MemoryManager d'Ayla, mais le concept des sections complique sévèrement le principe du MemoryManager. Heureusement, nous pouvons justement nous servir du concept des sections pour créer de la place libre (ce que j'ai fait plus haut dans cette page) et y inscrire nos chaines traduites. L'inconvénient majeur, c'est la perte de la place disque (en gros, on va certainement rajouter 10Ko au Default.xbe) mais le gros avantage, c'est la simplicité de mise en oeuvre.

 

Le fichier reste encore à trier, y'a pas mal de chaines qui servent à rien. Si quelqu'un qui connait bien le jeu peut l'épurer, c'est à dire garder uniquement les chaines qui apparaissent à l'écran et virer le reste, ça serait super. Car visiblement Ayla n'a pas le temps, moi je suis fatigué et je connais pas bien le jeu, bref si quelqu'un pouvait nous aider sur ce coup, ça serait vraiment cool!

 

Voilà, j'vais faire une pause moi... :zzz:

Car ça m'a bien fatigué tout ça.

Modifié par SiZiOUS
Lien vers le commentaire
Partager sur d’autres sites

OK, je comprends. De toute façon on peut remettre ça à plus tard.

 

En fait j'ai surtout fait ça pour me "rassurer" de la faisabilité d'une traduction du binaire Xbox, vu qu'il y'a encore quelques semaines je connaissais rien à cette console. D'ailleurs, faudrait faire un tutoriel car la technique que nous utilisons pourra servir pour traduire d'autres jeux Dreamcast et Xbox, et ça serait dommage que ça se "perde". Mais on verra ça plus tard.

 

Là ma préocupation est de faire un convertisseur des dialogues Free Quest -> FREE.AFS, une fonction que Shendream m'avait demandé il y'a quelques temps et qui à priori, ne semble pas trop compliqué à faire (ça consiste à écrire les sous-titres dans un certain ordre).

 

Ensuite je devrais peut-être revoir l'éditeur des SRF et le créateur IDX, il semblerait qu'il y'ait quelques problèmes avec. A moins que je fasse l'outil de traduction des écrans d'aide pour Shenmue II Dreamcast (fichiers F_HELP.BIN et F_ADV.BIN, sur Xbox, c'est dans le DEFAULT.XBE).

 

J'vais voir... selon l'envie.

 

Sinon, j'ai trouvé un fichier dénommé SYSTALK.BIN qui contient des sous-titres affichés lorsque Ryô indique au joueur qu'il faut qu'il rentre. Est-ce que vous pouvez me confirmer que SYSTALK.BIN n'est pas utilisé et que vous avez traduit par un autre moyen ces sous-titres? Dans le cas contraire je devrais également faire un outil pour modifier le SYSTALK.BIN...

Lien vers le commentaire
Partager sur d’autres sites

Alors si j'ai bien compris pour résumer car on s'y perd à force, dans Shenmue 1 DC le carnet est les choix in-game ce trouve dans 1st_read.bin, pour le moment aucun outils n'est encore écrit pour réaliser les modifications des sous titres et on sera à prioris limité sur le nombres de caractères étant donné que l'on ne peux pas agrandir le binaire, il va falloir jouer des pointer pour optimisée le tout, c'est Ayla qui dois ce charger de l'écriture de l'outil ?

 

Pour Shenmue II DC le carnet ce trouve dans MEMODATA.BIN et pour les choix in-game il ce trouve dans le 1st_read.bin ?

 

Pour le moment pas d'outils de disponible pour modifier 1st_read.bin parcontre on peux s'amusé à changer les sous titres du carnet avec l'outils "Shenmue Notebook Editor v1.0"

 

Concernant Shenmue II XBOX même problème qu'au dessus sauf que la il faut allez dans le fichier defaut.xbe pour les choix in-game.

 

J'ai tout bon ?

 

Là ma préocupation est de faire un convertisseur des dialogues Free Quest -> FREE.AFS, une fonction que Shendream m'avait demandé il y'a quelques temps et qui à priori, ne semble pas trop compliqué à faire (ça consiste à écrire les sous-titres dans un certain ordre).

 

Oui je pense que c'est la meilleur idée plutôt que d'essayé de faire lire human.afs par la Dreamcast.

 

Ensuite je devrais peut-être revoir l'éditeur des SRF et le créateur IDX, il semblerait qu'il y'ait quelques problèmes avec.

 

Sur qu'elle version de Shenmue on t'a rapporté des erreur ?

 

Sinon, j'ai trouvé un fichier dénommé SYSTALK.BIN qui contient des sous-titres affichés lorsque Ryô indique au joueur qu'il faut qu'il rentre. Est-ce que vous pouvez me confirmer que SYSTALK.BIN n'est pas utilisé et que vous avez traduit par un autre moyen ces sous-titres? Dans le cas contraire je devrais également faire un outil pour modifier le SYSTALK.BIN...

 

Pour Shenmue 1 ou le 2 ? Voir pour les 2 ?

Lien vers le commentaire
Partager sur d’autres sites

Alors si j'ai bien compris pour résumer car on s'y perd à force, dans Shenmue 1 DC le carnet est les choix in-game ce trouve dans 1st_read.bin, pour le moment aucun outils n'est encore écrit pour réaliser les modifications des sous titres et on sera à prioris limité sur le nombres de caractères étant donné que l'on ne peux pas agrandir le binaire, il va falloir jouer des pointer pour optimisée le tout, c'est Ayla qui dois ce charger de l'écriture de l'outil ?

Un outil existe pour modifier les sous-titres de Shenmue II, il n'est juste pas encore releasé parce qu'il est lacunaire et peu ergonomique.

 

Au niveau du nombre de caractères… Fais-toi plaisir, y'a largement la place ;)

 

 

Pour Shenmue II DC le carnet ce trouve dans MEMODATA.BIN et pour les choix in-game il ce trouve dans le 1st_read.bin ?

 

Dans Shenmue II DC on trouve effectivement dans le binaire les choix in-game, mais aussi les noms des objets de quête (phœnix mirror, watch), les objets de collection, les mouvements et leur description, les noms de lieux, etc…

Lien vers le commentaire
Partager sur d’autres sites

Sinon, j'ai trouvé un fichier dénommé SYSTALK.BIN qui contient des sous-titres affichés lorsque Ryô indique au joueur qu'il faut qu'il rentre. Est-ce que vous pouvez me confirmer que SYSTALK.BIN n'est pas utilisé et que vous avez traduit par un autre moyen ces sous-titres? Dans le cas contraire je devrais également faire un outil pour modifier le SYSTALK.BIN...

 

 

Malheureusement tu as raison Sizious, ces soustitres sont bien lus dans ce fichier SYSTALK.BIN je ne voulais pas te le dire avant d'avoir résolu mes problèmes de connexion internet mais ces soustitres sont bel et bien lus dans ce fichier, j'espère juste que ça sera plus simple à mettre en oeuvre que l'éditeur pour la scène en moto de Shenmue 1 :P C'est vraiment n'importe quoi ce truc mais à mon avis c'est le dernier obstacle pour Shenmue 2.

 

Il faudrait aussi que je fasse d'autres tests mais je crois bien que la version 2.7 de l'éditeur FQ est buggée, je ferai plus de tests et te confirmerait ça. ( Je précise pour Shenmue 2 uniquement, les persos disparaissent après un export et un import, je donnerai plus de précisions plus tard )

Modifié par Shendream
Lien vers le commentaire
Partager sur d’autres sites

Alors si j'ai bien compris pour résumer car on s'y perd à force

Oui c'est clair, voici un résumé:

Modifier le carnet utilisé dans le jeu:

 

  • What's Shenmue / Shenmue / US Shenmue : Utilisez Shenmue Binary Translator (non dispo encore)
  • Shenmue II / Shenmue 2X : Utilisez Shenmue Notebook Editor

Modifier les menus in-game:

 

  • Tous les jeux: Utilisez Shenmue Binary Translator.

Oui je pense que c'est la meilleur idée plutôt que d'essayé de faire lire human.afs par la Dreamcast.

Ca sera pour la prochaine version de l'éditeur Free Quest.

 

Sur qu'elle version de Shenmue on t'a rapporté des erreur ?

Pour ce qui est des SRF / IDX, à vrai dire, je ne m'en souviens pas... mais je crois que c'est sur Shenmue 1.

 

Pour Shenmue 1 ou le 2 ? Voir pour les 2 ?

A priori, c'est pour les deux. Le fichier SYSTALK est inclu à plusieurs endroits, alors maintenant... faut savoir lequel modifier, lol. En gros, il est dans les PKS MISC/COLD_*.BIN, MISC/COLDINIT.BIN et même directement dans MISC/SYSTALK.BIN. Faut faire le tri, encore une fois. Merci SEGA-AM2, que du bonheur.

 

j'espère juste que ça sera plus simple à mettre en oeuvre que l'éditeur pour la scène en moto de Shenmue 1 :P C'est vraiment n'importe quoi ce truc mais à mon avis c'est le dernier obstacle pour Shenmue 2.

Il s'agit du format SCNF utilisé par les NPC. Cependant il est un peu différent, dans le sens où il contient plusieurs "tables" de sous-titres alors que les persos Free Quest n'en comporte qu'un seul. J'ai donc du boulot, mais c'est pas comme pour l'éditeur de Shenmue 1 qui lui, m'a réellement pris la tête.

 

==> ==> ==> NEW UPDATE !!! <== <== <==

The Free Quest Editor v2.8 was released today.

 

L'éditeur Free Quest en version 2.8 est maintenant disponible.

 

Il faudrait aussi que je fasse d'autres tests mais je crois bien que la version 2.7 de l'éditeur FQ est buggée, je ferai plus de tests et te confirmerait ça. ( Je précise pour Shenmue 2 uniquement, les persos disparaissent après un export et un import, je donnerai plus de précisions plus tard )

En effet. J'ai résolu les différents (petits) problèmes.

 

Tous les problèmes de sauvegarde ont été définitivement résolus car j'ai mis en place (comme pour les nouveaux outils que je développe depuis quelques temps d'ailleurs) un système de test unitaire qui permet de (vraiment) malmener le programme, comme si quelqu'un l'utilisait réellement afin de tester sa solidité / fiabilité. Là je suis sûr de mon coup, l'éditeur Free Quest ne posera plus jamais aucun problème de sauvegarde. Pour te donner une idée, voilà la procédure que j'ai utilisée:

 

  1. Je sélectionne un dossier où sont mes PKS originaux.
  2. Je lance la modification:

    1. Je crée une copie du PKS (ex: TRUC.PKS) qu'on renomme en OLD (TRUC.OLD).
    2. J'ouvre le PKS du dossier dans l'éditeur SCNF
    3. J'exporte les sous-titres originaux vers un fichier XML.
    4. Je modifie chaque sous-titres du PKS avec une chaine de caractères aléatoire (du genre "AfjdjklHRkHE"), puis je sauvegarde le PKS. Je recommence ce processus 6 fois de suite.

[*]Une fois la modification terminée, je réimporte le XML original sauvegardé plus haut dans le PKS ainsi malmené.

[*]Si le TRUC.PKS possède le même hash MD5 que le TRUC.OLD, alors c'est gagné (et ceci pour tous les fichiers du répertoire sélectionné au point 1).

J'ai corrigé en tout ~3 bugs (si vous voulez en savoir plus, vous pouvez jeter un oeil au fichier docs/whatsnew.txt situé dans l'archive.

 

La v2.9 aura un convertisseur HUMANS -> FREE comme prévu.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
  • Contenu similaire

    • Par thoumy
      Bonjour à tous !
       
      Etant nouveau sur ce forum , je voulais savoir si il était possible qu'un ou plusieurs membres traduiseent une rom japonaise en anglais ou en français.
       
      Je pensait notamment a la rom de professeur layton and the last time travel, qu'on ne trouve qu'en japonais à l'heure actuelle alors que plusieurs team de trad jap-fr existent... étonnant vu le succès des deux premiers jeux.
       
      Si ce n'est pas le cas désolé d'avoir ouvert un topic pour rien.
    • Par frumos
      Bonjour, je me suis fait livré en import le jeu Fullmetal Alchemist : Curse of the Crimson Elixir. Je voudrais savoir si en extrayant le jeu en iso sur mon ordinateur il m'était possible de modifier les textes de l'anglais au français, de faire une traduction quoi. Merci d'avance pour vos réponses.
    • Par jeffreycarrera
      Je vends l'intégralité de ma collection Dreamcast, en parfait état de fonctionnement, pour des heures et des heures de bonheur!
       




      Paiement :
       

      Paypal
      Chèque
      Virement

      Livraison :
       

      Remise en main propre : gratuit
      Colissimo Suivi : 12€
      Colissimo Recommandé R2 : 15€

      Expédition sérieuse, emballé avec soin.
       
      Console:
       

      Console Dreamcast - version PAL Française, 50/60Hz, MODEL HKT-3030, modem 56K - fonctionnement 5/5

      Cordon d'alimentation
      Cordon vidéo PERITEL

      Accessoires:
       

      Manette officielle SEGA
      Manette Flash Fire bleu avec fonction Turbo
      Carte mémoire officielle SEGA avec écran LCD
      Carte mémoire de haute capacité - 4 Mega

      Les jeux :
       

      Shenmue 1 - au complet, parfait état
      Shenmue 2 - parfait état, au complet sauf notice

      Resident Evil Code : Veronica - au complet, parfait état, boitier légérement cassé

      Hydro Thunder - au complet, parfait état
      Virtua Tennis - au complet, parfait état
      Dynamite Cop - au complet, parfait état
      Metropolis Street Racer - au complet, parfait état
      Soul Calibur - au complet, parfait état
      Suzuki Alstare Extreme Racing - au complet, parfait état
      Toy Story 2 - au complet, parfait état
      Sega NBA 2k2 - au complet, parfait état
      Virtua Fighter 3TB - au complet, parfait état
      Jet Set Radio - au complet, parfait état
      Ready 2 Rumble Boxing 2 - au complet, parfait état
      HeadHunter - parfait état, manque la notice

      Cette vente est aux enchères sur eBay mais vous pouvez me faire une offre direct.
       
      Je ne veux aucunement brader, faites moi une offre sérieuse!
       
      Merci!
  • Statistiques des membres

    23 028
    Total des membres
    1 033
    Maximum en ligne
    Subaru
    Membre le plus récent
    Subaru
    Inscription
  • Statistiques des forums

    128,1 k
    Total des sujets
    1,7 M
    Total des messages
×
×
  • Créer...