X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=ef61869106a2e681607cdaf56ac031aec3508488;hb=59ee473b86e7cbc1d9b09a3c22b0bbd3a410f16f;hp=970dfb6d059533da04d4dc2591136a7e313dd069;hpb=dc856cea3f61d1fecaf875fa519ac72c1c129713;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index 970dfb6d..ef618691 100644 --- a/src/tools.c +++ b/src/tools.c @@ -14,6 +14,7 @@ #include "libgame/libgame.h" #include "tools.h" +#include "init.h" #include "game.h" #include "events.h" #include "cartoons.h" @@ -8045,30 +8046,16 @@ void ToggleFullscreenIfNeeded() if (!video.fullscreen_available) return; -#if 1 if (change_fullscreen || change_fullscreen_mode) -#else - if (setup.fullscreen != video.fullscreen_enabled || - setup.fullscreen_mode != video.fullscreen_mode_current) -#endif { Bitmap *tmp_backbuffer = CreateBitmap(WIN_XSIZE, WIN_YSIZE, DEFAULT_DEPTH); /* save backbuffer content which gets lost when toggling fullscreen mode */ BlitBitmap(backbuffer, tmp_backbuffer, 0, 0, WIN_XSIZE, WIN_YSIZE, 0, 0); -#if 1 if (change_fullscreen_mode) -#else - if (setup.fullscreen && video.fullscreen_enabled) -#endif { /* keep fullscreen, but change fullscreen mode (screen resolution) */ -#if 1 - /* (this is now set in sdl.c) */ -#else - video.fullscreen_mode_current = setup.fullscreen_mode; -#endif video.fullscreen_enabled = FALSE; /* force new fullscreen mode */ } @@ -8090,3 +8077,23 @@ void ToggleFullscreenIfNeeded() #endif } } + +void ChangeScreenModeIfNeeded() +{ + if (global.screen.width == WIN_XSIZE && + global.screen.height == WIN_YSIZE) + return; + + WIN_XSIZE = global.screen.width; + WIN_YSIZE = global.screen.height; + + InitVideoBuffer(WIN_XSIZE, WIN_YSIZE, DEFAULT_DEPTH, setup.fullscreen); + InitGfxBuffers(); + +#if 1 + SetDrawDeactivationMask(REDRAW_NONE); + SetDrawBackgroundMask(REDRAW_FIELD); + + // RedrawBackground(); +#endif +}