| Commit message (Collapse) | Author | Files | Lines |
|
EventManager.OnMakeRootAgent event since this is on the critical path for transfer of avatars from one region to another.
|
|
collision event dictionary, marshall them via a change dictionary first.
This is to avoid a complicated tri-thread deadlock on region crossing for avatars with attachments, where
1) XEngine starting up scripts can lock XEngine.m_Scripts and then try to lock OdeScene._collisionEventPrim while starting up a script due to avatar border crossing
2) An existing collision event will lock OdeScene._collisionEventPrim and then try to lock SP.m_attachments while trying to send the collision event to attachments
3) The avatar still entering the region will lock SP.m_attachments and then try to lock m_Scripts to start more attachment scripts.
|
|
a list
|
|
As far as I can see, the SCS is only now used for informing neighbours of up/down status and possibly sending child agent updates and close requests
|
|
All this is now being handled through IEntityTransferModule and SimulationService instead, and has been for some time.
|
|
not being used any more - it's now IEntityTransferModule and SimulationService instead
|
|
RecacheFriends() to reflect their intended function
|
|
better reflect its actual function
|
|
FriendsModule.FetchFriendslist() asychronously.
Executing this asynchronously allows a race condition where subsequent friends fetches hit a cache that FetchFriendsList() had not yet populated.
Changing this to synchronous may improve issues where a user does not see friends as online even though they are.
I don't believe synchronous is a problem here, but if it is, then a more complicated signalling mechanism is required. Locking the cache isn't sufficient.
|
|
structs are so not passed by reference (and they're immutable!)
|
|
|
|
relationship.
Rename IFriendsModule.AddFriend() to AddFriendship()
|
|
|
|
|
|
|
|
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
|
|
stop a NullReferenceException being thrown if an HG IM is sent to a simulator running multiple regions
This is an attempt to address http://opensimulator.org/mantis/view.php?id=5791
|
|
prim update to only triple queuing. Existing method was:
1. Schedule prim for update, adding to scene update list
2. Update on SOGs during heartbeat queues update onto each SceneViewer
3. Update on SPs during heartbeat queues update onto each IClientAPI
4. ProcessEntityUpdates queues updates into UDP send stack
Now the SceneViewer has been eliminated so updates are scheduled at any
time and then put onto the IClientAPI priority queues immediately during
SceneGraph.UpdateObjectGroups.
|
|
ScenePresenceSitTests
|
|
|
|
|
|
with other sitting code.
|
|
Addresses http://opensimulator.org/mantis/view.php?id=5786
|
|
ground and solid again when it stands.
This is to avoid http://opensimulator.org/mantis/view.php?id=5783 when a collision with a ground sitting avatar causes that avatar to automatically stand and sometimes not be able to move
A better solution may be to keep gound sitting avatars solid but remove their collision status. However, this requires some physics code work.
|
|
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.
|
|
|
|
the avatar if prim with no sit target was out of sitting range.
Now, no movement occurs.
Note that you can still sit on a prim with an explicit sit target from any distance, as was the case before.
|
|
list last week.
This means that if the avatar is within 10 meters of the selected target, it sits on it immediately without walking.
Existing autopilot outside this range will be disabled in a later commit
|
|
|
|
|
|
|
|
set LastOwnerID properly so the parts cannot be transferred, circumventing
no trans perms
|
|
|
|
properties packet sends and so one part is not telling a different part what to do. That should be up to the SOG to manage permissions on its parts and notify clients when one of them changes.
|
|
|
|
console prompt
This is to allow broader subsitution in the future. Currently, the only substitions are \R (for region name) and \\ (for a single backslash)
e.g. "Region (\R) " is the current and continuing default prompt
This renames custom_prompt in [Startup] to ConsolePrompt
|
|
terse update
|
|
|
|
animation being run after the scripted one.
|
|
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
|
|
|
|
Curiously, a Vector3.ToString() will not display the last two places of the float. In this case, the failure of
the assertion would confusingly report Expected: <0, 0, 0.8454993> But was: <0, 0, 0.8454993> when actual Z figure is 0.845499337
Should fully address http://opensimulator.org/mantis/view.php?id=5779
|
|
|
|
|
|
|
|
marquee-selected deletions of single prims or small link sets nearly
instantaneous
|
|
packet per prim. More to come as we change to make use of this.
|
|
|
|
|
|
|