Comment ça se présente ?
Vous vous demandez surement à quoi l'hexadécimal ressemble? Voici un petit exemple:
Arrrrgh !!!!! Mais qu'est-ce que c'est que tout ça ??!!?
Ne vous inquiétez pas, votre réaction est tout à fait normale !
C'est un "langage" (on pourrait dire) plutôt compliqué que peut de monde arrive à comprendre, mais pourtant, il va nous être grandement utile...
D'accord, mais quel logiciel ?
Pour utiliser les "bienfaits" de l'hexa (ça va plus vite que de dire hexadécimal), il nous faut un logiciel, et pour cela, je vous propose Hex-Editor MX !
Télécharger Hex-Editor MX:
http://www.pokemon-legendary.com/downloads/Hex-EditorMX.zip
Ce super logiciel à la pointe de la technologie va vous permettre de lire votre rom en hexadécimal !
Ouvrez-le:
Oulaaaaa !!! Mais c'est tout en Allemands !
Ne vous inquiétez pas, faites tout comme moi, cliquez sur "optionen" en haut, puis sur "Einstellugen...", vous arrivez ici:
Cliquez ensuite sur "Sprache" à gauche et choisissez Français, un message s'affichera, cliquez sur "OK":
Fermez le logiciel et relancez-le, IL EST EN FRANÇAIS !!!
Faites fichier, ouvrir, puis insérez une rom gba, nous allons passer à la pratique...
Comprendre le système Hexadécimal
Une foi votre rom gba ouverte sur Hex Editor, vous obtenez ceci, pour ma part, j'ai ouvert Pokémon Rouge Feu:
Voilà quelque chose de bien compliqué...
Commençons par le commencement, vous remarquerez que si vous sélectionnez du code, la partie correspondante, à droite, se sélectionnera elle aussi:
C'est le principe ! La partie à gauche correspond à celle de droite !
Vous remarquerez tout à gauche qu'il y a plein de petits "0x000quelquechose:", regardez:
Regardons-en un de plus près...Mais oui, c'est bien un offset !
Mais nous, nous les connaissions avec un "$" à la place du "0x"
Si vous êtes perspicaces, vous aurez compris qu'un offset correspond à chaque ligne, la partie bleu est de l'hexa, et la partie noire est ce que le jeu va comprendre. En gros, chaque offset contient des informations.
Par exemple, pour créer un warp, vous vous souvenez ? Il faut trouver un offset libre par FSF, vous le rentrez, et la mémoire de l'offset se remplira. L'offset contiendra les informations nécessaires pour que le warp vous mènent là où vous avez choisi.
En faisant un schéma simple:
J'arrive au warp dans le jeu ----> Le warp renvoi à un offset (celui que l'on a entré sur Advance Map)----->Les informations quui sont dans l'offset disent: Attention, on est sur un warp, il faut sa rendre à tel endroit------>L'information revient au jeu, on se retrouve à l'endroit voulu !
D'autres évènements doivent fonctionner avec 2 offsets, comme un script par exemple:
L'un contient les informations concernant le script, par exemple, s'il vas y avoir un combat, si il va y avoir un déplacement, ou un effet comme tremblement de terre ou un effet de flash ect...
Le deuxième sert à stocker les paroles du personnage.
Encore un exemple ? Et bien les images ! Elles aussi ont besoin de deux offsets:
Le premier contient les informations sur la palette.
Le deuxième contient l'image.
Si cous changez de palette, l'image aura la même forme mais pas la même couleur.
Bon, c'est très joli tout ça, mais comment on reconnais un offset vide ?
C'est simple, il n'est constitué que de F:
Votre première modification en programmation
Maintenant que vous avez compris comment fonctionne l'hexa, on vas passer à la pratique.
Nous allons changer les données de la rom ! Pour cela, on va utiliser un petit logiciel appelé Rom Header Editor !
Télécharger Rom Header Editor:
http://www.pokemon-legendary.com/downloads/RHEA.zip
Ouvrez le logiciel et chargez la même rom qui est en même temps ouverte sur Hex Editor, vous arrivez ici:
Ici vous pourrez changer le code du jeu (ce que je ne vous conseil pas, vous ne pourrez plus ouvrir la rom avec les éditeurs), vous pourrez changer aussi le nom de la rom ainsi que son fabriquant.
Retournez sur Hex Editor et regardez bien cet endroit:
Retournez sur RHEA (Rom Header Editor Advance), changez le nom de la rom puis sauvegardez:
Fermez RHEA et Hex Editor, relancez Hex Editor, insérez votre rom et... :
INCROYABLE, vous avez changé le nom de la rom, qui été inscrit en Hexadécimal !
ATTENTION changez plutôt le nom de votre Hack-Rom une foi celle-ci terminée car une foi changé, les éditeurs ne pourront plus lire votre rom et vous ne pourrez plus qu'y jouer sur votre Emulateur. Certains Rom-Hackers font cela pour empêcher d'autres personnes de travailler sur leur création et gardent ainsi leurs secrets de "fabrication"