diff options
Diffstat (limited to 'setup')
-rw-r--r-- | setup/configfile.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/setup/configfile.c b/setup/configfile.c index 885bbd8f..c4e8a408 100644 --- a/setup/configfile.c +++ b/setup/configfile.c @@ -768,5 +768,26 @@ void M_ApplyPlatformDefaults(void) } } #endif + + // Windows Vista or later? Set screen color depth to + // 32 bits per pixel, as 8-bit palettized screen modes + // don't work properly in recent versions. + +#if defined(_WIN32) && !defined(_WIN32_WCE) + { + OSVERSIONINFOEX version_info; + + ZeroMemory(&version_info, sizeof(OSVERSIONINFOEX)); + version_info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + + GetVersionEx((OSVERSIONINFO *) &version_info); + + if (version_info.dwPlatformId == VER_PLATFORM_WIN32_NT + && version_info.dwMajorVersion >= 6) + { + screen_bpp = 32; + } + } +#endif } |