| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
As per earlier discussions with dslake
|
| |
|
|
|
|
|
|
| |
ways to access the list/dictionary of child regions and locking was
inconsistent. There are now public properties which enforce locks.
Callers are no longer required to create new copies of lists.
|
|
|
|
| |
which called IsInTransit=true which called m_inTransit=true. Also removed NotInTransit().
|
|\
| |
| |
| |
| | |
Conflicts:
OpenSim/Region/Framework/Scenes/ScenePresence.cs
|
| |
| |
| |
| |
| |
| |
| |
| | |
in the main Scene.Update() loop, like the other stats
Some of the places where agentMS was added were in separate threads launched by the update loop. I don't believe this is correct, since such threads are no longer contributing to frame time.
Some of the places were also driven by client input rather than the scene loop. I don't believe it's appropriate to add this kind of stuff to scene loop stats.
These changes hopefully have the nice affect of making the broken out frame stats actually add up to the total frame time
|
|/
|
|
| |
private sets when needed. Removed redundant code when methods replicated what the set already does
|
|
|
|
|
| |
SP still has an implementation but this is now just a public method on SP rather than an abstract one in EntityBase.
No point making the code more complex until it actually needs to be,
|
|\ |
|
| |
| |
| |
| | |
This is moved into ScenePresence for now as a general facility
|
|/ |
|
| |
|
| |
|
|\ |
|
| | |
|
|/
|
|
|
|
|
| |
This stops the npc walking backwards if the target is directly behind.
This means that the npc no longer returns to its original rotation once movement has finished.
If you want this behaviour, please store and reset the original rotation after movement.
This is somewhat to address http://opensimulator.org/mantis/view.php?id=5678
|
|
|
|
|
|
| |
that same height in ScenePresence.
This prevents unnecessary work in the ODE module, though possibly that should be checking against same size sets itself
|
|
|
|
|
|
| |
When upgrading the previously child agent to a root, the code was setting the Size parameter on the ODECharacter PhysicsActor.
This in turn reset Velocity, which cause the border stall.
I'm fixing this by commenting out the Velocity = Vector3.Zero lines since they don't appear to play a useful purpose
|
|
|
|
|
|
| |
offset position!
Add method doc to explain this.
|
|
|
|
|
|
| |
SP.AbsolutePosition
OffsetPosition is also misnamed - it returns the absolute position and never contains an offset.
|
| |
|
|
|
|
| |
We were already referencing through the scene in some places.
|
| |
|
|
|
|
| |
is always passed in at the same time.
|
|
|
|
|
|
|
|
|
| |
IScenePresence.AttachmentsSyncLock object
Attach and detach packets are processed asynchronously when received from a viewer.
Bugs like http://opensimulator.org/mantis/view.php?id=5644 indicate that in some situations (such as attaching/detaching entire folders of objects at once), there are race conditions between these threads.
Since multiple data structures need to be updated on attach/detach, it's not enough to lock the individual collections.
Therefore, this commit introduces a new IScenePresence.AttachmentsSyncLock which add/remove operations lock on.
|
|
|
|
| |
May have some effect on http://opensimulator.org/mantis/view.php?id=5644
|
| |
|
|
|
|
|
|
|
|
| |
actually has an impact.
The code in question is over three years old and just be catching an inconsistency rather than being wholly necessary.
This commit still carries out the check and prints all the previous log warnings but a 'failure' no longer prevents avatar region crossing or teleport, and it doesn't give the client the error message.
This will have some kind of impact on http://opensimulator.org/mantis/view.php?id=5672
|
|
|
|
|
|
|
| |
This was happening because we were using the source avatar's item IDs in the clone appearance.
Switch to using the asset IDs of attachments instead for NPCs.
The InventoryAccessModule and AttachmentModule had to be changed to allow rezzing of an object without an associated inventory item.
Hopefully goes some way towards resolving http://opensimulator.org/mantis/view.php?id=5653
|
| |
|
|
|
|
| |
SP.AddToPhysicalScene()
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself
This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase.
It also improves liveness.
This might improve attachment anomolies when performing region crossings.
|
|
|
|
| |
remove some now duplicated method doc
|
| |
|
|
|
|
| |
This adds an incomplete IScenePresence to match ISceneEntity
|
|
|
|
|
| |
Assets have to be marked non-local as well as non-temporary to persist. This is now done.
Hopefully addresses http://opensimulator.org/mantis/view.php?id=5660
|
|
|
|
|
|
|
|
|
| |
crossing.
On making a root agent, we need to reset the ScenePresence.m_movement_flag so that it doesn't remember the
movement registered to the client when it exited the initial region.
If this is remember, then the client avatar movement isn't updated and it appears to stall in mid-air, though this is resolved with a prod/release of any other direction key.
This bug was probably introduced a few weeks ago. Surprised that nobody brought it up.
|
|
|
|
| |
pointless duplication of identical values
|
|
|
|
|
| |
IsDeleted is never set for an SP, even though it's on EntityBase.
It might be an idea to set it in the future
|
| |
|
| |
|
|
|
|
|
|
| |
to help with the inconsistent state bug.
This also refactors AttachmentsModules to stop pointlessly refetching the ScenePresence in various methods. However, more of this is required.
|
|
|
|
| |
pin down problems with "Inconsistent Attachment State"
|
| |
|
| |
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
occur in real life and just clutter up tests
|