diff options
Diffstat (limited to 'indra/llinventory')
-rw-r--r-- | indra/llinventory/llsettingssky.cpp | 39 | ||||
-rw-r--r-- | indra/llinventory/llsettingswater.cpp | 15 |
2 files changed, 34 insertions, 20 deletions
diff --git a/indra/llinventory/llsettingssky.cpp b/indra/llinventory/llsettingssky.cpp index 83499cc9fc..3f2d55d79d 100644 --- a/indra/llinventory/llsettingssky.cpp +++ b/indra/llinventory/llsettingssky.cpp @@ -37,20 +37,21 @@ namespace { LLTrace::BlockTimerStatHandle FTM_BLEND_SKYVALUES("Blending Sky Environment"); LLTrace::BlockTimerStatHandle FTM_UPDATE_SKYVALUES("Update Sky Environment"); +} - const F32 NIGHTTIME_ELEVATION = -8.0f; // degrees - const F32 NIGHTTIME_ELEVATION_SIN = (F32)sinf(NIGHTTIME_ELEVATION * DEG_TO_RAD); - const LLVector3 DUE_EAST = LLVector3::x_axis; - - LLQuaternion convert_azimuth_and_altitude_to_quat(F32 azimuth, F32 altitude) - { - LLQuaternion quat; - quat.setEulerAngles(0.0f, -altitude, azimuth); - return quat; - } +static const F32 NIGHTTIME_ELEVATION = -8.0f; // degrees +static const F32 NIGHTTIME_ELEVATION_SIN = (F32)sinf(NIGHTTIME_ELEVATION * DEG_TO_RAD); +static const LLVector3 DUE_EAST = LLVector3::x_axis; +static const LLUUID IMG_BLOOM1("3c59f7fe-9dc8-47f9-8aaf-a9dd1fbc3bef"); +static LLQuaternion convert_azimuth_and_altitude_to_quat(F32 azimuth, F32 altitude) +{ + LLQuaternion quat; + quat.setEulerAngles(0.0f, -altitude, azimuth); + return quat; } + //========================================================================= const std::string LLSettingsSky::SETTING_AMBIENT("ambient"); const std::string LLSettingsSky::SETTING_BLUE_DENSITY("blue_density"); @@ -389,14 +390,20 @@ void LLSettingsSky::blend(const LLSettingsBase::ptr_t &end, F64 blendf) llassert(getSettingsType() == end->getSettingsType()); LLSettingsSky::ptr_t other = PTR_NAMESPACE::dynamic_pointer_cast<LLSettingsSky>(end); - LLSD blenddata = interpolateSDMap(mSettings, other->mSettings, blendf); + if (other) + { + LLSD blenddata = interpolateSDMap(mSettings, other->mSettings, blendf); + replaceSettings(blenddata); + mNextSunTextureId = other->getSunTextureId(); + mNextMoonTextureId = other->getMoonTextureId(); + mNextCloudTextureId = other->getCloudNoiseTextureId(); + } + else + { + LL_WARNS("SETTINGS") << "Could not cast end settings to sky. No blend performed." << LL_ENDL; + } - replaceSettings(blenddata); - setBlendFactor(blendf); - mNextSunTextureId = other->getSunTextureId(); - mNextMoonTextureId = other->getMoonTextureId(); - mNextCloudTextureId = other->getCloudNoiseTextureId(); } LLSettingsSky::stringset_t LLSettingsSky::getSkipInterpolateKeys() const diff --git a/indra/llinventory/llsettingswater.cpp b/indra/llinventory/llsettingswater.cpp index a1e4929055..8eb65331ad 100644 --- a/indra/llinventory/llsettingswater.cpp +++ b/indra/llinventory/llsettingswater.cpp @@ -173,12 +173,19 @@ LLSD LLSettingsWater::translateLegacySettings(LLSD legacy) void LLSettingsWater::blend(const LLSettingsBase::ptr_t &end, F64 blendf) { LLSettingsWater::ptr_t other = PTR_NAMESPACE::static_pointer_cast<LLSettingsWater>(end); - LLSD blenddata = interpolateSDMap(mSettings, other->mSettings, blendf); - - replaceSettings(blenddata); + if (other) + { + LLSD blenddata = interpolateSDMap(mSettings, other->mSettings, blendf); + replaceSettings(blenddata); + mNextNormalMapID = other->getNormalMapID(); + mNextTransparentTextureID = other->getTransparentTextureID(); + } + else + { + LL_WARNS("SETTINGS") << "Cound not cast end settings to water. No blend performed." << LL_ENDL; + } setBlendFactor(blendf); mNextNormalMapID = other->getNormalMapID(); - mNextTransparentTextureID = other->getTransparentTextureID(); } LLSettingsWater::validation_list_t LLSettingsWater::getValidationList() const |