MergeBMP2PCE [Touko]

Discussions techniques et Pixel Art en 9 bits.

Modérateurs : SirG, Redfield1, shubibiman, Laucops

Avatar de l’utilisateur
Kaminari
Modérateur
Messages : 7039
Inscription : ven. 24 sept. 2004 19:36
Contact :

MergeBMP2PCE [Touko]

Message par Kaminari »

MergeBMP2PCE est un outil graphique développé par Touko et capable de générer des tilemaps, similaire à GFX2PCE d'Alek et BMP2PCE d'Orion.

Version 1.1.1 : MergeBMP2PCE

Son point fort est de pouvoir fusionner automatiquement plusieurs calques en une seule image, une fonction extrêmement pratique qui permet de se dispenser d'un logiciel de dessin comme Pro Motion pour ne pas avoir à copier/coller les tuiles à la main dans un même fichier. Vos calques doivent bien sûr être déjà dessinés sous forme de tuiles, et chaque calque limité à une palette de 16 couleurs (couleur 0 comprise). Exemple :

Calque 1
Image

Calque 2
Image

En plus de ses capacités de fusion de calques et de suppression des tuiles doublons, MergeBMP2PCE a une autre qualité par rapport à GFX2PCE : on peut spécifier l'adresse de stockage des tuiles en VRAM, alors que l'outil d'Alek est hardcodé à l'adresse 0x1000 pour respecter la convention imposée par Magic Kit et HuC — ce qui fait perdre de précieux octets, surtout quand on n'a pas besoin de la police de caractère de HuC qui occupe par défaut cet espace mémoire.



MergeBMP2PCE fonctionne en ligne de commande. L'outil va assembler et convertir tous les calques BMP indiqués en paramètres vers trois fichiers : MAP (tilemap), GFX (tuiles) et PAL (palettes).

Syntaxe :

Code : Tout sélectionner

MergeBMP2PCE.exe ADRESSE_VRAM PREMIÈRE_PALETTE fichier1.bmp fichier2.bmp [optionnel] FICHIERS_DE_SORTIE


Exemple 1 :

Code : Tout sélectionner

MergeBMP2PCE.exe 0x1000 0 bg1.bmp bg2.bmp MonSuperBackground
MergeBMP2PCE fusionne les calques "bg1.bmp" et "bg2.bmp" pour les exporter au format binaire tilemap + tuiles + palettes. Les tuiles sont placées à l'adresse VRAM 0x1000 et la palette du premier calque se voit attribuer le numéro 0. Les numéros de palette étant incrémentés automatiquement, le deuxième calque utilisera donc la palette numéro 1.

Dans cet exemple, les fichiers de sortie seront nommés "MonSuperBackground.map", "MonSuperBackground.gfx" et "MonSuperBackground.pal".



Exemple 2 :

Code : Tout sélectionner

MergeBMP2PCE.exe 0x0400 2 bg1.bmp *.bmp
Les tuiles sont placées à l'adresse 0x0400, très utile pour économiser de la VRAM si votre image ne fait pas plus de 256x224 et que vous n'avez pas besoin de la police de caractère HuC.

Le joker "*" (astérisque) vous permet de fusionner plus de deux calques à la fois, quel que soit leur nom. Tous les calques portant l'extension ".bmp" seront assemblés automatiquement avec le premier calque "bg1.bmp". Dans cet exemple, le premier calque est associé à la palette numéro 2 et les palettes suivantes seront incrémentées en conséquence (3, 4, 5 etc).



Exemple 3 :

Code : Tout sélectionner

MergeBMP2PCE.exe 0x0400 3/ bg1.bmp bg2.bmp
En plaçant un slash "/" juste après la palette (dans cet exemple, palette numéro 3), celle-ci est "figée" ; elle n'est pas incrémentée et reste bloquée sur le numéro 3 pour les deux fichiers BMP. Utile pour fusionner deux calques partageant exactement la même palette et éviter les doublons de palettes.



Exemple 4 :

Code : Tout sélectionner

MergeBMP2PCE.exe 0x0400 3/ bg1.bmp bg1.bmp
En spécifiant deux fois le même fichier en paramètres, il est possible de générer une tilemap avec un seul calque. Là encore, le slash "/" permet de bloquer le numéro de palette pour éviter des doublons inutiles.



Limitations :

Dans la version actuelle de MergeBMP2PCE, l'ordre des palettes est en fait décidé par l'outil et non par l'utilisateur. Quel que soit le premier fichier BMP que vous spécifiez dans votre ligne de commande, le calque prioritaire (et donc la première palette) choisi par MergeBMP2PCE sera obligatoirement celui qui contient la première tuile non vide en haut à gauche de vos calques (tuile 0,0).

Par exemple, si votre calque nommé "bg1.bmp" contient une tuile vide (couleur 0) en haut à gauche, et que votre calque nommé "bg2.bmp" contient une tuile dessinée (non vide) au même endroit, c'est ce deuxième calque qui sera choisi par MergeBMP2PCE comme première palette. Une petite gymnastique cérébrale dont il vaut mieux se souvenir pour éviter les mauvaises surprises.

Enfin, MergeBMP2PCE n'est pas compatible avec les fonctions de tilemapping de HuC. L'outil ne génère que des tuiles de 8x8 pixels. Les blocs (méta-tuiles) de 16x16 ne sont pas supportés.

ATTENTION ! Pour des raisons techniques, les noms de fichiers ne doivent pas contenir "_all" (genre "bg1_all.bmp").
Avatar de l’utilisateur
franz
NECromancer
Messages : 4155
Inscription : jeu. 26 janv. 2006 09:33
Localisation : Montpellier

Re: MergeBMP2PCE [Touko]

Message par franz »

J'y comprends rien mais c'est génial.
Avatar de l’utilisateur
Kaminari
Modérateur
Messages : 7039
Inscription : ven. 24 sept. 2004 19:36
Contact :

Re: MergeBMP2PCE [Touko]

Message par Kaminari »

Bah je préfèrerais que vous y compreniez quelque chose, sinon c'est que je vends mal le produit :cry:
GuiM
NECromancer
Messages : 3955
Inscription : lun. 25 janv. 2016 21:58

Re: MergeBMP2PCE [Touko]

Message par GuiM »

C'est bien expliqué mais sans base technique, il est difficile de vraiment tout comprendre :wink:

Cela reste tout de même intéressant à lire :bomberjob:
Avatar de l’utilisateur
Laucops
Modérateur
Messages : 8269
Inscription : jeu. 23 nov. 2006 19:15
Localisation : Gard

Re: MergeBMP2PCE [Touko]

Message par Laucops »

Bravo les gars pour ce travail, à la fois et en premier lieu Touko pour la mise au pojnt d'un outil de développement performant, et Kami pour documenter celui-ci :bomberjob: :bomberjob: :bomberjob:
- Jusqu'à quand ça va durer... Les jeux d'enfant ?
- je te l'ai dit : les jeux d'enfant ne finissent jamais.
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: MergeBMP2PCE [Touko]

Message par touko »

Tu as super bien expliqué et présenté l'outil, chapeau :bomberjob:

Il gère aussi les tiles dupliquées dans les calques .
Avatar de l’utilisateur
shubibiman
Administrateur
Messages : 16382
Inscription : jeu. 23 sept. 2004 14:26
Localisation : Meet me at Shubibi's

Re: MergeBMP2PCE [Touko]

Message par shubibiman »

C'est beau :bomberdream:

Le début d'une nouvelle ère de développement de jeux homebrew.
"You are truly the PCE game clearing master"

*****Membre du FLPCE Canal Historique*****
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: MergeBMP2PCE [Touko]

Message par touko »

J'irais pas jusque là qd même . :bomberperv:
Avatar de l’utilisateur
shubibiman
Administrateur
Messages : 16382
Inscription : jeu. 23 sept. 2004 14:26
Localisation : Meet me at Shubibi's

Re: MergeBMP2PCE [Touko]

Message par shubibiman »

Ah mais en fait tu n'as pas le choix :bombergrin:
"You are truly the PCE game clearing master"

*****Membre du FLPCE Canal Historique*****
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: MergeBMP2PCE [Touko]

Message par touko »

:bombergrin:
Je l'avais pas vu sous cet angle !
Avatar de l’utilisateur
shubibiman
Administrateur
Messages : 16382
Inscription : jeu. 23 sept. 2004 14:26
Localisation : Meet me at Shubibi's

Re: MergeBMP2PCE [Touko]

Message par shubibiman »

Dans la vie, il y a ceux qui ont un pistolet chargé et ceux qui dév :bombergrin:
"You are truly the PCE game clearing master"

*****Membre du FLPCE Canal Historique*****
Avatar de l’utilisateur
Kaminari
Modérateur
Messages : 7039
Inscription : ven. 24 sept. 2004 19:36
Contact :

Re: MergeBMP2PCE [Touko]

Message par Kaminari »

Oh, merci de l'info pour les doublons de tuiles. Ce sont celles du premier calque qui sont conservées ?
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: MergeBMP2PCE [Touko]

Message par touko »

Ce sont toutes les tiles non redondantes qu'il trouve (peut importe le calque), et actualise les tilemaps si une tile existe déjà .
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: MergeBMP2PCE [Touko]

Message par touko »

Faudrait que je teste un des ces 4 de faire un outil pour SGX en pseudo "BITPLAN" pour afficher des images plus colorées .
Par exemple utiliser les 2 plans pour avoir du 32 couleurs / TILE, voire les sprites en plus pour du 48/64 couleurs / TILE.
C'est pas spécialement utilisable dans d'autres cas que d'afficher des images, mais cela pourrait donner de bons résultats .

EDIT: J'ai essayé avec l'outil en ligne de rilden, et c'est pas vraiment concluant(bon l'image de base n'a que 55 couleurs) .

16 palettes 16 couleurs/tile
Image

8 palettes 32 couleurs/tile
Image

Avec une image de plus de 256 couleurs :
16 palettes 16 couleurs/tile
Image

8 palettes 32 couleurs/tile
Image
Dernière modification par touko le jeu. 20 févr. 2025 11:56, modifié 1 fois.
Avatar de l’utilisateur
Kaminari
Modérateur
Messages : 7039
Inscription : ven. 24 sept. 2004 19:36
Contact :

Re: MergeBMP2PCE [Touko]

Message par Kaminari »

Cette technique a du potentiel, même pour du gameplay. En se limitant à une palette de 16 couleurs par plan, on peut reproduire facilement une image Amiga en 32 couleurs (testé avec Heart of China et Rise of the Dragon).

J'en profite pour te demander s'il serait possible à MergeBMP d'accepter le PNG dans une prochaine version ? Bon, faudra peut-être changer le nom dans la foulée, genre PIC2PCE :bombergrin:
Répondre