SL-19160 Enable ALM ctrl when Atmospheric shaders are used

master
Maxim Nikolenko 2023-02-08 01:39:56 +02:00
parent d6002da559
commit e1661fdcda
2 changed files with 19 additions and 0 deletions

View File

@ -317,6 +317,7 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
gSavedSettings.getControl("UseDisplayNames")->getCommitSignal()->connect(boost::bind(&handleDisplayNamesOptionChanged, _2));
gSavedSettings.getControl("AppearanceCameraMovement")->getCommitSignal()->connect(boost::bind(&handleAppearanceCameraMovementChanged, _2));
gSavedSettings.getControl("WindLightUseAtmosShaders")->getCommitSignal()->connect(boost::bind(&LLFloaterPreference::onAtmosShaderChange, this));
LLAvatarPropertiesProcessor::getInstance()->addObserver( gAgent.getID(), this );
@ -1729,6 +1730,22 @@ void LLFloaterPreference::onClickActionChange()
updateClickActionControls();
}
void LLFloaterPreference::onAtmosShaderChange()
{
LLCheckBoxCtrl* ctrl_alm = getChild<LLCheckBoxCtrl>("UseLightShaders");
if(ctrl_alm)
{
//Deferred/SSAO/Shadows
BOOL bumpshiny = gGLManager.mHasCubeMap && LLCubeMap::sUseCubeMaps && LLFeatureManager::getInstance()->isFeatureAvailable("RenderObjectBump") && gSavedSettings.getBOOL("RenderObjectBump");
BOOL shaders = gSavedSettings.getBOOL("WindLightUseAtmosShaders");
BOOL enabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&
bumpshiny &&
shaders;
ctrl_alm->setEnabled(enabled);
}
}
void LLFloaterPreference::onClickPermsDefault()
{
LLFloaterReg::showInstance("perms_default");

View File

@ -139,6 +139,8 @@ protected:
// updates click/double-click action keybindngs depending on view values
void updateClickActionControls();
void onAtmosShaderChange();
public:
// This function squirrels away the current values of the controls so that
// cancel() can restore them.