diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 30eafd7..ee0eb07 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -67,7 +67,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
67 | 67 | ||
68 | public delegate void SendCourseLocationsMethod(UUID scene, ScenePresence presence); | 68 | public delegate void SendCourseLocationsMethod(UUID scene, ScenePresence presence); |
69 | 69 | ||
70 | public class ScenePresence : EntityBase | 70 | public class ScenePresence : EntityBase, ISceneEntity |
71 | { | 71 | { |
72 | // ~ScenePresence() | 72 | // ~ScenePresence() |
73 | // { | 73 | // { |
@@ -478,6 +478,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
478 | } | 478 | } |
479 | } | 479 | } |
480 | 480 | ||
481 | public Vector3 OffsetPosition | ||
482 | { | ||
483 | get { return m_pos; } | ||
484 | set { m_pos = value; } | ||
485 | } | ||
486 | |||
481 | /// <summary> | 487 | /// <summary> |
482 | /// Current velocity of the avatar. | 488 | /// Current velocity of the avatar. |
483 | /// </summary> | 489 | /// </summary> |
@@ -1036,8 +1042,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
1036 | AbsolutePosition = AbsolutePosition + new Vector3(0f, 0f, (1.56f / 6f)); | 1042 | AbsolutePosition = AbsolutePosition + new Vector3(0f, 0f, (1.56f / 6f)); |
1037 | } | 1043 | } |
1038 | 1044 | ||
1039 | ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId, | 1045 | ControllingClient.SendPrimUpdate(this, PrimUpdateFlags.Position); |
1040 | AbsolutePosition, Velocity, Vector3.Zero, m_bodyRot, new Vector4(0,0,1,AbsolutePosition.Z - 0.5f), m_uuid, null, GetUpdatePriority(ControllingClient))); | 1046 | //ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId, |
1047 | // AbsolutePosition, Velocity, Vector3.Zero, m_bodyRot, new Vector4(0,0,1,AbsolutePosition.Z - 0.5f), m_uuid, null, GetUpdatePriority(ControllingClient))); | ||
1041 | } | 1048 | } |
1042 | 1049 | ||
1043 | public void AddNeighbourRegion(ulong regionHandle, string cap) | 1050 | public void AddNeighbourRegion(ulong regionHandle, string cap) |
@@ -2360,8 +2367,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2360 | 2367 | ||
2361 | //m_log.DebugFormat("[SCENEPRESENCE]: TerseUpdate: Pos={0} Rot={1} Vel={2}", m_pos, m_bodyRot, m_velocity); | 2368 | //m_log.DebugFormat("[SCENEPRESENCE]: TerseUpdate: Pos={0} Rot={1} Vel={2}", m_pos, m_bodyRot, m_velocity); |
2362 | 2369 | ||
2363 | remoteClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId, | 2370 | remoteClient.SendPrimUpdate(this, PrimUpdateFlags.Position | PrimUpdateFlags.Rotation | PrimUpdateFlags.Velocity | PrimUpdateFlags.Acceleration | PrimUpdateFlags.AngularVelocity); |
2364 | pos, velocity, Vector3.Zero, m_bodyRot, CollisionPlane, m_uuid, null, GetUpdatePriority(remoteClient))); | ||
2365 | 2371 | ||
2366 | m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS)); | 2372 | m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS)); |
2367 | m_scene.StatsReporter.AddAgentUpdates(1); | 2373 | m_scene.StatsReporter.AddAgentUpdates(1); |
@@ -2457,9 +2463,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2457 | Vector3 pos = m_pos; | 2463 | Vector3 pos = m_pos; |
2458 | pos.Z += m_appearance.HipOffset; | 2464 | pos.Z += m_appearance.HipOffset; |
2459 | 2465 | ||
2460 | remoteAvatar.m_controllingClient.SendAvatarData(new SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, | 2466 | remoteAvatar.m_controllingClient.SendAvatarDataImmediate(this); |
2461 | LocalId, pos, m_appearance.Texture.GetBytes(), | ||
2462 | m_parentID, m_bodyRot)); | ||
2463 | m_scene.StatsReporter.AddAgentUpdates(1); | 2467 | m_scene.StatsReporter.AddAgentUpdates(1); |
2464 | } | 2468 | } |
2465 | 2469 | ||
@@ -2527,8 +2531,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2527 | Vector3 pos = m_pos; | 2531 | Vector3 pos = m_pos; |
2528 | pos.Z += m_appearance.HipOffset; | 2532 | pos.Z += m_appearance.HipOffset; |
2529 | 2533 | ||
2530 | m_controllingClient.SendAvatarData(new SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, LocalId, | 2534 | m_controllingClient.SendAvatarDataImmediate(this); |
2531 | pos, m_appearance.Texture.GetBytes(), m_parentID, m_bodyRot)); | ||
2532 | 2535 | ||
2533 | SendInitialFullUpdateToAllClients(); | 2536 | SendInitialFullUpdateToAllClients(); |
2534 | SendAppearanceToAllOtherAgents(); | 2537 | SendAppearanceToAllOtherAgents(); |
@@ -2638,9 +2641,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2638 | Vector3 pos = m_pos; | 2641 | Vector3 pos = m_pos; |
2639 | pos.Z += m_appearance.HipOffset; | 2642 | pos.Z += m_appearance.HipOffset; |
2640 | 2643 | ||
2641 | m_controllingClient.SendAvatarData(new SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, LocalId, | 2644 | m_controllingClient.SendAvatarDataImmediate(this); |
2642 | pos, m_appearance.Texture.GetBytes(), m_parentID, m_bodyRot)); | ||
2643 | |||
2644 | } | 2645 | } |
2645 | 2646 | ||
2646 | public void SetWearable(int wearableId, AvatarWearable wearable) | 2647 | public void SetWearable(int wearableId, AvatarWearable wearable) |
@@ -3906,7 +3907,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3906 | 3907 | ||
3907 | private void Reprioritize(object sender, ElapsedEventArgs e) | 3908 | private void Reprioritize(object sender, ElapsedEventArgs e) |
3908 | { | 3909 | { |
3909 | m_controllingClient.ReprioritizeUpdates(StateUpdateTypes.All, UpdatePriority); | 3910 | m_controllingClient.ReprioritizeUpdates(UpdatePriority); |
3910 | 3911 | ||
3911 | lock (m_reprioritization_timer) | 3912 | lock (m_reprioritization_timer) |
3912 | { | 3913 | { |