summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Howard2010-11-24 23:34:18 +0000
committerSimon Howard2010-11-24 23:34:18 +0000
commit9de2b29cdc8e85c525589badc5af636005ca8e66 (patch)
tree11a903048f060f918f8779a8a91929fa8015f591 /src
parent288d322c0b679675a80c0fc763b1063613c77ce5 (diff)
downloadchocolate-doom-9de2b29cdc8e85c525589badc5af636005ca8e66.tar.gz
chocolate-doom-9de2b29cdc8e85c525589badc5af636005ca8e66.tar.bz2
chocolate-doom-9de2b29cdc8e85c525589badc5af636005ca8e66.zip
Detect when running on Windows Vista or later, and switch to 32 bpp
screen mode. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2167
Diffstat (limited to 'src')
-rw-r--r--src/m_config.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/m_config.c b/src/m_config.c
index a4cacd95..3abe7c63 100644
--- a/src/m_config.c
+++ b/src/m_config.c
@@ -1598,5 +1598,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
}