From a46fdc10c76ebbf76b4976f0cbb36b649fe4fdd2 Mon Sep 17 00:00:00 2001
From: "Brad Payne (Vir Linden)" <vir@lindenlab.com>
Date: Thu, 19 May 2016 13:11:45 -0400
Subject: [PATCH] SL-315 - option to skip hud joints in anim_tool.py

---
 scripts/content_tools/anim_tool.py | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/scripts/content_tools/anim_tool.py b/scripts/content_tools/anim_tool.py
index 05fe6357b62..0cb1e1022e9 100644
--- a/scripts/content_tools/anim_tool.py
+++ b/scripts/content_tools/anim_tool.py
@@ -491,10 +491,21 @@ def get_elt_pos(elt):
         return (0.0, 0.0, 0.0)
 
 def resolve_joints(names, skel_tree, lad_tree):
+    print "resolve joints, no_hud is",args.no_hud
     if skel_tree and lad_tree:
-        matches = [element.get("name") for element in skel_tree.getroot().iter() if (element.get("name") in names) or (element.tag in names)]
-        matches.extend([element.get("name") for element in lad_tree.getroot().iter() if (element.get("name") in names) or (element.tag in names)])
-        return matches
+        all_elts = [elt for elt in skel_tree.getroot().iter()]
+        all_elts.extend([elt for elt in lad_tree.getroot().iter()])
+        matches = []
+        for elt in all_elts:
+            if elt.get("name") is None:
+                continue
+            print elt.get("name"),"hud",elt.get("hud")
+            if args.no_hud and elt.get("hud"):
+                print "skipping hud joint", elt.get("name")
+                continue
+            if elt.get("name") in names or elt.tag in names:
+                matches.append(elt.get("name"))
+        return list(set(matches))
     else:
         return names
 
@@ -513,6 +524,7 @@ def resolve_joints(names, skel_tree, lad_tree):
     parser.add_argument("--skel", help="name of the avatar_skeleton file", default="avatar_skeleton.xml")
     parser.add_argument("--lad", help="name of the avatar_lad file", default="avatar_lad.xml")
     parser.add_argument("--set_version", nargs=2, type=int, help="set version and sub-version to specified values")
+    parser.add_argument("--no_hud", help="omit hud joints from list of attachments", action="store_true")
     parser.add_argument("infilename", help="name of a .anim file to input")
     parser.add_argument("outfilename", nargs="?", help="name of a .anim file to output")
     args = parser.parse_args()
-- 
GitLab