omg
05/11/2007, 11h28
Jour 3 : Colorer un Jeu Gameboy - Expert
http://pa.org.free.fr/omg/tuto/cologb_j3/00.PNG
A - Introduction
Voilà enfin le dernier tutoriel de coloration qui fait suite et fin à la trilogie. Après avoir appris les bases de la coloration (http://www.playeradvance.org/forum/showthread.php?t=13874), àprès avoir appris à colorer des niveaux entiers (http://www.playeradvance.org/forum/showthread.php?t=14287), aujourd'hui nous allons voir de quoi sont vraiment capables les émulateurs "Made in" Brunni. Nous verrons comment rendre encore plus beau un jeu (faut quand même s'armer de patience pour cette partie) et nous verrons aussi comment optimiser votre fichier .pal.ini.
Pour suivre ce cours sans s'arracher les cheuveux, il est fortement conseillé d'avoir suivi les deux premiers tuto, ou d'avoir lu la doc de Masterboy de Brunni.
Encore un fois, je vous rappelle qu'aucune notion de programmation n'est vraiment nécessaire pour colorer un jeu. Bref, c'est pour tout le monde, oui même toi!
B - Les outils
On refait encore la liste de ce dont vous aurez besoin pour pouvoir laisser libre court à vos créations :
- d'un éditeur d'images comme par exemple MSPaint ou Gimp (j'utiliserai MSPaint)
- de la version spéciale de VBA Color Edition de Brunni dispo sur son site (http://brunni.dev-fr.org/index.php?page=pspsoft_masterboy)
- d'une copie de sauvegarde d'un de vos jeux Gameboy
- un éditeur de texte comme par exemple bloc note sous Windows ou vi si vous êtes sous Linux
Pour ce dernier tutorial concernant la coloration, nous prendrons pour exemple encore une fois : Donkey Kong Land.
Je vous rappelle que pour pouvoir travailler sur cette rom vous devez posséder le jeu original.
C - Coloration experte d'une Image
1 - Présentation de l'image
Nous allons travailler dans cette première partie du tuto encore une fois sur le screen de présentation de Donkey Kong Land :
http://pa.org.free.fr/omg/tuto/cologb_j3/01.PNG
Analysons encore une fois cette image afin de la colorer.
2 - Colorisation basique
Nous avions dans le dernier cours colorié entièrement cette image. Mais, franchement ça pourrait être quand même plus beau...
http://pa.org.free.fr/omg/tuto/cologb_j3/02.PNG
Cette image n'a pas d'âme...
En effet, la casquette de Diddy n'est pas rouge... Bref, ce macaque ressemble a une statue d'argile et ça ne le fait pas.
En suivant le tuto jour 2 nous aurions coloré Diddy de cette manière suivante:#Diddy
ColorIt.setPalette 6, rgb(240,210,117), rgb(143,86,1), rgb(101,64,0), rgb(0,0,0)
ColorIt.addTileRule 24, 25, 6
ColorIt.addTileRule 36, 37, 6
ColorIt.addTileRule 60, 60, 6
ColorIt.addTileRule 75, 79, 6
ColorIt.addTileRule 94, 98, 6
ColorIt.addTileRule 113, 116, 6
ColorIt.addTileRule 131, 135, 6
ColorIt.addTileRule 150, 154, 6
ColorIt.addTileRule 169, 172, 6
ColorIt.addTileRule 187, 190, 6
#Casquette de Diddy
ColorIt.setPalette 7, rgb(240,210,117), rgb(255,10,10), rgb(196,10,10), rgb(0,0,0)
ColorIt.addTileRule 38, 42, 7
ColorIt.addTileRule 57, 59, 7Malheureusement, ces couleurs débordent sur le reste du personage et un morceau de sa queue et de ses yeux se retrouvent rouge.
http://pa.org.free.fr/omg/tuto/cologb_j3/03.PNG
Pas vraiment génial...
Bref, on pourrait s'arrêter là et se jeter par la fenêtre... Mais voyons plutôt ce que Dr Brunni nous a concocté (hé oui il pense à tout!).
3 - Colorisation experte
Il est possible de redéfinir des tiles afin de mieux cibler les couleurs voire, dans certain cas, de redessiner des décors, des sprites, etc...
Ici, ce qui nous interresse, c'est de ne colorier en rouge que la casquette, sans toucher au reste.
Penchons nous sur les tiles qui posent problème :
http://pa.org.free.fr/omg/tuto/cologb_j3/04.PNG
A gauche c'est un agrandissement de la zone "sinistrée". A droite, l'équivalent en noir et blanc.
Il y a donc 6 tiles qui posent problème : 38, 39, 40, 57, 58 et 59.
Regardons de plus pret ces tiles :
http://pa.org.free.fr/omg/tuto/cologb_j3/05.PNG
Je vous rappelle le principe de la coloration. En gros, on attribue à un ou plusieurs tiles une nouvelle palette de 4 couleurs qui vient remplacer la palette de base qui est monochrome. Le problème avec ces 6 tiles c'est qu'une couleur (gris clair par exemple) va servir a deux endroit dans le même tile. Une fois pour l'oeil puis pour la casquette. Si on colore ce gris clair, en rouge, l'oeil et la casquette seront rouge.
Le but des nouvelles commandes que nous allons apprendre est de redéfinir un tile. En effet, nous allons modifier les pixels du tile afin de pouvoir mieux cibler notre coloration.
Vous n'avez pas compris ma phrase? C'est normal! Et c'est pour cela que nous allons mettre en application. Commençons par la tile 38. Cette dernière chevauche sur deux parties : la casquette et la queue de Diddy. Nous allons réorganier la palette de 4 couleurs monochrome afin de "séparer" les deux éléments. On garde le noir pour le fond, le gris foncé pour la queue et les deux autres couleurs pour la casquette :
http://pa.org.free.fr/omg/tuto/cologb_j3/06.PNG
Maintenant faisons le pour les autres tiles :
http://pa.org.free.fr/omg/tuto/cologb_j3/07.PNG
Nous allons retranscrire dans le .pal.ini notre nouveau tile 38. Pour cela, nous allons ré-écrire les 64 données (8x8pixels) du tile. Notons que :
- Blanc = 0
- Gris clair = 1
- Gris foncé = 2
- Noir = 3
C'est parti :
http://pa.org.free.fr/omg/tuto/cologb_j3/08.PNG
Nous avons donc une suite de 64 informations sur notre nouveau tile. Faisons de même pour les cinq autres.
Maintenant nous allons les colorer puis les intégrer au fichier .pal.ini grace aux commandes ColorIt.setTilesetData (pour définir un tile 8x8) et ColorIt.setTile (pour intégré le tile que nous avons confectionné dans une section) :#Diddy
ColorIt.setPalette 6, rgb(240,210,117), rgb(143,86,1), rgb(101,64,0), rgb(0,0,0)
ColorIt.addTileRule 24, 25, 6
ColorIt.addTileRule 36, 37, 6
ColorIt.addTileRule 60, 60, 6
ColorIt.addTileRule 75, 79, 6
ColorIt.addTileRule 94, 98, 6
ColorIt.addTileRule 113, 116, 6
ColorIt.addTileRule 131, 135, 6
ColorIt.addTileRule 150, 154, 6
ColorIt.addTileRule 169, 172, 6
ColorIt.addTileRule 187, 190, 6
#Casquette de Diddy
ColorIt.setTilesetData 0, L "22333333 22333333 22233333 22233330 22233301 22223011 22230110 22301100"
ColorIt.setTilesetData 1, L "33333333 33332222 32222111 21111122 11122222 12222222 22222222 22222222"
ColorIt.setTilesetData 2, L "33333333 22233333 21223333 22222333 22222333 22222233 22222223 22222212"
ColorIt.setTilesetData 3, L "22311111 32311111 33333111 33333333 32333330 32223300 32222300 32022300"
ColorIt.setTilesetData 4, L "22222222 22222222 22222222 33333333 11111111 00111111 00001110 00010000"
ColorIt.setTilesetData 5, L "22222222 22222233 33333333 31111133 11111113 11110003 00000003 01000003"
ColorIt.SetTile 38, 0
ColorIt.SetTile 39, 1
ColorIt.SetTile 40, 2
ColorIt.SetTile 57, 3
ColorIt.SetTile 58, 4
ColorIt.SetTile 59, 5
ColorIt.setPalette 7, rgb(240,210,117), rgb(255,10,10), rgb(196,10,10), rgb(0,0,0)
ColorIt.addTileRule 41, 42, 7
ColorIt.setPalette 8, rgb(0,0,0), rgb(143,86,1), rgb(196,10,10), rgb(255,10,10)
ColorIt.addTileRule 38, 38, 8
ColorIt.setPalette 9, rgb(0,0,0), rgb(196,10,10), rgb(0,0,0), rgb(255,10,10)
ColorIt.addTileRule 39, 40, 9
ColorIt.setPalette 10, rgb(0,0,0), rgb(101,64,0), rgb(240,210,117), rgb(196,10,10)
ColorIt.addTileRule 57, 57, 10
ColorIt.setPalette 11, rgb(0,0,0), rgb(196,10,10), rgb(240,210,117), rgb(101,64,0)
ColorIt.addTileRule 58, 59, 11Bon, passons au résultat :
http://pa.org.free.fr/omg/tuto/cologb_j3/09.PNG
Diddy, avec ta casquette,
t'es beau comme un camion!
D - Remodeler les graphismes
1 - Analyse
Après avoir vu comment on pouvait retoucher un tile, nous allons maintenant carrément en redessiner un. Pour cela prenons le premier niveau de Donkey Kong Land (que nous avons coloré la dernière fois) :
http://pa.org.free.fr/omg/tuto/cologb_j3/10.PNG
Vous voyez en bas le coeur? Hé bien le nombre de coeur représente le nombre de vies qu'il reste. Dans Donkey Kong Country sur SNES, les vies étaient symbolisées par des ballons rouges, vert ou bleu.
Hé bien changeons ces coeurs par des ballons!
2 - redessiner des Tiles
Tout d'abord, il faut regarder de plus près ces coeurs. Ils sont formés de deux tiles : +98 et +99
Agrandissons les et dessinons à coté ce que nous voulons.
http://pa.org.free.fr/omg/tuto/cologb_j3/11.PNG
Découpons les deux nouveaux tiles afin de les retranscrire dans le fichier .pal.ini :
http://pa.org.free.fr/omg/tuto/cologb_j3/12.PNG
Intégrons nos ballons dans le .pal.ini : #Coeurs/Ballons
ColorIt.setTilesetData 0, L "33333333 33222233 32011123 20111112 21111112 21111112 21111112 21111112"
ColorIt.setTilesetData 1, L "32111123 33211233 33322333 33222233 33333333 33333333 33333333 33333333"
ColorIt.SetTile +98, 0
ColorIt.SetTile +99, 1
ColorIt.setPalette 7, rgb(252,171,191), rgb(255,165,155), rgb(254,99,82), rgb(0,0,0)
ColorIt.addTileRule +98, +99, 7
http://pa.org.free.fr/omg/tuto/cologb_j3/13.PNG
Comme ceci, ça fait plus esprit DKC!
E - Optimisation du fichier .pal.ini
1 - A quoi ça sert d'optimiser?
Vous avez enfin fini votre colorisation, ou coloration (en fait je trouve pas le bon terme pour décrire ce travail :p )... Bref, vous avez fini mais votre fichier fait 3Km de long et vous voudriez qu'il soit plus petit, plus clair... Je vais donc vous filer des tuyaux pour que votre fichier .pal.ini soit plus petit et mieux rangé :)
2 - Choisir son CRC.
Pour bien colorer il faut analyser avant de se jeter sur la coloration. Comme nous l'avons vu dans le précédent cours (http://www.playeradvance.org/forum/forumdisplay.php?f=134), il est très important de choisir un bon CRC afin de ne pas se retrouver avec plusieurs entêtes de section du style :[3afea85d]:
[92a6b159]:
#Coloriage Screen Intro
#Logo DK
ColorIt.setPalette 0, rgb(255,255,0), rgb(225,33,4), rgb(184,26,3), rgb(0,0,0)
ColorIt.addTileRule +128, +208, 0
...Un CRC bien choisi permet d'éviter ce genre de structure.
3 - Concaténer les données.
Si vous faites de la modification de tiles, sachez qu'il est possible de renseigner plusieurs tiles sur une seule ligne si ces tiles se suivent. Voici l'exemple de tout à l'heure sur la casquette de Diddy :#Casquette de Diddy
ColorIt.setTilesetData 0, L "22333333 22333333 22233333 22233330 22233301 22223011 22230110 22301100"
ColorIt.setTilesetData 1, L "33333333 33332222 32222111 21111122 11122222 12222222 22222222 22222222"
ColorIt.setTilesetData 2, L "33333333 22233333 21223333 22222333 22222333 22222233 22222223 22222212"
ColorIt.setTilesetData 3, L "22311111 32311111 33333111 33333333 32333330 32223300 32222300 32022300"
ColorIt.setTilesetData 4, L "22222222 22222222 22222222 33333333 11111111 00111111 00001110 00010000"
ColorIt.setTilesetData 5, L "22222222 22222233 33333333 31111133 11111113 11110003 00000003 01000003"
ColorIt.SetTile 38, 0
ColorIt.SetTile 39, 1
ColorIt.SetTile 40, 2
ColorIt.SetTile 57, 3
ColorIt.SetTile 58, 4
ColorIt.SetTile 59, 5 On peut écrire ça à la place :
#Casquette de Diddy
ColorIt.setTilesetData 0, L "22333333 22333333 22233333 22233330 22233301 22223011 22230110 22301100"
ColorIt.setTilesetData 1, L "33333333 33332222 32222111 21111122 11122222 12222222 22222222 22222222"
ColorIt.setTilesetData 2, L "33333333 22233333 21223333 22222333 22222333 22222233 22222223 22222212"
ColorIt.setTilesetData 3, L "22311111 32311111 33333111 33333333 32333330 32223300 32222300 32022300"
ColorIt.setTilesetData 4, L "22222222 22222222 22222222 33333333 11111111 00111111 00001110 00010000"
ColorIt.setTilesetData 5, L "22222222 22222233 33333333 31111133 11111113 11110003 00000003 01000003"
ColorIt.SetTile 38, 40, 0
ColorIt.SetTile 57, 59, 3Hop on gagne 4 lignes!
Je vous joins le fichier .pal.ini optimisé en pièce jointe.
Voilà c'était le dernier tuto de la trilogie. Brunni mettra surement des améliorations dans son procédé de coloration avec de nouvelles fonctions... Dès que je suis au courant je mettrai a jour les topics. Ces améliorations toucheront les jeux comme Metroid II dont la détection de section a des problèmes (fading sur palettes noires et non blanches comme 99% des jeux Gameboy). N'hésitez pas à poser vos questions si vous ne saisissez pas quelque chose.
Merci d’avoir lu ce tuto.
Merci à Brunni pour ses outils et son tuto sur lequel je me suis basé.
http://pa.org.free.fr/omg/tuto/cologb_j3/00.PNG
A - Introduction
Voilà enfin le dernier tutoriel de coloration qui fait suite et fin à la trilogie. Après avoir appris les bases de la coloration (http://www.playeradvance.org/forum/showthread.php?t=13874), àprès avoir appris à colorer des niveaux entiers (http://www.playeradvance.org/forum/showthread.php?t=14287), aujourd'hui nous allons voir de quoi sont vraiment capables les émulateurs "Made in" Brunni. Nous verrons comment rendre encore plus beau un jeu (faut quand même s'armer de patience pour cette partie) et nous verrons aussi comment optimiser votre fichier .pal.ini.
Pour suivre ce cours sans s'arracher les cheuveux, il est fortement conseillé d'avoir suivi les deux premiers tuto, ou d'avoir lu la doc de Masterboy de Brunni.
Encore un fois, je vous rappelle qu'aucune notion de programmation n'est vraiment nécessaire pour colorer un jeu. Bref, c'est pour tout le monde, oui même toi!
B - Les outils
On refait encore la liste de ce dont vous aurez besoin pour pouvoir laisser libre court à vos créations :
- d'un éditeur d'images comme par exemple MSPaint ou Gimp (j'utiliserai MSPaint)
- de la version spéciale de VBA Color Edition de Brunni dispo sur son site (http://brunni.dev-fr.org/index.php?page=pspsoft_masterboy)
- d'une copie de sauvegarde d'un de vos jeux Gameboy
- un éditeur de texte comme par exemple bloc note sous Windows ou vi si vous êtes sous Linux
Pour ce dernier tutorial concernant la coloration, nous prendrons pour exemple encore une fois : Donkey Kong Land.
Je vous rappelle que pour pouvoir travailler sur cette rom vous devez posséder le jeu original.
C - Coloration experte d'une Image
1 - Présentation de l'image
Nous allons travailler dans cette première partie du tuto encore une fois sur le screen de présentation de Donkey Kong Land :
http://pa.org.free.fr/omg/tuto/cologb_j3/01.PNG
Analysons encore une fois cette image afin de la colorer.
2 - Colorisation basique
Nous avions dans le dernier cours colorié entièrement cette image. Mais, franchement ça pourrait être quand même plus beau...
http://pa.org.free.fr/omg/tuto/cologb_j3/02.PNG
Cette image n'a pas d'âme...
En effet, la casquette de Diddy n'est pas rouge... Bref, ce macaque ressemble a une statue d'argile et ça ne le fait pas.
En suivant le tuto jour 2 nous aurions coloré Diddy de cette manière suivante:#Diddy
ColorIt.setPalette 6, rgb(240,210,117), rgb(143,86,1), rgb(101,64,0), rgb(0,0,0)
ColorIt.addTileRule 24, 25, 6
ColorIt.addTileRule 36, 37, 6
ColorIt.addTileRule 60, 60, 6
ColorIt.addTileRule 75, 79, 6
ColorIt.addTileRule 94, 98, 6
ColorIt.addTileRule 113, 116, 6
ColorIt.addTileRule 131, 135, 6
ColorIt.addTileRule 150, 154, 6
ColorIt.addTileRule 169, 172, 6
ColorIt.addTileRule 187, 190, 6
#Casquette de Diddy
ColorIt.setPalette 7, rgb(240,210,117), rgb(255,10,10), rgb(196,10,10), rgb(0,0,0)
ColorIt.addTileRule 38, 42, 7
ColorIt.addTileRule 57, 59, 7Malheureusement, ces couleurs débordent sur le reste du personage et un morceau de sa queue et de ses yeux se retrouvent rouge.
http://pa.org.free.fr/omg/tuto/cologb_j3/03.PNG
Pas vraiment génial...
Bref, on pourrait s'arrêter là et se jeter par la fenêtre... Mais voyons plutôt ce que Dr Brunni nous a concocté (hé oui il pense à tout!).
3 - Colorisation experte
Il est possible de redéfinir des tiles afin de mieux cibler les couleurs voire, dans certain cas, de redessiner des décors, des sprites, etc...
Ici, ce qui nous interresse, c'est de ne colorier en rouge que la casquette, sans toucher au reste.
Penchons nous sur les tiles qui posent problème :
http://pa.org.free.fr/omg/tuto/cologb_j3/04.PNG
A gauche c'est un agrandissement de la zone "sinistrée". A droite, l'équivalent en noir et blanc.
Il y a donc 6 tiles qui posent problème : 38, 39, 40, 57, 58 et 59.
Regardons de plus pret ces tiles :
http://pa.org.free.fr/omg/tuto/cologb_j3/05.PNG
Je vous rappelle le principe de la coloration. En gros, on attribue à un ou plusieurs tiles une nouvelle palette de 4 couleurs qui vient remplacer la palette de base qui est monochrome. Le problème avec ces 6 tiles c'est qu'une couleur (gris clair par exemple) va servir a deux endroit dans le même tile. Une fois pour l'oeil puis pour la casquette. Si on colore ce gris clair, en rouge, l'oeil et la casquette seront rouge.
Le but des nouvelles commandes que nous allons apprendre est de redéfinir un tile. En effet, nous allons modifier les pixels du tile afin de pouvoir mieux cibler notre coloration.
Vous n'avez pas compris ma phrase? C'est normal! Et c'est pour cela que nous allons mettre en application. Commençons par la tile 38. Cette dernière chevauche sur deux parties : la casquette et la queue de Diddy. Nous allons réorganier la palette de 4 couleurs monochrome afin de "séparer" les deux éléments. On garde le noir pour le fond, le gris foncé pour la queue et les deux autres couleurs pour la casquette :
http://pa.org.free.fr/omg/tuto/cologb_j3/06.PNG
Maintenant faisons le pour les autres tiles :
http://pa.org.free.fr/omg/tuto/cologb_j3/07.PNG
Nous allons retranscrire dans le .pal.ini notre nouveau tile 38. Pour cela, nous allons ré-écrire les 64 données (8x8pixels) du tile. Notons que :
- Blanc = 0
- Gris clair = 1
- Gris foncé = 2
- Noir = 3
C'est parti :
http://pa.org.free.fr/omg/tuto/cologb_j3/08.PNG
Nous avons donc une suite de 64 informations sur notre nouveau tile. Faisons de même pour les cinq autres.
Maintenant nous allons les colorer puis les intégrer au fichier .pal.ini grace aux commandes ColorIt.setTilesetData (pour définir un tile 8x8) et ColorIt.setTile (pour intégré le tile que nous avons confectionné dans une section) :#Diddy
ColorIt.setPalette 6, rgb(240,210,117), rgb(143,86,1), rgb(101,64,0), rgb(0,0,0)
ColorIt.addTileRule 24, 25, 6
ColorIt.addTileRule 36, 37, 6
ColorIt.addTileRule 60, 60, 6
ColorIt.addTileRule 75, 79, 6
ColorIt.addTileRule 94, 98, 6
ColorIt.addTileRule 113, 116, 6
ColorIt.addTileRule 131, 135, 6
ColorIt.addTileRule 150, 154, 6
ColorIt.addTileRule 169, 172, 6
ColorIt.addTileRule 187, 190, 6
#Casquette de Diddy
ColorIt.setTilesetData 0, L "22333333 22333333 22233333 22233330 22233301 22223011 22230110 22301100"
ColorIt.setTilesetData 1, L "33333333 33332222 32222111 21111122 11122222 12222222 22222222 22222222"
ColorIt.setTilesetData 2, L "33333333 22233333 21223333 22222333 22222333 22222233 22222223 22222212"
ColorIt.setTilesetData 3, L "22311111 32311111 33333111 33333333 32333330 32223300 32222300 32022300"
ColorIt.setTilesetData 4, L "22222222 22222222 22222222 33333333 11111111 00111111 00001110 00010000"
ColorIt.setTilesetData 5, L "22222222 22222233 33333333 31111133 11111113 11110003 00000003 01000003"
ColorIt.SetTile 38, 0
ColorIt.SetTile 39, 1
ColorIt.SetTile 40, 2
ColorIt.SetTile 57, 3
ColorIt.SetTile 58, 4
ColorIt.SetTile 59, 5
ColorIt.setPalette 7, rgb(240,210,117), rgb(255,10,10), rgb(196,10,10), rgb(0,0,0)
ColorIt.addTileRule 41, 42, 7
ColorIt.setPalette 8, rgb(0,0,0), rgb(143,86,1), rgb(196,10,10), rgb(255,10,10)
ColorIt.addTileRule 38, 38, 8
ColorIt.setPalette 9, rgb(0,0,0), rgb(196,10,10), rgb(0,0,0), rgb(255,10,10)
ColorIt.addTileRule 39, 40, 9
ColorIt.setPalette 10, rgb(0,0,0), rgb(101,64,0), rgb(240,210,117), rgb(196,10,10)
ColorIt.addTileRule 57, 57, 10
ColorIt.setPalette 11, rgb(0,0,0), rgb(196,10,10), rgb(240,210,117), rgb(101,64,0)
ColorIt.addTileRule 58, 59, 11Bon, passons au résultat :
http://pa.org.free.fr/omg/tuto/cologb_j3/09.PNG
Diddy, avec ta casquette,
t'es beau comme un camion!
D - Remodeler les graphismes
1 - Analyse
Après avoir vu comment on pouvait retoucher un tile, nous allons maintenant carrément en redessiner un. Pour cela prenons le premier niveau de Donkey Kong Land (que nous avons coloré la dernière fois) :
http://pa.org.free.fr/omg/tuto/cologb_j3/10.PNG
Vous voyez en bas le coeur? Hé bien le nombre de coeur représente le nombre de vies qu'il reste. Dans Donkey Kong Country sur SNES, les vies étaient symbolisées par des ballons rouges, vert ou bleu.
Hé bien changeons ces coeurs par des ballons!
2 - redessiner des Tiles
Tout d'abord, il faut regarder de plus près ces coeurs. Ils sont formés de deux tiles : +98 et +99
Agrandissons les et dessinons à coté ce que nous voulons.
http://pa.org.free.fr/omg/tuto/cologb_j3/11.PNG
Découpons les deux nouveaux tiles afin de les retranscrire dans le fichier .pal.ini :
http://pa.org.free.fr/omg/tuto/cologb_j3/12.PNG
Intégrons nos ballons dans le .pal.ini : #Coeurs/Ballons
ColorIt.setTilesetData 0, L "33333333 33222233 32011123 20111112 21111112 21111112 21111112 21111112"
ColorIt.setTilesetData 1, L "32111123 33211233 33322333 33222233 33333333 33333333 33333333 33333333"
ColorIt.SetTile +98, 0
ColorIt.SetTile +99, 1
ColorIt.setPalette 7, rgb(252,171,191), rgb(255,165,155), rgb(254,99,82), rgb(0,0,0)
ColorIt.addTileRule +98, +99, 7
http://pa.org.free.fr/omg/tuto/cologb_j3/13.PNG
Comme ceci, ça fait plus esprit DKC!
E - Optimisation du fichier .pal.ini
1 - A quoi ça sert d'optimiser?
Vous avez enfin fini votre colorisation, ou coloration (en fait je trouve pas le bon terme pour décrire ce travail :p )... Bref, vous avez fini mais votre fichier fait 3Km de long et vous voudriez qu'il soit plus petit, plus clair... Je vais donc vous filer des tuyaux pour que votre fichier .pal.ini soit plus petit et mieux rangé :)
2 - Choisir son CRC.
Pour bien colorer il faut analyser avant de se jeter sur la coloration. Comme nous l'avons vu dans le précédent cours (http://www.playeradvance.org/forum/forumdisplay.php?f=134), il est très important de choisir un bon CRC afin de ne pas se retrouver avec plusieurs entêtes de section du style :[3afea85d]:
[92a6b159]:
#Coloriage Screen Intro
#Logo DK
ColorIt.setPalette 0, rgb(255,255,0), rgb(225,33,4), rgb(184,26,3), rgb(0,0,0)
ColorIt.addTileRule +128, +208, 0
...Un CRC bien choisi permet d'éviter ce genre de structure.
3 - Concaténer les données.
Si vous faites de la modification de tiles, sachez qu'il est possible de renseigner plusieurs tiles sur une seule ligne si ces tiles se suivent. Voici l'exemple de tout à l'heure sur la casquette de Diddy :#Casquette de Diddy
ColorIt.setTilesetData 0, L "22333333 22333333 22233333 22233330 22233301 22223011 22230110 22301100"
ColorIt.setTilesetData 1, L "33333333 33332222 32222111 21111122 11122222 12222222 22222222 22222222"
ColorIt.setTilesetData 2, L "33333333 22233333 21223333 22222333 22222333 22222233 22222223 22222212"
ColorIt.setTilesetData 3, L "22311111 32311111 33333111 33333333 32333330 32223300 32222300 32022300"
ColorIt.setTilesetData 4, L "22222222 22222222 22222222 33333333 11111111 00111111 00001110 00010000"
ColorIt.setTilesetData 5, L "22222222 22222233 33333333 31111133 11111113 11110003 00000003 01000003"
ColorIt.SetTile 38, 0
ColorIt.SetTile 39, 1
ColorIt.SetTile 40, 2
ColorIt.SetTile 57, 3
ColorIt.SetTile 58, 4
ColorIt.SetTile 59, 5 On peut écrire ça à la place :
#Casquette de Diddy
ColorIt.setTilesetData 0, L "22333333 22333333 22233333 22233330 22233301 22223011 22230110 22301100"
ColorIt.setTilesetData 1, L "33333333 33332222 32222111 21111122 11122222 12222222 22222222 22222222"
ColorIt.setTilesetData 2, L "33333333 22233333 21223333 22222333 22222333 22222233 22222223 22222212"
ColorIt.setTilesetData 3, L "22311111 32311111 33333111 33333333 32333330 32223300 32222300 32022300"
ColorIt.setTilesetData 4, L "22222222 22222222 22222222 33333333 11111111 00111111 00001110 00010000"
ColorIt.setTilesetData 5, L "22222222 22222233 33333333 31111133 11111113 11110003 00000003 01000003"
ColorIt.SetTile 38, 40, 0
ColorIt.SetTile 57, 59, 3Hop on gagne 4 lignes!
Je vous joins le fichier .pal.ini optimisé en pièce jointe.
Voilà c'était le dernier tuto de la trilogie. Brunni mettra surement des améliorations dans son procédé de coloration avec de nouvelles fonctions... Dès que je suis au courant je mettrai a jour les topics. Ces améliorations toucheront les jeux comme Metroid II dont la détection de section a des problèmes (fading sur palettes noires et non blanches comme 99% des jeux Gameboy). N'hésitez pas à poser vos questions si vous ne saisissez pas quelque chose.
Merci d’avoir lu ce tuto.
Merci à Brunni pour ses outils et son tuto sur lequel je me suis basé.