Merge
commit
5b4dba2cea
|
|
@ -1026,12 +1026,12 @@ void LLEnvironment::requestRegion(environment_apply_fn cb)
|
|||
requestParcel(INVALID_PARCEL_ID, cb);
|
||||
}
|
||||
|
||||
void LLEnvironment::updateRegion(const LLSettingsDay::ptr_t &pday, S32 day_length, S32 day_offset, environment_apply_fn cb)
|
||||
void LLEnvironment::updateRegion(const LLSettingsDay::ptr_t &pday, S32 day_length, S32 day_offset, LLEnvironment::altitudes_vect_t altitudes, environment_apply_fn cb)
|
||||
{
|
||||
updateParcel(INVALID_PARCEL_ID, pday, day_length, day_offset, cb);
|
||||
updateParcel(INVALID_PARCEL_ID, pday, day_length, day_offset, altitudes, cb);
|
||||
}
|
||||
|
||||
void LLEnvironment::updateRegion(const LLUUID &asset_id, S32 day_length, S32 day_offset, environment_apply_fn cb)
|
||||
void LLEnvironment::updateRegion(const LLUUID &asset_id, S32 day_length, S32 day_offset, LLEnvironment::altitudes_vect_t altitudes, environment_apply_fn cb)
|
||||
{
|
||||
if (!isExtendedEnvironmentEnabled())
|
||||
{
|
||||
|
|
@ -1040,17 +1040,17 @@ void LLEnvironment::updateRegion(const LLUUID &asset_id, S32 day_length, S32 day
|
|||
return;
|
||||
}
|
||||
|
||||
updateParcel(INVALID_PARCEL_ID, asset_id, day_length, day_offset, cb);
|
||||
updateParcel(INVALID_PARCEL_ID, asset_id, day_length, day_offset, altitudes, cb);
|
||||
}
|
||||
|
||||
void LLEnvironment::updateRegion(const LLSettingsSky::ptr_t &psky, S32 day_length, S32 day_offset, environment_apply_fn cb)
|
||||
void LLEnvironment::updateRegion(const LLSettingsSky::ptr_t &psky, S32 day_length, S32 day_offset, LLEnvironment::altitudes_vect_t altitudes, environment_apply_fn cb)
|
||||
{
|
||||
updateParcel(INVALID_PARCEL_ID, psky, day_length, day_offset, cb);
|
||||
updateParcel(INVALID_PARCEL_ID, psky, day_length, day_offset, altitudes, cb);
|
||||
}
|
||||
|
||||
void LLEnvironment::updateRegion(const LLSettingsWater::ptr_t &pwater, S32 day_length, S32 day_offset, environment_apply_fn cb)
|
||||
void LLEnvironment::updateRegion(const LLSettingsWater::ptr_t &pwater, S32 day_length, S32 day_offset, LLEnvironment::altitudes_vect_t altitudes, environment_apply_fn cb)
|
||||
{
|
||||
updateParcel(INVALID_PARCEL_ID, pwater, day_length, day_offset, cb);
|
||||
updateParcel(INVALID_PARCEL_ID, pwater, day_length, day_offset, altitudes, cb);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1090,15 +1090,15 @@ void LLEnvironment::requestParcel(S32 parcel_id, environment_apply_fn cb)
|
|||
[this, parcel_id, cb]() { coroRequestEnvironment(parcel_id, cb); });
|
||||
}
|
||||
|
||||
void LLEnvironment::updateParcel(S32 parcel_id, const LLUUID &asset_id, S32 day_length, S32 day_offset, environment_apply_fn cb)
|
||||
void LLEnvironment::updateParcel(S32 parcel_id, const LLUUID &asset_id, S32 day_length, S32 day_offset, LLEnvironment::altitudes_vect_t altitudes, environment_apply_fn cb)
|
||||
{
|
||||
std::string coroname =
|
||||
LLCoros::instance().launch("LLEnvironment::coroUpdateEnvironment",
|
||||
[this, parcel_id, asset_id, day_length, day_offset, cb]() { coroUpdateEnvironment(parcel_id, NO_TRACK,
|
||||
LLSettingsDay::ptr_t(), asset_id, day_length, day_offset, cb); });
|
||||
[this, parcel_id, asset_id, day_length, day_offset, altitudes, cb]() { coroUpdateEnvironment(parcel_id, NO_TRACK,
|
||||
LLSettingsDay::ptr_t(), asset_id, day_length, day_offset, altitudes, cb); });
|
||||
}
|
||||
|
||||
void LLEnvironment::onUpdateParcelAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, S32 parcel_id, S32 day_length, S32 day_offset)
|
||||
void LLEnvironment::onUpdateParcelAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, S32 parcel_id, S32 day_length, S32 day_offset, LLEnvironment::altitudes_vect_t altitudes)
|
||||
{
|
||||
if (status)
|
||||
{
|
||||
|
|
@ -1123,27 +1123,27 @@ void LLEnvironment::onUpdateParcelAssetLoaded(LLUUID asset_id, LLSettingsBase::p
|
|||
return;
|
||||
}
|
||||
|
||||
updateParcel(parcel_id, pday, day_length, day_offset);
|
||||
updateParcel(parcel_id, pday, day_length, day_offset, altitudes);
|
||||
}
|
||||
|
||||
void LLEnvironment::updateParcel(S32 parcel_id, const LLSettingsSky::ptr_t &psky, S32 day_length, S32 day_offset, environment_apply_fn cb)
|
||||
void LLEnvironment::updateParcel(S32 parcel_id, const LLSettingsSky::ptr_t &psky, S32 day_length, S32 day_offset, LLEnvironment::altitudes_vect_t altitudes, environment_apply_fn cb)
|
||||
{
|
||||
LLSettingsDay::ptr_t pday = createDayCycleFromEnvironment((parcel_id == INVALID_PARCEL_ID) ? ENV_REGION : ENV_PARCEL, psky);
|
||||
updateParcel(parcel_id, pday, day_length, day_offset, cb);
|
||||
updateParcel(parcel_id, pday, day_length, day_offset, altitudes, cb);
|
||||
}
|
||||
|
||||
void LLEnvironment::updateParcel(S32 parcel_id, const LLSettingsWater::ptr_t &pwater, S32 day_length, S32 day_offset, environment_apply_fn cb)
|
||||
void LLEnvironment::updateParcel(S32 parcel_id, const LLSettingsWater::ptr_t &pwater, S32 day_length, S32 day_offset, LLEnvironment::altitudes_vect_t altitudes, environment_apply_fn cb)
|
||||
{
|
||||
LLSettingsDay::ptr_t pday = createDayCycleFromEnvironment((parcel_id == INVALID_PARCEL_ID) ? ENV_REGION : ENV_PARCEL, pwater);
|
||||
updateParcel(parcel_id, pday, day_length, day_offset, cb);
|
||||
updateParcel(parcel_id, pday, day_length, day_offset, altitudes, cb);
|
||||
}
|
||||
|
||||
void LLEnvironment::updateParcel(S32 parcel_id, const LLSettingsDay::ptr_t &pday, S32 day_length, S32 day_offset, environment_apply_fn cb)
|
||||
void LLEnvironment::updateParcel(S32 parcel_id, const LLSettingsDay::ptr_t &pday, S32 day_length, S32 day_offset, LLEnvironment::altitudes_vect_t altitudes, environment_apply_fn cb)
|
||||
{
|
||||
std::string coroname =
|
||||
LLCoros::instance().launch("LLEnvironment::coroUpdateEnvironment",
|
||||
[this, parcel_id, pday, day_length, day_offset, cb]() { coroUpdateEnvironment(parcel_id, NO_TRACK,
|
||||
pday, LLUUID::null, day_length, day_offset, cb); });
|
||||
[this, parcel_id, pday, day_length, day_offset, altitudes, cb]() { coroUpdateEnvironment(parcel_id, NO_TRACK,
|
||||
pday, LLUUID::null, day_length, day_offset, altitudes, cb); });
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1212,7 +1212,8 @@ void LLEnvironment::coroRequestEnvironment(S32 parcel_id, LLEnvironment::environ
|
|||
// }
|
||||
}
|
||||
|
||||
void LLEnvironment::coroUpdateEnvironment(S32 parcel_id, S32 track_no, LLSettingsDay::ptr_t pday, LLUUID settings_asset, S32 day_length, S32 day_offset, LLEnvironment::environment_apply_fn apply)
|
||||
void LLEnvironment::coroUpdateEnvironment(S32 parcel_id, S32 track_no, LLSettingsDay::ptr_t pday,
|
||||
LLUUID settings_asset, S32 day_length, S32 day_offset, LLEnvironment::altitudes_vect_t altitudes, LLEnvironment::environment_apply_fn apply)
|
||||
{
|
||||
LLCore::HttpRequest::policy_t httpPolicy(LLCore::HttpRequest::DEFAULT_POLICY_ID);
|
||||
LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t
|
||||
|
|
@ -1223,30 +1224,40 @@ void LLEnvironment::coroUpdateEnvironment(S32 parcel_id, S32 track_no, LLSetting
|
|||
if (url.empty())
|
||||
return;
|
||||
|
||||
if (day_length < 1)
|
||||
{
|
||||
day_length = getEnvironmentDayLength((parcel_id == INVALID_PARCEL_ID) ? ENV_REGION : ENV_PARCEL).value();
|
||||
if ((day_length < 1) && (parcel_id != INVALID_PARCEL_ID))
|
||||
day_length = getEnvironmentDayLength(ENV_REGION).value();
|
||||
}
|
||||
|
||||
if (day_offset < 1)
|
||||
{
|
||||
day_offset = getEnvironmentDayOffset((parcel_id == INVALID_PARCEL_ID) ? ENV_REGION : ENV_PARCEL).value();
|
||||
if ((day_offset < 1) && (parcel_id != INVALID_PARCEL_ID))
|
||||
day_offset = getEnvironmentDayOffset(ENV_REGION).value();
|
||||
}
|
||||
// if (day_length < 1)
|
||||
// {
|
||||
// day_length = getEnvironmentDayLength((parcel_id == INVALID_PARCEL_ID) ? ENV_REGION : ENV_PARCEL).value();
|
||||
// if ((day_length < 1) && (parcel_id != INVALID_PARCEL_ID))
|
||||
// day_length = getEnvironmentDayLength(ENV_REGION).value();
|
||||
// }
|
||||
//
|
||||
// if (day_offset < 1)
|
||||
// {
|
||||
// day_offset = getEnvironmentDayOffset((parcel_id == INVALID_PARCEL_ID) ? ENV_REGION : ENV_PARCEL).value();
|
||||
// if ((day_offset < 1) && (parcel_id != INVALID_PARCEL_ID))
|
||||
// day_offset = getEnvironmentDayOffset(ENV_REGION).value();
|
||||
// }
|
||||
|
||||
LLSD body(LLSD::emptyMap());
|
||||
body[KEY_ENVIRONMENT] = LLSD::emptyMap();
|
||||
|
||||
if (track_no == NO_TRACK)
|
||||
{ // day length and offset are only applicable if we are addressing the entire day cycle.
|
||||
if (day_length >= 0)
|
||||
if (day_length > 0)
|
||||
body[KEY_ENVIRONMENT][KEY_DAYLENGTH] = day_length;
|
||||
if (day_offset >= 0)
|
||||
if (day_offset > 0)
|
||||
body[KEY_ENVIRONMENT][KEY_DAYOFFSET] = day_offset;
|
||||
|
||||
if ((parcel_id == INVALID_PARCEL_ID) && (altitudes.size() == 3))
|
||||
{ // only test for altitude changes if we are changing the region.
|
||||
body[KEY_ENVIRONMENT][KEY_TRACKALTS] = LLSD::emptyArray();
|
||||
for (S32 i = 0; i < 3; ++i)
|
||||
{
|
||||
body[KEY_ENVIRONMENT][KEY_TRACKALTS][i] = altitudes[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (pday)
|
||||
body[KEY_ENVIRONMENT][KEY_DAYCYCLE] = pday->getSettings();
|
||||
else if (!settings_asset.isNull())
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ public:
|
|||
typedef boost::signals2::signal<void(EnvSelection_t)> env_changed_signal_t;
|
||||
typedef env_changed_signal_t::slot_type env_changed_fn;
|
||||
typedef std::array<F32, 4> altitude_list_t;
|
||||
typedef std::vector<F32> altitudes_vect_t;
|
||||
|
||||
virtual ~LLEnvironment();
|
||||
|
||||
|
|
@ -194,16 +195,16 @@ public:
|
|||
connection_t setEnvironmentChanged(env_changed_fn cb) { return mSignalEnvChanged.connect(cb); }
|
||||
|
||||
void requestRegion(environment_apply_fn cb = environment_apply_fn());
|
||||
void updateRegion(const LLUUID &asset_id, S32 day_length, S32 day_offset, environment_apply_fn cb = environment_apply_fn());
|
||||
void updateRegion(const LLSettingsDay::ptr_t &pday, S32 day_length, S32 day_offset, environment_apply_fn cb = environment_apply_fn());
|
||||
void updateRegion(const LLSettingsSky::ptr_t &psky, S32 day_length, S32 day_offset, environment_apply_fn cb = environment_apply_fn());
|
||||
void updateRegion(const LLSettingsWater::ptr_t &pwater, S32 day_length, S32 day_offset, environment_apply_fn cb = environment_apply_fn());
|
||||
void updateRegion(const LLUUID &asset_id, S32 day_length, S32 day_offset, altitudes_vect_t altitudes = altitudes_vect_t(), environment_apply_fn cb = environment_apply_fn());
|
||||
void updateRegion(const LLSettingsDay::ptr_t &pday, S32 day_length, S32 day_offset, altitudes_vect_t altitudes = altitudes_vect_t(), environment_apply_fn cb = environment_apply_fn());
|
||||
void updateRegion(const LLSettingsSky::ptr_t &psky, S32 day_length, S32 day_offset, altitudes_vect_t altitudes = altitudes_vect_t(), environment_apply_fn cb = environment_apply_fn());
|
||||
void updateRegion(const LLSettingsWater::ptr_t &pwater, S32 day_length, S32 day_offset, altitudes_vect_t altitudes = altitudes_vect_t(), environment_apply_fn cb = environment_apply_fn());
|
||||
void resetRegion(environment_apply_fn cb = environment_apply_fn());
|
||||
void requestParcel(S32 parcel_id, environment_apply_fn cb = environment_apply_fn());
|
||||
void updateParcel(S32 parcel_id, const LLUUID &asset_id, S32 day_length, S32 day_offset, environment_apply_fn cb = environment_apply_fn());
|
||||
void updateParcel(S32 parcel_id, const LLSettingsDay::ptr_t &pday, S32 day_length, S32 day_offset, environment_apply_fn cb = environment_apply_fn());
|
||||
void updateParcel(S32 parcel_id, const LLSettingsSky::ptr_t &psky, S32 day_length, S32 day_offset, environment_apply_fn cb = environment_apply_fn());
|
||||
void updateParcel(S32 parcel_id, const LLSettingsWater::ptr_t &pwater, S32 day_length, S32 day_offset, environment_apply_fn cb = environment_apply_fn());
|
||||
void updateParcel(S32 parcel_id, const LLUUID &asset_id, S32 day_length, S32 day_offset, altitudes_vect_t altitudes = altitudes_vect_t(), environment_apply_fn cb = environment_apply_fn());
|
||||
void updateParcel(S32 parcel_id, const LLSettingsDay::ptr_t &pday, S32 day_length, S32 day_offset, altitudes_vect_t altitudes = altitudes_vect_t(), environment_apply_fn cb = environment_apply_fn());
|
||||
void updateParcel(S32 parcel_id, const LLSettingsSky::ptr_t &psky, S32 day_length, S32 day_offset, altitudes_vect_t altitudes = altitudes_vect_t(), environment_apply_fn cb = environment_apply_fn());
|
||||
void updateParcel(S32 parcel_id, const LLSettingsWater::ptr_t &pwater, S32 day_length, S32 day_offset, altitudes_vect_t altitudes = altitudes_vect_t(), environment_apply_fn cb = environment_apply_fn());
|
||||
void resetParcel(S32 parcel_id, environment_apply_fn cb = environment_apply_fn());
|
||||
|
||||
void selectAgentEnvironment();
|
||||
|
|
@ -327,7 +328,7 @@ private:
|
|||
void onParcelChange();
|
||||
|
||||
void coroRequestEnvironment(S32 parcel_id, environment_apply_fn apply);
|
||||
void coroUpdateEnvironment(S32 parcel_id, S32 track_no, LLSettingsDay::ptr_t pday, LLUUID settings_asset, S32 day_length, S32 day_offset, environment_apply_fn apply);
|
||||
void coroUpdateEnvironment(S32 parcel_id, S32 track_no, LLSettingsDay::ptr_t pday, LLUUID settings_asset, S32 day_length, S32 day_offset, altitudes_vect_t altitudes, environment_apply_fn apply);
|
||||
void coroResetEnvironment(S32 parcel_id, S32 track_no, environment_apply_fn apply);
|
||||
|
||||
void recordEnvironment(S32 parcel_id, EnvironmentInfo::ptr_t environment);
|
||||
|
|
@ -335,7 +336,7 @@ private:
|
|||
void onAgentPositionHasChanged(const LLVector3 &localpos);
|
||||
|
||||
void onSetEnvAssetLoaded(EnvSelection_t env, LLUUID asset_id, LLSettingsBase::ptr_t settings, LLSettingsDay::Seconds daylength, LLSettingsDay::Seconds dayoffset, S32 status);
|
||||
void onUpdateParcelAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, S32 parcel_id, S32 day_length, S32 day_offset);
|
||||
void onUpdateParcelAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, S32 parcel_id, S32 day_length, S32 day_offset, altitudes_vect_t altitudes);
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -236,10 +236,6 @@ void LLPanelEnvironmentInfo::refresh()
|
|||
|
||||
updateEditFloater(mCurrentEnvironment, canEdit());
|
||||
|
||||
#if 1
|
||||
// hiding the controls until Rider can get the simulator code to adjust altitudes done.
|
||||
getChild<LLUICtrl>(PNL_ENVIRONMENT_ALTITUDES)->setVisible(FALSE);
|
||||
#else
|
||||
LLEnvironment::altitude_list_t altitudes = LLEnvironment::instance().getRegionAltitudes();
|
||||
if (altitudes.size() > 0)
|
||||
{
|
||||
|
|
@ -252,7 +248,6 @@ void LLPanelEnvironmentInfo::refresh()
|
|||
}
|
||||
readjustAltLabels();
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -378,12 +373,7 @@ bool LLPanelEnvironmentInfo::setControlsEnabled(bool enabled)
|
|||
getChild<LLUICtrl>(PNL_BUTTONS)->setVisible(true);
|
||||
getChild<LLUICtrl>(PNL_DISABLED)->setVisible(false);
|
||||
|
||||
#if 1
|
||||
// hiding the controls until Rider can get the simulator code to adjust altitudes done.
|
||||
getChild<LLUICtrl>(PNL_ENVIRONMENT_ALTITUDES)->setVisible(FALSE);
|
||||
#else
|
||||
getChild<LLUICtrl>(PNL_ENVIRONMENT_ALTITUDES)->setVisible(isRegion());
|
||||
#endif
|
||||
getChild<LLUICtrl>(PNL_ENVIRONMENT_ALTITUDES)->setVisible(isRegion() && LLEnvironment::instance().isExtendedEnvironmentEnabled());
|
||||
|
||||
S32 rdo_selection = getChild<LLRadioGroup>(RDG_ENVIRONMENT_SELECT)->getSelectedIndex();
|
||||
|
||||
|
|
@ -636,9 +626,19 @@ void LLPanelEnvironmentInfo::doApply()
|
|||
if (getIsDirtyFlag(DIRTY_FLAG_MASK))
|
||||
{
|
||||
LLHandle<LLPanel> that_h = getHandle();
|
||||
LLEnvironment::altitudes_vect_t alts;
|
||||
|
||||
S32 rdo_selection = getChild<LLRadioGroup>(RDG_ENVIRONMENT_SELECT)->getSelectedIndex();
|
||||
|
||||
if (isRegion() && getIsDirtyFlag(DIRTY_FLAG_ALTITUDES))
|
||||
{
|
||||
altitudes_data_t::iterator it;
|
||||
for (auto alt : mAltitudes)
|
||||
{
|
||||
alts.push_back(alt.second.mAltitude);
|
||||
}
|
||||
}
|
||||
|
||||
if (rdo_selection == 0)
|
||||
{
|
||||
LLEnvironment::instance().resetParcel(parcel_id,
|
||||
|
|
@ -647,13 +647,13 @@ void LLPanelEnvironmentInfo::doApply()
|
|||
else if (rdo_selection == 1)
|
||||
{
|
||||
LLEnvironment::instance().updateParcel(parcel_id,
|
||||
mCurrentEnvironment->mDayCycle->getAssetId(), mCurrentEnvironment->mDayLength.value(), mCurrentEnvironment->mDayOffset.value(),
|
||||
mCurrentEnvironment->mDayCycle->getAssetId(), mCurrentEnvironment->mDayLength.value(), mCurrentEnvironment->mDayOffset.value(), alts,
|
||||
[that_h](S32 parcel_id, LLEnvironment::EnvironmentInfo::ptr_t envifo) { _onEnvironmentReceived(that_h, parcel_id, envifo); });
|
||||
}
|
||||
else
|
||||
{
|
||||
LLEnvironment::instance().updateParcel(parcel_id,
|
||||
mCurrentEnvironment->mDayCycle, mCurrentEnvironment->mDayLength.value(), mCurrentEnvironment->mDayOffset.value(),
|
||||
mCurrentEnvironment->mDayCycle, mCurrentEnvironment->mDayLength.value(), mCurrentEnvironment->mDayOffset.value(), alts,
|
||||
[that_h](S32 parcel_id, LLEnvironment::EnvironmentInfo::ptr_t envifo) { _onEnvironmentReceived(that_h, parcel_id, envifo); });
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
<floater
|
||||
positioning="cascading"
|
||||
save_rect="true"
|
||||
single_instance="true"
|
||||
reuse_instance="true"
|
||||
legacy_header_height="18"
|
||||
can_resize="true"
|
||||
height="465"
|
||||
|
|
|
|||
Loading…
Reference in New Issue