aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix NPC sitting for prims without a sit target.Justin Clark-Casey (justincc)2011-11-051-2/+10
| | | | | | | | This is to partially address http://opensimulator.org/mantis/view.php?id=5769 We don't need to call SP.HandleAgentSit() again if we are within 10m since the autopilot won't trigger. By calling it twice, the position of the sitting NPC was wrongly adjusted, ending up near <0,0,0>. However, this change does mean that NPCs further than 10m away will not attempt to autopilot to the prim, though this code was broken anyway (is actually a different mechanism to normal NPC movmeent). Hopefully this can be addressed soon.
* Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake2011-11-031-4/+4
| | | | | | from previous commit which sort out which iterator is used are left intact. A discussion is needed as to what constitutes an avatar vs a ScenePresence.
* Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls toDan Lake2011-11-031-10/+10
| | | | | | | | | | | | | | the 3 iteration functions so more of them are using the correct iteration for the action they are performing. The 3 iterators that seem to fit all actions within OpenSim at this time are: ForEachAvatar: Perform an action on all avatars (root presences) ForEachClient: Perform an action on all clients (root or child clients) ForEachRootClient: Perform an action on all clients that have an avatar There are still a dozen places or so calling the old ForEachScenePresence that will take a little more refactoring to eliminate.
* Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.Dan Lake2011-11-021-50/+51
| | | | | | | | | | | | | | | | | UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on SOP consistently now. Also started working toward eliminating those calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule from outside SOP in favor of just setting properties on SOP and let SOP decide if an update should be scheduled. This consolidates the update policy within SOP and the client rather than everywhere that makes changes to SOP. Some places forget to call update while others call it multiple times, "just to be sure". UpdateFlag and Schedule*Update will both be made private shortly. UpdateFlag is intended to be transient and internal to SOP so it has been removed from XML serializer for SOPs.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2011-10-281-6/+3
|\
| * Continuation of previous checkin. Found more places where ↵Dan Lake2011-10-271-6/+3
| | | | | | | | ForEachScenePresence can be changed to ForEachRootScenePresence.
* | fetch SOP.RotationOffset once in UpdateRotation() and compare rather than ↵Justin Clark-Casey (justincc)2011-10-281-5/+20
|/ | | | | | fetch four separate times. No functional change.
* Fix a bug I introduced yesterday in ODE physics where prim scripts would ↵Justin Clark-Casey (justincc)2011-10-271-0/+2
| | | | only receive the very first collision.
* Get rid of the pointless null checks on collision listeners. Add warning ↵Justin Clark-Casey (justincc)2011-10-251-4/+0
| | | | about synchronicity for PhysicsActor.OnCollisionUpdate event doc
* For ScenePresence collision events, instead of creating a new ↵Justin Clark-Casey (justincc)2011-10-251-4/+6
| | | | | | CollisionEventsThisFrame every time we need to send some new ones, reuse the existing one instead. This assumes that the listener is using the data synchronously, which is currently the case.
* refactor: Use SOP.SitTargetAvatar instead of calling a special ↵Justin Clark-Casey (justincc)2011-10-171-5/+3
| | | | GetAvatarOnSitTarget() which returned exactly the same thing
* Implement osNpcSit(). This is still in development so don't trust itJustin Clark-Casey (justincc)2011-10-171-2/+0
| | | | | | | | | Format is osNpcSit(<npc-uuid>, <target-uuid>, OS_NPC_SIT_IMMEDIATE) e.g. osNpcSit(npc, llGetKey(), OS_NPC_SIT_IMMEDIATE); At the moment, sit only succeeds if the part has a sit target set. NPC immediately sits on the target even if miles away - they do not walk up to it. This method is in development - it may change so please don't trust it yet. Standing will follow shortly since that's kind of important once you're sitting :)
* fetch physical_prim switch from [Startup] config from inside scene, as is ↵Justin Clark-Casey (justincc)2011-10-151-34/+8
| | | | done for most other scene config params
* remove now redundant m_physical_prim flag from SOP.ApplyPhysics()Justin Clark-Casey (justincc)2011-10-151-4/+4
|
* Restore [Startup] physical_prim flag which can stop any prims being subject ↵Justin Clark-Casey (justincc)2011-10-151-1/+6
| | | | | | | to physics This had stopped working. However, at the moment it still allows the physics flag to be set even though this has no effect. This needs to be fixed. Default for this flag is true as previously.
* remove redundant PhysActor.IsPhysical call from SOP.UpdatePrimFlags() as its ↵Justin Clark-Casey (justincc)2011-10-151-4/+0
| | | | done immediately afterwards in DoPhysicsPropertyUpdate()
* refactor: Remove redundant code in SOP.UpdatePrimFlags()Justin Clark-Casey (justincc)2011-10-151-27/+21
|
* factor common code out into SOP.RemoveFromPhysics()Justin Clark-Casey (justincc)2011-10-151-5/+17
|
* refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it ↵Justin Clark-Casey (justincc)2011-10-141-2/+2
| | | | sends entity updates (including presence ones), not just prims.
* Start recording object updates per second statistic (analogue of agent ↵Justin Clark-Casey (justincc)2011-10-111-1/+7
| | | | | | updates per secod) and expose via monitoring module as ObjectUpdatePerSecondMonitor A useful diagnostic to find out how object updates are burdening a scene
* Remove unimplementated UpdateMovement() methods from SOG, SOP.Justin Clark-Casey (justincc)2011-10-011-4/+0
| | | | | SP still has an implementation but this is now just a public method on SP rather than an abstract one in EntityBase. No point making the code more complex until it actually needs to be,
* Fix for rezzing and derezzing HUDs (see Mantis #5406). From now on updates ↵Snoopy Pfeffer2011-09-251-1/+6
| | | | are only sent to affected clients.
* remove unused SOP.Create() methodJustin Clark-Casey (justincc)2011-09-231-14/+0
|
* refactor: rename SOG/SOP.GetProperties() to SendPropertiesToClient() to ↵Justin Clark-Casey (justincc)2011-09-151-14/+18
| | | | | | reflect what it actually does This also makes it consistent with some other methods that send data to the client.
* stop passing FromUserInventoryItemID right down into the deserializer.Justin Clark-Casey (justincc)2011-09-021-13/+2
| | | | the code becomes simpler if this is set from the outside - only one place needs to do this.
* Move more of IAM.RezObject() into DoPreRezWhenFromItem()Justin Clark-Casey (justincc)2011-09-021-3/+2
|
* refactor: use SOG register target waypoints and rots directly instead of ↵Justin Clark-Casey (justincc)2011-09-011-20/+0
| | | | calling through the SOP, which doesn't make conceptual sense anyway.
* refactor: use ParentGroup.UUID directly instead of SOP.GetRootPartUUID()Justin Clark-Casey (justincc)2011-09-011-17/+6
|
* Fix issue with llGetTorque() where it would only ever return a zero vector.Justin Clark-Casey (justincc)2011-09-011-9/+0
|
* Remove pointless cluttering SOP.ParentGroup != null checks.Justin Clark-Casey (justincc)2011-09-011-169/+113
| | | | | The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database. At all other times it's not possible for a SOP not to have a SOG parent.
* refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid ↵Justin Clark-Casey (justincc)2011-08-271-35/+11
| | | | pointless duplication of identical values
* refactor: simplify SOP.AttachedAvatar into SOG.AttachedAvatarJustin Clark-Casey (justincc)2011-08-261-4/+1
| | | | This does a tiny bit to reduce code complexity, memory requirement and the cpu time of pointlessly setting this field to the same value in every SOP
* Fix exception when using BasicPhysicsRobert Adams2011-08-191-2/+2
|
* extend phantom flag regression test to toggle back offJustin Clark-Casey (justincc)2011-08-061-0/+3
|
* refactor: Fold most SOP.ScriptSet* methods back into script code. Simplify.Justin Clark-Casey (justincc)2011-08-061-25/+0
|
* Add regression test for setting phantom status on a scene object. This is ↵Justin Clark-Casey (justincc)2011-08-051-4/+3
| | | | not yet complete.
* Comment out SOP logging message I accidentally left inJustin Clark-Casey (justincc)2011-07-311-1/+1
|
* refactor: split out ninja joint part of SOP.DoPhysicsPropertyUpdate() so ↵Justin Clark-Casey (justincc)2011-07-311-71/+86
| | | | that we don't have to look at it if it's not relevant
* minor: Add method doc to collision subscription methods. Change method case ↵Justin Clark-Casey (justincc)2011-07-301-1/+0
| | | | to reflect OpenSim standards.
* Fix problem where sculpts were not getting physical proxiesJustin Clark-Casey (justincc)2011-07-221-2/+2
| | | | | Fixed this by inspecting Shape.SculptEntry at various places instead of Shape.SculptType. Sculpties actually have a SculptType of Cylinder - only true mesh is SculptType.Mesh This addresses http://opensimulator.org/mantis/view.php?id=5595
* Tidy up a superfluous AddPrimShape override in PhysicsSceneCareminster Team2011-07-191-1/+0
|
* On all undo/redo operations, consistently lock the undo object for ↵Justin Clark-Casey (justincc)2011-07-191-5/+1
| | | | everything, in order to avoid any deadlock issues.
* If we store an undo, wipe anything already present on the redo stackJustin Clark-Casey (justincc)2011-07-191-0/+3
| | | | | This stops problems when we undo a few steps and start off down another path. Surprisingly, apart from this now fixed problem, redo appears to be working too.
* stop redo throwing an exception if there is nothing to redoJustin Clark-Casey (justincc)2011-07-191-10/+13
|
* Fix undo when changing just the root prim's position in a linkset.Justin Clark-Casey (justincc)2011-07-191-1/+1
| | | | | | I think (ha ha) this largely fixes undo, except for the fact that rotation a set of prims with 'edit linked parts' selected doesn't quite work properly (though this works fine if the checkbox isn't selected). Also, the double undo bug for resize is still present. Redo might be incredibly buggy, haven't even looked at that yet.
* comment out all kinds of debugging guffJustin Clark-Casey (justincc)2011-07-191-6/+6
|
* Fix undo of prim group rotation.Justin Clark-Casey (justincc)2011-07-191-2/+2
| | | | | This isn't that great since I think I broke it a few commits earlier. Undo of rotation of individual prims in a linkset is still broken
* Stop undo of just the root prim position in the linkset from shifting the ↵Justin Clark-Casey (justincc)2011-07-191-6/+6
| | | | | | whole linkset. However, what happens now is that undo just doesn't do anything when the root prim is selected on its own. This requires more code than just fiddling with undo states.
* Fix undo for resizing linksetsJustin Clark-Casey (justincc)2011-07-191-17/+25
| | | | | | This involves implementing a boolean in UndoState to signal whether the undo needs to be done for an entire group/linkset or just a single prim Resizing individual components of linksets is still dodgy. Resizing still has to be down twice, since for some reason the client is sending two multiobjectupdate packets on every resize except the very first. This applies to single prims and linksets. Need to look into this.
* remove undo state storage in a few places where it's pointlessJustin Clark-Casey (justincc)2011-07-191-2/+0
| | | | no functional effect - existing bugs still remain