From f0a7d551bad15085c1f72df38b6a216c8bf3127d Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 19 May 2012 21:34:11 +0300 Subject: Auto detect better video mode at first start. --- src/client.cpp | 9 +++++++++ src/defaults.cpp | 1 + src/graphicsmanager.cpp | 4 ++++ 3 files changed, 14 insertions(+) (limited to 'src') diff --git a/src/client.cpp b/src/client.cpp index 383a40da1..e7083f943 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -508,6 +508,15 @@ void Client::gameInit() } #endif +#ifdef WIN32 + if (mOptions.test.empty() && !config.getBoolValue("videodetected")) + { + int val = graphicsManager.startDetection(); + if (val >= 0 && val <= 2) + config.setValue("opengl", val); + config.setValue("videodetected", true); + } +#endif graphicsManager.initGraphics(mOptions.noOpenGL); runCounters = config.getBoolValue("packetcounters"); diff --git a/src/defaults.cpp b/src/defaults.cpp index fda474fb1..4d760441a 100644 --- a/src/defaults.cpp +++ b/src/defaults.cpp @@ -257,6 +257,7 @@ DefaultsData* getConfigDefaults() AddDEF(configData, "rectangulartextures", true); AddDEF(configData, "networksleep", 0); AddDEF(configData, "newtextures", true); + AddDEF(configData, "videodetected", false); return configData; } diff --git a/src/graphicsmanager.cpp b/src/graphicsmanager.cpp index f1e13b74b..36ccdc045 100644 --- a/src/graphicsmanager.cpp +++ b/src/graphicsmanager.cpp @@ -48,9 +48,13 @@ GraphicsManager::~GraphicsManager() bool GraphicsManager::startDetection() { +#ifdef USE_OPENGL TestMain *test = new TestMain(); test->exec(false); return test->getConfig().getValueInt("opengl", -1); +#else + return 0; +#endif } bool GraphicsManager::detectGraphics() -- cgit v1.2.3-60-g2f50