Version Française English Version Planete-casio.fr
Bienvenue sur la nouvelle version de planete-casio! Laissez vos impressions sur le forum!
Forums Casio - Projets de programmation

Index du Forum | Projets de programmation | SpritLib
Pierrotll
Hors ligne
Statut: Membre
Niveau: Confirmé
Points: 1248
Défis: 9
Email | Message
Posté le 14/07/2007 02:39

SpritLib:

Je crée ce topic pour vous informer de mon travail et de ses évolutions.

Je travaille depuis plusieurs semaines sur une nouvelle version gérant deux niveaux de gris. Mais, les gris que j'obtiens pour l'instant sont imbuvables
Ce soir j'ai donc décidé d'adapter SpritLib avec les niveaux de gris d'Epsilon. J'ai fais ça en une heure ce soir, vite fait bien fait. Il y a aussi deux nouvelles fonctions dans cette mini version, SL_HorizontalInverse et SL_VerticalIverse. qui inversent une image horizontalement et verticalement. Comme vous pouvez le constater, ce n'est pas du tout une version finale, je n'ai pas fait la gestion de la couleur INVERSE et j'ai aussi enlever la fonction SL_GetImg. C'est pour ça que je ne la mets pas en téléchargement avec l'ancienne version.

Donc voila, pour ceux qui veulent se lancer dans un jeu en gris... Mais je trouve que c'est trop lent. Et puis, j'ai fais les fonctions pour deux niveaux de gris, mais comme Epsilon affiche les deux buffers a la même fréquence, on ne peut en avoir qu'un

Fichier joint




Meithal
Hors ligne
Statut: Admin
Niveau: Aucun
Points: 3097
Défis: 7
Email | Message
Posté le 14/07/2007 19:30 |
bon boulot des images seraient sympa.
----------------------------------
Calculatrice : Graph 35+
Pierrotll
Hors ligne
Statut: Membre
Niveau: Confirmé
Points: 1248
Défis: 9
Email | Message
Posté le 16/07/2007 19:00 | Fichier joint
Bein, ya rien de spécial a voir, le programme affiche juste une ligne grise en travers de l'écran et une balle qu'on peut diriger au clavier. C'est surtout pour montrer l'utilisation de cette mini version de SpritLib. J'ai prévu la librairie pour deux gris, mais epsilon n'en fait qu'un. Ce qui me fait m'interroger sur le bien fondé de cette photo
Samy
Hors ligne
Statut: Admin FCC
Niveau: Vétéran
Points: 1167
Défis: 40
Email | Message
Posté le 18/07/2007 20:39 |
ben il ya deux buffer don on peut faire 2 niveaux de gris+ noir+ blanc, le tout si on affiche les buffers avec des temps différents... je croyais qu'il avait fait cela
----------------------------------
[blue] Peace and
smiley


--- >>)) LuaStation ((<< ---
Pierrotll
Hors ligne
Statut: Membre
Niveau: Confirmé
Points: 1248
Défis: 9
Email | Message
Posté le 19/07/2007 01:00 |
Oui, moi aussi, mais ce n'est pas le cas, les deux buffers sont rafraichis a la même fréquence. A voir avec lui...
Pierrotll
Hors ligne
Statut: Membre
Niveau: Confirmé
Points: 1248
Défis: 9
Email | Message
Posté le 19/07/2007 02:54 | Fichier joint
Nouvelle avancé dans ce projet!!!

Aujourd'hui je me suis dit que ma librairie était pourrie, les sprites prennent trop de mémoire (un octet par pixel) et il sont affichés trop lentement (tout est relatif)

J'ai réfléchit, et je me suis dis que dans la plus part des jeux, on efface l'écran, puis on affiche les sprites, puis on rafraichie l'écran. On a rarement besoin des couleurs BLANC et INVERSE. Donc j'ai créé un nouveau type de sprite, ou chaque pixel ne prend qu'un bit et est soit noir, soit transparent.

Le programme basic fournie dans le .rar permet d'avoir le code d'un sprite. Pour créer le sprite dans le programme en C, il faut faire un tableau de char dont les deux premières cases sont la largeur et la hauteur de l'image, puis le code donné par le programme basic.

/!\ Attention, la fonction SL_DrawSimplesprite utilise l'adresse de la VRAM pour tracer les sprites plus rapidement. L'image est donc décalée avec l'émulateur, hélas.

Ce système est bien plus rapide que le précédent. Pour l'instant la lib ne contient qu'une seule fonction, mais je vais en rajouter d'autres par la suite. erci de me faire part de vos critiques et suggestions, je n'attend que ça

EDIT: (Pour ceux qui l'ont téléchargé ce matin, s'il y en a) Il y avait une erreur dans le code que j'ai envoyé hier soir, je l'ai corrigé ce matin.
Samy
Hors ligne
Statut: Admin FCC
Niveau: Vétéran
Points: 1167
Défis: 40
Email | Message
Posté le 19/07/2007 14:42 |
ok c'est cool ça! enfin des "vrais" fonction de sprites (rapides et économiques en places!)
bravo!!!
----------------------------------
[blue] Peace and
smiley


--- >>)) LuaStation ((<< ---
Pierrotll
Hors ligne
Statut: Membre
Niveau: Confirmé
Points: 1248
Défis: 9
Email | Message
Posté le 20/07/2007 17:58 |
En fait je m'aperçoit que mon travaille est complètement pourris
Je viens de trouver cet excellent tuto et je vais l'appliquer, en essayant de le faire en asm (ce qui est nouveau pour moi).
Meithal
Hors ligne
Statut: Admin
Niveau: Aucun
Points: 3097
Défis: 7
Email | Message
Posté le 20/07/2007 18:15 |
C'est sur que si tu as la possibilité de toucher à l'asm le résultat ne pourra pas être égalé
----------------------------------
Calculatrice : Graph 35+
Samy
Hors ligne
Statut: Admin FCC
Niveau: Vétéran
Points: 1167
Défis: 40
Email | Message
Posté le 20/07/2007 22:17 |
en meme temps il faut savoir comment est géré la mémoire vidéo sur graph 85
en tout cas j'ai trop hate d'avoir une bonne petite librairie performante! alors je te soutiens à fond dans cette entreprise. bon courage
----------------------------------
[blue] Peace and
smiley


--- >>)) LuaStation ((<< ---
Pierrotll
Hors ligne
Statut: Membre
Niveau: Confirmé
Points: 1248
Défis: 9
Email | Message
Posté le 22/09/2007 01:58 |
Grosse avancée dans le projet
Ce soir j'ai compris et résolu le bug qu'avait ma fonction d'affichage de sprite en octet par octet (donc tres rapide), et j'en ai profité pour programmer un petit utilitaire pour PC qui donne le code des sprites en 8*8 et 16*16.
Vous pouvez télécharger le tout ici.
SpriteLib.c et SpriteLib.h sont les fichiers de la nouvelle version de SpritLib (qui ne contient que deux fonction ) et Uselib.h est un exemple d'utilisation.
main.c est le fichier source de SpriteMaker.
J'attend vous remarques avec impatience
Muelsaco
Hors ligne
Statut: Webmaster
Niveau: Elite
Points: 9123
Défis: 175
Email | Message
Posté le 22/09/2007 10:40 |
çà serait peut être bien d'adapter ta lib avec fx-revolution non?
----------------------------------
Calculatrices : Fx 92 Collège, Graph 25, Graph 65, Graph 85, Graph 100, Classpad 300.
Pierrotll
Hors ligne
Statut: Membre
Niveau: Confirmé
Points: 1248
Défis: 9
Email | Message
Posté le 22/09/2007 13:12 |
Justement, cette version la est compatible
Muelsaco
Hors ligne
Statut: Webmaster
Niveau: Elite
Points: 9123
Défis: 175
Email | Message
Posté le 22/09/2007 13:16 |
Non mais l'inclure carrément dedans
çà éviterait d'avoir 36 librairies. Je vais d'ailleurs refaire les fonctions que j'avais faite pour fx-revolution.
----------------------------------
Calculatrices : Fx 92 Collège, Graph 25, Graph 65, Graph 85, Graph 100, Classpad 300.
Pierrotll
Hors ligne
Statut: Membre
Niveau: Confirmé
Points: 1248
Défis: 9
Email | Message
Posté le 22/09/2007 14:49 |
Je suis désolé, je suis allé un peut trop vite hier et il restait des problèmes au deux programmes.
Vous pouvez télécharger le nouveaux fichier ici
L'exemple a changé et utilise revolution-fx


Index du Forum | Projets de programmation | SpritLib
Pseudo :
Adresse email :
Réponse :
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :?:  :arrow:  :!:  :here:
Ajouter fichier joint :


Me prévenir par mail lorsqu'une réponse est postée



Recherche :
Publicité et partenaires
Top Cinema par les créateurs de Planete Casio :
Découvrez le classement des meilleurs films et séries sur Top-cinema.com !
Chat
Veuillez saisir le code affiché sur l'image
  Pseudo :   Message :

www.planete-casio.fr v3.0 © crée par Neuronix et Muelsaco 2007
Il y a 12 connectés | Nous contacter | Recherches effectuées | Liens | Forum Commun Casio