X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flibgame%2Fsdl.c;h=fed2a65e122f58ce3b70a59fbac3cff08e3e374e;hb=3d07b68a314ce189f207e42d95f786979662410d;hp=2d6d16b5072df53ae1e1d64ac8e415b2e25c1a09;hpb=621b6a2c4781c9c3e2f5849f9c184a906e0ce5b6;p=rocksndiamonds.git diff --git a/src/libgame/sdl.c b/src/libgame/sdl.c index 2d6d16b5..fed2a65e 100644 --- a/src/libgame/sdl.c +++ b/src/libgame/sdl.c @@ -12,9 +12,11 @@ * sdl.c * ***********************************************************/ -#include "libgame.h" +#include "system.h" +#include "misc.h" -#ifdef TARGET_SDL + +#if defined(TARGET_SDL) inline void SDLInitVideoDisplay(void) { @@ -65,10 +67,11 @@ inline boolean SDLSetVideoMode(DrawBuffer *backbuffer, boolean fullscreen) { /* switch display to fullscreen mode, if available */ DrawWindow window_old = *backbuffer; - DrawWindow window_new; + DrawWindow window_new = CreateBitmapStruct(); - if ((window_new = SDL_SetVideoMode(video.width, video.height, video.depth, - surface_flags)) == NULL) + if ((window_new->surface = SDL_SetVideoMode(video.width, video.height, + video.depth, surface_flags)) + == NULL) { /* switching display to fullscreen mode failed */ Error(ERR_WARN, "SDL_SetVideoMode() failed: %s", SDL_GetError()); @@ -80,7 +83,7 @@ inline boolean SDLSetVideoMode(DrawBuffer *backbuffer, boolean fullscreen) else { if (window_old) - SDL_FreeSurface(window_old); + FreeBitmap(window_old); *backbuffer = window_new; video.fullscreen_enabled = TRUE; @@ -92,10 +95,11 @@ inline boolean SDLSetVideoMode(DrawBuffer *backbuffer, boolean fullscreen) { /* switch display to window mode */ DrawWindow window_old = *backbuffer; - DrawWindow window_new; + DrawWindow window_new = CreateBitmapStruct(); - if ((window_new = SDL_SetVideoMode(video.width, video.height, video.depth, - surface_flags)) == NULL) + if ((window_new->surface = SDL_SetVideoMode(video.width, video.height, + video.depth, surface_flags)) + == NULL) { /* switching display to window mode failed -- should not happen */ Error(ERR_WARN, "SDL_SetVideoMode() failed: %s", SDL_GetError()); @@ -105,7 +109,7 @@ inline boolean SDLSetVideoMode(DrawBuffer *backbuffer, boolean fullscreen) else { if (window_old) - SDL_FreeSurface(window_old); + FreeBitmap(window_old); *backbuffer = window_new; video.fullscreen_enabled = FALSE;