summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/character/avatar_lad.xml1133
-rw-r--r--indra/newview/llagentcamera.cpp1
-rw-r--r--indra/newview/llpaneleditwearable.cpp20
-rw-r--r--indra/newview/llphysicsmotion.cpp213
-rw-r--r--indra/newview/llpolymesh.cpp16
-rw-r--r--indra/newview/llsidepanelappearance.cpp11
-rw-r--r--indra/newview/skins/default/xui/en/panel_edit_physics.xml92
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml10
-rw-r--r--indra/newview/skins/default/xui/en/panel_scrolling_param_base.xml13
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml60
10 files changed, 874 insertions, 695 deletions
diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml
index 7ab93d3fce..4585ba658c 100644
--- a/indra/newview/character/avatar_lad.xml
+++ b/indra/newview/character/avatar_lad.xml
@@ -3795,18 +3795,6 @@
</param>
<param
- id="1092"
- group="1"
- name="Belly_Torso_Physics_UpDown_Driven"
- wearable="physics"
- edit_group="driven"
- value_default="0"
- value_min="-1"
- value_max="1">
- <param_morph />
- </param>
-
- <param
id="626"
sex="female"
group="1"
@@ -4052,33 +4040,6 @@
scale="0.0 0.0 0.01"
pos="0 0 -0.01"/>
</param_morph>
-
- </param>
-
- <param
- id="1087"
- group="0"
- sex="female"
- name="Breast_Gravity"
- wearable="shape"
- edit_group="driven"
- value_default="0"
- value_min="-1.5"
- value_max="2">
- <param_morph />
- </param>
-
- <param
- id="1088"
- group="0"
- sex="female"
- name="Breast_Female_Cleavage"
- wearable="shape"
- edit_group="driven"
- value_default="0"
- value_min="-.3"
- value_max="1.3">
- <param_morph />
</param>
<param
@@ -4328,8 +4289,52 @@
</param>
<!--
+ #############
+ # physics morphs (not user controlled)
+ #############
+ -->
+ <param
+ id="1200"
+ group="1"
+ sex="female"
+ name="Breast_Gravity"
+ wearable="shape"
+ edit_group="driven"
+ value_default="0"
+ value_min="-1.5"
+ value_max="2">
+ <param_morph />
+ </param>
+
+ <param
+ id="1201"
+ group="1"
+ sex="female"
+ name="Breast_Female_Cleavage"
+ wearable="shape"
+ edit_group="driven"
+ value_default="0"
+ value_min="-.3"
+ value_max="1.3">
+ <param_morph />
+ </param>
+
+ <param
+ id="1204"
+ group="1"
+ name="Belly_Physics_Torso_UpDown_Driven"
+ wearable="physics"
+ edit_group="driven"
+ value_default="0"
+ value_min="-1"
+ value_max="1">
+ <param_morph />
+ </param>
+
+ <!--
#end morph targets
-->
+
</mesh>
<mesh
@@ -4390,17 +4395,6 @@
<param_morph />
</param>
- <param
- id="1093"
- group="1"
- name="Belly_Legs_Physics_UpDown_Driven"
- wearable="physics"
- edit_group="driven"
- value_min="-1"
- value_max="1">
- <param_morph />
- </param>
-
<param
id="151"
@@ -4441,38 +4435,6 @@
</param>
<param
- id="1089"
- group="0"
- name="Butt_Physics_UpDown_Driven"
- wearable="physics"
- edit_group="driven"
- label_min="Separate"
- label_max="Join"
- value_default="0"
- value_min="-2"
- value_max="2"
- camera_elevation=".3"
- camera_distance=".8">
- <param_morph />
- </param>
-
- <param
- id="1090"
- group="0"
- name="Butt_Physics_LeftRight_Driven"
- wearable="physics"
- edit_group="driven"
- label_min="Separate"
- label_max="Join"
- value_default="0"
- value_min="-2"
- value_max="2"
- camera_elevation=".3"
- camera_distance=".8">
- <param_morph />
- </param>
-
- <param
id="152"
group="1"
name="Muscular_Legs"
@@ -4873,8 +4835,49 @@
</param>
<!--
+ #############
+ # physics morphs (not user controlled)
+ #############
+ -->
+ <param
+ id="1202"
+ group="1"
+ name="Belly_Physics_Legs_UpDown_Driven"
+ wearable="physics"
+ edit_group="driven"
+ value_min="-1"
+ value_max="1">
+ <param_morph />
+ </param>
+
+
+ <param
+ id="1205"
+ group="1"
+ name="Butt_Physics_UpDown_Driven"
+ wearable="physics"
+ edit_group="driven"
+ value_default="0">
+ <param_morph />
+ </param>
+
+ <param
+ id="1206"
+ group="1"
+ name="Butt_Physics_LeftRight_Driven"
+ wearable="physics"
+ edit_group="driven"
+ value_default="0"
+ value_min="-2"
+ value_max="2">
+ <param_morph />
+ </param>
+
+
+ <!--
#end morph targets
-->
+
</mesh>
<mesh
@@ -5186,18 +5189,6 @@
</param>
<param
- id="1094"
- group="1"
- name="Belly_Skirt_Physics_UpDown_Driven"
- wearable="physics"
- edit_group="driven"
- cross_wearable="true"
- value_min="-1"
- value_max="1">
- <param_morph />
- </param>
-
- <param
id="850"
group="1"
wearable="skirt"
@@ -9132,295 +9123,6 @@ render_pass="bump">
<driver_parameters>
<param
- id="1074"
- group="0"
- sex="female"
- name="Breast_Physics_Mass"
- label="Breast Physics Mass"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default=".1"
- value_min=".1"
- value_max="1">
- <param_driver />
- </param>
-
- <param
- id="1075"
- group="0"
- sex="female"
- name="Breast_Physics_Smoothing"
- label="Breast Physics Smoothing"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default="2"
- value_min="1"
- value_max="10">
- <param_driver />
- </param>
-
- <param
- id="1076"
- group="0"
- sex="female"
- name="Breast_Physics_Gravity"
- label="Breast Physics Gravity"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default="0"
- value_min="0"
- value_max="1">
- <param_driver />
- </param>
-
- <param
- id="1077"
- group="0"
- sex="female"
- name="Breast_Physics_Side_Spring"
- label="Breast Physics Side Spring"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default=".1"
- value_min="0"
- value_max="1">
- <param_driver />
- </param>
-
- <param
- id="1078"
- group="0"
- sex="female"
- name="Breast_Physics_Side_Gain"
- label="Breast Physics Side Gain"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default="10"
- value_min="1"
- value_max="100">
- <param_driver />
- </param>
-
- <param
- id="1079"
- group="0"
- sex="female"
- name="Breast_Physics_Side_Damping"
- label="Breast Physics Side Damping"
- wearable="physics"
- edit_group="physics"
- label_min="Less"
- label_max="More"
- value_default=".05"
- value_min="0"
- value_max=".1">
- <param_driver />
- </param>
-
- <param
- id="1080"
- group="0"
- sex="female"
- name="Breast_Physics_Side_Drag"
- label="Breast Physics Side Drag"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default=".15"
- value_min="0"
- value_max=".5">
- <param_driver />
- </param>
-
- <param
- id="1081"
- group="0"
- sex="female"
- name="Breast_Physics_Side_Max_Velocity"
- label="Breast Physics Side Max Speed"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default="0"
- value_min="0"
- value_max="10">
- <param_driver />
- </param>
-
-
- <param
- id="1082"
- group="0"
- sex="female"
- name="Breast_Physics_UpDown_Spring"
- label="Breast Physics UpDown Spring"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default=".1"
- value_min="0"
- value_max="1">
- <param_driver />
- </param>
-
- <param
- id="1083"
- group="0"
- sex="female"
- name="Breast_Physics_UpDown_Gain"
- label="Breast Physics UpDown Gain"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default="10"
- value_min="1"
- value_max="100">
- <param_driver />
- </param>
-
- <param
- id="1084"
- group="0"
- sex="female"
- name="Breast_Physics_UpDown_Damping"
- label="Breast Physics UpDown Damping"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default=".05"
- value_min="0"
- value_max=".1"
- camera_elevation=".3"
- camera_distance=".8">
- <param_driver />
- </param>
-
- <param
- id="1085"
- group="0"
- sex="female"
- name="Breast_Physics_UpDown_Drag"
- label="Breast Physics UpDown Drag"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default=".15"
- value_min="0"
- value_max=".5">
- <param_driver />
- </param>
-
- <param
- id="1086"
- group="0"
- sex="female"
- name="Breast_Physics_UpDown_Max_Velocity"
- label="Breast Physics UpDown Max Speed"
- wearable="physics"
- edit_group="physics_breasts"
- label_min="Less"
- label_max="More"
- value_default="0"
- value_min="0"
- value_max="10">
- <param_driver />
- </param>
-
- <param
- id="1104"
- group="1"
- wearable="shape"
- edit_group="physics_butt"
- name="Butt_Physics_UpDown_Controller"
- label="Butt Physics UpDown Controller"
- label_min="Down"
- label_max="Up"
- value_min="-1"
- value_max="1"
- value_default="0">
- <param_driver>
- <driven
- id="1089" />
- </param_driver>
- </param>
-
- <param
- id="1105"
- group="1"
- wearable="shape"
- edit_group="physics_butt"
- name="Butt_Physics_LeftRight_Controller"
- label="Butt Physics LeftRight Controller"
- label_min="Down"
- label_max="Up"
- value_min="-1"
- value_max="1"
- value_default="0">
- <param_driver>
- <driven
- id="1090" />
- </param_driver>
- </param>
-
- <param
- id="507"
- group="0"
- sex="female"
- name="Breast_Physics_UpDown_Controller"
- label="Breast Physics UpDown Controller"
- wearable="shape"
- edit_group="shape_torso"
- edit_group_order="7"
- label_min="Less"
- label_max="More"
- value_default="0"
- value_min="-1.5"
- value_max="2"
- camera_elevation=".3"
- camera_distance=".8">
- <param_driver>
- <driven
- id="1087" />
- </param_driver>
- </param>
-
- <param
- id="684"
- group="0"
- sex="female"
- name="Breast_Physics_Side_Controller"
- label="Breast Physics Side Controller"
- wearable="shape"
- edit_group="shape_torso"
- edit_group_order="8"
- label_min="Less"
- label_max="More"
- value_default="0"
- value_min="-.3"
- value_max="1.3">
- <param_driver>
- <driven
- id="1088" />
- </param_driver>
- </param>
-
- <param
id="828"
group="0"
name="Loose Upper Clothing"
@@ -10144,153 +9846,6 @@ render_pass="bump">
</param>
<param
- id="1091"
- group="1"
- wearable="physics"
- edit_group="physics_belly"
- edit_group_order="14"
- name="Belly_Physics_UpDown_Controller"
- label="Belly Physics UpDown Controller"
- label_min="Down"
- label_max="Up"
- value_min="-1"
- value_max="1"
- value_default="0"
- camera_distance="1.4"
- camera_angle="30"
- camera_elevation=".2">
- <param_driver>
- <driven
- id="1092" />
- <driven
- id="1093" />
- <driven
- id="1094" />
- </param_driver>
- </param>
-
- <param
- id="1095"
- group="0"
- name="Belly_Physics_UpDown_Spring"
- label="Belly Physics UpDown Spring"
- wearable="physics"
- edit_group="physics_belly"
- label_min="Less"
- label_max="More"
- value_default=".1"
- value_min="0"
- value_max="1">
- <param_driver />
- </param>
-
- <param
- id="1096"
- group="0"
- name="Belly_Physics_UpDown_Gain"
- label="Belly Physics UpDown Gain"
- wearable="physics"
- edit_group="physics_belly"
- label_min="Less"
- label_max="More"
- value_default="10"
- value_min="1"
- value_max="100">
- <param_driver />
- </param>
-
- <param
- id="1097"
- group="0"
- name="Belly_Physics_UpDown_Damping"
- label="Belly Physics UpDown Damping"
- wearable="physics"
- edit_group="physics"
- label_min="Less"
- label_max="More"
- value_default=".05"
- value_min="0"
- value_max=".1">
- <param_driver />
- </param>
-
- <param
- id="1098"
- group="0"
- name="Belly_Physics_UpDown_Max_Velocity"
- label="Belly Physics UpDown Max Speed"
- wearable="physics"
- edit_group="physics_belly"
- label_min="Less"
- label_max="More"
- value_default="0"
- value_min="0"
- value_max="10">
- <param_driver />
- </param>
-
- <param
- id="1100"
- group="0"
- name="Butt_Physics_UpDown_Spring"
- label="Butt Physics UpDown Spring"
- wearable="physics"
- edit_group="physics_butt"
- label_min="Less"
- label_max="More"
- value_default=".1"
- value_min="0"
- value_max="1">
- <param_driver />
- </param>
-
- <param
- id="1101"
- group="0"
- name="Butt_Physics_UpDown_Gain"
- label="Butt Physics UpDown Gain"
- wearable="physics"
- edit_group="physics_butt"
- label_min="Less"
- label_max="More"
- value_default="10"
- value_min="1"
- value_max="100">
- <param_driver />
- </param>
-
- <param
- id="1102"
- group="0"
- name="Butt_Physics_UpDown_Damping"
- label="Butt Physics UpDown Damping"
- wearable="physics_butt"
- edit_group="physics"
- label_min="Less"
- label_max="More"
- value_default=".05"
- value_min="0"
- value_max=".1">
- <param_driver />
- </param>
-
- <param
- id="1103"
- group="0"
- name="Butt_Physics_UpDown_Max_Velocity"
- label="Butt Physics UpDown Max Speed"
- wearable="physics"
- edit_group="physics_butt"
- label_min="Less"
- label_max="More"
- value_default="0"
- value_min="0"
- value_max="10">
- <param_driver />
- </param>
-
-
- <param
id="637"
group="0"
wearable="shape"
@@ -12124,6 +11679,524 @@ render_pass="bump">
</param_driver>
</param>
+ <!-- ==PHYSICS PARAMETERS======================================= -->
+
+ <param
+ id="507"
+ group="0"
+ sex="female"
+ name="Breast_Physics_UpDown_Controller"
+ label="Breast Physics UpDown Controller"
+ wearable="shape"
+ edit_group="shape_torso"
+ edit_group_order="7"
+ value_default="0"
+ value_min="-1.5"
+ value_max="2"
+ camera_elevation=".3"
+ camera_distance=".8">
+ <param_driver>
+ <driven
+ id="1200" />
+ </param_driver>
+ </param>
+
+ <param
+ id="684"
+ group="0"
+ sex="female"
+ name="Breast_Physics_InOut_Controller"
+ label="Breast Physics InOut Controller"
+ wearable="shape"
+ edit_group="shape_torso"
+ edit_group_order="8"
+ value_default="0"
+ value_min="-.3"
+ value_max="1.3">
+ <param_driver>
+ <driven
+ id="1201" />
+ </param_driver>
+ </param>
+
+ <param
+ id="1120"
+ group="1"
+ wearable="physics"
+ name="Belly_Physics_UpDown_Controller"
+ label="Belly Physics UpDown Controller"
+ value_min="-1"
+ value_max="1"
+ value_default="0">
+ <param_driver>
+ <driven
+ id="1202" />
+ <driven
+ id="1203" />
+ <driven
+ id="1204" />
+ </param_driver>
+ </param>
+
+ <param
+ id="1100"
+ group="1"
+ wearable="shape"
+ name="Butt_Physics_UpDown_Controller"
+ label="Butt Physics UpDown Controller"
+ value_min="-1"
+ value_max="1"
+ value_default="0">
+ <param_driver>
+ <driven
+ id="1205" />
+ </param_driver>
+ </param>
+
+ <param
+ id="1101"
+ group="1"
+ wearable="shape"
+ name="Butt_Physics_LeftRight_Controller"
+ label="Butt Physics LeftRight Controller"
+ value_min="-1"
+ value_max="1"
+ value_default="0">
+ <param_driver>
+ <driven
+ id="1206" />
+ </param_driver>
+ </param>
+
+ <param
+ id="1110"
+ group="0"
+ sex="female"
+ name="Breast_Physics_Mass"
+ label="Breast Physics Mass"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default=".1"
+ value_min=".1"
+ value_max="1">
+ <param_driver />
+ </param>
+ <param
+ id="1111"
+ group="0"
+ sex="female"
+ name="Breast_Physics_Smoothing"
+ label="Breast Physics Smoothing"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default="2"
+ value_min="1"
+ value_max="10">
+ <param_driver />
+ </param>
+ <param
+ id="1112"
+ group="0"
+ sex="female"
+ name="Breast_Physics_Gravity"
+ label="Breast Physics Gravity"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default="0"
+ value_min="0"
+ value_max=".1">
+ <param_driver />
+ </param>
+
+ <param
+ id="1113"
+ group="0"
+ sex="female"
+ name="Breast_Physics_UpDown_Max_Velocity"
+ label="Breast Physics UpDown Max Speed"
+ wearable="physics"
+ edit_group="physics_breasts_updown"
+ value_default="0"
+ value_min="0"
+ value_max="10">
+ <param_driver />
+ </param>
+ <param
+ id="1114"
+ group="0"
+ sex="female"
+ name="Breast_Physics_UpDown_Spring"
+ label="Breast Physics UpDown Spring"
+ wearable="physics"
+ edit_group="physics_breasts_updown"
+ value_default=".1"
+ value_min="0"
+ value_max="1">
+ <param_driver />
+ </param>
+ <param
+ id="1115"
+ group="0"
+ sex="female"
+ name="Breast_Physics_UpDown_Gain"
+ label="Breast Physics UpDown Gain"
+ wearable="physics"
+ edit_group="physics_breasts_updown"
+ value_default="10"
+ value_min="1"
+ value_max="100">
+ <param_driver />
+ </param>
+ <param
+ id="1116"
+ group="0"
+ sex="female"
+ name="Breast_Physics_UpDown_Damping"
+ label="Breast Physics UpDown Damping"
+ wearable="physics"
+ edit_group="physics_breasts_updown"
+ value_default=".05"
+ value_min="0"
+ value_max=".1"
+ camera_elevation=".3"
+ camera_distance=".8">
+ <param_driver />
+ </param>
+ <param
+ id="1117"
+ group="0"
+ sex="female"
+ name="Breast_Physics_UpDown_Drag"
+ label="Breast Physics UpDown Drag"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default=".15"
+ value_min="0"
+ value_max=".5">
+ <param_driver />
+ </param>
+
+ <param
+ id="1118"
+ group="0"
+ sex="female"
+ name="Breast_Physics_InOut_Max_Velocity"
+ label="Breast Physics InOut Max Speed"
+ wearable="physics"
+ edit_group="physics_breasts_inout"
+ value_default="0"
+ value_min="0"
+ value_max="10">
+ <param_driver />
+ </param>
+ <param
+ id="1119"
+ group="0"
+ sex="female"
+ name="Breast_Physics_InOut_Spring"
+ label="Breast Physics InOut Spring"
+ wearable="physics"
+ edit_group="physics_breasts_inout"
+ value_default=".1"
+ value_min="0"
+ value_max="1">
+ <param_driver />
+ </param>
+ <param
+ id="1120"
+ group="0"
+ sex="female"
+ name="Breast_Physics_InOut_Gain"
+ label="Breast Physics InOut Gain"
+ wearable="physics"
+ edit_group="physics_breasts_inout"
+ value_default="10"
+ value_min="1"
+ value_max="100">
+ <param_driver />
+ </param>
+ <param
+ id="1121"
+ group="0"
+ sex="female"
+ name="Breast_Physics_InOut_Damping"
+ label="Breast Physics InOut Damping"
+ wearable="physics"
+ edit_group="physics_breasts_inout"
+ value_default=".05"
+ value_min="0"
+ value_max=".1">
+ <param_driver />
+ </param>
+ <param
+ id="1122"
+ group="0"
+ sex="female"
+ name="Breast_Physics_InOut_Drag"
+ label="Breast Physics InOut Drag"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default=".15"
+ value_min="0"
+ value_max=".5">
+ <param_driver />
+ </param>
+
+ <param
+ id="1130"
+ group="0"
+ name="Belly_Physics_Mass"
+ label="Belly Physics Mass"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default=".1"
+ value_min=".1"
+ value_max="1">
+ <param_driver />
+ </param>
+ <param
+ id="1131"
+ group="0"
+ name="Belly_Physics_Smoothing"
+ label="Belly Physics Smoothing"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default="2"
+ value_min="1"
+ value_max="10">
+ <param_driver />
+ </param>
+ <param
+ id="1132"
+ group="0"
+ name="Belly_Physics_Gravity"
+ label="Belly Physics Gravity"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default="0"
+ value_min="0"
+ value_max=".1">
+ <param_driver />
+ </param>
+ <param
+ id="1133"
+ group="0"
+ name="Belly_Physics_UpDown_Max_Velocity"
+ label="Belly Physics UpDown Max Speed"
+ wearable="physics"
+ edit_group="physics_belly_updown"
+ value_default="0"
+ value_min="0"
+ value_max="10">
+ <param_driver />
+ </param>
+ <param
+ id="1134"
+ group="0"
+ name="Belly_Physics_UpDown_Spring"
+ label="Belly Physics UpDown Spring"
+ wearable="physics"
+ edit_group="physics_belly_updown"
+ value_default=".1"
+ value_min="0"
+ value_max="1">
+ <param_driver />
+ </param>
+ <param
+ id="1135"
+ group="0"
+ name="Belly_Physics_UpDown_Gain"
+ label="Belly Physics UpDown Gain"
+ wearable="physics"
+ edit_group="physics_belly_updown"
+ value_default="10"
+ value_min="1"
+ value_max="100">
+ <param_driver />
+ </param>
+ <param
+ id="1136"
+ group="0"
+ name="Belly_Physics_UpDown_Damping"
+ label="Belly Physics UpDown Damping"
+ wearable="physics"
+ edit_group="physics_belly_updown"
+ value_default=".05"
+ value_min="0"
+ value_max=".1">
+ <param_driver />
+ </param>
+ <param
+ id="1137"
+ group="0"
+ name="Belly_Physics_UpDown_Drag"
+ label="Belly Physics UpDown Drag"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default=".15"
+ value_min="0"
+ value_max=".5">
+ <param_driver />
+ </param>
+
+ <param
+ id="1140"
+ group="0"
+ name="Butt_Physics_Mass"
+ label="Butt Physics Mass"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default=".1"
+ value_min=".1"
+ value_max="1">
+ <param_driver />
+ </param>
+ <param
+ id="1141"
+ group="0"
+ name="Butt_Physics_Smoothing"
+ label="Butt Physics Smoothing"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default="2"
+ value_min="1"
+ value_max="10">
+ <param_driver />
+ </param>
+ <param
+ id="1142"
+ group="0"
+ name="Butt_Physics_Gravity"
+ label="Butt Physics Gravity"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default="0"
+ value_min="0"
+ value_max=".1">
+ <param_driver />
+ </param>
+ <param
+ id="1143"
+ group="0"
+ name="Butt_Physics_UpDown_Max_Velocity"
+ label="Butt Physics UpDown Max Speed"
+ wearable="physics"
+ edit_group="physics_butt_updown"
+ value_default="0"
+ value_min="0"
+ value_max="10">
+ <param_driver />
+ </param>
+ <param
+ id="1144"
+ group="0"
+ name="Butt_Physics_UpDown_Spring"
+ label="Butt Physics UpDown Spring"
+ wearable="physics"
+ edit_group="physics_butt_updown"
+ value_default=".1"
+ value_min="0"
+ value_max="1">
+ <param_driver />
+ </param>
+ <param
+ id="1145"
+ group="0"
+ name="Butt_Physics_UpDown_Gain"
+ label="Butt Physics UpDown Gain"
+ wearable="physics"
+ edit_group="physics_butt_updown"
+ value_default="10"
+ value_min="1"
+ value_max="100">
+ <param_driver />
+ </param>
+ <param
+ id="1146"
+ group="0"
+ name="Butt_Physics_UpDown_Damping"
+ label="Butt Physics UpDown Damping"
+ wearable="physics"
+ edit_group="physics_butt_updown"
+ value_default=".05"
+ value_min="0"
+ value_max=".1">
+ <param_driver />
+ </param>
+ <param
+ id="1147"
+ group="0"
+ name="Butt_Physics_UpDown_Drag"
+ label="Butt Physics UpDown Drag"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default=".15"
+ value_min="0"
+ value_max=".5">
+ <param_driver />
+ </param>
+
+ <param
+ id="1148"
+ group="0"
+ name="Butt_Physics_LeftRight_Max_Velocity"
+ label="Butt Physics LeftRight Max Speed"
+ wearable="physics"
+ edit_group="physics_butt_leftright"
+ value_default="0"
+ value_min="0"
+ value_max="10">
+ <param_driver />
+ </param>
+ <param
+ id="1149"
+ group="0"
+ name="Butt_Physics_LeftRight_Spring"
+ label="Butt Physics LeftRight Spring"
+ wearable="physics"
+ edit_group="physics_butt_leftright"
+ value_default=".1"
+ value_min="0"
+ value_max="1">
+ <param_driver />
+ </param>
+ <param
+ id="1150"
+ group="0"
+ name="Butt_Physics_LeftRight_Gain"
+ label="Butt Physics LeftRight Gain"
+ wearable="physics"
+ edit_group="physics_butt_leftright"
+ value_default="10"
+ value_min="1"
+ value_max="100">
+ <param_driver />
+ </param>
+ <param
+ id="1151"
+ group="0"
+ name="Butt_Physics_LeftRight_Damping"
+ label="Butt Physics LeftRight Damping"
+ wearable="physics"
+ edit_group="physics_butt_leftright"
+ value_default=".05"
+ value_min="0"
+ value_max=".1">
+ <param_driver />
+ </param>
+ <param
+ id="1152"
+ group="0"
+ name="Butt_Physics_LeftRight_Drag"
+ label="Butt Physics LeftRight Drag"
+ wearable="physics"
+ edit_group="physics_advanced"
+ value_default=".15"
+ value_min="0"
+ value_max=".5">
+ <param_driver />
+ </param>
+
</driver_parameters>
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index 4118b1df98..f01d5ff1f5 100644
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -277,7 +277,6 @@ LLAgentCamera::~LLAgentCamera()
//-----------------------------------------------------------------------------
void LLAgentCamera::resetView(BOOL reset_camera, BOOL change_camera)
{
- if (TRUE) return; // Disabling reset for avatar physics demo-ing.
if (gAgent.getAutoPilot())
{
gAgent.stopAutoPilot(TRUE);
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index d04604a644..4db9a154ea 100644
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -95,9 +95,12 @@ enum ESubpart {
SUBPART_SKIRT,
SUBPART_ALPHA,
SUBPART_TATTOO,
- SUBPART_PHYSICS_BREASTS,
- SUBPART_PHYSICS_BELLY,
- SUBPART_PHYSICS_BUTT
+ SUBPART_PHYSICS_BREASTS_UPDOWN,
+ SUBPART_PHYSICS_BREASTS_INOUT,
+ SUBPART_PHYSICS_BELLY_UPDOWN,
+ SUBPART_PHYSICS_BUTT_UPDOWN,
+ SUBPART_PHYSICS_BUTT_LEFTRIGHT,
+ SUBPART_PHYSICS_ADVANCED,
};
using namespace LLVOAvatarDefines;
@@ -236,7 +239,7 @@ LLEditWearableDictionary::Wearables::Wearables()
addEntry(LLWearableType::WT_SKIRT, new WearableEntry(LLWearableType::WT_SKIRT,"edit_skirt_title","skirt_desc_text",1,1,1, TEX_SKIRT, TEX_SKIRT, SUBPART_SKIRT));
addEntry(LLWearableType::WT_ALPHA, new WearableEntry(LLWearableType::WT_ALPHA,"edit_alpha_title","alpha_desc_text",0,5,1, TEX_LOWER_ALPHA, TEX_UPPER_ALPHA, TEX_HEAD_ALPHA, TEX_EYES_ALPHA, TEX_HAIR_ALPHA, SUBPART_ALPHA));
addEntry(LLWearableType::WT_TATTOO, new WearableEntry(LLWearableType::WT_TATTOO,"edit_tattoo_title","tattoo_desc_text",1,3,1, TEX_HEAD_TATTOO, TEX_LOWER_TATTOO, TEX_UPPER_TATTOO, TEX_HEAD_TATTOO, SUBPART_TATTOO));
- addEntry(LLWearableType::WT_PHYSICS, new WearableEntry(LLWearableType::WT_PHYSICS,"edit_physics_title","physics_desc_text",0,0,3, SUBPART_PHYSICS_BREASTS, SUBPART_PHYSICS_BELLY, SUBPART_PHYSICS_BUTT));
+ addEntry(LLWearableType::WT_PHYSICS, new WearableEntry(LLWearableType::WT_PHYSICS,"edit_physics_title","physics_desc_text",0,0,6, SUBPART_PHYSICS_BREASTS_UPDOWN, SUBPART_PHYSICS_BREASTS_INOUT, SUBPART_PHYSICS_BELLY_UPDOWN, SUBPART_PHYSICS_BUTT_UPDOWN, SUBPART_PHYSICS_BUTT_LEFTRIGHT, SUBPART_PHYSICS_ADVANCED));
}
LLEditWearableDictionary::WearableEntry::WearableEntry(LLWearableType::EType type,
@@ -307,9 +310,12 @@ LLEditWearableDictionary::Subparts::Subparts()
addEntry(SUBPART_UNDERPANTS, new SubpartEntry(SUBPART_UNDERPANTS, "mPelvis", "underpants", "underpants_main_param_list", "underpants_main_tab", LLVector3d(0.f, 0.f, -0.5f), LLVector3d(-1.6f, 0.15f, -0.5f),SEX_BOTH));
addEntry(SUBPART_ALPHA, new SubpartEntry(SUBPART_ALPHA, "mPelvis", "alpha", "alpha_main_param_list", "alpha_main_tab", LLVector3d(0.f, 0.f, 0.1f), LLVector3d(-2.5f, 0.5f, 0.8f),SEX_BOTH));
addEntry(SUBPART_TATTOO, new SubpartEntry(SUBPART_TATTOO, "mPelvis", "tattoo", "tattoo_main_param_list", "tattoo_main_tab", LLVector3d(0.f, 0.f, 0.1f), LLVector3d(-2.5f, 0.5f, 0.8f),SEX_BOTH));
- addEntry(SUBPART_PHYSICS_BREASTS, new SubpartEntry(SUBPART_PHYSICS_BREASTS, "mTorso", "physics_breasts", "physics_breasts_param_list", "physics_breasts_tab", LLVector3d(0.f, 0.f, 0.3f), LLVector3d(0.f, 0.f, 0.f),SEX_FEMALE));
- addEntry(SUBPART_PHYSICS_BELLY, new SubpartEntry(SUBPART_PHYSICS_BELLY, "mTorso", "physics_belly", "physics_belly_param_list", "physics_belly_tab", LLVector3d(0.f, 0.f, 0.3f), LLVector3d(0.f, 0.f, 0.f),SEX_BOTH));
- addEntry(SUBPART_PHYSICS_BUTT, new SubpartEntry(SUBPART_PHYSICS_BUTT, "mTorso", "physics_butt", "physics_butt_param_list", "physics_butt_tab", LLVector3d(0.f, 0.f, 0.3f), LLVector3d(0.f, 0.f, 0.f),SEX_BOTH));
+ addEntry(SUBPART_PHYSICS_BREASTS_UPDOWN, new SubpartEntry(SUBPART_PHYSICS_BREASTS_UPDOWN, "mTorso", "physics_breasts_updown", "physics_breasts_updown_param_list", "physics_breasts_updown_tab", LLVector3d(0.f, 0.f, 0.3f), LLVector3d(0.f, 0.f, 0.f),SEX_FEMALE));
+ addEntry(SUBPART_PHYSICS_BREASTS_INOUT, new SubpartEntry(SUBPART_PHYSICS_BREASTS_INOUT, "mTorso", "physics_breasts_inout", "physics_breasts_inout_param_list", "physics_breasts_inout_tab", LLVector3d(0.f, 0.f, 0.3f), LLVector3d(0.f, 0.f, 0.f),SEX_FEMALE));
+ addEntry(SUBPART_PHYSICS_BELLY_UPDOWN, new SubpartEntry(SUBPART_PHYSICS_BELLY_UPDOWN, "mTorso", "physics_belly_updown", "physics_belly_updown_param_list", "physics_belly_updown_tab", LLVector3d(0.f, 0.f, 0.3f), LLVector3d(0.f, 0.f, 0.f),SEX_BOTH));
+ addEntry(SUBPART_PHYSICS_BUTT_UPDOWN, new SubpartEntry(SUBPART_PHYSICS_BUTT_UPDOWN, "mTorso", "physics_butt_updown", "physics_butt_updown_param_list", "physics_butt_updown_tab", LLVector3d(0.f, 0.f, 0.3f), LLVector3d(0.f, 0.f, 0.f),SEX_BOTH));
+ addEntry(SUBPART_PHYSICS_BUTT_LEFTRIGHT, new SubpartEntry(SUBPART_PHYSICS_BUTT_LEFTRIGHT, "mTorso", "physics_butt_leftright", "physics_butt_leftright_param_list", "physics_butt_leftright_tab", LLVector3d(0.f, 0.f, 0.f), LLVector3d(0.f, 0.f, 0.f),SEX_BOTH));
+ addEntry(SUBPART_PHYSICS_ADVANCED, new SubpartEntry(SUBPART_PHYSICS_ADVANCED, "mTorso", "physics_advanced", "physics_advanced_param_list", "physics_advanced_tab", LLVector3d(0.f, 0.f, 0.f), LLVector3d(0.f, 0.f, 0.f),SEX_BOTH));
}
LLEditWearableDictionary::SubpartEntry::SubpartEntry(ESubpart part,
diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp
index 4048c66262..73de1cef3f 100644
--- a/indra/newview/llphysicsmotion.cpp
+++ b/indra/newview/llphysicsmotion.cpp
@@ -238,102 +238,130 @@ LLMotion::LLMotionInitStatus LLPhysicsMotionController::onInitialize(LLCharacter
mMotions.clear();
- controller_map_t controller_breast_inout;
- controller_breast_inout["Mass"] = "Breast_Physics_Mass";
- controller_breast_inout["Smoothing"] = "Breast_Physics_Smoothing";
- controller_breast_inout["Gravity"] = "Breast_Physics_Gravity";
- controller_breast_inout["Damping"] = "Breast_Physics_Side_Damping";
- controller_breast_inout["Drag"] = "Breast_Physics_Side_Drag";
- controller_breast_inout["MaxSpeed"] = "Breast_Physics_Side_Max_Velocity";
- controller_breast_inout["Spring"] = "Breast_Physics_Side_Spring";
- controller_breast_inout["Gain"] = "Breast_Physics_Side_Gain";
-
- LLPhysicsMotion *motion_breast_inout = new LLPhysicsMotion("Breast_Physics_Side_Controller",
- "",
- "mChest",
- character,
- LLVector3(-1,0,0),
- controller_breast_inout);
- if (!motion_breast_inout->initialize())
- return STATUS_FAILURE;
- addMotion(motion_breast_inout);
-
- controller_map_t controller_breast_updown;
- controller_breast_updown["Mass"] = "Breast_Physics_Mass";
- controller_breast_updown["Smoothing"] = "Breast_Physics_Smoothing";
- controller_breast_updown["Gravity"] = "Breast_Physics_Gravity";
- controller_breast_updown["Damping"] = "Breast_Physics_UpDown_Damping";
- controller_breast_updown["Drag"] = "Breast_Physics_UpDown_Drag";
- controller_breast_updown["MaxSpeed"] = "Breast_Physics_UpDown_Max_Velocity";
- controller_breast_updown["Spring"] = "Breast_Physics_UpDown_Spring";
- controller_breast_updown["Gain"] = "Breast_Physics_UpDown_Gain";
-
- LLPhysicsMotion *motion_breast_updown = new LLPhysicsMotion("Breast_Physics_UpDown_Controller",
- "",
- "mChest",
- character,
- LLVector3(0,0,1),
- controller_breast_updown);
- if (!motion_breast_updown->initialize())
+ // Breast Cleavage
{
- llassert_always(FALSE);
- return STATUS_FAILURE;
+ controller_map_t controller;
+ controller["Mass"] = "Breast_Physics_Mass";
+ controller["Smoothing"] = "Breast_Physics_Smoothing";
+ controller["Gravity"] = "Breast_Physics_Gravity";
+ controller["Damping"] = "Breast_Physics_InOut_Damping";
+ controller["Drag"] = "Breast_Physics_InOut_Drag";
+ controller["MaxSpeed"] = "Breast_Physics_InOut_Max_Velocity";
+ controller["Spring"] = "Breast_Physics_InOut_Spring";
+ controller["Gain"] = "Breast_Physics_InOut_Gain";
+ LLPhysicsMotion *motion = new LLPhysicsMotion("Breast_Physics_InOut_Controller",
+ "",
+ "mChest",
+ character,
+ LLVector3(-1,0,0),
+ controller);
+ if (!motion->initialize())
+ {
+ llassert_always(FALSE);
+ return STATUS_FAILURE;
+ }
+ addMotion(motion);
}
- addMotion(motion_breast_updown);
-
- controller_map_t controller_butt_updown;
- controller_butt_updown["Damping"] = "Butt_Physics_Updown_Damping";
- controller_butt_updown["MaxSpeed"] = "Butt_Physics_Updown_Max_Velocity";
- controller_butt_updown["Spring"] = "Butt_Physics_Updown_Spring";
- controller_butt_updown["Gain"] = "Butt_Physics_Updown_Gain";
- LLPhysicsMotion *motion_butt_updown = new LLPhysicsMotion("Butt_Physics_UpDown_Controller",
- "",
- "mPelvis",
- character,
- LLVector3(0,0,1),
- controller_butt_updown);
- if (!motion_butt_updown->initialize())
+
+ // Breast Bounce
{
- llassert_always(FALSE);
- return STATUS_FAILURE;
+ controller_map_t controller;
+ controller["Mass"] = "Breast_Physics_Mass";
+ controller["Smoothing"] = "Breast_Physics_Smoothing";
+ controller["Gravity"] = "Breast_Physics_Gravity";
+ controller["Damping"] = "Breast_Physics_UpDown_Damping";
+ controller["Drag"] = "Breast_Physics_UpDown_Drag";
+ controller["MaxSpeed"] = "Breast_Physics_UpDown_Max_Velocity";
+ controller["Spring"] = "Breast_Physics_UpDown_Spring";
+ controller["Gain"] = "Breast_Physics_UpDown_Gain";
+ LLPhysicsMotion *motion = new LLPhysicsMotion("Breast_Physics_UpDown_Controller",
+ "",
+ "mChest",
+ character,
+ LLVector3(0,0,1),
+ controller);
+ if (!motion->initialize())
+ {
+ llassert_always(FALSE);
+ return STATUS_FAILURE;
+ }
+ addMotion(motion);
}
- addMotion(motion_butt_updown);
-
- controller_map_t controller_butt_leftright;
- controller_butt_leftright["Damping"] = "Butt_Physics_Updown_Damping";
- controller_butt_leftright["MaxSpeed"] = "Butt_Physics_Updown_Max_Velocity";
- controller_butt_leftright["Spring"] = "Butt_Physics_Updown_Spring";
- controller_butt_leftright["Gain"] = "Butt_Physics_Updown_Gain";
- LLPhysicsMotion *motion_butt_leftright = new LLPhysicsMotion("Butt_Physics_LeftRight_Controller",
- "",
- "mPelvis",
- character,
- LLVector3(0,1,0),
- controller_butt_leftright);
- if (!motion_butt_leftright->initialize())
+
+ // Butt Bounce
{
- llassert_always(FALSE);
- return STATUS_FAILURE;
+ controller_map_t controller;
+ controller["Mass"] = "Butt_Physics_Mass";
+ controller["Smoothing"] = "Butt_Physics_Smoothing";
+ controller["Gravity"] = "Butt_Physics_Gravity";
+ controller["Damping"] = "Butt_Physics_UpDown_Damping";
+ controller["Drag"] = "Butt_Physics_UpDown_Drag";
+ controller["MaxSpeed"] = "Butt_Physics_UpDown_Max_Velocity";
+ controller["Spring"] = "Butt_Physics_UpDown_Spring";
+ controller["Gain"] = "Butt_Physics_UpDown_Gain";
+ LLPhysicsMotion *motion = new LLPhysicsMotion("Butt_Physics_UpDown_Controller",
+ "",
+ "mPelvis",
+ character,
+ LLVector3(0,0,1),
+ controller);
+ if (!motion->initialize())
+ {
+ llassert_always(FALSE);
+ return STATUS_FAILURE;
+ }
+ addMotion(motion);
}
- addMotion(motion_butt_leftright);
-
- controller_map_t controller_belly_updown;
- controller_belly_updown["Damping"] = "Belly_Physics_Updown_Damping";
- controller_belly_updown["MaxSpeed"] = "Belly_Physics_Updown_Max_Velocity";
- controller_belly_updown["Spring"] = "Belly_Physics_Updown_Spring";
- controller_belly_updown["Gain"] = "Belly_Physics_Updown_Gain";
- LLPhysicsMotion *motion_belly_updown = new LLPhysicsMotion("Belly_Physics_UpDown_Controller",
- "",
- "mChest",
- character,
- LLVector3(0,0,-1),
- controller_belly_updown);
- if (!motion_belly_updown->initialize())
+
+ // Butt LeftRight
{
- llassert_always(FALSE);
- return STATUS_FAILURE;
+ controller_map_t controller;
+ controller["Mass"] = "Butt_Physics_Mass";
+ controller["Smoothing"] = "Butt_Physics_Smoothing";
+ controller["Gravity"] = "Butt_Physics_Gravity";
+ controller["Damping"] = "Butt_Physics_LeftRight_Damping";
+ controller["Drag"] = "Butt_Physics_LeftRight_Drag";
+ controller["MaxSpeed"] = "Butt_Physics_LeftRight_Max_Velocity";
+ controller["Spring"] = "Butt_Physics_LeftRight_Spring";
+ controller["Gain"] = "Butt_Physics_LeftRight_Gain";
+ LLPhysicsMotion *motion = new LLPhysicsMotion("Butt_Physics_LeftRight_Controller",
+ "",
+ "mPelvis",
+ character,
+ LLVector3(0,1,0),
+ controller);
+ if (!motion->initialize())
+ {
+ llassert_always(FALSE);
+ return STATUS_FAILURE;
+ }
+ addMotion(motion);
+ }
+
+ // Belly Bounce
+ {
+ controller_map_t controller;
+ controller["Mass"] = "Belly_Physics_Mass";
+ controller["Smoothing"] = "Belly_Physics_Smoothing";
+ controller["Gravity"] = "Belly_Physics_Gravity";
+ controller["Damping"] = "Belly_Physics_UpDown_Damping";
+ controller["Drag"] = "Belly_Physics_UpDown_Drag";
+ controller["MaxSpeed"] = "Belly_Physics_UpDown_Max_Velocity";
+ controller["Spring"] = "Belly_Physics_UpDown_Spring";
+ controller["Gain"] = "Belly_Physics_UpDown_Gain";
+ LLPhysicsMotion *motion = new LLPhysicsMotion("Belly_Physics_UpDown_Controller",
+ "",
+ "mPelvis",
+ character,
+ LLVector3(0,0,-1),
+ controller);
+ if (!motion->initialize())
+ {
+ llassert_always(FALSE);
+ return STATUS_FAILURE;
+ }
+ addMotion(motion);
}
- addMotion(motion_belly_updown);
return STATUS_SUCCESS;
}
@@ -454,12 +482,13 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)
F32 behavior_maxspeed = getParamValue("MaxSpeed");
if (physics_test)
behavior_maxspeed = 100.0f;
- /*
+
if (behavior_maxspeed == 0)
return FALSE;
- */
- F32 position_current_local = mPosition_local; // Normalized [0,1] range
+ F32 position_current_local = llclamp(mPosition_local,
+ 0.0f,
+ 1.0f); // Normalized [0,1] range
// Normalize the param position to be from [0,1].
// We have to use normalized values because there may be more than one driven param,
@@ -602,7 +631,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)
if ((pixel_area > area_for_this_setting) || is_self)
{
const F32 position_diff_local = llabs(mPositionLastUpdate_local-position_new_local_clamped);
- const F32 min_delta = (1.01f-lod_factor)*0.75f; // 75% is just an experimental magic number.
+ const F32 min_delta = (1.01f-lod_factor)*0.4f;
if (llabs(position_diff_local) > min_delta)
{
update_visuals = TRUE;
diff --git a/indra/newview/llpolymesh.cpp b/indra/newview/llpolymesh.cpp
index a28357b4a9..6d6fb2fa0e 100644
--- a/indra/newview/llpolymesh.cpp
+++ b/indra/newview/llpolymesh.cpp
@@ -610,34 +610,34 @@ BOOL LLPolyMeshSharedData::loadMesh( const std::string& fileName )
if (!strcmp(morphName, "Big_Belly_Torso"))
{
mMorphData.insert(clone_morph_param(morph_data,
- LLVector3(0,0,0.05f),
- "Belly_Torso_Physics_UpDown_Driven"));
+ LLVector3(0,0,0.03f),
+ "Belly_Physics_Torso_UpDown_Driven"));
}
if (!strcmp(morphName, "Big_Belly_Legs"))
{
mMorphData.insert(clone_morph_param(morph_data,
- LLVector3(0,0,0.05f),
- "Belly_Legs_Physics_UpDown_Driven"));
+ LLVector3(0,0,0.03f),
+ "Belly_Physics_Legs_UpDown_Driven"));
}
if (!strcmp(morphName, "skirt_belly"))
{
mMorphData.insert(clone_morph_param(morph_data,
- LLVector3(0,0,0.05f),
- "Belly_Skirt_Physics_UpDown_Driven"));
+ LLVector3(0,0,0.03f),
+ "Belly_Physics_Skirt_UpDown_Driven"));
}
if (!strcmp(morphName, "Small_Butt"))
{
mMorphData.insert(clone_morph_param(morph_data,
- LLVector3(0,0,0.01f),
+ LLVector3(0,0,0.015f),
"Butt_Physics_UpDown_Driven"));
}
if (!strcmp(morphName, "Small_Butt"))
{
mMorphData.insert(clone_morph_param(morph_data,
- LLVector3(0,0.01f,0),
+ LLVector3(0,0.015f,0),
"Butt_Physics_LeftRight_Driven"));
}
}
diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp
index b3488a507a..16729f045a 100644
--- a/indra/newview/llsidepanelappearance.cpp
+++ b/indra/newview/llsidepanelappearance.cpp
@@ -204,6 +204,8 @@ void LLSidepanelAppearance::updateToVisibility(const LLSD &new_visibility)
llwarns << "Visibility change to invalid wearable" << llendl;
return;
}
+ // Disable camera switch is currently just for WT_PHYSICS type since we don't want to freeze the avatar
+ // when editing its physics.
const BOOL disable_camera_motion = LLWearableType::getDisableCameraSwitch(wearable_ptr->getType());
if (!gAgentCamera.cameraCustomizeAvatar() &&
!disable_camera_motion &&
@@ -313,6 +315,15 @@ void LLSidepanelAppearance::showOutfitEditPanel()
mOutfitEdit->resetAccordionState();
}
+ // If we're exiting the edit wearable view, and the camera was not focused on the avatar
+ // (e.g. such as if we were editing a physics param), then skip the outfits edit mode since
+ // otherwise this would trigger the camera focus mode.
+ if (mEditWearable != NULL && mEditWearable->getVisible() && !gAgentCamera.cameraCustomizeAvatar())
+ {
+ showOutfitsInventoryPanel();
+ return;
+ }
+
toggleMyOutfitsPanel(FALSE);
toggleWearableEditPanel(FALSE, NULL, TRUE); // don't switch out of edit appearance mode
toggleOutfitEditPanel(TRUE);
diff --git a/indra/newview/skins/default/xui/en/panel_edit_physics.xml b/indra/newview/skins/default/xui/en/panel_edit_physics.xml
index 0eb9c703ca..c6f974f4f1 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_physics.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_physics.xml
@@ -8,70 +8,114 @@
name="edit_physics_panel"
top_pad="10"
width="333" >
- <panel
+ <panel
border="false"
bg_alpha_color="DkGray2"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true"
follows="all"
- height="300"
+ height="388"
+ label=""
layout="topleft"
- left="10"
+ left="10"
name="accordion_panel"
- top_pad="10"
+ top_pad="0"
width="313">
<accordion
- fit_parent="true"
follows="all"
- height ="300"
+ height ="388"
layout="topleft"
left="0"
- name="wearable_accordion"
- single_expansion="true"
+ single_expansion="true"
+ fit_parent="true"
+ name="physics_accordion"
top="0"
width="313">
<accordion_tab
layout="topleft"
- fit_panel="false"
+ fit_panel="false"
min_height="50"
- name="physics_breasts_tab"
- title="Breasts">
+ name="physics_breasts_updown_tab"
+ title="Breasts Bounce">
<scrolling_panel_list
follows="all"
- layout="topleft"
+ layout="topleft"
+ left="10"
+ name="physics_breasts_updown_param_list"
+ top="10"
+ width="303" />
+ </accordion_tab>
+ <accordion_tab
+ layout="topleft"
+ fit_panel="false"
+ min_height="50"
+ name="physics_breasts_inout_tab"
+ title="Breasts Cleavage">
+ <scrolling_panel_list
+ follows="all"
+ layout="topleft"
left="0"
- name="physics_breasts_param_list"
- top="0"
+ name="physics_breasts_inout_param_list"
+ top_pad="50"
width="303" />
</accordion_tab>
<accordion_tab
layout="topleft"
- fit_panel="false"
+ fit_panel="false"
min_height="50"
name="physics_belly_tab"
- title="Belly">
+ title="Belly Bounce">
<scrolling_panel_list
follows="all"
- layout="topleft"
+ layout="topleft"
left="0"
- name="physics_belly_param_list"
- top="0"
+ name="physics_belly_updown_param_list"
+ top_pad="40"
width="303" />
</accordion_tab>
<accordion_tab
layout="topleft"
- fit_panel="false"
+ fit_panel="false"
min_height="50"
name="physics_butt_tab"
- title="Butt">
+ title="Butt Bounce">
+ <scrolling_panel_list
+ follows="all"
+ layout="topleft"
+ left="0"
+ name="physics_butt_updown_param_list"
+ top_pad="30"
+ width="303" />
+ </accordion_tab>
+
+ <accordion_tab
+ layout="topleft"
+ fit_panel="false"
+ min_height="50"
+ name="physics_butt_leftright_tab"
+ title="Butt Sway">
+ <scrolling_panel_list
+ follows="all"
+ layout="topleft"
+ left="0"
+ name="physics_butt_leftright_param_list"
+ top_pad="20"
+ width="303" />
+ </accordion_tab>
+ <accordion_tab
+ layout="topleft"
+ fit_panel="false"
+ min_height="50"
+ name="physics_advanced_tab"
+ title="Advanced Parameters">
<scrolling_panel_list
follows="all"
- layout="topleft"
+ layout="topleft"
left="0"
- name="physics_butt_param_list"
- top="0"
+ name="physics_advanced_param_list"
+ top_pad="10"
width="303" />
</accordion_tab>
</accordion>
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
index 6904cfa50e..d74197d965 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
@@ -331,16 +331,16 @@
control_name="RenderAvatarPhysicsLODFactor"
follows="left|top"
height="16"
- increment="0.125"
- initial_value="160"
+ initial_value="100"
+ increment=".05"
label=" Avatar Physics:"
label_width="85"
layout="topleft"
- left_delta="-6"
+ left_delta="-16"
name="AvatarPhysicsDetail"
show_text="false"
top_pad="12"
- width="154">
+ width="160">
<slider.commit_callback
function="Pref.UpdateSliderText"
parameter="AvatarPhysicsDetailText" />
@@ -351,7 +351,7 @@
follows="left|top"
height="12"
layout="topleft"
- left_delta="160"
+ left_delta="165"
name="AvatarPhysicsDetailText"
top_pad="-16"
width="128">
diff --git a/indra/newview/skins/default/xui/en/panel_scrolling_param_base.xml b/indra/newview/skins/default/xui/en/panel_scrolling_param_base.xml
index 177a2fe9f0..1351f75623 100644
--- a/indra/newview/skins/default/xui/en/panel_scrolling_param_base.xml
+++ b/indra/newview/skins/default/xui/en/panel_scrolling_param_base.xml
@@ -3,21 +3,22 @@
layout="topleft"
left="0"
name="LLScrollingPanelParamBase"
- height="20"
+ height="16"
width="290">
<slider
can_edit_text="true"
decimal_digits="0"
enabled="false"
- height="16"
+ height="12"
increment="1"
initial_value="0"
label="[DESC]"
+ label_width="125"
layout="bottom|left"
- left="6"
+ left="16"
max_val="100"
name="param slider"
- bottom="1"
- width="274"
- slider_label.font.style="BOLD" />
+ bottom="0"
+ width="264"
+ />
</panel>
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 86c88a726b..ed7814e0f0 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -2501,7 +2501,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
<string name="Bow Legged">Bow Legged</string>
<string name="Breast Physics UpDown Controller">Breast Buoyancy</string>
-<string name="Breast Physics Side Controller">Breast Cleavage</string>
+<string name="Breast Physics InOut Controller">Breast Cleavage</string>
<string name="Breast Size">Breast Size</string>
<string name="Bridge Width">Bridge Width</string>
<string name="Broad">Broad</string>
@@ -2515,27 +2515,43 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
<string name="Breast Physics Smoothing">Breast Smoothing</string>
<string name="Breast Physics Gravity">Breast Gravity</string>
-<string name="Breast Physics Side Spring">Breast Side Spring</string>
-<string name="Breast Physics Side Gain">Breast Side Gain</string>
-<string name="Breast Physics Side Damping">Breast Side Damping</string>
-<string name="Breast Physics Side Drag">Breast Side Drag</string>
-<string name="Breast Physics Side Max Speed">Breast Side Max Speed</string>
-
-<string name="Breast Physics UpDown Spring">Breast UpDown Spring</string>
-<string name="Breast Physics UpDown Gain">Breast UpDown Gain</string>
-<string name="Breast Physics UpDown Damping">Breast UpDown Damping</string>
-<string name="Breast Physics UpDown Drag">Breast UpDown Drag</string>
-<string name="Breast Physics UpDown Max Speed">Breast UpDown Max Speed</string>
-
-<string name="Belly Physics UpDown Spring">Belly Updown Spring</string>
-<string name="Belly Physics UpDown Gain">Belly Updown Gain</string>
-<string name="Belly Physics UpDown Damping">Belly Updown Damping</string>
-<string name="Belly Physics UpDown Max Speed">Belly Updown Max Speed</string>
-
-<string name="Butt Physics UpDown Spring">Butt UpDown Spring</string>
-<string name="Butt Physics UpDown Gain">Butt UpDown Gain</string>
-<string name="Butt Physics UpDown Damping">Butt UpDown Damping</string>
-<string name="Butt Physics UpDown Max Speed">Butt UpDown Max Speed</string>
+<string name="Breast Physics InOut Max Speed">Max Effect</string>
+<string name="Breast Physics InOut Spring">Spring</string>
+<string name="Breast Physics InOut Gain">Gain</string>
+<string name="Breast Physics InOut Damping">Damping</string>
+<string name="Breast Physics InOut Drag">Breast Cleavage Drag</string>
+
+<string name="Breast Physics UpDown Max Speed">Max Effect</string>
+<string name="Breast Physics UpDown Spring">Spring</string>
+<string name="Breast Physics UpDown Gain">Gain</string>
+<string name="Breast Physics UpDown Damping">Damping</string>
+<string name="Breast Physics UpDown Drag">Breast Bounce Drag</string>
+
+<string name="Belly Physics Mass">Belly Mass</string>
+<string name="Belly Physics Smoothing">Belly Smoothing</string>
+<string name="Belly Physics Gravity">Belly Gravity</string>
+
+<string name="Belly Physics UpDown Max Speed">Max Effect</string>
+<string name="Belly Physics UpDown Spring">Spring</string>
+<string name="Belly Physics UpDown Gain">Gain</string>
+<string name="Belly Physics UpDown Damping">Damping</string>
+<string name="Belly Physics UpDown Drag">Belly Bounce Drag</string>
+
+<string name="Butt Physics Mass">Butt Mass</string>
+<string name="Butt Physics Smoothing">Butt Smoothing</string>
+<string name="Butt Physics Gravity">Butt Gravity</string>
+
+<string name="Butt Physics UpDown Max Speed">Max Effect</string>
+<string name="Butt Physics UpDown Spring">Spring</string>
+<string name="Butt Physics UpDown Gain">Gain</string>
+<string name="Butt Physics UpDown Damping">Damping</string>
+<string name="Butt Physics UpDown Drag">Butt Bounce Drag</string>
+
+<string name="Butt Physics LeftRight Max Speed">Max Effect</string>
+<string name="Butt Physics LeftRight Spring">Spring</string>
+<string name="Butt Physics LeftRight Gain">Gain</string>
+<string name="Butt Physics LeftRight Damping">Damping</string>
+<string name="Butt Physics LeftRight Drag">Butt Sway Drag</string>
<string name="Bushy Eyebrows">Bushy Eyebrows</string>
<string name="Bushy Hair">Bushy Hair</string>