1

Comment assigner un sprite à un pointeur déjà défini ?
Je m'explique :
g un sprite définit de la manière suivante :

unsigned long sprt1[]={...};

Mais je définit également un pointeur :

unsigned long sprt2;

Le problème est que je voudrais pouvoir assigner un sprite à sprt2 mais je n'y arrive pas sad
J'en ai besoin dans le cadre de cette portion de code :

extern unsigned long reverse_longu32(register unsigned long a asm("d1"));
asm("reverse_longu32:;moveq.l #31,%d2;0:;add.l %d1,%d1;roxr.l #1,%d0;dbra.w %d2,0b;rts")

void mirror(unsigned long* src,unsigned long* dest)
{
unsigned char i;
for(i=32;i;i--) *(dest++)=reverse_longu32(*(src++));
}


>> pour la définition des fonctions utilisées

ensuite, je veux stocker le sprt1 mirrorred dans le sprt2 en écrivant :

mirror(sprt1,sprt2);

mais ça me met un protected memory error car g l'impression que ça modifie le sprt1 (que je veux conserver intact).

Pouvez-vous m'aider ?
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

2

ben déjà, si tu définis ton pointeur comme ça (unsigned long sprt2;), ça n'en est pas un. il faudrait faire comme ça : unsigned long sprt2[256]; (enfin, je crois...)
ensuite, pour tes deux fonctions, je ne sais pas siil y a un pb dedans, puisque je ne connais rien à l'ASM, mais ta fonction mirror à l'air bonne.

3

unsigned long *sprt2; plutôt wink
unsigned long sprt2[x]; ça définit un tableau, qu'on peut considérer comme un pointeur en lecture seule, mais qui bouffe x octets de RAM...

Va voir mon tuto sur les pointeurs ici : http://www.ti-fr.org/prog/index.php3?do=c/tuto/pointeurs
C'est pas ma faute à moi si j'entend tout autour de moi L.O.L.I.T.A !

4

si tu fais un ulong32 spr2
ce n'est q'un long de 4 bytes (pas un tableau ni un pointeur)

si tu fais un *spr2, il faut faire un malloc et ensuite remplir,

sinon, si tu as d'autres varz declarees apres, elle serot foutues,
et si c'est ta derniere var, tu vas ecrire plus loin que son espace reservé!
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

5

tu peux pas m'écrire la portion de code à changer ? confus
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

6

Tu remplacex unsigned long sprt2; par unsigned long sprt2[32];.
Il te faut réserver la place pour le sprite miroir (donc unsigned long *sprt2; ne va pas), et tu as besoin de 32 unsigned longs, pas d'un seul.
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é

7

utilises un malloc...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

8

Pour 128 bits? C'est mieux en variable locale sur la pile à mon avis. Sauf s'il a un très grand nombre de sprites à renverser.
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é

9

je v devoir faire un malloc : 40 sprites à stocker tongue
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina

10

bon, voilà le dernier pb qui se met entravers de ma route pour ce qui est des sprites :
pour afficher kirby g un tableau du type : unsigned long *kirby[15][2]
qui pointe vers ts les sprites, ce qui me permet de faire un affichage en mettant la variable d'état de kirby ds la première colonne.
Maintenant je veux que le tbl devienne : *kirby[2][15][2]
la première colonne sert à déterminer le sens d'affichage.
qd je veux pointer mes sprites déclarés :
unsigned long knb_p1[32],knb_p2[32],kdb_p1[32], ...
en les mettant ds le tableau, le prog refuse de se compiler et on me dit (pour chaque sprite que je veux mettre ds le tbl : initializer element is not constant (near initialization for 'kirby[0][...][...]')Il est où le pb ce coup-ci ? confus
[edit]Edité par Vark-Dador le 06-03-2002 à 11:43:09[/edit]
*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & sabrina