[SNES] Petite aide sur Chrono Trigger/Mario RPG

Des soucis pour hacker votre jeu ? C'est ici qu'il faut exposer votre problème.
Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

[SNES] Petite aide sur Chrono Trigger/Mario RPG

Message non lu par kogami »

Bonjour à tous !!

Voilà pour un projet personnel, j'aimerais apporter des modifications à une rom de Chrono Trigger sur Super Nintendo.

J'ai modifié divers choses, mais actuelement je suis bloqué et je ne sais pas du tout coment y remedier.

Voici mon soucis,

Image

Sur cette image, j'ai remplacé le graphisme "B.C." par "An"

L'image d'origine.

Image

J'aimerais en faite intervertir les 2 graphismes pour donner ceci,

Image

De même, sur cette image

Image

J'aimerais faire disparaitre le graphisme "-" et mettre à la place "An" au début de - 12000.

Pour avoir ce rendu

Image

Et pour finir

Image

intervertir les 2 graphismes, et voir carement s'il est possible de faire ca ?

Image

Il faudrait ici rajouter les graphismes "An", "-" et "65000000".

A la base, il n'y a que 2 graphismes

Image

Je met la rom à disposition:

Rom Chrono Trigger + save
http://www.megaupload.com/?d=FAAUMLMJ

Par ou dois-je commencer mes recherches dans la rom pour éditer ces informations ?

Merci par avance !!
Dernière modification par kogami le 02 août 2009, 12:52, modifié 1 fois.
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

Aprés de longue recherche, je suis parvenus à faire quelques chose qui me satisfait.

Dommage le résultat obtenu n'est pas ce que je souhaitais, mais je ferais avec.
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Re: Petite aide sur Chrono Trigger

Message non lu par Ti Dragon »

En fait, c'est un problème de Tilemap (sans regarder la ROM) : il faut que tu trouves l'arrangement des tiles, en général grâce à un debugger. Manipuler un tel outil n'est pas nécessairement simple sans une connaissance minimum des fonctions associées et, plus généralement, du ROMhacking.

Bien sûr, il existe une autre méthode dédiée aux débutants pour peu que le code d'affichage ne soit pas "compressé" (méthode appliquée aux jeux japonais quand on cherche à faire une table de caractères) : il faut remplacer tes tiles par les lettres de l'alphabet puis utiliser un outil de recherche relative (pas besoin d'expliquer pourquoi ;)). Attention à faire en sorte que l'espacement entre chaque tile représente le même agencement qu'entre les lettres de l'alphabet. Sinon, il est évident que ça ne fonctionnera pas ^^.

Sinon, tu t'y es pris comment ?
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

En fait, c'est un problème de Tilemap (sans regarder la ROM) : il faut que tu trouves l'arrangement des tiles, en général grâce à un debugger. Manipuler un tel outil n'est pas nécessairement simple sans une connaissance minimum des fonctions associées et, plus généralement, du ROMhacking.
C'est tout à fais ça !!

J'ai réussi à trouver les octects qui permet de modifier l'agencement des sprites, mais impossible de modififer correctement les sprites.

Après chaque modification, j'ai seulemement une bouilli de pixel, donc j'ai mis juste 2300, 1999, 1000, 600 , - 12 000, -65000000.

En gros ce qu'avait fais Terminus Traduction.

Sinon j'aimerais votre avis

Image

Sur cette image j'ai juste fais un test, que me proposerez vous comme traduction ? Sachant qu'on est limité et qu'on ne peux pas dépasser le texte d'origine.
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Re: Petite aide sur Chrono Trigger

Message non lu par Ti Dragon »

"refused" est au passé. Il devrait également l'être en français ;) Bref, la traduction est trop "textuelle" mais, si tu dois respecter un nombre de tiles, on va effectivement être vite limité dans les possibilités.

Sinon, dommage pour tes tiles de CT... Avoir l'agencement et ne pas pouvoir modifier comme on le souhaite, c'est frusrtant... Il y a certainement une erreur dans ce que tu as fait ^^. Mais, bon : tant que ça fonctionne, c'est le principal.
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

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

Re: Petite aide sur Chrono Trigger

Message non lu par BahaBulle »

Ti Dragon a écrit :... Il y a certainement une erreur dans ce que tu as fait
A moins qu'il y ait une compression.

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

A moins qu'il y ait une compression.
Oui pour les tiles je soupçonne une compression, si vous voulez y jeter un coup d'oeil

Chercher,
F400AC0104008C0114008E012400880103F800A0010800A201180088

Puis remplacer par,
FC0088010C008C011C008E012C008A0103FE00A0010E00A2011E008A
"refused" est au passé. Il devrait également l'être en français Bref, la traduction est trop "textuelle" mais, si tu dois respecter un nombre de tiles, on va effectivement être vite limité dans les possibilités.
Que me proposerais tu Ti si tu aurais toute la place disponible ?
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

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

Re: Petite aide sur Chrono Trigger

Message non lu par BahaBulle »

Après avoir jeté un oeil rapide, les tiles sont compressés en LZ.

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

Je ne suis pas trop un pro du romhacking, mais pourrais-tu me dire à peu prêt coment je dois m'y prendre pour arriver à mes fin, ce que je devrais faire ?

C'est déjà sympas d'avoir regardé.
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

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

Re: Petite aide sur Chrono Trigger

Message non lu par BahaBulle »

La première étape est d'analyser et comprendre la routine de décompression.

- Une fois cette étape réalisée, le plus simple est de créer les outils gérant tout ça (décompresseur et compresseur).
- Tu peux aussi faire "à la main" mais ce serait vraiment très long et chiant. Je crois que Flash avait déjà tenté de faire un truc comme ça pour Final Fight 2.
- Tu peux également tenter d'insérer tes nouveaux tiles non compressés dans un espace vide puis modifier l'appel de la routine de décompression pour appeler une nouvelle routine qui va simplement lire les octets de tes nouveaux tiles.

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

A ok j'avais mal compris, j'ai réussi à décompresser les tiles avec Temporal Flux.

Image

Ce GFX ce trouve:
Debut_____Fin_______Type_____Compress_____Description
038000____038B6B____GFX________Yes________Time Period Selection

J'ai modifié "A.D." en "An" puis ré-inseré le tout dans la rom.

Je me retrouve avec cette image dans le jeux
Image

Et enfaite j'aurais voulus déplacer le tile "An" juste devant 2300
Image
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

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

Re: Petite aide sur Chrono Trigger

Message non lu par BahaBulle »

Je croyais que tu avais trouvé comment les déplacer :
kogami a écrit :
J'ai réussi à trouver les octects qui permet de modifier l'agencement des sprites, mais impossible de modififer correctement les sprites.

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

En faite j'ai trouvé quelle valeur hexa il faudrait changer pour modifier l'ordre des images (les valeur hexa donné plus haut)

Mais je n'ais pas compris coment la structure été faite pour pouvoir les modifier à ma guise :cry:

Je suis parvenus a passer le - devant 65 000 000 sans que ca pose de problème.
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

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

Re: Petite aide sur Chrono Trigger

Message non lu par BahaBulle »

Il me faudrait des saves snes9x où apparaissent ces sprites pour regarder en détail.

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

Ici tu trouvera une save compatible avec snes9x + la rom avec les tile/GFX modifié

http://kogami.free.fr/Photo/Chrono_Trig ... 20Save.zip

C'est la 1er save, tu arrivera sur la map, tu patiente et les graphismes aparaitrons tout seul.
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

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

Re: Petite aide sur Chrono Trigger

Message non lu par BahaBulle »

Finalement, pas eu besoin de saves :)

Ces tiles sont utilisés comme sprites donc ils n'utilisent pas de tilemap à proprement parlé mais plutôt des coordonnées X et Y.
Chaque sprite est géré par 4 octets et équivaut à un tile de 16*16 (dans le cas présent) :
Octet 1 : Coordonnée X (8 bits)
Octet 2 : Coordonnée Y (8 bits)
Octet 3 : Numéro du tile (1 + 8 bites)
Octet 4 : Flip vertical (1 bit), Flip Horizontal (1 bit), Priorité (2 bits), Palette (3 bits) et le dernier bit correspond au premier bit du numéro du tile (pour faire 9 bits).

Le fonctionnement des années est le suivant :
1 octet pour indiquer le nombre de sprites à lire.
4 octets pour chaque sprites.

Les données commencent en 0x3F852 :

Code : Tout sélectionner

       ?       0x3F875  (2 sprites)
     600 AD    0x3F85F  (2 sprites)
    1000 AD    0x3F852  (3 sprites)
    1999 AD    0x3F89C  (3 sprites)
    2300 AD    0x3F868  (3 sprites)
   12000 BC    0x3F88F  (3 sprites)
65000000 BC    0x3F87E  (4 sprites)
Avec tout ça, tu peux mettre n'importe quel tile dans l'ordre que tu veux.
Pour cela, il suffit de changer le 3ème octet de chaque sprite.
Si tu ne veux plus que la date s'affichent en bas à gauche, tu modifies les octets 1 et 2 pour la mettre en haut à droite par exemple.

Maintenant, si tu veux augmenter le nombre de sprites pour ajouter un - par exemple, il va falloir déplacer les données dans un espace libre plus grand et modifier les pointeurs en conséquence.
Dernière modification par BahaBulle le 12 janv. 2009, 16:33, modifié 1 fois.

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

Merci infiniment BahaBulle, avec tes explications clair ET précise, je suis parvenus à modifier ce que je voulais.

Petite photo

Image

Franchement c'est trop fort ce que tu arrive à faire juste en regardant un morceau du code, tu arrive à tout déchifrer.

Je suis encore loin de ce niveau :cry:

J'y retourne, il me reste pas mal de travail à faire pour les autres époques !!
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

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

Re: Petite aide sur Chrono Trigger

Message non lu par BahaBulle »

Tu devrais essayer de retoucher les tiles pour qu'on voit bien le contour du cadre et virer le trait vertical au milieu.

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

Oui c'est bien ce que je comptais faire, là pour comencer je place tout ca correctement et ensuite je retoucherais tout ca :mad:
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

Avatar de l’utilisateur
Aurette
Maître en Flood
Messages : 279
Inscription : 09 nov. 2002, 22:44
Contact :

Re: Petite aide sur Chrono Trigger

Message non lu par Aurette »

Ouah, balèze tout ça ! Bravo !
"The worst foe lies within the self."

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

Pour ce que ça intéresse, voici les versions final de mes modifications:

Image

Image

Image

Image

Image

J'y ai passé pas mal de temps, me reste encore quelques GFX à modifier et après fini !!!

Sinon BahaBulle, te serait'il possible d'expliquer comment tu a procedé pour trouver toutes les infos relative au tiles ?

Je pense que ta démarche pourrais servir pour trouver d'autres infos à l'avenir sur d'autres roms.

A part ça, nous somme actuellement entrain de traduire un hack basé sur Chrono Trigger, si je me souviens bien Ti avait fait une news concernant ce Hack.

Il s'agit de Chrono Trigger Prophet's Guile
http://www.chronocompendium.com/Term/Ch ... Guile.html

On utilise principalement comme outils Temporal Flux
http://geigercount.net/crypt/

Et pour le reste, un simple éditeur d'hexadecimal.

J'espaire pouvoir proposer mon 1er vrais patch sur la T.R.A.F :D
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

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

Re: Petite aide sur Chrono Trigger

Message non lu par BahaBulle »

kogami a écrit :Sinon BahaBulle, te serait'il possible d'expliquer comment tu a procedé pour trouver toutes les infos relative au tiles ?
J'ai tracé le code ASM et recherché les transfert DMA copiant les données dans l'OAM et après quelques points d'arrêts, j'ai trouvé le bon transfert et j'ai analysé le code ASM au-dessus pour voir où et comment il lisait les données.
Dernière modification par BahaBulle le 14 janv. 2009, 14:10, modifié 1 fois.

Avatar de l’utilisateur
Aurette
Maître en Flood
Messages : 279
Inscription : 09 nov. 2002, 22:44
Contact :

Re: Petite aide sur Chrono Trigger

Message non lu par Aurette »

Bravo Kogami, c'est superbe !
The prophet's Guile, quelle bonne idée de le traduire !
Faudra que je l'essaye alors !
"The worst foe lies within the self."

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 768
Inscription : 17 juin 2004, 16:47

Re: Petite aide sur Chrono Trigger

Message non lu par kogami »

Petite chose insolite qu'on n'a pas l'habitude de voir sur le TRAF, lorsqu'on traduit des jeux snes, généralement on fais un beta test sur emulateur, on essaye de prendre de préférence un emulateur qui ce raproche le plus possible du hardware d'origine (Bsnes est pas mal pour ca)

Malheresement comme chacun le sait, les emulateurs ne reflette par forcement le rendu final que l'on pourrait avoir sur le vrais hardware.

J'ai donc décider de réaliser une cartouche test qui me permetera de tester directement ma rom modifié.

Image

En gros c'est une cartouche à base d'eprom 27C801, d'ailleurs les programmeurs de l'époque avais ce même type de cartouche pour testé leur programme (je n'ai rien inventé ^^)

Image

Je dois encore retravailler ma cartouche test pour lui mettre des support ZIF ce qui permetera un meilleur accés pour insérer les eproms

Image
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

Avatar de l’utilisateur
rid
Dieu Suprême du flood
Messages : 2045
Inscription : 04 janv. 2005, 22:17
Contact :

Re: Petite aide sur Chrono Trigger

Message non lu par rid »

Alors là, bravo les gars.
C'est assez impressionant de voir la rapidité avec laquelle Baha a trouvé comment fonctionnait l'affichage des sprites (1h15 env :)).

Répondre