(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.

This commit is contained in:
Darkvater 2005-05-16 16:19:32 +00:00
parent effbba74f5
commit 7daaf1f100
8 changed files with 18 additions and 10 deletions

View File

@ -687,10 +687,13 @@ C_SOURCES += water_cmd.c
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

View File

@ -167,6 +167,7 @@ static void DedicatedVideoStop(void)
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 @@ const HalVideoDriver _dedicated_video_driver = {
DedicatedVideoMakeDirty,
DedicatedVideoMainLoop,
DedicatedVideoChangeRes,
DedicatedVideoFullScreen,
};
#else
@ -339,6 +341,7 @@ void DedicatedFork(void) {}
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 @@ const HalVideoDriver _dedicated_video_driver = {
DedicatedVideoMakeDirty,
DedicatedVideoMainLoop,
DedicatedVideoChangeRes,
DedicatedVideoFullScreen,
};
#endif /* ENABLE_NETWORK */

2
gfx.c
View File

@ -1979,6 +1979,8 @@ bool ChangeResInGame(int w, int h)
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];

2
gfx.h
View File

@ -67,7 +67,7 @@ void ScreenSizeChanged(void);
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

1
hal.h
View File

@ -12,6 +12,7 @@ typedef struct {
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 {

8
sdl.c
View File

@ -636,7 +636,7 @@ static bool SdlVideoChangeRes(int w, int h)
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 @@ const HalVideoDriver _sdl_video_driver = {
SdlVideoMakeDirty,
SdlVideoMainLoop,
SdlVideoChangeRes,
SdlVideoFullScreen,
};
static void CDECL fill_sound_buffer(void *userdata, Uint8 *stream, int len)
@ -706,9 +707,4 @@ static void DbgRedraw()
}
#endif
#else
/* Stub for dedicated server */
void ToggleFullScreen(bool full_screen) {}
#endif /* WITH_SDL */

3
ttd.c
View File

@ -148,7 +148,7 @@ static int NullVideoMainLoop(void)
}
static bool NullVideoChangeRes(int w, int h) { return false; }
static void NullVideoFullScreen(bool fs) {}
const HalVideoDriver _null_video_driver = {
NullVideoStart,
@ -156,6 +156,7 @@ const HalVideoDriver _null_video_driver = {
NullVideoMakeDirty,
NullVideoMainLoop,
NullVideoChangeRes,
NullVideoFullScreen,
};
// NULL sound driver

View File

@ -783,7 +783,7 @@ static bool Win32GdiChangeRes(int w, int h)
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 @@ const HalVideoDriver _win32_video_driver = {
Win32GdiMakeDirty,
Win32GdiMainLoop,
Win32GdiChangeRes,
Win32GdiFullScreen,
};