From cf0e4f79f52b4fb24769aa6e355ec8c95c6d2afc Mon Sep 17 00:00:00 2001 From: Rider Linden Date: Fri, 27 Apr 2018 17:12:13 -0700 Subject: Adding fixed water edit dialog. --- indra/newview/llpaneleditwater.cpp | 212 +++++++++++++++++++++++++++++++++++++ 1 file changed, 212 insertions(+) create mode 100644 indra/newview/llpaneleditwater.cpp (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp new file mode 100644 index 0000000000..08ba198894 --- /dev/null +++ b/indra/newview/llpaneleditwater.cpp @@ -0,0 +1,212 @@ +/** +* @file llpaneleditwater.cpp +* @brief Floaters to create and edit fixed settings for sky and water. +* +* $LicenseInfo:firstyear=2011&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2011, 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 "llpaneleditwater.h" + +#include "llslider.h" +#include "lltexturectrl.h" +#include "llcolorswatch.h" + +namespace +{ + const std::string FIELD_WATER_FOG_COLOR("water_fog_color"); + const std::string FIELD_WATER_FOG_DENSITY("water_fog_density"); + const std::string FIELD_WATER_UNDERWATER_MOD("water_underwater_mod"); + const std::string FIELD_WATER_NORMAL_MAP("water_normal_map"); + + const std::string FIELD_WATER_WAVE1_X("water_wave1_x"); + const std::string FIELD_WATER_WAVE1_Y("water_wave1_y"); + + const std::string FIELD_WATER_WAVE2_X("water_wave2_x"); + const std::string FIELD_WATER_WAVE2_Y("water_wave2_y"); + + const std::string FIELD_WATER_NORMAL_SCALE_X("water_normal_scale_x"); + const std::string FIELD_WATER_NORMAL_SCALE_Y("water_normal_scale_y"); + const std::string FIELD_WATER_NORMAL_SCALE_Z("water_normal_scale_z"); + + const std::string FIELD_WATER_FRESNEL_SCALE("water_fresnel_scale"); + const std::string FIELD_WATER_FRESNEL_OFFSET("water_fresnel_offset"); + + const std::string FIELD_WATER_SCALE_ABOVE("water_scale_above"); + const std::string FIELD_WATER_SCALE_BELOW("water_scale_below"); + const std::string FIELD_WATER_BLUR_MULTIP("water_blur_multip"); +} + +//========================================================================== +LLPanelSettingsWater::LLPanelSettingsWater() : + LLSettingsEditPanel(), + mWaterSettings() +{ + +} + + +//========================================================================== +LLPanelSettingsWaterMainTab::LLPanelSettingsWaterMainTab(): + LLPanelSettingsWater(), + mClrFogColor(nullptr), + mTxtNormalMap(nullptr) +{ +} + + +BOOL LLPanelSettingsWaterMainTab::postBuild() +{ + mClrFogColor = getChild(FIELD_WATER_FOG_COLOR); + mTxtNormalMap = getChild(FIELD_WATER_NORMAL_MAP); + + + mClrFogColor->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogColorChanged(); }); + getChild(FIELD_WATER_FOG_DENSITY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogDensityChanged(); }); +// getChild(FIELD_WATER_FOG_DENSITY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogDensityChanged(getChild(FIELD_WATER_FOG_DENSITY)->getValue().asReal()); }); + getChild(FIELD_WATER_UNDERWATER_MOD)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogUnderWaterChanged(); }); + mTxtNormalMap->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalMapChanged(); }); + + getChild(FIELD_WATER_WAVE1_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onLargeWaveChanged(); }); + getChild(FIELD_WATER_WAVE1_Y)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onLargeWaveChanged(); }); + + getChild(FIELD_WATER_WAVE2_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSmallWaveChanged(); }); + getChild(FIELD_WATER_WAVE2_Y)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSmallWaveChanged(); }); + + getChild(FIELD_WATER_NORMAL_SCALE_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalScaleChanged(); }); + getChild(FIELD_WATER_NORMAL_SCALE_Y)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalScaleChanged(); }); + getChild(FIELD_WATER_NORMAL_SCALE_Z)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalScaleChanged(); }); + + getChild(FIELD_WATER_FRESNEL_SCALE)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFresnelScaleChanged(); }); + getChild(FIELD_WATER_FRESNEL_OFFSET)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFresnelOffsetChanged(); }); + getChild(FIELD_WATER_SCALE_ABOVE)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onScaleAboveChanged(); }); + getChild(FIELD_WATER_SCALE_BELOW)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onScaleBelowChanged(); }); + getChild(FIELD_WATER_BLUR_MULTIP)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onBlurMultipChanged(); }); + + refresh(); + + return TRUE; +} + +//========================================================================== +void LLPanelSettingsWaterMainTab::refresh() +{ + if (!mWaterSettings) + { + setAllChildrenEnabled(FALSE); + setEnabled(FALSE); + return; + } + + setEnabled(TRUE); + setAllChildrenEnabled(TRUE); + mClrFogColor->set(mWaterSettings->getFogColor()); + getChild(FIELD_WATER_FOG_DENSITY)->setValue(mWaterSettings->getFogDensity()); + getChild(FIELD_WATER_UNDERWATER_MOD)->setValue(mWaterSettings->getFogMod()); + mTxtNormalMap->setValue(mWaterSettings->getNormalMapID()); + LLVector2 vect2 = mWaterSettings->getWave1Dir(); + getChild(FIELD_WATER_WAVE1_X)->setValue(vect2[0]); + getChild(FIELD_WATER_WAVE1_Y)->setValue(vect2[1]); + vect2 = mWaterSettings->getWave2Dir(); + getChild(FIELD_WATER_WAVE2_X)->setValue(vect2[0]); + getChild(FIELD_WATER_WAVE2_Y)->setValue(vect2[1]); + LLVector3 vect3 = mWaterSettings->getNormalScale(); + getChild(FIELD_WATER_NORMAL_SCALE_X)->setValue(vect3[0]); + getChild(FIELD_WATER_NORMAL_SCALE_Y)->setValue(vect3[1]); + getChild(FIELD_WATER_NORMAL_SCALE_Z)->setValue(vect3[2]); + getChild(FIELD_WATER_FRESNEL_SCALE)->setValue(mWaterSettings->getFresnelOffset()); + getChild(FIELD_WATER_FRESNEL_OFFSET)->setValue(mWaterSettings->getFresnelOffset()); + getChild(FIELD_WATER_SCALE_ABOVE)->setValue(mWaterSettings->getScaleAbove()); + getChild(FIELD_WATER_SCALE_BELOW)->setValue(mWaterSettings->getScaleBelow()); + getChild(FIELD_WATER_BLUR_MULTIP)->setValue(mWaterSettings->getBlurMultiplier()); +} + +//========================================================================== + +void LLPanelSettingsWaterMainTab::onFogColorChanged() +{ + mWaterSettings->setFogColor(LLColor3(mClrFogColor->get())); +} + +void LLPanelSettingsWaterMainTab::onFogDensityChanged() +{ + mWaterSettings->setFogDensity(getChild(FIELD_WATER_FOG_DENSITY)->getValue().asReal()); +} + +void LLPanelSettingsWaterMainTab::onFogUnderWaterChanged() +{ + mWaterSettings->setFogMod(getChild(FIELD_WATER_UNDERWATER_MOD)->getValue().asReal()); +} + +void LLPanelSettingsWaterMainTab::onNormalMapChanged() +{ + mWaterSettings->setNormalMapID(mTxtNormalMap->getImageAssetID()); +} + + +void LLPanelSettingsWaterMainTab::onLargeWaveChanged() +{ + LLVector2 vect(getChild(FIELD_WATER_WAVE1_X)->getValue().asReal(), getChild(FIELD_WATER_WAVE1_Y)->getValue().asReal()); + LL_WARNS("LAPRAS") << "Changing Large Wave from " << mWaterSettings->getWave1Dir() << " -> " << vect << LL_ENDL; + mWaterSettings->setWave1Dir(vect); +} + +void LLPanelSettingsWaterMainTab::onSmallWaveChanged() +{ + LLVector2 vect(getChild(FIELD_WATER_WAVE2_X)->getValue().asReal(), getChild(FIELD_WATER_WAVE2_Y)->getValue().asReal()); + LL_WARNS("LAPRAS") << "Changing Small Wave from " << mWaterSettings->getWave2Dir() << " -> " << vect << LL_ENDL; + mWaterSettings->setWave2Dir(vect); +} + + +void LLPanelSettingsWaterMainTab::onNormalScaleChanged() +{ + LLVector3 vect(getChild(FIELD_WATER_NORMAL_SCALE_X)->getValue().asReal(), getChild(FIELD_WATER_NORMAL_SCALE_Y)->getValue().asReal(), getChild(FIELD_WATER_NORMAL_SCALE_Z)->getValue().asReal()); + LL_WARNS("LAPRAS") << "Changing normal scale from " << mWaterSettings->getNormalScale() << " -> " << vect << LL_ENDL; + mWaterSettings->setNormalScale(vect); +} + +void LLPanelSettingsWaterMainTab::onFresnelScaleChanged() +{ + mWaterSettings->setFresnelScale(getChild(FIELD_WATER_FRESNEL_SCALE)->getValue().asReal()); +} + +void LLPanelSettingsWaterMainTab::onFresnelOffsetChanged() +{ + mWaterSettings->setFresnelOffset(getChild(FIELD_WATER_FRESNEL_OFFSET)->getValue().asReal()); +} + +void LLPanelSettingsWaterMainTab::onScaleAboveChanged() +{ + mWaterSettings->setScaleAbove(getChild(FIELD_WATER_SCALE_ABOVE)->getValue().asReal()); +} + +void LLPanelSettingsWaterMainTab::onScaleBelowChanged() +{ + mWaterSettings->setScaleBelow(getChild(FIELD_WATER_SCALE_BELOW)->getValue().asReal()); +} + +void LLPanelSettingsWaterMainTab::onBlurMultipChanged() +{ + mWaterSettings->setBlurMultiplier(getChild(FIELD_WATER_BLUR_MULTIP)->getValue().asReal()); +} -- cgit v1.2.3 From 438609699b838924becee89fa9d8ec83552f3236 Mon Sep 17 00:00:00 2001 From: Rider Linden Date: Mon, 30 Apr 2018 16:37:08 -0700 Subject: New water settings dialog. --- indra/newview/llpaneleditwater.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index 08ba198894..3cb1dcfda4 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -80,11 +80,12 @@ BOOL LLPanelSettingsWaterMainTab::postBuild() mClrFogColor = getChild(FIELD_WATER_FOG_COLOR); mTxtNormalMap = getChild(FIELD_WATER_NORMAL_MAP); - mClrFogColor->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogColorChanged(); }); getChild(FIELD_WATER_FOG_DENSITY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogDensityChanged(); }); // getChild(FIELD_WATER_FOG_DENSITY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogDensityChanged(getChild(FIELD_WATER_FOG_DENSITY)->getValue().asReal()); }); getChild(FIELD_WATER_UNDERWATER_MOD)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogUnderWaterChanged(); }); + + mTxtNormalMap->setDefaultImageAssetID(LLSettingsWater::DEFAULT_WATER_NORMAL_ID); mTxtNormalMap->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalMapChanged(); }); getChild(FIELD_WATER_WAVE1_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onLargeWaveChanged(); }); -- cgit v1.2.3 From 28d0fa0c69cc5d45844f9f542d99d04bbded16ad Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Wed, 16 May 2018 20:25:42 +0300 Subject: MAINT-8344 Day cycle editor (part 2) --- indra/newview/llpaneleditwater.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index 3cb1dcfda4..5904b5a542 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -57,6 +57,8 @@ namespace const std::string FIELD_WATER_BLUR_MULTIP("water_blur_multip"); } +static LLPanelInjector t_settings_water("panel_settings_water"); + //========================================================================== LLPanelSettingsWater::LLPanelSettingsWater() : LLSettingsEditPanel(), -- cgit v1.2.3 From 7136956b90614bbd236be0e30231781c04346220 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Sat, 2 Jun 2018 23:28:48 +0100 Subject: Use more typedefs to simplify sync between viewer and sim env settings code. --- indra/newview/llpaneleditwater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llpaneleditwater.cpp') 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(FIELD_WATER_FOG_DENSITY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogDensityChanged(getChild(FIELD_WATER_FOG_DENSITY)->getValue().asReal()); }); getChild(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(FIELD_WATER_WAVE1_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onLargeWaveChanged(); }); -- cgit v1.2.3 From 8b3957b310afa23e543c3eb33aca9131dba52b31 Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Thu, 7 Jun 2018 20:22:20 +0300 Subject: MAINT-8331 EEP UI control: XYVector --- indra/newview/llpaneleditwater.cpp | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index b0a300abe3..21b2868e7b 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -31,6 +31,7 @@ #include "llslider.h" #include "lltexturectrl.h" #include "llcolorswatch.h" +#include "llxyvector.h" namespace { @@ -39,11 +40,8 @@ namespace const std::string FIELD_WATER_UNDERWATER_MOD("water_underwater_mod"); const std::string FIELD_WATER_NORMAL_MAP("water_normal_map"); - const std::string FIELD_WATER_WAVE1_X("water_wave1_x"); - const std::string FIELD_WATER_WAVE1_Y("water_wave1_y"); - - const std::string FIELD_WATER_WAVE2_X("water_wave2_x"); - const std::string FIELD_WATER_WAVE2_Y("water_wave2_y"); + const std::string FIELD_WATER_WAVE1_XY("water_wave1_xy"); + const std::string FIELD_WATER_WAVE2_XY("water_wave2_xy"); const std::string FIELD_WATER_NORMAL_SCALE_X("water_normal_scale_x"); const std::string FIELD_WATER_NORMAL_SCALE_Y("water_normal_scale_y"); @@ -82,6 +80,8 @@ BOOL LLPanelSettingsWaterMainTab::postBuild() mClrFogColor = getChild(FIELD_WATER_FOG_COLOR); mTxtNormalMap = getChild(FIELD_WATER_NORMAL_MAP); + getChild(FIELD_WATER_WAVE1_XY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onLargeWaveChanged(); }); + mClrFogColor->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogColorChanged(); }); getChild(FIELD_WATER_FOG_DENSITY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogDensityChanged(); }); // getChild(FIELD_WATER_FOG_DENSITY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogDensityChanged(getChild(FIELD_WATER_FOG_DENSITY)->getValue().asReal()); }); @@ -90,11 +90,7 @@ BOOL LLPanelSettingsWaterMainTab::postBuild() mTxtNormalMap->setDefaultImageAssetID(LLSettingsWater::GetDefaultWaterNormalAssetId()); mTxtNormalMap->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalMapChanged(); }); - getChild(FIELD_WATER_WAVE1_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onLargeWaveChanged(); }); - getChild(FIELD_WATER_WAVE1_Y)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onLargeWaveChanged(); }); - - getChild(FIELD_WATER_WAVE2_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSmallWaveChanged(); }); - getChild(FIELD_WATER_WAVE2_Y)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSmallWaveChanged(); }); + getChild(FIELD_WATER_WAVE2_XY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSmallWaveChanged(); }); getChild(FIELD_WATER_NORMAL_SCALE_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalScaleChanged(); }); getChild(FIELD_WATER_NORMAL_SCALE_Y)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalScaleChanged(); }); @@ -128,11 +124,9 @@ void LLPanelSettingsWaterMainTab::refresh() getChild(FIELD_WATER_UNDERWATER_MOD)->setValue(mWaterSettings->getFogMod()); mTxtNormalMap->setValue(mWaterSettings->getNormalMapID()); LLVector2 vect2 = mWaterSettings->getWave1Dir(); - getChild(FIELD_WATER_WAVE1_X)->setValue(vect2[0]); - getChild(FIELD_WATER_WAVE1_Y)->setValue(vect2[1]); + getChild(FIELD_WATER_WAVE1_XY)->setValue(vect2.getValue()); vect2 = mWaterSettings->getWave2Dir(); - getChild(FIELD_WATER_WAVE2_X)->setValue(vect2[0]); - getChild(FIELD_WATER_WAVE2_Y)->setValue(vect2[1]); + getChild(FIELD_WATER_WAVE2_XY)->setValue(vect2.getValue()); LLVector3 vect3 = mWaterSettings->getNormalScale(); getChild(FIELD_WATER_NORMAL_SCALE_X)->setValue(vect3[0]); getChild(FIELD_WATER_NORMAL_SCALE_Y)->setValue(vect3[1]); @@ -169,14 +163,14 @@ void LLPanelSettingsWaterMainTab::onNormalMapChanged() void LLPanelSettingsWaterMainTab::onLargeWaveChanged() { - LLVector2 vect(getChild(FIELD_WATER_WAVE1_X)->getValue().asReal(), getChild(FIELD_WATER_WAVE1_Y)->getValue().asReal()); + LLVector2 vect(getChild(FIELD_WATER_WAVE1_XY)->getValue()); LL_WARNS("LAPRAS") << "Changing Large Wave from " << mWaterSettings->getWave1Dir() << " -> " << vect << LL_ENDL; mWaterSettings->setWave1Dir(vect); } void LLPanelSettingsWaterMainTab::onSmallWaveChanged() { - LLVector2 vect(getChild(FIELD_WATER_WAVE2_X)->getValue().asReal(), getChild(FIELD_WATER_WAVE2_Y)->getValue().asReal()); + LLVector2 vect(getChild(FIELD_WATER_WAVE2_XY)->getValue()); LL_WARNS("LAPRAS") << "Changing Small Wave from " << mWaterSettings->getWave2Dir() << " -> " << vect << LL_ENDL; mWaterSettings->setWave2Dir(vect); } -- cgit v1.2.3 From e61d7ac0098d89cc6b124dda2e040120c01d2bee Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Tue, 10 Jul 2018 17:09:47 +0300 Subject: MAINT-8833 EEP UI should be either responsive or indicate that it is disabled. --- indra/newview/llpaneleditwater.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index 21b2868e7b..9d9a183ffd 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -107,6 +107,24 @@ BOOL LLPanelSettingsWaterMainTab::postBuild() return TRUE; } +//virtual +void LLPanelSettingsWaterMainTab::setEnabled(BOOL enabled) +{ + LLPanelSettingsWater::setEnabled(enabled); + getChild(FIELD_WATER_FOG_DENSITY)->setEnabled(enabled); + getChild(FIELD_WATER_UNDERWATER_MOD)->setEnabled(enabled); + getChild(FIELD_WATER_FRESNEL_SCALE)->setEnabled(enabled); + getChild(FIELD_WATER_FRESNEL_OFFSET)->setEnabled(enabled); + + getChild(FIELD_WATER_NORMAL_SCALE_X)->setEnabled(enabled); + getChild(FIELD_WATER_NORMAL_SCALE_Y)->setEnabled(enabled); + getChild(FIELD_WATER_NORMAL_SCALE_Z)->setEnabled(enabled); + + getChild(FIELD_WATER_SCALE_ABOVE)->setEnabled(enabled); + getChild(FIELD_WATER_SCALE_BELOW)->setEnabled(enabled); + getChild(FIELD_WATER_BLUR_MULTIP)->setEnabled(enabled); +} + //========================================================================== void LLPanelSettingsWaterMainTab::refresh() { -- cgit v1.2.3 From d5f2267369d2695a8aec7c1d0cfa25954ae3c706 Mon Sep 17 00:00:00 2001 From: Rider Linden Date: Fri, 24 Aug 2018 11:59:28 -0700 Subject: Remove "Commit" from fixed editor. Check isDirty() before replacing or closing fixed editor. --- indra/newview/llpaneleditwater.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index 9d9a183ffd..bf00ee34f9 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -161,21 +161,25 @@ void LLPanelSettingsWaterMainTab::refresh() void LLPanelSettingsWaterMainTab::onFogColorChanged() { mWaterSettings->setWaterFogColor(LLColor3(mClrFogColor->get())); + setIsDirty(); } void LLPanelSettingsWaterMainTab::onFogDensityChanged() { mWaterSettings->setWaterFogDensity(getChild(FIELD_WATER_FOG_DENSITY)->getValue().asReal()); + setIsDirty(); } void LLPanelSettingsWaterMainTab::onFogUnderWaterChanged() { mWaterSettings->setFogMod(getChild(FIELD_WATER_UNDERWATER_MOD)->getValue().asReal()); + setIsDirty(); } void LLPanelSettingsWaterMainTab::onNormalMapChanged() { mWaterSettings->setNormalMapID(mTxtNormalMap->getImageAssetID()); + setIsDirty(); } @@ -184,6 +188,7 @@ void LLPanelSettingsWaterMainTab::onLargeWaveChanged() LLVector2 vect(getChild(FIELD_WATER_WAVE1_XY)->getValue()); LL_WARNS("LAPRAS") << "Changing Large Wave from " << mWaterSettings->getWave1Dir() << " -> " << vect << LL_ENDL; mWaterSettings->setWave1Dir(vect); + setIsDirty(); } void LLPanelSettingsWaterMainTab::onSmallWaveChanged() @@ -191,6 +196,7 @@ void LLPanelSettingsWaterMainTab::onSmallWaveChanged() LLVector2 vect(getChild(FIELD_WATER_WAVE2_XY)->getValue()); LL_WARNS("LAPRAS") << "Changing Small Wave from " << mWaterSettings->getWave2Dir() << " -> " << vect << LL_ENDL; mWaterSettings->setWave2Dir(vect); + setIsDirty(); } @@ -199,29 +205,35 @@ void LLPanelSettingsWaterMainTab::onNormalScaleChanged() LLVector3 vect(getChild(FIELD_WATER_NORMAL_SCALE_X)->getValue().asReal(), getChild(FIELD_WATER_NORMAL_SCALE_Y)->getValue().asReal(), getChild(FIELD_WATER_NORMAL_SCALE_Z)->getValue().asReal()); LL_WARNS("LAPRAS") << "Changing normal scale from " << mWaterSettings->getNormalScale() << " -> " << vect << LL_ENDL; mWaterSettings->setNormalScale(vect); + setIsDirty(); } void LLPanelSettingsWaterMainTab::onFresnelScaleChanged() { mWaterSettings->setFresnelScale(getChild(FIELD_WATER_FRESNEL_SCALE)->getValue().asReal()); + setIsDirty(); } void LLPanelSettingsWaterMainTab::onFresnelOffsetChanged() { mWaterSettings->setFresnelOffset(getChild(FIELD_WATER_FRESNEL_OFFSET)->getValue().asReal()); + setIsDirty(); } void LLPanelSettingsWaterMainTab::onScaleAboveChanged() { mWaterSettings->setScaleAbove(getChild(FIELD_WATER_SCALE_ABOVE)->getValue().asReal()); + setIsDirty(); } void LLPanelSettingsWaterMainTab::onScaleBelowChanged() { mWaterSettings->setScaleBelow(getChild(FIELD_WATER_SCALE_BELOW)->getValue().asReal()); + setIsDirty(); } void LLPanelSettingsWaterMainTab::onBlurMultipChanged() { mWaterSettings->setBlurMultiplier(getChild(FIELD_WATER_BLUR_MULTIP)->getValue().asReal()); + setIsDirty(); } -- cgit v1.2.3 From 46d194d352a7da88e7a9c96fba404c61a1bddb89 Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Fri, 14 Sep 2018 00:11:03 +0100 Subject: SL-1872 make daycycle water editor normal map texture control use proper blank normal map asset --- indra/newview/llpaneleditwater.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index bf00ee34f9..5d7c6f3943 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -32,6 +32,7 @@ #include "lltexturectrl.h" #include "llcolorswatch.h" #include "llxyvector.h" +#include "llviewercontrol.h" namespace { @@ -88,6 +89,7 @@ BOOL LLPanelSettingsWaterMainTab::postBuild() getChild(FIELD_WATER_UNDERWATER_MOD)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onFogUnderWaterChanged(); }); mTxtNormalMap->setDefaultImageAssetID(LLSettingsWater::GetDefaultWaterNormalAssetId()); + mTxtNormalMap->setBlankImageAssetID(LLUUID( gSavedSettings.getString( "DefaultBlankNormalTexture" ))); mTxtNormalMap->setCommitCallback([this](LLUICtrl *, const LLSD &) { onNormalMapChanged(); }); getChild(FIELD_WATER_WAVE2_XY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSmallWaveChanged(); }); -- cgit v1.2.3 From 616b1e8ec1c14f04661a42c2c4cbf6410bdfac38 Mon Sep 17 00:00:00 2001 From: Rider Linden Date: Tue, 18 Sep 2018 15:12:51 -0700 Subject: Arrows in wave vector ctrl now match world and clouds. North at the top and East to the right. --- indra/newview/llpaneleditwater.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index 5d7c6f3943..40d84d74bd 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -143,9 +143,9 @@ void LLPanelSettingsWaterMainTab::refresh() getChild(FIELD_WATER_FOG_DENSITY)->setValue(mWaterSettings->getWaterFogDensity()); getChild(FIELD_WATER_UNDERWATER_MOD)->setValue(mWaterSettings->getFogMod()); mTxtNormalMap->setValue(mWaterSettings->getNormalMapID()); - LLVector2 vect2 = mWaterSettings->getWave1Dir(); + LLVector2 vect2 = mWaterSettings->getWave1Dir() * -1.0; // Flip so that north and east are + getChild(FIELD_WATER_WAVE1_XY)->setValue(vect2.getValue()); - vect2 = mWaterSettings->getWave2Dir(); + vect2 = mWaterSettings->getWave2Dir() * -1.0; // Flip so that north and east are + getChild(FIELD_WATER_WAVE2_XY)->setValue(vect2.getValue()); LLVector3 vect3 = mWaterSettings->getNormalScale(); getChild(FIELD_WATER_NORMAL_SCALE_X)->setValue(vect3[0]); @@ -188,6 +188,7 @@ void LLPanelSettingsWaterMainTab::onNormalMapChanged() void LLPanelSettingsWaterMainTab::onLargeWaveChanged() { LLVector2 vect(getChild(FIELD_WATER_WAVE1_XY)->getValue()); + vect *= -1.0; // Flip so that north and east are - LL_WARNS("LAPRAS") << "Changing Large Wave from " << mWaterSettings->getWave1Dir() << " -> " << vect << LL_ENDL; mWaterSettings->setWave1Dir(vect); setIsDirty(); @@ -196,6 +197,7 @@ void LLPanelSettingsWaterMainTab::onLargeWaveChanged() void LLPanelSettingsWaterMainTab::onSmallWaveChanged() { LLVector2 vect(getChild(FIELD_WATER_WAVE2_XY)->getValue()); + vect *= -1.0; // Flip so that north and east are - LL_WARNS("LAPRAS") << "Changing Small Wave from " << mWaterSettings->getWave2Dir() << " -> " << vect << LL_ENDL; mWaterSettings->setWave2Dir(vect); setIsDirty(); -- cgit v1.2.3 From 50b383e5aa333d453e906ae2beb28fe1da549bef Mon Sep 17 00:00:00 2001 From: Graham Linden Date: Fri, 1 Feb 2019 09:45:07 -0800 Subject: Fix issue with OSX shader compiler not implementing #if correctly (nice job, Timmy). --- indra/newview/llpaneleditwater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index 40d84d74bd..f639ad0d98 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -151,7 +151,7 @@ void LLPanelSettingsWaterMainTab::refresh() getChild(FIELD_WATER_NORMAL_SCALE_X)->setValue(vect3[0]); getChild(FIELD_WATER_NORMAL_SCALE_Y)->setValue(vect3[1]); getChild(FIELD_WATER_NORMAL_SCALE_Z)->setValue(vect3[2]); - getChild(FIELD_WATER_FRESNEL_SCALE)->setValue(mWaterSettings->getFresnelOffset()); + getChild(FIELD_WATER_FRESNEL_SCALE)->setValue(mWaterSettings->getFresnelScale()); getChild(FIELD_WATER_FRESNEL_OFFSET)->setValue(mWaterSettings->getFresnelOffset()); getChild(FIELD_WATER_SCALE_ABOVE)->setValue(mWaterSettings->getScaleAbove()); getChild(FIELD_WATER_SCALE_BELOW)->setValue(mWaterSettings->getScaleBelow()); -- cgit v1.2.3 From 2401712d1073e85b4b9183d20c6e9274bc874f64 Mon Sep 17 00:00:00 2001 From: Rider Linden Date: Wed, 20 Feb 2019 15:20:30 -0800 Subject: SL-9660: Next pass cleanup. Removed and downgraded a number of logs. Removed refs to LAPAS. Better sync with legacy regions. --- indra/newview/llpaneleditwater.cpp | 3 --- 1 file changed, 3 deletions(-) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index f639ad0d98..1f9c79c9eb 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -189,7 +189,6 @@ void LLPanelSettingsWaterMainTab::onLargeWaveChanged() { LLVector2 vect(getChild(FIELD_WATER_WAVE1_XY)->getValue()); vect *= -1.0; // Flip so that north and east are - - LL_WARNS("LAPRAS") << "Changing Large Wave from " << mWaterSettings->getWave1Dir() << " -> " << vect << LL_ENDL; mWaterSettings->setWave1Dir(vect); setIsDirty(); } @@ -198,7 +197,6 @@ void LLPanelSettingsWaterMainTab::onSmallWaveChanged() { LLVector2 vect(getChild(FIELD_WATER_WAVE2_XY)->getValue()); vect *= -1.0; // Flip so that north and east are - - LL_WARNS("LAPRAS") << "Changing Small Wave from " << mWaterSettings->getWave2Dir() << " -> " << vect << LL_ENDL; mWaterSettings->setWave2Dir(vect); setIsDirty(); } @@ -207,7 +205,6 @@ void LLPanelSettingsWaterMainTab::onSmallWaveChanged() void LLPanelSettingsWaterMainTab::onNormalScaleChanged() { LLVector3 vect(getChild(FIELD_WATER_NORMAL_SCALE_X)->getValue().asReal(), getChild(FIELD_WATER_NORMAL_SCALE_Y)->getValue().asReal(), getChild(FIELD_WATER_NORMAL_SCALE_Z)->getValue().asReal()); - LL_WARNS("LAPRAS") << "Changing normal scale from " << mWaterSettings->getNormalScale() << " -> " << vect << LL_ENDL; mWaterSettings->setNormalScale(vect); setIsDirty(); } -- cgit v1.2.3 From 9f2fc2b433f1c67b85786467ab17ff0b662b90f7 Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Fri, 24 May 2019 17:54:36 +0300 Subject: SL-11273 FIXED [EEP] The beacon checkboxes in the Day Cycle window can only be changed while a keyframe is selected. --- indra/newview/llpaneleditwater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index 1f9c79c9eb..d8b97b714b 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -130,7 +130,7 @@ void LLPanelSettingsWaterMainTab::setEnabled(BOOL enabled) //========================================================================== void LLPanelSettingsWaterMainTab::refresh() { - if (!mWaterSettings) + if (!mWaterSettings || !getCanChangeSettings()) { setAllChildrenEnabled(FALSE); setEnabled(FALSE); -- cgit v1.2.3 From bba3cc598785539c477e817ada18d9e7a4692286 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Tue, 16 Jul 2019 17:07:41 +0300 Subject: SL-11599 Crash on closing floater with uncommited changes --- indra/newview/llpaneleditwater.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index d8b97b714b..deba7f487f 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -162,31 +162,35 @@ void LLPanelSettingsWaterMainTab::refresh() void LLPanelSettingsWaterMainTab::onFogColorChanged() { + if (!mWaterSettings) return; mWaterSettings->setWaterFogColor(LLColor3(mClrFogColor->get())); setIsDirty(); } void LLPanelSettingsWaterMainTab::onFogDensityChanged() { + if (!mWaterSettings) return; mWaterSettings->setWaterFogDensity(getChild(FIELD_WATER_FOG_DENSITY)->getValue().asReal()); setIsDirty(); } void LLPanelSettingsWaterMainTab::onFogUnderWaterChanged() { + if (!mWaterSettings) return; mWaterSettings->setFogMod(getChild(FIELD_WATER_UNDERWATER_MOD)->getValue().asReal()); setIsDirty(); } void LLPanelSettingsWaterMainTab::onNormalMapChanged() { + if (!mWaterSettings) return; mWaterSettings->setNormalMapID(mTxtNormalMap->getImageAssetID()); setIsDirty(); } - void LLPanelSettingsWaterMainTab::onLargeWaveChanged() { + if (!mWaterSettings) return; LLVector2 vect(getChild(FIELD_WATER_WAVE1_XY)->getValue()); vect *= -1.0; // Flip so that north and east are - mWaterSettings->setWave1Dir(vect); @@ -195,6 +199,7 @@ void LLPanelSettingsWaterMainTab::onLargeWaveChanged() void LLPanelSettingsWaterMainTab::onSmallWaveChanged() { + if (!mWaterSettings) return; LLVector2 vect(getChild(FIELD_WATER_WAVE2_XY)->getValue()); vect *= -1.0; // Flip so that north and east are - mWaterSettings->setWave2Dir(vect); @@ -204,6 +209,7 @@ void LLPanelSettingsWaterMainTab::onSmallWaveChanged() void LLPanelSettingsWaterMainTab::onNormalScaleChanged() { + if (!mWaterSettings) return; LLVector3 vect(getChild(FIELD_WATER_NORMAL_SCALE_X)->getValue().asReal(), getChild(FIELD_WATER_NORMAL_SCALE_Y)->getValue().asReal(), getChild(FIELD_WATER_NORMAL_SCALE_Z)->getValue().asReal()); mWaterSettings->setNormalScale(vect); setIsDirty(); @@ -211,30 +217,35 @@ void LLPanelSettingsWaterMainTab::onNormalScaleChanged() void LLPanelSettingsWaterMainTab::onFresnelScaleChanged() { + if (!mWaterSettings) return; mWaterSettings->setFresnelScale(getChild(FIELD_WATER_FRESNEL_SCALE)->getValue().asReal()); setIsDirty(); } void LLPanelSettingsWaterMainTab::onFresnelOffsetChanged() { + if (!mWaterSettings) return; mWaterSettings->setFresnelOffset(getChild(FIELD_WATER_FRESNEL_OFFSET)->getValue().asReal()); setIsDirty(); } void LLPanelSettingsWaterMainTab::onScaleAboveChanged() { + if (!mWaterSettings) return; mWaterSettings->setScaleAbove(getChild(FIELD_WATER_SCALE_ABOVE)->getValue().asReal()); setIsDirty(); } void LLPanelSettingsWaterMainTab::onScaleBelowChanged() { + if (!mWaterSettings) return; mWaterSettings->setScaleBelow(getChild(FIELD_WATER_SCALE_BELOW)->getValue().asReal()); setIsDirty(); } void LLPanelSettingsWaterMainTab::onBlurMultipChanged() { + if (!mWaterSettings) return; mWaterSettings->setBlurMultiplier(getChild(FIELD_WATER_BLUR_MULTIP)->getValue().asReal()); setIsDirty(); } -- cgit v1.2.3 From 04db46b088b8d974f10ce0b5acdd35007f4bb060 Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Mon, 29 Jul 2019 11:33:09 +0300 Subject: SL-11626 FIXED [EEP] Day Cycle window does not display accurate values while playhead is between keyframes. --- indra/newview/llpaneleditwater.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview/llpaneleditwater.cpp') diff --git a/indra/newview/llpaneleditwater.cpp b/indra/newview/llpaneleditwater.cpp index deba7f487f..a09964e17d 100644 --- a/indra/newview/llpaneleditwater.cpp +++ b/indra/newview/llpaneleditwater.cpp @@ -130,15 +130,15 @@ void LLPanelSettingsWaterMainTab::setEnabled(BOOL enabled) //========================================================================== void LLPanelSettingsWaterMainTab::refresh() { - if (!mWaterSettings || !getCanChangeSettings()) + if (!mWaterSettings) { setAllChildrenEnabled(FALSE); setEnabled(FALSE); return; } - setEnabled(TRUE); - setAllChildrenEnabled(TRUE); + setEnabled(getCanChangeSettings()); + setAllChildrenEnabled(getCanChangeSettings()); mClrFogColor->set(mWaterSettings->getWaterFogColor()); getChild(FIELD_WATER_FOG_DENSITY)->setValue(mWaterSettings->getWaterFogDensity()); getChild(FIELD_WATER_UNDERWATER_MOD)->setValue(mWaterSettings->getFogMod()); -- cgit v1.2.3