Metagames

Metagames (https://www.metagames-eu.com/forums/)
-   Dreamcast (https://www.metagames-eu.com/forums/dreamcast/)
-   -   [Projet] Traduction des sous-titres de Shenmue 1 et 2 (https://www.metagames-eu.com/forums/dreamcast/projet-traduction-des-sous-titres-de-shenmue-1-et-2-a-65066.html)

SiZiOUS 27/05/2010 18h02

Bon,

J'ai repris le développement du pack. Le Notebook Editor est pratiquement prêt. Plus d'infos bientôt...

The Notebook Editor is almost ready, stay tuned...

SiZiOUS 28/05/2010 00h51

Notebook Editor released!
 
==> ==> ==> NEW UPDATE !!! <== <== <==

http://shenmuesubs.sourceforge.net/....box_hacked.png
Notebook modified (Xbox version)

Français:

Nouvelle mise à jour du pack. Notebook Editor est sorti en version 1.0. Cet éditeur permet de modifier le carnet de Shenmue II, sur Dreamcast et Xbox. What's Shenmue et Shenmue I ne sont pas supportés car le carnet est stocké directement dans l'exécutable du jeu pour ces deux jeux. Le Shenmue Binary Translator d'Ayla permettra en temps et en heure de régler le problème.

English:
New update. The Notebook Editor version 1.0 is now released. This tool was made to modify the Shenmue II notebook, on Dreamcast and Xbox. What's Shenmue and Shenmue I aren't supported, because the notebook for these games are in the binary executable (1ST_READ.BIN). The Shenmue Binary Translator tool made by Ayla will allow you to solve the problem.

==> ==> ==> DOWNLOAD <== <== <==


Sunmingzhao 28/05/2010 08h36

Merci beaucoup SiZiOUS, franchement je te tire une fois de plus mon chapeau ;)

(au fait, j'ai dû t'envoyer un ptit message sur Gmail l'autre fois je crois ^^)

IlDucci 28/05/2010 09h39

Good work, hope the Binary Translator comes up soon.

SiZiOUS 28/05/2010 10h38

Citation:

Envoyé par Sunmingzhao (Message 1581993)
(au fait, j'ai dû t'envoyer un ptit message sur Gmail l'autre fois je crois ^^)

Je suis désolé, mais je ne le retrouve pas, tu peux me le renvoyer?

Citation:

Envoyé par IlDucci (Message 1582000)
Good work, hope the Binary Translator comes up soon.

It's up to Ayla ;)

SiZiOUS 28/05/2010 12h07

Bon, désolé pour le double post.

J'ai trouvé quelque chose d'intéressant. A savoir, le Binary Translator d'Ayla, ne fonctionne pour l'instant que sur la plateforme Dreamcast. En effet, c'est celle que nous maitrisons le mieux et nous avons défini le moyen (ou plutôt c'est Ayla qui l'as fait) le plus efficace de traduire les chaines inclues dans le binaire. Donc de ce côté, pas de soucis. En plus j'ai pu tester son outil et niveau modification, ça fonctionne bien.

Reste la question des binaires Xbox, pour traduire Shenmue II Xbox. Et bien je viens de modifier avec succès le DEFAULT.XBE!

http://shenmuesubs.sourceforge.net/.tmp/xbe_hack.png

Ici la chaine YN_CANCEL est en fait située à un autre endroit dans le binaire (au passage, normalement il y'a d'écrit "Challenge").

Pour réussir ceci, la technique est quasiment la même que sur Dreamcast, voici comment j'ai procédé:

1 - J'ai tout d'abord commencé par repérer la chaine à modifier dans le binaire. J'ai choisi Challenge car c'est simple à trouver dans le jeu (faut aller parler au mec qui vous propose de faire le jeu du bras de fer).

2 - J'ai ouvert l'outil DEXBE de DeXtrose puis sélectionné mon default.xbe:

http://shenmuesubs.sourceforge.net/.tmp/dexbe.png

3 - Après quelques recherches, j'ai trouvé la chaine dans le binaire dans la section .rdata. L'offset virtuel où se situe la section est donc, d'après DEXBE, à 0x470b80.

4 - J'ai extrais la section .rdata, toujours avec DEXBE. Puis j'ai ouvert le fichier .rdata dans WinHex, je me suis positionné sur Challenge, comme indiqué ci-dessous (en rouge):

http://shenmuesubs.sourceforge.net/.tmp/xbe_winhex.jpg

On note l'offset: 0xD3D4.

5 - Un rapide calcul pour trouver l'emplacement du pointeur pour cette chaine :

Valeur du pointeur = Adresse de la section + Adresse relative de la chaîne

Soit pour Challenge:

Valeur du pointeur = 0x470b80 + 0xd3d4 = 0x47df54.

Le pointeur est donc référencé par la valeur 0x47df54. On met tout ça en notation inverse (little endian j'crois ou big endian enfin bref vous voyez le truc) 0x47df54 --> 0x54df47

0x54df47 est notre valeur à rechercher dans le default.xbe!

6 - Retournons dans notre default.xbe dans WinHex. On fait Ctrl + Alt + X (Rechercher Chaine Hexa) puis on rentre 0x54df47. Un seul offset ressort: 0x4ea8b0. C'est notre pointeur !

C'est ici que la chaine Challenge est référencée. On peut modifier cette valeur-ci avec un autre offset de chaine. J'ai par exemple choisi YN_CANCEL, à l'offset 0xd4bc, pour faire le test. Donc:

Valeur du pointeur de chaine = 0x470b80 + 0xD4BC = 0x47E03C.

Donc notre nouvelle valeur à écrire à l'offset 0x4ea8b0 est 0x3c0e47 !

http://shenmuesubs.sourceforge.net/.tmp/xbe_ptr.jpg

7 - Et voilà! Notez que autour de l'offset 0x4ea8b0, vous pouvez voir une sorte de "table" avec tous les offsets de chaines. Oui, c'est ici où elle se trouve ;)

Voilà. Ayla, à toi de jouer :DD

mimix 28/05/2010 12h10

j'ai rein compris :D mais si tu le dis ! :lol:

SiZiOUS 28/05/2010 12h12

Citation:

Envoyé par mimix (Message 1582037)
j'ai rein compris :D mais si tu le dis ! :lol:

Ah ben mince j'ai essayé d'être le plus clair possible :cry:

J'espère qu'Ayla comprendra mais j'en doute pas une seconde :D

Sunmingzhao 28/05/2010 14h03

Intéressante ta méthode SiZ. Je viens d'ailleurs dernièrement de commencer à me lancer dans l'hexadécimal, pour d'abord comprendre et ensuite effectuer des modifications.

Je vais poster prochainement un tuto qui permet de faire passer un jeu DC en VGA alors qu'il ne l'est pas d'origine (je parle d'une ISO, car pour faire passer un originaux non-VGA en VGA je n'ai pas encore trouvé (enfin pour le forcer).

[message renvoyé sur ton Gmail ;)]

Ayla 28/05/2010 15h38

Super SiZ, cependant c'est pas vraiment concevable d'aller chercher toutes les strings du jeu à la main...

Il faudrait pouvoir extraire tous les pointeurs vers ces strings, et pour cela il faut pouvoir les différencier des autres mots... Chose facile sur DC car l'adresse de base est 0x8c010000, mais sur xbox je vois pas vraiment comment faire.
En plus, bien que les chaines de caractères soient situées dans la section .rodata, les pointeurs vers celles-ci sont situées dans la section .data qui est bien plus grande et qui contient toutes sortes de données...

@Sunmingzhao : super intéressant ce que tu racontes ;)
Ça permettrait de jouer à skies of arcadia en VGA ? :o


Fuseau horaire GMT +1. Il est actuellement 18h39.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.

Integrated by BBpixel ©2004-2024, jvbPlugin

Version française #23 par l'association vBulletin francophone
© 2003-2018 MetaGames. Tous droits réservés.