| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
to reduce potential code complexity and make code reading easier.
|
|
|
|
| |
hunting. No functional changes.
|
| |
|
|
|
|
|
|
| |
As far as I know, viewers don't use this mechanism to recieve new TextureEntry data for avatars. This is done via the AvatarAppearance packet instead.
Tested this back to viewer 1.23.
Replacing with Utils.EmptyBytes since converting the texture entry to bytes on each AvatarUpdate (or which there are many) is not cost-free.
|
|
|
|
|
|
|
|
| |
AvatarFactoryModule from AppearanceInfoModule so that it can be used in debug (inactive).
Further filters "debug packet <level>" to exclused [Request]ObjectPropertiesFamily if level is below 25.
Adjust some method doc
Minor changes to some logging messages.
|
|
|
|
| |
These were entirely unused.
|
|
|
|
|
|
|
|
| |
in the same thread rather than on another one.
The caller is already an async thread from LLClientView so this doesn't hold up the client.
However, launching on a separate thread does remove the effect of m_setAppearanceLock
This was potentially allowing two different SetAppearance threads to interfere with each other, though this probably rarely happens, if at all.
|
| |
|
|
|
|
| |
in favour of IClientAPI.ISceneAgent.IsChildAgent instead.
|
| |
|
| |
|
| |
|
|
|
|
| |
This checks that the initial UseCircuitCode packet is handled correctly for a normal client login.
|
|
|
|
|
| |
The only caller is the LLUDP stack and this has to validate the UDP circuit itself, so we know that it exists.
This allows us to eliminate another null check elsewhere and simplifies the method contract
|
|
|
|
|
|
|
|
|
| |
it's live before sending other data.
This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before.
This may stop some avatars appearing grey on login.
This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity
This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
|
|
|
|
|
|
| |
not just root ones.
Also adds scene name and client type (root|child) to logged information.
|
|
|
|
|
|
| |
HGFriendsModule.GetOnlineFriends() then spit out a warning rather than failing on the String.Substring().
This is to progress http://opensimulator.org/mantis/view.php?id=5789
|
|
|
|
|
|
|
|
|
|
| |
OutPacket() must be called within the m_killRecord lock. Otherwise the following event sequence is possible
1) LLClientView.ProcessEntityUpdates() passes the kill record check for a particular part suspends before OutPacket()
2) Another thread calls LLClientView.SendKillObject() to delete the same part and modifies the kill record
3) The same thread places the kill packet on the Task queue.
4) The earlier thread resumes and places the update packet on the Task queue after the kill packet.
This results in a ghost part in the sim that only goes away after client relog.
This commit also removes the unnecessary m_entityUpdates.SyncRoot locking in SendKillObject.
|
|
|
|
| |
packet per prim. More to come as we change to make use of this.
|
|
|
|
|
| |
setting position at the same time as taint appears to undermine the whole purpose of taint
testing doesn't reveal any obvious regressions in doing this
|
|
|
|
|
|
| |
passed a null node reference.
Addresses worst aspect of http://opensimulator.org/mantis/view.php?id=5752
|
|
|
|
| |
without a getter
|
| |
|
|
|
|
| |
sends entity updates (including presence ones), not just prims.
|
| |
|
| |
|
|
|
|
| |
Code drift means that most of this stuff doesn't compile but the structure is still useful.
|
|
|
|
| |
instrument to see packet expiry and received acks
|
| |
|
|\ |
|
| | |
|
|/
|
|
| |
This appears to be code clutter since the code that uses this has long gone.
|
|
|
|
| |
This is moved into ScenePresence for now as a general facility
|
|
|
|
|
|
| |
reflect what it actually does
This also makes it consistent with some other methods that send data to the client.
|
|
|
|
|
| |
The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database.
At all other times it's not possible for a SOP not to have a SOG parent.
|
|
|
|
|
|
|
|
|
| |
been attachments were sending their old attachment values to the client.
The root part state is the canonical value, so always send that instead.
Sending conflicting attachments states for non-root parts of a rezzed object is enough to crash the client.
Fixes http://opensimulator.org/mantis/view.php?id=5664.
Many thanks to mewtwo0641 for some fantastic qa work on this one.
|
|
|
|
| |
pointless duplication of identical values
|
|
|
|
|
|
|
| |
removed from the scene.
This is done by introducing a PresenceType enum into ScenePresence which currently has two values, User and Npc.
This seems better than a SaveAttachments flag in terms of code comprehension, though I'm still slightly uneasy about introducing these semantics to core objects
|
|
|
|
|
| |
this is to allow walking on prims. it will be up to the script writer to be sure that there is a continuous path.
currently implemented in osNpcMoveToTarget(), but none of this is final.
|
| |
|
|
|
|
| |
agent
|
| |
|
|
|
|
|
|
|
| |
This now works again except that it requires a click or avatar mvmt to get going
This is because the ScenePresence.HandleAgentUpdate() method doesn't trigger until the client does something significant, at which point autopilot takes over.
Even clicking is enough to trigger.
This will be improved presently.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
whole linkset.
However, what happens now is that undo just doesn't do anything when the root prim is selected on its own. This requires more code than just fiddling with undo states.
|
|
|
|
| |
undo resize, rotation and position still needs fixing when only editing root prim of a linkset
|
|
|
|
|
|
| |
This involves implementing a boolean in UndoState to signal whether the undo needs to be done for an entire group/linkset or just a single prim
Resizing individual components of linksets is still dodgy.
Resizing still has to be down twice, since for some reason the client is sending two multiobjectupdate packets on every resize except the very first. This applies to single prims and linksets. Need to look into this.
|