[Opensim-dev] IClientAPI.GetDefaultAnimation
Peter Newman
wizarth at gmail.com
Wed Nov 18 10:41:14 UTC 2009
Hello,
I'd like to know if there is a non-obvious reason why IClientAPI
provides GetDefaultAnimation . The reason I ask is I've done some work
with AvatarAnimations and related to not use magic strings ("SIT",
"STAND", etc) for avatar states. However, I noticed the llStartAnimation
implementation calls ScenePresence.AddAnimation, which calls
IClientAPI.GetDefaultAnimation (and is the only place that calls it) .
However, the only client that has an implementation of this function is
the LLClient, all others return UUID.Zero or throw an exception.
In LLClient, the implementation there duplicates the functionality of
AvatarAnimations, reading in the same file and parsing it into a
duplicate of one of the data structures that AvatarAnimations provides.
I ask, is there a reason for the IClientAPI implementation to implement
this function that seems to reproduce functionality available to
ScenePresence already. Since the animation updates for moving don't use
this function, it seems it is limited only to llStartAnimation.
My thought is, if there is no reason otherwise, to remove this function
from IClientAPI, redirect the ScenePresence.AddAnimation to use the
AvatarAnimation class. Even independent of the changes I've made for the
removal of strings, it seems like this would be more efficient.
Peter N
aka Wizarth
http://www.wizarth.com.au/
More information about the Opensim-dev
mailing list