aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorptitSeb2017-12-15 10:23:28 +0100
committerptitSeb2017-12-15 10:23:28 +0100
commit9918763c41070ae06d55eb198031f223ff60f72b (patch)
treeaa87aad3692558f2be77ff6539c8dfd4ac555891
parentf22ca477ab0775f285f3e6e73f9e02bd3617e135 (diff)
downloadhydracastlelabyrinth-9918763c41070ae06d55eb198031f223ff60f72b.tar.gz
hydracastlelabyrinth-9918763c41070ae06d55eb198031f223ff60f72b.tar.bz2
hydracastlelabyrinth-9918763c41070ae06d55eb198031f223ff60f72b.zip
Changed a bit how desktop fullscreen is initialized
-rw-r--r--src/main.c1
-rwxr-xr-xsrc/sdl/graphics.c15
-rw-r--r--src/sdl/graphics.h1
3 files changed, 15 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index 39ce6ae..d772bd0 100644
--- a/src/main.c
+++ b/src/main.c
@@ -48,7 +48,6 @@ int main(int argc, char **argv)
SDL_Delay(5000);
exit(EXIT_FAILURE);
}
- int desktopFS = 0;
#if defined(PANDORA) || defined(PYRA) || defined(CHIP) || defined(ODROID)
wantFullscreen = 1;
#else
diff --git a/src/sdl/graphics.c b/src/sdl/graphics.c
index 2488fae..a947a3e 100755
--- a/src/sdl/graphics.c
+++ b/src/sdl/graphics.c
@@ -10,6 +10,7 @@ SDL_Surface* backbuffer = NULL;
int wantFullscreen = 0;
int screenScale = 2;
+int desktopFS = 0;
int deltaX = 0;
int deltaY = 0;
@@ -39,7 +40,19 @@ void PHL_GraphicsInit()
uint32_t flags = SDL_HWSURFACE|SDL_DOUBLEBUF;
if(wantFullscreen)
flags |= SDL_FULLSCREEN;
- screen = SDL_SetVideoMode(screenW, screenH, 0, flags);
+ screen = SDL_SetVideoMode((desktopFS)?0:screenW, (desktopFS)?0:screenH, 0, flags);
+ if(desktopFS)
+ {
+ const SDL_VideoInfo* infos = SDL_GetVideoInfo();
+ screenH = infos->current_h;
+ screenW = infos->current_w;
+ if(screenW/320 < screenH/240)
+ screenScale = screenW/320;
+ else
+ screenScale = screenH/240; // automatic guess the scale
+ deltaX = (screenW-320*screenScale)/2;
+ deltaY = (screenH-240*screenScale)/2;
+ }
drawbuffer = screen;
drawscreen = 1;
backbuffer = PHL_NewSurface(320*screenScale, 240*screenScale);
diff --git a/src/sdl/graphics.h b/src/sdl/graphics.h
index d3de8bc..c3fb20c 100644
--- a/src/sdl/graphics.h
+++ b/src/sdl/graphics.h
@@ -29,6 +29,7 @@ extern PHL_Surface screen;
extern int wantFullscreen;
extern int screenScale;
+extern int desktopFS;
extern int deltaX;
extern int deltaY;