Fixed sky editing floater.
parent
9dd5e4a5a7
commit
03da2bc1a1
|
|
@ -189,6 +189,11 @@ public:
|
|||
return mSettings[SETTING_CLOUD_TEXTUREID].asUUID();
|
||||
}
|
||||
|
||||
void setCloudNoiseTextureId(const LLUUID &id)
|
||||
{
|
||||
setValue(SETTING_CLOUD_TEXTUREID, id);
|
||||
}
|
||||
|
||||
LLColor3 getCloudPosDensity1() const
|
||||
{
|
||||
return LLColor3(mSettings[SETTING_CLOUD_POS_DENSITY1]);
|
||||
|
|
@ -300,6 +305,11 @@ public:
|
|||
return mSettings[SETTING_MAX_Y].asReal();
|
||||
}
|
||||
|
||||
void setMaxY(F32 val)
|
||||
{
|
||||
setValue(SETTING_MAX_Y, val);
|
||||
}
|
||||
|
||||
LLQuaternion getMoonRotation() const
|
||||
{
|
||||
return LLQuaternion(mSettings[SETTING_MOON_ROTATION]);
|
||||
|
|
@ -324,6 +334,11 @@ public:
|
|||
return mSettings[SETTING_MOON_TEXTUREID].asUUID();
|
||||
}
|
||||
|
||||
void setMoonTextureId(LLUUID id)
|
||||
{
|
||||
setValue(SETTING_MOON_TEXTUREID, id);
|
||||
}
|
||||
|
||||
F32 getStarBrightness() const
|
||||
{
|
||||
return mSettings[SETTING_STAR_BRIGHTNESS].asReal();
|
||||
|
|
@ -368,6 +383,11 @@ public:
|
|||
return mSettings[SETTING_SUN_TEXTUREID].asUUID();
|
||||
}
|
||||
|
||||
void setSunTextureId(LLUUID id)
|
||||
{
|
||||
setValue(SETTING_SUN_TEXTUREID, id);
|
||||
}
|
||||
|
||||
// Internal/calculated settings
|
||||
LLVector3 getLightDirection() const
|
||||
{
|
||||
|
|
|
|||
|
|
@ -421,6 +421,7 @@ set(viewer_SOURCE_FILES
|
|||
llpanelblockedlist.cpp
|
||||
llpanelclassified.cpp
|
||||
llpanelcontents.cpp
|
||||
llpaneleditsky.cpp
|
||||
llpaneleditwater.cpp
|
||||
llpaneleditwearable.cpp
|
||||
llpanelenvironment.cpp
|
||||
|
|
@ -1031,6 +1032,7 @@ set(viewer_HEADER_FILES
|
|||
llpanelblockedlist.h
|
||||
llpanelclassified.h
|
||||
llpanelcontents.h
|
||||
llpaneleditsky.h
|
||||
llpaneleditwater.h
|
||||
llpaneleditwearable.h
|
||||
llpanelenvironment.h
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
|
||||
// newview
|
||||
#include "llpaneleditwater.h"
|
||||
#include "llpaneleditsky.h"
|
||||
|
||||
#include "llsettingssky.h"
|
||||
#include "llsettingswater.h"
|
||||
|
|
@ -246,6 +247,96 @@ void LLFloaterFixedEnvironmentWater::doApplyFixedSettings()
|
|||
|
||||
}
|
||||
|
||||
//=========================================================================
|
||||
LLFloaterFixedEnvironmentSky::LLFloaterFixedEnvironmentSky(const LLSD &key) :
|
||||
LLFloaterFixedEnvironment(key)
|
||||
{}
|
||||
|
||||
BOOL LLFloaterFixedEnvironmentSky::postBuild()
|
||||
{
|
||||
if (!LLFloaterFixedEnvironment::postBuild())
|
||||
return FALSE;
|
||||
|
||||
LLPanelSettingsSky * panel;
|
||||
panel = new LLPanelSettingsSkyAtmosTab;
|
||||
panel->buildFromFile("panel_settings_sky_atmos.xml");
|
||||
panel->setSky(std::static_pointer_cast<LLSettingsSky>(mSettings));
|
||||
mTab->addTabPanel(LLTabContainer::TabPanelParams().panel(panel).select_tab(true));
|
||||
|
||||
panel = new LLPanelSettingsSkyCloudTab;
|
||||
panel->buildFromFile("panel_settings_sky_clouds.xml");
|
||||
panel->setSky(std::static_pointer_cast<LLSettingsSky>(mSettings));
|
||||
mTab->addTabPanel(LLTabContainer::TabPanelParams().panel(panel).select_tab(false));
|
||||
|
||||
panel = new LLPanelSettingsSkySunMoonTab;
|
||||
panel->buildFromFile("panel_settings_sky_sunmoon.xml");
|
||||
panel->setSky(std::static_pointer_cast<LLSettingsSky>(mSettings));
|
||||
mTab->addTabPanel(LLTabContainer::TabPanelParams().panel(panel).select_tab(false));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void LLFloaterFixedEnvironmentSky::updateEditEnvironment(void)
|
||||
{
|
||||
LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_EDIT,
|
||||
std::static_pointer_cast<LLSettingsSky>(mSettings));
|
||||
}
|
||||
|
||||
void LLFloaterFixedEnvironmentSky::onOpen(const LLSD& key)
|
||||
{
|
||||
if (!mSettings)
|
||||
{
|
||||
// Initialize the settings, take a snapshot of the current water.
|
||||
mSettings = LLEnvironment::instance().getEnvironmentFixedSky(LLEnvironment::ENV_CURRENT)->buildClone();
|
||||
mSettings->setName("Snapshot sky (new)");
|
||||
|
||||
// TODO: Should we grab sky and keep it around for reference?
|
||||
}
|
||||
|
||||
updateEditEnvironment();
|
||||
syncronizeTabs();
|
||||
refresh();
|
||||
LLEnvironment::instance().setSelectedEnvironment(LLEnvironment::ENV_EDIT, LLEnvironment::TRANSITION_FAST);
|
||||
}
|
||||
|
||||
void LLFloaterFixedEnvironmentSky::onClose(bool app_quitting)
|
||||
{
|
||||
mSettings.reset();
|
||||
syncronizeTabs();
|
||||
}
|
||||
|
||||
void LLFloaterFixedEnvironmentSky::doLoadFromInventory()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void LLFloaterFixedEnvironmentSky::doImportFromDisk()
|
||||
{ // Load a a legacy Windlight XML from disk.
|
||||
|
||||
LLFilePicker& picker = LLFilePicker::instance();
|
||||
if (picker.getOpenFile(LLFilePicker::FFLOAD_XML))
|
||||
{
|
||||
std::string filename = picker.getFirstFile();
|
||||
|
||||
LL_WARNS("LAPRAS") << "Selected file: " << filename << LL_ENDL;
|
||||
LLSettingsSky::ptr_t legacysky = LLEnvironment::createSkyFromLegacyPreset(filename);
|
||||
|
||||
if (!legacysky)
|
||||
{ // *TODO* Put up error dialog here. Could not create water from filename
|
||||
return;
|
||||
}
|
||||
|
||||
LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_EDIT, legacysky);
|
||||
this->setEditSettings(legacysky);
|
||||
LLEnvironment::instance().updateEnvironment(LLEnvironment::TRANSITION_FAST, true);
|
||||
}
|
||||
}
|
||||
|
||||
void LLFloaterFixedEnvironmentSky::doApplyFixedSettings()
|
||||
{
|
||||
LLSettingsVOBase::createInventoryItem(mSettings);
|
||||
}
|
||||
|
||||
//=========================================================================
|
||||
|
||||
#if 0
|
||||
|
|
|
|||
|
|
@ -171,6 +171,28 @@ protected:
|
|||
private:
|
||||
};
|
||||
|
||||
class LLFloaterFixedEnvironmentSky : public LLFloaterFixedEnvironment
|
||||
{
|
||||
LOG_CLASS(LLFloaterFixedEnvironmentSky);
|
||||
|
||||
public:
|
||||
LLFloaterFixedEnvironmentSky(const LLSD &key);
|
||||
|
||||
BOOL postBuild() override;
|
||||
|
||||
virtual void onOpen(const LLSD& key) override;
|
||||
virtual void onClose(bool app_quitting) override;
|
||||
|
||||
protected:
|
||||
virtual void updateEditEnvironment() override;
|
||||
|
||||
virtual void doLoadFromInventory() override;
|
||||
virtual void doImportFromDisk() override;
|
||||
virtual void doApplyFixedSettings() override;
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
class LLSettingsEditPanel : public LLPanel
|
||||
{
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,388 @@
|
|||
/**
|
||||
* @file llpaneleditsky.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 "llpaneleditsky.h"
|
||||
|
||||
#include "llslider.h"
|
||||
#include "lltexturectrl.h"
|
||||
#include "llcolorswatch.h"
|
||||
#include "lljoystickbutton.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
// Atmosphere Tab
|
||||
const std::string FIELD_SKY_AMBIENT_LIGHT("ambient_light");
|
||||
const std::string FIELD_SKY_BLUE_HORIZON("blue_horizon");
|
||||
const std::string FIELD_SKY_BLUE_DENSITY("blue_density");
|
||||
const std::string FIELD_SKY_HAZE_HORIZON("haze_horizon");
|
||||
const std::string FIELD_SKY_HAZE_DENSITY("haze_density");
|
||||
const std::string FIELD_SKY_SCENE_GAMMA("scene_gamma");
|
||||
const std::string FIELD_SKY_DENSITY_MULTIP("density_multip");
|
||||
const std::string FIELD_SKY_DISTANCE_MULTIP("distance_multip");
|
||||
const std::string FIELD_SKY_MAX_ALT("max_alt");
|
||||
|
||||
const std::string FIELD_SKY_CLOUD_COLOR("cloud_color");
|
||||
const std::string FIELD_SKY_CLOUD_COVERAGE("cloud_coverage");
|
||||
const std::string FIELD_SKY_CLOUD_SCALE("cloud_scale");
|
||||
const std::string FIELD_SKY_CLOUD_SCROLL_X("cloud_scroll_x");
|
||||
const std::string FIELD_SKY_CLOUD_SCROLL_Y("cloud_scroll_y");
|
||||
const std::string FIELD_SKY_CLOUD_MAP("cloud_map");
|
||||
const std::string FIELD_SKY_CLOUD_DENSITY_X("cloud_density_x");
|
||||
const std::string FIELD_SKY_CLOUD_DENSITY_Y("cloud_density_y");
|
||||
const std::string FIELD_SKY_CLOUD_DENSITY_D("cloud_density_d");
|
||||
const std::string FIELD_SKY_CLOUD_DETAIL_X("cloud_detail_x");
|
||||
const std::string FIELD_SKY_CLOUD_DETAIL_Y("cloud_detail_y");
|
||||
const std::string FIELD_SKY_CLOUD_DETAIL_D("cloud_detail_d");
|
||||
|
||||
const std::string FIELD_SKY_SUN_MOON_COLOR("sun_moon_color");
|
||||
const std::string FIELD_SKY_GLOW_FOCUS("glow_focus");
|
||||
const std::string FIELD_SKY_GLOW_SIZE("glow_size");
|
||||
const std::string FIELD_SKY_STAR_BRIGHTNESS("star_brightness");
|
||||
const std::string FIELD_SKY_SUN_ROTATION("sun_rotation");
|
||||
const std::string FIELD_SKY_SUN_IMAGE("sun_image");
|
||||
const std::string FIELD_SKY_MOON_ROTATION("moon_rotation");
|
||||
const std::string FIELD_SKY_MOON_IMAGE("moon_image");
|
||||
|
||||
const F32 SLIDER_SCALE_SUN_AMBIENT(3.0f);
|
||||
const F32 SLIDER_SCALE_BLUE_HORIZON_DENSITY(2.0f);
|
||||
const F32 SLIDER_SCALE_GLOW_R(20.0f);
|
||||
const F32 SLIDER_SCALE_GLOW_B(-5.0f);
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
LLPanelSettingsSky::LLPanelSettingsSky() :
|
||||
LLSettingsEditPanel(),
|
||||
mSkySettings()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
//==========================================================================
|
||||
LLPanelSettingsSkyAtmosTab::LLPanelSettingsSkyAtmosTab() :
|
||||
LLPanelSettingsSky()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BOOL LLPanelSettingsSkyAtmosTab::postBuild()
|
||||
{
|
||||
getChild<LLUICtrl>(FIELD_SKY_AMBIENT_LIGHT)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onAmbientLightChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_BLUE_HORIZON)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onBlueHorizonChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_BLUE_DENSITY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onBlueDensityChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_HAZE_HORIZON)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onHazeHorizonChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_HAZE_DENSITY)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onHazeDensityChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_SCENE_GAMMA)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSceneGammaChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_DENSITY_MULTIP)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onDensityMultipChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_DISTANCE_MULTIP)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onDistanceMultipChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_MAX_ALT)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onMaxAltChanged(); });
|
||||
|
||||
refresh();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyAtmosTab::refresh()
|
||||
{
|
||||
if (!mSkySettings)
|
||||
{
|
||||
setAllChildrenEnabled(FALSE);
|
||||
setEnabled(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
setEnabled(TRUE);
|
||||
setAllChildrenEnabled(TRUE);
|
||||
|
||||
getChild<LLColorSwatchCtrl>(FIELD_SKY_AMBIENT_LIGHT)->set(mSkySettings->getAmbientColor() / SLIDER_SCALE_SUN_AMBIENT);
|
||||
getChild<LLColorSwatchCtrl>(FIELD_SKY_BLUE_HORIZON)->set(mSkySettings->getBlueHorizon() / SLIDER_SCALE_BLUE_HORIZON_DENSITY);
|
||||
getChild<LLColorSwatchCtrl>(FIELD_SKY_BLUE_DENSITY)->set(mSkySettings->getBlueDensity() / SLIDER_SCALE_BLUE_HORIZON_DENSITY);
|
||||
|
||||
getChild<LLUICtrl>(FIELD_SKY_HAZE_HORIZON)->setValue(mSkySettings->getHazeHorizon());
|
||||
getChild<LLUICtrl>(FIELD_SKY_HAZE_DENSITY)->setValue(mSkySettings->getHazeDensity());
|
||||
getChild<LLUICtrl>(FIELD_SKY_SCENE_GAMMA)->setValue(mSkySettings->getGamma());
|
||||
getChild<LLUICtrl>(FIELD_SKY_DENSITY_MULTIP)->setValue(mSkySettings->getDensityMultiplier());
|
||||
getChild<LLUICtrl>(FIELD_SKY_DISTANCE_MULTIP)->setValue(mSkySettings->getDistanceMultiplier());
|
||||
getChild<LLUICtrl>(FIELD_SKY_MAX_ALT)->setValue(mSkySettings->getMaxY());
|
||||
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
void LLPanelSettingsSkyAtmosTab::onAmbientLightChanged()
|
||||
{
|
||||
mSkySettings->setAmbientColor(LLColor3(getChild<LLColorSwatchCtrl>(FIELD_SKY_AMBIENT_LIGHT)->get() * SLIDER_SCALE_SUN_AMBIENT));
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyAtmosTab::onBlueHorizonChanged()
|
||||
{
|
||||
mSkySettings->setBlueHorizon(LLColor3(getChild<LLColorSwatchCtrl>(FIELD_SKY_BLUE_HORIZON)->get() * SLIDER_SCALE_BLUE_HORIZON_DENSITY));
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyAtmosTab::onBlueDensityChanged()
|
||||
{
|
||||
mSkySettings->setBlueDensity(LLColor3(getChild<LLColorSwatchCtrl>(FIELD_SKY_BLUE_DENSITY)->get() * SLIDER_SCALE_BLUE_HORIZON_DENSITY));
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyAtmosTab::onHazeHorizonChanged()
|
||||
{
|
||||
mSkySettings->setHazeHorizon(getChild<LLUICtrl>(FIELD_SKY_HAZE_HORIZON)->getValue().asReal());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyAtmosTab::onHazeDensityChanged()
|
||||
{
|
||||
mSkySettings->setHazeDensity(getChild<LLUICtrl>(FIELD_SKY_HAZE_DENSITY)->getValue().asReal());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyAtmosTab::onSceneGammaChanged()
|
||||
{
|
||||
mSkySettings->setGamma(getChild<LLUICtrl>(FIELD_SKY_SCENE_GAMMA)->getValue().asReal());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyAtmosTab::onDensityMultipChanged()
|
||||
{
|
||||
mSkySettings->setDensityMultiplier(getChild<LLUICtrl>(FIELD_SKY_DENSITY_MULTIP)->getValue().asReal());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyAtmosTab::onDistanceMultipChanged()
|
||||
{
|
||||
mSkySettings->setDistanceMultiplier(getChild<LLUICtrl>(FIELD_SKY_DISTANCE_MULTIP)->getValue().asReal());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyAtmosTab::onMaxAltChanged()
|
||||
{
|
||||
mSkySettings->setMaxY(getChild<LLUICtrl>(FIELD_SKY_MAX_ALT)->getValue().asReal());
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
LLPanelSettingsSkyCloudTab::LLPanelSettingsSkyCloudTab() :
|
||||
LLPanelSettingsSky()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BOOL LLPanelSettingsSkyCloudTab::postBuild()
|
||||
{
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_COLOR)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudColorChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_COVERAGE)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudCoverageChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_SCALE)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudScaleChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_SCROLL_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudScrollChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_SCROLL_Y)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudScrollChanged(); });
|
||||
getChild<LLTextureCtrl>(FIELD_SKY_CLOUD_MAP)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudMapChanged(); });
|
||||
// getChild<LLTextureCtrl>(FIELD_SKY_CLOUD_MAP)->setDefaultImageAssetID(LLSettingsSky::DEFAULT_CLOUD_TEXTURE_ID);
|
||||
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DENSITY_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudDensityChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DENSITY_Y)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudDensityChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DENSITY_D)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudDensityChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DETAIL_X)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudDetailChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DETAIL_Y)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudDetailChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DETAIL_D)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onCloudDetailChanged(); });
|
||||
|
||||
refresh();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyCloudTab::refresh()
|
||||
{
|
||||
if (!mSkySettings)
|
||||
{
|
||||
setAllChildrenEnabled(FALSE);
|
||||
setEnabled(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
setEnabled(TRUE);
|
||||
setAllChildrenEnabled(TRUE);
|
||||
|
||||
getChild<LLColorSwatchCtrl>(FIELD_SKY_CLOUD_COLOR)->set(mSkySettings->getCloudColor());
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_COVERAGE)->setValue(mSkySettings->getCloudShadow());
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_SCALE)->setValue(mSkySettings->getCloudScale());
|
||||
|
||||
LLVector2 cloudScroll(mSkySettings->getCloudScrollRate());
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_SCROLL_X)->setValue(cloudScroll[0]);
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_SCROLL_Y)->setValue(cloudScroll[1]);
|
||||
|
||||
getChild<LLTextureCtrl>(FIELD_SKY_CLOUD_MAP)->setValue(mSkySettings->getCloudNoiseTextureId());
|
||||
|
||||
LLVector3 cloudDensity(mSkySettings->getCloudPosDensity1().getValue());
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DENSITY_X)->setValue(cloudDensity[0]);
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DENSITY_Y)->setValue(cloudDensity[1]);
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DENSITY_D)->setValue(cloudDensity[2]);
|
||||
|
||||
LLVector3 cloudDetail(mSkySettings->getCloudPosDensity1().getValue());
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DETAIL_X)->setValue(cloudDetail[0]);
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DETAIL_Y)->setValue(cloudDetail[1]);
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DETAIL_D)->setValue(cloudDetail[2]);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
void LLPanelSettingsSkyCloudTab::onCloudColorChanged()
|
||||
{
|
||||
mSkySettings->setCloudColor(LLColor3(getChild<LLColorSwatchCtrl>(FIELD_SKY_CLOUD_COLOR)->get()));
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyCloudTab::onCloudCoverageChanged()
|
||||
{
|
||||
mSkySettings->setCloudShadow(getChild<LLUICtrl>(FIELD_SKY_CLOUD_COVERAGE)->getValue().asReal());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyCloudTab::onCloudScaleChanged()
|
||||
{
|
||||
mSkySettings->setCloudScale(getChild<LLUICtrl>(FIELD_SKY_CLOUD_SCALE)->getValue().asReal());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyCloudTab::onCloudScrollChanged()
|
||||
{
|
||||
LLVector2 scroll(getChild<LLUICtrl>(FIELD_SKY_CLOUD_SCROLL_X)->getValue().asReal(),
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_SCROLL_Y)->getValue().asReal());
|
||||
|
||||
mSkySettings->setCloudScrollRate(scroll);
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyCloudTab::onCloudMapChanged()
|
||||
{
|
||||
mSkySettings->setCloudNoiseTextureId(getChild<LLTextureCtrl>(FIELD_SKY_CLOUD_MAP)->getValue().asUUID());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyCloudTab::onCloudDensityChanged()
|
||||
{
|
||||
LLColor3 density(getChild<LLUICtrl>(FIELD_SKY_CLOUD_DENSITY_X)->getValue().asReal(),
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DENSITY_Y)->getValue().asReal(),
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DENSITY_D)->getValue().asReal());
|
||||
|
||||
mSkySettings->setCloudPosDensity1(density);
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkyCloudTab::onCloudDetailChanged()
|
||||
{
|
||||
LLColor3 detail(getChild<LLUICtrl>(FIELD_SKY_CLOUD_DETAIL_X)->getValue().asReal(),
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DETAIL_Y)->getValue().asReal(),
|
||||
getChild<LLUICtrl>(FIELD_SKY_CLOUD_DETAIL_D)->getValue().asReal());
|
||||
|
||||
mSkySettings->setCloudPosDensity2(detail);
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
LLPanelSettingsSkySunMoonTab::LLPanelSettingsSkySunMoonTab() :
|
||||
LLPanelSettingsSky()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BOOL LLPanelSettingsSkySunMoonTab::postBuild()
|
||||
{
|
||||
getChild<LLUICtrl>(FIELD_SKY_SUN_MOON_COLOR)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSunMoonColorChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_GLOW_FOCUS)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onGlowChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_GLOW_SIZE)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onGlowChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_STAR_BRIGHTNESS)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onStarBrightnessChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_SUN_ROTATION)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSunRotationChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_SUN_IMAGE)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onSunImageChanged(); });
|
||||
// getChild<LLTextureCtrl>(FIELD_SKY_SUN_IMAGE)->setDefaultImageAssetID(LLSettingsSky:: );
|
||||
getChild<LLUICtrl>(FIELD_SKY_MOON_ROTATION)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onMoonRotationChanged(); });
|
||||
getChild<LLUICtrl>(FIELD_SKY_MOON_IMAGE)->setCommitCallback([this](LLUICtrl *, const LLSD &) { onMoonImageChanged(); });
|
||||
// getChild<LLTextureCtrl>(FIELD_SKY_MOON_IMAGE)->setDefaultImageAssetID(LLSettingsSky:: );
|
||||
|
||||
refresh();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkySunMoonTab::refresh()
|
||||
{
|
||||
if (!mSkySettings)
|
||||
{
|
||||
setAllChildrenEnabled(FALSE);
|
||||
setEnabled(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
setEnabled(TRUE);
|
||||
setAllChildrenEnabled(TRUE);
|
||||
|
||||
getChild<LLColorSwatchCtrl>(FIELD_SKY_SUN_MOON_COLOR)->set(mSkySettings->getSunlightColor() / SLIDER_SCALE_SUN_AMBIENT);
|
||||
|
||||
LLColor3 glow(mSkySettings->getGlow());
|
||||
|
||||
glow.mV[0] = 2 - (glow.mV[0] / SLIDER_SCALE_GLOW_R);
|
||||
glow.mV[2] /= SLIDER_SCALE_GLOW_B;
|
||||
|
||||
getChild<LLUICtrl>(FIELD_SKY_GLOW_FOCUS)->setValue(glow.mV[0]);
|
||||
getChild<LLUICtrl>(FIELD_SKY_GLOW_SIZE)->setValue(glow.mV[2]);
|
||||
|
||||
getChild<LLUICtrl>(FIELD_SKY_STAR_BRIGHTNESS)->setValue(mSkySettings->getStarBrightness());
|
||||
getChild<LLJoystickQuaternion>(FIELD_SKY_SUN_ROTATION)->setRotation(mSkySettings->getSunRotation());
|
||||
getChild<LLTextureCtrl>(FIELD_SKY_SUN_IMAGE)->setValue(mSkySettings->getSunTextureId());
|
||||
getChild<LLJoystickQuaternion>(FIELD_SKY_MOON_ROTATION)->setRotation(mSkySettings->getMoonRotation());
|
||||
getChild<LLTextureCtrl>(FIELD_SKY_MOON_IMAGE)->setValue(mSkySettings->getMoonTextureId());
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
void LLPanelSettingsSkySunMoonTab::onSunMoonColorChanged()
|
||||
{
|
||||
LLColor3 color(getChild<LLColorSwatchCtrl>(FIELD_SKY_SUN_MOON_COLOR)->get());
|
||||
|
||||
color *= SLIDER_SCALE_SUN_AMBIENT;
|
||||
|
||||
mSkySettings->setSunlightColor(color);
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkySunMoonTab::onGlowChanged()
|
||||
{
|
||||
LLColor3 glow(getChild<LLUICtrl>(FIELD_SKY_GLOW_FOCUS)->getValue().asReal(), 0.0f,
|
||||
getChild<LLUICtrl>(FIELD_SKY_GLOW_SIZE)->getValue().asReal());
|
||||
|
||||
glow.mV[0] = (2 - glow.mV[0]) * SLIDER_SCALE_GLOW_R;
|
||||
glow.mV[2] *= SLIDER_SCALE_GLOW_B;
|
||||
|
||||
mSkySettings->setGlow(glow);
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkySunMoonTab::onStarBrightnessChanged()
|
||||
{
|
||||
mSkySettings->setStarBrightness(getChild<LLUICtrl>(FIELD_SKY_STAR_BRIGHTNESS)->getValue().asReal());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkySunMoonTab::onSunRotationChanged()
|
||||
{
|
||||
mSkySettings->setSunRotation(getChild<LLJoystickQuaternion>(FIELD_SKY_SUN_ROTATION)->getRotation());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkySunMoonTab::onSunImageChanged()
|
||||
{
|
||||
mSkySettings->setSunTextureId(getChild<LLTextureCtrl>(FIELD_SKY_SUN_IMAGE)->getValue().asUUID());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkySunMoonTab::onMoonRotationChanged()
|
||||
{
|
||||
mSkySettings->setMoonRotation(getChild<LLJoystickQuaternion>(FIELD_SKY_MOON_ROTATION)->getRotation());
|
||||
}
|
||||
|
||||
void LLPanelSettingsSkySunMoonTab::onMoonImageChanged()
|
||||
{
|
||||
mSkySettings->setMoonTextureId(getChild<LLTextureCtrl>(FIELD_SKY_MOON_IMAGE)->getValue().asUUID());
|
||||
}
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
/**
|
||||
* @file llpaneleditsky.h
|
||||
* @brief Panels for sky settings
|
||||
*
|
||||
* $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$
|
||||
*/
|
||||
|
||||
#ifndef LLPANEL_EDIT_SKY_H
|
||||
#define LLPANEL_EDIT_SKY_H
|
||||
|
||||
#include "llpanel.h"
|
||||
#include "llsettingssky.h"
|
||||
|
||||
#include "llfloaterfixedenvironment.h"
|
||||
|
||||
//=========================================================================
|
||||
class LLSlider;
|
||||
class LLColorSwatchCtrl;
|
||||
class LLTextureCtrl;
|
||||
|
||||
//=========================================================================
|
||||
class LLPanelSettingsSky : public LLSettingsEditPanel
|
||||
{
|
||||
LOG_CLASS(LLPanelSettingsSky);
|
||||
|
||||
public:
|
||||
LLPanelSettingsSky();
|
||||
|
||||
virtual void setSettings(LLSettingsBase::ptr_t &settings) override { setSky(std::static_pointer_cast<LLSettingsSky>(settings)); }
|
||||
|
||||
LLSettingsSky::ptr_t getSky() const { return mSkySettings; }
|
||||
void setSky(const LLSettingsSky::ptr_t &sky) { mSkySettings = sky; refresh(); }
|
||||
|
||||
protected:
|
||||
LLSettingsSky::ptr_t mSkySettings;
|
||||
};
|
||||
|
||||
class LLPanelSettingsSkyAtmosTab : public LLPanelSettingsSky
|
||||
{
|
||||
LOG_CLASS(LLPanelSettingsSkyAtmosTab);
|
||||
|
||||
public:
|
||||
LLPanelSettingsSkyAtmosTab();
|
||||
|
||||
virtual BOOL postBuild() override;
|
||||
|
||||
protected:
|
||||
virtual void refresh() override;
|
||||
|
||||
private:
|
||||
void onAmbientLightChanged();
|
||||
void onBlueHorizonChanged();
|
||||
void onBlueDensityChanged();
|
||||
void onHazeHorizonChanged();
|
||||
void onHazeDensityChanged();
|
||||
void onSceneGammaChanged();
|
||||
void onDensityMultipChanged();
|
||||
void onDistanceMultipChanged();
|
||||
void onMaxAltChanged();
|
||||
};
|
||||
|
||||
class LLPanelSettingsSkyCloudTab : public LLPanelSettingsSky
|
||||
{
|
||||
LOG_CLASS(LLPanelSettingsSkyCloudTab);
|
||||
|
||||
public:
|
||||
LLPanelSettingsSkyCloudTab();
|
||||
|
||||
virtual BOOL postBuild() override;
|
||||
|
||||
protected:
|
||||
virtual void refresh() override;
|
||||
|
||||
private:
|
||||
void onCloudColorChanged();
|
||||
void onCloudCoverageChanged();
|
||||
void onCloudScaleChanged();
|
||||
void onCloudScrollChanged();
|
||||
void onCloudMapChanged();
|
||||
void onCloudDensityChanged();
|
||||
void onCloudDetailChanged();
|
||||
};
|
||||
|
||||
class LLPanelSettingsSkySunMoonTab : public LLPanelSettingsSky
|
||||
{
|
||||
LOG_CLASS(LLPanelSettingsSkySunMoonTab);
|
||||
|
||||
public:
|
||||
LLPanelSettingsSkySunMoonTab();
|
||||
|
||||
virtual BOOL postBuild() override;
|
||||
|
||||
protected:
|
||||
virtual void refresh() override;
|
||||
|
||||
private:
|
||||
void onSunMoonColorChanged();
|
||||
void onGlowChanged();
|
||||
void onStarBrightnessChanged();
|
||||
void onSunRotationChanged();
|
||||
void onSunImageChanged();
|
||||
void onMoonRotationChanged();
|
||||
void onMoonImageChanged();
|
||||
};
|
||||
#endif // LLPANEL_EDIT_SKY_H
|
||||
|
|
@ -228,6 +228,7 @@ void LLViewerFloaterReg::registerFloaters()
|
|||
LLFloaterReg::add("env_edit_day_cycle", "floater_edit_day_cycle.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterEditDayCycle>);
|
||||
|
||||
LLFloaterReg::add("env_fixed_environmentent_water", "floater_fixedenvironment.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterFixedEnvironmentWater>);
|
||||
LLFloaterReg::add("env_fixed_environmentent_sky", "floater_fixedenvironment.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterFixedEnvironmentSky>);
|
||||
//LLFloaterReg::add("env_fixed_environmentent", "floater_fixedenvironment.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterFixedEnvironment>);
|
||||
|
||||
LLFloaterReg::add("env_edit_extdaycycle", "floater_edit_ext_day_cycle.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterEditExtDayCycle>);
|
||||
|
|
|
|||
|
|
@ -8476,22 +8476,20 @@ class LLWorldEnvPreset : public view_listener_t
|
|||
|
||||
if (item == "new_water")
|
||||
{
|
||||
//LLFloaterReg::showInstance("env_edit_water", "new");
|
||||
LLFloaterReg::showInstance("env_fixed_environmentent_water", "new");
|
||||
}
|
||||
else if (item == "edit_water")
|
||||
{
|
||||
//LLFloaterReg::showInstance("env_edit_water", "edit");
|
||||
LLFloaterReg::showInstance("env_fixed_environmentent_water", "edit");
|
||||
}
|
||||
else if (item == "new_sky")
|
||||
{
|
||||
LLFloaterReg::showInstance("env_edit_sky", "new");
|
||||
}
|
||||
LLFloaterReg::showInstance("env_fixed_environmentent_sky", "new");
|
||||
}
|
||||
else if (item == "edit_sky")
|
||||
{
|
||||
LLFloaterReg::showInstance("env_edit_sky", "edit");
|
||||
}
|
||||
LLFloaterReg::showInstance("env_fixed_environmentent_sky", "edit");
|
||||
}
|
||||
else if (item == "new_day_cycle")
|
||||
{
|
||||
LLFloaterReg::showInstance("env_edit_day_cycle", "new");
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@
|
|||
<layout_panel name="info_panel"
|
||||
auto_resize="false"
|
||||
user_resize="false"
|
||||
bg_alpha_color="blue"
|
||||
min_height="60">
|
||||
<text
|
||||
follows="left|top"
|
||||
|
|
@ -81,7 +80,11 @@
|
|||
tab_position="top"
|
||||
tab_width="120"
|
||||
tab_padding_right="3">
|
||||
<!-- move to own file -->
|
||||
<!-- Tabs inserted here in code -->
|
||||
<!-- -->
|
||||
<!-- -->
|
||||
|
||||
<!-- -->
|
||||
</tab_container>
|
||||
</layout_panel>
|
||||
<layout_panel name="button_panel"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,240 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel
|
||||
border="true"
|
||||
follows="all"
|
||||
label="Atmosphere & Lighting"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="panel_settings_sky_atmos"
|
||||
top="0">
|
||||
<layout_stack
|
||||
left="5"
|
||||
top="5"
|
||||
right="-5"
|
||||
bottom="-5"
|
||||
follows="left|top|right|bottom"
|
||||
orientation="vertical">
|
||||
<layout_panel
|
||||
border="true"
|
||||
bevel_style="in"
|
||||
auto_resize="false"
|
||||
user_resize="false"
|
||||
visible="true"
|
||||
height="75">
|
||||
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="15"
|
||||
top_pad="15"
|
||||
width="80">
|
||||
Ambient Color:
|
||||
</text>
|
||||
<color_swatch
|
||||
can_apply_immediately="true"
|
||||
follows="left|top"
|
||||
height="37"
|
||||
label_height="0"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
name="ambient_light"
|
||||
top_pad="5"
|
||||
width="60" />
|
||||
<text
|
||||
follows="left"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="90"
|
||||
top_delta="-15"
|
||||
width="80">
|
||||
Blue Horizon:
|
||||
</text>
|
||||
<color_swatch
|
||||
can_apply_immediately="true"
|
||||
follows="left|top"
|
||||
height="37"
|
||||
label_height="0"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
name="blue_horizon"
|
||||
top_pad="5"
|
||||
width="60" />
|
||||
<text
|
||||
follows="left"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="90"
|
||||
top_delta="-15"
|
||||
width="80">
|
||||
Blue Density:
|
||||
</text>
|
||||
<color_swatch
|
||||
can_apply_immediately="true"
|
||||
follows="left|top"
|
||||
height="37"
|
||||
label_height="0"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
name="blue_density"
|
||||
top_pad="5"
|
||||
width="60" />
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
border="true"
|
||||
bevel_style="in"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
visible="true">
|
||||
<layout_stack name="atmosphere1"
|
||||
left="5"
|
||||
top="5"
|
||||
right="-5"
|
||||
bottom="-5"
|
||||
follows="left|top|right|bottom"
|
||||
orientation="hoizontal">
|
||||
<layout_panel
|
||||
border="false"
|
||||
bevel_style="in"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
visible="true"
|
||||
min_width="225">
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="15"
|
||||
top_pad="15"
|
||||
width="80">
|
||||
Haze Horizon:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="1"
|
||||
name="haze_horizon"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="-5"
|
||||
top_delta="25"
|
||||
width="80">
|
||||
Haze Density:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="1"
|
||||
name="haze_density"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="-5"
|
||||
top_delta="25"
|
||||
width="80">
|
||||
Scene Gamma:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
max_val="10"
|
||||
name="scene_gamma"
|
||||
top_delta="20"
|
||||
width="207"/>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
border="false"
|
||||
bevel_style="in"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
visible="true"
|
||||
min_width="225">
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="15"
|
||||
top_pad="15"
|
||||
width="200">
|
||||
Density Multiplier:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="0.9"
|
||||
name="density_multip"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="-5"
|
||||
top_delta="25"
|
||||
width="200">
|
||||
Distance Multiplier:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="100"
|
||||
name="distance_multip"
|
||||
top_delta="20"
|
||||
width="214"/>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="-5"
|
||||
top_delta="25"
|
||||
width="200">
|
||||
Maximum Altitude:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="1"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="4000"
|
||||
name="max_alt"
|
||||
top_delta="20"
|
||||
width="214"/>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
|
|
@ -0,0 +1,255 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel
|
||||
border="true"
|
||||
follows="all"
|
||||
label="Clouds"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
help_topic="land_general_tab"
|
||||
name="panel_settings_sky_clouds"
|
||||
top="0">
|
||||
<layout_stack
|
||||
left="5"
|
||||
top="5"
|
||||
right="-5"
|
||||
bottom="-5"
|
||||
follows="left|top|right|bottom"
|
||||
orientation="hoizontal">
|
||||
<layout_panel
|
||||
border="true"
|
||||
bevel_style="in"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
visible="true"
|
||||
height="75">
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="15"
|
||||
top_pad="15"
|
||||
width="80">
|
||||
Cloud Color:
|
||||
</text>
|
||||
<color_swatch
|
||||
can_apply_immediately="true"
|
||||
follows="left|top"
|
||||
height="37"
|
||||
label_height="0"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
name="cloud_color"
|
||||
top_pad="5"
|
||||
width="60" />
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
top_delta="47"
|
||||
width="200">
|
||||
Cloud Coverage:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="1"
|
||||
name="cloud_coverage"
|
||||
top_delta="20"
|
||||
width="214"/>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="-5"
|
||||
top_delta="25"
|
||||
width="200">
|
||||
Cloud Scale:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="1"
|
||||
name="cloud_scale"
|
||||
top_delta="20"
|
||||
width="214"/>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="-5"
|
||||
top_delta="25"
|
||||
width="200">
|
||||
Cloud Scroll:
|
||||
</text>
|
||||
<panel
|
||||
follows="left|top"
|
||||
border="true"
|
||||
bg_alpha_color="red"
|
||||
background_visible="true"
|
||||
width="100"
|
||||
height="100"
|
||||
left_delta="5"
|
||||
top_delta="21">
|
||||
<text>
|
||||
placeholder
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="1"
|
||||
follows="left|top"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
label="X:"
|
||||
left_delta="10"
|
||||
max_val="10"
|
||||
min_val="-10"
|
||||
name="cloud_scroll_x"
|
||||
top_pad="5"
|
||||
width="100"/>
|
||||
<slider
|
||||
decimal_digits="1"
|
||||
follows="left|top"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
label="Y:"
|
||||
left_delta="0"
|
||||
max_val="10"
|
||||
min_val="-10"
|
||||
name="cloud_scroll_y"
|
||||
top_pad="5"
|
||||
orientation="vertical"
|
||||
height="70"/>
|
||||
</panel>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="115"
|
||||
top_delta="-20"
|
||||
width="200">
|
||||
Cloud Image:
|
||||
</text>
|
||||
<texture_picker
|
||||
height="100"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
name="cloud_map"
|
||||
top_pad="10"
|
||||
width="100"/>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
border="true"
|
||||
bevel_style="in"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
visible="true"
|
||||
height="75">
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="15"
|
||||
top_pad="15"
|
||||
width="200">
|
||||
Cloud Density:
|
||||
</text>
|
||||
<slider
|
||||
label="X"
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="1"
|
||||
name="cloud_density_x"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
<slider
|
||||
label="Y"
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
min_val="0"
|
||||
max_val="1"
|
||||
name="cloud_density_y"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
<slider
|
||||
label="D"
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
min_val="0"
|
||||
max_val="1"
|
||||
name="cloud_density_d"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="-5"
|
||||
top_delta="35"
|
||||
width="200">
|
||||
Cloud Detail:
|
||||
</text>
|
||||
<slider
|
||||
label="X"
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="1"
|
||||
name="cloud_detail_x"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
<slider
|
||||
label="Y"
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
min_val="0"
|
||||
max_val="1"
|
||||
name="cloud_detail_y"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
<slider
|
||||
label="D"
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
min_val="0"
|
||||
max_val="1"
|
||||
name="cloud_detail_d"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
|
|
@ -0,0 +1,234 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel
|
||||
border="true"
|
||||
follows="all"
|
||||
label="Sun & Moon"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="panel_settings_sky_hbodies"
|
||||
top="0">
|
||||
<layout_stack
|
||||
left="5"
|
||||
top="5"
|
||||
right="-5"
|
||||
bottom="-5"
|
||||
follows="left|top|right|bottom"
|
||||
orientation="hoizontal">
|
||||
<layout_panel
|
||||
border="true"
|
||||
bevel_style="in"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
visible="true"
|
||||
height="75">
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="15"
|
||||
top_pad="15"
|
||||
width="80">
|
||||
Sun Color:
|
||||
</text>
|
||||
<color_swatch
|
||||
can_apply_immediately="true"
|
||||
follows="left|top"
|
||||
height="37"
|
||||
label_height="0"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
name="sun_moon_color"
|
||||
top_pad="5"
|
||||
width="60" />
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
top_delta="57"
|
||||
width="200">
|
||||
Glow Focus:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="0.5"
|
||||
name="glow_focus"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="-5"
|
||||
top_delta="20"
|
||||
width="200">
|
||||
Glow Size:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="1"
|
||||
max_val="1.99"
|
||||
name="glow_size"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="-5"
|
||||
top_delta="30"
|
||||
width="200">
|
||||
Star Brightness:
|
||||
</text>
|
||||
<slider
|
||||
decimal_digits="2"
|
||||
follows="left|top"
|
||||
height="10"
|
||||
initial_value="0"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
min_val="0"
|
||||
max_val="2"
|
||||
name="star_brightness"
|
||||
top_delta="20"
|
||||
width="200"/>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
border="false"
|
||||
bevel_style="in"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
visible="true"
|
||||
height="75">
|
||||
<layout_stack
|
||||
left="5"
|
||||
top="5"
|
||||
right="-5"
|
||||
bottom="-5"
|
||||
follows="left|top|right|bottom"
|
||||
orientation="vertical">
|
||||
<layout_panel
|
||||
border="true"
|
||||
bevel_style="in"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
visible="true"
|
||||
height="75">
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="15"
|
||||
top_pad="15"
|
||||
font="SansSerifBold"
|
||||
width="80">
|
||||
Sun
|
||||
</text>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="10"
|
||||
top_delta="30"
|
||||
width="100">
|
||||
Position:
|
||||
</text>
|
||||
<joystick_quat
|
||||
follows="left|top"
|
||||
height="78"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
top_delta="20"
|
||||
name="sun_rotation"
|
||||
quadrant="left"
|
||||
sound_flags="3"
|
||||
visible="true"
|
||||
tool_tip="Move sun in sky"
|
||||
width="78" /> <!-- Should be 126x126 -->
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="100"
|
||||
top_delta="-20"
|
||||
width="200">
|
||||
Image:
|
||||
</text>
|
||||
<texture_picker
|
||||
height="100"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
name="sun_image"
|
||||
top_pad="10"
|
||||
width="100"/>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
border="true"
|
||||
bevel_style="in"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
visible="true"
|
||||
height="75">
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="15"
|
||||
top_pad="15"
|
||||
font="SansSerifBold"
|
||||
width="80">
|
||||
Moon
|
||||
</text>
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="10"
|
||||
top_delta="30"
|
||||
width="100">
|
||||
Position:
|
||||
</text>
|
||||
<joystick_quat
|
||||
follows="left|top"
|
||||
height="78"
|
||||
layout="topleft"
|
||||
left_delta="0"
|
||||
top_delta="20"
|
||||
name="moon_rotation"
|
||||
quadrant="left"
|
||||
sound_flags="3"
|
||||
visible="true"
|
||||
tool_tip="Move sun in sky"
|
||||
width="78" /> <!-- Should be 126x126 -->
|
||||
<text
|
||||
follows="left|top"
|
||||
height="10"
|
||||
layout="topleft"
|
||||
left_delta="100"
|
||||
top_delta="-20"
|
||||
width="200">
|
||||
Image:
|
||||
</text>
|
||||
<texture_picker
|
||||
height="100"
|
||||
layout="topleft"
|
||||
left_delta="5"
|
||||
name="moon_image"
|
||||
top_pad="10"
|
||||
width="100"/>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</panel>
|
||||
Loading…
Reference in New Issue