]> git.lizzy.rs Git - minetest.git/commitdiff
Disable dynamic shadow dropdown on OGLES2 (#12637)
authorROllerozxa <temporaryemail4meh+github@gmail.com>
Thu, 4 Aug 2022 18:42:43 +0000 (20:42 +0200)
committerGitHub <noreply@github.com>
Thu, 4 Aug 2022 18:42:43 +0000 (20:42 +0200)
Co-authored-by: sfan5 <sfan5@live.de>
builtin/mainmenu/tab_settings.lua
src/client/render/core.cpp

index 8307ca7e24031f67682bf7b9d6369c1e6329c4d5..21c77aa8eb0a688bb8bdf171c909aac62b6ff036 100644 (file)
@@ -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",
index 55cc4e490b023417a09228e0af3baae626a4905b..ca5d3c614622e9e0014502aa9e41259abf462b5a 100644 (file)
@@ -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);