GAMOPAT
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Utilitaire TILE TOOL MD - Bex Edition !

4 participants

Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Utilitaire TILE TOOL MD - Bex Edition !

Message par Invité 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 !
Utilitaire TILE TOOL MD - Bex Edition ! Tuto1
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 !

Utilitaire TILE TOOL MD - Bex Edition ! Tuto2

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"

Utilitaire TILE TOOL MD - Bex Edition ! Tuto3

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 !

Utilitaire TILE TOOL MD - Bex Edition ! Tuto4

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.
(Utilitaire TILE TOOL MD - Bex Edition ! Tuto5


Nous aurons donc ceci aprés coup :

Utilitaire TILE TOOL MD - Bex Edition ! Tuto6

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

Utilitaire TILE TOOL MD - Bex Edition ! Tuto7
- 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"

Utilitaire TILE TOOL MD - Bex Edition ! Tuto8
- Cliquez ensuite sur "Remplacer tout" puis "Annuler"

Et voila le travail :

Utilitaire TILE TOOL MD - Bex Edition ! Tuto9

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.

Utilitaire TILE TOOL MD - Bex Edition ! Tuto10

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

Utilitaire TILE TOOL MD - Bex Edition ! Tuto11
- 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

Utilitaire TILE TOOL MD - Bex Edition ! Tuto12

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 !

Utilitaire TILE TOOL MD - Bex Edition ! Tuto13


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 !

Utilitaire TILE TOOL MD - Bex Edition ! Tuto14

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
Invité
Invité


Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par ichigobankai 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)
ichigobankai
ichigobankai
Patient incurable

Masculin Nombre de messages : 1922
Age : 45
Localisation : 49
Date d'inscription : 04/04/2011

https://www.2minds.fr

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Invité 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
Invité
Invité


Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Invité 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:
avatar
Invité
Invité


Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Invité 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
Invité
Invité


Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Invité 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.
avatar
Invité
Invité


Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Stef 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 :-/
Stef
Stef
Interne
Interne

Masculin Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par ichigobankai 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
ichigobankai
ichigobankai
Patient incurable

Masculin Nombre de messages : 1922
Age : 45
Localisation : 49
Date d'inscription : 04/04/2011

https://www.2minds.fr

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Stef 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 :-/
Stef
Stef
Interne
Interne

Masculin Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Invité 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
avatar
Invité
Invité


Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par bfg 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
bfg
Patient contaminé

Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Tryphon 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
Tryphon
Docteur *
Docteur *

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

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Invité Lun 12 Sep 2016 - 12:46

Ah ah !!
Décidément, je suis un vrai dingue heinGG !!?  Utilitaire TILE TOOL MD - Bex Edition ! 418468 Utilitaire TILE TOOL MD - Bex Edition ! 418468 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 Utilitaire TILE TOOL MD - Bex Edition ! 418468 Utilitaire TILE TOOL MD - Bex Edition ! 418468
avatar
Invité
Invité


Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Tryphon 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
Tryphon
Docteur *
Docteur *

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

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par bfg 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
bfg
Patient contaminé

Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par ichigobankai 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 ^^
ichigobankai
ichigobankai
Patient incurable

Masculin Nombre de messages : 1922
Age : 45
Localisation : 49
Date d'inscription : 04/04/2011

https://www.2minds.fr

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par bfg 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
bfg
Patient contaminé

Nombre de messages : 806
Localisation : DMC
Date d'inscription : 11/09/2005

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par ichigobankai 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 ^^
ichigobankai
ichigobankai
Patient incurable

Masculin Nombre de messages : 1922
Age : 45
Localisation : 49
Date d'inscription : 04/04/2011

https://www.2minds.fr

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Stef 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
Stef
Stef
Interne
Interne

Masculin Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Invité 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
avatar
Invité
Invité


Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Stef Lun 12 Sep 2016 - 16:45

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

Masculin Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Invité 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
Invité
Invité


Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par ichigobankai 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.
ichigobankai
ichigobankai
Patient incurable

Masculin Nombre de messages : 1922
Age : 45
Localisation : 49
Date d'inscription : 04/04/2011

https://www.2minds.fr

Revenir en haut Aller en bas

Utilitaire TILE TOOL MD - Bex Edition ! Empty Re: Utilitaire TILE TOOL MD - Bex Edition !

Message par Tryphon 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
Tryphon
Docteur *
Docteur *

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

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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