Updated graphical options panel to work with new setting configuration.
This commit is contained in:
@@ -230,11 +230,10 @@ BOOL LLPanelDisplay::postBuild()
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Enable Reflections
|
||||
mCtrlReflections = getChild<LLCheckBoxCtrl>("Reflections");
|
||||
mCtrlReflections->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlReflections->setCallbackUserData(this);
|
||||
mCtrlReflectionDetail = getChild<LLComboBox>("ReflectionDetailCombo");
|
||||
|
||||
mCtrlReflectionDetail->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlReflectionDetail->setCallbackUserData(this);
|
||||
|
||||
// WindLight
|
||||
mCtrlWindLight = getChild<LLCheckBoxCtrl>("WindLightUseAtmosShaders");
|
||||
mCtrlWindLight->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
@@ -244,9 +243,12 @@ BOOL LLPanelDisplay::postBuild()
|
||||
mCtrlDeferred = getChild<LLCheckBoxCtrl>("RenderDeferred");
|
||||
mCtrlDeferred->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlDeferred->setCallbackUserData(this);
|
||||
mCtrlSunShadow = getChild<LLCheckBoxCtrl>("RenderDeferredSunShadow");
|
||||
mCtrlSunShadow->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlSunShadow->setCallbackUserData(this);
|
||||
mCtrlDeferredGI = getChild<LLCheckBoxCtrl>("RenderDeferredGI");
|
||||
mCtrlDeferredGI->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlDeferredGI->setCallbackUserData(this);
|
||||
mCtrlShadowDetail = getChild<LLComboBox>("ShadowDetailCombo");
|
||||
mCtrlShadowDetail->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlShadowDetail->setCallbackUserData(this);
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Enable Avatar Shaders
|
||||
@@ -306,6 +308,12 @@ BOOL LLPanelDisplay::postBuild()
|
||||
mCtrlAvatarFactor->setCommitCallback(&LLPanelDisplay::updateSliderText);
|
||||
mCtrlAvatarFactor->setCallbackUserData(mAvatarFactorText);
|
||||
|
||||
// Avatar physics detail slider
|
||||
mCtrlAvatarPhysicsFactor = getChild<LLSliderCtrl>("AvatarPhysicsDetail");
|
||||
mAvatarPhysicsFactorText = getChild<LLTextBox>("AvatarPhysicsDetailText");
|
||||
mCtrlAvatarPhysicsFactor->setCommitCallback(&LLPanelDisplay::updateSliderText);
|
||||
mCtrlAvatarPhysicsFactor->setCallbackUserData(mAvatarPhysicsFactorText);
|
||||
|
||||
// Terrain detail slider
|
||||
mCtrlTerrainFactor = getChild<LLSliderCtrl>("TerrainMeshDetail");
|
||||
mTerrainFactorText = getChild<LLTextBox>("TerrainMeshDetailText");
|
||||
@@ -397,14 +405,15 @@ void LLPanelDisplay::refresh()
|
||||
mBumpShiny = gSavedSettings.getBOOL("RenderObjectBump");
|
||||
mShaderEnable = gSavedSettings.getBOOL("VertexShaderEnable");
|
||||
mWindLight = gSavedSettings.getBOOL("WindLightUseAtmosShaders");
|
||||
mReflections = gSavedSettings.getBOOL("RenderWaterReflections");
|
||||
mAvatarVP = gSavedSettings.getBOOL("RenderAvatarVP");
|
||||
mDeferred = gSavedSettings.getBOOL("RenderDeferred");
|
||||
mSunShadow = gSavedSettings.getBOOL("RenderDeferredSunShadow");
|
||||
mDeferredGI = gSavedSettings.getBOOL("RenderDeferredGI");
|
||||
|
||||
// reflection radio
|
||||
mReflectionDetail = gSavedSettings.getS32("RenderReflectionDetail");
|
||||
|
||||
mShadowDetail = gSavedSettings.getS32("RenderShadowDetail");
|
||||
|
||||
// avatar settings
|
||||
mAvatarImpostors = gSavedSettings.getBOOL("RenderUseImpostors");
|
||||
mAvatarCloth = gSavedSettings.getBOOL("RenderAvatarCloth");
|
||||
@@ -431,6 +440,7 @@ void LLPanelDisplay::refresh()
|
||||
updateSliderText(mCtrlFlexFactor, mFlexFactorText);
|
||||
updateSliderText(mCtrlTreeFactor, mTreeFactorText);
|
||||
updateSliderText(mCtrlAvatarFactor, mAvatarFactorText);
|
||||
updateSliderText(mCtrlAvatarPhysicsFactor, mAvatarPhysicsFactorText);
|
||||
updateSliderText(mCtrlTerrainFactor, mTerrainFactorText);
|
||||
updateSliderText(mCtrlPostProcess, mPostProcessText);
|
||||
updateSliderText(mCtrlSkyFactor, mSkyFactorText);
|
||||
@@ -468,13 +478,11 @@ void LLPanelDisplay::refreshEnabledState()
|
||||
BOOL reflections = gSavedSettings.getBOOL("VertexShaderEnable")
|
||||
&& gGLManager.mHasCubeMap
|
||||
&& LLCubeMap::sUseCubeMaps;
|
||||
mCtrlReflections->setEnabled(reflections);
|
||||
mCtrlReflectionDetail->setEnabled(reflections);
|
||||
|
||||
// Bump & Shiny
|
||||
bool bumpshiny = gGLManager.mHasCubeMap && LLCubeMap::sUseCubeMaps && LLFeatureManager::getInstance()->isFeatureAvailable("RenderObjectBump");
|
||||
mCtrlBumpShiny->setEnabled(bumpshiny ? TRUE : FALSE);
|
||||
|
||||
mCtrlReflectionDetail->setEnabled(mCtrlReflections->get() && reflections);
|
||||
|
||||
// Avatar Mode
|
||||
S32 max_avatar_shader = LLViewerShaderMgr::instance()->mMaxAvatarShaderLevel;
|
||||
@@ -501,8 +509,9 @@ void LLPanelDisplay::refreshEnabledState()
|
||||
|
||||
|
||||
mCtrlDeferred->setEnabled(can_defer);
|
||||
mCtrlSunShadow->setEnabled(can_defer && gSavedSettings.getBOOL("RenderDeferred"));
|
||||
mCtrlAvatarCloth->setValue(gSavedSettings.getBOOL("RenderAvatarVP")); //Enabling RenderDeferred changes this setting behind this floaters back.
|
||||
mCtrlShadowDetail->setEnabled(can_defer && gSavedSettings.getBOOL("RenderDeferred"));
|
||||
//GI won't do anything with shadows off, but disabling it here is less than intuitive. Ignore shadow setting for now.
|
||||
mCtrlDeferredGI->setEnabled(mCtrlShadowDetail->getEnabled()/* && gSavedSettings.getS32("RenderShadowDetail") > 0*/);
|
||||
|
||||
// Vertex Shaders
|
||||
// mCtrlShaderEnable->setEnabled(LLFeatureManager::getInstance()->isFeatureAvailable("VertexShaderEnable"));
|
||||
@@ -551,8 +560,8 @@ void LLPanelDisplay::disableUnavailableSettings()
|
||||
mCtrlWindLight->setEnabled(FALSE);
|
||||
mCtrlWindLight->setValue(FALSE);
|
||||
|
||||
mCtrlReflections->setEnabled(FALSE);
|
||||
mCtrlReflections->setValue(FALSE);
|
||||
mCtrlReflectionDetail->setEnabled(FALSE);
|
||||
mCtrlReflectionDetail->setValue(FALSE);
|
||||
|
||||
mCtrlAvatarVP->setEnabled(FALSE);
|
||||
mCtrlAvatarVP->setValue(FALSE);
|
||||
@@ -562,8 +571,10 @@ void LLPanelDisplay::disableUnavailableSettings()
|
||||
|
||||
mCtrlDeferred->setEnabled(FALSE);
|
||||
mCtrlDeferred->setValue(FALSE);
|
||||
mCtrlSunShadow->setEnabled(FALSE);
|
||||
mCtrlSunShadow->setValue(FALSE);
|
||||
mCtrlDeferredGI->setEnabled(FALSE);
|
||||
mCtrlDeferredGI->setValue(FALSE);
|
||||
mCtrlShadowDetail->setEnabled(FALSE);
|
||||
mCtrlShadowDetail->setValue(FALSE);
|
||||
}
|
||||
|
||||
// disabled windlight
|
||||
@@ -576,8 +587,8 @@ void LLPanelDisplay::disableUnavailableSettings()
|
||||
// disabled reflections
|
||||
if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderWaterReflections"))
|
||||
{
|
||||
mCtrlReflections->setEnabled(FALSE);
|
||||
mCtrlReflections->setValue(FALSE);
|
||||
mCtrlReflectionDetail->setEnabled(FALSE);
|
||||
mCtrlReflectionDetail->setValue(FALSE);
|
||||
}
|
||||
|
||||
// disabled av
|
||||
@@ -606,8 +617,10 @@ void LLPanelDisplay::disableUnavailableSettings()
|
||||
{
|
||||
mCtrlDeferred->setEnabled(FALSE);
|
||||
mCtrlDeferred->setValue(FALSE);
|
||||
mCtrlSunShadow->setEnabled(FALSE);
|
||||
mCtrlSunShadow->setValue(FALSE);
|
||||
mCtrlDeferredGI->setEnabled(FALSE);
|
||||
mCtrlDeferredGI->setValue(FALSE);
|
||||
mCtrlShadowDetail->setEnabled(FALSE);
|
||||
mCtrlShadowDetail->setValue(FALSE);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -669,6 +682,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
||||
mCtrlFlexFactor->setVisible(!isHidden);
|
||||
mCtrlTreeFactor->setVisible(!isHidden);
|
||||
mCtrlAvatarFactor->setVisible(!isHidden);
|
||||
mCtrlAvatarPhysicsFactor->setVisible(!isHidden);
|
||||
mCtrlTerrainFactor->setVisible(!isHidden);
|
||||
mCtrlSkyFactor->setVisible(!isHidden);
|
||||
mCtrlMaxParticle->setVisible(!isHidden);
|
||||
@@ -678,12 +692,12 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
||||
mFlexFactorText->setVisible(!isHidden);
|
||||
mTreeFactorText->setVisible(!isHidden);
|
||||
mAvatarFactorText->setVisible(!isHidden);
|
||||
mAvatarPhysicsFactorText->setVisible(!isHidden);
|
||||
mTerrainFactorText->setVisible(!isHidden);
|
||||
mSkyFactorText->setVisible(!isHidden);
|
||||
mPostProcessText->setVisible(!isHidden);
|
||||
|
||||
mCtrlBumpShiny->setVisible(!isHidden);
|
||||
mCtrlReflections->setVisible(!isHidden);
|
||||
mCtrlWindLight->setVisible(!isHidden);
|
||||
mCtrlAvatarVP->setVisible(!isHidden);
|
||||
mCtrlShaderEnable->setVisible(!isHidden);
|
||||
@@ -695,7 +709,8 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
||||
mCtrlReflectionDetail->setVisible(!isHidden);
|
||||
|
||||
mCtrlDeferred->setVisible(!isHidden);
|
||||
mCtrlSunShadow->setVisible(!isHidden);
|
||||
mCtrlDeferredGI->setVisible(!isHidden);
|
||||
mCtrlShadowDetail->setVisible(!isHidden);
|
||||
|
||||
// text boxes
|
||||
mShaderText->setVisible(!isHidden);
|
||||
@@ -727,12 +742,13 @@ void LLPanelDisplay::cancel()
|
||||
gSavedSettings.setBOOL("RenderObjectBump", mBumpShiny);
|
||||
gSavedSettings.setBOOL("VertexShaderEnable", mShaderEnable);
|
||||
gSavedSettings.setBOOL("WindLightUseAtmosShaders", mWindLight);
|
||||
gSavedSettings.setBOOL("RenderWaterReflections", mReflections);
|
||||
|
||||
gSavedSettings.setBOOL("RenderAvatarVP", mAvatarVP);
|
||||
gSavedSettings.setBOOL("RenderDeferred", mDeferred);
|
||||
gSavedSettings.setBOOL("RenderDeferredSunShadow", mSunShadow);
|
||||
gSavedSettings.setBOOL("RenderDeferredGI", mDeferredGI);
|
||||
|
||||
gSavedSettings.setS32("RenderReflectionDetail", mReflectionDetail);
|
||||
gSavedSettings.setS32("RenderShadowDetail", mShadowDetail);
|
||||
|
||||
gSavedSettings.setBOOL("RenderUseImpostors", mAvatarImpostors);
|
||||
gSavedSettings.setBOOL("RenderAvatarCloth", mAvatarCloth);
|
||||
@@ -989,6 +1005,13 @@ void LLPanelDisplay::updateSliderText(LLUICtrl* ctrl, void* user_data)
|
||||
return;
|
||||
}
|
||||
|
||||
//Hack to display 'Off' for avatar physics slider.
|
||||
if(slider->getName() == "AvatarPhysicsDetail" && !slider->getValueF32())
|
||||
{
|
||||
text_box->setText(std::string("Off"));
|
||||
return;
|
||||
}
|
||||
|
||||
// get range and points when text should change
|
||||
F32 range = slider->getMaxValue() - slider->getMinValue();
|
||||
llassert(range > 0);
|
||||
@@ -1004,10 +1027,14 @@ void LLPanelDisplay::updateSliderText(LLUICtrl* ctrl, void* user_data)
|
||||
{
|
||||
text_box->setText(std::string("Mid"));
|
||||
}
|
||||
else
|
||||
else if(slider->getValueF32() < slider->getMaxValue())
|
||||
{
|
||||
text_box->setText(std::string("High"));
|
||||
}
|
||||
else
|
||||
{
|
||||
text_box->setText(std::string("Max"));
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanelDisplay::updateMeterText(LLUICtrl* ctrl, void* user_data)
|
||||
|
||||
@@ -101,18 +101,19 @@ protected:
|
||||
LLSliderCtrl *mCtrlFlexFactor; // Timeslice for flexible objects
|
||||
LLSliderCtrl *mCtrlTreeFactor; // Control tree cutoff distance
|
||||
LLSliderCtrl *mCtrlAvatarFactor; // LOD for avatars
|
||||
LLSliderCtrl *mCtrlAvatarPhysicsFactor; // Physics LOD for avatars
|
||||
LLSliderCtrl *mCtrlTerrainFactor; // LOD for terrain
|
||||
LLSliderCtrl *mCtrlSkyFactor; // LOD for terrain
|
||||
LLSliderCtrl *mCtrlMaxParticle; // Max Particle
|
||||
LLSliderCtrl *mCtrlPostProcess; // Max Particle
|
||||
|
||||
LLCheckBoxCtrl *mCtrlBumpShiny;
|
||||
LLCheckBoxCtrl *mCtrlReflections;
|
||||
LLCheckBoxCtrl *mCtrlWindLight;
|
||||
LLCheckBoxCtrl *mCtrlAvatarVP;
|
||||
LLCheckBoxCtrl *mCtrlShaderEnable;
|
||||
LLCheckBoxCtrl *mCtrlDeferred;
|
||||
LLCheckBoxCtrl *mCtrlSunShadow;
|
||||
LLCheckBoxCtrl *mCtrlDeferredGI;
|
||||
LLComboBox *mCtrlShadowDetail;
|
||||
LLCheckBoxCtrl *mCtrlAvatarImpostors;
|
||||
LLCheckBoxCtrl *mCtrlAvatarCloth;
|
||||
LLRadioGroup *mRadioLightingDetail2;
|
||||
@@ -136,6 +137,7 @@ protected:
|
||||
LLTextBox *mFlexFactorText;
|
||||
LLTextBox *mTreeFactorText;
|
||||
LLTextBox *mAvatarFactorText;
|
||||
LLTextBox *mAvatarPhysicsFactorText;
|
||||
LLTextBox *mTerrainFactorText;
|
||||
LLTextBox *mSkyFactorText;
|
||||
LLTextBox *mPostProcessText;
|
||||
@@ -151,12 +153,12 @@ protected:
|
||||
BOOL mBumpShiny;
|
||||
BOOL mShaderEnable;
|
||||
BOOL mWindLight;
|
||||
BOOL mReflections;
|
||||
BOOL mDeferred;
|
||||
BOOL mSunShadow;
|
||||
BOOL mDeferredGI;
|
||||
BOOL mAvatarVP;
|
||||
|
||||
S32 mReflectionDetail;
|
||||
S32 mShadowDetail;
|
||||
|
||||
BOOL mAvatarImpostors;
|
||||
BOOL mAvatarCloth;
|
||||
|
||||
@@ -496,7 +496,9 @@ BOOL LLPhysicsMotionController::onUpdate(F32 time, U8* joint_mask)
|
||||
{
|
||||
// Skip if disabled globally.
|
||||
static const LLCachedControl<bool> avatar_physics("AvatarPhysics",false);
|
||||
if (!avatar_physics || (!((LLVOAvatar*)mCharacter)->isSelf() && !((LLVOAvatar*)mCharacter)->mSupportsPhysics))
|
||||
bool supports_physics = !avatar_physics || (!((LLVOAvatar*)mCharacter)->isSelf() && !((LLVOAvatar*)mCharacter)->mSupportsPhysics);
|
||||
//Treat lod 0 as AvatarPhyiscs:FALSE. AvatarPhyiscs setting is superfluous unless we decide to hook it into param sending.
|
||||
if (supports_physics || !LLVOAvatar::sPhysicsLODFactor)
|
||||
{
|
||||
if(!mIsDefault)
|
||||
{
|
||||
@@ -507,6 +509,7 @@ BOOL LLPhysicsMotionController::onUpdate(F32 time, U8* joint_mask)
|
||||
}
|
||||
mCharacter->updateVisualParams();
|
||||
}
|
||||
if(!supports_physics) //Only use emerald physics if avatarphysiscs is really off, or the client doesn't seem to support new physics.
|
||||
((LLVOAvatar*)mCharacter)->idleUpdateBoobEffect(); //Fall back to emerald physics
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -191,37 +191,35 @@
|
||||
initial_value="true" label="Deferred Shading" left_delta="0"
|
||||
mouse_opaque="true" name="RenderDeferred" radio_style="false"
|
||||
width="256" />
|
||||
<check_box bottom_delta="-17" control_name="RenderDeferredSunShadow" enabled="true"
|
||||
<check_box bottom_delta="-17" control_name="RenderDeferredGI" enabled="true"
|
||||
follows="left|top" font="SansSerifSmall" height="16"
|
||||
initial_value="true" label="Primary Shadows" left_delta="0"
|
||||
mouse_opaque="true" name="RenderDeferredSunShadow" radio_style="false"
|
||||
initial_value="true" label="Global Illumination (Experimental!)" left_delta="0"
|
||||
mouse_opaque="true" name="RenderDeferredGI" radio_style="false"
|
||||
width="256" />
|
||||
<check_box bottom_delta="-17" control_name="RenderWaterReflections" enabled="true"
|
||||
follows="left|top" font="SansSerifSmall" height="16"
|
||||
initial_value="true" label="Water Reflections" left_delta="0"
|
||||
mouse_opaque="true" name="Reflections" radio_style="false" width="256" />
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom_delta="-17" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
||||
left="10" mouse_opaque="true" name="ReflectionDetailText" v_pad="0"
|
||||
left="15" mouse_opaque="true" name="ReflectionDetailText" v_pad="0"
|
||||
width="128">
|
||||
Reflection Detail:
|
||||
Water Reflections:
|
||||
</text>
|
||||
<combo_box bottom_delta="-20" control_name="RenderReflectionDetail" enabled = "true" follows="left|top" label="Reflection Detail"
|
||||
left_delta="-2" mouse_opaque="true" name="ReflectionDetailCombo" width="160" height="16">
|
||||
<combo_item type="string" length="1" name="0" value="0">
|
||||
<combo_item type="string" length="1" name="0" value="0">
|
||||
Disabled
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" name="1" value="1">
|
||||
Terrain and Trees
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" name="1" value="1">
|
||||
<combo_item type="string" length="1" name="2" value="2">
|
||||
All Static Objects
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" name="2" value="2">
|
||||
<combo_item type="string" length="1" name="3" value="3">
|
||||
All Avatars and Objects
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" name="3" value="3">
|
||||
<combo_item type="string" length="1" name="4" value="4">
|
||||
Everything
|
||||
</combo_item>
|
||||
|
||||
</combo_box>
|
||||
|
||||
<!--radio_group bottom_delta="-73" control_name="RenderReflectionDetail" draw_border="false"
|
||||
@@ -245,6 +243,27 @@
|
||||
Everything
|
||||
</radio_item>
|
||||
</radio_group-->
|
||||
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom_delta="-17" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
||||
left="15" mouse_opaque="true" name="ShadowDetailText" v_pad="0"
|
||||
width="128">
|
||||
Deferred Shadows:
|
||||
</text>
|
||||
<combo_box bottom_delta="-20" control_name="RenderShadowDetail" enabled = "true" follows="left|top" label="Shadow Detail"
|
||||
left_delta="-2" mouse_opaque="true" name="ShadowDetailCombo" width="160" height="16">
|
||||
<combo_item type="string" length="1" name="0" value="0">
|
||||
Disabled
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" name="1" value="1">
|
||||
Sun shadows
|
||||
</combo_item>
|
||||
<combo_item type="string" length="1" name="2" value="2">
|
||||
Sun and spotlight shadows
|
||||
</combo_item>
|
||||
</combo_box>
|
||||
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom="-313" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
font="SansSerifSmall" h_pad="0" halign="left" height="12" left="10"
|
||||
@@ -320,6 +339,11 @@
|
||||
increment="0.125" initial_val="160" label=" Avatars:"
|
||||
label_width="140" left_delta="0" max_val="1" min_val="0"
|
||||
mouse_opaque="true" name="AvatarMeshDetail" show_text="false" width="223" />
|
||||
<slider bottom_delta="-20" can_edit_text="false" control_name="RenderAvatarPhysicsLODFactor"
|
||||
decimal_digits="3" enabled="true" follows="left|top" height="16"
|
||||
increment="0.1" initial_val="160" label=" Avatar Physics:"
|
||||
label_width="140" left_delta="0" max_val="1" min_val="0"
|
||||
mouse_opaque="true" name="AvatarPhysicsDetail" show_text="false" width="223" />
|
||||
<slider bottom_delta="-20" can_edit_text="false" control_name="RenderTerrainLODFactor"
|
||||
decimal_digits="3" enabled="true" follows="left|top" height="16"
|
||||
increment="0.125" initial_val="160" label=" Terrain:"
|
||||
@@ -364,6 +388,13 @@
|
||||
name="AvatarMeshDetailText" v_pad="0" width="128">
|
||||
Low
|
||||
</text>
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom_delta="-20" drop_shadow_visible="true" enabled="true"
|
||||
follows="left|top" font="SansSerifSmall" h_pad="0" halign="left"
|
||||
height="12" left_delta="0" mouse_opaque="true"
|
||||
name="AvatarPhysicsDetailText" v_pad="0" width="128">
|
||||
Off
|
||||
</text>
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom_delta="-20" drop_shadow_visible="true" enabled="true"
|
||||
follows="left|top" font="SansSerifSmall" h_pad="0" halign="left"
|
||||
@@ -379,7 +410,7 @@
|
||||
Low
|
||||
</text>
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom="-331" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
bottom="-352" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
font="SansSerifSmall" h_pad="0" halign="left" height="12"
|
||||
left="210" mouse_opaque="true" name="LightingDetailText" v_pad="0"
|
||||
width="128">
|
||||
@@ -398,7 +429,7 @@
|
||||
</radio_item>
|
||||
</radio_group>
|
||||
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
|
||||
bottom="-331" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
bottom="-352" drop_shadow_visible="true" enabled="true" follows="left|top"
|
||||
font="SansSerifSmall" h_pad="0" halign="left" height="12" left="360"
|
||||
mouse_opaque="true" name="TerrainDetailText" v_pad="0" width="128">
|
||||
Terrain Detail:
|
||||
|
||||
Reference in New Issue
Block a user