Mercurial > hg > openttd
changeset 1829:98cdc1f1f5b5 draft
(svn r2334) - Fix (regression): moved togglefullscreen into the video-driver, now windows works, dedicated works and sdl works. Also reverted the change to the makefile.
author | Darkvater <Darkvater@openttd.org> |
---|---|
date | Mon, 16 May 2005 16:19:32 +0000 |
parents | b15c8dfef71a |
children | 739baad2ec82 |
files | Makefile dedicated.c gfx.c gfx.h hal.h sdl.c ttd.c win32.c |
diffstat | 8 files changed, 18 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile +++ b/Makefile @@ -687,10 +687,13 @@ C_SOURCES += waypoint.c C_SOURCES += widget.c C_SOURCES += window.c -C_SOURCES += sdl.c CXX_SOURCES = +ifdef WITH_SDL +C_SOURCES += sdl.c +endif + ifdef WIN32 C_SOURCES += win32.c w32dm.c else
--- a/dedicated.c +++ b/dedicated.c @@ -167,6 +167,7 @@ static void DedicatedVideoMakeDirty(int left, int top, int width, int height) {} static bool DedicatedVideoChangeRes(int w, int h) { return false; } +static void DedicatedVideoFullScreen(bool fs) {} #if defined(UNIX) || defined(__OS2__) static bool InputWaiting(void) @@ -322,6 +323,7 @@ DedicatedVideoMakeDirty, DedicatedVideoMainLoop, DedicatedVideoChangeRes, + DedicatedVideoFullScreen, }; #else @@ -339,6 +341,7 @@ static void DedicatedVideoStop(void) { free(_dedicated_video_mem); } static void DedicatedVideoMakeDirty(int left, int top, int width, int height) {} static bool DedicatedVideoChangeRes(int w, int h) { return false; } +static void DedicatedVideoFullScreen(bool fs) {} static int DedicatedVideoMainLoop(void) { return ML_QUIT; } const HalVideoDriver _dedicated_video_driver = { @@ -347,6 +350,7 @@ DedicatedVideoMakeDirty, DedicatedVideoMainLoop, DedicatedVideoChangeRes, + DedicatedVideoFullScreen, }; #endif /* ENABLE_NETWORK */
--- a/gfx.c +++ b/gfx.c @@ -1979,6 +1979,8 @@ return true; } +void ToggleFullScreen(bool fs) {_video_driver->toggle_fullscreen(fs);} + static int CDECL compare_res(const void *pa, const void *pb) { int x = ((const uint16*)pa)[0] - ((const uint16*)pb)[0];
--- a/gfx.h +++ b/gfx.h @@ -67,7 +67,7 @@ void UndrawMouseCursor(void); bool ChangeResInGame(int w, int h); void SortResolutions(int count); -void ToggleFullScreen(bool full_screen); +void ToggleFullScreen(bool fs); /* gfx.c */ #define ASCII_LETTERSTART 32
--- a/hal.h +++ b/hal.h @@ -12,6 +12,7 @@ void (*make_dirty)(int left, int top, int width, int height); int (*main_loop)(void); bool (*change_resolution)(int w, int h); + void (*toggle_fullscreen)(bool fullscreen); } HalVideoDriver; enum {
--- a/sdl.c +++ b/sdl.c @@ -636,7 +636,7 @@ return true; } -void ToggleFullScreen(bool full_screen) +static void SdlVideoFullScreen(bool full_screen) { _fullscreen = full_screen; GetVideoModes(); // get the list of available video modes @@ -650,6 +650,7 @@ SdlVideoMakeDirty, SdlVideoMainLoop, SdlVideoChangeRes, + SdlVideoFullScreen, }; static void CDECL fill_sound_buffer(void *userdata, Uint8 *stream, int len) @@ -706,9 +707,4 @@ } #endif -#else - -/* Stub for dedicated server */ -void ToggleFullScreen(bool full_screen) {} - #endif /* WITH_SDL */
--- a/ttd.c +++ b/ttd.c @@ -148,7 +148,7 @@ } static bool NullVideoChangeRes(int w, int h) { return false; } - +static void NullVideoFullScreen(bool fs) {} const HalVideoDriver _null_video_driver = { NullVideoStart, @@ -156,6 +156,7 @@ NullVideoMakeDirty, NullVideoMainLoop, NullVideoChangeRes, + NullVideoFullScreen, }; // NULL sound driver
--- a/win32.c +++ b/win32.c @@ -783,7 +783,7 @@ return true; } -void ToggleFullScreen(bool full_screen) {MakeWindow(full_screen);} +static void Win32GdiFullScreen(bool full_screen) {MakeWindow(full_screen);} const HalVideoDriver _win32_video_driver = { Win32GdiStart, @@ -791,6 +791,7 @@ Win32GdiMakeDirty, Win32GdiMainLoop, Win32GdiChangeRes, + Win32GdiFullScreen, };