[TUTO][GBA] Ajouter un écran d'introduction

Pages: [1] 2 3 4

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 13:13
Bonjour, aujourd'hui, on va apprendre à ajouter un écran d'introduction sur R/S/E/RF/VF.
You are ready? Steady? Go!

MATERIELS
Bimbo
Notepad++
GBA Tool
Goldroad
ROM R/S/E/RF/VF (à vous de voir)
Un cerveau (Donc les boulets, bye bye)
Hex-Editor MX
Paint (vous l'avez avec Windows)
Invite de commande (vous l'avez avec Windows)
La routine
screen.h (inclue avec Bimbo)

TUTO (ETAPE 1)
Téléchargez les logiciels dans le même emplacement, C\:Users\"Nom de la session Administrateur".
Après, les cas diffèrent:
-Si vous avez une image 240x160 pixels, ouvrez Paint, faites Fichier->Enregistrer sous, et choisissez "Bitmap 256 couleurs" dans la liste déroulante tout en l'enregistrant dans C:\Users\"Nom de la session Administrateur"

-Si vous avez une image avec une taille différente, ouvrez Paint, faites Outils->Attributs, puis redimensionnez -la en 240x160, puis faites ce qui est écris ci-dessus.

Si vous n'avez pas d'image, ouvrez Paint, dessinez votre image, puis faites ce qui est écris ci-dessus.

Ca y est, vous avez l'image et vous en avez fini avec Paint!

TUTO (ETAPE 2)
Ouvrez Bimbo. Cliquez sur Open et choisissez votre image.
Mettez le mode 4.
Vous pouvez régler le contraste de l'image avec Brightness, Contrast et Saturation.
Puis cliquez sur Export.
Choisissez ".asm" dans la liste déroulante, donnez le même nom que l'image et enregistrez.

Ca y est, vous en avez fini avec Bimbo!

TUTO (ETAPE 3)
Ouvrez maintenant le fichier qui vient d'être crée avec Notepad++.
Faites Recherche->Recherche, puis l'onglet Remplacer.
Dans Recherche, tapez "DCW".
Dans Remplacer par, rentrez "@DCW", puis cliquez sur Remplacer tout.
Enregistrer, puis fermer.

Et voilà, l'image est préparée!

TUTO (ETAPE 4)
Ouvrez votre Rom avec Hex Editor MX.
Repérez un offset libre.
Notez-le, ce sera l'offset de la routine.
Ajoutez 4 octets à cette offset et notez-le, ce sera l'offset de la palette.
Puis ajouter 200 octets à l'offset de la palette, ce sera l'offset de l'image, bien sûr, notez-le.

Et voilà, l'étape 4 est terminée!

TUTO (ETAPE 5)
Vous avez certainement remarqué, la routine n'est pas téléchargable.
Il faut donc la préparer.
Ouvrez Notepad++.
Ouvrez un nouveau document, puis copiez le contenu de la page.
Si vous pouvez télécharger la routine, commencez maintenant cette étape.
Maintenant, modifions quelques lignes.
A la ligne 4, remplacer les XXX par le nom de l'image.
A la ligne 11, remplacer les XXX par l'offset de l'image.
A la ligne 14, remplacer les XXX par l'offset de la palette.

Pour changer le bouton de passage de l'écran d'introduction, changer la ligne 29 de la routine selon ce mini-site qui se trouve ici(Merci à M@t)
Enregistrer en le nommant "routine" et en choisissant "ASM" dans la liste déroulante.

Voilà, s'en est terminée avec Notepad++!

TUTO (ETAPE 6)
Ouvrez l'invite de commande.
Puis rentrez "goldroad routine.asm"
Un fichier GBA se crée alors.
Ouvrez-le avec Hex Editor MX.
Cliquez sur Edition->Marquer puis cocher Tout le fichier, puis faites OK.
Puis cliquez sur Edition->Copier, et fermer.

Courage, on a presque fini!

TUTO (ETAPE 7)
Rebasculez vers la Rom ouverte avec Hex Editor, à l'étape 4.
Faites un clic droit à l'offset de la routine, et faites Coller.
Sauvegarder, puis fermez Hex Editor MX.

Allez, plus qu'une étape!

TUTO (ETAPE 8)
Ouvrez GBA Tool.
Allez dans Fichier->Rom->Ouvrir, et séléctionner votre Rom.
Puis dans la partie "Adresse départ", mettez l'offset de la routine (en laissant le 08).
Allez dans Fichier->Rom->Sauvegarder.

Terminé!

TUTO (ETAPE FACULTATIVE)
-A l'étape 7, lors du collage, la Rom s'aggrandit.
Vous pouvez donc supprimer le superflu en marquant la zone de superflu (Edition->Marquer), puis la supprimer (Clic droit->Supprimer).

-Si vous voulez voir si cela marche, il faut démarrer la Rom avec un émulateur GBA (Visual Boy Advance de préférence).

Une vidéo pour comprendre:


Voilà, c'est la fin de ce tuto. Si vous avez besoin d'aide, ou si vous des questions ou suggestions, parlez-en ici.



Source: Pokémon Legendary
« Modifié: 31 juillet 2010, 02:03 par T@gekiss »

ミSł|ɘɴŦ - λ

  • Membre
  • 2232 posts
08 juillet 2010, 13:19
Aie, faudrait éviter les liens vers les ROM, tout le monde sait se servir de Google, sinon c'est parfait  :haulas:.

Boogy

  • Membre
  • 8335 posts
08 juillet 2010, 13:21
GG Bon TUTO !
Heuresement que Pokemon Legendary est la !!!...
« Modifié: 08 juillet 2010, 13:22 par Boogyfr »

Sainior

  • Membre
  • 6362 posts

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 13:22
C'st un lien indirect vers les Roms, et mieu vaut prévenir les boulets.

yago58

  • Invité

Boogy

  • Membre
  • 8335 posts
08 juillet 2010, 13:23
Tu as dis aux boulets de partir de ce TUTO pourtant :baffan:

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 13:27
Bah oui...Mais tu sais, ils existent des boulets qui ne se considèrent pas comme des boulets. :cheval [/HS]

Chanman

  • Membre
  • 8817 posts

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 14:14
Il faudrait épingler ce tuto, non?

M@T

  • Membre
  • 15146 posts
08 juillet 2010, 14:29
Bon tuto, bien joué.

Dans N++, Ctrl+H pour remplacer, ça va plus vite.
Pour les touches à presser, ça doit être les mêmes que pour les codes AR.
Pour L+R par exemple, essaye avec 0x300 (faudra sûrement convertir en décimal, mon portable n'a pas cette fonctionnalité mais de tête je dirais que ça fait 768, à confirmer).
Si ça fonctionne, alors je pourrai faire un générateur en ligne.

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 14:35
Je test, et pour que je ne fasse pas quelque chose pour rien, quel est la valeur hexadécimal de Start? (En décimal c'est 8)

M@T

  • Membre
  • 15146 posts
08 juillet 2010, 14:37
Bah c'est 8 aussi...  :cheval

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 14:38
Je veux dire la valeur de Start avec les codes AR...

M@T

  • Membre
  • 15146 posts
08 juillet 2010, 14:48
Pour passer de l'un à l'autre, faut faire un NON binaire (en 16 bits).
Par exemple, pour Start, c'est 0xFFFF & NOT(0x0008), soit 0xFFF7.
Regarde sur un code s'activant avec Start, ça devrait être ça.

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 14:58
Je viens de comprendre.
Pour passer de l'un à l'autre, faut faire un NON binaire (en 16 bits).
Par exemple, pour Start, c'est 0xFFFF & NOT(0x0008), soit 0xFFF7.
Regarde sur un code s'activant avec Start, ça devrait être ça.
Tu vois ce qui est en rouge?
Et bien c'est cette valeur là qu'il y a dans la routine.

Luigi

  • Membre
  • 1994 posts
08 juillet 2010, 15:12
GG ton tuto  :winner:

M@T

  • Membre
  • 15146 posts
08 juillet 2010, 15:45
Je viens de comprendre.
Pour passer de l'un à l'autre, faut faire un NON binaire (en 16 bits).
Par exemple, pour Start, c'est 0xFFFF & NOT(0x0008), soit 0xFFF7.
Regarde sur un code s'activant avec Start, ça devrait être ça.
Tu vois ce qui est en rouge?
Et bien c'est cette valeur là qu'il y a dans la routine.

Euh oui, mais ça on le savait déjà...  :hum:
Tu me dis que la valeur pour Start est 8 dans la routine et que tu veux savoir comment retrouver la valeur dans un code AR.
Je t'explique, et là tu me sors "j'ai compris, la valeur dans la routine est 8"...  :teci:

Si tu as vraiment bien compris, quelle sera la valeur pour la combinaison Select+Haut dans la routine ?

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 16:48
Pour passer de l'un à l'autre, faut faire un NON binaire (en 16 bits).
Par exemple, pour Start, c'est 0xFFFF & NOT(0x0008), soit 0xFFF7.
Regarde sur un code s'activant avec Start, ça devrait être ça.
Il me manque la valeur en rouge...
Sinon, il faut soustraire le résultat par la valeur qui me manque, c'est ça?

M@T

  • Membre
  • 15146 posts
08 juillet 2010, 16:57
Ce que je t'expliquais, c'est que pour obtenir la valeur en rouge à partir d'un activateur de code AR, il suffit d'y appliquer la fonction NOT binaire.

Sinon, tu as essayé pour L+R ?  :hum:

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 17:24
Le jeu plante dès le démarrage. (Ecran blanc)
Valeur:768
« Modifié: 08 juillet 2010, 17:29 par T@gekiss »

M@T

  • Membre
  • 15146 posts
08 juillet 2010, 17:29
Avec 768 à la place de 8, t'as rien changé d'autre ?
Bizarre...  :hum:
Et avec 4, pour Select, ça marche ?

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 17:31
Avec 768 à la place de 8, t'as rien changé d'autre ?
Bizarre...  :hum:
Rien changé d'autre.
Et avec 4, pour Select, ça marche ?
Je teste tout de suite.

M@T

  • Membre
  • 15146 posts
08 juillet 2010, 17:35
Ok, merci, je testerai aussi dès que je serai rentré.

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 17:39
Comment tu as trouvé, pour Select, car ça marche!
Je l'ajoute à la liste tout de suite.
Merci M@t!

EDIT: Et j'ai repris les anciens fichiers (ce que j'ai utilisé pour le premier) pour le faire.
Donc, à mon avis...Le nombre était incorrect.
« Modifié: 08 juillet 2010, 17:42 par T@gekiss »

M@T

  • Membre
  • 15146 posts
08 juillet 2010, 17:51
Je t'ai déjà expliqué comment j'ai trouvé, tu sais que Select c'est 0xFFFB pour les codes AR, donc tu fais NOT(0xFFFB) = 4.

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 18:07
Nouvelle valeur:
3=A+B

M@T

  • Membre
  • 15146 posts
08 juillet 2010, 18:33
Je peux même te dire :

A = 1 = 0x0001
B = 2 = 0x0002
Select = 4 = 0x0004
Start = 8 = 0x0008
Droite = 16 = 0x0010
Gauche = 32 = 0x0020
Haut = 64 = 0x0040
Bas = 128 = 0x0080
R = 256 = 0x0100
L = 512 = 0x0200

Enfin, en théorie.

(on peut entrer indifféremment le nombre en hexa ou en décimal)

Pour faire une combinaison, ajouter les valeurs des boutons.

J'ai testé avec Select, ça fonctionne.
Je vais essayer avec Droite par exemple.

EDIT : Ça fonctionne.
« Modifié: 08 juillet 2010, 18:38 par M@T »

T@gekiss

  • Membre
  • 2889 posts
08 juillet 2010, 18:37
Ah oui, je vois, on multiplie par 2 à chaque fois...et il y a des combinaisons (3=A+B)

Je les ajoute à la liste ilico presto.

M@T

  • Membre
  • 15146 posts
08 juillet 2010, 18:39
Pour faire une combinaison, suffit d'ajouter les valeurs des boutons.

EDIT : L+R fonctionne à la perfection, aussi bien avec 768 que 0x0300, tu as dû te gourer quelque part tout à l'heure.
« Modifié: 08 juillet 2010, 18:42 par M@T »

Pages: [1] 2 3 4    En haut ↑