diff --git a/src/sdl-instead/game.c b/src/sdl-instead/game.c index d102c4e..89a1546 100644 --- a/src/sdl-instead/game.c +++ b/src/sdl-instead/game.c @@ -750,7 +750,7 @@ static void anigif_do(void *data) int counter_fn(int interval, void *p) { timer_counter ++; - if (gfx_is_drawn_gifs()) + if (gfx_is_drawn_gifs() && !DIRECT_MODE) push_user_event(anigif_do, NULL); return interval; } diff --git a/src/sdl-instead/graphics.c b/src/sdl-instead/graphics.c index b66290c..a713bdb 100644 --- a/src/sdl-instead/graphics.c +++ b/src/sdl-instead/graphics.c @@ -939,7 +939,10 @@ void gfx_draw(img_t p, int x, int y) dest.y = y; dest.w = pixbuf->w; dest.h = pixbuf->h; - ag = is_anigif(pixbuf); + if (!DIRECT_MODE) /* no gifs in direct mode */ + ag = is_anigif(pixbuf); + else + ag = NULL; if (ag) { anigif_spawn(ag, x, y, dest.w, dest.h); if (!ag->drawn)