diff --git a/indra/llrender/llpostprocess.cpp b/indra/llrender/llpostprocess.cpp index 86908cc33..505dcf670 100644 --- a/indra/llrender/llpostprocess.cpp +++ b/indra/llrender/llpostprocess.cpp @@ -35,6 +35,7 @@ #include "llpostprocess.h" #include "lldir.h" +#include "llcontrol.h" #include "llfasttimer.h" #include "llgl.h" #include "llglslshader.h" @@ -369,11 +370,13 @@ LLPostProcess::LLPostProcess(void) : load_effects(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight", XML_FILENAME)); load_effects(gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "windlight", XML_FILENAME)); - // Singu TODO: Make this configurable via settings - if (!mAllEffectInfo.has("Default")) - mAllEffectInfo["Default"] = LLSD::emptyMap(); + auto setting = gSavedSettings.getControl("SinguPostProcessDefault"); + setting->getSignal()->connect(std::bind(&LLPostProcess::setSelectedEffect, this, std::bind(&LLSD::asStringRef, std::placeholders::_2))); + const auto& str = setting->get().asStringRef(); + if (!mAllEffectInfo.has(str)) + mAllEffectInfo[str] = LLSD::emptyMap(); - LLSD& defaults = mAllEffectInfo["Default"]; + LLSD& defaults = mAllEffectInfo[str]; // Add defaults for all missing effects for(auto& shader : mShaders) @@ -385,11 +388,12 @@ LLPostProcess::LLPostProcess(void) : defaults[it2->first]=it2->second; } } - setSelectedEffect("Default"); + setSelectedEffect(str); } LLPostProcess::~LLPostProcess(void) { + gSavedSettings.setString("SinguPostProcessDefault", mSelectedEffectName); destroyGL() ; } diff --git a/indra/newview/app_settings/settings_ascent.xml b/indra/newview/app_settings/settings_ascent.xml index ef978776d..a11c8a970 100644 --- a/indra/newview/app_settings/settings_ascent.xml +++ b/indra/newview/app_settings/settings_ascent.xml @@ -918,6 +918,17 @@ RIP Latif Khalifa. Value 1 + SinguPostProcessDefault + + Comment + Default post process preset, changing this will change your active preset + Persist + 1 + Type + String + Value + Default + SinguReplaceLinks Comment