aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-12-19Stop sending the viewer its own AvatarAppearance packet.Justin Clark-Casey (justincc)1-1/+4
The viewer warns in the log if it receives this. Stopping this doesn't appear to have adverse effects on viewer 1 or viewer 3 - the viewer gets its own appearance from body parts/clothes and self-baked textures.
2011-12-19Migrate detailed "appearance show" report generation up to ↵Justin Clark-Casey (justincc)1-1/+1
AvatarFactoryModule from AppearanceInfoModule so that it can be used in debug (inactive). Further filters "debug packet <level>" to exclused [Request]ObjectPropertiesFamily if level is below 25. Adjust some method doc Minor changes to some logging messages.
2011-12-16Changed the async approach on close child agents. This may improve crossings ↵Diva Canto1-1/+4
a little bit.
2011-12-16Stop generating client flags when we send out full object updates.Justin Clark-Casey (justincc)1-6/+0
These were entirely unused.
2011-12-16No functional changes. Changed the prefix of that log message [CONNECTION ↵Diva Canto1-9/+9
BEGIN] to [SCENE] because that's where the message happens. Also changed the instantiation of a vector object to be done only once instead of every time we receive a position update.
2011-12-15Stop having to call SetHeight again in ScenePresence.AddToPhysicalScene() ↵Justin Clark-Casey (justincc)1-6/+2
when we've already passed size information to the avatar at PhysicsScene.AddAvatar() Eliminate some copypasta for height setting in OdeCharacter
2011-12-15Code cleanup related to ScenePresence.PhysicsActor and OdeScene/OdeCharacterJustin Clark-Casey (justincc)1-27/+32
Stop hiding RemoveAvatar failure, add log messages when characters are removed through defects or re-added unexpectedly. Add commented out log lines for future use. Use automatic property for PhysicsActor for better code readability and simplicity
2011-12-12Cleaned up ScenePresence parameters for Flying, WasFlying, FlyingOld and ↵Dan Lake1-40/+49
IsColliding
2011-12-09Get rid of IScene.PresenceChildStatus() which always had to execute a lookup ↵Justin Clark-Casey (justincc)1-13/+2
in favour of IClientAPI.ISceneAgent.IsChildAgent instead.
2011-12-09remove some unused fields in ScenePresenceJustin Clark-Casey (justincc)1-4/+0
2011-12-08Remove unnecessary AgentCircuitData null check from Scene.AddNewClient().Justin Clark-Casey (justincc)1-1/+1
The only caller is the LLUDP stack and this has to validate the UDP circuit itself, so we know that it exists. This allows us to eliminate another null check elsewhere and simplifies the method contract
2011-12-08minor: remove some mono compiler warningsJustin Clark-Casey (justincc)1-2/+0
2011-12-08When a client connects to a scene, send other avatar appearance data ↵Justin Clark-Casey (justincc)1-6/+6
asynchronously to reduce hold up in the IN UDP packet processing loop. This is already being done for the initial object data send.
2011-12-08On a new client circuit, send the initial reply ack to let the client know ↵Justin Clark-Casey (justincc)1-14/+25
it's live before sending other data. This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before. This may stop some avatars appearing grey on login. This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
2011-12-03Update SP.PhysicsCollisionUpdate() doc.Justin Clark-Casey (justincc)1-2/+5
It might be inefficient, but there are collisions every frame if the avatar is walking/standing on the ground or a prim surface
2011-12-03Add method doc to SP.PhysicsCollisionUpdate() to make it clear that it's ↵Justin Clark-Casey (justincc)1-0/+4
called continuously even where there are no collisions
2011-12-03Add basic TestFlyingAnimation() regression testJustin Clark-Casey (justincc)1-2/+5
2011-12-03Stop calling Animator.UpdateMovementAnimations() at the end of ↵Justin Clark-Casey (justincc)1-2/+2
HandleAgentUpdate(). There's no point doing this if it's being called via PhysicsCollisionUpdate
2011-12-03For now, disable mechanism to limit avatar animation updates since this ↵Justin Clark-Casey (justincc)1-23/+23
causes avatars to never reach the correct animation after some actions. This reverts to situation where animation updates are made each frame on SP.PhysicsCollisionUpdate (though a packet is only sent if the anim actually changes). m_updateCount was not being update on various avatar state changes, causing the correct animations to never be sent. Always setting in HandleAgentUpdate() is not enough since the avatar is continually sending AgentUpdate packets. One would need to identify all the conditions under which animations need to play out and set m_updateCount appropriately in SP.HandleAgentUpdate()
2011-12-03Do a cagent.Anims != null check in SP.CopyFrom()Justin Clark-Casey (justincc)1-1/+3
2011-12-03Stop SP.HandleAgentUpdate() and PhysicsCollisionUpdate() from being ↵Justin Clark-Casey (justincc)1-4/+7
processed if we're dealing with a child ScenePresence. Neither of these can have any effect on child agents Now leaving warning about trying to set animation on a child agent active. Might temporarily pop up now and again.
2011-12-02Stop some places where we're trying to reset animations in child agents ↵Justin Clark-Casey (justincc)1-14/+11
where such requests are ignored.
2011-12-02Remove pointless Animator.TrySetMovementAnimation("STAND") in ScenePresnece ↵Justin Clark-Casey (justincc)1-3/+0
constructor. Comment was right - it is indeed useless since SP always starts off as child and TrySetMovementAnimation screens out child SP
2011-11-22Stop an exception being thrown and a teleport/border cross failing if the ↵Justin Clark-Casey (justincc)1-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)
2011-11-16Stop OdePrim and OdeCharacter insanely overriding set LocalID to set their ↵Justin Clark-Casey (justincc)1-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
2011-11-15Add comments about trying to avoid synchronous work off the ↵Justin Clark-Casey (justincc)1-0/+3
EventManager.OnMakeRootAgent event since this is on the critical path for transfer of avatars from one region to another.
2011-11-15remove SceneCommunicationService.OnAvatarCrossingIntoRegion. This stuff is ↵Justin Clark-Casey (justincc)1-3/+6
not being used any more - it's now IEntityTransferModule and SimulationService instead
2011-11-14Do a ScenePresence null check in HGMessageTransferModule.SendIMToScene() to ↵Justin Clark-Casey (justincc)1-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
2011-11-11Remove SceneViewer from ScenePresence to reduce quadruple queueing ofDan Lake1-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.
2011-11-11extract ground sit code into SP.HandleAgentSitOnGround() for consistency ↵Justin Clark-Casey (justincc)1-12/+19
with other sitting code.
2011-11-11As with prim sitting avatars, make an avatar phantom when it sits on the ↵Justin Clark-Casey (justincc)1-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.
2011-11-11remove unncessary IClientAPI parameter from SP.SendSitResponse()Justin Clark-Casey (justincc)1-4/+3
2011-11-11As per mailing list last week, remove facility that would automatically move ↵Justin Clark-Casey (justincc)1-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.
2011-11-11Bump warp sit distance up to 10 meters, as discussed on opensim-dev mailing ↵Justin Clark-Casey (justincc)1-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
2011-11-10Fix turn left and turn right properly. Works for both built-ins and LSL AOsMelanie1-0/+5
2011-11-10Implement nudging support for strafing motionMelanie1-2/+4
2011-11-10Fix misaligned sit animation on scripted sit caused by the default sitMelanie1-2/+6
animation being run after the scripted one.
2011-11-06Allow HG and other scene presences not linked to a user account to function.Melanie1-1/+4
2011-11-05Fix build breakMelanie1-1/+1
2011-11-05Remove spammy autopilot debugMelanie1-3/+3
2011-11-05Porting the ScenePresenceAnimator from Avination. Jump and fall anims now workMelanie1-1/+5
properly.
2011-11-05Change puvlic m_ variable to a getter propertyMelanie1-1/+5
2011-11-05ScenePresence part of the Avination animator fixes.Melanie1-3/+58
2011-11-05Chnaging the sit target adjustment to a more precise approximation of SL. ↵Melanie1-24/+35
Some small fixes ported from Avination. Some white space fixes.
2011-11-05Fix avatar height, removes the hip offset hacknebadon1-3/+0
Author: Mana Janus <mana@mjm-labs.com>
2011-11-05refactor: In sit code, compare against Vector3.Zero and Quaternion.Identity ↵Justin Clark-Casey (justincc)1-12/+12
instead of individual components of a vector/quat
2011-11-05Fix NPC sitting for prims without a sit target.Justin Clark-Casey (justincc)1-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.
2011-11-04On standup, trigger the changed link script event after the avatar has been ↵Justin Clark-Casey (justincc)1-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.
2011-11-03Rename ForEachAvatar back to ForEachScenePresence. The other changesDan Lake1-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.
2011-11-03Renamed ForEachRootScenePresence to ForEachAvatar. Cleaned up calls toDan Lake1-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.