diff options
Diffstat (limited to 'linden/indra/newview/llpaneldisplay.cpp')
-rw-r--r-- | linden/indra/newview/llpaneldisplay.cpp | 21 |
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 | ||
695 | void LLPanelDisplay::apply() | 710 | void 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 | ||
706 | void LLPanelDisplay::onChangeQuality(LLUICtrl *ctrl, void *data) | 723 | void LLPanelDisplay::onChangeQuality(LLUICtrl *ctrl, void *data) |