summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2018-06-02 23:28:48 +0100
committerGraham Linden <graham@lindenlab.com>2018-06-02 23:28:48 +0100
commit7136956b90614bbd236be0e30231781c04346220 (patch)
tree01c0a7477370652fdbdeebb5a3ad5d3a422e3929 /indra/newview
parent7d6743f42d09bfcc39c0930aa342638d8273b722 (diff)
Use more typedefs to simplify sync between viewer and sim env settings code.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llenvironment.cpp45
-rw-r--r--indra/newview/llenvironment.h7
-rw-r--r--indra/newview/llfloatereditextdaycycle.cpp17
-rw-r--r--indra/newview/llpaneleditwater.cpp2
-rw-r--r--indra/newview/llsettingsvo.cpp13
5 files changed, 39 insertions, 45 deletions
diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp
index 3b0bc4cd55..3f6241fa0b 100644
--- a/indra/newview/llenvironment.cpp
+++ b/indra/newview/llenvironment.cpp
@@ -66,7 +66,7 @@ namespace
LLTrace::BlockTimerStatHandle FTM_SHADER_PARAM_UPDATE("Update Shader Parameters");
//---------------------------------------------------------------------
- inline F32 get_wrapping_distance(F32 begin, F32 end)
+ inline LLSettingsBase::TrackPosition get_wrapping_distance(LLSettingsBase::TrackPosition begin, LLSettingsBase::TrackPosition end)
{
if (begin < end)
{
@@ -74,13 +74,13 @@ namespace
}
else if (begin > end)
{
- return 1.0 - (begin - end);
+ return LLSettingsBase::TrackPosition(1.0) - (begin - end);
}
return 0;
}
- LLSettingsDay::CycleTrack_t::iterator get_wrapping_atafter(LLSettingsDay::CycleTrack_t &collection, F32 key)
+ LLSettingsDay::CycleTrack_t::iterator get_wrapping_atafter(LLSettingsDay::CycleTrack_t &collection, const LLSettingsBase::TrackPosition& key)
{
if (collection.empty())
return collection.end();
@@ -95,7 +95,7 @@ namespace
return it;
}
- LLSettingsDay::CycleTrack_t::iterator get_wrapping_atbefore(LLSettingsDay::CycleTrack_t &collection, F32 key)
+ LLSettingsDay::CycleTrack_t::iterator get_wrapping_atbefore(LLSettingsDay::CycleTrack_t &collection, const LLSettingsBase::TrackPosition& key)
{
if (collection.empty())
return collection.end();
@@ -116,7 +116,7 @@ namespace
return it;
}
- LLSettingsDay::TrackBound_t get_bounding_entries(LLSettingsDay::CycleTrack_t &track, F32 keyframe)
+ LLSettingsDay::TrackBound_t get_bounding_entries(LLSettingsDay::CycleTrack_t &track, const LLSettingsBase::TrackPosition& keyframe)
{
return LLSettingsDay::TrackBound_t(get_wrapping_atbefore(track, keyframe), get_wrapping_atafter(track, keyframe));
}
@@ -144,7 +144,7 @@ namespace
}
- void switchTrack(S32 trackno, F64) override
+ void switchTrack(S32 trackno, const LLSettingsBase::BlendFactor&) override
{
S32 use_trackno = selectTrackNumber(trackno);
@@ -159,17 +159,16 @@ namespace
LLSettingsBase::Seconds now = getAdjustedNow() + LLEnvironment::TRANSITION_ALTITUDE;
LLSettingsDay::TrackBound_t bounds = getBoundingEntries(now);
- LLSettingsBase::ptr_t pendsetting = (*bounds.first).second->buildDerivedClone();
- F64 targetpos = convertTimeToPosition(now) - (*bounds.first).first;
- F64 targetspan = get_wrapping_distance((*bounds.first).first, (*bounds.second).first);
+ LLSettingsBase::ptr_t pendsetting = (*bounds.first).second->buildDerivedClone();
+ LLSettingsBase::TrackPosition targetpos = convertTimeToPosition(now) - (*bounds.first).first;
+ LLSettingsBase::TrackPosition targetspan = get_wrapping_distance((*bounds.first).first, (*bounds.second).first);
- F64 blendf = calculateBlend(targetpos, targetspan);
+ LLSettingsBase::BlendFactor blendf = calculateBlend(targetpos, targetspan);
pendsetting->blend((*bounds.second).second, blendf);
- reset(mTrackTransitionStart, pendsetting, LLEnvironment::TRANSITION_ALTITUDE.value());
+ reset(mTrackTransitionStart, pendsetting, LLEnvironment::TRANSITION_ALTITUDE);
}
-
protected:
S32 selectTrackNumber(S32 trackno)
{
@@ -210,9 +209,9 @@ namespace
return mCycleLength * get_wrapping_distance((*bounds.first).first, (*bounds.second).first);
}
- F64 convertTimeToPosition(LLSettingsBase::Seconds time)
+ LLSettingsBase::TrackPosition convertTimeToPosition(const LLSettingsBase::Seconds& time)
{
- F64 position = static_cast<F64>(fmod(time.value(), mCycleLength.value())) / static_cast<F64>(mCycleLength.value());
+ F64 position = fmod((F64)time, (F64)mCycleLength) / (F64)mCycleLength;
return llclamp(position, 0.0, 1.0);
}
@@ -223,11 +222,11 @@ namespace
LLSettingsBase::Seconds mCycleOffset;
LLSettingsBase::ptr_t mTrackTransitionStart;
- void onFinishedSpan()
+ void onFinishedSpan()
{
LLSettingsDay::TrackBound_t next = getBoundingEntries(getAdjustedNow());
LLSettingsBase::Seconds nextspan = getSpanTime(next);
- reset((*next.first).second, (*next.second).second, nextspan.value());
+ reset((*next.first).second, (*next.second).second, nextspan);
}
};
@@ -241,10 +240,6 @@ const F32Seconds LLEnvironment::TRANSITION_SLOW(10.0f);
const F32Seconds LLEnvironment::TRANSITION_ALTITUDE(5.0f);
//*TODO* Change these when available on Agni (these are Damballah asset IDs).
-const LLUUID LLEnvironment::KNOWN_SKY_DEFAULT(LLSettingsSky::DEFAULT_ASSET_ID);
-const LLUUID LLEnvironment::KNOWN_WATER_DEFAULT(LLSettingsWater::DEFAULT_ASSET_ID);
-const LLUUID LLEnvironment::KNOWN_DAY_DEFAULT(LLSettingsDay::DEFAULT_ASSET_ID);
-
const LLUUID LLEnvironment::KNOWN_SKY_SUNRISE("645d7475-19d6-d05c-6eb2-29eeacf76e06");
const LLUUID LLEnvironment::KNOWN_SKY_MIDDAY("68f5a7ec-2785-d9d8-be7c-cca93976759a");
const LLUUID LLEnvironment::KNOWN_SKY_SUNSET("06420773-757b-4b7c-a1f9-85fceb2f7bd4");
@@ -1741,7 +1736,7 @@ void LLEnvironment::DayInstance::setSkyTrack(S32 trackno)
mSkyTrack = trackno;
if (mBlenderSky)
{
- mBlenderSky->switchTrack(trackno);
+ mBlenderSky->switchTrack(trackno, 0.0);
}
}
@@ -1803,7 +1798,7 @@ void LLEnvironment::DayInstance::animate()
{
mSky = LLSettingsVOSky::buildDefaultSky();
mBlenderSky = std::make_shared<LLTrackBlenderLoopingTime>(mSky, mDayCycle, 1, mDayLength, mDayOffset);
- mBlenderSky->switchTrack(mSkyTrack);
+ mBlenderSky->switchTrack(mSkyTrack, 0.0);
}
}
@@ -1869,7 +1864,7 @@ LLTrackBlenderLoopingManual::LLTrackBlenderLoopingManual(const LLSettingsBase::p
}
}
-F64 LLTrackBlenderLoopingManual::setPosition(F64 position)
+LLSettingsBase::BlendFactor LLTrackBlenderLoopingManual::setPosition(const LLSettingsBase::TrackPosition& position)
{
mPosition = llclamp(position, 0.0, 1.0);
@@ -1891,11 +1886,11 @@ F64 LLTrackBlenderLoopingManual::setPosition(F64 position)
return LLSettingsBlender::setPosition(blendf);
}
-void LLTrackBlenderLoopingManual::switchTrack(S32 trackno, F64 position)
+void LLTrackBlenderLoopingManual::switchTrack(S32 trackno, const LLSettingsBase::TrackPosition& position)
{
mTrackNo = trackno;
- F64 useposition = (position < 0.0) ? mPosition : position;
+ LLSettingsBase::TrackPosition useposition = (position < 0.0) ? mPosition : position;
setPosition(useposition);
}
diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h
index 56be88f371..1be846b710 100644
--- a/indra/newview/llenvironment.h
+++ b/indra/newview/llenvironment.h
@@ -56,9 +56,6 @@ public:
static const F32Seconds TRANSITION_SLOW;
static const F32Seconds TRANSITION_ALTITUDE;
- static const LLUUID KNOWN_SKY_DEFAULT;
- static const LLUUID KNOWN_WATER_DEFAULT;
- static const LLUUID KNOWN_DAY_DEFAULT;
static const LLUUID KNOWN_SKY_SUNRISE;
static const LLUUID KNOWN_SKY_MIDDAY;
static const LLUUID KNOWN_SKY_SUNSET;
@@ -413,8 +410,8 @@ class LLTrackBlenderLoopingManual : public LLSettingsBlender
public:
LLTrackBlenderLoopingManual(const LLSettingsBase::ptr_t &target, const LLSettingsDay::ptr_t &day, S32 trackno);
- F64 setPosition(F64 position) override;
- virtual void switchTrack(S32 trackno, F64 position) override;
+ F64 setPosition(const LLSettingsBase::TrackPosition& position) override;
+ virtual void switchTrack(S32 trackno, const LLSettingsBase::TrackPosition& position) override;
S32 getTrack() const { return mTrackNo; }
typedef std::shared_ptr<LLTrackBlenderLoopingManual> ptr_t;
diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp
index cac9154c98..788f58d480 100644
--- a/indra/newview/llfloatereditextdaycycle.cpp
+++ b/indra/newview/llfloatereditextdaycycle.cpp
@@ -311,9 +311,9 @@ void LLFloaterEditExtDayCycle::onAddTrack()
{
// todo: 2.5% safety zone
std::string sldr_key = mFramesSlider->getCurSlider();
- F32 frame = mTimeSlider->getCurSliderValue();
+ LLSettingsBase::Seconds frame(mTimeSlider->getCurSliderValue());
LLSettingsBase::ptr_t setting;
- if (mEditDay->getSettingsAtKeyframe(frame, mCurrentTrack).get() != NULL)
+ if (mEditDay->getSettingsAtKeyframe(frame, mCurrentTrack) != nullptr)
{
return;
}
@@ -322,13 +322,15 @@ void LLFloaterEditExtDayCycle::onAddTrack()
{
// scratch water should always have the current water settings.
setting = mScratchWater->buildClone();
- mEditDay->setWaterAtKeyframe(std::dynamic_pointer_cast<LLSettingsWater>(setting), frame);
+ LLSettingsWater::ptr_t water((LLSettingsWater*)setting.get());
+ mEditDay->setWaterAtKeyframe(water, frame);
}
else
{
// scratch sky should always have the current sky settings.
setting = mScratchSky->buildClone();
- mEditDay->setSkyAtKeyframe(std::dynamic_pointer_cast<LLSettingsSky>(setting), frame, mCurrentTrack);
+ LLSettingsSky::ptr_t sky((LLSettingsSky*)setting.get());
+ mEditDay->setSkyAtKeyframe(sky, frame, mCurrentTrack);
}
addSliderFrame(frame, setting);
@@ -657,7 +659,7 @@ void LLFloaterEditExtDayCycle::setSkyTabsEnabled(BOOL enable)
void LLFloaterEditExtDayCycle::updateButtons()
{
- F32 frame = mTimeSlider->getCurSliderValue();
+ LLSettingsBase::Seconds frame(mTimeSlider->getCurSliderValue());
LLSettingsBase::ptr_t settings = mEditDay->getSettingsAtKeyframe(frame, mCurrentTrack);
bool can_add = settings.get() == NULL;
mAddFrameButton->setEnabled(can_add);
@@ -744,7 +746,8 @@ void LLFloaterEditExtDayCycle::removeCurrentSliderFrame()
{
LL_DEBUGS() << "Removing frame from " << iter->second.mFrame << LL_ENDL;
mSliderKeyMap.erase(iter);
- mEditDay->removeTrackKeyframe(mCurrentTrack, iter->second.mFrame);
+ LLSettingsBase::Seconds seconds(iter->second.mFrame);
+ mEditDay->removeTrackKeyframe(mCurrentTrack, seconds);
}
mLastFrameSlider = mFramesSlider->getCurSlider();
@@ -852,7 +855,7 @@ void LLFloaterEditExtDayCycle::syncronizeTabs()
{
// This should probably get moved into "updateTabs"
- F32 frame = mTimeSlider->getCurSliderValue();
+ LLSettingsBase::Seconds frame(mTimeSlider->getCurSliderValue());
bool canedit(false);
LLSettingsWater::ptr_t psettingWater;
diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp
index 940b171dfe..b0a300abe3 100644
--- a/indra/newview/llpaneleditwater.cpp
+++ b/indra/newview/llpaneleditwater.cpp
@@ -87,7 +87,7 @@ BOOL LLPanelSettingsWaterMainTab::postBuild()
// getChild<LLUICtrl>(FIELD_WATER_FOG_DENSITY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogDensityChanged(getChild<LLUICtrl>(FIELD_WATER_FOG_DENSITY)->getValue().asReal()); });
getChild<LLUICtrl>(FIELD_WATER_UNDERWATER_MOD)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogUnderWaterChanged(); });
- mTxtNormalMap->setDefaultImageAssetID(LLSettingsWater::DEFAULT_WATER_NORMAL_ID);
+ mTxtNormalMap->setDefaultImageAssetID(LLSettingsWater::GetDefaultWaterNormalAssetId());
mTxtNormalMap->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalMapChanged(); });
getChild<LLUICtrl>(FIELD_WATER_WAVE1_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onLargeWaveChanged(); });
diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp
index 0e3bc87719..5991c42c97 100644
--- a/indra/newview/llsettingsvo.cpp
+++ b/indra/newview/llsettingsvo.cpp
@@ -449,14 +449,13 @@ void LLSettingsVOSky::convertAtmosphericsToLegacy(LLSD& legacy, LLSD& settings)
if (settings.has(SETTING_LEGACY_HAZE))
{
LLSD legacyhaze = settings[SETTING_LEGACY_HAZE];
-
- legacy[SETTING_AMBIENT] = ensureArray4(legacyhaze[SETTING_AMBIENT], 1.0f);
- legacy[SETTING_BLUE_DENSITY] = ensureArray4(legacyhaze[SETTING_BLUE_DENSITY], 1.0);
- legacy[SETTING_BLUE_HORIZON] = ensureArray4(legacyhaze[SETTING_BLUE_HORIZON], 1.0);
- legacy[SETTING_DENSITY_MULTIPLIER] = LLSDArray(legacyhaze[SETTING_DENSITY_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f);
+ legacy[SETTING_AMBIENT] = ensure_array_4(legacyhaze[SETTING_AMBIENT], 1.0f);
+ legacy[SETTING_BLUE_DENSITY] = ensure_array_4(legacyhaze[SETTING_BLUE_DENSITY], 1.0);
+ legacy[SETTING_BLUE_HORIZON] = ensure_array_4(legacyhaze[SETTING_BLUE_HORIZON], 1.0);
+ legacy[SETTING_DENSITY_MULTIPLIER] = LLSDArray(legacyhaze[SETTING_DENSITY_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f);
legacy[SETTING_DISTANCE_MULTIPLIER] = LLSDArray(legacyhaze[SETTING_DISTANCE_MULTIPLIER].asReal())(0.0f)(0.0f)(1.0f);
- legacy[SETTING_HAZE_DENSITY] = LLSDArray(legacyhaze[SETTING_HAZE_DENSITY])(0.0f)(0.0f)(1.0f);
- legacy[SETTING_HAZE_HORIZON] = LLSDArray(legacyhaze[SETTING_HAZE_HORIZON])(0.0f)(0.0f)(1.0f);
+ legacy[SETTING_HAZE_DENSITY] = LLSDArray(legacyhaze[SETTING_HAZE_DENSITY])(0.0f)(0.0f)(1.0f);
+ legacy[SETTING_HAZE_HORIZON] = LLSDArray(legacyhaze[SETTING_HAZE_HORIZON])(0.0f)(0.0f)(1.0f);
}
}