diff options
author | q66 <quaker66@gmail.com> | 2012-04-03 13:59:02 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2012-04-07 23:23:00 +0300 |
commit | e8e73d37fb1834208dabac207593030b87db135a (patch) | |
tree | 9ef55ddc3616573285fb10d8f860b26a8fb9eb40 /src | |
parent | 2eec7885441932a572bec9cc0093af20ecfa04cf (diff) | |
download | minetest-e8e73d37fb1834208dabac207593030b87db135a.tar.gz minetest-e8e73d37fb1834208dabac207593030b87db135a.tar.bz2 minetest-e8e73d37fb1834208dabac207593030b87db135a.zip |
Fullscreen, vsync, fullscreen_bpp and fsaa options in the config; fsaa is experimental atm, causes visible spaces between blocks.
Diffstat (limited to 'src')
-rw-r--r-- | src/defaultsettings.cpp | 4 | ||||
-rw-r--r-- | src/main.cpp | 23 |
2 files changed, 23 insertions, 4 deletions
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 67f2e4055..ab6866cec 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -74,6 +74,10 @@ void set_default_settings(Settings *settings) settings->setDefault("viewing_range_nodes_min", "35"); settings->setDefault("screenW", "800"); settings->setDefault("screenH", "600"); + settings->setDefault("fullscreen", "false"); + settings->setDefault("fullscreen_bpp", "24"); + settings->setDefault("fsaa", "0"); + settings->setDefault("vsync", "false"); settings->setDefault("address", ""); settings->setDefault("random_input", "false"); settings->setDefault("client_unload_unused_data_timeout", "600"); diff --git a/src/main.cpp b/src/main.cpp index 8a6504194..8ec4c2632 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1213,10 +1213,16 @@ int main(int argc, char *argv[]) // Resolution selection - bool fullscreen = false; + bool fullscreen = g_settings->getBool("fullscreen"); u16 screenW = g_settings->getU16("screenW"); u16 screenH = g_settings->getU16("screenH"); + // bpp, fsaa, vsync + + bool vsync = g_settings->getBool("vsync"); + u16 bits = g_settings->getU16("fullscreen_bpp"); + u16 fsaa = g_settings->getU16("fsaa"); + // Determine driver video::E_DRIVER_TYPE driverType; @@ -1249,9 +1255,18 @@ int main(int argc, char *argv[]) MyEventReceiver receiver; IrrlichtDevice *device; - device = createDevice(driverType, - core::dimension2d<u32>(screenW, screenH), - 16, fullscreen, false, false, &receiver); + + SIrrlichtCreationParameters params = SIrrlichtCreationParameters(); + params.DriverType = driverType; + params.WindowSize = core::dimension2d<u32>(screenW, screenH); + params.Bits = bits; + params.AntiAlias = fsaa; + params.Fullscreen = fullscreen; + params.Stencilbuffer = false; + params.Vsync = vsync; + params.EventReceiver = &receiver; + + device = createDeviceEx(params); if (device == 0) return 1; // could not create selected driver. |