bool LLEnvManagerNew::useDayCycle(const std::string& name, LLEnvKey::EScope scope) { LLSD params; if (scope == LLEnvKey::SCOPE_REGION) { LL_DEBUGS("Windlight") << "Displaying region day cycle " << name << LL_ENDL; params = getRegionSettings().getWLDayCycle(); // <FS:Ansariel> Quickprefs integration FloaterQuickPrefs::updateParam(QP_PARAM_DAYCYCLE, LLSD(PRESET_NAME_REGION_DEFAULT)); } else { LL_DEBUGS("Windlight") << "Displaying local day cycle " << name << LL_ENDL; if (!LLDayCycleManager::instance().getPreset(name, params)) { LL_WARNS() << "No day cycle named " << name << LL_ENDL; return false; } // <FS:Ansariel> Quickprefs integration FloaterQuickPrefs::updateParam(QP_PARAM_DAYCYCLE, LLSD(name)); } bool rslt = LLWLParamManager::instance().applyDayCycleParams(params, scope); llassert(rslt == true); return rslt; }
void LLEnvManagerNew::updateWaterFromPrefs(bool interpolate) { LLWaterParamManager& water_mgr = LLWaterParamManager::instance(); LLSD target_water_params; // Determine new water settings based on user prefs. { // Fall back to default water. LLWaterParamSet default_water; water_mgr.getParamSet("Default", default_water); target_water_params = default_water.getAll(); // <FS:Ansariel> Quickprefs integration FloaterQuickPrefs::updateParam(QP_PARAM_WATER, LLSD("Default")); } if (getUseRegionSettings()) { // *TODO: make sure whether region settings belong to the current region? const LLSD& region_water_params = getRegionSettings().getWaterParams(); if (region_water_params.size() != 0) // region has no water settings { LL_DEBUGS("Windlight") << "Applying region water" << LL_ENDL; target_water_params = region_water_params; // <FS:Ansariel> Quickprefs integration FloaterQuickPrefs::updateParam(QP_PARAM_WATER, LLSD(PRESET_NAME_REGION_DEFAULT)); } else { LL_DEBUGS("Windlight") << "Applying default water" << LL_ENDL; } } else { std::string water = getWaterPresetName(); LL_DEBUGS("Windlight") << "Applying water preset [" << water << "]" << LL_ENDL; LLWaterParamSet params; if (!water_mgr.getParamSet(water, params)) { LL_WARNS() << "No water preset named " << water << ", falling back to defaults" << LL_ENDL; water_mgr.getParamSet("Default", params); // *TODO: Fix user preferences accordingly. } // <FS:Ansariel> Quickprefs integration else { FloaterQuickPrefs::updateParam(QP_PARAM_WATER, LLSD(water)); } // </FS:Ansariel> Quickprefs integration target_water_params = params.getAll(); } // Sync water with user prefs. water_mgr.applyParams(target_water_params, interpolate); }
void LLEnvManagerNew::dumpPresets() { const LLEnvironmentSettings& region_settings = getRegionSettings(); std::string region_name = gAgent.getRegion() ? gAgent.getRegion()->getName() : "Unknown region"; // Dump water presets. LL_DEBUGS("Windlight") << "Waters:" << LL_ENDL; if (region_settings.getWaterParams().size() != 0) { LL_DEBUGS("Windlight") << " - " << region_name << LL_ENDL; } LLWaterParamManager::preset_name_list_t water_presets; LLWaterParamManager::instance().getPresetNames(water_presets); for (LLWaterParamManager::preset_name_list_t::const_iterator it = water_presets.begin(); it != water_presets.end(); ++it) { LL_DEBUGS("Windlight") << " - " << *it << LL_ENDL; } // Dump sky presets. LL_DEBUGS("Windlight") << "Skies:" << LL_ENDL; LLWLParamManager::preset_key_list_t sky_preset_keys; LLWLParamManager::instance().getPresetKeys(sky_preset_keys); for (LLWLParamManager::preset_key_list_t::const_iterator it = sky_preset_keys.begin(); it != sky_preset_keys.end(); ++it) { std::string preset_name = it->name; std::string item_title; if (it->scope == LLEnvKey::SCOPE_LOCAL) // local preset { item_title = preset_name; } else // region preset { item_title = preset_name + " (" + region_name + ")"; } LL_DEBUGS("Windlight") << " - " << item_title << LL_ENDL; } // Dump day cycles. LL_DEBUGS("Windlight") << "Days:" << LL_ENDL; const LLSD& cur_region_dc = region_settings.getWLDayCycle(); if (cur_region_dc.size() != 0) { LL_DEBUGS("Windlight") << " - " << region_name << LL_ENDL; } LLDayCycleManager::preset_name_list_t days; LLDayCycleManager::instance().getPresetNames(days); for (LLDayCycleManager::preset_name_list_t::const_iterator it = days.begin(); it != days.end(); ++it) { LL_DEBUGS("Windlight") << " - " << *it << LL_ENDL; } }
bool LLEnvManagerNew::useRegionWater() { const LLEnvironmentSettings& region_settings = getRegionSettings(); const LLSD& region_water = region_settings.getWaterParams(); // If region is set to defaults, if (region_water.size() == 0) { // well... apply the default water settings. return useDefaultWater(); } // Otherwise apply region water. LL_DEBUGS("Windlight") << "Applying region sky" << LL_ENDL; return useWaterParams(region_water); }
void LLEnvManagerNew::updateWaterFromPrefs(bool interpolate) { LLWaterParamManager& water_mgr = LLWaterParamManager::instance(); LLSD target_water_params; // Determine new water settings based on user prefs. { // Fall back to default water. LLWaterParamSet default_water; water_mgr.getParamSet("Default", default_water); target_water_params = default_water.getAll(); } if (getUseRegionSettings()) { // *TODO: make sure whether region settings belong to the current region? const LLSD& region_water_params = getRegionSettings().getWaterParams(); if (region_water_params.size() != 0) // region has no water settings { LL_DEBUGS("Windlight") << "Applying region water" << LL_ENDL; target_water_params = region_water_params; } else { LL_DEBUGS("Windlight") << "Applying default water" << LL_ENDL; } } else { std::string water = getWaterPresetName(); LL_DEBUGS("Windlight") << "Applying water preset [" << water << "]" << LL_ENDL; LLWaterParamSet params; if (!water_mgr.getParamSet(water, params)) { llwarns << "No water preset named " << water << ", falling back to defaults" << llendl; water_mgr.getParamSet("Default", params); // *TODO: Fix user preferences accordingly. } target_water_params = params.getAll(); } // Sync water with user prefs. water_mgr.applyParams(target_water_params, interpolate); }
bool LLEnvManagerNew::useRegionWater() { const LLEnvironmentSettings& region_settings = getRegionSettings(); const LLSD& region_water = region_settings.getWaterParams(); // If region is set to defaults, if (region_water.size() == 0) { // well... apply the default water settings. return useDefaultWater(); } // <FS:Ansariel> Quickprefs integration FloaterQuickPrefs::updateParam(QP_PARAM_WATER, LLSD(PRESET_NAME_REGION_DEFAULT)); // Otherwise apply region water. LL_DEBUGS("Windlight") << "Applying region sky" << LL_ENDL; return useWaterParams(region_water); }
bool LLEnvManagerNew::useRegionSky() { const LLEnvironmentSettings& region_settings = getRegionSettings(); // If region is set to defaults, if (region_settings.getSkyMap().size() == 0) { // well... apply the default sky settings. useDefaultSky(); return true; } // *TODO: Support fixed sky from region. // Otherwise apply region day cycle. LL_DEBUGS("Windlight") << "Applying region sky" << LL_ENDL; return useDayCycleParams( region_settings.getWLDayCycle(), LLEnvKey::SCOPE_REGION, region_settings.getDayTime()); }
bool LLEnvManagerNew::useDayCycle(const std::string& name, LLEnvKey::EScope scope) { LLSD params; if (scope == LLEnvKey::SCOPE_REGION) { LL_DEBUGS("Windlight") << "Displaying region day cycle " << name << LL_ENDL; params = getRegionSettings().getWLDayCycle(); } else { LL_DEBUGS("Windlight") << "Displaying local day cycle " << name << LL_ENDL; if (!LLDayCycleManager::instance().getPreset(name, params)) { llwarns << "No day cycle named " << name << llendl; return false; } } bool rslt = LLWLParamManager::instance().applyDayCycleParams(params, scope); llassert(rslt == true); return rslt; }
bool LLEnvManagerNew::useRegionSky() { const LLEnvironmentSettings& region_settings = getRegionSettings(); // If region is set to defaults, if (region_settings.getSkyMap().size() == 0) { // well... apply the default sky settings. useDefaultSky(); return true; } // *TODO: Support fixed sky from region. // <FS:Ansariel> Quickprefs integration FloaterQuickPrefs::updateParam(QP_PARAM_SKY, LLSD(PRESET_NAME_REGION_DEFAULT)); // Otherwise apply region day cycle. LL_DEBUGS("Windlight") << "Applying region sky" << LL_ENDL; return useDayCycleParams( region_settings.getWLDayCycle(), LLEnvKey::SCOPE_REGION, region_settings.getDayTime()); }