[C][Basic][Lua][Prizm][G75/85/95] Sprite Coder
Posté le 23/05/2013 21:45
Ce que je trouve vraiment dommage avec le codeur de sprite sur le site cemetech.net, c'est qu'il n'est pas possible de coder plusieurs sprites en même temps, par exemple dans mon jeu Zelda il y aura 300 sprites et coder 300 sprites est beaucoup trop long à faire...
Du coup j'ai programmé hier un programme en PHP qui permet de coder plusieurs sprites en même temps, sans limitation de taille, pour les calculatrices G75/85/95 et pour la cg-10/20, j'essayerai de l'adapter plus tard en C/C++.
>>Vous pouvez accéder à la V3 ici<< .
Installation - Cliquer pour dérouler
Installation - Cliquer pour enrouler
Vous pouvez aussi l'installer sur votre ordinateur pour l'utilisation offline
Télécharger puis installer sur votre ordinateur easyPHP (ou wamp, mais perso je préfère easyPHP).
Télécharger le .zip dans le fichier joint.
Décompresser le .zip dans le dossier "www" qui se trouve dans le dossier "easyPHP" .
Dans un navigateur web (Chrome de préférence), taper dans la barre d'adresse 127.0.0.1, puis cliquer sur le dossier spriteCoder
Ce que ce programme est capable de faire
Ce que ce programme est capable de faire
Ce programme est capable de :
Coder tous les images .PNG .GIF et .JPEG
Coder les sprites pour les G75/85/95 et Cg-20
Générer un tableau de pointeur, contenant les adresses de tous les sprites.
Coder les sprites en 8-bits ou en 16-bits pour la cg-20
Coder plusieurs feuilles de sprites en même temps
Dans une future mise à jour
Dans une future mise à jour
Dans une future màj il sera possible
de coder les sprites en 2-bits et 1-bit
de coder des sprites avec des niveaux de gris
Voilà, si vous avez des idées d'améliorations faites m'en part
dernière mise à jour : 16-03-2014 à 17:33
dernière version : 2.0b
Fichier joint
Citer : Posté le 23/05/2013 21:51 | #
Si ça te gène pas, pour que tout le monde puisse tester je l'ai mis sur mon serveur :
http://wiki.planet-casio.com/tools/SpriteCoder/
Citer : Posté le 23/05/2013 21:55 | #
Ok ça me va
Citer : Posté le 23/05/2013 22:15 | #
pas mal
Je suppose que les sprites seront compatible avec les nouvelles fx-CP400 ? (lorsqu'un sdk communautaire sortira)
Citer : Posté le 23/05/2013 22:16 | #
ben il suffira de faire une fonction compatible
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 23/05/2013 22:24 | #
je parle au niveau des couleurs
la fx-CP400 en a autant que la Prizm, j'en déduit que le format sera identique (pas besoin d'encoder un pixel sur 3 octets, etc)
Citer : Posté le 23/05/2013 22:27 | #
ben de toute facon, cela ne serait pas trop difficile de corriger cela (une fonction qui changerait la palette de couleur pour l'agrandir)
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 23/05/2013 22:32 | #
Oui ce n'est pas difficile de corriger ça, il suffit juste de modifié quelques lignes de codes
J'ai rajouté le lien dans la description.
Ajouté le 24/05/2013 à 00:12 :
Màj : il est maintenant possible de coder des images .gif et .jpeg
Ajouté le 24/05/2013 à 21:41 :
Quelqu\'un peut m\'expliquer comment fonctionne le système d\'encodage des sprites pour les G75/85/95? Je pourrais rajouter ça
Citer : Posté le 24/05/2013 21:58 | #
ben tout les pixels sont regroupé en 8, et mis dans un octet
par exemple : {0,0,0,0,1,1,1,1} //une ligne de 4 pixels
devient : {0X0F}
et on fait ça pour chaque ligne, et quand un sprite est plus grand que 8 de longueur, chaque ligne est représenté par deux unsigned char
un autre exemple :
{1,1,1,0,0
,1,1,1,1,0
,1,1,1,1,1
,1,1,1,1,0
,1,1,1,0,0}
devient : unsigned char fleche[] = {0xC0, 0xE0, 0xF0, 0xE0, 0xC0};
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 24/05/2013 22:27 | #
Merci, et comment on fait si la longueur est inférieur à 8? Car je ne comprend pas trop ton deuxième exemple, 11100=00011100=0x1C or dans ton exemple ça donne 0xC0 donc j'ai fait quelque chose de faux.
Citer : Posté le 24/05/2013 22:30 | #
si la longueur est inferieure a huit, on ne compte pas les dernier pixels
Pour un bitmap de largeur intérieure à 8, chaque ligne va tout de même prendre 1 octet. Les derniers bits de chaque octets seront simplement inutilisés.
Pour un bitmap d'une largeur supérieure à 8, mais non multiple de 8, ce sera pareil, les derniers bits du dernier octets de chaque ligne seront inutilisés.
Les fonctions ML_bmp appliquent un masque sur ces derniers bits pour qu'ils soient inactifs, quelque soit leur contenu.
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 24/05/2013 23:01 | #
D'accord, donc 11100<=> 11100000?
Citer : Posté le 25/05/2013 08:36 | #
oui
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 25/05/2013 14:55 | #
Mise à jour, il est maintenant possible de coder des sprites pour les G75/85/95
Quelqu'un peut vérifier si le code générer est correct? Vous pouvez y accéder en cliquant ici
Normalement ça marche aussi avec des images qui ne sont pas monochrome.
Citer : Posté le 25/05/2013 15:09 | #
c'est bon, ca marche (en tout cas pour le sprite 16*8 que j'ai testé)
et aussi pour l'image couleur de 102*37 pixels que j'ai testé
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 25/05/2013 15:12 | #
Super et merci
Citer : Posté le 25/05/2013 15:14 | #
merci a toi surtout, ton logiciel est beaucoup plus pratique que TilesCreator (enfin, de mon point de vue)
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 25/05/2013 15:28 | #
Avec plaisir
Si vous avez des idées d'améliorations, ou si vous avez trouvé des bugs, faites m'en part ;).
Citer : Posté le 25/05/2013 15:38 | #
peut être une idée d’amélioration (mais de l'ordre du détail) :
quand on génère le code, cela serait bien de pouvoir choisir la taille max des lignes.
en effet, moi j'aime bien avoir un sprite par ligne, je trouve cela plus condensé, mais je sais que d'autres n'aime pas trop.
il faudrait pouvoir laisser le choix entre :
une ligne par sprite, une ligne du sprite par ligne ,et un nombre max de caractere par ligne
exemple :
pouvoir genere ca :
unsigned char petit_orbe[] = {0x3C, 0x42,0xC1, 0xC1, 0xC1, 0xE1, 0x7E, 0x3C};//tout sur une ligne
unsigned char petit_orbe[] = {
0x3C,
0x42,
0xC1,
0xC1,
0xC1,
0xE1,
0x7E,
0x3C};//une ligne du sprite par ligne
unsigned char petit_orbe[] = {
0x3C, 0x42,
0xC1, 0xC1,
0xC1, 0xE1,
0x7E, 0x3C};//avec max 12 caractères par ligne
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 25/05/2013 15:42 | #
Ok, je vais essayer de faire ça :).
Citer : Posté le 25/05/2013 15:45 | #
et aussi pouvoir coder des feuilles de sprites, en mettant par exemple qu'un sprite est de 16*16 et puis tout mettre dans un tableau. ce sera plus pratique pour l'animation d'un personnage ou pour utiliser des sprites pris d'internet
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !