projects
/
rocksndiamonds.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6b748c8
)
fixed switching from fullscreen to window when using different screen sizes
author
Holger Schemel
<info@artsoft.org>
Fri, 4 Dec 2015 00:01:44 +0000
(
01:01
+0100)
committer
Holger Schemel
<info@artsoft.org>
Fri, 4 Dec 2015 00:01:44 +0000
(
01:01
+0100)
src/libgame/sdl.c
patch
|
blob
|
history
diff --git
a/src/libgame/sdl.c
b/src/libgame/sdl.c
index 628ee38dc4b0da4a7ecd09158259945198bf4ca7..3b0ccc070b7cb72bf050471b454d3f271dbe03de 100644
(file)
--- a/
src/libgame/sdl.c
+++ b/
src/libgame/sdl.c
@@
-27,6
+27,7
@@
static SDL_Window *sdl_window = NULL;
static SDL_Renderer *sdl_renderer = NULL;
static SDL_Texture *sdl_texture = NULL;
static SDL_Window *sdl_window = NULL;
static SDL_Renderer *sdl_renderer = NULL;
static SDL_Texture *sdl_texture = NULL;
+static boolean fullscreen_enabled = FALSE;
#define USE_RENDERER TRUE
#endif
#define USE_RENDERER TRUE
#endif
@@
-503,7
+504,6
@@
static SDL_Surface *SDLCreateScreen(DrawBuffer **backbuffer,
SDL_Surface *new_surface = NULL;
#if defined(TARGET_SDL2)
SDL_Surface *new_surface = NULL;
#if defined(TARGET_SDL2)
- static boolean fullscreen_enabled = FALSE;
int surface_flags_window = SURFACE_FLAGS | SDL_WINDOW_RESIZABLE;
#if USE_DESKTOP_FULLSCREEN
int surface_flags_fullscreen = SURFACE_FLAGS | SDL_WINDOW_FULLSCREEN_DESKTOP;
int surface_flags_window = SURFACE_FLAGS | SDL_WINDOW_RESIZABLE;
#if USE_DESKTOP_FULLSCREEN
int surface_flags_fullscreen = SURFACE_FLAGS | SDL_WINDOW_FULLSCREEN_DESKTOP;
@@
-527,9
+527,8
@@
static SDL_Surface *SDLCreateScreen(DrawBuffer **backbuffer,
#if defined(TARGET_SDL2)
#if defined(TARGET_SDL2)
- // store if initial screen mode on game start is fullscreen mode
- if (sdl_window == NULL)
- video.fullscreen_initial = fullscreen;
+ // store if initial screen mode is fullscreen mode when changing screen size
+ video.fullscreen_initial = fullscreen;
#if USE_RENDERER
float window_scaling_factor = (float)setup.window_scaling_percent / 100;
#if USE_RENDERER
float window_scaling_factor = (float)setup.window_scaling_percent / 100;
@@
-833,9
+832,9
@@
void SDLSetWindowFullscreen(boolean fullscreen)
#endif
if (SDL_SetWindowFullscreen(sdl_window, flags) == 0)
#endif
if (SDL_SetWindowFullscreen(sdl_window, flags) == 0)
- video.fullscreen_enabled = fullscreen;
+ video.fullscreen_enabled = fullscreen
_enabled = fullscreen
;
- // if
game started in fullscreen mode, window will also get fullscreen
size
+ // if
screen size was changed in fullscreen mode, correct desktop window
size
if (!fullscreen && video.fullscreen_initial)
{
SDLSetWindowScaling(setup.window_scaling_percent);
if (!fullscreen && video.fullscreen_initial)
{
SDLSetWindowScaling(setup.window_scaling_percent);