(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.
authorDarkvater
Mon, 16 May 2005 16:19:32 +0000
changeset 1829 0b6de3b4458a
parent 1828 4035c8aaa3ea
child 1830 3db1358c2288
(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.
Makefile
dedicated.c
gfx.c
gfx.h
hal.h
sdl.c
ttd.c
win32.c
--- a/Makefile	Mon May 16 15:05:49 2005 +0000
+++ b/Makefile	Mon May 16 16:19:32 2005 +0000
@@ -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	Mon May 16 15:05:49 2005 +0000
+++ b/dedicated.c	Mon May 16 16:19:32 2005 +0000
@@ -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	Mon May 16 15:05:49 2005 +0000
+++ b/gfx.c	Mon May 16 16:19:32 2005 +0000
@@ -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	Mon May 16 15:05:49 2005 +0000
+++ b/gfx.h	Mon May 16 16:19:32 2005 +0000
@@ -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	Mon May 16 15:05:49 2005 +0000
+++ b/hal.h	Mon May 16 16:19:32 2005 +0000
@@ -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	Mon May 16 15:05:49 2005 +0000
+++ b/sdl.c	Mon May 16 16:19:32 2005 +0000
@@ -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	Mon May 16 15:05:49 2005 +0000
+++ b/ttd.c	Mon May 16 16:19:32 2005 +0000
@@ -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	Mon May 16 15:05:49 2005 +0000
+++ b/win32.c	Mon May 16 16:19:32 2005 +0000
@@ -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,
 };