Justin Clark-Casey (justincc)
2bc8dcfdbd
minor: add method doc to make it clear that click action is fired when the click action is changed, not when a prim is clicked
2011-06-10 02:27:45 +01:00
Justin Clark-Casey (justincc)
90567a9eaa
refactor Scene.RezObject() to use AddNewSceneObject() rather than copy/pasting code with small differences
2011-05-21 00:02:53 +01:00
Justin Clark-Casey (justincc)
4b0fc4faef
implement Scene.GetSceneObjectGroup(string name) to match the equivalent GetSOP method
2011-05-20 23:41:14 +01:00
Justin Clark-Casey (justincc)
91a9f30b16
implement Scene.GetSceneObjectGroup(UUID fullID) using existing index
2011-05-20 23:34:34 +01:00
Justin Clark-Casey (justincc)
7ed419217f
add test for rezzing an object from a prim item
2011-05-20 23:22:27 +01:00
Melanie
13d6e05d5a
Implement agent limits
2011-04-21 23:03:38 +01:00
Justin Clark-Casey (justincc)
58efd761d1
Add coalesced scene objects class and serializer. This is currently only used by the TestRezCoalescedObject() regression test.
...
This structure matches the existing one for SceneObjects and will allow code to be reused by the uuid gatherer, other tests, etc.
Test is not yet fully implemented due to a bug in rezzing coalesced objects where they all get the same name as the item.
Only one object should get the same name as the item, which appears to be the one selected last when the the objects were coalesced in the first place.
This bug will be addressed shortly.
2011-04-13 21:17:43 +01:00
Justin Clark-Casey (justincc)
9bc2705f37
Fix bug where on duplication, the root part local id was continually used in populating the local id scene object index instead of each part's local id
2011-04-06 20:52:36 +01:00
Justin Clark-Casey (justincc)
f2d2470c25
When an object is duplicated, add it to the full/local id SOG indexes as well as Entities
2011-03-26 02:24:32 +00:00
Justin Clark-Casey (justincc)
26d16567e1
Make SceneGraph.ForEachSOG() execute once for each SOG, not once for each prim (e.g. a SOG with 3 prims would have the action executed three times).
...
To do this, a new SceneObjectGroupsByFullID index in SceneGraph which just index's prims by their root part UUID, in order to avoid the inefficiency of filtering existing lists.
Existing callers to SceneGraph.ForEachSOG() did not fail due to the multiple per SOG action executions - they were probably just much less efficient.
Code suggests that no callers expected ForEachSOG() to execute actions on sog multiple times
2011-03-26 00:53:19 +00:00
Justin Clark-Casey (justincc)
f30bf429c2
refactor: rename SOG collections in SceneGraph to make it clearer that they are indexing each part's UUID, not just the root part.
2011-03-26 00:42:48 +00:00
Justin Clark-Casey (justincc)
b34743e5fe
Add an initial confidence-building TestAddObject() for prim counts.
2011-03-22 23:47:36 +00:00
Justin Clark-Casey (justincc)
2f5394e70d
Fix bug where avatars in other regions would not always show up on the mini-map
2011-02-24 22:33:54 +00:00
Mic Bowman
240c0eaf1d
Remove the RestorePresences functions (which don't seem to be doing
...
anything) and clean up the code in AddNewClient (so Appearance only
gets assigned once, not three times).
2011-01-26 13:33:34 -08:00
Justin Clark-Casey (justincc)
e62b3dba8a
reinstate IAttachmentsModule.UpdateAttachmentPosition() since this is being used by a 3rd party region module and contains non-obvious attachment specific code
...
There are no functional changes. UpdateAttachmentPosition() is adapted to the new approach of only saving attachment state on logout
2010-12-14 00:11:41 +00:00
Justin Clark-Casey (justincc)
a918c8df97
fix the minimap sitting avatar location bug
...
a sitting avatar should have it's offset position added to the scene object, not its absolute position
2010-12-10 03:46:16 +00:00
Melanie
7bb005b0d1
Change the way attachments are persisted. Editing a worn attachment will now
...
save properly, as will the results of a resizer script working. Attachment
positions are no longer saved on each move, but instead are saved once on
logout. Attachment script states are saved as part of the attachment now
when detaching.
2010-11-16 21:01:56 +00:00
Melanie
1fcac7203d
Prevent nullrefs in scene object deletion. Mantis #5156
2010-10-27 20:47:27 +01:00
Melanie
511751a733
I really have to say it again and again: e.Message is NOT enough data for
...
troubleshooting. It MUST be combined with e.StackTrace, or e.ToString() must
be used.
Fix one more instance of that cr.p
2010-10-03 22:36:27 +01:00
Melanie
8e547d3491
Prevent setting arbitrary groups on your objects.
2010-09-27 02:11:55 +01:00
John Hurliman
860b2a502f
Changed SceneObjectGroup to store parts with the fast and thread-safe MapAndArray collection
2010-09-16 17:30:46 -07:00
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