1

yop,

bon j'essaye avec SDL de faire quelque chose du goût d'une sprite map.

j'ai une SDL_Surface * qui représente un écran (640x480) et des tonnes (128) de petits SDL_Surface * de 8x8 pixels

J'utilise SDL_BlitSurface pour copier les sprites aux endroits kivonbien. Ca marche pour 90 opération de blit, puis ça se plante. le programme quitte avec un statut zéro.

J'ai le même problème que j'utilise SDL_SWSURFACE ou SDL_HWSURFACE. L'écran est double bufferé mais pas les sprites, et je locke correctement avant chaque blit / delock après.

Une idée? un problème de format de surfaces?

edit: bon , ça semble planter aussi sans le blit triso donc je retourne réfléchir, faites comme si vous aviez rien vu tant que je reposte pas grin

2

bon, si un admin veut bien virer le topic... le vrai bug était tellement débile que j'en parlerait pas triso

mais il était bien caché quand même embarrassed

3

trop tard !

4

boaf ok, j'allouais un buffer de taille nulle, donc je faisais du jardinage d'adress-space grin

5

huhuhu mimi

6

Ah ben puisque tu en parles, j'ai jamais su ce qu'il fallait locker avec SDL, la surface sur laquelle on écrit ? J'ai jamais fait et je n'ai jamais eu de problème, mais j'aimerais bien faire cheeky

7

avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

8

Han ça calme, merci beaucoup, et encore chapeau pour la mémoire grin

9

hehe
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

10

et en pratique:

	if ( SDL_MUSTLOCK(surf) ) {
		if ( SDL_LockSurface(surf) < 0 ) {
			printf("Surface lock failed\n");
			oh_noes();
		}
	}

//blabla
	if ( SDL_MUSTLOCK(surf) ) {
		SDL_UnlockSurface(surf);
	}

11

Merci. On est bien partis, continuons grin

Est-ce que SDL_GetError() marche quand SDL_Init() a échoué ? Je dirais "pourquoi pas", mais même la doc ne dit rien à ce sujet ^^