summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xindra/newview/character/avatar_lad.xml166
-rwxr-xr-xindra/newview/llvoavatar.cpp5
-rw-r--r--scripts/content_tools/skel_tool.py26
3 files changed, 109 insertions, 88 deletions
diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml
index 6701645a39..261d495af9 100755
--- a/indra/newview/character/avatar_lad.xml
+++ b/indra/newview/character/avatar_lad.xml
@@ -2101,7 +2101,7 @@
<param
id="30002"
- group="0"
+ group="1"
name="Nose_Big_Out"
value_min="-0.8"
value_max="2.5">
@@ -2128,7 +2128,7 @@
<param
id="30004"
- group="0"
+ group="1"
name="Broad_Nostrils"
value_min="-.5"
value_max="1">
@@ -2146,7 +2146,7 @@
<param
id="30020"
- group="0"
+ group="1"
name="Bulbous_Nose"
value_min="-.5"
value_max="1.5"
@@ -2172,7 +2172,7 @@
<param
id="30517"
- group="0"
+ group="1"
name="Wide_Nose"
value_min="-.5"
value_max="1">
@@ -2194,7 +2194,7 @@
<param
id="30656"
- group="0"
+ group="1"
name="Crooked_Nose"
value_min="-2"
value_max="2">
@@ -2279,7 +2279,7 @@
<param
id="30155"
- group="0"
+ group="1"
name="Lip Width"
value_min="-0.9"
value_max="1.3"
@@ -2320,7 +2320,7 @@
<param
id="30653"
- group="0"
+ group="1"
name="Tall_Lips"
value_min="-1"
value_max="2">
@@ -2370,7 +2370,7 @@
<param
id="30505"
- group="0"
+ group="1"
name="Lip_Thickness"
value_min="0"
value_max="0.7">
@@ -2421,7 +2421,7 @@
<param
id="31505"
- group="0"
+ group="1"
name="Lip_Thickness"
value_min="0"
value_max="1">
@@ -2574,7 +2574,7 @@
<param
id="30506"
- group="0"
+ group="1"
name="Mouth_Height"
value_min="-2"
value_max="2">
@@ -2745,7 +2745,7 @@
<param
id="30764"
- group="0"
+ group="1"
name="Lip_Cleft_Deep"
value_min="-1"
value_max="1.2">
@@ -2771,7 +2771,7 @@
<param
id="30025"
- group="0"
+ group="1"
name="Wide_Lip_Cleft"
value_min="-.8"
value_max="1.5">
@@ -2792,7 +2792,7 @@
<param
id="31663"
- group="0"
+ group="1"
name="Shift_Mouth"
value_min="0"
value_max="2">
@@ -2874,7 +2874,7 @@
<param
id="32663"
- group="0"
+ group="1"
name="Shift_Mouth"
value_min="0"
value_max="2">
@@ -2955,7 +2955,7 @@
<param
id="30035"
- group="0"
+ group="1"
name="Big_Ears"
value_min="-1"
value_max="2">
@@ -2973,7 +2973,7 @@
<param
id="30015"
- group="0"
+ group="1"
name="Ears_Out"
value_min="-.5"
value_max="1.5">
@@ -2992,7 +2992,7 @@
<param
id="30796"
- group="0"
+ group="1"
name="Pointy_Ears"
value_min="-.4"
value_max="3">
@@ -3010,7 +3010,7 @@
<param
id="30185"
- group="0"
+ group="1"
name="Deep_Chin"
value_min="-1"
value_max="1">
@@ -3044,7 +3044,7 @@
</param>
<param
id="40185"
- group="0"
+ group="1"
name="Deep_Chin"
value_min="-1"
value_max="1">
@@ -3079,7 +3079,7 @@
<param
id="30760"
- group="0"
+ group="1"
name="Jaw_Angle"
value_min="-2"
value_max="2"
@@ -3121,7 +3121,7 @@
<param
id="30665"
- group="0"
+ group="1"
name="Jaw_Jut"
value_min="-2"
value_max="2">
@@ -3141,7 +3141,7 @@
<param
id="30006"
- group="0"
+ group="1"
name="Bulbous_Nose_Tip"
value_min="-1"
value_max="1.5">
@@ -3156,7 +3156,7 @@
<param
id="30007"
- group="0"
+ group="1"
name="Weak_Chin"
value_min="-.5"
value_max=".5">
@@ -3171,7 +3171,7 @@
<param
id="40007"
- group="0"
+ group="1"
name="Weak_Chin"
value_min="-.5"
value_max=".5">
@@ -3186,7 +3186,7 @@
<param
id="30008"
- group="0"
+ group="1"
name="Double_Chin"
value_min="-.5"
value_max="1.5">
@@ -3202,7 +3202,7 @@
<param
id="30024"
- group="0"
+ group="1"
name="Wide_Eyes"
value_min="-2"
value_max="2">
@@ -3233,7 +3233,7 @@
<param
id="30650"
- group="0"
+ group="1"
name="Eyelid_Corner_Up"
value_min="-1.3"
value_max="1.2">
@@ -3252,7 +3252,7 @@
<param
id="30880"
- group="0"
+ group="1"
name="Eyelid_Inner_Corner_Up"
value_min="-1.3"
value_max="1.2">
@@ -3271,7 +3271,7 @@
<param
id="30765"
- group="0"
+ group="1"
name="Puffy_Lower_Lids"
value_min="-.3"
value_max="2.5">
@@ -3302,7 +3302,7 @@
<param
id="31629"
- group="0"
+ group="1"
name="Forehead Angle"
value_min="0"
value_max="1">
@@ -3328,7 +3328,7 @@
<param
id="41629"
- group="0"
+ group="1"
name="Forehead Angle"
value_min="0"
value_max="1">
@@ -3354,7 +3354,7 @@
<param
id="30647"
- group="0"
+ group="1"
name="Squash_Stretch_Head"
value_min="-0.5"
value_max="1"
@@ -3522,7 +3522,7 @@
</param>
<param
id="40647"
- group="0"
+ group="1"
name="Squash_Stretch_Head"
value_min="-0.5"
value_max="1"
@@ -3691,7 +3691,7 @@
<param
id="32629"
- group="0"
+ group="1"
name="Forehead Angle"
value_min="0"
value_max="1">
@@ -3737,7 +3737,7 @@
<param
id="42629"
- group="0"
+ group="1"
name="Forehead Angle"
value_min="0"
value_max="1">
@@ -3783,7 +3783,7 @@
<param
id="30001"
- group="0"
+ group="1"
name="Big_Brow"
value_min="-.3"
value_max="2">
@@ -3829,7 +3829,7 @@
<param
id="30011"
- group="0"
+ group="1"
name="Noble_Nose_Bridge"
value_min="-.5"
value_max="1.5">
@@ -3850,7 +3850,7 @@
<param
id="30758"
- group="0"
+ group="1"
name="Lower_Bridge_Nose"
value_min="-1.5"
value_max="1.5">
@@ -3871,7 +3871,7 @@
<param
id="30027"
- group="0"
+ group="1"
name="Wide_Nose_Bridge"
value_min="-1.3"
value_max="1.2">
@@ -3887,7 +3887,7 @@
<param
id="30759"
- group="0"
+ group="1"
name="Low_Septum_Nose"
value_min="-1"
value_max="1.5"
@@ -3906,7 +3906,7 @@
<param
id="30010"
- group="0"
+ group="1"
name="Sunken_Cheeks"
value_min="-1.5"
value_max="3">
@@ -3927,7 +3927,7 @@
<param
id="30017"
- group="0"
+ group="1"
name="Square_Jaw"
value_min="-0.5"
value_max="1">
@@ -3952,7 +3952,7 @@
</param>
<param
id="40017"
- group="0"
+ group="1"
name="Square_Jaw"
value_min="-0.5"
value_max="1">
@@ -3979,7 +3979,7 @@
<param
id="30018"
- group="0"
+ group="1"
name="Puffy_Upper_Cheeks"
value_min="-1.5"
value_max="2.5">
@@ -4000,7 +4000,7 @@
<param
id="30021"
- group="0"
+ group="1"
name="Upper_Eyelid_Fold"
value_min="-0.2"
value_max="1.3">
@@ -4021,7 +4021,7 @@
<param
id="30023"
- group="0"
+ group="1"
name="Baggy_Eyes"
value_min="-.5"
value_max="1.5">
@@ -4042,7 +4042,7 @@
<param
id="30014"
- group="0"
+ group="1"
name="High_Cheek_Bones"
value_min="-.5"
value_max="1">
@@ -4063,7 +4063,7 @@
<param
id="30019"
- group="0"
+ group="1"
name="Upturned_Nose_Tip"
value_min="-1.5"
value_max="1">
@@ -4915,7 +4915,7 @@
-->
<param
id="20001"
- group="0"
+ group="1"
name="Big_Brow"
value_min="-.3"
value_max="2">
@@ -4924,7 +4924,7 @@
<param
id="20002"
- group="0"
+ group="1"
name="Nose_Big_Out"
value_min="-0.8"
value_max="2.5">
@@ -4933,7 +4933,7 @@
<param
id="20517"
- group="0"
+ group="1"
name="Wide_Nose"
value_min="-.5"
value_max="1">
@@ -4942,7 +4942,7 @@
<param
id="20020"
- group="0"
+ group="1"
name="Bulbous_Nose"
value_min="-.5"
value_max="1.5">
@@ -4951,7 +4951,7 @@
<param
id="20656"
- group="0"
+ group="1"
name="Crooked_Nose"
value_min="-2"
value_max="2">
@@ -4960,7 +4960,7 @@
<param
id="20004"
- group="0"
+ group="1"
name="Broad_Nostrils"
value_min="-.5"
value_max="1">
@@ -4969,7 +4969,7 @@
<param
id="20653"
- group="0"
+ group="1"
name="Tall_Lips"
value_min="-1"
value_max="2">
@@ -4978,7 +4978,7 @@
<param
id="20506"
- group="0"
+ group="1"
name="Mouth_Height"
value_min="-2"
value_max="2">
@@ -4987,7 +4987,7 @@
<param
id="20764"
- group="0"
+ group="1"
name="Lip_Cleft_Deep"
value_min="-.5"
value_max="1.2">
@@ -4996,7 +4996,7 @@
<param
id="20025"
- group="0"
+ group="1"
name="Wide_Lip_Cleft"
value_min="-.8"
value_max="1.5">
@@ -5005,7 +5005,7 @@
<param
id="20663"
- group="0"
+ group="1"
name="Shift_Mouth"
value_min="-2"
value_max="2"
@@ -5015,7 +5015,7 @@
<param
id="20035"
- group="0"
+ group="1"
name="Big_Ears"
value_min="-1"
value_max="2">
@@ -5024,7 +5024,7 @@
<param
id="20015"
- group="0"
+ group="1"
name="Ears_Out"
value_min="-.5"
value_max="1.5">
@@ -5033,7 +5033,7 @@
<param
id="20796"
- group="0"
+ group="1"
name="Pointy_Ears"
value_min="-.4"
value_max="3">
@@ -5042,7 +5042,7 @@
<param
id="20185"
- group="0"
+ group="1"
name="Deep_Chin"
value_min="-1"
value_max="1">
@@ -5051,7 +5051,7 @@
<param
id="20665"
- group="0"
+ group="1"
name="Jaw_Jut"
value_min="-2"
value_max="2">
@@ -5060,7 +5060,7 @@
<param
id="20024"
- group="0"
+ group="1"
name="Wide_Eyes"
value_min="-1.5"
value_max="2">
@@ -5069,7 +5069,7 @@
<param
id="20650"
- group="0"
+ group="1"
name="Eyelid_Corner_Up"
value_min="-1.3"
value_max="1.2">
@@ -5078,7 +5078,7 @@
<param
id="20765"
- group="0"
+ group="1"
name="Puffy_Lower_Lids"
value_min="-.3"
value_max="2.5">
@@ -5087,7 +5087,7 @@
<param
id="20759"
- group="0"
+ group="1"
name="Low_Septum_Nose"
value_min="-1"
value_max="1.5"
@@ -5115,7 +5115,7 @@
<param
id="20006"
- group="0"
+ group="1"
name="Bulbous_Nose_Tip"
value_min="-.3"
value_max="1">
@@ -5124,7 +5124,7 @@
<param
id="20007"
- group="0"
+ group="1"
name="Weak_Chin"
value_min="-.5"
value_max=".5">
@@ -5133,7 +5133,7 @@
<param
id="20008"
- group="0"
+ group="1"
name="Double_Chin"
value_min="-.5"
value_max="1.5">
@@ -5142,7 +5142,7 @@
<param
id="20010"
- group="0"
+ group="1"
name="Sunken_Cheeks"
value_min="-1.5"
value_max="3">
@@ -5151,7 +5151,7 @@
<param
id="20011"
- group="0"
+ group="1"
name="Noble_Nose_Bridge"
value_min="-.5"
value_max="1.5">
@@ -5160,7 +5160,7 @@
<param
id="20758"
- group="0"
+ group="1"
name="Lower_Bridge_Nose"
value_min="-1.5"
value_max="1.5">
@@ -5204,7 +5204,7 @@
<param
id="20014"
- group="0"
+ group="1"
name="High_Cheek_Bones"
value_min="-.5"
value_max="1">
@@ -5231,7 +5231,7 @@
<param
id="20017"
- group="0"
+ group="1"
name="Square_Jaw"
value_min="-.5"
value_max="1">
@@ -5240,7 +5240,7 @@
<param
id="20018"
- group="0"
+ group="1"
name="Puffy_Upper_Cheeks"
value_min="-1.5"
value_max="2.5">
@@ -5249,7 +5249,7 @@
<param
id="20019"
- group="0"
+ group="1"
name="Upturned_Nose_Tip"
value_min="-1.5"
value_max="1">
@@ -5258,7 +5258,7 @@
<param
id="20021"
- group="0"
+ group="1"
name="Upper_Eyelid_Fold"
value_min="-0.2"
value_max="1.3">
@@ -5285,7 +5285,7 @@
<param
id="20023"
- group="0"
+ group="1"
name="Baggy_Eyes"
value_min="-.5"
value_max="1.5">
@@ -5305,7 +5305,7 @@
<param
id="20027"
- group="0"
+ group="1"
name="Wide_Nose_Bridge"
value_min="-1.3"
value_max="1.2">
@@ -5517,7 +5517,7 @@
<param
id="20880"
- group="0"
+ group="1"
name="Eyelid_Inner_Corner_Up"
value_min="-1.3"
value_max="1.2">
@@ -5646,7 +5646,7 @@
<param
id="20760"
- group="0"
+ group="1"
name="Jaw_Angle"
value_min="-1.2"
value_max="2"
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 08c0d9a116..5d77b1238a 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -7391,9 +7391,10 @@ void dump_visual_param(apr_file_t* file, LLVisualParam* viewer_param, F32 value)
wtype = vparam->getWearableType();
}
S32 u8_value = F32_to_U8(value,viewer_param->getMinWeight(),viewer_param->getMaxWeight());
- apr_file_printf(file, "\t\t<param id=\"%d\" name=\"%s\" value=\"%.3f\" u8=\"%d\" type=\"%s\" wearable=\"%s\"/>\n",
+ apr_file_printf(file, "\t\t<param id=\"%d\" name=\"%s\" value=\"%.3f\" u8=\"%d\" type=\"%s\" wearable=\"%s\" group=\"%d\"/>\n",
viewer_param->getID(), viewer_param->getName().c_str(), value, u8_value, type_string.c_str(),
- LLWearableType::getTypeName(LLWearableType::EType(wtype)).c_str()
+ LLWearableType::getTypeName(LLWearableType::EType(wtype)).c_str(),
+ viewer_param->getGroup()
// param_location_name(vparam->getParamLocation()).c_str()
);
}
diff --git a/scripts/content_tools/skel_tool.py b/scripts/content_tools/skel_tool.py
index 3b99be5e33..bb52ae3f3e 100644
--- a/scripts/content_tools/skel_tool.py
+++ b/scripts/content_tools/skel_tool.py
@@ -228,7 +228,7 @@ def validate_skel_tree(tree, ogtree, reftree, fix=False):
# Check contents of avatar_lad file relative to a specified skeleton
-def validate_lad_tree(ladtree,skeltree):
+def validate_lad_tree(ladtree,skeltree,orig_ladtree):
print "validate_lad_tree"
bone_names = [elt.get("name") for elt in skeltree.iter("bone")]
bone_names.append("mScreen")
@@ -271,7 +271,21 @@ def validate_lad_tree(ladtree,skeltree):
else:
if args.verbose:
print "driven_id",driven_id,"has one driver",dset
-
+
+ if orig_ladtree:
+ # make sure expected message format is unchanged
+ orig_message_params_by_id = dict((int(param.get("id")),param) for param in orig_ladtree.iter("param") if param.get("group") in ["0","3"])
+ orig_message_ids = sorted(orig_message_params_by_id.keys())
+ #print "orig_message_ids",orig_message_ids
+ message_params_by_id = dict((int(param.get("id")),param) for param in ladtree.iter("param") if param.get("group") in ["0","3"])
+ message_ids = sorted(message_params_by_id.keys())
+ #print "message_ids",message_ids
+ if (set(message_ids) != set(orig_message_ids)):
+ print "mismatch in message ids!"
+ print "added",set(message_ids) - set(orig_message_ids)
+ print "removed",set(orig_message_ids) - set(message_ids)
+ else:
+ print "message ids OK"
def remove_joint_by_name(tree, name):
print "remove joint:",name
@@ -345,6 +359,7 @@ if __name__ == "__main__":
parser.add_argument("--ogfile", help="specify file containing base bones")
parser.add_argument("--ref_file", help="specify another file containing replacements for missing fields")
parser.add_argument("--lad_file", help="specify avatar_lad file to check")
+ parser.add_argument("--orig_lad_file", help="specify avatar_lad file to compare to")
parser.add_argument("--aliases", help="specify file containing bone aliases")
parser.add_argument("--validate", action="store_true", help="check specified input file for validity")
parser.add_argument("--fix", action="store_true", help="try to correct errors")
@@ -366,6 +381,8 @@ if __name__ == "__main__":
ogtree = None
reftree = None
ladtree = None
+ orig_ladtree = None
+
if args.ogfile:
ogtree = etree.parse(args.ogfile)
@@ -375,6 +392,9 @@ if __name__ == "__main__":
if args.lad_file:
ladtree = etree.parse(args.lad_file)
+ if args.orig_lad_file:
+ orig_ladtree = etree.parse(args.orig_lad_file)
+
if args.remove:
for name in args.remove:
remove_joint_by_name(tree,name)
@@ -384,7 +404,7 @@ if __name__ == "__main__":
validate_skel_tree(tree, ogtree, reftree)
if args.validate and ladtree:
- validate_lad_tree(ladtree, tree)
+ validate_lad_tree(ladtree, tree, orig_ladtree)
if args.fix and ogtree:
validate_skel_tree(tree, ogtree, reftree, True)