aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Stop some places where we're trying to reset animations in child agents ↵Justin Clark-Casey (justincc)2011-12-021-14/+11
| | | | where such requests are ignored.
* Remove pointless Animator.TrySetMovementAnimation("STAND") in ScenePresnece ↵Justin Clark-Casey (justincc)2011-12-021-3/+0
| | | | | | constructor. Comment was right - it is indeed useless since SP always starts off as child and TrySetMovementAnimation screens out child SP
* Stop an exception being thrown and a teleport/border cross failing if the ↵Justin Clark-Casey (justincc)2011-11-221-13/+13
| | | | | | | desintation sim has no active script engines. This involves getting IScene.RequestModuleInterfaces() to return an empty array (as was stated in the method doc) rather than an array containing one null entry. Callers adjusted to stop checking for the list reference being null (which never happened anyway)
* Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their ↵Justin Clark-Casey (justincc)2011-11-161-1/+1
| | | | | | | own private m_localID property but leaving get to return the then unset PhysicsActor.LocalId! Instead, just have both subclasses use the PhysicsActor.LocalID property. This restores collision functionality that fell away in 45c7789 yesterday
* Add comments about trying to avoid synchronous work off the ↵Justin Clark-Casey (justincc)2011-11-151-0/+3
| | | | EventManager.OnMakeRootAgent event since this is on the critical path for transfer of avatars from one region to another.
* remove SceneCommunicationService.OnAvatarCrossingIntoRegion. This stuff is ↵Justin Clark-Casey (justincc)2011-11-151-3/+6
| | | | not being used any more - it's now IEntityTransferModule and SimulationService instead
* Merge branch 'remove-scene-viewer'Dan Lake2011-11-141-28/+0
|\
| * Remove SceneViewer from ScenePresence to reduce quadruple queueing ofDan Lake2011-11-111-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | prim update to only triple queuing. Existing method was: 1. Schedule prim for update, adding to scene update list 2. Update on SOGs during heartbeat queues update onto each SceneViewer 3. Update on SPs during heartbeat queues update onto each IClientAPI 4. ProcessEntityUpdates queues updates into UDP send stack Now the SceneViewer has been eliminated so updates are scheduled at any time and then put onto the IClientAPI priority queues immediately during SceneGraph.UpdateObjectGroups.
* | Do a ScenePresence null check in HGMessageTransferModule.SendIMToScene() to ↵Justin Clark-Casey (justincc)2011-11-141-0/+2
|/ | | | | | stop a NullReferenceException being thrown if an HG IM is sent to a simulator running multiple regions This is an attempt to address http://opensimulator.org/mantis/view.php?id=5791
* extract ground sit code into SP.HandleAgentSitOnGround() for consistency ↵Justin Clark-Casey (justincc)2011-11-111-12/+19
| | | | with other sitting code.
* As with prim sitting avatars, make an avatar phantom when it sits on the ↵Justin Clark-Casey (justincc)2011-11-111-6/+5
| | | | | | | ground and solid again when it stands. This is to avoid http://opensimulator.org/mantis/view.php?id=5783 when a collision with a ground sitting avatar causes that avatar to automatically stand and sometimes not be able to move A better solution may be to keep gound sitting avatars solid but remove their collision status. However, this requires some physics code work.
* remove unncessary IClientAPI parameter from SP.SendSitResponse()Justin Clark-Casey (justincc)2011-11-111-4/+3
|
* As per mailing list last week, remove facility that would automatically move ↵Justin Clark-Casey (justincc)2011-11-111-226/+167
| | | | | | | the avatar if prim with no sit target was out of sitting range. Now, no movement occurs. Note that you can still sit on a prim with an explicit sit target from any distance, as was the case before.
* Bump warp sit distance up to 10 meters, as discussed on opensim-dev mailing ↵Justin Clark-Casey (justincc)2011-11-111-1/+1
| | | | | | | list last week. This means that if the avatar is within 10 meters of the selected target, it sits on it immediately without walking. Existing autopilot outside this range will be disabled in a later commit
* Fix turn left and turn right properly. Works for both built-ins and LSL AOsMelanie2011-11-101-0/+5
|
* Implement nudging support for strafing motionMelanie2011-11-101-2/+4
|
* Fix misaligned sit animation on scripted sit caused by the default sitMelanie2011-11-101-2/+6
| | | | animation being run after the scripted one.
* Allow HG and other scene presences not linked to a user account to function.Melanie2011-11-061-1/+4
|
* Fix build breakMelanie2011-11-051-1/+1
|
* Remove spammy autopilot debugMelanie2011-11-051-3/+3
|
* Porting the ScenePresenceAnimator from Avination. Jump and fall anims now workMelanie2011-11-051-1/+5
| | | | properly.
* Change puvlic m_ variable to a getter propertyMelanie2011-11-051-1/+5
|
* ScenePresence part of the Avination animator fixes.Melanie2011-11-051-3/+58
|
* Chnaging the sit target adjustment to a more precise approximation of SL. ↵Melanie2011-11-051-24/+35
| | | | | | Some small fixes ported from Avination. Some white space fixes.
* Fix avatar height, removes the hip offset hacknebadon2011-11-051-3/+0
| | | | Author: Mana Janus <mana@mjm-labs.com>
* refactor: In sit code, compare against Vector3.Zero and Quaternion.Identity ↵Justin Clark-Casey (justincc)2011-11-051-12/+12
| | | | instead of individual components of a vector/quat
* Fix NPC sitting for prims without a sit target.Justin Clark-Casey (justincc)2011-11-051-9/+11
| | | | | | | | 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.
* On standup, trigger the changed link script event after the avatar has been ↵Justin Clark-Casey (justincc)2011-11-041-2/+3
| | | | | | | | fully changed. This was meant to help with the script in http://opensimulator.org/mantis/view.php?id=5772 but it doesn't work. Probably the event is fired before the physics actor has been set up again for the stood avatar. Fixing that would be much more complicated, but processing the event last of all seems like a good idea in any case.
* Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake2011-11-031-3/+3
| | | | | | 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-3/+3
| | | | | | | | | | | | | | 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.
* Merge branch 'master' of git://opensimulator.org/git/opensimDan Lake2011-11-021-2/+3
|\
| * Fix race condition that would sometimes send or save appearance for the ↵Justin Clark-Casey (justincc)2011-11-021-2/+3
| | | | | | | | | | | | | | | | | | wrong avatar. In AvatarFactoryModule.HandleAppearanceUpdateTimer(), we loop through appearance save and send requests and dispatch via a FireAndForget thread. If there was more than one request in the save or send queue, then this led to a subtle race condition where the foreach loop would load in the next KeyValuePair before the thread was dispatched. This gave the thread the wrong avatar ID, leaving some avatar appearance cloudy since appearance data was never sent. This change loads the fields into local references so that this doesn't happen.
* | Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.Dan Lake2011-11-021-1/+1
|/ | | | | | | | | | | | | | | | | 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.
* Add "appearance send" command to allow manual sending of appearance.Justin Clark-Casey (justincc)2011-11-011-3/+3
|
* Remove the SyncRoot locking from Scene which was only being done around the ↵Justin Clark-Casey (justincc)2011-10-291-4/+2
| | | | | | main physics loop and ScenePresence position and velocity setting This is no longer necessary with ODECharacter taints (ODEPrim was already not taking part in this). BSCharacter was already tainting.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2011-10-281-30/+23
|\
| * Continuation of previous checkin. Found more places where ↵Dan Lake2011-10-271-30/+23
| | | | | | | | ForEachScenePresence can be changed to ForEachRootScenePresence.
* | fetch SOP.RotationOffset once in UpdateRotation() and compare rather than ↵Justin Clark-Casey (justincc)2011-10-281-1/+1
|/ | | | | | fetch four separate times. No functional change.
* Get rid of the pointless null checks on collision listeners. Add warning ↵Justin Clark-Casey (justincc)2011-10-251-3/+0
| | | | about synchronicity for PhysicsActor.OnCollisionUpdate event doc
* Removed redundant NotInTransit function from ScenePresence. ↵Dan Lake2011-10-191-5/+0
| | | | IsInTransit=false does the same thing and NotInTransit was not used anywhere.
* Moved HaveNeighbor utility function from ScenePresence to Scene. Fixed line ↵Dan Lake2011-10-191-48/+8
| | | | endings from previous commit.
* Renamed and rearranged AvatarFactoryModule to eliminate redundant lookups of ↵Dan Lake2011-10-191-1/+1
| | | | scene presence by client ID.
* refactor: Use SOP.SitTargetAvatar instead of calling a special ↵Justin Clark-Casey (justincc)2011-10-171-5/+6
| | | | 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-3/+4
| | | | | | | | | 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 :)
* refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it ↵Justin Clark-Casey (justincc)2011-10-141-1/+1
| | | | sends entity updates (including presence ones), not just prims.
* remove some mono compiler warningsJustin Clark-Casey (justincc)2011-10-121-7/+0
|
* Comment out [SCENE PRESENCE] SendAppearanceToAllOtherAgents: log messageJustin Clark-Casey (justincc)2011-10-071-1/+1
| | | | As per earlier discussions with dslake
* Fixed line endings from previous commitDan Lake2011-10-061-47/+47
|
* Refactored "known child region" in ScenePresence. There were 4 differentDan Lake2011-10-061-67/+67
| | | | | | ways to access the list/dictionary of child regions and locking was inconsistent. There are now public properties which enforce locks. Callers are no longer required to create new copies of lists.
* Simplified IsInTransit property on ScenePresence and removed InTransit() ↵Dan Lake2011-10-061-11/+10
| | | | which called IsInTransit=true which called m_inTransit=true. Also removed NotInTransit().