diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c index 001c7b43088b0f372f85c54cedf7b1807adee214..aa152f8ab3717026b6f0b9257bc5eeed6ea42bc2 100644 --- a/src/conio/ciolib.c +++ b/src/conio/ciolib.c @@ -105,8 +105,8 @@ char *ciolib_getcliptext(void); #ifdef WITH_SDL int try_sdl_init(int mode) { - if(!sdl_init()) { - cio_api.mode=CIOLIB_MODE_SDL; + if(!sdl_init(mode)) { + cio_api.mode=mode; cio_api.mouse=1; cio_api.puttext=sdl_puttext; cio_api.gettext=sdl_gettext; @@ -297,6 +297,7 @@ int initciolib(int mode) #ifdef WITH_SDL case CIOLIB_MODE_SDL: + case CIOLIB_MODE_SDL_FULLSCREEN: try_sdl_init(mode); break; #endif diff --git a/src/conio/ciolib.h b/src/conio/ciolib.h index d3317bc5dfa11732c44eec2611b2cfd6279ba04d..c1ff1d4e84c6a2119e7e3a5ff4bc96c1a0d34317 100644 --- a/src/conio/ciolib.h +++ b/src/conio/ciolib.h @@ -45,6 +45,7 @@ enum { ,CIOLIB_MODE_X ,CIOLIB_MODE_CONIO ,CIOLIB_MODE_SDL + ,CIOLIB_MODE_SDL_FULLSCREEN }; #if defined(_WIN32) /* presumably, Win32 */ diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c index 294f2f6f704ac5a8edaf06c42fd3d1e6eca6e87f..8ba5976365da7a5b9710c9bbadb84125a7052bf9 100644 --- a/src/conio/sdl_con.c +++ b/src/conio/sdl_con.c @@ -273,13 +273,16 @@ int sdl_draw_char(unsigned short vch, int xpos, int ypos, int update) } /* Called from main thread only (Passes Event) */ -int sdl_init(void) +int sdl_init(int mode) { vstat.vmem=NULL; vstat.scaling=1; sdl_updated=1; + if(mode==CIOLIB_MODE_SDL_FULLSCREEN) + fullscreen=1; + sdl_init_mode(3); atexit(SDL_Quit); diff --git a/src/conio/sdl_con.h b/src/conio/sdl_con.h index 3d79222887e33ffac228c5b0f7e652e033c1e88e..caa37f9964266e195f391b255632fc0c795b7451 100644 --- a/src/conio/sdl_con.h +++ b/src/conio/sdl_con.h @@ -5,7 +5,7 @@ extern "C" { #endif /* Low-Level stuff (Shouldn't be used by ciolib programs */ -int sdl_init(void); +int sdl_init(int mode); int sdl_load_font(char *filename, int width, int height, double scale); int sdl_init_mode(int mode); int sdl_setup_colours(void);