aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llpaneldisplay.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/llpaneldisplay.cpp')
-rw-r--r--linden/indra/newview/llpaneldisplay.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/linden/indra/newview/llpaneldisplay.cpp b/linden/indra/newview/llpaneldisplay.cpp
index d510775..e3da12a 100644
--- a/linden/indra/newview/llpaneldisplay.cpp
+++ b/linden/indra/newview/llpaneldisplay.cpp
@@ -318,6 +318,9 @@ BOOL LLPanelDisplay::postBuild()
318 mLightingText = getChild<LLTextBox>("LightingDetailText"); 318 mLightingText = getChild<LLTextBox>("LightingDetailText");
319 mMeshDetailText = getChild<LLTextBox>("MeshDetailText"); 319 mMeshDetailText = getChild<LLTextBox>("MeshDetailText");
320 320
321 childSetValue("toggle_windlight_control", gSavedSettings.getBOOL("EnableWindlightRemote"));
322 mWLControl = gSavedSettings.getBOOL("EnableWindlightRemote");
323
321 refresh(); 324 refresh();
322 325
323 return TRUE; 326 return TRUE;
@@ -475,7 +478,12 @@ void LLPanelDisplay::refreshEnabledState()
475 } 478 }
476 479
477 // Vertex Shaders 480 // Vertex Shaders
478 mCtrlShaderEnable->setEnabled(LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable")); 481// mCtrlShaderEnable->setEnabled(LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable"));
482// [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0a
483 // "Basic Shaders" can't be disabled - but can be enabled - under @setenv=n
484 bool fCtrlShaderEnable = LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable");
485 mCtrlShaderEnable->setEnabled(fCtrlShaderEnable && (!gRlvHandler.hasBehaviour(RLV_BHVR_SETENV) || !mShaderEnable));
486// [/RLVa:KB]
479 487
480 BOOL shaders = mCtrlShaderEnable->get(); 488 BOOL shaders = mCtrlShaderEnable->get();
481 if (shaders) 489 if (shaders)
@@ -490,7 +498,12 @@ void LLPanelDisplay::refreshEnabledState()
490 498
491 // *HACK just checks to see if we can use shaders... 499 // *HACK just checks to see if we can use shaders...
492 // maybe some cards that use shaders, but don't support windlight 500 // maybe some cards that use shaders, but don't support windlight
493 mCtrlWindLight->setEnabled(mCtrlShaderEnable->getEnabled() && shaders); 501// mCtrlWindLight->setEnabled(mCtrlShaderEnable->getEnabled() && shaders);
502// [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0a
503 // "Atmospheric Shaders" can't be disabled - but can be enabled - under @setenv=n
504 bool fCtrlWindLightEnable = fCtrlShaderEnable && shaders;
505 mCtrlWindLight->setEnabled(fCtrlWindLightEnable && (!gRlvHandler.hasBehaviour(RLV_BHVR_SETENV) || !mWindLight));
506// [/RLVa:KB]
494 507
495 // turn off sky detail if atmostpherics isn't on 508 // turn off sky detail if atmostpherics isn't on
496 mCtrlSkyFactor->setEnabled(gSavedSettings.getBOOL("WindLightUseAtmosShaders")); 509 mCtrlSkyFactor->setEnabled(gSavedSettings.getBOOL("WindLightUseAtmosShaders"));
@@ -690,6 +703,8 @@ void LLPanelDisplay::cancel()
690 gSavedSettings.setU32("WLSkyDetail", mSkyLOD); 703 gSavedSettings.setU32("WLSkyDetail", mSkyLOD);
691 gSavedSettings.setS32("RenderMaxPartCount", mParticleCount); 704 gSavedSettings.setS32("RenderMaxPartCount", mParticleCount);
692 gSavedSettings.setS32("RenderGlowResolutionPow", mPostProcess); 705 gSavedSettings.setS32("RenderGlowResolutionPow", mPostProcess);
706
707 gSavedSettings.setBOOL("EnableWindlightRemote", mWLControl);
693} 708}
694 709
695void LLPanelDisplay::apply() 710void LLPanelDisplay::apply()
@@ -701,6 +716,8 @@ void LLPanelDisplay::apply()
701 { 716 {
702 applyWindowSize(); 717 applyWindowSize();
703 } 718 }
719
720 gSavedSettings.setBOOL("EnableWindlightRemote", childGetValue("toggle_windlight_control").asBoolean());
704} 721}
705 722
706void LLPanelDisplay::onChangeQuality(LLUICtrl *ctrl, void *data) 723void LLPanelDisplay::onChangeQuality(LLUICtrl *ctrl, void *data)