From f5ff378dd02431cdcf658b210509b170ea2135d1 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 19 Feb 2011 11:48:54 +0200 Subject: video backend selection --- src/main.cpp | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 11ae9985c..2754c324b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1723,30 +1723,41 @@ int main(int argc, char *argv[]) std::string playername = g_settings.get("name"); - /* - Resolution selection - */ + // Resolution selection bool fullscreen = false; u16 screenW = g_settings.getU16("screenW"); u16 screenH = g_settings.getU16("screenH"); - // - - MyEventReceiver receiver; + // Determine driver video::E_DRIVER_TYPE driverType; - -#ifdef _WIN32 - //driverType = video::EDT_DIRECT3D9; - driverType = video::EDT_OPENGL; -#else - driverType = video::EDT_OPENGL; - //driverType = video::EDT_BURNINGSVIDEO; // Best software renderer -#endif + + std::string driverstring = g_settings.get("video_driver"); + + if(driverstring == "null") + driverType = video::EDT_NULL; + else if(driverstring == "software") + driverType = video::EDT_SOFTWARE; + else if(driverstring == "burningsvideo") + driverType = video::EDT_BURNINGSVIDEO; + else if(driverstring == "direct3d8") + driverType = video::EDT_DIRECT3D8; + else if(driverstring == "direct3d9") + driverType = video::EDT_DIRECT3D9; + else if(driverstring == "opengl") + driverType = video::EDT_OPENGL; + else + { + dstream<<"WARNING: Invalid video_driver specified; defaulting " + "to opengl"<(screenW, screenH), -- cgit v1.2.3