Commit Graph

93 Commits (f5e3d5a33a45196fa447c2ece764653349290d7a)

Author SHA1 Message Date
Justin Clark-Casey (justincc) 7ae9266186 Remove SceneGraph.DetachObject() which was accidentally left around after being migrated to AttachmentsModule 2010-09-13 21:20:31 +01:00
Jeff Ames f1f0bc23f4 Formatting cleanup. 2010-09-12 13:43:49 -04:00
John Hurliman b597a295c4 Second pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:41:36 -07:00
John Hurliman dd277a0d02 First pass at cleaning up thread safety in EntityManager and SceneGraph 2010-09-10 12:04:12 -07:00
Melanie 8fda08d858 Make sure unlinked child prims get persisted 2010-09-07 11:48:28 +01:00
Melanie Thielker c47de94263 Adjust the "Magic numbers" we use because we can't reference the actual
script state enum to reflect recent changes.
2010-08-31 22:36:46 +01:00
Justin Clark-Casey (justincc) 1c0b4457cd Improve liveness by operating on list copies of SOG.Children where appropriate 2010-08-28 00:40:33 +01:00
Justin Clark-Casey (justincc) f3f4428700 refactor: break out attachment position change code in Scene.UpdatePrimPosition() and move into AttachmentsModule
This allows region modules to change attachment positions.
2010-08-26 21:50:19 +01:00
Justin Clark-Casey (justincc) df702417dc Remove mono compiler warnings 2010-08-26 16:27:41 +01:00
Justin Clark-Casey (justincc) 87a6554d4b Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Resolve merge conflicts

Conflicts:
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
2010-08-26 00:35:03 +01:00
Justin Clark-Casey (justincc) 8031f8ec09 Improve consistency of locking for SOG.m_parts in order to avoid race conditions in linking and unlinking 2010-08-26 00:08:53 +01:00
Melanie Thielker 604423d52b Make scene object directories more robust and prevent deleted SOP's from
sticking around
2010-08-25 23:19:30 +01:00
Justin Clark-Casey (justincc) d69e992665 Split out actual scene object insertion code from Scene.Inventory.RezObject and move into SceneGraph.AddNewSceneObject()
The new SceneGraph method is more consumable by region modules that want to extract objects from inventory and add them to the scene in separate stages.
This change also reduces the number of redundant client updates scheduled when an object is rezzed directly by a script or region module
This code does not touch direct rez by a user
2010-08-24 23:25:19 +01:00
Justin Clark-Casey (justincc) 4e2caab756 Add new SceneGraphTests class. Add simple TestDuplicateObject() 2010-08-07 01:06:47 +01:00
Justin Clark-Casey (justincc) 6c8c8d669b minor: a few miscellaneous comments 2010-08-07 00:45:04 +01:00
Justin Clark-Casey (justincc) 4d83b2d8a6 remove unused BasicQuadTreeNode 2010-07-30 21:06:45 +01:00
Melanie Thielker 85a9c305a2 Remove AgentID and GroupOD from the signature of SOG.Copy(). They were never
used, but made for a very mispleading read of the code in the callers.
2010-06-28 01:43:26 +01:00
Melanie Thielker 4cdda2cae9 Fix Copy on Ray, Drag Copy and other little things. Removed the wrong and
nonworking ownership assignment in SOG, which messed things up before.
No longer trust the client to send the ID of the person something is copied
as, since it allows to run a script with someone else's permissions. Properly
adjust inventory ownership and perms.
2010-06-28 01:36:40 +01:00
Melanie Thielker 660a560d3b Make drag copy and copy-on-ray handle friends list perms properly 2010-06-27 20:59:51 +01:00
Justin Clark-Casey (justincc) 52b711af82 stop KeyNotFoundException() being thrown in RemoveScenePresence if the agent isn't present in the presence dictionary
the code to do this was there but was being circumvented by newmap[agentID] before the check actually took place
2010-06-25 18:55:20 +01:00
Dan Lake ca2abc43ad Refactor SendCoarseLocations for better performance. Instead of computing list of all locations fresh for every scene presence on every frame, we will instead compute the list once every 50 frames and send to all connected presences at that time. Also, we only add 60 items to the list when there are more than 60 presences in the scene. For 1000 users, this change yields a 99.8% reduction in list processing and a 98% reduction in network bandwidth for coarse locations. 2010-06-08 16:44:18 -07:00
Justin Clark-Casey (justincc) b6076d7b33 Reduce number of full updates sent on region crossing for attachments/huds to 1 from 3
This is one step towards reducing hud glitches on region crossing, since the viewer fails to display prims if it receives child full updates before the root prim full update
This commit also introduces a mechanism in LLClientView to stop child attachment updates ever going out before the root one
This is a very temporary mechanism and will be commented out when the next step of the fix (to give root prims higher udpate priority) is committed
This code is a foreport from the equivalent changes in 0.6.9-post-fixes
2010-06-08 15:07:57 +01:00
Melanie Thielker e515467c5e Fix create selection getting overwritten by multiple updates for the same prim. 2010-05-31 17:55:56 +01:00
Justin Clark-Casey (justincc) 5287c5f7fb rearrange SceneGraph.AddSceneObject() to return earlier if an object with that uuid is already in the scene
this means that we don't perform pointless work
2010-05-21 21:57:56 +01:00
Justin Clark-Casey (justincc) f83acf533b Fix a problem where SceneGraph.AddSceneObject() would return false on successfully adding an object rather than true, in defiance of its method documentation
This meant that the returns were inconsistent - false would be returned both for various scene object failure conditions (e.g. root part was null) and if the object was successfully added.
2010-05-21 21:22:53 +01:00
Dan Lake 36bcab5f07 Refactor scene presence list for lockless iteration. Lock contention will now only be for simultaneous add/removes of scene presences from the scene. 2010-05-15 02:20:23 -07:00
Melanie 22b3217113 Fix link security issue 2010-04-30 11:46:50 +01:00
Melanie 21cad5d3ac All scripts are now created suspended and are only unsuspended when the object
is fully rezzed and all scripts in it are instantiated. This ensures that link
messages will not be lost on rez/region crossing and makes heavily scripted
objects reliable.
2010-04-19 06:29:26 +01:00
Justin Clark-Casey (justincc) 57c293d604 refactor: crudely move DetachSingleAttachmentToGround() over to the AttachmentsModule 2010-04-16 23:15:13 +01:00
Dan Lake 62e0b53ca4 Renamed TryGetAvatar to TryGetScenePresence on SceneManager, SceneBase, Scene and SceneGraph. This was the only change in this patch to keep it isolated from other recent changes to the same set of files. 2010-03-19 15:16:44 -07:00
Dan Lake 859bc717a4 Cleaned up access to scenepresences in scenegraph. GetScenePresences and GetAvatars have been removed to consolidate locking and iteration within SceneGraph. All callers which used these to then iterate over presences have been refactored to instead pass their delegates to Scene.ForEachScenePresence(Action<ScenePresence>). 2010-03-19 15:16:35 -07:00
Dan Lake 73e9b0be72 Inconsistent locking of ScenePresence array in SceneGraph. Fixed by eliminating option to return the actual list. Callers can now either request a copy of the array as a new List or ask the SceneGraph to call a delegate function on every ScenePresence. Iteration and locking of the ScenePresences now takes place only within the SceneGraph class.
This patch also applies a fix to Combat/CombatModule.cs which had unlocked iteration of the ScenePresences and inconsistent try/catch around the use of those ScenePresences.
2010-03-17 11:21:27 -07:00
Justin Clark-Casey (justincc) 582375509c refactor: move RezSingleAttachmentFromInventory() from SceneGraph to AttachmentsModule 2010-03-12 22:48:49 +00:00
Justin Clark-Casey (justincc) b9f5cd75bc refactor: move client invoked AttachObject from SceneGraph to AttachmentsModule 2010-03-12 22:39:15 +00:00
Justin Clark-Casey (justincc) 395f343498 refactor: Move DetachSingleAttachmentToInv to region module
need to rationalize method names later
2010-03-06 00:07:47 +00:00
Justin Clark-Casey (justincc) 60553e62a3 refactor: begin to move attachments code into a region module 2010-03-05 23:18:47 +00:00
Justin Clark-Casey (justincc) edb176447b Fix bug where approximately half the time, attachments would rez only their root prim until right clicked (or otherwise updated).
The root cause of this problem was that multiple ObjectUpdates were being sent on attachment which differed enough to confuse the client.
Sometimes these would eliminate each other and sometimes not, depending on whether the scheduler looked at the queued updates.
The solution here is to only schedule the ObjectUpdate once the attachment code has done all it needs to do.
2010-03-03 22:14:06 +00:00
Justin Clark-Casey (justincc) 660ebe52cf Actually make EventManager.OnAttach() fire when an object is attached. Previously, only detach was firing! 2010-03-03 18:40:33 +00:00
Melanie 1f45e6c649 Merge branch 'master' into presence-refactor
This brings presence-refactor up to master again
2010-02-22 03:00:59 +00:00
Jeff Ames af265e001d Formatting cleanup. 2010-02-15 19:21:56 +09:00
Melanie c033223c63 Merge branch 'master' into presence-refactor 2010-02-15 00:20:48 +00:00
Revolution 9821c4f566 Revolution is on the roll again! :)
Fixes: Undo, T-pose of others on login, modifiedBulletX works again, feet now stand on the ground instead of in the ground, adds checks to CombatModule. Adds: Redo, Land Undo, checks to agentUpdate (so one can not fall off of a region), more vehicle parts. Finishes almost all of LSL (1 function left, 2 events).

Direct flames and kudos to Revolution, please

Signed-off-by: Melanie <melanie@t-data.com>
2010-02-14 22:18:46 +00:00
Melanie baaf660511 Merge branch 'master' into presence-refactor
This was a large, heavily conflicted merge and things MAY have got broken.
Please check!
2010-02-08 15:53:38 +00:00
Melanie 2953bee1f4 Revert "change position of OnAttach event firing so that this also happens when a user teleports into a region"
The behavior introduced here is not compatible with SL

This reverts commit b6bee4999c.
2010-02-04 17:11:06 +00:00
Justin Clark-Casey (justincc) b6bee4999c change position of OnAttach event firing so that this also happens when a user teleports into a region 2010-02-03 15:35:41 +00:00
Justin Clark-Casey (justincc) 4c1740f7d8 Actually make EventManager.OnAttach() fire when an object is attached. Previously, only detach was firing! 2010-02-01 20:15:36 +00:00
Justin Clark-Casey (justincc) 53a01dc422 Don't try to start attachment scripts or send updates if the attachment itself has been unsuccessful 2010-02-01 20:06:43 +00:00
Diva Canto 42f978a478 * HGScene is no more.
* Moved a few key inventory access methods from Scene.Inventory to an IInventoryAccessModule module
2010-01-30 09:23:07 -08:00
Melanie 9453c42631 Experimental: Remove explicit property sends 2009-12-06 02:54:19 +00:00
Melanie 1a695875a7 Skip single prims in unlink selections 2009-12-06 02:54:09 +00:00