aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Only force prim persistence before delete if the prim is the result of an ↵Justin Clark-Casey (justincc)2010-12-031-2/+13
| | | | | | unpersisted delink This considerably improves delete performance for objects with large linksets
* Let CHANGED_SCALE also trigger when editing prims and linksets with the ↵Marck2010-11-221-0/+2
| | | | | | viewer's edit tools. This event used to trigger only when the scale was changed with a script.
* Change the way attachments are persisted. Editing a worn attachment will nowMelanie2010-11-161-2/+4
| | | | | | | 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.
* Fix autoreturn to not return zero objectsMelanie2010-10-071-6/+2
|
* Plumb the path for multiple object deletesMelanie2010-10-061-2/+6
|
* Add UUID to physics prim name parameter so that diagnostic messages can be ↵Justin Clark-Casey (justincc)2010-09-251-1/+1
| | | | | | made more useful. If a separate UUID parameter is better for the future then this can be added later on.
* If the uuid of a SceneObjectGroup (RootPart) is changed before adding to the ↵Justin Clark-Casey (justincc)2010-09-211-2/+6
| | | | | | | | scene, remove the old uuid reference from m_parts as well as adding the new one. The separate remove and set operations is SOG.set_UUID() are both locked under m_parts.SyncRoot since they are logically atomic (though this isn't such an issue if the SOG isn't part of a scene) Added unit test for this behaviour. Also changed the second m_parts.AddOrReplace() to m_parts.Add(). As the old reference is now removed we never end up replacing an identical uuid. And if we replace a uuid that's already there (from a child part) then this is an error.
* Fixed a regression in SOG.Copy()John Hurliman2010-09-161-1/+1
|
* Changed SceneObjectGroup to store parts with the fast and thread-safe ↵John Hurliman2010-09-161-818/+591
| | | | MapAndArray collection
* rename SceneObjectGroup.DeleteGroup() to DeleteGroupFromScene() to improve ↵Justin Clark-Casey (justincc)2010-09-151-1/+1
| | | | code readability
* Instead of locking SOG.Children when a group is being removed from the ↵Justin Clark-Casey (justincc)2010-09-151-15/+17
| | | | | | | | scene, iterate over an unlocked list instead Previously, deadlock was possible because deleting a group took a SOG.Children lock then an m_entityUpdates.SyncRoot lock in LLClientView At the same time, a thread starting from LLClientView.ProcessEntityUpdates() could take an m_entityUpdates.SyncRoot lock then later attempt to take a SOG.Children lock in PermissionsModule.GenerateClientFlags() and later on Taking a children list in SOG appears to be a better solution than changing PermissionsModule to not relook up the prim. Going the permission modules root would require that all downstream modules not take a SOG.Children lock either
* Comment out SOG storing debug log messageJustin Clark-Casey (justincc)2010-09-141-3/+3
| | | | This can get very spammy with regularly changing objects. Please uncomment if required.
* MergedJohn Hurliman2010-09-121-9/+9
|\
| * Formatting cleanup.Jeff Ames2010-09-121-9/+9
| |
* | * Added ISimulationDataService and IEstateDataServiceJohn Hurliman2010-09-121-1/+1
|/ | | | | * Removed StorageManager * CONFIG CHANGE: There are no more database settings in OpenSim.ini. Check the config-include configuration files for region store and estate store database settings
* Fixed the naming mess around data connectors for simulation dataJohn Hurliman2010-09-111-1/+1
|
* Second pass at cleaning up thread safety in EntityManager and SceneGraphJohn Hurliman2010-09-101-9/+2
|
* Fix deletion persistence when freshly delinked prims are removedJustin Clark-Casey (justincc)2010-09-071-17/+25
| | | | | | | | | | Previously, Scene.Inventory.DeRezObjects() forced the persistence of prims before deletion. This is necessary so that freshly delinked prims can be deleted (otherwise they remain as parts of their old group and reappear on server restart). However, DeRezObjects() deleted to user inventory, which is required by llDie() or direct region module unlink and deletion. Therefore, forced persistence has been pushed down into Scene.UnlinkSceneObject() to be more general, this is still on the DeRezObjects() path. Uncommented TestDelinkPersistence() since this now passes. Tests required considerable elaboration of MockRegionDataPlugin to reflect underlying storing of parts.
* Add test to check persistence of newly added pre-linked objectsJustin Clark-Casey (justincc)2010-09-061-3/+2
| | | | | Added a MockRegionDataPlugin to do in-memory persistence for tests since adding this to OpenSim.Data.Null.NullDataStore doesn't seem appropriate NullDataStore can do nothing because OpenSim only ever retrieve region objects from the database on startup. Adding an in-memory store here would be unecessary overhead.
* refactor: move SOG.AttachToAgent() into AttachmentsModuleJustin Clark-Casey (justincc)2010-09-011-71/+0
|
* Improve liveness by operating on list copies of SOG.Children where appropriateJustin Clark-Casey (justincc)2010-08-281-23/+27
|
* replace m_parts.Count linknum with 0 in CopyRootPart since m_parts.Count is ↵Justin Clark-Casey (justincc)2010-08-261-1/+1
| | | | always 0 (and any other number would cause an error anyway)
* Improve consistency of locking for SOG.m_parts in order to avoid race ↵Justin Clark-Casey (justincc)2010-08-261-52/+79
| | | | conditions in linking and unlinking
* If setting SOG.UUID, update the SOG.m_parts index as well as the root part UUIDJustin Clark-Casey (justincc)2010-08-251-1/+10
| | | | Being able to change a SOG.UUID is useful for region modules that want to supply their own UUID, before the object is rezzed
* refactor: Use SOP.Flags rather than SOP.ObjectFlagsJustin Clark-Casey (justincc)2010-08-131-3/+3
|
* Removed abstract SetText method from EntityBase to make cleaner API.Mikko Pallari2010-08-101-1/+1
| | | | Signed-off-by: Melanie <melanie@t-data.com>
* On shift-copy of an object, set up a new physics actor (as appropriate) for ↵Justin Clark-Casey (justincc)2010-08-101-19/+19
| | | | | | every copied prim, not just the root This addresses http://opensimulator.org/mantis/view.php?id=4295
* minor: Remove overly verbose schedule full update log message for attachmentsJustin Clark-Casey (justincc)2010-08-071-2/+2
|
* add userExposed parameter to part copy eventJustin Clark-Casey (justincc)2010-07-281-0/+1
|
* Add EventManager.OnSceneObjectPreSave() for future use. This is triggered ↵Justin Clark-Casey (justincc)2010-07-261-0/+1
| | | | immediately before a copy of the group is persisted to storage
* Allow Megaregions to start properly after an unclean shutdownMelanie2010-07-201-1/+1
|
* Remove AgentID and GroupOD from the signature of SOG.Copy(). They were neverMelanie Thielker2010-06-281-3/+3
| | | | used, but made for a very mispleading read of the code in the callers.
* Fix Copy on Ray, Drag Copy and other little things. Removed the wrong andMelanie Thielker2010-06-281-16/+2
| | | | | | | 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.
* Bug fix on attachments: attach->drop->attach works now.Diva Canto2010-06-091-0/+1
|
* Reduce number of full updates sent on region crossing for attachments/huds ↵Justin Clark-Casey (justincc)2010-06-081-1/+2
| | | | | | | | | 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
* Fix prim returns I broke earlierMelanie Thielker2010-06-011-1/+1
|
* Split GetAxisAlignedBoundingBox into two methods to allow calculation ofMelanie Thielker2010-06-011-3/+20
| | | | combined bounding boxes and offsets
* Fix create selection getting overwritten by multiple updates for the same prim.Melanie Thielker2010-05-311-1/+1
|
* * Moving all of the prioritization/reprioritization code into a new file ↵John Hurliman2010-05-211-100/+1
| | | | | | | Prioritizer.cs * Simplified the interest management code to make it easier to add new policies. Prioritization and reprioritization share code paths now * Improved the distance and front back policies to always give your avatar the highest priority
* Inconsistent locking of ScenePresence array in SceneGraph. Fixed by ↵Dan Lake2010-03-171-7/+5
| | | | | | 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.
* Formatting cleanup. Add copyright notices.Jeff Ames2010-03-101-3/+3
|
* compiler warnings revealed that public PlaySoundSlavePrims properties were ↵Justin Clark-Casey (justincc)2010-03-031-2/+2
| | | | | | changing the wrong protected fields. correcting these may resolve the sound problems seen recently on the mailing list, though not guaranteed.
* refactor: push sog.SendPartFullUpdate() down into sop where it better belongsJustin Clark-Casey (justincc)2010-03-031-33/+4
| | | | no functional changes
* Fix bug where approximately half the time, attachments would rez only their ↵Justin Clark-Casey (justincc)2010-03-031-7/+28
| | | | | | | | 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.
* Formatting cleanup.Jeff Ames2010-02-221-1/+1
|
* Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2010-02-161-35/+104
|\
| * Revolution is on the roll again! :)Revolution2010-02-141-35/+104
| | | | | | | | | | | | | | | | 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>
* | minor: Make SOG.DelinkFromGroup() return the newly delinked scene object ↵Justin Clark-Casey (justincc)2010-02-161-10/+25
|/ | | | instead of void
* refactor: Reuse SceneObjectGroup.IsAttachmentCheckFull() in ↵Justin Clark-Casey (justincc)2010-02-081-1/+10
| | | | Scene.AddSceneObject since this wraps a check that is much less clear
* minor: add reminder to lock SOG.Children before using it directly in order ↵Justin Clark-Casey (justincc)2010-02-021-2/+5
| | | | to avoid threading issues