Zeph Le 29/08/2006 à 17:00 heu... je sais pas si c'est déjà fait (attends confirmation à tout hasard), mais si tu comptes l'adapter, va falloir plonger dans les sources donc c'est un peu à toi d'aller y jeter un oeil et déterminer si c'est faisable facilement ou pas ^^

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Ce serait si intéressant que ça, par rapport à ce qui existe déjà ?

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
L'idée est plutôt d'archiver tous les fichiers de mon jeu en un seul, dans un format standard (zip) et de sortir au fur et à mesure les fichiers dont j'ai besoin. Donc, tant qu'à faire, autant faire quelque chose de générique pour que d'autres puissent en profiter.
Fred.
Ben je ne sais pas comment les autres compresseurs gèrent ça, mais la compression nécessite de grandes quantités de RAM : 256ko par défaut. Cela peut être réduit, au détriment de la qualité de compression...
Dans tous les cas, ce serait intéressant de bénéficier d'une grande partie de la RAM (128ko par exemple), mais ça risque d'être difficile à gérer sur AMS puisque ce système ne permet pas d'allouer plus de 64ko contigus.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Et puis l'API est peut-être un peu riche pour être portée sur TI.
Cela dit, tu peux faire un compresseur (enfin, un décompresseur surtout) exploitant le format en question, sans pour autant fournir la même API que celle de la vraie lib.

« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Sally Le 29/08/2006 à 17:23 en fait ce qui se fait (enfin ce que moi j'ai fait en tous cas) pour le genre de choses que tu dis, c'est de faire la compression sur PC et d'avoir seulement la routine de décompression sur la calculette (a priori, tu n'as pas besoin de compresser oncalc ?)
Personnellement j'avais utilisé shrnklib pour la version kernel de mon programme et ttarchive/ttpack (bien que je n'aie théoriquement pas le droit parce que GPL gnagna) pour la version nostub.

« Le bonheur, c'est une carte de bibliothèque ! » —
The gostak distims the doshes.Membrane fondatrice de la confrérie des
artistes flous.
L'univers est-il un
dodécaèdre de Poincaré ?
(``
·\ powaaaaaaaaa ! #love#
tout à fait, je n'aurais besoin que de décompresser dans un premier temps, mais si je vois que ça marche bien, dans un second temps, pourquoi pas généraliser le process.
Oui, l'idée de décompresser seulement un bout de fichier est adéquate, mais :
- le support des fichiers zip n'est pas inclus dans zlib à proprement parler je crois
- la compression zip n'est peut-être pas très adaptée aux TI
Ce dont tu parles rejoint en fait l'idée des packs archives, et shrnklib est très adaptée pour ça (puisqu'elle peut compresser les fichiers collectivement [donc avec un taux de compression meilleur qu'une compression individuelle] tout en les décompressant individuellement)... Si ton programme est en mode kernel tu n'as rien à implémenter puisque preos le fait, sinon je ne sais pas s'il y a une version nostub ?
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
En taille mémoire, que représentent les données que tu veux compresser ?

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
(et shrinklib existe sur Fargo aussi #argument#)

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
pour le moment, j'ai en tout 144 fichiers de données. 73 fichiers correspondant aux niveaux qui sont compressés et 71 fichiers comprenant les sprites et les tiles ces derniers ne sont pas compressés.
Oui mais quelle taille les fichiers à compresser ?

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
.21/ autant pour moi. Les données se répartissent comme suit:
- 73 fichiers contenant les niveaux utilisant 102223 octets non compressés et 50823 octets une fois compressés (séparément) avec ttpack
- 71 fichiers d'images non compressés utilisant 181824 octets.
OK, ça fait quand même pas mal de données...
Les niveaux font une taille moyenne de plus d'1 KB, donc les headers ttpack/ttarchive ne représentent pas une proportion trop importante de la taille (~2-3% de la taille moyenne compressée).
Tu as essayé de compresser les images avec ttpack/ttarchive ou une autre compression ?
.24/ j'ai essayé en effet mais j'ai obtenu des choses assez bizarres. Lorsque je décompresse les fichiers je récupère bien un pointeur sur un unsigned char (que j'appelle PBYTE). Lorsque je décompresse des niveaux (qui peuvent aller jusqu'à 4KB - décompressé - maps énormes) cela fonctionne bien et c'est ce que je fais actuellement. En revanche, j'ai un problème avec les tables d'images. Lorsque je décompresse et que j'affiche les images (après avoir casté le pointeur bien sur) je n'ai pas l'affichage escompté: ça affiche n'importe quoi. Ce, alors que je fais exactement le même procédé que pour la décompression des niveaux. Il se peut que je fasse mal une opération. Pour les tiles 8x8 je ne caste pas, ça reste du PBYTE car chaque ligne de l'image est codée sur un octet, et pour les images de 16x16, je cast en PWORD (unsigned short* - 2 octets). Actuellement les images ne sont pas compréssées. Mais le jeu utilisant beaucoup de mémoire, je crains fort qu'il y ait saturation si je compresse les images, en effet, il faut la place pour les décomprésser, et il y a beaucoup d'images par niveau. Comme vous avez pu le voir, l'environnement graphique est très riche.
Possible que tu consommes trop de RAM si tu compresses les images... mais tu réduiras la taille de ton code si tu regroupes les images en quelques fichiers.
Pour le problème que tu rencontres, je ne vois pas.