C'est moi qui ne suis pas frais, ou ce if/else est stupide (le premier):
if ( (surface->flags & SDL_HWSURFACE) == SDL_HWSURFACE ) {
/* We only support accelerated blitting to hardware */
if ( surface->map->dst->flags & SDL_HWSURFACE ) {
hw_blit_ok = current_video->info.blit_hw;
} else {
hw_blit_ok = 0;
}
if (hw_blit_ok && (surface->flags & SDL_SRCCOLORKEY)) {
hw_blit_ok = current_video->info.blit_hw_CC;
}
if ( hw_blit_ok && (surface->flags & SDL_SRCALPHA) ) {
hw_blit_ok = current_video->info.blit_hw_A;
}
} else {
/* We only support accelerated blitting to hardware */
if ( surface->map->dst->flags & SDL_HWSURFACE ) {
hw_blit_ok = current_video->info.blit_sw;
} else {
hw_blit_ok = 0;
}
if (hw_blit_ok && (surface->flags & SDL_SRCCOLORKEY)) {
hw_blit_ok = current_video->info.blit_sw_CC;
}
if ( hw_blit_ok && (surface->flags & SDL_SRCALPHA) ) {
hw_blit_ok = current_video->info.blit_sw_A;
}
}
(ça viens de la derniere version de la SDL: 1.2.14)
edit: c'est moi qui ne suis pas frais, 'hw' != 'sw'

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.
T''as bien vu la différence entre hw et sw ? Par contre, c'est le commentaire qui me semble erroné.
Ce morceau de code est pourri jusqu'à la moelle, c'est illisible au possible :/
enum
{ SDL_SW = false
; SDL_HW = true
; _SDL_ENUM
}
int info_blit[_SDL_ENUM]
= { current_video->info.blit_sw
, current_video->info.blit_hw
}
;
int info_blit_A[_SDL_ENUM]
= { current_video->info.blit_sw_A
, current_video->info.blit_hw_A
}
;
int info_blit_CC[_SDL_ENUM]
= { current_video->info.blit_sw_CC
, current_video->info.blit_hw_CC
}
;
int sdl_type
= ( (surface->flags & SDL_HWSURFACE) == SDL_HWSURFACE )
;
hw_blit_ok
= ( surface->map->dst->flags & SDL_HWSURFACE )
? info_blit[sdl_type]
: 0
;
hw_blit_ok
= (hw_blit_ok && (surface->flags & SDL_SRCCOLORKEY))
? info_blit_CC[sdl_type]
: hw_blit_ok
;
hw_blit_ok
= ( hw_blit_ok && (surface->flags & SDL_SRCALPHA) )
? info_blit_A[sdl_type]
: hw_blit_ok
;
100% mieux et plus lisible...
Kochise

Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/
Ignoble, ignoble, c'est parce que j'ai mis les initialisations, sinon c'est whaaaaachement plus clair ma distinction HW vs. SW !
Kochise

Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/
mais il est largement plus lisible, chuis d'accord à quelques \n près.
Ça, les \n, j'y suis arrivé parce que 1) je viens de l'assembleur 2) suivant le débogueur vu qu'il y en a peu qui travaillent à la colonne 3) pour differ des sources c'est impeccable...
Kochise

Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/
ça dépend des contraintes évidemment. Chez nous, nous avons des écrans 24 pouces, donc la limitation à 80chars est secondaire.
Nan mais j'imprime encore sur papier listing, Epson FX-80, matricielle 9 aiguille, môa Monsieur ! Sérieusement, et ma mauvaise foi alors, j'ai pas le droit de la développer un peu ?
Kochise

Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/
Rhôôôô le troll, même moué j'aurais pas osé...
Kochise

Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/
ce bug nous fait chier depuis 1 semaine, c'est pas un troll.
Ouais ben imagine si chaque EXE ou DLL s'amuse à libérer les pointeurs qu'il recoit (justement les SURFACE SDL ou les buffer OpenGL) on n'a pas fini de rire...
Kochise

Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/
Dans le cas d'une SURFACE SDL, on a pas ce problème, c'est à chaque fois SDL qui alloue et libère avec NewSurface()/FreeSurface.
C'est ce qui est expliqué dans le lien, chaque DLL doit s'occuper de libérer ce qu'elle a réservée. En l'occurence c'est ce à quoi servent NewSurface()/FreeSurface()
Kochise

Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/
Ouais mais bon, l"assembleur sous Windows, heu, erf quoi. Bon c'est sûr y'a WinAsm ou HLA, mais quand même...
Kochise

Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/
je connais GlobalAlloc, mais la lib a pour but d'etre portable, ça aurait arrangé tout le monde que malloc fonctionne correctement.
#if _WINDOWS_
#define Alloc(x,y,z) GlobalAlloc(x,y)
#else
#define Alloc(x,y,z) malloc(x,y)
#endif
void func()
{
t = Alloc(bla, bla, bla);
}
(bien sur ce n'est qu'un exemple absurde)

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.