diff options
author | sapier <Sapier at GMX dot net> | 2014-07-16 14:04:50 +0200 |
---|---|---|
committer | sapier <Sapier at GMX dot net> | 2014-08-23 01:55:54 +0200 |
commit | 996ea60642c5d78fc915573af0641d78bc7e2d49 (patch) | |
tree | 9af38da13cd94dbfff1f683e4a4314c0b74ac76f /builtin/mainmenu | |
parent | 26f4a5c1109f99fed6d7941b870a94fa49642181 (diff) | |
download | minetest-996ea60642c5d78fc915573af0641d78bc7e2d49.tar.gz minetest-996ea60642c5d78fc915573af0641d78bc7e2d49.tar.bz2 minetest-996ea60642c5d78fc915573af0641d78bc7e2d49.zip |
Add video driver selection to settings menu (based uppon idea from webdesigner97)
Diffstat (limited to 'builtin/mainmenu')
-rw-r--r-- | builtin/mainmenu/tab_settings.lua | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/builtin/mainmenu/tab_settings.lua b/builtin/mainmenu/tab_settings.lua index 2311978e0..4bb3eb36c 100644 --- a/builtin/mainmenu/tab_settings.lua +++ b/builtin/mainmenu/tab_settings.lua @@ -110,6 +110,24 @@ local function scrollbar_to_gui_scale(value) end local function formspec(tabview, name, tabdata) + local video_drivers = core.get_video_drivers() + + local video_driver_string = "" + local current_video_driver_idx = 0 + local current_video_driver = core.setting_get("video_driver") + for i=1, #video_drivers, 1 do + + if i ~= 1 then + video_driver_string = video_driver_string .. "," + end + video_driver_string = video_driver_string .. video_drivers[i] + + if current_video_driver:lower() == video_drivers[i]:lower() then + current_video_driver_idx = i + end + end + + local tab_string = "vertlabel[0,-0.25;" .. fgettext("SETTINGS") .. "]" .. "box[0.75,0;3.25,4;#999999]" .. @@ -125,6 +143,10 @@ local function formspec(tabview, name, tabdata) .. dump(core.setting_getbool("preload_item_visuals")) .. "]".. "checkbox[1,2.5;cb_particles;".. fgettext("Enable Particles") .. ";" .. dump(core.setting_getbool("enable_particles")) .. "]".. + "dropdown[1,3.25;3;dd_video_driver;" + .. video_driver_string .. ";" .. current_video_driver_idx .. "]" .. + "tooltip[dd_video_driver;" .. + fgettext("Restart minetest for driver change to take effect") .. "]" .. "box[4.25,0;3.25,2.5;#999999]" .. "checkbox[4.5,0;cb_mipmapping;".. fgettext("Mip-Mapping") .. ";" .. dump(core.setting_getbool("mip_map")) .. "]".. @@ -284,16 +306,20 @@ local function handle_settings_buttons(this, fields, tabname, tabdata) return true end if fields["btn_reset_singleplayer"] then - print("sp reset") showconfirm_reset(this) return true end + --Note dropdowns have to be handled LAST! local ddhandled = false if fields["dd_touchthreshold"] then core.setting_set("touchscreen_threshold",fields["dd_touchthreshold"]) ddhandled = true end + if fields["dd_video_driver"] then + core.setting_set("video_driver",fields["dd_video_driver"]) + ddhandled = true + end return ddhandled end |