aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Whitespace cleanupMelanie2010-01-111-124/+124
|
* Adds llRotTarget and the events at_rot_target and not_at_rot_target.Revolution2010-01-111-3/+127
| | | | Signed-off-by: Melanie <melanie@t-data.com>
* Readds llCollisionFilter and adds llPassCollision.Revolution2009-12-311-0/+11
| | | | | | Applied with whitespace cleanup Signed-off-by: Melanie <melanie@t-data.com>
* Glue code for a couple of new LSL function implementationsMelanie2009-12-221-0/+39
|
* Remove extra forced updates. They're not needed for each prim. Really.Melanie2009-12-061-8/+8
|
* Eliminate multiple updates on link/unlinkMelanie2009-12-061-4/+4
|
* * Fixes the 10x10x10 hard physics limitation. (wierdly, you have to set ↵Teravus Ovares (Dan Olivares)2009-12-031-1/+3
| | | | | | | this for each region in your Regions.ini[PhysicalPrimMax = 10(default)]) * Adds a configurable maximum object mass before the mass is clamped. Default is 10000.01. Configurable by changing maximum_mass_object in the [ODEPhysicsSettings] section. * Clamping the mass is important for limiting the amount of CPU an object can consume in physics calculations. Too high, and the object overcomes restitution forces by gravity alone. This generates more collisions potentially leading to 'deep think'.
* Reset update flag when a SOG is deleted. This fixes llDie();Melanie2009-11-271-0/+1
|
* Remove the old (Remoting) region crossing code. Fix the new code toMelanie2009-11-261-11/+0
| | | | | | | | | | pass script state and assembly again properly. Reintroduce respecting tht TrustBinaries flag. Changes the interregion protocol! No version bump because it was broken anyway, so with a version mismatch it will simply stay broken, but not crash. Region corssing still doesn't work because there is still monkey business with both rezzed prims being pushed across a border and attached prims when walking across a border. Teleport is untested by may work.
* Make GroupRootUpdate be a terse update. This method is not used by opensim ↵Diva Canto2009-11-141-2/+2
| | | | (it should), but it's used by external modules.
* Removing EntityBase.RotationJohn Hurliman2009-11-041-0/+8
|
* Another race condition fix in SceneObjectGroupJohn Hurliman2009-11-021-7/+11
|
* Small performance tweaks to code called by the heartbeat loopJohn Hurliman2009-10-281-15/+2
|
* Always send a time dilation of 1.0 while we debug rubberbanding issuesJohn Hurliman2009-10-281-2/+2
|
* Experimental change of PhysicsVector to Vector3. UntestedJohn Hurliman2009-10-261-14/+12
|
* Changing Scene.ForEachClient to use the synchronous for loop instead of ↵John Hurliman2009-10-251-1/+1
| | | | | | | | | | Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces * Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff * Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape() * Improved the instantiation of PrimitiveBaseShape
* Implemented a "FrontBack" prioritizer, using distance plus the plane ↵John Hurliman2009-10-231-3/+30
| | | | equation to give double weight to prims/avatars in front of you
* Experimental change to use an immutable array for iterating ScenePresences, ↵John Hurliman2009-10-231-2/+2
| | | | avoiding locking and copying the list each time it is accessed
* Merge branch 'master' into vehiclesMelanie2009-10-221-2/+74
|\
| * * Change Util.FireAndForget to use ThreadPool.UnsafeQueueUserWorkItem(). ↵John Hurliman2009-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids .NET remoting and a managed->unmanaged->managed jump. Overall, a night and day performance difference * Initialize the LLClientView prim full update queue to the number of prims in the scene for a big performance boost * Reordered some comparisons on hot code paths for a minor speed boost * Removed an unnecessary call to the expensive DateTime.Now function (if you *have* to get the current time as opposed to Environment.TickCount, always use DateTime.UtcNow) * Don't fire the queue empty callback for the Resend category * Run the outgoing packet handler thread loop for each client synchronously. It seems like more time was being spent doing the execution asynchronously, and it made deadlocks very difficult to track down * Rewrote some expensive math in LandObject.cs * Optimized EntityManager to only lock on operations that need locking, and use TryGetValue() where possible * Only update the attachment database when an object is attached or detached * Other small misc. performance improvements
| * Object update prioritization by Jim Greensky of Intel Labs, part one. This ↵John Hurliman2009-10-151-1/+73
| | | | | | | | implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon
* | Merge branch 'master' into vehiclesMelanie2009-10-151-9/+6
|\ \ | |/
| * Optimized heartbeat by calling Update() only on updated objects.Dan Lake2009-10-131-9/+6
| | | | | | | | | | | | | | | | During the heartbeat loop, Update() is called on every SceneObjectGroup which in turn checks if any SceneObjectPart has changed. For large regions (> 100k prims) this work consumes 20-30% of a CPU even though there are only a few objects updating each frame. There is only one other reason to check every object on every frame, and that is the case where a script has registered the object with an "at target" listener. We can easily track when an object is registered or unregistered with an AtTarget, so this is not a reason to check every object every heartbeat. In the attached patch, I have added a dictionary to the scene which tracks the objects which have At Targets. Each heartbeat, the AtTarget() function will be called on every object registered with a listener for that event. Also, I added a dictionary to SceneGraph which stores references to objects which have been queued for updates during the heartbeat. At each heartbeat, Update() is called only on the objects which have generated updates during that beat.
* | Merge branch 'master' into vehiclesMelanie2009-10-021-6/+6
|\ \ | |/