diff options
author | ROllerozxa <temporaryemail4meh+github@gmail.com> | 2022-08-04 20:42:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-04 20:42:43 +0200 |
commit | eb49b6d85cf9ba59da2321d7fe593986b2f1610f (patch) | |
tree | c6c23bb1ff0e8ade22aa60fef1e36f1b69f75838 | |
parent | b91063daef8da79533a375e461cdeac8541ec0f2 (diff) | |
download | minetest-eb49b6d85cf9ba59da2321d7fe593986b2f1610f.tar.gz minetest-eb49b6d85cf9ba59da2321d7fe593986b2f1610f.tar.bz2 minetest-eb49b6d85cf9ba59da2321d7fe593986b2f1610f.zip |
Disable dynamic shadow dropdown on OGLES2 (#12637)
Co-authored-by: sfan5 <sfan5@live.de>
-rw-r--r-- | builtin/mainmenu/tab_settings.lua | 14 | ||||
-rw-r--r-- | src/client/render/core.cpp | 7 |
2 files changed, 18 insertions, 3 deletions
diff --git a/builtin/mainmenu/tab_settings.lua b/builtin/mainmenu/tab_settings.lua index 8307ca7e2..21c77aa8e 100644 --- a/builtin/mainmenu/tab_settings.lua +++ b/builtin/mainmenu/tab_settings.lua @@ -220,11 +220,19 @@ local function formspec(tabview, name, tabdata) "checkbox[8.25,1.5;cb_waving_leaves;" .. fgettext("Waving Leaves") .. ";" .. dump(core.settings:get_bool("enable_waving_leaves")) .. "]" .. "checkbox[8.25,2;cb_waving_plants;" .. fgettext("Waving Plants") .. ";" - .. dump(core.settings:get_bool("enable_waving_plants")) .. "]".. - "label[8.25,2.8;" .. fgettext("Dynamic shadows:") .. "]" .. - "label[8.25,3.2;" .. fgettext("(game support required)") .. "]" .. + .. dump(core.settings:get_bool("enable_waving_plants")) .. "]" + + if video_driver == "opengl" then + tab_string = tab_string .. + "label[8.25,2.8;" .. fgettext("Dynamic shadows:") .. "]" .. + "label[8.25,3.2;" .. fgettext("(game support required)") .. "]" .. "dropdown[8.25,3.7;3.5;dd_shadows;" .. dd_options.shadow_levels[1] .. ";" .. getSettingIndex.ShadowMapping() .. "]" + else + tab_string = tab_string .. + "label[8.38,2.7;" .. core.colorize("#888888", + fgettext("Dynamic shadows")) .. "]" + end else tab_string = tab_string .. "label[8.38,0.7;" .. core.colorize("#888888", diff --git a/src/client/render/core.cpp b/src/client/render/core.cpp index 55cc4e490..ca5d3c614 100644 --- a/src/client/render/core.cpp +++ b/src/client/render/core.cpp @@ -35,6 +35,13 @@ RenderingCore::RenderingCore(IrrlichtDevice *_device, Client *_client, Hud *_hud screensize = driver->getScreenSize(); virtual_size = screensize; + // disable if unsupported + if (g_settings->getBool("enable_dynamic_shadows") && ( + g_settings->get("video_driver") != "opengl" || + !g_settings->getBool("enable_shaders"))) { + g_settings->setBool("enable_dynamic_shadows", false); + } + if (g_settings->getBool("enable_shaders") && g_settings->getBool("enable_dynamic_shadows")) { shadow_renderer = new ShadowRenderer(device, client); |