Utilitaire TILE TOOL MD - Bex Edition !

Voir le sujet précédent Voir le sujet suivant Aller en bas

Utilitaire TILE TOOL MD - Bex Edition !

Message par Vetea le Sam 10 Sep 2016 - 23:19

                                  TILE TOOL MD




IMPORTANT : Ne fonctionne qu'avec des Tiles/Sprite de 32x32 !!

Ca faisait longtemps que je devais réaliser un tutoriel sur la manière dont j'exportais mes Tiles/Sprites pour mes projets MD !

Outils nécessaire :
- Imagenesis : http://devster.monkeeh.com/sega/imagenesis/
- Blocnote windows
- WordPad ( ou Word - Openoffice )

- TileToolMD : https://dl.dropboxusercontent.com/u/108143465/TileToolMD.zip


Voici donc mon outil Maison : Tile Tool MD !

Rappel du lien plus haut :
https://dl.dropboxusercontent.com/u/108143465/TileToolMD.zip

Cet outil a été développé avec QB64.

I/ Préparation de notre planche :

Nous allons prendre comme exemple, le fameux bombardier Javascribouille !

Cette image fait 96x96 pixels, donc 3 sprites de 32px en ligne et 3 sprites de 32px en colonne.
Ensuite, à vous de la retravailler en indexant les couleurs avec The Gimp, ou un autre utilitaire graphique.

II/ Rippage de notre planche :

Ensuite nous allons utiliser Imagenesis, l'excellent utilitaire de Devster !



Suivez donc le guide !

La partie traitement de notre planche :

1/ Allez ouvrir notre précédente image : Onglet FILE -> OPEN
2/ Dans l'onglet MODE, choisissez "15 colors, 4 bpp, 1 plane, 8x8 tiles, Optimized"
3/ Dans l'onglet MODE, choisissez "Drawing in the Y directions first, then the X (Sprites)
4/ Dans l'onglet MODE, choisissez "Enable transparency" ( si vous le désirez bien sûr )
5/ Dans l'onglet MODE, selectionnez votre couleur transparente ( ici c'est la couleur de fond rose/pourpre )
6/ Appuyez sur F5 pour le rippage de notre planche ( Quantize NOW dans l'onglet ACTIONS )
Vous avez correctement rippé votre planche, maintenant récupérons les données !

1/ Dans l'onglet ACTIONS, choisissez "Export Tile Map"



2/ Choisissez "BASIC".
3/ Ensuite "SAVE DATA"
4/ Nommer votre fichier de cette manière : Nomdevotreplanche+TileMap.
Exemple : BombardierTileMap
5/ Dans l'onglet ACTIONS, choisissez "Export as SGTD Tiles"
6/ Nommer votre fichier de cette manière : Nombrevotreplanche+TilePlan
Exemple : BombardierTilePlan
Vos données sont donc sauvées !

IMPORTANT :
Il faut donner le même Nomdevotreplanche pour les 2 fichiers !
Exemple : BombardierTileMap & BombardierTilePlan


7/ Récupérons la Palette de notre planche principale :
- Dans l'onglet ACTIONS, choisissez "Export Palette DATA"
- Choisissez BASIC
- Ensuite "SAVE DATA"
- Nommer votre palette à votre convenance.

Vous pourrez ensuite copier le contenu du fichier dans votre code et l'associé au numéro de palette que vous aurez choisi pour votre planche.

III/ Modification de notre fichier TileMap :

Ici nous allons modifier le contenu de notre fichier BombardierTileMap à titre d'exemple.
Nous allons utiliser le Blocnote bien connu de windows !



Ensuite nous allons garder toutes les données Hexadécimal, supprimer le reste et agencer les données.

1/ Supprimons les deux premières lignes.
(


Nous aurons donc ceci aprés coup :



2/ Supprimons le texte DATAINT :
- Faites un copier/Coller ( Ctrl+C ) de la zone texte suivante :


- Allez dans l'onglet EDITION.
- Choisissez "Remplacer"
- Faites un coller ( Ctrl+V ) dans le champ "Rechercher" et mettez une virgule "," dans le champ "Remplacer par"


- Cliquez ensuite sur "Remplacer tout" puis "Annuler"

Et voila le travail :



3/ Organisons nos lignes hexadécimales en une seule ligne !
- Allez à la première ligne avant la première virgule avec votre pointeur souris, et appuyez sur la touche "BackSpace" ou "DEL" de votre clavier.



- Faites la même chose avec la 2ème ligne jusqu'à la fin.
- Vous obtiendrez le résultat final :


- Enregistrez votre fichier. Ecrasez l'ancien.

Bravo, vous avez préparé le fichier MAP de votre planche principale !!

IV/ Utilisation et finalisation avec l'outil TileToolMD :

1/ Copier/déplacer les 2 fichiers dans le répertoire TileToolMD
2/ Exécuter l'utilitaire : TileToolMD.exe
3/ Informez à l'utilitaire les informations de votre planche



A savoir :
- Le nom initial de votre planche : Bombardier pour l'exemple.
- Le nombre de case par ligne : ici c'est 3 lignes de 32x32 px.
- Le Nombre de sprites : 9 sprites.

4/ Validez ensuite les informations.
5/ L'utilitaire va construire la planche et en faire des données pour votre code !




Cela peut être long en fonction de la taille de votre planche, puissance de votre CPU.
6/ Une fois terminé, un BEEP vous informe que le travail est terminé !
Bravo, vous avez créer le fichier .DAT pour l'intégrer dans votre code ! Wink

V/ Récupération du fichier *.DAT

Suite à l'exemple, nous allons ouvrir avec WordPAD ( ou Word ou un équivalent ... ) notre fichier Bombardier.DAT !



Bombardier1, sera le premier sprite/tile construit suivi des 8 autres ( Bombardier2, etc ... )
Chaque sprite intégre les Tiles 8x8 qui le composent.

Il vous faudra donc faire un copier/Coller de l'intégralité du contenu du fichier, et de l'intégrer dans votre code !
Le tour est joué !! :-)
Félicitations, vous pouvez utiliser votre planche dans votre code ... A vous de jouer ! Wink

REMARQUE :
- Vous trouverez ci joint le dossier de l'utilitaire comprenant l'exemple du tutoriel.
- Ainsi que le listing de l'utilitaire que vous pourrez modifier à loisir voire même l'améliorer. Dans ce cas, informez en la communauté ! Wink
avatar
Vetea
Docteur *
Docteur *

Masculin Nombre de messages : 4105
Age : 46
Localisation : Baillargues
Date d'inscription : 22/06/2012

http://www.rolango.fr/

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par ichigobankai le Dim 11 Sep 2016 - 0:26

Ca fait ~30ans que je n'ai pas fait de basic (autant dire que je ne me souviens pas de grand chose dans ce langage), mais y'a pas de directive type "include" pour intégrer un fichier externe ?
(et ainsi éviter de ce faire chier en copier/coller, et avoir un code principal moins bordélique/lourd)
avatar
ichigobankai
Patient contaminé

Masculin Nombre de messages : 862
Age : 37
Localisation : 49
Date d'inscription : 04/04/2011

http://www.mastersystem-france.com

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Vetea le Dim 11 Sep 2016 - 1:30

Ouiiiii bien sûr !!
Au même titre qu'en Assembleur ( comme je l'ai déjà fait sur mes exemples ), ou en C ! :)

Tu peux utiliser Include pour importer des fichiers de ce type.
Pour ma part, je n'en utilise jamais, j'intégre tout dans un seul code, en mettant tout ce qui touche les DATA des graphismes à la fin de mon listing.


C'est ma manière de faire, aprés à chacun d'en faire ce qu'il veut ! Wink
avatar
Vetea
Docteur *
Docteur *

Masculin Nombre de messages : 4105
Age : 46
Localisation : Baillargues
Date d'inscription : 22/06/2012

http://www.rolango.fr/

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Kannagi le Dim 11 Sep 2016 - 10:47

Si tu veux mon avis , tu te fais 'chier' pour pas grand chose Razz

Moi je fait juste un :
Code:
snesconvert monimage.png
ou :
mdconvert monimage.png
et ça me donne mon code assembleur , apres y'a des options pour les cas particulier :)
ton TileToolMD devrait être en ligne de commande (tu fait un .bat pour que ça exécute tout les commandes que tu dois faire).

Sinon je préfère largement le include ,faire un copier coller :/ j'aurais des milliers de ligne sur mon fichier D:

Kannagi
Patient contaminé

Masculin Nombre de messages : 248
Age : 29
Localisation : Marseille
Date d'inscription : 18/08/2014

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Vetea le Dim 11 Sep 2016 - 10:59

Oui c'est pas faux !! Razz Mr. Green 

C'est pour cela que le code source est disponible pour qui veut améliorer le Process. Wink
Personne n'est parfait hein !! ^^
avatar
Vetea
Docteur *
Docteur *

Masculin Nombre de messages : 4105
Age : 46
Localisation : Baillargues
Date d'inscription : 22/06/2012

http://www.rolango.fr/

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Kannagi le Dim 11 Sep 2016 - 11:16

Je ne fait pas de basic et j'ai deja mon tools ^^'
Peut être que je rajouterais un -basic sur le mien pour une sorti Bex Wink

A vrai dire je que j’apprécie sur mon tool (oui je me lance un peu de fleur) c'est que il est facile d'avoir des palettes partagé de plusieurs images différentes.

Kannagi
Patient contaminé

Masculin Nombre de messages : 248
Age : 29
Localisation : Marseille
Date d'inscription : 18/08/2014

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Stef le Dim 11 Sep 2016 - 12:36

La directive include de BEX est bugué, j'ai essayé de la faire fonctionner avec mon wrapper XGM (ça aurait été bien plus pratique) mais pas moyen... du coup tu dois tout mettre dans un seul fichier comme un bourrin :-/
avatar
Stef
Infirmier

Masculin Nombre de messages : 3522
Age : 38
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par ichigobankai le Dim 11 Sep 2016 - 12:48

oh le truc merdique... désolé pour vous les gars !

après y'a moyen de faire un batch/script qui te crée une version bex "temporaire" dans laquelle tes includes/fichiers externes sont copiées (automatiquement) à la fin du code, te compile le truc et supprime le fichier temporaire ensuite.


Dernière édition par ichigobankai le Dim 11 Sep 2016 - 13:36, édité 1 fois
avatar
ichigobankai
Patient contaminé

Masculin Nombre de messages : 862
Age : 37
Localisation : 49
Date d'inscription : 04/04/2011

http://www.mastersystem-france.com

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Stef le Dim 11 Sep 2016 - 13:00

Ouais ça serait une solution de secours... C'est vrai que je ne comprends pas que l'auteur de BEX n'ait pas corrigé cette fichue directive include (il indique lui-même dans la doc qu'elle est buggué)... pour moi c'est vraiment primordiale pour développer. Du coup là forcément ça limite  la taille de ton projet ou alors c'est une galère sans nom, je me demande comment fait Vetea pour s'en sortir avec son listing, au bas mot avec les ressources tu dois facilement pouvoir atteindre un code de 20000 lignes :-/
avatar
Stef
Infirmier

Masculin Nombre de messages : 3522
Age : 38
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Kannagi le Dim 11 Sep 2016 - 13:11

Et le incbin , il marche mieux ? x)
Sinon oui la meilleur solution est de faire juste un truc qui rajoute automatique a la fin du fichier.
Mais bon ça reste quand même peu pratique (si on a des motif a faire par exemple).
D'ou oui un fichier temporaire permet de résoudre ce souci.

C'est vrai que je ne comprends pas que l'auteur de BEX n'ait pas corrigé cette fichue directive include (il indique lui-même dans la doc qu'elle est buggué)...
Bah faire un copier coller c'est tres difficile MDR

Kannagi
Patient contaminé

Masculin Nombre de messages : 248
Age : 29
Localisation : Marseille
Date d'inscription : 18/08/2014

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par bfg le Lun 12 Sep 2016 - 10:53

Hello,

 j'ai vu ta méthode, je n'ai pas essayé, parce que vu le nombre de manip j'ai fait une crise cardiaque  Mr. Green Oui, je suis une grosse feignasse, alors j'ai creusé dans mon coin.

On s'en sort un peu plus rapidement en utilisant genres.

Ça fonctionne en ligne de commande.

On crée un fichier "ressource"

exemple un fichier ressource.rc:

SPRITE mes_sprites "image.bmp" 16 16 0

pour des sprites de 16*16 sans algo de compression. NE PAS OUBLIER DE FAIRE UN RETOUR CHARIOT A LA FIN DU FICHIER sinon ça merde.

on lance un genres ressource.rc

Et ça génère un .s avec le code en assembleur 

on remplace les dc.w en DATAINT et les dc.l en DATALONG, on enlève quelques label et on copie colle dans bex.

Et ça marche ... :) Je suis sur qu'il y à moyen d'automatiser la chose sans faire des rechercher/remplacer dans un notepad++.

Je creuse pas plus loin parce que je vais pas utiliser bex longtemps, il y à trop de choses qui font perdre un temps de dev monstrueux. (Et il faudrait pas grand chose pour corriger ça, vu le travail déjà accompli par les gars qui ont créé l'outil ...)

bfg
Patient contaminé

Nombre de messages : 778
Date d'inscription : 11/09/2005

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Tryphon le Lun 12 Sep 2016 - 11:12

Tu peux enregistrer des macros avec notepad++. Perso j'écris des petits scripts python. Tout est automatisé, et c'est suffisamment souple pour être utilisé avec n'importe quel langage...

Tryphon
Infirmier

Masculin Nombre de messages : 3592
Age : 40
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Vetea le Lun 12 Sep 2016 - 12:46

Ah ah !!
Décidément, je suis un vrai dingue heinGG !!?  Mr. Green Mr. Green

Finallement, coder en Basic est plus lourd qu'il n'y parait ! ^^
Ma méthode est sans doute un truc de taré, et merci à BFG de faire partager sa méthode. amoureux

Pour information :
Bomb on Basic City : Ligne totale de code = 107462
Papi Commando WM : Ligne totale de code = 125814


Et j'arrive à m'y retrouver !! MDR MDR
avatar
Vetea
Docteur *
Docteur *

Masculin Nombre de messages : 4105
Age : 46
Localisation : Baillargues
Date d'inscription : 22/06/2012

http://www.rolango.fr/

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Tryphon le Lun 12 Sep 2016 - 12:48

On en reparlera dans 5 ans si tu décides de te replonger dans ton code Mr. Green

Tryphon
Infirmier

Masculin Nombre de messages : 3592
Age : 40
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par bfg le Lun 12 Sep 2016 - 13:06

@Tryphon a écrit:On en reparlera dans 5 ans si tu décides de te replonger dans ton code Mr. Green

Hum ... C'est rare de sortir un patch pour un jeu en cartouche !  Mr. Green Mr. Green Mr. Green

bfg
Patient contaminé

Nombre de messages : 778
Date d'inscription : 11/09/2005

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par ichigobankai le Lun 12 Sep 2016 - 13:37

Ouais, on appelle ca une révision Razz

@Vétéa, dont combien de % de commentaires et on veut un ratio code réel vs datas ^^
avatar
ichigobankai
Patient contaminé

Masculin Nombre de messages : 862
Age : 37
Localisation : 49
Date d'inscription : 04/04/2011

http://www.mastersystem-france.com

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par bfg le Lun 12 Sep 2016 - 13:45

@ichigobankai a écrit:Ouais, on appelle ca une révision Razz


Exact !! J'avais oublié ces trucs là. Je sais pas d'ailleurs si c'était de grosses modifications ... A l'époque je suis pas sur que c'était visible pour les gosses qu'on était  Very Happy

bfg
Patient contaminé

Nombre de messages : 778
Date d'inscription : 11/09/2005

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par ichigobankai le Lun 12 Sep 2016 - 14:04

tu m'étonnes, surtout à l'époque où l'on avait genre 3 jeux par an et on évitait d'avoir les meme que ses potes pour les échanger ET le tout sans internet ^^
avatar
ichigobankai
Patient contaminé

Masculin Nombre de messages : 862
Age : 37
Localisation : 49
Date d'inscription : 04/04/2011

http://www.mastersystem-france.com

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Stef le Lun 12 Sep 2016 - 15:27

@bfg a écrit:Hello,

 j'ai vu ta méthode, je n'ai pas essayé, parce que vu le nombre de manip j'ai fait une crise cardiaque  Mr. Green Oui, je suis une grosse feignasse, alors j'ai creusé dans mon coin.

On s'en sort un peu plus rapidement en utilisant genres.

Ça fonctionne en ligne de commande.

On crée un fichier "ressource"

exemple un fichier ressource.rc:

SPRITE mes_sprites "image.bmp" 16 16 0

pour des sprites de 16*16 sans algo de compression. NE PAS OUBLIER DE FAIRE UN RETOUR CHARIOT A LA FIN DU FICHIER sinon ça merde.

on lance un genres ressource.rc

Et ça génère un .s avec le code en assembleur 

on remplace les dc.w en DATAINT et les dc.l en DATALONG, on enlève quelques label et on copie colle dans bex.

Et ça marche ... :) Je suis sur qu'il y à moyen d'automatiser la chose sans faire des rechercher/remplacer dans un notepad++.

Je creuse pas plus loin parce que je vais pas utiliser bex longtemps, il y à trop de choses qui font perdre un temps de dev monstrueux. (Et il faudrait pas grand chose pour corriger ça, vu le travail déjà accompli par les gars qui ont créé l'outil ...)

Tu as rescomp aussi dans SGDK, qui est une sorte de genres mais plus évolué (plus de format) et aussi plus adapté à SGDK.
C'est un peu la même logique, un fichier .res (plutot que .rc) et ça te sorte un listing .s (et .h pour l'inclusion facile avec du C) en sortie. Tu as la doc ici :
https://raw.githubusercontent.com/Stephane-D/SGDK/master/bin/rescomp.txt
avatar
Stef
Infirmier

Masculin Nombre de messages : 3522
Age : 38
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Kannagi le Lun 12 Sep 2016 - 16:01


Pour information :
Bomb on Basic City : Ligne totale de code = 107462
Papi Commando WM : Ligne totale de code = 125814
Oh Shocked
Celui qui me dit que le basic prend moins de ligne de code en assembleur je le crois pas alors Razz

Parce que si je compare :
Mon projet SNES : 14139
Ma récente demo sur PC engine : 3015
et ma demo sur MD : 2146

les DATA ne sont pas compté Wink

Kannagi
Patient contaminé

Masculin Nombre de messages : 248
Age : 29
Localisation : Marseille
Date d'inscription : 18/08/2014

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Stef le Lun 12 Sep 2016 - 16:45

Oui là je pense que Vetea compte aussi les data Wink
avatar
Stef
Infirmier

Masculin Nombre de messages : 3522
Age : 38
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Vetea le Lun 12 Sep 2016 - 16:57

oui je compte les Data ou Dc.l ... Wink

Bon du coup, mon topic tombe à l'eau ... Bon Tem Pi ! Sad
avatar
Vetea
Docteur *
Docteur *

Masculin Nombre de messages : 4105
Age : 46
Localisation : Baillargues
Date d'inscription : 22/06/2012

http://www.rolango.fr/

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par ichigobankai le Lun 12 Sep 2016 - 17:17

Non je ne pense pas, c'est toujours bien de partager ses outils ou/et infos, y'a pas de méthode "parfaite" à mon sens.
avatar
ichigobankai
Patient contaminé

Masculin Nombre de messages : 862
Age : 37
Localisation : 49
Date d'inscription : 04/04/2011

http://www.mastersystem-france.com

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Tryphon le Lun 12 Sep 2016 - 18:10

Mr. Green Mr. Green
@bfg a écrit:
@Tryphon a écrit:On en reparlera dans 5 ans si tu décides de te replonger dans ton code Mr. Green

Hum ... C'est rare de sortir un patch pour un jeu en cartouche !  Mr. Green Mr. Green Mr. Green
Pas forcément un patch, mais par exemple une suite en améliorant le moteur...  Mr. Green Mr. Green Mr. Green Mr. Green Mr. Green

Tryphon
Infirmier

Masculin Nombre de messages : 3592
Age : 40
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum