From 4eb97b5958c4b0c80b2896140b3271066b137c4d Mon Sep 17 00:00:00 2001 From: Salad Dais Date: Wed, 18 Jun 2025 20:43:27 +0000 Subject: [PATCH] Improve anim tracker addon --- addon_examples/anim_tracker.py | 2 +- hippolyzer/lib/base/mesh_skeleton.py | 2 ++ hippolyzer/lib/client/object_manager.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addon_examples/anim_tracker.py b/addon_examples/anim_tracker.py index 992929f..71ee0ac 100644 --- a/addon_examples/anim_tracker.py +++ b/addon_examples/anim_tracker.py @@ -74,7 +74,7 @@ class AnimTrackerAddon(BaseAddon): # We don't care about other messages, we're just interested in distinguishing cases where the viewer # specifically requested something vs something being done by the server on its own. return - av = region.objects.lookup_avatar(session.agent_id) + av = session.objects.lookup_avatar(session.agent_id) if not av or not av.Object: print("Somehow didn't know about our own av object?") return diff --git a/hippolyzer/lib/base/mesh_skeleton.py b/hippolyzer/lib/base/mesh_skeleton.py index 6a03144..9639fb9 100644 --- a/hippolyzer/lib/base/mesh_skeleton.py +++ b/hippolyzer/lib/base/mesh_skeleton.py @@ -25,6 +25,7 @@ class JointNode: rotation: Vector3 # Euler rotation in degrees scale: Vector3 type: str # bone or collision_volume + support: str def __hash__(self): return hash((self.name, self.type)) @@ -97,6 +98,7 @@ class Skeleton: pivot=_get_vec_attr(node, "pivot", Vector3()), rotation=_get_vec_attr(node, "rot", Vector3()), scale=_get_vec_attr(node, "scale", Vector3(1, 1, 1)), + support=node.get('support', 'base'), type=node.tag, ) self.joint_dict[name] = joint diff --git a/hippolyzer/lib/client/object_manager.py b/hippolyzer/lib/client/object_manager.py index b223730..4d7e2b4 100644 --- a/hippolyzer/lib/client/object_manager.py +++ b/hippolyzer/lib/client/object_manager.py @@ -670,7 +670,7 @@ class ClientWorldObjectManager: return obj.Animations.clear() - for block in message["AnimationList"]: + for block in message.blocks.get("AnimationList", []): obj.Animations.append(block["AnimID"]) self._run_object_update_hooks(obj, {"Animations"}, ObjectUpdateType.ANIMATIONS, message)