Merge branch 'master' of git://github.com/Shyotl/SingularityViewer
Conflicts: indra/llaudio/llstreamingaudio_fmodex.cpp indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml
This commit is contained in:
@@ -48,7 +48,6 @@
|
|||||||
#include "lllistener.h"
|
#include "lllistener.h"
|
||||||
|
|
||||||
const F32 LL_WIND_UPDATE_INTERVAL = 0.1f;
|
const F32 LL_WIND_UPDATE_INTERVAL = 0.1f;
|
||||||
const F32 LL_ROLLOFF_MULTIPLIER_UNDER_WATER = 5.f; // How much sounds are weaker under water
|
|
||||||
const F32 LL_WIND_UNDERWATER_CENTER_FREQ = 20.f;
|
const F32 LL_WIND_UNDERWATER_CENTER_FREQ = 20.f;
|
||||||
|
|
||||||
const F32 ATTACHED_OBJECT_TIMEOUT = 5.0f;
|
const F32 ATTACHED_OBJECT_TIMEOUT = 5.0f;
|
||||||
|
|||||||
@@ -72,6 +72,8 @@ bool attemptDelayLoad()
|
|||||||
|
|
||||||
FMOD_RESULT F_CALLBACK windCallback(FMOD_DSP_STATE *dsp_state, float *inbuffer, float *outbuffer, unsigned int length, int inchannels, int outchannels);
|
FMOD_RESULT F_CALLBACK windCallback(FMOD_DSP_STATE *dsp_state, float *inbuffer, float *outbuffer, unsigned int length, int inchannels, int outchannels);
|
||||||
|
|
||||||
|
FMOD::ChannelGroup *LLAudioEngine_FMODEX::mChannelGroups[LLAudioEngine::AUDIO_TYPE_COUNT] = {0};
|
||||||
|
|
||||||
LLAudioEngine_FMODEX::LLAudioEngine_FMODEX(bool enable_profiler)
|
LLAudioEngine_FMODEX::LLAudioEngine_FMODEX(bool enable_profiler)
|
||||||
{
|
{
|
||||||
mInited = false;
|
mInited = false;
|
||||||
@@ -159,7 +161,13 @@ bool LLAudioEngine_FMODEX::init(const S32 num_channels, void* userdata)
|
|||||||
|
|
||||||
U32 fmod_flags = FMOD_INIT_NORMAL;
|
U32 fmod_flags = FMOD_INIT_NORMAL;
|
||||||
if(mEnableProfiler)
|
if(mEnableProfiler)
|
||||||
|
{
|
||||||
fmod_flags |= FMOD_INIT_ENABLE_PROFILE;
|
fmod_flags |= FMOD_INIT_ENABLE_PROFILE;
|
||||||
|
mSystem->createChannelGroup("None", &mChannelGroups[AUDIO_TYPE_NONE]);
|
||||||
|
mSystem->createChannelGroup("SFX", &mChannelGroups[AUDIO_TYPE_SFX]);
|
||||||
|
mSystem->createChannelGroup("UI", &mChannelGroups[AUDIO_TYPE_UI]);
|
||||||
|
mSystem->createChannelGroup("Ambient", &mChannelGroups[AUDIO_TYPE_AMBIENT]);
|
||||||
|
}
|
||||||
|
|
||||||
#if LL_LINUX
|
#if LL_LINUX
|
||||||
bool audio_ok = false;
|
bool audio_ok = false;
|
||||||
@@ -604,6 +612,9 @@ void LLAudioChannelFMODEX::play()
|
|||||||
Check_FMOD_Error(mChannelp->setPaused(false), "FMOD::Channel::pause");
|
Check_FMOD_Error(mChannelp->setPaused(false), "FMOD::Channel::pause");
|
||||||
|
|
||||||
getSource()->setPlayedOnce(true);
|
getSource()->setPlayedOnce(true);
|
||||||
|
|
||||||
|
if(LLAudioEngine_FMODEX::mChannelGroups[getSource()->getType()])
|
||||||
|
mChannelp->setChannelGroup(LLAudioEngine_FMODEX::mChannelGroups[getSource()->getType()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ namespace FMOD
|
|||||||
{
|
{
|
||||||
class System;
|
class System;
|
||||||
class Channel;
|
class Channel;
|
||||||
|
class ChannelGroup;
|
||||||
class Sound;
|
class Sound;
|
||||||
class DSP;
|
class DSP;
|
||||||
}
|
}
|
||||||
@@ -83,6 +84,9 @@ protected:
|
|||||||
FMOD::DSP *mWindDSP;
|
FMOD::DSP *mWindDSP;
|
||||||
FMOD::System *mSystem;
|
FMOD::System *mSystem;
|
||||||
bool mEnableProfiler;
|
bool mEnableProfiler;
|
||||||
|
|
||||||
|
public:
|
||||||
|
static FMOD::ChannelGroup *mChannelGroups[LLAudioEngine::AUDIO_TYPE_COUNT];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -106,6 +106,15 @@ void LLListener_FMODEX::commitDeferredChanges()
|
|||||||
|
|
||||||
void LLListener_FMODEX::setRolloffFactor(F32 factor)
|
void LLListener_FMODEX::setRolloffFactor(F32 factor)
|
||||||
{
|
{
|
||||||
|
//An internal FMODEx optimization skips 3D updates if there have not been changes to the 3D sound environment.
|
||||||
|
//Sadly, a change in rolloff is not accounted for, thus we must touch the listener properties as well.
|
||||||
|
//In short: Changing the position ticks a dirtyflag inside fmodex, which makes it not skip 3D processing next update call.
|
||||||
|
if(mRolloffFactor != factor)
|
||||||
|
{
|
||||||
|
LLVector3 pos = mVelocity - LLVector3(0.f,0.f,.1f);
|
||||||
|
mSystem->set3DListenerAttributes(0, (FMOD_VECTOR*)pos.mV, NULL, NULL, NULL);
|
||||||
|
mSystem->set3DListenerAttributes(0, (FMOD_VECTOR*)mVelocity.mV, NULL, NULL, NULL);
|
||||||
|
}
|
||||||
mRolloffFactor = factor;
|
mRolloffFactor = factor;
|
||||||
mSystem->set3DSettings(mDopplerFactor, 1.f, mRolloffFactor);
|
mSystem->set3DSettings(mDopplerFactor, 1.f, mRolloffFactor);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -172,7 +172,6 @@ void LLStreamingAudio_FMODEX::update()
|
|||||||
|
|
||||||
if(mFMODInternetStreamChannelp)
|
if(mFMODInternetStreamChannelp)
|
||||||
{
|
{
|
||||||
//llinfos << "progress = " << progress << llendl;
|
|
||||||
if(!mMetaData)
|
if(!mMetaData)
|
||||||
mMetaData = new LLSD;
|
mMetaData = new LLSD;
|
||||||
|
|
||||||
@@ -484,4 +483,4 @@ void LLStreamingAudio_FMODEX::setBufferSizes(U32 streambuffertime, U32 decodebuf
|
|||||||
settings.cbsize=sizeof(settings);
|
settings.cbsize=sizeof(settings);
|
||||||
settings.defaultDecodeBufferSize = decodebuffertime;//ms
|
settings.defaultDecodeBufferSize = decodebuffertime;//ms
|
||||||
mSystem->setAdvancedSettings(&settings);
|
mSystem->setAdvancedSettings(&settings);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1725,6 +1725,17 @@
|
|||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<real>1.0</real>
|
<real>1.0</real>
|
||||||
</map>
|
</map>
|
||||||
|
<key>AudioLevelUnderwaterRolloff</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Controls the distance-based dropoff of audio volume when camera is submerged (fraction or multiple of default audio rolloff)</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>F32</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<real>4.0</real>
|
||||||
|
</map>
|
||||||
<key>AudioLevelSFX</key>
|
<key>AudioLevelSFX</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ void LLPanelAudioPrefs::refreshValues()
|
|||||||
mPreviousMediaVolume = gSavedSettings.getF32("AudioLevelMedia");
|
mPreviousMediaVolume = gSavedSettings.getF32("AudioLevelMedia");
|
||||||
mPreviousDoppler = gSavedSettings.getF32("AudioLevelDoppler");
|
mPreviousDoppler = gSavedSettings.getF32("AudioLevelDoppler");
|
||||||
mPreviousRolloff = gSavedSettings.getF32("AudioLevelRolloff");
|
mPreviousRolloff = gSavedSettings.getF32("AudioLevelRolloff");
|
||||||
|
mPreviousUnderwaterRolloff = gSavedSettings.getF32("AudioLevelUnderwaterRolloff");
|
||||||
|
|
||||||
mPreviousMoneyThreshold = gSavedSettings.getF32("UISndMoneyChangeThreshold");
|
mPreviousMoneyThreshold = gSavedSettings.getF32("UISndMoneyChangeThreshold");
|
||||||
mPreviousHealthThreshold = gSavedSettings.getF32("UISndHealthReductionThreshold");
|
mPreviousHealthThreshold = gSavedSettings.getF32("UISndHealthReductionThreshold");
|
||||||
@@ -126,6 +127,7 @@ void LLPanelAudioPrefs::cancel()
|
|||||||
gSavedSettings.setF32("AudioLevelMedia", mPreviousMediaVolume);
|
gSavedSettings.setF32("AudioLevelMedia", mPreviousMediaVolume);
|
||||||
gSavedSettings.setF32("AudioLevelDoppler", mPreviousDoppler );
|
gSavedSettings.setF32("AudioLevelDoppler", mPreviousDoppler );
|
||||||
gSavedSettings.setF32("AudioLevelRolloff", mPreviousRolloff );
|
gSavedSettings.setF32("AudioLevelRolloff", mPreviousRolloff );
|
||||||
|
gSavedSettings.setF32("AudioLevelUnderwaterRolloff", mPreviousUnderwaterRolloff );
|
||||||
|
|
||||||
gSavedSettings.setF32("UISndMoneyChangeThreshold", mPreviousMoneyThreshold );
|
gSavedSettings.setF32("UISndMoneyChangeThreshold", mPreviousMoneyThreshold );
|
||||||
gSavedSettings.setF32("UISndHealthReductionThreshold", mPreviousHealthThreshold );
|
gSavedSettings.setF32("UISndHealthReductionThreshold", mPreviousHealthThreshold );
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ private:
|
|||||||
F32 mPreviousDoppler;
|
F32 mPreviousDoppler;
|
||||||
F32 mPreviousDistance;
|
F32 mPreviousDistance;
|
||||||
F32 mPreviousRolloff;
|
F32 mPreviousRolloff;
|
||||||
|
F32 mPreviousUnderwaterRolloff;
|
||||||
|
|
||||||
S32 mPreviousBitrate;
|
S32 mPreviousBitrate;
|
||||||
|
|
||||||
|
|||||||
@@ -224,6 +224,9 @@ BOOL LLPanelDisplay::postBuild()
|
|||||||
|
|
||||||
mGraphicsBorder = getChild<LLViewBorder>("GraphicsBorder");
|
mGraphicsBorder = getChild<LLViewBorder>("GraphicsBorder");
|
||||||
|
|
||||||
|
// Enable Transparent Water
|
||||||
|
mCtrlTransparentWater = getChild<LLCheckBoxCtrl>("TransparentWater");
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// Enable Bump/Shiny
|
// Enable Bump/Shiny
|
||||||
mCtrlBumpShiny = getChild<LLCheckBoxCtrl>("BumpShiny");
|
mCtrlBumpShiny = getChild<LLCheckBoxCtrl>("BumpShiny");
|
||||||
@@ -414,6 +417,7 @@ void LLPanelDisplay::refresh()
|
|||||||
mQualityPerformance = gSavedSettings.getU32("RenderQualityPerformance");
|
mQualityPerformance = gSavedSettings.getU32("RenderQualityPerformance");
|
||||||
mCustomSettings = gSavedSettings.getBOOL("RenderCustomSettings");
|
mCustomSettings = gSavedSettings.getBOOL("RenderCustomSettings");
|
||||||
|
|
||||||
|
mTransparentWater = gSavedSettings.getBOOL("RenderTransparentWater");
|
||||||
// shader settings
|
// shader settings
|
||||||
mBumpShiny = gSavedSettings.getBOOL("RenderObjectBump");
|
mBumpShiny = gSavedSettings.getBOOL("RenderObjectBump");
|
||||||
mShaderEnable = gSavedSettings.getBOOL("VertexShaderEnable");
|
mShaderEnable = gSavedSettings.getBOOL("VertexShaderEnable");
|
||||||
@@ -678,6 +682,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
|||||||
llassert(mSkyFactorText != NULL);
|
llassert(mSkyFactorText != NULL);
|
||||||
llassert(mPostProcessText != NULL);
|
llassert(mPostProcessText != NULL);
|
||||||
|
|
||||||
|
llassert(mCtrlTransparentWater != NULL);
|
||||||
llassert(mCtrlBumpShiny != NULL);
|
llassert(mCtrlBumpShiny != NULL);
|
||||||
llassert(mCtrlWindLight != NULL);
|
llassert(mCtrlWindLight != NULL);
|
||||||
llassert(mCtrlAvatarVP != NULL);
|
llassert(mCtrlAvatarVP != NULL);
|
||||||
@@ -730,6 +735,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
|||||||
mSkyFactorText->setVisible(!isHidden);
|
mSkyFactorText->setVisible(!isHidden);
|
||||||
mPostProcessText->setVisible(!isHidden);
|
mPostProcessText->setVisible(!isHidden);
|
||||||
|
|
||||||
|
mCtrlTransparentWater->setVisible(!isHidden);
|
||||||
mCtrlBumpShiny->setVisible(!isHidden);
|
mCtrlBumpShiny->setVisible(!isHidden);
|
||||||
mCtrlWindLight->setVisible(!isHidden);
|
mCtrlWindLight->setVisible(!isHidden);
|
||||||
mCtrlAvatarVP->setVisible(!isHidden);
|
mCtrlAvatarVP->setVisible(!isHidden);
|
||||||
@@ -777,6 +783,7 @@ void LLPanelDisplay::cancel()
|
|||||||
|
|
||||||
gSavedSettings.setBOOL("RenderCustomSettings", mCustomSettings);
|
gSavedSettings.setBOOL("RenderCustomSettings", mCustomSettings);
|
||||||
|
|
||||||
|
gSavedSettings.setBOOL("RenderTransparentWater", mTransparentWater);
|
||||||
gSavedSettings.setBOOL("RenderObjectBump", mBumpShiny);
|
gSavedSettings.setBOOL("RenderObjectBump", mBumpShiny);
|
||||||
gSavedSettings.setBOOL("VertexShaderEnable", mShaderEnable);
|
gSavedSettings.setBOOL("VertexShaderEnable", mShaderEnable);
|
||||||
gSavedSettings.setBOOL("WindLightUseAtmosShaders", mWindLight);
|
gSavedSettings.setBOOL("WindLightUseAtmosShaders", mWindLight);
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ protected:
|
|||||||
LLSliderCtrl *mCtrlPostProcess; // Max Particle
|
LLSliderCtrl *mCtrlPostProcess; // Max Particle
|
||||||
LLSliderCtrl *mCtrlNonImpostors; // Max non-impostors
|
LLSliderCtrl *mCtrlNonImpostors; // Max non-impostors
|
||||||
|
|
||||||
|
LLCheckBoxCtrl *mCtrlTransparentWater;
|
||||||
LLCheckBoxCtrl *mCtrlBumpShiny;
|
LLCheckBoxCtrl *mCtrlBumpShiny;
|
||||||
LLCheckBoxCtrl *mCtrlWindLight;
|
LLCheckBoxCtrl *mCtrlWindLight;
|
||||||
LLCheckBoxCtrl *mCtrlAvatarVP;
|
LLCheckBoxCtrl *mCtrlAvatarVP;
|
||||||
@@ -155,6 +156,7 @@ protected:
|
|||||||
S32 mQualityPerformance;
|
S32 mQualityPerformance;
|
||||||
BOOL mCustomSettings;
|
BOOL mCustomSettings;
|
||||||
|
|
||||||
|
BOOL mTransparentWater;
|
||||||
BOOL mBumpShiny;
|
BOOL mBumpShiny;
|
||||||
BOOL mShaderEnable;
|
BOOL mShaderEnable;
|
||||||
BOOL mWindLight;
|
BOOL mWindLight;
|
||||||
|
|||||||
@@ -134,6 +134,7 @@ void audio_update_volume(bool force_update)
|
|||||||
static const LLCachedControl<bool> mute_when_minimized("MuteWhenMinimized",true);
|
static const LLCachedControl<bool> mute_when_minimized("MuteWhenMinimized",true);
|
||||||
static const LLCachedControl<F32> audio_level_doppler("AudioLevelDoppler",1.0);
|
static const LLCachedControl<F32> audio_level_doppler("AudioLevelDoppler",1.0);
|
||||||
static const LLCachedControl<F32> audio_level_rolloff("AudioLevelRolloff",1.0);
|
static const LLCachedControl<F32> audio_level_rolloff("AudioLevelRolloff",1.0);
|
||||||
|
static const LLCachedControl<F32> audio_level_underwater_rolloff("AudioLevelUnderwaterRolloff",3.0);
|
||||||
BOOL mute_audio = _mute_audio;
|
BOOL mute_audio = _mute_audio;
|
||||||
if (!gViewerWindow->getActive() && mute_when_minimized)
|
if (!gViewerWindow->getActive() && mute_when_minimized)
|
||||||
{
|
{
|
||||||
@@ -147,7 +148,11 @@ void audio_update_volume(bool force_update)
|
|||||||
gAudiop->setMasterGain ( master_volume );
|
gAudiop->setMasterGain ( master_volume );
|
||||||
|
|
||||||
gAudiop->setDopplerFactor(audio_level_doppler);
|
gAudiop->setDopplerFactor(audio_level_doppler);
|
||||||
gAudiop->setRolloffFactor(audio_level_rolloff);
|
if(!LLViewerCamera::getInstance()->cameraUnderWater())
|
||||||
|
gAudiop->setRolloffFactor( audio_level_rolloff );
|
||||||
|
else
|
||||||
|
gAudiop->setRolloffFactor( audio_level_underwater_rolloff );
|
||||||
|
|
||||||
gAudiop->setMuted(mute_audio);
|
gAudiop->setMuted(mute_audio);
|
||||||
|
|
||||||
if (force_update)
|
if (force_update)
|
||||||
@@ -215,32 +220,8 @@ void audio_update_listener()
|
|||||||
void audio_update_wind(bool force_update)
|
void audio_update_wind(bool force_update)
|
||||||
{
|
{
|
||||||
#ifdef kAUDIO_ENABLE_WIND
|
#ifdef kAUDIO_ENABLE_WIND
|
||||||
//
|
if(gAgent.getRegion())
|
||||||
// Extract height above water to modulate filter by whether above/below water
|
|
||||||
//
|
|
||||||
LLViewerRegion* region = gAgent.getRegion();
|
|
||||||
if (region)
|
|
||||||
{
|
{
|
||||||
static F32 last_camera_water_height = -1000.f;
|
|
||||||
LLVector3 camera_pos = gAgentCamera.getCameraPositionAgent();
|
|
||||||
F32 camera_water_height = camera_pos.mV[VZ] - region->getWaterHeight();
|
|
||||||
|
|
||||||
//
|
|
||||||
// Don't update rolloff factor unless water surface has been crossed
|
|
||||||
//
|
|
||||||
if (force_update || (last_camera_water_height * camera_water_height) < 0.f)
|
|
||||||
{
|
|
||||||
static const LLCachedControl<F32> audio_level_rolloff("AudioLevelRolloff",1);
|
|
||||||
if (camera_water_height < 0.f)
|
|
||||||
{
|
|
||||||
gAudiop->setRolloffFactor(audio_level_rolloff * LL_ROLLOFF_MULTIPLIER_UNDER_WATER);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gAudiop->setRolloffFactor(audio_level_rolloff);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scale down the contribution of weather-simulation wind to the
|
// Scale down the contribution of weather-simulation wind to the
|
||||||
// ambient wind noise. Wind velocity averages 3.5 m/s, with gusts to 7 m/s
|
// ambient wind noise. Wind velocity averages 3.5 m/s, with gusts to 7 m/s
|
||||||
// whereas steady-state avatar walk velocity is only 3.2 m/s.
|
// whereas steady-state avatar walk velocity is only 3.2 m/s.
|
||||||
@@ -289,8 +270,7 @@ void audio_update_wind(bool force_update)
|
|||||||
gAudiop->mMaxWindGain = llmax(gAudiop->mMaxWindGain - volume_delta, 0.f);
|
gAudiop->mMaxWindGain = llmax(gAudiop->mMaxWindGain - volume_delta, 0.f);
|
||||||
}
|
}
|
||||||
|
|
||||||
last_camera_water_height = camera_water_height;
|
gAudiop->updateWind(gRelativeWindVec, gAgentCamera.getCameraPositionAgent()[VZ] - gAgent.getRegion()->getWaterHeight());
|
||||||
gAudiop->updateWind(gRelativeWindVec, camera_water_height);
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -698,6 +698,7 @@ void settings_setup_listeners()
|
|||||||
gSavedSettings.getControl("AudioLevelVoice")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
gSavedSettings.getControl("AudioLevelVoice")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
||||||
gSavedSettings.getControl("AudioLevelDoppler")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
gSavedSettings.getControl("AudioLevelDoppler")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
||||||
gSavedSettings.getControl("AudioLevelRolloff")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
gSavedSettings.getControl("AudioLevelRolloff")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
||||||
|
gSavedSettings.getControl("AudioLevelUnderwaterRolloff")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
||||||
gSavedSettings.getControl("AudioStreamingMusic")->getSignal()->connect(boost::bind(&handleAudioStreamMusicChanged, _2));
|
gSavedSettings.getControl("AudioStreamingMusic")->getSignal()->connect(boost::bind(&handleAudioStreamMusicChanged, _2));
|
||||||
gSavedSettings.getControl("MuteAudio")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
gSavedSettings.getControl("MuteAudio")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
||||||
gSavedSettings.getControl("MuteMusic")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
gSavedSettings.getControl("MuteMusic")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2));
|
||||||
|
|||||||
@@ -9,8 +9,9 @@
|
|||||||
<check_box bottom_delta="-20" control_name="ParcelMediaAutoPlayEnable" follows="top" height="16" initial_value="true" label="Automatically play media" left="162" name="auto_streaming_video"/>
|
<check_box bottom_delta="-20" control_name="ParcelMediaAutoPlayEnable" follows="top" height="16" initial_value="true" label="Automatically play media" left="162" name="auto_streaming_video"/>
|
||||||
<check_box bottom_delta="-20" control_name="MediaEnableFilter" follows="top" height="16" initial_value="true" label="Ask for permission (enables filtering)" name="streaming_video"/>
|
<check_box bottom_delta="-20" control_name="MediaEnableFilter" follows="top" height="16" initial_value="true" label="Ask for permission (enables filtering)" name="streaming_video"/>
|
||||||
<check_box bottom_delta="-25" control_name="MuteWhenMinimized" follows="top" height="16" initial_value="true" label="Mute Audio When Window Minimized" left="142" name="mute_when_minimized"/>
|
<check_box bottom_delta="-25" control_name="MuteWhenMinimized" follows="top" height="16" initial_value="true" label="Mute Audio When Window Minimized" left="142" name="mute_when_minimized"/>
|
||||||
<slider bottom_delta="-20" control_name="AudioLevelDoppler" edit_text="true" follows="top" height="15" increment="0.1" initial_val="1" label="Doppler Effect" label_width="69" left="148" max_val="2" min_val="0" name="Doppler Effect" show_text="true" width="219" />
|
<slider bottom_delta="-20" control_name="AudioLevelDoppler" edit_text="true" follows="top" height="15" increment="0.1" initial_val="1" label="Doppler Effect" label_width="130" left="148" max_val="2" min_val="0" name="Doppler Effect" show_text="true" width="300" />
|
||||||
<slider bottom_delta="-20" control_name="AudioLevelRolloff" edit_text="true" follows="top" height="15" increment="0.1" initial_val="1" label="Rolloff Factor" label_width="69" max_val="2" min_val="0" name="Rolloff Factor" width="219"/>
|
<slider bottom_delta="-20" control_name="AudioLevelRolloff" edit_text="true" follows="top" height="15" increment="0.1" initial_val="1" label="Rolloff Factor (Default)" label_width="130" max_val="2" min_val="0" name="Rolloff Factor" width="300"/>
|
||||||
<spinner bottom_delta="-20" control_name="UISndMoneyChangeThreshold" decimal_digits="0" follows="top" height="16" increment="10" initial_val="10" label="[CURRENCY] change threshold:" label_width="128" max_val="10000" min_val="0" name="currency_change_threshold" width="192"/>
|
<slider bottom_delta="-20" control_name="AudioLevelUnderwaterRolloff" edit_text="true" follows="top" height="15" increment="0.1" initial_val="3" label="Rolloff Factor (Underwater)" label_width="130" max_val="8" min_val="0" name="Underwater Rolloff Factor" width="300"/>
|
||||||
|
<spinner bottom_delta="-20" control_name="UISndMoneyChangeThreshold" decimal_digits="0" follows="top" height="16" increment="10" initial_val="10" label="[CURRENCY] change threshold:" label_width="128" max_val="10000" min_val="0" name="currency_change_threshold" width="192"/>
|
||||||
<spinner bottom_delta="-20" control_name="UISndHealthReductionThreshold" decimal_digits="0" follows="top" height="16" increment="10" initial_val="20" label="Health Change Threshold" label_width="128" max_val="10000" min_val="0" name="Health Change Threshold" width="192" />
|
<spinner bottom_delta="-20" control_name="UISndHealthReductionThreshold" decimal_digits="0" follows="top" height="16" increment="10" initial_val="20" label="Health Change Threshold" label_width="128" max_val="10000" min_val="0" name="Health Change Threshold" width="192" />
|
||||||
</panel>
|
</panel>
|
||||||
|
|||||||
@@ -39,7 +39,8 @@
|
|||||||
<check_box bottom="-96" control_name="RenderCustomSettings" label="Custom" left="395" initial_value="true" name="CustomSettings"/>
|
<check_box bottom="-96" control_name="RenderCustomSettings" label="Custom" left="395" initial_value="true" name="CustomSettings"/>
|
||||||
<!--view_border bevel_style="none" bottom="-395" height="280" left="5" name="GraphicsBorder" width="485"/-->
|
<!--view_border bevel_style="none" bottom="-395" height="280" left="5" name="GraphicsBorder" width="485"/-->
|
||||||
<text bottom="-130" height="12" left="10" name="ShadersText">Shaders:</text>
|
<text bottom="-130" height="12" left="10" name="ShadersText">Shaders:</text>
|
||||||
<check_box bottom_delta="-23" control_name="RenderObjectBump" height="16" initial_value="true" label="Bump mapping and shiny" left="10" name="BumpShiny"/>
|
<check_box bottom_delta="-23" control_name="RenderTransparentWater" height="16" initial_value="true" label="Transparent water" left="10" name="TransparentWater"/>
|
||||||
|
<check_box bottom_delta="-17" control_name="RenderObjectBump" height="16" initial_value="true" label="Bump mapping and shiny" left="10" name="BumpShiny"/>
|
||||||
<check_box bottom_delta="-17" control_name="RenderLocalLights" height="16" label="Local Lights" name="LightingDetailRadio"/>
|
<check_box bottom_delta="-17" control_name="RenderLocalLights" height="16" label="Local Lights" name="LightingDetailRadio"/>
|
||||||
<check_box bottom_delta="-17" control_name="VertexShaderEnable" height="16" initial_value="true" label="Basic shaders" left_delta="0" name="BasicShaders" tool_tip="Disabling this option may prevent some graphics card drivers from crashing."/>
|
<check_box bottom_delta="-17" control_name="VertexShaderEnable" height="16" initial_value="true" label="Basic shaders" left_delta="0" name="BasicShaders" tool_tip="Disabling this option may prevent some graphics card drivers from crashing."/>
|
||||||
<check_box bottom_delta="-17" control_name="WindLightUseAtmosShaders" initial_value="true" label="Atmospheric shaders" left_delta="0" name="WindLightUseAtmosShaders"/>
|
<check_box bottom_delta="-17" control_name="WindLightUseAtmosShaders" initial_value="true" label="Atmospheric shaders" left_delta="0" name="WindLightUseAtmosShaders"/>
|
||||||
@@ -47,20 +48,20 @@
|
|||||||
<check_box bottom_delta="-17" control_name="RenderDeferredSSAO" height="16" initial_value="true" label="Ambient Occlusion" left_delta="0" name="UseSSAO"/>
|
<check_box bottom_delta="-17" control_name="RenderDeferredSSAO" height="16" initial_value="true" label="Ambient Occlusion" left_delta="0" name="UseSSAO"/>
|
||||||
<check_box bottom_delta="-17" control_name="RenderDepthOfField" initial_value="true" label="Depth of Field" left_delta="0" name="RenderDepthOfField"/>
|
<check_box bottom_delta="-17" control_name="RenderDepthOfField" initial_value="true" label="Depth of Field" left_delta="0" name="RenderDepthOfField"/>
|
||||||
<text bottom_delta="-20" height="12" left="15" name="TerrainScaleText">Terrain Scale:</text>
|
<text bottom_delta="-20" height="12" left="15" name="TerrainScaleText">Terrain Scale:</text>
|
||||||
<combo_box bottom_delta="-22" control_name="RenderTerrainScale" label="Terrain Scale" left_delta="-2" name="TerrainScaleCombo" width="160" height="16">
|
<combo_box bottom_delta="-16" control_name="RenderTerrainScale" label="Terrain Scale" left_delta="-2" name="TerrainScaleCombo" width="160" height="16">
|
||||||
<combo_item name="Low" value="12">Low</combo_item>
|
<combo_item name="Low" value="12">Low</combo_item>
|
||||||
<combo_item name="Medium" value="9">Medium</combo_item>
|
<combo_item name="Medium" value="9">Medium</combo_item>
|
||||||
<combo_item name="High" value="7">High</combo_item>
|
<combo_item name="High" value="7">High</combo_item>
|
||||||
<combo_item name="Ultra" value="5">Ultra</combo_item>
|
<combo_item name="Ultra" value="5">Ultra</combo_item>
|
||||||
</combo_box>
|
</combo_box>
|
||||||
<text bottom_delta="-20" height="12" left="15" name="ShadowDetailText">Shadows:</text>
|
<text bottom_delta="-20" height="12" left="15" name="ShadowDetailText">Shadows:</text>
|
||||||
<combo_box bottom_delta="-22" control_name="RenderShadowDetail" label="Shadow Detail" left_delta="-2" name="ShadowDetailCombo" width="160" height="16">
|
<combo_box bottom_delta="-16" control_name="RenderShadowDetail" label="Shadow Detail" left_delta="-2" name="ShadowDetailCombo" width="160" height="16">
|
||||||
<combo_item name="0" value="0">Disabled</combo_item>
|
<combo_item name="0" value="0">Disabled</combo_item>
|
||||||
<combo_item name="1" value="1">Sun/Moon</combo_item>
|
<combo_item name="1" value="1">Sun/Moon</combo_item>
|
||||||
<combo_item name="2" value="2">Sun/Moon + Projectors</combo_item>
|
<combo_item name="2" value="2">Sun/Moon + Projectors</combo_item>
|
||||||
</combo_box>
|
</combo_box>
|
||||||
<text bottom_delta="-20" height="12" left="15" name="ReflectionDetailText">Water Reflections:</text>
|
<text bottom_delta="-20" height="12" left="15" name="ReflectionDetailText">Water Reflections:</text>
|
||||||
<combo_box bottom_delta="-22" control_name="RenderReflectionDetail" label="Reflection Detail" left_delta="-2" name="ReflectionDetailCombo" width="160" height="16">
|
<combo_box bottom_delta="-16" control_name="RenderReflectionDetail" label="Reflection Detail" left_delta="-2" name="ReflectionDetailCombo" width="160" height="16">
|
||||||
<combo_item name="0" value="0">Minimal</combo_item>
|
<combo_item name="0" value="0">Minimal</combo_item>
|
||||||
<combo_item name="1" value="1">Terrain and trees</combo_item>
|
<combo_item name="1" value="1">Terrain and trees</combo_item>
|
||||||
<combo_item name="2" value="2">All static objects</combo_item>
|
<combo_item name="2" value="2">All static objects</combo_item>
|
||||||
@@ -99,7 +100,7 @@
|
|||||||
<radio_item bottom="-15" height="16" left="3" name="0" width="315">Low</radio_item>
|
<radio_item bottom="-15" height="16" left="3" name="0" width="315">Low</radio_item>
|
||||||
<radio_item bottom="-31" height="16" name="2" width="315">High</radio_item>
|
<radio_item bottom="-31" height="16" name="2" width="315">High</radio_item>
|
||||||
</radio_group>
|
</radio_group>
|
||||||
<button bottom="-440" height="20" label="Reset" left="110" name="Defaults" scale_image="true" width="100"/>
|
<button bottom="-440" height="20" label="Reset to defaults" left="10" name="Defaults" scale_image="true" width="240"/>
|
||||||
<!--button bottom="-440" height="20" label="Advanced" left="230" name="CustomSettingsButton" scale_image="true" width="120" toggle="true" control_name="RenderCustomSettings"/-->
|
<!--button bottom="-440" height="20" label="Advanced" left="230" name="CustomSettingsButton" scale_image="true" width="120" toggle="true" control_name="RenderCustomSettings"/-->
|
||||||
<button bottom="-440" height="20" label="Hardware" left="370" name="GraphicsHardwareButton" scale_image="true" width="120"/>
|
<button bottom="-440" height="20" label="Hardware" left="370" name="GraphicsHardwareButton" scale_image="true" width="120"/>
|
||||||
<string name="resolution_format">[RES_X] x [RES_Y]</string>
|
<string name="resolution_format">[RES_X] x [RES_Y]</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user