aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDan Lake2011-09-211-1/+10
|\
| * Reinstate option to land an npc when it reaches a target.Justin Clark-Casey (justincc)2011-09-221-1/+10
| | | | | | | | This is moved into ScenePresence for now as a general facility
* | Commented out new debug statements in ScenePresenceDan Lake2011-09-211-5/+5
|/
* Remove unused and never set SP.PreviousRotationJustin Clark-Casey (justincc)2011-09-211-8/+0
|
* get rid of an incredibly noisy logging message from the last commitJustin Clark-Casey (justincc)2011-09-211-1/+1
|
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2011-09-211-10/+14
|\
| * Make debug statements in ScenePresence consistent and add a few moreDan Lake2011-09-201-10/+14
| |
* | When calling osNpcMoveTo(), rotate the avatar in the direction of travel.Justin Clark-Casey (justincc)2011-09-211-2/+21
|/ | | | | | | This stops the npc walking backwards if the target is directly behind. This means that the npc no longer returns to its original rotation once movement has finished. If you want this behaviour, please store and reset the original rotation after movement. This is somewhat to address http://opensimulator.org/mantis/view.php?id=5678
* On setting a new avatar appearance, if height hasn't changed then don't set ↵Justin Clark-Casey (justincc)2011-09-171-0/+4
| | | | | | that same height in ScenePresence. This prevents unnecessary work in the ODE module, though possibly that should be checking against same size sets itself
* Stop the avatar stalling on its first boarder cross when using the ODE pluginJustin Clark-Casey (justincc)2011-09-161-0/+10
| | | | | | When upgrading the previously child agent to a root, the code was setting the Size parameter on the ODECharacter PhysicsActor. This in turn reset Velocity, which cause the border stall. I'm fixing this by commenting out the Velocity = Vector3.Zero lines since they don't appear to play a useful purpose
* minor: I was wrong about OffsetPosition - sometimes it genuinely does return ↵Justin Clark-Casey (justincc)2011-09-161-0/+4
| | | | | | offset position! Add method doc to explain this.
* Remove setter from SP.OffsetPosition, since all sets should flow through ↵Justin Clark-Casey (justincc)2011-09-161-3/+14
| | | | | | SP.AbsolutePosition OffsetPosition is also misnamed - it returns the absolute position and never contains an offset.
* Don't try and delete attachments for child agent closeJustin Clark-Casey (justincc)2011-09-131-1/+2
|
* eliminate redundant SP.m_regionInfo since it always has the scene.Justin Clark-Casey (justincc)2011-09-121-8/+6
| | | | We were already referencing through the scene in some places.
* remove the unused SP.initializeScenePresence()Justin Clark-Casey (justincc)2011-09-121-23/+2
|
* stop the redundant passing in of RegionInfo to SceneGraph, since the Scene ↵Justin Clark-Casey (justincc)2011-09-121-4/+4
| | | | is always passed in at the same time.
* Start locking entire add/remove operations on an ↵Justin Clark-Casey (justincc)2011-09-121-0/+4
| | | | | | | | | IScenePresence.AttachmentsSyncLock object Attach and detach packets are processed asynchronously when received from a viewer. Bugs like http://opensimulator.org/mantis/view.php?id=5644 indicate that in some situations (such as attaching/detaching entire folders of objects at once), there are race conditions between these threads. Since multiple data structures need to be updated on attach/detach, it's not enough to lock the individual collections. Therefore, this commit introduces a new IScenePresence.AttachmentsSyncLock which add/remove operations lock on.
* lock attachments when enumerating through them in ScenePresence.CopyTo().Justin Clark-Casey (justincc)2011-09-101-20/+24
| | | | May have some effect on http://opensimulator.org/mantis/view.php?id=5644
* Add extra log information when attachments fail validationJustin Clark-Casey (justincc)2011-09-101-1/+9
|
* Try disabling the inconsistent attachment state check to see if this ↵Justin Clark-Casey (justincc)2011-09-051-9/+7
| | | | | | | | actually has an impact. The code in question is over three years old and just be catching an inconsistency rather than being wholly necessary. This commit still carries out the check and prints all the previous log warnings but a 'failure' no longer prevents avatar region crossing or teleport, and it doesn't give the client the error message. This will have some kind of impact on http://opensimulator.org/mantis/view.php?id=5672
* Stop NPCs losing attachments when the source avatar takes them off.Justin Clark-Casey (justincc)2011-09-031-3/+0
| | | | | | | This was happening because we were using the source avatar's item IDs in the clone appearance. Switch to using the asset IDs of attachments instead for NPCs. The InventoryAccessModule and AttachmentModule had to be changed to allow rezzing of an object without an associated inventory item. Hopefully goes some way towards resolving http://opensimulator.org/mantis/view.php?id=5653
* move common code into AttachmentsModule.DeleteAttachmentsFromScene()Justin Clark-Casey (justincc)2011-08-311-13/+1
|
* refactor: move multiple class to set avatar height into associated ↵Justin Clark-Casey (justincc)2011-08-311-16/+2
| | | | SP.AddToPhysicalScene()
* get rid of appearance null checks - this is never nullJustin Clark-Casey (justincc)2011-08-311-35/+15
|
* remove pointless m_attachments == null check since this field is never nullJustin Clark-Casey (justincc)2011-08-311-1/+1
|
* minor: seal up another instance of using the appearance list without lockingJustin Clark-Casey (justincc)2011-08-311-1/+2
|
* Make SP.Attachments available as sp.GetAttachments() instead.Justin Clark-Casey (justincc)2011-08-311-13/+38
| | | | | | | The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase. It also improves liveness. This might improve attachment anomolies when performing region crossings.
* minor: remove already processed avatar null check in Scene.RemoveClient()Justin Clark-Casey (justincc)2011-08-301-4/+0
| | | | remove some now duplicated method doc
* refactor: move SP.SaveChangedAttachments() fully into AttachmentsModuleJustin Clark-Casey (justincc)2011-08-301-24/+1
|
* refactor: Move ScenePresence.RezAttachments() into AttachmentsModuleJustin Clark-Casey (justincc)2011-08-301-45/+1
| | | | This adds an incomplete IScenePresence to match ISceneEntity
* Fix bug in persisting saved appearances for npcsJustin Clark-Casey (justincc)2011-08-301-3/+3
| | | | | Assets have to be marked non-local as well as non-temporary to persist. This is now done. Hopefully addresses http://opensimulator.org/mantis/view.php?id=5660
* Stop avatars returning from neighbouring regions from stalling on the border ↵Justin Clark-Casey (justincc)2011-08-271-3/+22
| | | | | | | | | crossing. On making a root agent, we need to reset the ScenePresence.m_movement_flag so that it doesn't remember the movement registered to the client when it exited the initial region. If this is remember, then the client avatar movement isn't updated and it appears to stall in mid-air, though this is resolved with a prod/release of any other direction key. This bug was probably introduced a few weeks ago. Surprised that nobody brought it up.
* refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid ↵Justin Clark-Casey (justincc)2011-08-271-4/+4
| | | | pointless duplication of identical values
* remove pointless IsDeleted check on SP.RezAttachments()Justin Clark-Casey (justincc)2011-08-241-3/+0
| | | | | IsDeleted is never set for an SP, even though it's on EntityBase. It might be an idea to set it in the future
* refactor: simplify EntityBase.IsDeleted propertyJustin Clark-Casey (justincc)2011-08-241-1/+1
|
* Remove pointless contains check in ScenePresence.RemoveAttachment()Justin Clark-Casey (justincc)2011-08-231-6/+1
|
* If an attachment fails, then start logging the exception for now, in order ↵Justin Clark-Casey (justincc)2011-08-221-1/+1
| | | | | | to help with the inconsistent state bug. This also refactors AttachmentsModules to stop pointlessly refetching the ScenePresence in various methods. However, more of this is required.
* Add warning log message to say which attachment fails validation in order to ↵Justin Clark-Casey (justincc)2011-08-221-0/+10
| | | | pin down problems with "Inconsistent Attachment State"
* refactor: fold CreateSceneViewer() back into ScenePresence constructorJustin Clark-Casey (justincc)2011-08-181-6/+1
|
* refactor: Fold 3 ScenePresence() constructors into one since only one is called.Justin Clark-Casey (justincc)2011-08-181-9/+2
|
* Don't try to save changed attachment states when an NPC with attachments is ↵Justin Clark-Casey (justincc)2011-08-181-3/+9
| | | | | | | removed from the scene. This is done by introducing a PresenceType enum into ScenePresence which currently has two values, User and Npc. This seems better than a SaveAttachments flag in terms of code comprehension, though I'm still slightly uneasy about introducing these semantics to core objects
* get rid of logged warnings about lack of some modules - afaik these never ↵Justin Clark-Casey (justincc)2011-08-161-10/+0
| | | | occur in real life and just clutter up tests
* eliminate redundant ground sitting checks since these are already done in ↵Justin Clark-Casey (justincc)2011-08-111-4/+1
| | | | enclosing control structures
* eliminate the rotation parameter from SP.HandleMoveToTargetUpdate(). This ↵Justin Clark-Casey (justincc)2011-08-111-5/+4
| | | | | | can just use the currently set Rotation looks like I spoke to soon about eliminating jerkiness on "go here"/autopilot. It's still there.
* instead of setting avatar rotation twice in SP.HandleAgentUpdate(), ↵Justin Clark-Casey (justincc)2011-08-111-16/+14
| | | | eliminate the second setting in AddNewMovement()
* get rid of intermediate local store of body rotation in ScenePresence, this ↵Justin Clark-Casey (justincc)2011-08-111-5/+4
| | | | is not used.
* Get NPCs to revert to the correct 'resting' animation (e.g. stand or hover) ↵Justin Clark-Casey (justincc)2011-08-111-0/+6
| | | | | | after finishing their movement. This also fixes judder after an avatar has finished "go here"/autopilot movement in a viewer. This meant reseting the SP.AgentControlFlags since the Animator uses these to determine the correct default animation.
* If SP.MoveToTarget has been called with a force walk, begin by landing the ↵Justin Clark-Casey (justincc)2011-08-111-1/+3
| | | | | | avatar. There is a bug here - once an avatar has landed it glides to its new position instead of performing a walk animation
* early code to allow scripts to force npcs not to fly when moving to targetJustin Clark-Casey (justincc)2011-08-101-2/+7
| | | | | this is to allow walking on prims. it will be up to the script writer to be sure that there is a continuous path. currently implemented in osNpcMoveToTarget(), but none of this is final.
* Stop trying to deregister caps or close child agents when an NPC is removedJustin Clark-Casey (justincc)2011-08-101-3/+3
|