void LLEnvManagerNew::onRegionSettingsResponse(const LLSD& content) { // If the message was valid, grab the UUID from it and save it for next outbound update message. mLastReceivedID = content[0]["messageID"].asUUID(); // Refresh cached region settings. LL_DEBUGS("Windlight") << "Caching region environment settings: " << content << LL_ENDL; F32 sun_hour = 0; // *TODO LLEnvironmentSettings new_settings(content[1], content[2], content[3], sun_hour); mCachedRegionPrefs = new_settings; // Load region sky presets. LLWLParamManager::instance()->refreshRegionPresets(); // Use the region settings if parcel settings didnt override it already -KC if (KCWindlightInterface::instance().haveParcelOverride(new_settings)) { // If using server settings, update managers. if (getUseRegionSettings()) { updateManagersFromPrefs(mInterpNextChangeMessage); } //bit of a hacky override since I've repurposed many of the settings and methods here -KC else if (gSavedSettings.getBOOL("UseEnvironmentFromRegionAlways")) { setUseRegionSettings(true, mInterpNextChangeMessage); } } // Let interested parties know about the region settings update. mRegionSettingsChangeSignal(); // reset mInterpNextChangeMessage = false; }
void LLEnvManagerNew::onRegionSettingsResponse(const LLSD& content) { // If the message was valid, grab the UUID from it and save it for next outbound update message. mLastReceivedID = content[0]["messageID"].asUUID(); // Refresh cached region settings. LL_DEBUGS("Windlight") << "Caching region environment settings: " << content << LL_ENDL; F32 sun_hour = 0; // *TODO LLEnvironmentSettings new_settings(content[1], content[2], content[3], sun_hour); mCachedRegionPrefs = new_settings; // Load region sky presets. LLWLParamManager::instance().refreshRegionPresets(); // Use the region settings if parcel settings didnt override it already -KC if (KCWindlightInterface::instance().haveParcelOverride(new_settings)) { // If using server settings, update managers. // if (getUseRegionSettings()) // [RLVa:KB] - Checked: 2011-08-29 (RLVa-1.4.1a) | Added: RLVa-1.4.1a if ( (getUseRegionSettings()) && (LLWLParamManager::getInstance()->mAnimator.getIsRunning()) ) // [/RLVa:KB] { updateManagersFromPrefs(mInterpNextChangeMessage); } //bit of a hacky override since I've repurposed many of the settings and methods here -KC //NOTE* It might not be a good idea to do this if under RLV_BHVR_SETENV -KC else if (gSavedSettings.getBOOL("UseEnvironmentFromRegionAlways") && !(rlv_handler_t::isEnabled() && gRlvHandler.hasBehaviour(RLV_BHVR_SETENV))) { setUseRegionSettings(true, mInterpNextChangeMessage); } } // Let interested parties know about the region settings update. mRegionSettingsChangeSignal(); // reset mInterpNextChangeMessage = false; }