From e44bfcb5f5f489315159b9bd6bcfe0615c6a7265 Mon Sep 17 00:00:00 2001
From: "Brad Payne (Vir Linden)" <vir@lindenlab.com>
Date: Fri, 8 Apr 2016 08:50:57 -0400
Subject: [PATCH] SL-344, SL-276 - chin bone, slider changes.

---
 indra/llcharacter/lljoint.h                 |   2 +-
 indra/newview/character/avatar_lad.xml      | 415 +++++++++++++++-----
 indra/newview/character/avatar_skeleton.xml |   5 +-
 3 files changed, 318 insertions(+), 104 deletions(-)

diff --git a/indra/llcharacter/lljoint.h b/indra/llcharacter/lljoint.h
index cc2f87ca205..fa4d0a53269 100755
--- a/indra/llcharacter/lljoint.h
+++ b/indra/llcharacter/lljoint.h
@@ -42,7 +42,7 @@
 const S32 LL_CHARACTER_MAX_JOINTS_PER_MESH = 15;
 // BENTO JOINT COUNT LIMIT - need to set this to final skeleton size
 // (bones + attachments) + 2, rounded to next multiple of 4.
-const U32 LL_CHARACTER_MAX_ANIMATED_JOINTS = 188; // must be divisible by 4!
+const U32 LL_CHARACTER_MAX_ANIMATED_JOINTS = 192; // must be divisible by 4!
 const U32 LL_MAX_JOINTS_PER_MESH_OBJECT = 110;
 
 // These should be higher than the joint_num of any
diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml
index e368e91988c..ba295fff847 100755
--- a/indra/newview/character/avatar_lad.xml
+++ b/indra/newview/character/avatar_lad.xml
@@ -621,18 +621,6 @@
          name="mSpine4"
          scale="0 0 .05" />
 
-        <bone
-         name="mPelvis"
-         scale="0 0 0" />
-
-        <bone
-         name="mSpine1"
-         scale="0 0 0" />
-
-        <bone
-         name="mSpine2"
-         scale="0 0 0" />
-
         <bone
          name="mHipLeft"
          scale=".05 .05 0" />
@@ -731,18 +719,6 @@
          name="mSpine4"
          scale="0 0 0.05" />
 
-        <bone
-         name="mPelvis"
-         scale="0 0 0" />
-
-        <bone
-         name="mSpine1"
-         scale="0 0 0" />
-
-        <bone
-         name="mSpine2"
-         scale="0 0 0" />
-
         <bone
          name="mHipLeft"
          scale="0 0 0.1" />
@@ -1174,8 +1150,17 @@
          name="mFaceEyebrowOuterRight"
          scale="0 0 0 "
          offset="0 -.005 0" />
-
 		 
+        <bone
+         name="mFaceEyecornerInnerLeft"
+         scale="0 0 0 "
+         offset="0 .008 0" />
+
+        <bone
+         name="mFaceEyecornerInnerRight"
+         scale="0 0 0 "
+         offset="0 -.008 0" />
+ 
       </param_skeleton>
     </param>
 
@@ -1329,6 +1314,16 @@
          scale="0 0 0"
          offset="0 0 -.004" />
 		 
+		 <bone
+         name="mFaceEyecornerInnerRight"
+         scale="0 0 0"
+         offset="0 0 -.004" />
+		 
+		 <bone
+         name="mFaceEyecornerInnerLeft"
+         scale="0 0 0"
+         offset="0 0 0.004" />
+		 
 		 <bone
          name="mFaceForeheadLeft"
          scale="0 0 0"
@@ -1438,12 +1433,12 @@
          scale="0 0 0"
          offset="0.005 0 0" />
 		 
-<bone
+		 <bone
          name="mFaceCheekLowerLeft"
          scale="0 0 0"
          offset="0.007 0 0" />
 		 
-<bone
+		 <bone
          name="mFaceCheekLowerRight"
          scale="0 0 0"
          offset="-0.007 0 0" />
@@ -1457,7 +1452,7 @@
          name="mFaceTeethLower"
          scale="0 0 0"
          offset="0.007 0 0" />
-		 
+
       </param_skeleton>
     </param>
 
@@ -1496,11 +1491,21 @@
          scale="0 0 0 "
          offset=".005 0 0" />
 
-        <bone
+       <bone
          name="mFaceEyeLidLowerRight"
          scale="0 0 0 "
          offset=".005 0 0" />
-		 
+
+        <bone
+         name="mFaceEyecornerInnerLeft"
+         scale="0 0 0 "
+         offset=".005 0 0" />
+
+        <bone
+         name="mFaceEyecornerInnerRight"
+         scale="0 0 0 "
+         offset=".005 0 0" />
+
 	    <bone
          name="mFaceEyeLidUpperLeft"
          scale="0 0 0 "
@@ -1534,12 +1539,14 @@
         <bone
          name="mFaceEyebrowOuterRight"
          scale="0 0 0 "
-         offset=".002 0 0" />
+         offset=".0013 0 0" />
 
         <bone
          name="mFaceEyebrowOuterLeft"
          scale="0 0 0 "
-         offset=".002 0 0" />
+         offset=".0013 0 0" />
+		 
+		 
 
 		 
       </param_skeleton>
@@ -1726,6 +1733,11 @@
         <bone
          name="mFaceJaw"
          scale="1 1 1"
+         offset="0 0 0" />
+
+		 <bone
+         name="mFaceChin"
+         scale="1 1 1"
          offset="0 0 0" />
 
         <bone
@@ -1939,22 +1951,22 @@
 		 
         <bone
          name="mFaceEyeLidLowerRight"
-         scale="0 0 0"
+         scale="0 0.7 0.5"
          offset="-.003 0 -0.003" />
 
         <bone
          name="mFaceEyeLidLowerLeft"
-         scale="0 0 0"
+         scale="0 0.7 0.5"
          offset="-.003 0 -0.003" />
 		 
         <bone
          name="mFaceEyeLidUpperRight"
-         scale="0 0 0"
+         scale="0 0.7 0.5"
          offset="-.003 0 0.003" />
 
         <bone
          name="mFaceEyeLidUpperLeft"
-         scale="0 0 0"
+         scale="0 0.7 0.5"
          offset="-.003 0 0.003" />
 		 
       </param_skeleton>
@@ -3006,6 +3018,48 @@
        </param_skeleton>
     </param>
 	
+    <param
+     id="30760"
+     group="0"
+     name="Jaw_Angle"
+     value_min="-1.2"
+     value_max="2"
+     value_default="0">
+      <param_skeleton>
+        <bone
+         name   = "mFaceJaw"
+		 offset = "0.0  0.00   0.02"
+         scale  = "0.0 0.0 0.0" />
+
+        <bone
+         name   = "mFaceLipLowerLeft"
+		 offset = "0.0  0.00   -0.02"
+         scale  = "0.0 0.0 0.0" />
+
+        <bone
+         name   = "mFaceLipLowerRight"
+		 offset = "0.0  0.00   -0.02"
+         scale  = "0.0 0.0 0.0" />
+
+        <bone
+         name   = "mFaceLipLowerCenter"
+		 offset = "0.0  0.00   -0.02"
+         scale  = "0.0 0.0 0.0" />
+
+        <bone
+         name   = "mFaceTongueBase"
+		 offset = "0.0  0.00   -0.02"
+         scale  = "0.0 0.0 0.0" />
+		 
+        <bone
+         name   = "mFaceChin"
+		 offset = "0.0  0.00   -0.02"
+         scale  = "0.0 0.0 0.0" />
+		 
+       </param_skeleton>
+    </param>
+	
+	
     <param
      id="30665"
      group="0"
@@ -3019,13 +3073,44 @@
          scale  = "0.0 0.0 0.0" />
 
         <bone
-         name   = "mFaceTeethLower"
-	 offset = "0.008 0 0"
-	 scale  = "0.0 0.0 0.0" />
+        name   = "mFaceTeethLower"
+        offset = "0.008 0 0"
+        scale  = "0.0 0.0 0.0" />
+		 
+       </param_skeleton>
+    </param>
+	
+    <param
+     id="30007"
+     group="0"
+     name="Weak_Chin"
+     value_min="-.5"
+     value_max=".5">
+      <param_skeleton>
+        <bone
+         name   = "mFaceChin"
+		 offset = "-0.025  0.00  0.005"
+         scale  = "0.0 0.0 0.0" />
+		 
+       </param_skeleton>
+	</param>
+	
+    <param
+     id="30008"
+     group="0"
+     name="Double_Chin"
+     value_min="-.5"
+     value_max="1.5">
+      <param_skeleton>
+        <bone
+         name   = "mFaceChin"
+		 offset = "-0.002 0.0 -0.01"
+         scale  = "0.0 0.0 0.0" />
 		 
        </param_skeleton>
     </param>
 	
+	
     <param
      id="30024"
      group="0"
@@ -3105,12 +3190,12 @@
 
 		 <bone
          name="mFaceEyeLidLowerLeft"
-         scale="0 0 0.3"
+         scale="0.05 0.05 0.2"
          offset="0 0 0" />
 
 		 <bone
          name="mFaceEyeLidLowerRight"
-         scale="0 0 0.3"
+         scale="0.05 0.05 0.2"
          offset="0 0 0" />
 
        </param_skeleton>		 
@@ -3199,7 +3284,7 @@
 		 <bone
          name="mFaceForeheadCenter"
          scale="0 0 0"
-         offset="0.008 0 0.001" />
+         offset="0.006 0 0.001" />
 
 		 <bone
          name="mFaceEyebrowInnerRight"
@@ -3332,6 +3417,33 @@
        </param_skeleton>
     </param>
 	
+    <param
+     id="30017"
+     group="0"
+     name="Square_Jaw"
+     value_min="-.5"
+     value_max="1">
+      <param_skeleton>
+
+		 <bone
+         name="mFaceJaw"
+         scale="0.0 0.1 0.0"
+         offset="0.0 0.0 0.0" />
+		 
+		 <bone
+         name="mFaceLipLowerRight"
+         scale="0.0 0.0 0.0"
+         offset="0.0 0.0015 0.0" />
+
+		 <bone
+         name="mFaceLipLowerLeft"
+         scale="0.0 0.0 0.0"
+         offset="0.0 -0.0015 0.0" />
+
+       </param_skeleton>
+	</param>
+	
+	
     <param
      id="30018"
      group="0"
@@ -3396,6 +3508,38 @@
        </param_skeleton>
     </param>
 	
+    <param
+     id="30019"
+     group="0"
+     name="Upturned_Nose_Tip"
+     value_min="-1.5"
+     value_max="1">
+      <param_skeleton>
+
+		 <bone
+         name="mFaceNoseBase"
+         scale="0 0 0"
+         offset="0.001 0 -0.002" />
+
+		 <bone
+         name="mFaceNoseCenter"
+         scale="0 0 0"
+         offset="-0.002 0 0.004" />
+
+		 <bone
+         name="mFaceNoseRight"
+         scale="0 0 0"
+         offset="0.001 0 -0.003" />
+
+		 <bone
+         name="mFaceNoseLeft"
+         scale="0 0 0"
+         offset="0.001 0 -0.003" />
+
+       </param_skeleton>
+    </param>
+	
+	
 	
   </skeleton>
 
@@ -4435,38 +4579,20 @@
     </param>
 
     <param
-     id="7"
+     id="20007"
      group="0"
      name="Weak_Chin"
-     label="Chin Angle"
-     wearable="shape"
-     edit_group="shape_chin"
-     edit_group_order="1"
-     label_min="Chin Out"
-     label_max="Chin In"
      value_min="-.5"
-     value_max=".5"
-     camera_elevation=".1"
-     camera_distance=".4"
-     camera_angle="45">
+     value_max=".5">
       <param_morph />
     </param>
 
     <param
-     id="8"
+     id="20008"
      group="0"
      name="Double_Chin"
-     label="Chin-Neck"
-     wearable="shape"
-     edit_group="shape_chin"
-     edit_group_order="8"
-     label_min="Tight Chin"
-     label_max="Double Chin"
      value_min="-.5"
-     value_max="1.5"
-     camera_elevation="-.1"
-     camera_distance=".3"
-     camera_angle="60">
+     value_max="1.5">
       <param_morph />
     </param>
 
@@ -4560,20 +4686,11 @@
     </param>
 
     <param
-     id="17"
+     id="20017"
      group="0"
      name="Square_Jaw"
-     label="Jaw Shape"
-     wearable="shape"
-     edit_group="shape_chin"
-     edit_group_order="2"
-     label_min="Pointy"
-     label_max="Square"
      value_min="-.5"
-     value_max="1"
-     camera_distance=".3"
-     camera_elevation=".04"
-     camera_angle="-20">
+     value_max="1">
       <param_morph />
     </param>
 
@@ -4587,20 +4704,11 @@
     </param>
 
     <param
-     id="19"
+     id="20019"
      group="0"
      name="Upturned_Nose_Tip"
-     label="Nose Tip Angle"
-     wearable="shape"
-     edit_group="shape_nose"
-     edit_group_order="7"
-     label_min="Downturned"
-     label_max="Upturned"
      value_min="-1.5"
-     value_max="1"
-     camera_elevation=".1"
-     camera_distance=".35"
-     camera_angle="15">
+     value_max="1">
       <param_morph />
     </param>
 	
@@ -4875,10 +4983,6 @@
        id="20880"
        group="0"
        name="Eyelid_Inner_Corner_Up"
-       label="Inner Eye Corner"
-       wearable="shape"
-       label_min="Corner Down"
-       label_max="Corner Up"
        value_min="-1.3"
        value_max="1.2">
       <param_morph />
@@ -5005,21 +5109,12 @@
     </param>
 
     <param
-     id="760"
+     id="20760"
      group="0"
      name="Jaw_Angle"
-     wearable="shape"
-     label="Jaw Angle"
-     edit_group="shape_chin"
-     edit_group_order="3.5"
-     label_min="Low Jaw"
-     label_max="High Jaw"
      value_min="-1.2"
      value_max="2"
-     value_default="0"
-     camera_distance=".5"
-     camera_elevation=".04"
-     camera_angle="70">
+     value_default="0">
       <param_morph />
     </param>
 
@@ -11697,6 +11792,31 @@ render_pass="bump">
       </param_driver>
     </param>
 	
+    <param
+     id="760"
+     group="0"
+     name="Jaw_Angle"
+     wearable="shape"
+     label="Jaw Angle"
+     edit_group="shape_chin"
+     edit_group_order="3.5"
+     label_min="Low Jaw"
+     label_max="High Jaw"
+     value_min="-1.2"
+     value_max="2"
+     value_default="0"
+     camera_distance=".5"
+     camera_elevation=".04"
+     camera_angle="70">
+      <param_driver>
+        <driven
+         id="20760" />
+		<driven
+		 id="30760" />
+      </param_driver>
+    </param>
+	
+	
     <param
      id="665"
      group="0"
@@ -11721,6 +11841,53 @@ render_pass="bump">
       </param_driver>
     </param>
 	
+    <param
+     id="7"
+     group="0"
+     name="Weak_Chin"
+     label="Chin Angle"
+     wearable="shape"
+     edit_group="shape_chin"
+     edit_group_order="1"
+     label_min="Chin Out"
+     label_max="Chin In"
+     value_min="-.5"
+     value_max=".5"
+     camera_elevation=".1"
+     camera_distance=".4"
+     camera_angle="45">
+      <param_driver>
+        <driven
+         id="20007" />
+		<driven
+		 id="30007" />
+      </param_driver>    
+	</param>
+
+    <param
+     id="8"
+     group="0"
+     name="Double_Chin"
+     label="Chin-Neck"
+     wearable="shape"
+     edit_group="shape_chin"
+     edit_group_order="8"
+     label_min="Tight Chin"
+     label_max="Double Chin"
+     value_min="-.5"
+     value_max="1.5"
+     camera_elevation="-.1"
+     camera_distance=".3"
+     camera_angle="60">
+      <param_driver>
+        <driven
+         id="20008" />
+		<driven
+		 id="30008" />
+      </param_driver>    
+    </param>
+	
+	
     <param
      id="24"
      group="0"
@@ -11973,6 +12140,29 @@ render_pass="bump">
       </param_driver>
     </param>
 	
+    <param
+     id="17"
+     group="0"
+     name="Square_Jaw"
+     label="Jaw Shape"
+     wearable="shape"
+     edit_group="shape_chin"
+     edit_group_order="2"
+     label_min="Pointy"
+     label_max="Square"
+     value_min="-.5"
+     value_max="1"
+     camera_distance=".3"
+     camera_elevation=".04"
+     camera_angle="-20">
+      <param_driver>
+        <driven
+         id="20017" />
+		<driven
+		 id="30017" />
+      </param_driver>
+    </param>
+	
     <param
      id="18"
      group="0"
@@ -12019,6 +12209,29 @@ render_pass="bump">
       </param_driver>
     </param>
 	
+    <param
+     id="19"
+     group="0"
+     name="Upturned_Nose_Tip"
+     label="Nose Tip Angle"
+     wearable="shape"
+     edit_group="shape_nose"
+     edit_group_order="7"
+     label_min="Downturned"
+     label_max="Upturned"
+     value_min="-1.5"
+     value_max="1"
+     camera_elevation=".1"
+     camera_distance=".35"
+     camera_angle="15">
+      <param_driver>
+        <driven
+         id="20019" />
+		<driven
+		 id="30019" />
+      </param_driver>
+    </param>
+
     <param
      id="828"
      group="0"
diff --git a/indra/newview/character/avatar_skeleton.xml b/indra/newview/character/avatar_skeleton.xml
index 25444e248ab..350ba7b841e 100755
--- a/indra/newview/character/avatar_skeleton.xml
+++ b/indra/newview/character/avatar_skeleton.xml
@@ -1,4 +1,4 @@
-<linden_skeleton num_bones="131" num_collision_volumes="26" version="2.0">
+<linden_skeleton num_bones="132" num_collision_volumes="26" version="2.0">
    <bone aliases="hip avatar_mPelvis" connected="false" end="0.000 0.000 0.084" group="Torso" name="mPelvis" pivot="0.000000 0.000000 1.067015" pos="0.000 0.000 1.067" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" support="base">
       <collision_volume end="0.030 0.000 0.095" group="Collision" name="PELVIS" pos="-0.01 0 -0.02" rot="0.000000 8.00000 0.000000" scale="0.12 0.16 0.17" support="base"/>
       <collision_volume end="-0.100 0.000 0.000" group="Collision" name="BUTT" pos="-0.06 0 -0.1" rot="0.000000 0.00000 0.000000" scale="0.1 0.1 0.1" support="base"/>
@@ -62,6 +62,7 @@
                                     <bone connected="false" end="0.047 0.003 0.000" group="Lips" name="mFaceLipLowerLeft" pivot="0.032 0.014 -0.012" pos="0.032 0.014 -0.012" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended"/>
                                     <bone connected="false" end="0.047 -0.003 0.000" group="Lips" name="mFaceLipLowerRight" pivot="0.032 -0.014 -0.012" pos="0.032 -0.014 -0.012" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended"/>
                                     <bone connected="false" end="0.048 0.000 0.000" group="Lips" name="mFaceLipLowerCenter" pivot="0.037 0.000 -0.017" pos="0.037 0.000 -0.017" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended"/>
+                                    <bone connected="false" end="0.021 0.000 -0.018" group="Mouth" name="mFaceChin" pivot="0.053 0.000 -0.032" pos="0.053 0.000 -0.032" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended"/>
                                  </bone>
                                  <bone connected="false" end="0.036 0.000 0.000" group="Face" name="mFaceForeheadCenter" pivot="0.069 0.000 0.065" pos="0.069 0.000 0.065" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended"/>
                                  <bone connected="false" end="0.048 0.000 0.000" group="Lips" name="mFaceLipUpperCenter" pivot="0.060 0.000 -0.030" pos="0.060 0.000 -0.030" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended"/>
@@ -212,7 +213,7 @@
         <bone connected="false" end="0.002 -0.046 -0.491" group="Limb" name="mHindLimb1Left" pivot="-0.204 0.129 -0.125" pos="-0.204 0.129 -0.125" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended">
           <bone connected="true" end="-0.030 -0.003 -0.468" group="Limb" name="mHindLimb2Left" pivot="0.002 -0.046 -0.491" pos="0.002 -0.046 -0.491" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended">
             <bone connected="true" end="0.112 0.000 -0.061" group="Limb" name="mHindLimb3Left" pivot="-0.030 -0.003 -0.468" pos="-0.030 -0.003 -0.468" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended">
-              <bone connected="true" end="0.105 0.008 0.001" group="Limb" name="mHindLimb4Left" pivot="0.112 -0.000 -0.061" pos="0.112 -0.000 -0.061" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" support="extended" />
+              <bone connected="true" end="0.105 0.008 0.001" group="Limb" name="mHindLimb4Left" pivot="0.112 0.000 -0.061" pos="0.112 0.000 -0.061" rot="0.000 0.000 0.000" scale="1.00 1.00 1.00" support="extended"/>
             </bone>
           </bone>
         </bone>
-- 
GitLab