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)  | 
