avant tout la première me semble plus importante(en data ou fichiers joints): les plupart des jeux conçu en C, voit leurs images illisibles, et même des logiciels gratuits. Je ne cherche pas une protection de l'espace, style muraille de chine qui en impose, mais juste une élégante petite clôture en bois Wink
Ouki, je comprends tout à fait :p
J'ai fait mon propre format pour stocker mes images, dd'une part par ce que c'est plus elegant ( c'est p'tetre irrationnel mais ça le fait lol ), et aussi par ce que j'avais besoin de manipuler facilement la couleur des pixels.
Recement, j'leur ai appliqué une compression toute con mais qui decouragerait les ... emprunteurs malpolis ( qui te demanderait pas

) de piller toute tes ressources. (j'explique après)
Avec ça "ils" peuvent evidement toujours screenshouter, mais vraiment faut être motivé pour se tapper tout le detourage après..
Mes sprites sont structurés comme ça :
1) L'En-tête : Largeur, Longueur (+ d'autres dans mon cas)
2) La liste des couleurs RGB() utilisées : on utilise jamais 1 millions de couls sur un seul sprite, moi j'aime bien me limiter à 256 nuances, pour que la suite soit plus legère.
3) La grille qui refère a un num de la liste. (Un .byte donc, si tu utilises que 256 couls ).
Après ça, pour compacter mon jeu ( Optimiser dans le sens du... temps de telechargement :p, quand on fait un petit jeu amateur, j'pense que c'est pas negligeable ), j'ai commencé par remplacer les espaces transparents (par exemple une ligne de 30 pixels transparents) par :
1 .byte (255 chez ouam) qui indique que le chiffre suivant est le nombre de pixels transparents (j'utilise le 0) à sauter lors de la restitution des données sur un vrai sprite.
Comme mes images ont bcp de transparence, si t'affiches le resultat (déjà faut connaitre le bon Width et la liste) sans utiliser les sauts, ça donne une bouillie de pixels comme ça :
La methode est extensible à touts pixels qui se repetent plus de .. 3 fois, mais bon, si tu charge enormement de sprites, t'auras plus le chargement instantané des .PNG classiques :p.
A partir de là, tu peux aussi enregistrer les listes separées des dimensions du sprite et des grilles :p, là faudrait vraiment se prendre la tête pour recupperer tes données ! mais bon j'irais pas jusque là x)
J'ai decouvert ce sympatique bouillitage de sprite en cherchant juste à les compacter

, apres, tu peux toujours ajouter d'autres trucs, mais ce serat au detriment de la vitesse ou de la taille :s