1

Voila mon probleme. Pour un de mes jeux, j'ai besoin d'une souris. Ce que je fais, j'ai créé une structure particuliere:
typedef struct MOUSE
{
  int x;
  int y;
  unsigned short *curseurs[12];
  unsigned char *mask[12];
} MOUSE;

Et j'ai tout les sprites inscrit dans un tableau:
unsigned short *curs[12]={sprite1,sprite2....sprite12};
unsigned char *mask[12]={mask1 ...mask12};

Ensuite j'initialise la variable du jeu avec un malloc:
MOUSE *souris;
souris=malloc(sizeof(souris));

pui, j'initialise la structure avec une fonction:
void init_souris(MOUSE *src)
{
  src->x=50;
  src->y=50;
  memcpy(src->curseur,curs,sizeof(curs));
 //idem pour les masques
}


puis, je les affiches avec une fonction:
void DrawMouse(MOUSE *src, int curs)
{
  ClipSprite16...(src->x,src->y,16,src->curseur[curs]...);
 ....
}

de cette maniere là. J'utilise les fonctions clipés noir&blanc de sprites de la nouvelle version d'ExtGraph
mais quand j'affiche les sprites de la souris, certains sont deformés on ne les reconnaits presque pas pkoi ??
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

2

Argh, c'est peut-être un bug de la fonction d'ExtGraph. J'espère que ce n'est pas le cas sad

Sinon, ce n'est pas sizeof(souris) qu'il faut mettre dans ton malloc, mais sizeof(MOUSE) ou sizeof(*souris)

Je ne vois pas d'où vient ton problème en tout cas, il faudrait peut-être que je voie plus de code.

3

oups, j'ai bien mis sizeof(MOUSE) dans mon vrai code.
Mais le prob, c'est que ça merde aussi avec les fonctions de sprite de Tigcc
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

4

Ah, ça me rassure smile
Il faudrait voir ce que sont tes curs.

5

Pour

sizeof(curs)


tu peut tenter de le remplacer par

sizeof(unsigned short *)*12
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

6

aussi sachant que tu ca :

void init_souris(MOUSE *src)
{
src->x=50;
src->y=50;
memcpy(src->curseur,curs,sizeof(curs));
//idem pour les masques
}

Il faut allouer de la memoir pour dans ta structure avant de copier... ou alors tu fait

src->curseur = curs; puisque tu utilise des pointeurs...

A se propos sprite1,sprite2....sprite12 correspondent a quoi ? des pointeurs ? des valeurs ???

avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

7

vu comme c'est, je dirais les pointeurs vers les sprites ...

8

ils correspondent aux sprites
on a le sprite: usigned short sprite1[]={0xFFF,...etc};
mais ce que je comprend pas, c'est que ça me le fait que sur certains sprites, pas sur touts (sur le dernier , le troisieme et parfois le premier)
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

9

au lieu de ton memcpy essaye de faire

src->curseur[0] = sprite1;
src->curseur[1] = sprite2;
...
src->curseur[11] = sprite12;

et idem pour les masques

je suis pas sur que ta déclaration de tableau puisse bien fonctionner...
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

10

si sa marche actuellement c'est ptet simplement un "coup du hazard"....
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

11

ce que je comprend pas, c'est surtout que tout marchais bien, puis d'un coup, j'ai rajouté une nouvelle fonction, et a partir de ce moment, tout a merdé, le pire, c'est que cette fonction n'a rien a voir avec les sprites de la souris ni avec la souris, elle est totalement a part
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

12

le pbm viens, a mon avis, du fait que jusqu'a présent tout marchait a cause du "hazar" un bug dans tes routines qui etait "invisible", et qui c'est déclaré quand ton code c'est mis a changer (ajout de code entre deux partit du programme etc...) qui pour toi ont invisible, mais qui cause des effet indésirables quand tu cherche a faire fonctionner (c'est les bugs les plus chiants...)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

13

Tu devrait allouer déjà en mémoire ta structure MOUSE puis après allouer les tableau souris->cureurs pui souris->mask.?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

14

ben comment tu crois que je fait ???
je tape:
MOUE *souris;
souris=malloc(sizeof(MOUSE));
init_struct(souris);
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

15

godzil, je vais essayer de placer les routines de la souris apres celle de la fameuse fonction, je verrais bien (ou alors, je la placerai avant), je vais faire des essais
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

16

Sinon, poste toute ta source trigni

17

PiNGoO> Le pbm c que si en déplacent le code sa marche, c'est que ton code est buggé de toute facon....
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

18

jackiechan> toute la source ???? tu vas en avoir du code grin et pui, je garde encore le codetongue, je donnerai le code source avec le jeux quand j'aurai quelque chose de bien (peut être bientôt une pre beta)

godzil> je vois vraiment pas d'ou vient le bug, mais si ça marche en deplacant le code, et bien tant mieux, de toute facon c'est le seul bug a deplorer de toute maniere.
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

19

sizeof(curs) dans ton code renvoye bien la bonne valeur?
Tu devrait tester ligne à ligne ton code. wink
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

20

ça y est j'ai reussi a debuger, c'etais une erreur dans encore une autre fonction sur la mise en memoire de chaines de caractere (ça ou une autre fonction, en fait il y en a deux, j'ai vu d'ou venais le bug, et j'ai pas cherché plus loin pour le moment)
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres