Kelly Linden gave us some more information about the new animation functions added to the scripting language.
Kelly said, “The server has supported overriding animations for over a year. The missing piece was the LSL calls and a couple bug fixes. It is expected that once overridden they would continue to be overridden on older servers.”
This means this was something started some time ago. Those old changes have been in place for some time. So, if one overrides an animation in one of the Release Candidate channels, the override should work across ALL servers. It is only the script that has to have the new server code to work. This is the behavior Amber Murfin discovered and commented about.
Kelly also told us the new override functions do not allow setting by UUID. They must be set by a string constant, read that to mean an animation file’s name. The reason for this reveals some possible future plans of the Lab. Kelly says he originally planned to use integer ID’s to handle the state names. But, others in the Lab wanted a more flexible system that would allow additions or changes and possibly and update of the state machine.
For now the text names are converted to integer values and fed to the old state machine. But, they have it possible to change the state machine and likely not break content based on these new functions.
Kelly said, “Typing and Swimming are not part of the animation state machine on the server, neither are idle animations for example. The parts of animation that are handled elsewhere (typing) or on the viewer only (idling) aren’t covered. I’m not sure which case swimming fits in.
These [new] LSL functions are a *very* thin access layer to the server’s animation state machine for each agent.”
I suspect we will see new AO HUD’s appearing soon. I also anticipate the built-in AO’s of third party viewers getting a rework.
These LSL functions actually make viewer-side AO useless, and since there is (for now ?) no way for the viewer to mimic the LSL functions (read: there is no server message for sending overriding animations UUIDs), the server-side AOs can’t be updated to take advantage of this new feature.
I suspect the Firestorm team will use their viewer’s Client Bridge to take advantage of the new functions.
Kelly would have preferred that these functions not be published yet. He did not expand on that. So, I suspect there may be something else in the works because the Lindens have looked at doing something to make AO’s better if not obsolete.