1

Salut,
à force que je poste vous aller me trouver lourd, mais j'ai encore un ptit probleme:

Je suis en train de faire un ptit programme et le probleme qui se pose est que les sprites de s'affichent pas pourtant il n'y a aucune erreur de compilation, je ne comprend pas.
Voici le code de mon programme :

Un Header :
void menu_start(void)


Cette fonction est censé m'afficher une Map avec les sprites des noms "carreau1 et carreau2".

_______________
Un autre header :

SCR_RECT clip;
LCD_BUFFER *plane_set0;
LCD_BUFFER *plane_set1;
INT_HANDLER int1 = NULL;
INT_HANDLER int5 = NULL;
unsigned short * plan0 = NULL, * plan1 = NULL;


/************************************************************************************************************************/
/* Initialisation Intermediaire */
/************************************************************************************************************************/
void initialisation_secondaire(void)
{
clip.xy.x0 = 0; //Ici, est défini le la zone de clipping.
clip.xy.y0 = 8; //Les coordonnées *0 definissent le premier point de la zone clippée.
clip.xy.x1 = 239; //Les coordonnées *1 definissent le second pointde la zone clippée.
clip.xy.y1 = 127; //Nous nous serviront de la variable de type SCREEN RECT definie lors de l'initialisation principale,
SetCurClip(&clip); //pour l'affecter à SetCurClip (Un pointeur SCR_RECT).

int1 = GetIntVec(AUTO_INT_1);
int5 = GetIntVec(AUTO_INT_5);
SetIntVec(AUTO_INT_1, DUMMY_HANDLER);
SetIntVec(AUTO_INT_5, DUMMY_HANDLER);

plan0 = GetPlane(LIGHT_PLANE); plan1 = GetPlane(DARK_PLANE);

ClrScr();
GrayOn();


}


Ici il n'y à rien de spéciale appart des initialisations qui me serviront dans le programmes plus tard, mais je post aussi au cas ou vous y trouverez l'erreur que j'ai faite.
_____________________________

Et je me demande est-ce que ça ne vient pas du fait que j'utilise un SCR_RECT parce que c'est la premiere que j'utilise cette fonction, peut etre que je l'ai mal employé ?

2

Ton utilisation semble correcte. Poste aussi le code où tu affiches tes sprites.
avatar
« 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. »

3

voici le code ou il y a mon sprites :

void menu_start(void)
{
short x,y,key_reloc;
for(x=0;x!=15-1;x++)
{for(y=0;y!= 8-1;y++)
{GrayClipSprite16_XOR_R(x*16,y*16,16,carreau1,carreau2,plan0,plan1);}}

for(key_reloc=0;key_reloc!=2;key_reloc++)
if(!(_keytest (RR_HAND))) key_reloc--;
}



c'est censé me faire un fond avec les sprites, mais je n'ia rien.

4

J'ai oublié de préciser;
Sur TiEmu je ne vois strictement rien mais quand je transfert le programme sur ma v200 j'ai un affichage d'une fraction de seconde, il faut faire très attention pour remarquer qu'il y a un bref affichage de mon "soit-disant" fond.

5

http://perso.wanadoo.fr/gwad-actu/mfx.rar. / 26ko
voila je poste le projet tigcc au complet,
peut etre qu'il serait plus facile de m'aider à résoudre mon probleme.

6

je vous remercie beaucoup de l'aide que je n'ai pas eu, mais j'ai trouvé l'erreur après une journée (quand meme !)

c'est à cause de ces deux lignes :
plan0 = GetPlane(LIGHT_PLANE); plan1 = GetPlane(DARK_PLANE); GrayOn();


j'aurais du ecrire :
GrayOn(); plan0 = GetPlane(LIGHT_PLANE); plan1 = GetPlane(DARK_PLANE);



c'est bete mais quand on est débutant c'est assé compliquer de reperer des erreurs aussi minuscules (dailleus je ne savais meme pas que c'etait une erreur).

7

Oups, désolé, je ne l'avais pas vue sad (j'étais plutôt rivé sur ton utilisation de la structure SCR_RECT)
avatar
« 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. »

8

Ok mais c'est pas grave, en tout cas je suis très content que ce forum existe.
J'en apprend beaucoup sur la programmation grin