For those who haven't seen it yet, we got our first wiki edit by a named
Linden and it contains some very useful information.
http://www.libsecondlife.org/protocol/index.php/ImprovedTerseObjectUpdate
I'm writing the code right now to implement object tracking (prims and
avatars both) in to libsl, and made an initial commit to kind of lay out
the outline of how it will work, although after looking at the situation
closer it's going to change. I think the best way to index objects is
two hashtables in each region, one for prims and one for avatars, that
are indexed on the local id numbers. Helper functions will assist with
global prim/avatar lookups. Four new delegates will be available to
client apps, to track newly seen prims/avatars, and movement updates for
prims/avatars. When it's done this will be a big milestone in the
project, as libsl clients will finally be aware of the virtual world
around them. There's also been some speculation that moving the avatar
is not far off.
The only work that needs to be done right now is some framework code in
libsl for tracking all of this new information, and debugging the
dequantization function(s). The ImprovedTerseObjectUpdate packet uses
16-bit values to store all of it's vectors and rotations, which need to
be converted back in to 32-bit floating point values so LLVector3 and
LLQuaternion classes can be built. I threw in an early guess at
approximately how it might work in Helpers.Dequantize() but it will
surely need to be tested and corrected.
John Hurliman
_______________________________________________
libsecondlife-dev mailing list
libsecondlife-dev@gna.org
https://mail.gna.org/listinfo/libsecondlife-dev