1

bon g séparé des img d'un prgm:
unsigned short world[652][16]={...};
unsigned short perso[16*7][16]={...};

void _main(void){

FILE *fp;

fp = fopen("world","wb")

fwrite(world,1,20864,fp);
fwrite(perso,1,3584,fp);

fputc(0,fp);
fputs("PsiW",fp);
fputc(0,fp);
fputc(OTH_TAG,fp);
fclose(fp);
}


Bon ça marche impec, apres je veux afficher un item avec un autre prgm:


void _main(void)
{

FILE *fp;
unsigned short *wrld,*prso,img;
ESI argptr;
reset_control_flags ();
InitArgPtr(argptr);
img=GetIntArg (argptr);

wrld = malloc(20864);
prso = malloc(3584);

fp = fopen("world","rb")

fread(wrld,1,20864,fp);
fread(prso,1,3584,fp);
fclose(fp);

Sprite16(0,0,16,wrld+16*img,LCD_MEM,SPRT_OR);

ngetchx();
free(wrld);
free(prso);
}


vala on l'appelle comme ça: psilib(5)
ça marche impec, mais c leeeeeeeeeeeeeeent !!!!
yaurait pas moyen d'extraire un ou qq items du fichier séparé plutot que de faire un malloc(20864) ????????
avatar
納 豆パワー!
I becamed a natto!!!1!one!

2

Tu connais la fonction fseek grin
fseek(FILE, position, SEEK_CUR/...)

3

arf, non je connais pasgrin, ben je vais apprendre alorspicol
avatar
納 豆パワー!
I becamed a natto!!!1!one!

4

Si c'est sur TI, y'a plus simple : la VAT.
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

5

Ce n'est pas malloc(20864) qui est lent, mais fread(wrld,1,20864,fp); (fread lit caractère par caractère!)
Utilise les fonctions de vat.h!

Tu peux utiliser memcpy pour récupérer tes blocs:
unsigned char *fptr=HeapDeref(SymFindPtr($(world),0)->handle);
memcpy(prso,fptr+20866,3584);


Ou encore mieux, supprime les malloc et fais:
unsigned short *prso;
prso=(unsigned short *)((unsigned char *)HeapDeref(SymFindPtr($(world),0)->handle)+20866);

pour lire directement du fichier.
[edit]Edité par Kevin Kofler le 25-01-2002 à 16:44:32[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

6

gloups g pas compris le 2e truc, tu m'expliquer si je veux lire le 5e element du tableau wrld ??????
avatar
納 豆パワー!
I becamed a natto!!!1!one!

7

Bon, OK, je mets une variable intermédiaire (c'est plus lisible), et je mets aussi wrld, pas seulement prso:

unsigned char *fptr;
unsigned short *wrld, *prso;
fptr=(unsigned char *)HeapDeref(SymFindPtr($(world),0)->handle)+2;
wrld=(unsigned short *)fptr;
prso=(unsigned short *)(fptr+20864);


Et là, tu peux utiliser:
Sprite16(0,0,16,wrld+16*img,LCD_MEM,SPRT_OR);

comme avant, mais sans malloc ni fread.

(Oups, j'avais oublié de rajouter 2 pour sauter la taille.)
[edit]Edité par Kevin Kofler le 25-01-2002 à 16:44:14[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

merci kevin, tu es génial
avatar
納 豆パワー!
I becamed a natto!!!1!one!

9

Je peux savoir pkoi t'as besoin de sprite16 ?

10

Ca sert à quoi GL et ExtGraph ? grin

11

lol PpHd !!!!!

nan c pas pour seiken, c pour darkhole mais tant que j'y suis je v faire pareil avec les sprites de seikengringringrin
avatar
納 豆パワー!
I becamed a natto!!!1!one!