aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llprefsadvanced.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/llprefsadvanced.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/linden/indra/newview/llprefsadvanced.cpp b/linden/indra/newview/llprefsadvanced.cpp
index 1ecc0ec..88f066c 100644
--- a/linden/indra/newview/llprefsadvanced.cpp
+++ b/linden/indra/newview/llprefsadvanced.cpp
@@ -59,6 +59,37 @@ void LLPrefsAdvanced::apply()
59 gSavedSettings.setBOOL("DisableLoginLogoutScreens", childGetValue("disable_log_screen_check")); 59 gSavedSettings.setBOOL("DisableLoginLogoutScreens", childGetValue("disable_log_screen_check"));
60 gSavedSettings.setBOOL("DisableTeleportScreens", childGetValue("disable_tp_screen_check")); 60 gSavedSettings.setBOOL("DisableTeleportScreens", childGetValue("disable_tp_screen_check"));
61 gSavedSettings.setBOOL("ClothingLayerProtection", childGetValue("client_name_tag_check")); 61 gSavedSettings.setBOOL("ClothingLayerProtection", childGetValue("client_name_tag_check"));
62
63 // This is bad bad BAD UI from Emerald, I know.
64 // If anyone wants to do this better, please do -- MC
65 if ( childGetValue("shadows_check").asBoolean() )
66 {
67 if ( (gSavedSettings.getU32("RenderQualityPerformance") < 3) // Make sure we have everything enabled
68 || !gSavedSettings.getBOOL("WindLightUseAtmosShaders")
69 || !gSavedSettings.getBOOL("VertexShaderEnable") )
70 {
71 childSetValue("shadows_check", FALSE);
72 LLNotifications::instance().add("NoShadows");
73 llwarns << "Attempting to enable shadow rendering while graphics settings less than Ultra or shaders are missing!" << llendl;
74 }
75 else if ( (gSavedSettings.getBOOL("WindLightUseAtmosShaders") // If we do, toggle shadows in the correct order
76 && gSavedSettings.getBOOL("VertexShaderEnable")) )
77 {
78 gSavedSettings.setBOOL("RenderUseFBO", childGetValue("shadows_check").asBoolean());
79 gSavedSettings.setBOOL("RenderDeferred", childGetValue("shadows_check").asBoolean());
80 llinfos << "Shadow rendering enabled" << llendl;
81 }
82 }
83 else if (!childGetValue("shadows_check").asBoolean())
84 {
85 if (gSavedSettings.getBOOL("RenderDeferred"))
86 {
87 gSavedSettings.setBOOL("RenderDeferred", childGetValue("shadows_check").asBoolean());
88 gSavedSettings.setBOOL("RenderUseFBO", childGetValue("shadows_check").asBoolean());
89 llinfos << "Shadow rendering disabled" << llendl;
90 }
91 }
92 gSavedSettings.setBOOL("ShadowsEnabled", childGetValue("shadows_check").asBoolean());
62} 93}
63 94
64void LLPrefsAdvanced::cancel() 95void LLPrefsAdvanced::cancel()