Page 2 sur 2

Re: Besoin d'aide

Message non luPosté: Dimanche 3 Juin 2012 à 17:46:32
par Lyan53
ça ressemble bien à une table de pointeurs en effet, à voir sur le tas car en image c'est assez difficile de vérifier ça facilement, mais y'a de fortes chances pour que ce soit le cas


Et sinon qu'est-ce que sont les pointeurs ?

Bah en fait c'est très simple, ce sont juste des adresses (ou offset) qui t'indiquent ou se trouvent le début du texte pointé

Donc dans ceux que tu as mis en surbrillance, y'aurait un texte en 0x66, un autre en 0x72, encore un en 0x8A etc... le tout en partant toujours de la même adresse 0x00. Elle peut etre au début des textes, elle peut etre au debut de la table des pointeurs, elle peut etre au début du fichier (m'enfin là vu que tu bosses sur la rom entiere ou une archive non extraite, ce qui n'est pas recommandé car ça impose trop de limitations, ça ne va pas t'aider lourd) etc ...

Le but c'est de trouver ou se trouve l'adresse 0x00 (qui sera toujours la même pour chacun des pointeurs d'une même table) pour déterminer le point de reference à la base de chacune des adresses de la table

Comme tu utilise translhexion, normalement il de donne la taille du bloc mis en surbrillance dans la barre des tâches (en bas), mais si je me souviens bien il la refile en decimal donc à toi de convertir ça en hexa pour la correspondance

Imagine par exemple que ton 1er pointeur est 0x0A, ton texte pointé se trouvera donc à 10 octets (en décimal) en partant de l'adresse 0x00, si le début de ton bloc en surbrillance part de l'adresse 0x00 jusqu'au début de ton texte, tu auras donc un bloc de 10 octets (ou 0x0A octets)

Tous les pointeurs fonctionnent sur ce même principe

Grâce aux adresses des quelques 1ers pointeurs, tu peux facilement déduire ton adresse 0x00 en partant du début de ton texte que tu auras pris le soin de repérer en observant, et en remontant du nombre d'octets indiqué par ton pointeur

Tous ça c'est juste une question de logique, ce n'est pas bien compliqué, attention néanmoins à bien déterminer le début de ta table de pointeur (si par exemple l'adresse 0x00 est le début du texte, alors ton 1er pointeur aura l'adresse 0x00 et le 2eme pointera la 2eme phrase et non la 1ere), et également le morceau de texte auquel cette table correspond

Re: Besoin d'aide

Message non luPosté: Lundi 4 Juin 2012 à 18:29:52
par Bleachya43vier
Je relirai parce que là j'ai pas trop le temps.
Et merci pour tes explications ;)

Re: [NDS] Heroes of Mana

Message non luPosté: Samedi 9 Juin 2012 à 19:34:47
par pinktagada
Je me suis permis de renommer le topic pour plus de clarté et de visibilité.