Bonjour à tous !
J'essaye de faire une petit programme qui me permettrais de découper facilement des sprites, pour cela, je crée dans un premier temps un découpage par défaut que je modifie en fonction de l'image qui apparait à l'écran puis je sauvegarde les coordonnées dans un fichier texte a la fermeture du programme.
Je vais vous donner un exemple :
le découpage par défaut est le suivant :
coordonnées X,Y puis hauteur, largeur
0 0 100 100 la coordonnée Y est a 0 (normale c'est la première ligne)
100 0 100 100
200 0 100 100
300 0 100 100
400 0 100 100
500 0 100 100
600 0 100 100
700 0 100 100
800 0 100 100
900 0 100 100 (fin de la première ligne)
0 100 100 100 (début de la 2eme)
100 100 100 100
Jusque la pas de soucis mon programme affiche correctement les images et les découpages. Cependant a la fermeture du programme je retrouve ceci dans mon fichier :
0 0 100 100
0 0 100 100
0 0 100 100
0 0 100 100
0 0 100 100
0 0 100 100
0 0 100 100
0 0 100 100
0 0 100 100
0 0 100 100
0 100 100 100
J'ai fais différents découpage pour voir si c'est un problème sur X ou Y ou les 2, et il s'avère que seul la coordonnées X n'est pas enregistré.
Voici les morceau de code de mon programme :
SDL_Rect clip[10][10];
int i = 0, j = 0;
for (j = 0 ; j <= 9 ; j++)
{
for (i = 0 ; i <= 9 ; i++)
{
fscanf(testLecture, "%ld %ld %ld %ld", &clip[ i ][ j ].x, &clip[ i ][ j ].y, &clip[ i ][ j ].w, &clip[ i ][ j ].h);
fprintf(fichier, "%ld %ld %ld %ld\n", clip[ i ][ j ].x, clip[ i ][ j ].y, clip[ i ][ j ].w, clip[ i ][ j ].h);
//ici je test la lecture, et la copie faite dans fichier est parfaitement identique donc à priori ce n'est pas la lecture qui bloque....
}
}
for (j = 0 ; j <= 9 ; j++)
{
for (i = 0 ; i <= 9 ; i++)
{
fprintf(testEcriture, "%ld %ld %ld %ld\n", clip[ i ][ j ].x, clip[ i ][ j ].y, clip[ i ][ j ].w, clip[ i ][ j ].h);
// c'est ici que ça coince car malgré que ça soit exactement les même boucle le fichier testEcriture est différent de testLecture...
}
}
Si vous avez une idée de la boulette que j'ai pu faire.
Merci d'avance.