aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* When an NPC is created, stop telling neighbouring regions to expect a child ↵Justin Clark-Casey (justincc)2011-08-091-4/+8
| | | | agent
* get rid of bogus log messageJustin Clark-Casey (justincc)2011-08-061-7/+0
|
* remove the largely unused copy/pasted HandleAgentRequestSit() methodJustin Clark-Casey (justincc)2011-08-051-40/+11
|
* if an NPC target is set to a ground location, then automatically land them ↵Justin Clark-Casey (justincc)2011-08-041-5/+4
| | | | | | when they get there. This doesn't help where the target is a prim surface. In these situations, it might be better to provide manual overrides so the script can control whethre an avatar flys there/lands, etc.
* if an NPC move to target is above the terrain then make it fly to destinationJustin Clark-Casey (justincc)2011-08-041-7/+19
|
* if a move to target is set underground, constrain it to the terrain heightJustin Clark-Casey (justincc)2011-08-041-1/+3
|
* move bAllowUpdateMoveToPosition switch outside of HandleMoveToTargetUpdate()Justin Clark-Casey (justincc)2011-08-041-8/+5
|
* only call move target code in SP.HandleAgentUpdate() if we're actually in ↵Justin Clark-Casey (justincc)2011-08-041-9/+12
| | | | the process of moving to a position
* move reset code out of HandleMoveToTargetUpdate() so that we only call it ↵Justin Clark-Casey (justincc)2011-08-041-16/+12
| | | | where needed instead of passing in a flag
* Make SIGNIFICANT_MOVEMENT SP constant a top-level property so that other ↵Justin Clark-Casey (justincc)2011-08-041-5/+7
| | | | classes can use it.
* When the NPC reaches within the SIGNIFICANT_CLIENT_MOVEMENT distance of the ↵Justin Clark-Casey (justincc)2011-08-041-1/+2
| | | | | | | target, move it directly to the target. This makes the movement exact. Regression test changed to check avatar reaches exact target. Also has the nice side effect of making NPC animations continue to work after the first movement (which wasn't working). However, avatar still pauses in mid-stride
* extend npc move test to check a second movementJustin Clark-Casey (justincc)2011-08-041-1/+1
|
* eliminate pre-existing unused SP.StopMovement()Justin Clark-Casey (justincc)2011-08-041-8/+1
|
* Rename HandleMoveToPositionUpdate() to HandleMoveToTargetUpdate() for ↵Justin Clark-Casey (justincc)2011-08-041-6/+6
| | | | consistency. Improve method doc.
* eliminate a reset position flag by using functionally equivalent ↵Justin Clark-Casey (justincc)2011-08-041-3/+4
| | | | DCFlagKeyPressed
* Stop calling the SP.ResetMoveToTarget() code if a target is not actually setJustin Clark-Casey (justincc)2011-08-031-6/+16
|
* remove move to duck walk compensation - no longer required.Justin Clark-Casey (justincc)2011-08-031-12/+12
| | | | extends npc move to regression test to check stop after sufficient sim updates
* refactor: rename the move to position methods to move to target to be ↵Justin Clark-Casey (justincc)2011-08-031-35/+11
| | | | consistent with terminology used by scene object part and elsewhere
* get rid of vestigal move to parametersJustin Clark-Casey (justincc)2011-08-031-2/+5
|
* Do a partial fix/implementation of OSSL osNpcMoveTo()Justin Clark-Casey (justincc)2011-08-031-13/+24
| | | | | | Avatar moves and stops. However, will stop in mid stride. And if the move to position is in the air, avatar will continue to make vain and quite hilarious attempts to take off (but never doing so). Clearly more work is needed.
* Improve z axis move to/autopilot so the avatar does alternative ↵Justin Clark-Casey (justincc)2011-08-031-11/+23
| | | | | | crouch/huzzah when walking along the ground Moving a flying avatar to a ground point doesn't yet land the avatar. This may or may not be the best thing
* Implement move to/autopilot for z axis movement as well.Justin Clark-Casey (justincc)2011-08-031-15/+38
| | | | This is jerky (an artifact of the way it's being done, I think), but it's better than on implementation.
* get autopilot/go here to work immediately.Justin Clark-Casey (justincc)2011-08-031-3/+7
| | | | This works with viewer 1.23.5 and so in theory should work with libopenmetaverse.
* refactor: Move update_movement_flag and the final check inside the ↵Justin Clark-Casey (justincc)2011-08-031-5/+5
| | | | m_allowMovement if in HandleAgentUpdate() since it's logically only ever used there
* refactor: move out code from HandleAgentUpdate() which processes updates to ↵Justin Clark-Casey (justincc)2011-08-031-98/+116
| | | | | | move to a set position Also comment out the really spammy log message I accidentally left in on the last commit.
* Partially fix autopilot/go hereJustin Clark-Casey (justincc)2011-08-021-61/+51
| | | | | | | This now works again except that it requires a click or avatar mvmt to get going This is because the ScenePresence.HandleAgentUpdate() method doesn't trigger until the client does something significant, at which point autopilot takes over. Even clicking is enough to trigger. This will be improved presently.
* Get rid of AvatarAppearance.Owner to simplify the code.Justin Clark-Casey (justincc)2011-08-021-2/+2
| | | | This is not used for anything - appearances are always properties of objects with ids (ScenePresence, AgentCircuitData) and just has the potential to get out of sync when the appearance is cloned.
* Get osNpcCreate appearance working with avatars that are currently in the scene.Justin Clark-Casey (justincc)2011-08-011-2/+7
| | | | | | Had to stop using AvatarService for now since it doesn't store baked texture IDs (which is why this was failing). Also failing because cloning appearance was also cloning the AvatarApperance.Owner field, which we weren't then changing. Extended TestCreate() to check this.
* Hack around with the NPC module to get osNpcCreate() partially working again.Justin Clark-Casey (justincc)2011-06-291-4/+2
| | | | | | This now creates an avatar but appearance is always cloudy. Move doesn't work. Really, creating an NPC should only involve a ScenePresence rather than doing anything with IClientAPI, since an NPC has no viewer to communicate with!