Put the timer block back in.

meow-7.2.2
Rider Linden 2017-10-19 11:24:16 -07:00
parent c6ae9408aa
commit de622ea576
3 changed files with 64 additions and 4 deletions

View File

@ -42,6 +42,10 @@
#include "llagent.h"
#include "pipeline.h"
#include "llsettingssky.h"
#include "llsettingswater.h"
//=========================================================================
namespace
{
@ -50,7 +54,10 @@ namespace
}
//=========================================================================
const std::string LLSettingsDayCycle::SETTING_DAYLENGTH("day_length");
const S32 LLSettingsDayCycle::MINIMUM_DAYLENGTH( 14400); // 4 hours
const S32 LLSettingsDayCycle::MAXIMUM_DAYLENGTH(604800); // 7 days
//=========================================================================
LLSettingsDayCycle::LLSettingsDayCycle(const LLSD &data) :
@ -104,6 +111,14 @@ LLSettingsDayCycle::ptr_t LLSettingsDayCycle::buildClone()
return dayp;
}
//=========================================================================
F32 LLSettingsDayCycle::secondsToOffset(S32 seconds)
{
S32 daylength = getDayLength();
return static_cast<F32>(seconds % daylength) / static_cast<F32>(daylength);
}
//=========================================================================
void LLSettingsDayCycle::updateSettings()
{
@ -111,3 +126,20 @@ void LLSettingsDayCycle::updateSettings()
}
//=========================================================================
void LLSettingsDayCycle::setDayLength(S32 seconds)
{
seconds = llclamp(seconds, MINIMUM_DAYLENGTH, MAXIMUM_DAYLENGTH);
setValue(SETTING_DAYLENGTH, seconds);
}
void LLSettingsDayCycle::setWaterAt(const LLSettingsSkyPtr_t &water, S32 seconds)
{
// F32 offset = secondsToOffset(seconds);
}
void setSkyAtOnTrack(const LLSettingsSkyPtr_t &water, S32 seconds, S32 track)
{
}

View File

@ -30,9 +30,19 @@
#include "llsettingsbase.h"
class LLSettingsWater;
class LLSettingsSky;
typedef boost::shared_ptr<LLSettingsWater> LLSettingsWaterPtr_t;
typedef boost::shared_ptr<LLSettingsSky> LLSettingsSkyPtr_t;
class LLSettingsDayCycle : public LLSettingsBase
{
public:
static const std::string SETTING_DAYLENGTH;
static const S32 MINIMUM_DAYLENGTH;
static const S32 MAXIMUM_DAYLENGTH;
typedef boost::shared_ptr<LLSettingsDayCycle> ptr_t;
@ -53,14 +63,32 @@ public:
static LLSD defaults();
//---------------------------------------------------------------------
S32 getDayLength() const
{
return mSettings[SETTING_DAYLENGTH].asInteger();
}
void setDayLength(S32 seconds);
void setWaterAt(const LLSettingsSkyPtr_t &water, S32 seconds);
void setSkyAtOnTrack(const LLSettingsSkyPtr_t &water, S32 seconds, S32 track);
//---------------------------------------------------------------------
protected:
LLSettingsDayCycle();
virtual void updateSettings();
typedef std::map<F32, LLSettingsBase::ptr_t> CycleTrack_t;
typedef std::vector<CycleTrack_t> CycleList_t;
typedef std::pair<CycleTrack_t::iterator, CycleTrack_t::iterator> TrackBound_t;
CycleList_t mDayTracks;
F32 secondsToOffset(S32 seconds);
private:
};
#endif

View File

@ -43,11 +43,11 @@
#include "pipeline.h"
//=========================================================================
// namespace
// {
namespace
{
// LLTrace::BlockTimerStatHandle FTM_BLEND_WATERVALUES("Blending Water Environment");
// LLTrace::BlockTimerStatHandle FTM_UPDATE_WATERVALUES("Update Water Environment");
// }
LLTrace::BlockTimerStatHandle FTM_UPDATE_WATERVALUES("Update Water Environment");
}
//=========================================================================
const std::string LLSettingsWater::SETTING_BLUR_MULTIPILER("blur_multiplier");