aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs23
1 files changed, 5 insertions, 18 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 991074b..7136cfc 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -866,7 +866,7 @@ namespace OpenSim.Region.Framework.Scenes
866 866
867 IsChildAgent = false; 867 IsChildAgent = false;
868 868
869// Animator.TryFixMovementAnimation("SIT"); 869 Animator.TrySetMovementAnimation("SIT");
870 } 870 }
871 else 871 else
872 { 872 {
@@ -929,15 +929,7 @@ namespace OpenSim.Region.Framework.Scenes
929 } 929 }
930 AbsolutePosition = pos; 930 AbsolutePosition = pos;
931 931
932 if (m_teleportFlags == TeleportFlags.Default) 932 AddToPhysicalScene(isFlying);
933 {
934 Vector3 vel = Velocity;
935 AddToPhysicalScene(isFlying);
936 if (PhysicsActor != null)
937 PhysicsActor.SetMomentum(vel);
938 }
939 else
940 AddToPhysicalScene(isFlying);
941 933
942 if (ForceFly) 934 if (ForceFly)
943 { 935 {
@@ -951,8 +943,7 @@ namespace OpenSim.Region.Framework.Scenes
951 // Don't send an animation pack here, since on a region crossing this will sometimes cause a flying 943 // Don't send an animation pack here, since on a region crossing this will sometimes cause a flying
952 // avatar to return to the standing position in mid-air. On login it looks like this is being sent 944 // avatar to return to the standing position in mid-air. On login it looks like this is being sent
953 // elsewhere anyway 945 // elsewhere anyway
954// Animator.SendAnimPack(); 946 // Animator.SendAnimPack();
955
956 947
957 m_scene.SwapRootAgentCount(false); 948 m_scene.SwapRootAgentCount(false);
958 949
@@ -989,7 +980,6 @@ namespace OpenSim.Region.Framework.Scenes
989 // If we don't reset the movement flag here, an avatar that crosses to a neighbouring sim and returns will 980 // If we don't reset the movement flag here, an avatar that crosses to a neighbouring sim and returns will
990 // stall on the border crossing since the existing child agent will still have the last movement 981 // stall on the border crossing since the existing child agent will still have the last movement
991 // recorded, which stops the input from being processed. 982 // recorded, which stops the input from being processed.
992
993 MovementFlag = 0; 983 MovementFlag = 0;
994 984
995 m_scene.EventManager.TriggerOnMakeRootAgent(this); 985 m_scene.EventManager.TriggerOnMakeRootAgent(this);
@@ -1030,8 +1020,6 @@ namespace OpenSim.Region.Framework.Scenes
1030 // as teleporting back 1020 // as teleporting back
1031 TeleportFlags = TeleportFlags.Default; 1021 TeleportFlags = TeleportFlags.Default;
1032 1022
1033 MovementFlag = 0;
1034
1035 // It looks like Animator is set to null somewhere, and MakeChild 1023 // It looks like Animator is set to null somewhere, and MakeChild
1036 // is called after that. Probably in aborted teleports. 1024 // is called after that. Probably in aborted teleports.
1037 if (Animator == null) 1025 if (Animator == null)
@@ -1039,7 +1027,6 @@ namespace OpenSim.Region.Framework.Scenes
1039 else 1027 else
1040 Animator.ResetAnimations(); 1028 Animator.ResetAnimations();
1041 1029
1042
1043// m_log.DebugFormat( 1030// m_log.DebugFormat(
1044// "[SCENE PRESENCE]: Downgrading root agent {0}, {1} to a child agent in {2}", 1031// "[SCENE PRESENCE]: Downgrading root agent {0}, {1} to a child agent in {2}",
1045// Name, UUID, m_scene.RegionInfo.RegionName); 1032// Name, UUID, m_scene.RegionInfo.RegionName);
@@ -1066,9 +1053,9 @@ namespace OpenSim.Region.Framework.Scenes
1066 { 1053 {
1067// PhysicsActor.OnRequestTerseUpdate -= SendTerseUpdateToAllClients; 1054// PhysicsActor.OnRequestTerseUpdate -= SendTerseUpdateToAllClients;
1068 PhysicsActor.OnOutOfBounds -= OutOfBoundsCall; 1055 PhysicsActor.OnOutOfBounds -= OutOfBoundsCall;
1069 PhysicsActor.OnCollisionUpdate -= PhysicsCollisionUpdate;
1070 PhysicsActor.UnSubscribeEvents();
1071 m_scene.PhysicsScene.RemoveAvatar(PhysicsActor); 1056 m_scene.PhysicsScene.RemoveAvatar(PhysicsActor);
1057 PhysicsActor.UnSubscribeEvents();
1058 PhysicsActor.OnCollisionUpdate -= PhysicsCollisionUpdate;
1072 PhysicsActor = null; 1059 PhysicsActor = null;
1073 } 1060 }
1074// else 1061// else