diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/newview/llsettingsdaycycle.cpp | 113 | ||||
-rw-r--r-- | indra/newview/llsettingsdaycycle.h | 66 |
3 files changed, 181 insertions, 0 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index b46e0971e2..8cb029a2be 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -536,6 +536,7 @@ set(viewer_SOURCE_FILES llsechandler_basic.cpp llselectmgr.cpp llsettingsbase.cpp + llsettingsdaycycle.cpp llsettingssky.cpp llsettingswater.cpp llshareavatarhandler.cpp @@ -1153,6 +1154,7 @@ set(viewer_HEADER_FILES llsechandler_basic.h llselectmgr.h llsettingsbase.h + llsettingsdaycycle.h llsettingssky.h llsettingswater.h llsidepanelappearance.h diff --git a/indra/newview/llsettingsdaycycle.cpp b/indra/newview/llsettingsdaycycle.cpp new file mode 100644 index 0000000000..859fc5822f --- /dev/null +++ b/indra/newview/llsettingsdaycycle.cpp @@ -0,0 +1,113 @@ +/** +* @file llsettingsdaycycle.cpp +* @author optional +* @brief A base class for asset based settings groups. +* +* $LicenseInfo:2011&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2017, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +* $/LicenseInfo$ +*/ + +#include "llviewerprecompiledheaders.h" +#include "llviewercontrol.h" +#include "llsettingsdaycycle.h" +#include <algorithm> +#include <boost/make_shared.hpp> +#include "lltrace.h" +#include "llfasttimer.h" +#include "v3colorutil.h" + +#include "llglslshader.h" +#include "llviewershadermgr.h" + +#include "llenvironment.h" + +#include "llagent.h" +#include "pipeline.h" + +//========================================================================= +namespace +{ + LLTrace::BlockTimerStatHandle FTM_BLEND_WATERVALUES("Blending Water Environment"); + LLTrace::BlockTimerStatHandle FTM_UPDATE_WATERVALUES("Update Water Environment"); +} + +//========================================================================= + + +//========================================================================= +LLSettingsDayCycle::LLSettingsDayCycle(const LLSD &data) : + LLSettingsBase(data) +{ +} + +LLSettingsDayCycle::LLSettingsDayCycle() : + LLSettingsBase() +{ +} + +//========================================================================= +LLSD LLSettingsDayCycle::defaults() +{ + LLSD dfltsetting; + + + return dfltsetting; +} + + +LLSettingsDayCycle::ptr_t LLSettingsDayCycle::buildFromLegacyPreset(const std::string &name, const LLSD &oldsettings) +{ + LLSD newsettings(defaults()); + + //newsettings[SETTING_NAME] = name; + + + + LLSettingsDayCycle::ptr_t dayp = boost::make_shared<LLSettingsDayCycle>(newsettings); + + return dayp; +} + +LLSettingsDayCycle::ptr_t LLSettingsDayCycle::buildDefaultDayCycle() +{ + LLSD settings = LLSettingsDayCycle::defaults(); + + LLSettingsDayCycle::ptr_t dayp = boost::make_shared<LLSettingsDayCycle>(settings); + + return dayp; +} + +LLSettingsDayCycle::ptr_t LLSettingsDayCycle::buildClone() +{ + LLSD settings = cloneSettings(); + + LLSettingsDayCycle::ptr_t dayp = boost::make_shared<LLSettingsDayCycle>(settings); + + return dayp; +} + +//========================================================================= +void LLSettingsDayCycle::updateSettings() +{ + +} + +//========================================================================= diff --git a/indra/newview/llsettingsdaycycle.h b/indra/newview/llsettingsdaycycle.h new file mode 100644 index 0000000000..c562844bca --- /dev/null +++ b/indra/newview/llsettingsdaycycle.h @@ -0,0 +1,66 @@ +/** +* @file llsettingsdaycycle.h +* @author optional +* @brief A base class for asset based settings groups. +* +* $LicenseInfo:2011&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2017, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +* $/LicenseInfo$ +*/ + +#ifndef LL_SETTINGS_DAYCYCLE_H +#define LL_SETTINGS_DAYCYCLE_H + +#include "llsettingsbase.h" + +class LLSettingsDayCycle : public LLSettingsBase +{ +public: + + typedef boost::shared_ptr<LLSettingsDayCycle> ptr_t; + + //--------------------------------------------------------------------- + LLSettingsDayCycle(const LLSD &data); + virtual ~LLSettingsDayCycle() { }; + + static ptr_t buildFromLegacyPreset(const std::string &name, const LLSD &oldsettings); + static ptr_t buildDefaultDayCycle(); + ptr_t buildClone(); + + //--------------------------------------------------------------------- + virtual std::string getSettingType() const { return std::string("daycycle"); } + + // Settings status + ptr_t blend(const ptr_t &other, F32 mix) const; + + static LLSD defaults(); + + //--------------------------------------------------------------------- + +protected: + LLSettingsDayCycle(); + + virtual void updateSettings(); + + +private: +}; + +#endif |