Samedi 12 Octobre 2024 - 12h46

Dossiers et Tutoriels Nintendo 64

Tutoriels | Dossiers | FAQ | Test de Matériel | Dossiers et Tutos Vidéo
 

 
Dossiers et Tutos N64


Modifier les Gfx de vos Roms Nintendo 64
Par BFrancois - Juin 2012



Liste des Chapitres :
1. Introduction
2. Pré-requis
3. Identifier les Gfx
4. Extraire les Gfx
5. Modifier les Gfx
6. Importer les nouveaux Gfx
7. C'est l'heure de tester
8. Conclusion


› 1. Introduction


Dans les précédents dossiers, nous avons vu qu'il était possible de modifier les textures des Roms N64 en passant par des plugins (RiceVideo par exemple).
Cette méthode permettait de créer/charger des textures HD sans modifier le Rom, tout le travail étant fait par le plugin.
De ce fait, il était impossible de jouer avec de nouvelles textures avec d'autres plugins ou directement sur la Nintendo 64.

La solution serait de modifier les Gfx directement dans le Rom...
Nous allons donc voir étape par étape comment cela est possible en modifiant ensemble quelques Gfx du Rom F-Zero-X.


› 2. Pré-requis


Pour modifier les Gfx des vos Roms N64, vous aurez besoin de :

- Gimp (ou autre logiciel de dessin) : Modifier les gfx
- Tile Molester : Identifier les Gfx
- N64Gfx : Importer et exporter les Gfx du Rom
- Real N64 CRC Tool : Modifier le Cheksum du rom
- D'un rom N64 (nous utiliserons dans ce tuto le Rom américain : "F-ZERO X (U) [!]")

Attention, N64gfx risque de vous poser problème :
- L'utilitaire ne fonctionne pas avec les versions 64 bits de Windows.
- Le frontend qui accompagne N64gfx sera sûrement identifié comme un fichier dangereux par votre antivirus.


› 3. Identifier les Gfx


Première étape, nous allons essayer d'identifier des Gfx de F-Zero que nous voulons modifier :
- L'avatar de Captain Falcon
- Le logo N64 (celui de l'intro)

Lancez Tile Molester (double-cliquez sur le fichier "tm.bat") et charger le Rom "F-ZERO X (U) [!].z64" :



Le contenu du Rom s'affiche alors dans la fenêtre de Tile Molester.
L'application reconnaît les roms N64, il chargera donc automatiquement le bon Codec et le bon Mode pour afficher les Gfx.

Pour sélectionner le Codec manuellement, allez dans "View" puis "Codec", et choisissez "16bpp TGBA (5551)".
Pour sélectionner le Mode manuellement, allez dans "View" puis "Mode", et choisissez "2-Dimentional".
Pour zoomer/dé-zoomer, allez dans "View" puis "Zoom".



Zone A : Ces outils permettent de naviguer dans le Rom
Zone B : Ces outils permettent de modifier les Gfx, mais je vous déconseille fortement d'y toucher car l'éditeur de Tile Molester est mal fichu (de toute manière, nous n'en aurons pas besoin car nous allons utiliser N64gfx)
Zone C : Informations diverses


Les outils (de la Zone A) :


La première icone permet d'aller à un point précis dans le Rom en entrant une adresse (Offset). La seconde permet d'enregistrer plusieurs adresses.



Permet de modifier l'affichage, c'est à dire le nombre de tiles affichés à l'écran en largeur et en hauteur (dans Tile molester, 1 tile = 1 bloc de 8x8 pixels). Indispensable pour bien afficher un gfx.



Permet de faire défiler le contenu du Rom
(raccourcis clavier : Touches "Page Suivante" / "Page Précédente")



Affiche les 8 lignes suivantes/précédentes
(raccourcis clavier : Touches "Bas" / "Haut")



Affiche les 8 pixels suivants/précédents
(raccourcis clavier : Touches "Droite" /"Gauche")



Avancer/reculer d'un octet (byte). Attention, il faut avancer de 2 octets pour avancer d'un pixel. Avancer d'un octet modifiera la palette de couleurs des Gfx.
(raccourcis clavier : Touches "+" / " -")


Les informations (de la Zone C) :


002787F9 : indique l'endroit de la rom où nous nous trouvons (Offset).
(2,0) : indique le tile qui se trouve sous la souris (x,y)
16bpp TGBA (5551) : indique le Codec utilisé (sélectionné automatiquement par Tile Molester)
2-Dimentional : indique le mode utilisé (sélectionné automatiquement par Tile Molester)
16x16 : indique la taille en tile de la fenêtre (16 tiles = 128 pixels)


A la recherche de l'avatar de Captain Falcon :

Maintenant que vous savez à quoi servent les outils, nous allons parcourir le Rom.
Nous resterons sur l'affichage par défaut : 16x16 tiles.

Parcourez le contenu du rom en utilisant la touche "Page Suivante".
Vous allez apercevoir plusieurs Gfx qui s'affichent mal, c'est normal ;)
Pour accéder à la section qui nous intéresse, appuyez 59 fois sur la touche "Page Suivante".
Si vous êtes perdu, allez à l'Offset "001D8000" en cliquant sur la première icône de ce bloc d'outils :





Les gfx ne s'affiche pas avec la bonne couleur, appuyez donc sur la touche "+" pour avancer d'un octet.
Miracle ! Ça ressemble un peu plus à quelque chose.
Reconnaissez-vous les avatars des pilotes ? ^^



Les gfx s'affichent mal car nous sommes en affichage 16x16 tiles (128x128 pixel).
C'est normal car les avatars ont une largeur inférieure.

Pour modifier l'affichage, utilisez les outils :



En mettant l'affichage en 4x16 tiles, les avatars sont désormais de bonne taille :



L'avatar qui nous intéresse est celui de Captain Falcon.
Utilisez les touches "Haut" / "bas" pour le localiser (il se trouve vers le haut).
Utilisez ensuite les touches "Gauche" / "Droite" et "+" / "-" pour bien caler l'avatar en haut à gauche de l'écran.
Si vous êtes perdu, allez à l'Offset "001D2FAF" en cliquant sur la première icône de ce bloc d'outils :





Notre Gfx est maintenant identifié, et il se trouve à l'Offset "001D2FAF" (c'est marqué en bas dans la Zone C).


A la recherche du logo N64 :

Repassez l'affichage en 16x16 tiles grâce aux outils :



Puis continuez à parcourir le Rom avec la touche "Page Suivante".
Au bout d'une 20aine de pages, vous allez tomber sur un gros logo N64.
Comme tout à l'heure, utilisez les flèches et +/- pour bien le caler.
Si vous êtes perdu, allez à l'Offset "002787F7" en cliquant sur la première icône de ce bloc d'outils :





On regarde de nouveau en bas (Zone C) et on récupère l'Offset : "002787F7".

Maintenant que nous avons identifié les 2 gfx que nous voulons modifier, nous allons pouvoir passer à l'étape suivante.


› 4. Extraire les Gfx


Pour extraire les Gfx de F-Zero X, nous allons avoir besoin de N64gfx.
Je vous rappelle que pour utiliser N64gfx, vous devez obligatoirement avoir un Windows 32 bits.

Si vous ne désirez pas utiliser le frontend ou si votre antivirus vous empêche de le lancer, vous devrez utiliser des lignes de commandes.
Ne vous inquiétez pas, j'expliquerai les 2 méthodes ;)

Tout d'abord, mettez votre rom "F-ZERO X (U) [!] dans le même dossier que N64gfx, puis renommez-le en "fzerox.z64".
Ça évitera tout plein de problèmes ;)


Extraire l'avatar de Captain Falcon :

1ère méthode (frontend) :
Lancez N64gfxfrontend.exe, puis remplir les champs comme sur l'image ci-dessous, puis cliquez sur le bouton "Run N64gfx" :



2ème méthode (lignes de commandes) :
Créez un fichier "exporter.bat" avec le Bloc-note dans le même dossier que N64gfx, avec le contenu ci-dessous, puis lancez le fichier BAT :



Contenu du fichier BAT :
n64gfx fzerox.z64 -mode n64high -offset 0x1D2FAF -size 32 32 -block 32 32 -export avatar.png
pause


Remarque :
Pour enregistrer le fichier "exporter.bat" avec le Bloc-note, Faites "Enregistrer-sous", puis :
- Saisir "exporter.bat" dans le champ "Nom du fichier"
- Sélectionner "Tous les fichiers (*.*)" dans le champ "Type"
- Puis "Enregistrer"
N'oubliez pas de sélectionner le dossier dans lequel se trouve N64gfx avant d'enregistrer.
Pour modifier un fichier .BAT déjà créé, faite un clic droit sur le fichier, puis cliquez sur "Modifier".

Vous obtiendrez alors cette image PNG :


avatar.png


Voici quelques explications :

Rom name : fzerox.z64 (nom du rom)
Mode : n64high (semble convenir pour la plupart des Roms N64)
Offset : 0x1D2FAF (c'est l'Offset que nous avons identifié tout à l'heure pour l'avatar de Captain Falcon, la seule différence est qu'il faut mettre "0x" à la place de "00" au début de l'Offset)
Size : 32 x 32 (taille du gfx que nous voulons extraire)
Palette : default (semble convenir pour la plupart des Roms N64)
Type & Size : block 32 x 32 (taille du "block" ou du "tile")
Operation : export (pour extraire le gfx)
Image name : avatar.png (nom du gfx qui va être extrait, n'oubliez pas l'extension .png)

Pour connaître la largeur du gfx, il faut multiplier le nombre de tiles par 8 (rappelez-vous dans Tile Molester, 1 tile = 8x8 pixels).
Tout à l'heure, il a fallu mettre l'affichage en 4x16 tiles pour avoir un bon affichage.
Par conséquent, la largeur du gfx est de : 4 tiles x 8 = 32 pixels

Pour connaître la hauteur, c'est un peu plus délicat (elle est rarement multiple de 8, sauf dans mon exemple) :
- Soit vous comptez le nombre de lignes que possède le Gfx dans Tile Molester.
- Soit vous faîtes une extraction "provisoire" avec une hauteur un peu plus grande, puis ouvrez l'image obtenue pour compter le nombre de lignes.

N'ayant aucune documentation sur N64gfx, je ne peux pas vous en dire plus pour l'instant.
Ce qui est sûr, c'est que ça fonctionne bien en mettant "Palette = default", "Mode = n64high", "Type = block" et les mêmes valeurs pour "Images size" et "Type & Size".


Extraire le logo N64 :

1ère méthode (frontend) :
Lancez N64gfxfrontend.exe, puis remplir les champs comme sur l'image ci-dessous, puis cliquez sur le bouton "Run N64gfx" :



2ème méthode (lignes de commandes) :
Créez un fichier "exporter2.bat" avec le Bloc-note dans le même dossier que N64gfx, avec le contenu ci-dessous, puis lancez le fichier BAT :



Contenu du fichier BAT :
n64gfx fzerox.z64 -mode n64high -offset 0x2787F7 -size 128 106 -block 128 106 -export logo.png
pause


Vous obtiendrez alors cette image PNG :


logo.png


Voici quelques explications :

Rom name : fzerox.z64 (nom du rom)
Mode : n64high (semble convenir pour la plupart des Roms N64)
Offset : 0x2787F7 (c'est l'Offset que nous avons identifié tout à l'heure pour le logo N64, la seule différence est qu'il faut mettre "0x" à la place de "00" au début de l'Offset)
Size : 128 x 106 (taille du gfx que nous voulons extraire)
Palette : default (semble convenir pour la plupart des Roms N64)
Type & Size : block 128 x 106 (taille du "block" ou du "tile")
Operation : export (pour extraire le gfx)
Image name : logo.png (nom du gfx qui va être extrait, n'oubliez pas l'extension .png)

Nous étions en affichage 16x16 tiles tout à l'heure, donc :
Largeur du Gfx = 16 tiles x 8 = 128 pixels.

Maintenant que nous avons nos 2 belles images, nous allons pouvoir les modifier ;)


› 5. Modifier les fichiers extraits


Pour modifier les images extraites, je vais utiliser Gimp (vous pouvez également utiliser Paint Shop Pro ou Photoshop).
L'avantage de Gimp est qu'il est gratuit ;)


Modifier l'avatar de Captain falcon :

Tout d'abord, Ouvrez le fichier "avatar.png" :



Modifier ensuite l'avatar sans modifier la taille de l'image, puis enregistrer les modifications (sans toucher aux paramètres du fichier) :




Modifier le logo N64 :

Ensuite, faites la même chose avec le fichier "logo.png".

Avant :



Après :



Il faut être certain d'extraire que la partie du gfx qui nous intéresse, sinon vous risquez de faire bugguer le rom.

Nos 2 nouveaux gfx sont maintenant prêts à être importés dans le Rom ;)


› 6. Importer les nouveaux Gfx


Pour importer nos 2 nouveaux Gfx, nous allons une nouvelle fois avoir besoin de N64gfx.


Importer le nouvel avatar de Captain Falcon :

1ère méthode (frontend) :
Lancez N64gfxfrontend.exe, puis remplir les champs comme sur l'image ci-dessous, puis cliquez sur le bouton "Run N64gfx" :



2ème méthode (lignes de commandes) :
Créez un fichier "importer.bat" avec le Bloc-note dans le même dossier que N64gfx, avec le contenu ci-dessous, puis lancez le fichier BAT :



Contenu du fichier BAT :
n64gfx fzerox.z64 -mode n64high -offset 0x1D2FAF -size 32 32 -block 32 32 -import avatar.png
pause


Si tout se passe bien, le nouvel avatar sera injecté dans votre Rom.
Pour vérifier si l'opération a bien fonctionné :
- Si vous avez utilisé le frontend, regardez la date et l'heure de modification de votre Rom.
- Si vous avez utilisé le fichier .BAT, la fenêtre indiquera "Importing avatar.png... Done".

Voici le détail :

Rom name : fzerox.z64
Mode : n64high
Offset : 0x1D2FAF (c'est l'Offset que nous avons identifié tout à l'heure pour l'avatar de Captain Falcon)
Size : 32 x 32
Palette : default
Type & Size : block 32 x 32
Operation : import (pour importer le gfx)
Image name : avatar.png (nom du gfx modifié)

Comme vous voyez, c'est la même chose que tout à l'heure, sauf qu'on utilise l'opération "importer".


Importer le nouveau logo N64 :

1ère méthode (frontend) :
Lancez N64gfxfrontend.exe, puis remplir les champs comme sur l'image ci-dessous, puis cliquez sur le bouton "Run N64gfx" :



2ème méthode (lignes de commandes) :
Créez un fichier "importer2.bat" avec le Bloc-note dans le même dossier que N64gfx, avec le contenu ci-dessous, puis lancez le fichier BAT :



Contenu du fichier BAT :
n64gfx fzerox.z64 -mode n64high -offset 0x2787F7 -size 128 106 -block 128 106 -import logo.png
pause


Si tout se passe bien, le nouveau logo sera injecté dans votre Rom.
Pour vérifier si l'opération a bien fonctionné :
- Si vous avez utilisé le frontend, regardez la date et l'heure de modification de votre Rom.
- Si vous avez utilisé le fichier .BAT, la fenêtre indiquera "Importing logo.png... Done".

Voici le détail :

Rom name : fzerox.z64
Mode : n64high
Offset : 0x2787F7 (c'est l'Offset que nous avons identifié tout à l'heure pour le logo N64)
Size : 128 x 106
Palette : default
Type & Size : block 128 x 106
Operation : import (pour importer le gfx)
Image name : logo.png (nom du gfx modifié)


Modifier le checksum du Rom :

Nous allons maintenant avoir besoin de Real N64 CRC Tool.
Cet utilitaire permet de mettre à jour le checksum de votre Rom N64 après l'avoir modifié.
Le cheksum permet de contrôler le Rom pour garantir l'intégrité de données.
Si vous n'utilisez pas cet utilitaire, il y a une forte probabilité pour que votre Rom modifié ne se lancent pas.

Placez ensuite votre Rom modifié "fzerox.z64" dans le répertoire de Real N64 CRC Tool.
Créez un fichier "n64crc.bat" avec le Bloc-note dans le même dossier que Real N64 CRC Tool, avec le contenu ci-dessous, puis lancez le fichier BAT :



Contenu du fichier BAT :
rn64crc -u nom_du_rom.z64
pause


Si la fenêtre n'affiche pas de message d'erreur, c'est que tout s'est bien passé.

Dans notre exemple, le Rom fonctionnera quand même si on ne met pas à jour le cheksum avec Real N64 CRC Tool, mais ça ne sera pas tout le temps le cas...

Voilà, le Rom est prêt à être testé avec un émulateur ;)


› 7. C'est l'heure de tester


Placez votre Rom modifié dans le dossier Roms de Project64, puis lancez l'émulateur.
Sélectionnez ensuite les plugins Jabo habituels, puis rafraîchissez la liste de vos roms (touche "F5").
Si votre rom apparaît dans la liste, double-cliquez dessus, sinon, faîtes "Fichier" puis "Ouvrir" puis sélectionner le Rom.

Résultat en images :




Résultat en vidéo : F-ZERO X avec des Gfx modifiés

Si vous ne voyez pas vos 2 nouveaux gfx, c'est que l'opération "importer" n'a pas fonctionné.
Si le rom plante, c'est que vous vous êtes trompé dans les paramètres d'import/export de "N64gfx", ou que le checksum n'a pas été modifié par "Real N64 CRC Tool".


› 8. Conclusion


Maintenant, il ne vous reste plus qu'à vous trouver un Rom N64 et vous amuser :)

Sur internet, il n'existe presque pas d'information sur l'utilisation de Tile Molester et N64gfx avec les Roms N64.
Par conséquent, la méthode que je vous propose est peut être incomplête ou imparfaite, mais ça fonctionne, et c'est le principal.

En parcourant vos roms N64 avec Tile Molester, vous allez vite remarquer qu'il est impossible de retrouver les gfx dans bon nombre de Roms.
En fait, cela ne fonctionne que pour les roms avec Gfx non compressés.
Pour F-zero X, il est hélas impossible d'afficher une partie des Gfx car ceux-ci sont compressés.
Seule solution, trouver un utilitaire permettant de compresser / décompresser votre Rom (nous verrons cela dans un prochain dossier).

Il faudra passer pas mal de temps dans Tile Molester pour retrouver vos Gfx.
Pour gagner un peu de temps, vous pouvez dumper certains Gfx avec le plugin RiceVideo (Voir dossier : "Changer les textures des vos Roms N64").
Vous connaîtrez ainsi leur dimension, et gagnerez un temps précieux pour les identifier dans Tile Molester.

Mais Tile Molester pose aussi un problème à cause de la taille de ses tiles (blocs de 8x8 pixels).
L'utilitaire ne permet pas de modifier la taille des tiles, de ce fait, vous ne pourrez jamais afficher correctement un Gfx ayant une largeur en pixel non multiple de 8 :/
Difficile donc d'identifier avec précision l'Offset ou se trouve le Gfx.

Lorsque vous modifiez les Gfx, faites attention car certains roms utilisent des palettes de couleurs spécifiques.
Gardez si possible les mêmes couleurs que le Gfx d'origine, sinon vous risquez d'avoir des surprises...

 
 
   


 
› Dernières mises à jour :

Quiz : Cruis'n USA

Notice : Top Gear Overdrive (Français)

Notice : Premier Manager 64 (Traduction)

Notice : Taz Express

Notice : NHL 99 (Français)

Notice : Mini Racers (Non Officiel)

Notice : NBA Live 99 (Français)


Voir toutes les Mises à Jour...


› Le saviez-vous ?

Seule la version Nintendo 64 de 007 - The World is Not Enough possède un mode multijoueur.


› Partenaires :

Delta-Island.Com

SyTest.Net


 
 

2001 - 2024 Emulation64.fr / Emulation64.net

Contact - Cookies - Mises à jour