diff options
| -rw-r--r-- | indra/newview/llenvironment.cpp | 25 | ||||
| -rw-r--r-- | indra/newview/llenvironment.h | 15 | ||||
| -rw-r--r-- | indra/newview/llinventorybridge.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 23 | 
4 files changed, 34 insertions, 33 deletions
diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp index 74c1b99e4d..a1b27e48ce 100644 --- a/indra/newview/llenvironment.cpp +++ b/indra/newview/llenvironment.cpp @@ -785,11 +785,11 @@ namespace  }  //========================================================================= -const F32Seconds LLEnvironment::TRANSITION_INSTANT(0.0f); -const F32Seconds LLEnvironment::TRANSITION_FAST(1.0f); -const F32Seconds LLEnvironment::TRANSITION_DEFAULT(5.0f); -const F32Seconds LLEnvironment::TRANSITION_SLOW(10.0f); -const F32Seconds LLEnvironment::TRANSITION_ALTITUDE(5.0f); +const F64Seconds LLEnvironment::TRANSITION_INSTANT(0.0f); +const F64Seconds LLEnvironment::TRANSITION_FAST(1.0f); +const F64Seconds LLEnvironment::TRANSITION_DEFAULT(5.0f); +const F64Seconds LLEnvironment::TRANSITION_SLOW(10.0f); +const F64Seconds LLEnvironment::TRANSITION_ALTITUDE(5.0f);  const LLUUID LLEnvironment::KNOWN_SKY_SUNRISE("01e41537-ff51-2f1f-8ef7-17e4df760bfb");  const LLUUID LLEnvironment::KNOWN_SKY_MIDDAY("6c83e853-e7f8-cad7-8ee6-5f31c453721c"); @@ -1217,20 +1217,25 @@ void LLEnvironment::setEnvironment(LLEnvironment::EnvSelection_t env, const LLSe  void LLEnvironment::setEnvironment(EnvSelection_t env, const LLUUID &assetId, S32 env_version)  { -    setEnvironment(env, assetId, LLSettingsDay::DEFAULT_DAYLENGTH, LLSettingsDay::DEFAULT_DAYOFFSET); +    setEnvironment(env, assetId, LLSettingsDay::DEFAULT_DAYLENGTH, LLSettingsDay::DEFAULT_DAYOFFSET, TRANSITION_DEFAULT, env_version);  } +void LLEnvironment::setEnvironment(EnvSelection_t env, const LLUUID &assetId, LLSettingsBase::Seconds transition, S32 env_version) +{ +    setEnvironment(env, assetId, LLSettingsDay::DEFAULT_DAYLENGTH, LLSettingsDay::DEFAULT_DAYOFFSET, transition, env_version); +}  void LLEnvironment::setEnvironment(EnvSelection_t env,                                     const LLUUID &assetId,                                     LLSettingsDay::Seconds daylength,                                     LLSettingsDay::Seconds dayoffset, +                                   LLSettingsBase::Seconds transition,                                     S32 env_version)  {      LLSettingsVOBase::getSettingsAsset(assetId, -        [this, env, daylength, dayoffset, env_version](LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, LLExtStat) +        [this, env, daylength, dayoffset, env_version, transition](LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, LLExtStat)          { -            onSetEnvAssetLoaded(env, asset_id, settings, daylength, dayoffset, TRANSITION_DEFAULT, status, env_version); +            onSetEnvAssetLoaded(env, asset_id, settings, daylength, dayoffset, transition, status, env_version);          });  } @@ -1685,7 +1690,7 @@ void LLEnvironment::recordEnvironment(S32 parcel_id, LLEnvironment::EnvironmentI          if (!envinfo->mDayCycle)          {              clearEnvironment(ENV_PARCEL); -            setEnvironment(ENV_REGION, LLSettingsDay::GetDefaultAssetId(), LLSettingsDay::DEFAULT_DAYLENGTH, LLSettingsDay::DEFAULT_DAYOFFSET, envinfo->mEnvVersion); +            setEnvironment(ENV_REGION, LLSettingsDay::GetDefaultAssetId(), LLSettingsDay::DEFAULT_DAYLENGTH, LLSettingsDay::DEFAULT_DAYOFFSET, TRANSITION_DEFAULT, envinfo->mEnvVersion);              updateEnvironment();          }          else if (envinfo->mDayCycle->isTrackEmpty(LLSettingsDay::TRACK_WATER) @@ -1693,7 +1698,7 @@ void LLEnvironment::recordEnvironment(S32 parcel_id, LLEnvironment::EnvironmentI          {              LL_WARNS("ENVIRONMENT") << "Invalid day cycle for region" << LL_ENDL;              clearEnvironment(ENV_PARCEL); -            setEnvironment(ENV_REGION, LLSettingsDay::GetDefaultAssetId(), LLSettingsDay::DEFAULT_DAYLENGTH, LLSettingsDay::DEFAULT_DAYOFFSET, envinfo->mEnvVersion); +            setEnvironment(ENV_REGION, LLSettingsDay::GetDefaultAssetId(), LLSettingsDay::DEFAULT_DAYLENGTH, LLSettingsDay::DEFAULT_DAYOFFSET, TRANSITION_DEFAULT, envinfo->mEnvVersion);              updateEnvironment();          }          else diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h index 6ab0db7501..5c1a62d0ab 100644 --- a/indra/newview/llenvironment.h +++ b/indra/newview/llenvironment.h @@ -52,11 +52,11 @@ class LLEnvironment : public LLSingleton<LLEnvironment>      LOG_CLASS(LLEnvironment);  public: -    static const F32Seconds     TRANSITION_INSTANT; -    static const F32Seconds     TRANSITION_FAST; -    static const F32Seconds     TRANSITION_DEFAULT; -    static const F32Seconds     TRANSITION_SLOW; -    static const F32Seconds     TRANSITION_ALTITUDE; +    static const F64Seconds     TRANSITION_INSTANT; +    static const F64Seconds     TRANSITION_FAST; +    static const F64Seconds     TRANSITION_DEFAULT; +    static const F64Seconds     TRANSITION_SLOW; +    static const F64Seconds     TRANSITION_ALTITUDE;      static const LLUUID         KNOWN_SKY_SUNRISE;      static const LLUUID         KNOWN_SKY_MIDDAY; @@ -144,8 +144,9 @@ public:      void                        setEnvironment(EnvSelection_t env, const LLSettingsSky::ptr_t & fixed, S32 env_version = NO_VERSION) { setEnvironment(env, fixedEnvironment_t(fixed, LLSettingsWater::ptr_t()), env_version); }      void                        setEnvironment(EnvSelection_t env, const LLSettingsWater::ptr_t & fixed, S32 env_version = NO_VERSION) { setEnvironment(env, fixedEnvironment_t(LLSettingsSky::ptr_t(), fixed), env_version); }      void                        setEnvironment(EnvSelection_t env, const LLSettingsSky::ptr_t & fixeds, const LLSettingsWater::ptr_t & fixedw, S32 env_version = NO_VERSION) { setEnvironment(env, fixedEnvironment_t(fixeds, fixedw), env_version); } -    void                        setEnvironment(EnvSelection_t env, const LLUUID &assetId, LLSettingsDay::Seconds daylength, LLSettingsDay::Seconds dayoffset, S32 env_version = NO_VERSION); -    void                        setEnvironment(EnvSelection_t env, const LLUUID &assetId, S32 env_version = NO_VERSION); +    void                        setEnvironment(EnvSelection_t env, const LLUUID &assetId, LLSettingsDay::Seconds daylength, LLSettingsDay::Seconds dayoffset, LLSettingsBase::Seconds transition, S32 env_version); +    void                        setEnvironment(EnvSelection_t env, const LLUUID &assetId, S32 env_version); +    void                        setEnvironment(EnvSelection_t env, const LLUUID &assetId, LLSettingsBase::Seconds transition = TRANSITION_DEFAULT, S32 env_version = NO_VERSION);      void                        setSharedEnvironment();      void                        clearEnvironment(EnvSelection_t env); diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 04f89af989..0e7e762d81 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -7060,8 +7060,8 @@ void LLSettingsBridge::performAction(LLInventoryModel* model, std::string action          if (!item)               return;          LLUUID asset_id = item->getAssetUUID(); -        LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, asset_id); -        LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL); +        LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, asset_id, LLEnvironment::TRANSITION_FAST); +        LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::TRANSITION_FAST);      }      else if ("apply_settings_parcel" == action)      { diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index b04043ede9..7d7fdf53e2 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -8608,37 +8608,32 @@ class LLWorldEnvSettings : public view_listener_t  		if (event_name == "sunrise")  		{ -            LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::KNOWN_SKY_SUNRISE); -            LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL); -            LLEnvironment::instance().updateEnvironment(); +            LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::KNOWN_SKY_SUNRISE, LLEnvironment::TRANSITION_FAST); +            LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::TRANSITION_FAST);              defocusEnvFloaters();  		}  		else if (event_name == "noon")  		{ -            LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::KNOWN_SKY_MIDDAY); -            LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL); -            LLEnvironment::instance().updateEnvironment(); +            LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::KNOWN_SKY_MIDDAY, LLEnvironment::TRANSITION_FAST); +            LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::TRANSITION_FAST);              defocusEnvFloaters();  		}  		else if (event_name == "sunset")  		{ -            LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::KNOWN_SKY_SUNSET); -            LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL); -            LLEnvironment::instance().updateEnvironment(); +            LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::KNOWN_SKY_SUNSET, LLEnvironment::TRANSITION_FAST); +            LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::TRANSITION_FAST);              defocusEnvFloaters();  		}  		else if (event_name == "midnight")  		{ -            LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::KNOWN_SKY_MIDNIGHT); -            LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL); -            LLEnvironment::instance().updateEnvironment(); +            LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::KNOWN_SKY_MIDNIGHT, LLEnvironment::TRANSITION_FAST); +            LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::TRANSITION_FAST);              defocusEnvFloaters();  		}          else if (event_name == "region")  		{              LLEnvironment::instance().clearEnvironment(LLEnvironment::ENV_LOCAL); -            LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL); -            LLEnvironment::instance().updateEnvironment(); +            LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_LOCAL, LLEnvironment::TRANSITION_FAST);              defocusEnvFloaters();  		}          else if (event_name == "pause_clouds")  | 
