Salad Dais
d4c30d998d
Allow handling Firestorm Bridge responses, use to guess avatar Z pos
2021-06-09 02:02:09 +00:00
Salad Dais
003f37c3d3
Auto-request unknown objects when an avatar sits on them
...
We need to know about an avatar's parent to get their exact position
due to the Object.Position field always being relative to the parent.
2021-06-08 23:44:08 +00:00
Salad Dais
a2d5414691
Add more ObjectManager tests
2021-06-07 08:10:28 +00:00
Salad Dais
135ce06452
Rewrite ObjectManager to have WorldObjectManager own objects
...
This simplifies a lot of the interdependencies between the
WorldObjectManagers and region ObjectManagers.
2021-06-07 05:31:54 +00:00
Salad Dais
12862fcd02
Keep Avatar wrappers around rather than regenerating them when queried
...
Allows callers to keep around a reference to an Avatar object and get
updated position and validity information without having to poll the
ObjectManager itself.
2021-06-05 14:23:49 +00:00
Salad Dais
59493e021c
Move XferManager and TransferManager to base
2021-06-03 07:04:06 +00:00
Salad Dais
a39d025a04
Move Circuit and Message to lib.base
...
Fairly invasive, but will help make lib.base useful again. No
more Message / ProxiedMessage split!
2021-06-03 07:00:32 +00:00
Salad Dais
984ac257a5
Rename ensure_ancestors_loaded(), add timeout tests
2021-06-01 22:51:57 +00:00
Salad Dais
9b970f07e5
Add session-level lookup_avatar
2021-06-01 22:35:49 +00:00
Salad Dais
fd747c9615
Switch to importing hippolyzer.lib.base.templates
...
Should help deal with automatic template reloading issues since
mtime wasn't changing on `lib.proxy.templates`.
2021-06-01 08:24:17 +00:00
Salad Dais
8c614404d8
Improve NameCache implementation, share viewer name cache
2021-05-31 12:24:08 +00:00
Salad Dais
ebc02f9a22
Make object handling happen at the world level, fix region handoffs
...
The previous model didn't really map to how Indra handles objects:
In Indra Local IDs are only really used to look up the FullID, and
that's used to look at a global object list.
This moves to a model where the world (Session) owns the object, and
objects can be freely moved between regions without killing the world's
reference to it.
The two ID design for objects was a mistake in my opinion, but whatever.
2021-05-30 14:24:39 +00:00
Salad Dais
f57087bf6c
Clear timed-out futures in ObjectManager
2021-05-29 10:47:13 +00:00
Salad Dais
6c6ea66989
Allow awaiting object update / property requests
2021-05-29 08:51:15 +00:00
Salad Dais
9dbb719d52
Add fast path for ObjectUpdateCompressed decoding
...
Speeds up ObjectUpdateCompressed handling by 25%
Resolves #9
2021-05-28 02:19:51 +00:00
Salad Dais
2608a02d5c
Use viewer's object cache to better handle ObjectUpdateCached hits
...
Without this we end up in weird cases where the viewer gets a cache
hit and never request the object data, creating link heirarchies where
the viewer knows about all the prims but Hippolyzer only knows some
of them and orphans them.
Since we don't know what viewer the user is using, we scan around
the disk for object caches and try to use those. 99% of the time the
connection will be coming from localhost so this is fine.
Fixes #11
2021-05-28 02:18:20 +00:00
Salad Dais
eb2c5b7494
Allow getting coarse location for seated orphaned avatars
2021-05-25 20:29:37 +00:00
Salad Dais
7836527305
Add NameCache CoarseLocation-only Avatars can be named
2021-05-17 01:50:40 +00:00
Salad Dais
28b09144f2
Add Avatar wrapper class for Avatar PCoded Objects
...
Must be specifically requested through lookup_avatar or all_avatars
Includes Avatars known either through CoarseLocationUpdates or ObjectUpdates
2021-05-16 00:05:28 +00:00
Salad Dais
1e13fede82
Minor changes to avatar position accessor, add tests
2021-05-15 21:28:29 +00:00
Salad Dais
2892bbeb98
Add note about how object handling could be improved
2021-05-07 23:05:31 +00:00
Salad Dais
943b8b11d5
Improve KillObject handling
...
KillObject should kill the hierarchy. This brings us closer
to indra object handling semantics.
2021-05-07 19:47:49 +00:00
Salad Dais
75e9d03d70
Move tests out of the package
...
This will help us get better coverage info, and prevent packaging
test data with the sdist.
2021-05-01 00:34:46 +00:00