diff options
-rwxr-xr-x | indra/newview/character/avatar_lad.xml | 166 | ||||
-rwxr-xr-x | indra/newview/llvoavatar.cpp | 5 | ||||
-rw-r--r-- | scripts/content_tools/skel_tool.py | 26 |
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) |