// This is really really horrible, but can't be fixed without a rewrite. void LLWLParamManager::initHack() { // load the day std::string preferred_day = LLEnvManagerNew::instance().getDayCycleName(); if (!LLDayCycleManager::instance().getPreset(preferred_day, mDay)) { // Fall back to default. llwarns << "No day cycle named " << preferred_day << ", falling back to defaults" << llendl; mDay.loadDayCycleFromFile("Default.xml"); // *TODO: Fix user preferences accordingly. } // *HACK - sets cloud scrolling to what we want... fix this better in the future std::string sky = LLEnvManagerNew::instance().getSkyPresetName(); if (!getParamSet(LLWLParamKey(sky, LLWLParamKey::SCOPE_LOCAL), mCurParams)) { llwarns << "No sky preset named " << sky << ", falling back to defaults" << llendl; getParamSet(LLWLParamKey("Default", LLWLParamKey::SCOPE_LOCAL), mCurParams); // *TODO: Fix user preferences accordingly. } // set it to noon resetAnimator(0.5, LLEnvManagerNew::instance().getUseDayCycle()); // but use linden time sets it to what the estate is mAnimator.setTimeType(LLWLAnimator::TIME_LINDEN); // This shouldn't be called here. It has nothing to do with the initialization of this singleton. // Instead, call it one-time when the viewer starts. Calling it here causes a recursive entry // of LLWLParamManager::initSingleton(). //LLEnvManagerNew::instance().usePrefs(); }
// static void LLWLParamManager::initSingleton() { LL_DEBUGS("Windlight") << "Initializing sky" << LL_ENDL; loadAllPresets(); // load the day std::string preferred_day = LLEnvManagerNew::instance().getDayCycleName(); if (!LLDayCycleManager::instance().getPreset(preferred_day, mDay)) { // Fall back to default. llwarns << "No day cycle named " << preferred_day << ", falling back to defaults" << llendl; mDay.loadDayCycleFromFile("Default.xml"); // *TODO: Fix user preferences accordingly. } // *HACK - sets cloud scrolling to what we want... fix this better in the future std::string sky = LLEnvManagerNew::instance().getSkyPresetName(); if (!getParamSet(LLWLParamKey(sky, LLWLParamKey::SCOPE_LOCAL), mCurParams)) { llwarns << "No sky preset named " << sky << ", falling back to defaults" << llendl; getParamSet(LLWLParamKey("Default", LLWLParamKey::SCOPE_LOCAL), mCurParams); // *TODO: Fix user preferences accordingly. } // set it to noon resetAnimator(0.5, LLEnvManagerNew::instance().getUseDayCycle()); // but use linden time sets it to what the estate is mAnimator.setTimeType(LLWLAnimator::TIME_LINDEN); LLEnvManagerNew::instance().usePrefs(); }
void FloaterQuickPrefs::onClickRegionWL() { mWLPresetsCombo->setSimple(LLStringExplicit("Default")); mWaterPresetsCombo->setSimple(LLStringExplicit("Default")); LLEnvManagerNew::instance().useRegionSettings(); LLWLParamManager::instance().getParamSet(LLWLParamKey("Default", LLEnvKey::SCOPE_LOCAL), LLWLParamManager::instance().mCurParams); }
void FloaterQuickPrefs::onClickSkyNext() { LLWLParamManager& mgr = LLWLParamManager::instance(); std::map<LLWLParamKey, LLWLParamSet> param_list = mgr.getParamList(); // find place of current param std::map<LLWLParamKey, LLWLParamSet>::iterator mIt; mIt = param_list.find(LLWLParamKey(mgr.mCurParams.mName, LLEnvKey::SCOPE_LOCAL)); // shouldn't happen unless you delete every preset but Default if (mIt == param_list.end()) { llwarns << "No more presets left!" << llendl; return; } // if at the end, loop std::map<LLWLParamKey, LLWLParamSet>::iterator last = param_list.end(); last--; if (mIt == last) { mIt = param_list.begin(); } else { mIt++; } deactivateAnimator(); mWLPresetsCombo->setSimple(mIt->first.name); LLEnvManagerNew::instance().setUseSkyPreset(mIt->first.name, (bool)gSavedSettings.getBOOL("FSInterpolateSky")); mgr.getParamSet(mIt->first, mgr.mCurParams); }
void LLWLParamManager::addAllSkies(const LLWLParamKey::EScope scope, const LLSD& sky_presets) { for(LLSD::map_const_iterator iter = sky_presets.beginMap(); iter != sky_presets.endMap(); ++iter) { LLWLParamSet set; set.setAll(iter->second); mParamList[LLWLParamKey(iter->first, scope)] = set; } }
void FloaterQuickPrefs::onChangeSkyPreset(LLUICtrl* ctrl) { std::string data = ctrl->getValue().asString(); if(!data.empty()) { LLEnvManagerNew::instance().setUseSkyPreset(data, (bool)gSavedSettings.getBOOL("FSInterpolateSky")); LLWLParamManager::instance().getParamSet(LLWLParamKey(data, LLEnvKey::SCOPE_LOCAL), LLWLParamManager::instance().mCurParams); } }
void LLFloaterEditSky::refreshSkyPresetsList() { mSkyPresetCombo->removeall(); LLWLParamManager::preset_name_list_t region_presets, user_presets, sys_presets; LLWLParamManager::instance().getPresetNames(region_presets, user_presets, sys_presets); #if 0 // Disable editing region skies until the workflow is clear enough. // Add region presets. std::string region_name = gAgent.getRegion() ? gAgent.getRegion()->getName() : LLTrans::getString("Unknown"); for (LLWLParamManager::preset_name_list_t::const_iterator it = region_presets.begin(); it != region_presets.end(); ++it) { std::string item_title = *it + " (" + region_name + ")"; mSkyPresetCombo->add(item_title, LLWLParamKey(*it, LLEnvKey::SCOPE_REGION).toLLSD()); } if (region_presets.size() > 0) { mSkyPresetCombo->addSeparator(); } #endif // Add user presets. for (LLWLParamManager::preset_name_list_t::const_iterator it = user_presets.begin(); it != user_presets.end(); ++it) { mSkyPresetCombo->add(*it, LLWLParamKey(*it, LLEnvKey::SCOPE_LOCAL).toLLSD()); } if (user_presets.size() > 0) { mSkyPresetCombo->addSeparator(); } // Add system presets. for (LLWLParamManager::preset_name_list_t::const_iterator it = sys_presets.begin(); it != sys_presets.end(); ++it) { mSkyPresetCombo->add(*it, LLWLParamKey(*it, LLEnvKey::SCOPE_LOCAL).toLLSD()); } mSkyPresetCombo->setLabel(getString("combo_label")); }
bool LLEnvManagerNew::useSkyPreset(const std::string& name) { LLWLParamManager& sky_mgr = LLWLParamManager::instance(); LLWLParamSet param_set; if (!sky_mgr.getParamSet(LLWLParamKey(name, LLEnvKey::SCOPE_LOCAL), param_set)) { llwarns << "No sky preset named " << name << llendl; return false; } LL_DEBUGS("Windlight") << "Displaying sky preset " << name << LL_ENDL; sky_mgr.applySkyParams(param_set.getAll()); return true; }
bool LLEnvManagerNew::useSkyPreset(const std::string& name, bool interpolate /*= false*/) { LLWLParamManager& sky_mgr = LLWLParamManager::instance(); LLWLParamSet param_set; if (!sky_mgr.getParamSet(LLWLParamKey(name, LLEnvKey::SCOPE_LOCAL), param_set)) { LL_WARNS() << "No sky preset named " << name << LL_ENDL; return false; } // <FS:Ansariel> Quickprefs integration FloaterQuickPrefs::updateParam(QP_PARAM_SKY, LLSD(name)); LL_DEBUGS("Windlight") << "Displaying sky preset " << name << LL_ENDL; sky_mgr.applySkyParams(param_set.getAll(), interpolate); return true; }