Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Connexion avec identifiant, mot de passe et durée de la session

+-Merci d'utiliser le forum pour les demandes d'aides sur fusion.

Aujourd'hui à 10:08:33 Kloug dit: Patrice il me semble que KNP tourne avec XP.
21 mai 2018 à 17:11:50 Cyberclic dit: oui bien sur. Dis-moi tout
21 mai 2018 à 14:32:31 Patrice dit: Tu accepterais de faire une manip pour moi ?
21 mai 2018 à 11:46:53 Cyberclic dit: Moi, en VM et en physique sur un vieux laptop :D
20 mai 2018 à 18:34:38 ValLoche23 dit: Nope ! Mais tu peut peut-être essayer de l'installer sur une machine virtuel ? :)
20 mai 2018 à 15:42:06 Patrice dit: Est-ce que quelqu'un a encore un PC avec win95 et knp qui tourne ?
20 mai 2018 à 07:32:23 Monos dit: Yep.
J'ai fais connaissance d'un monsieur qui veux monter une convention en 2019 à tergnier dans l'aisne. Normalement nous pouvons être de la partie !  Elle se passerais vers juillet Aout. J'ai re:ncontré Michel Louvet, il est super cool. Et Alekmaul qui a fait super hunter sur snes. Un chouette type. Tous comme le codeur de Twin Dragon sur nes.
19 mai 2018 à 12:13:15 Emmanuel dit: c est bon loic et bien arrive :-)
19 mai 2018 à 11:01:54 Emmanuel dit: Coucou loic j ai essais de de joindre par sms et appel pour savoir si du et bien arrive a la RCG.
17 mai 2018 à 14:52:40 Pit73 dit: Disons, que si c bien prevu pour du multiplateforme, peut importe l environnement de developpement. Un peu comme quake, doom etc...
16 mai 2018 à 20:42:54 graboide dit: oui par contre le multi natif c'est cool ! mais ça me choque toujours autant que windows n'avait pas été testé avant, ça donne l'impression que le développement et pas très avancé.
16 mai 2018 à 01:53:38 Pit73 dit: Ca c'est bon, du multiplateforme nativement!!! c'est génial! Au passage, linux est plus facile à installer que windows ;) y a meme des live dvd ;) en espérant que l'on ait de la 2.5d nativement aussi, avec des gestions simple de caméras ;)
15 mai 2018 à 10:09:20 Seyjin dit: Ça ne m’a pas l’air si illogique. Il est bien plus facile de rendre une appli de Linux à Windows que l’inverse.
14 mai 2018 à 21:50:37 ValLoche23 dit: C'est vrai que ça m'a beaucoup surpris !
Surtout qu'à la base, MMF2 et Fusion 2.5 ont de base été développer sur et pour Windows en premier lieu !
14 mai 2018 à 19:29:16 graboide dit: c’est inquiétant d’ailleurs ... ils avaient toujours pas testé sur windows !  windows c'est le système le plus répondu il me semble logique de tester windows en premier !
13 mai 2018 à 18:27:30 ValLoche23 dit: Heureusement ! Si il aurait fallu installer Linux ou acheter un Mac pour utiliser Fusion 3, j'aurai été bien embêter ! XD
12 mai 2018 à 16:13:54 Emmanuel dit: Nicholas, autrement connu comme LB  fais maintenant partie de l'équipe de développement Fusion 3 : http://www.clickteam.com/clickteam-blog?p=fusion-3-news-in-brief
11 mai 2018 à 16:03:07 ValLoche23 dit: Ah bah tiens, je suis pas le seul au courant, je viens juste de créer un post pour parler de la promo ! XD
11 mai 2018 à 14:36:12 Patrice dit: Promo ! https://www.humblebundle.com/store/clickteam-fusion-25?partner=clickteam
06 mai 2018 à 17:02:32 Monos dit: GG.
(J'ai récupéré un TO8 de chez thomson)
06 mai 2018 à 11:02:37 Kloug dit: Un test mapping (2 lignes de klik code), compatible CTF 2.5 Free.
04 mai 2018 à 14:50:44 Emmanuel dit: mis a jour de fusion la sortie du build 291.0 et build 291.1 Beta.
02 mai 2018 à 20:06:37 Seyjin dit: Tien, un petit truc rigolo… Pour charger une image, l’objet Image Manipulator requière des "\" ; Pour sauvegarder une image, l’objet Image Manipulator requière des "/" 😅
24 avril 2018 à 12:54:52 Emmanuel dit: C est pas grave en espérant qu il a eu le temps de téléchargé les deux exemples que je luis et fournir.
23 avril 2018 à 16:12:14 Patrice dit: C'est surement moi, il m'a demander de supprimer des doublons et j'ai du rippé avec mon gros doigt sur mon téléphone sur ton message. Je n'ai pas moyen de le remettre, désolé...
Voir l'historique

UserBox

Welcome, Guest.
Please login or register.
 
 
 
Mot de passe oublié?

Bientôt

Surprise

Liens

Messages non lus

Télécharger

Divers

Twitter

Les extensions pour MMF2

FaceBook ClickTeam France

Derniers messages

Re : L'Avenir du Module Flash ! par Cyberclic
Aujourd'hui à 22:02:07

Re : Re : L'Avenir du Module Flash ! par lazarus
Aujourd'hui à 21:33:46

Re : L'Avenir du Module Flash ! par Kloug
Aujourd'hui à 20:36:44

Re : Platformer 2D par ptiseigneur
Aujourd'hui à 19:01:53

Re : L'Avenir du Module Flash ! par Yazorius
Aujourd'hui à 11:27:48

Re : Re : L'Avenir du Module Flash ! par lazarus
Aujourd'hui à 09:18:12

Re : L'Avenir du Module Flash ! par Kloug
22 mai 2018 à 18:23:58

Re : PGR 2018 par fredetmumu
21 mai 2018 à 12:43:27

Re : PGR 2018 par Emmanuel
21 mai 2018 à 11:00:53

Re : L'Avenir du Module Flash ! par Emmanuel
21 mai 2018 à 11:00:09

Re : PGR 2018 par Cyberclic
21 mai 2018 à 10:24:50

PGR 2018 par Monos
21 mai 2018 à 07:10:56

Re : L'Avenir du Module Flash ! par ValLoche23
21 mai 2018 à 00:00:36

Re : L'Avenir du Module Flash ! par lazarus
20 mai 2018 à 21:19:56

Re : Présentation de Doc LapinouX par DocLapinouX
20 mai 2018 à 17:35:22

Re : Présentation de Doc LapinouX par Monos
20 mai 2018 à 17:33:39

Présentation de Doc LapinouX par DocLapinouX
20 mai 2018 à 17:28:53

Re : L'Avenir du Module Flash ! par ValLoche23
20 mai 2018 à 14:47:51

Re : L'Avenir du Module Flash ! par Pit73
20 mai 2018 à 12:53:03

Re : L'Avenir du Module Flash ! par Monos
20 mai 2018 à 09:50:19

Nouveau Clickeur

DocLapinouX
Nathanic89
kikich

Membre en ligne

23 Invités, 1 Utilisateur
Cyberclic

Auteur Sujet: Programmer la Master System. Chapitre 9. Importer des graphismes  (Lu 143 fois)

Monos

  • Webmaster
  • Pilier légendaire incontournable
  • **
  • Messages: 2536
    • Voir le profil
    • Offgame
  • Google Play: Oui
  • Logiciel: Fusion 2.5Dev
  • Module APK: Oui
  • Module Flash: Oui
  • Module HTML5: Oui
  • Module iOS: Oui
  • Module XNA: Oui

Chapitre 9 : Importer des graphismes

Aller, nous allons commencer à passer au chose sérieuse. Nous allons importer des graphismes réalisé sur un logiciel externe, dans la master system... Pour notre première exemple, nous allons importer une image réalisé avec photoshop. Mias vous pouvez faire la même chose avec d'autre logiciel de création d'image. Il faut juste exporter en png indexer sur 16 couleurs.

Voici pour l'exemple, l'image que nous allons faire bouffer à la machine.

J'ai juste réduit l'image en 256*192, indexer en 16 couleurs et puis c'est tout.

Maintenant il faut télécharger un petit logiciel qui se nomme bmp2tiles.
Lien
Ce logiciel à une interface graphique, ceci dit sur certain pc ce n'est pas complet et possède des problèmes. C'est mon cas. Donc pas le choix, on va devoir passer en mode ligne de commande. Aller dans le dossier Demo et poser votre graphisme. Ouvez le make data avec not pad++, on va placer des commandes dedans et je vais vous expliquer ce qu'il faut mettre.

Comme à mon habitude, j'aime bien effacer les fichiers.

donc

del *.bin
del *.inc
del *.pscompr
del *.psgcompr

ensuite on va découper l'image avec le bmp2tiles. mon image se nomme duck.png.
Notons que les dimenssions de l'image doit être un multiple de 8.

..\bmp2tile.exe duck.png      -removedupes -nomirror -savetiles tilesduck.binAlors le logiciel qui se trouve dans le dossier avant va chercher le fichier image duck. On va retirer les tiles qui peuvent faire doublon, et pas de miroir. On sauvegarde les tiles en tant que tilesduck.bin. Donc un fichier binaire.

après on va faire une tile map ! pour ça c'est -savetilemap tilemap.bin  et ebfub on va sauvegarder la palette de couleur avec -palsms   -savepalette palette.bin     -exit
Ce qui fait :

..\bmp2tile.exe duck.png      -removedupes -nomirror -savetiles tilesduck.bin            -savetilemap tilemap.bin            -palsms   -savepalette palette.bin     -exit

pause

maintenant dans votre projet, créer un dossier data. placer dedans les trois fichier qui viennent  d'êtres générés ici même.
Ensuite vous allez devoir placer dans le dossier de votre projet, le fichier exe filder2c que vous pouvez trouver dans le dossier de devkitsms.
Et on va créer un nouveau fichier batch pour compiler les datas avec ceci.
@echo off
echo Build data.c from data folder
folder2c data data
sdcc -c -mz80 --std-sdcc99 data.c
pause
trois fichier important sont réalisés.
Un fichier data.C que nous avons compiler pour donner un data.rel
Un fichier data.header
Placer le fichier .rel dans le dossier rel pour pas qu'il soit effacé plus tard.
le fichier .h dans le dossier header qui se trouve dans source. On va en avoir besoin.

Petite précision  sur folder2c data data
Le premier data, c'est le dossier qui sera traité, et le 2nd c'est le nom des fichiers avant extensions qui sera généra.
Si vous écrivez folder2c data ressource
il va générer un fichier ressource.c et ressource.h.

et dans le comp-link nous allons linker le data.rel avec les autres et le rajouter.
sdcc -o sms.ihx -mz80 --no-std-crt0 --data-loc 0xC000 rel/crt0_sms.rel  rel/data.rel main.rel SMSlib.lib
maintenant dans votre main, on va appeller le fichier data.header.
#include "header/data.h"
ouvez le data.h pour voir ce qu'il a dedans. Vous avez le nom de la palette, des tiles et du tilemap.
Ensuite vous avez un macro qui permet surtout de connaitre la taille des tiles.
11,456 ko l'image...

Bon on va mettre en place l'image et on va commencer par charger en mémoire la palette et voir une nouvelle commande pour charger une palette entière.
SMS_loadBGPalette(palette_bin);pratique non ?

Maintenant nous allons charger les tiles en mémoire.
SMS_loadTiles(tilesduck_bin, 0, tilesduck_bin_size);C'est traditionel. Le tilesduck_bin_size c'est tous simplement le macro de la taille des tiles qui se trouve dans le header généré par les datas.

Et enfin on va afficher l'image avec le tilemap après le retour d'un balayage d'écran.
SMS_loadTileMap (0,0,(unsigned int *)tilemap_bin,tilemap_bin_size);Le  0,0 est la position de l'image. tilemap_bin le nom de la map, et après bien sur c'est ça taille.
Tester un peu et magie ! votre image apparait !


voici le code complet de l'exemple :

// Intégration du fichier SMSlib.h
// la bibliotheque du DevKitSMS.
#include "header/SMSlib.h"
#include "header/data.h"
 
// En tête de la rom pour que cela soit lisible sur Master System.
SMS_EMBED_SEGA_ROM_HEADER(0,0);
SMS_EMBED_SDSC_HEADER(0,0,2018,01,02,"Monos","Duck","Test") ;



 
 
// ****************************************************************
// ** Fonction main qui est la fonction initiale du programme... **
// ****************************************************************
void main (void)
{

SMS_loadBGPalette(palette_bin);

  SMS_loadTiles(tilesduck_bin, 0, tilesduck_bin_size);
// Allumage de l'écran
SMS_displayOn();
    SMS_waitForVBlank ();
 
  SMS_loadTileMap (0,0,(unsigned int *)tilemap_bin,tilemap_bin_size);

        // ************************
        // ** Une boucle infinie **
        // ************************
        while (1)
        {


}
}


Retrouvez le dossier complet ici même

Allons plus loin :
11,456 ko l'image, nous pouvons compresser notre image. Pour cela dans l'utilitaire pour découper l'image, que de sauvegarde l'image en .bin, nous le sauvegardon en .psgcompr ce qui fait donc :
..\bmp2tile.exe duck.png      -removedupes -nomirror -savetiles tilesduck.psgcompr            -savetilemap tilemap.bin            -palsms   -savepalette palette.bin     -exit

pause
Le reste de la compilation est identique. Ceci dit pour charger les tiles compressé on utilise la fonction   
  SMS_loadPSGaidencompressedTiles (nom_du_tableau, Tiles);dans mon exemple cela fait :
SMS_loadPSGaidencompressedTiles (tilesduck_psgcompr, 0);
La taille des donnés compressé passe à 8,568 ko. 3ko de gagné sur la cartouche. Ce qui peut être important pour les machines qui ont peux de mémoire.

Note : Pour importer seulement des planches de tiles pour la composition de votre jeu : Je conseille de remplacer   -removedupes  par  -noremovedupes
« Modifié: 20 janvier 2018 à 06:59:41 par Monos »

 


+-MiniChat

Aujourd'hui à 10:08:33 Kloug dit: Patrice il me semble que KNP tourne avec XP.
21 mai 2018 à 17:11:50 Cyberclic dit: oui bien sur. Dis-moi tout
21 mai 2018 à 14:32:31 Patrice dit: Tu accepterais de faire une manip pour moi ?
21 mai 2018 à 11:46:53 Cyberclic dit: Moi, en VM et en physique sur un vieux laptop :D
20 mai 2018 à 18:34:38 ValLoche23 dit: Nope ! Mais tu peut peut-être essayer de l'installer sur une machine virtuel ? :)
20 mai 2018 à 15:42:06 Patrice dit: Est-ce que quelqu'un a encore un PC avec win95 et knp qui tourne ?
20 mai 2018 à 07:32:23 Monos dit: Yep.
J'ai fais connaissance d'un monsieur qui veux monter une convention en 2019 à tergnier dans l'aisne. Normalement nous pouvons être de la partie !  Elle se passerais vers juillet Aout. J'ai re:ncontré Michel Louvet, il est super cool. Et Alekmaul qui a fait super hunter sur snes. Un chouette type. Tous comme le codeur de Twin Dragon sur nes.
19 mai 2018 à 12:13:15 Emmanuel dit: c est bon loic et bien arrive :-)
19 mai 2018 à 11:01:54 Emmanuel dit: Coucou loic j ai essais de de joindre par sms et appel pour savoir si du et bien arrive a la RCG.
17 mai 2018 à 14:52:40 Pit73 dit: Disons, que si c bien prevu pour du multiplateforme, peut importe l environnement de developpement. Un peu comme quake, doom etc...
16 mai 2018 à 20:42:54 graboide dit: oui par contre le multi natif c'est cool ! mais ça me choque toujours autant que windows n'avait pas été testé avant, ça donne l'impression que le développement et pas très avancé.
16 mai 2018 à 01:53:38 Pit73 dit: Ca c'est bon, du multiplateforme nativement!!! c'est génial! Au passage, linux est plus facile à installer que windows ;) y a meme des live dvd ;) en espérant que l'on ait de la 2.5d nativement aussi, avec des gestions simple de caméras ;)
15 mai 2018 à 10:09:20 Seyjin dit: Ça ne m’a pas l’air si illogique. Il est bien plus facile de rendre une appli de Linux à Windows que l’inverse.
14 mai 2018 à 21:50:37 ValLoche23 dit: C'est vrai que ça m'a beaucoup surpris !
Surtout qu'à la base, MMF2 et Fusion 2.5 ont de base été développer sur et pour Windows en premier lieu !
14 mai 2018 à 19:29:16 graboide dit: c’est inquiétant d’ailleurs ... ils avaient toujours pas testé sur windows !  windows c'est le système le plus répondu il me semble logique de tester windows en premier !
13 mai 2018 à 18:27:30 ValLoche23 dit: Heureusement ! Si il aurait fallu installer Linux ou acheter un Mac pour utiliser Fusion 3, j'aurai été bien embêter ! XD
12 mai 2018 à 16:13:54 Emmanuel dit: Nicholas, autrement connu comme LB  fais maintenant partie de l'équipe de développement Fusion 3 : http://www.clickteam.com/clickteam-blog?p=fusion-3-news-in-brief
11 mai 2018 à 16:03:07 ValLoche23 dit: Ah bah tiens, je suis pas le seul au courant, je viens juste de créer un post pour parler de la promo ! XD
11 mai 2018 à 14:36:12 Patrice dit: Promo ! https://www.humblebundle.com/store/clickteam-fusion-25?partner=clickteam
06 mai 2018 à 17:02:32 Monos dit: GG.
(J'ai récupéré un TO8 de chez thomson)
06 mai 2018 à 11:02:37 Kloug dit: Un test mapping (2 lignes de klik code), compatible CTF 2.5 Free.
04 mai 2018 à 14:50:44 Emmanuel dit: mis a jour de fusion la sortie du build 291.0 et build 291.1 Beta.
02 mai 2018 à 20:06:37 Seyjin dit: Tien, un petit truc rigolo… Pour charger une image, l’objet Image Manipulator requière des "\" ; Pour sauvegarder une image, l’objet Image Manipulator requière des "/" 😅
24 avril 2018 à 12:54:52 Emmanuel dit: C est pas grave en espérant qu il a eu le temps de téléchargé les deux exemples que je luis et fournir.
23 avril 2018 à 16:12:14 Patrice dit: C'est surement moi, il m'a demander de supprimer des doublons et j'ai du rippé avec mon gros doigt sur mon téléphone sur ton message. Je n'ai pas moyen de le remettre, désolé...
Voir l'historique
Powered by EzPortal