diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llprefsadvanced.cpp | 31 |
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 | ||
64 | void LLPrefsAdvanced::cancel() | 95 | void LLPrefsAdvanced::cancel() |