aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index af17fac..c91027c 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -759,7 +759,7 @@ namespace OpenSim.Region.Environment.Scenes
759 } 759 }
760 760
761 float posZLimit = (float)m_scene.GetLandHeight((int)pos.X, (int)pos.Y); 761 float posZLimit = (float)m_scene.GetLandHeight((int)pos.X, (int)pos.Y);
762 float newPosZ = posZLimit + localAVHeight; 762 float newPosZ = posZLimit + localAVHeight / 2;
763 if (posZLimit >= (pos.Z - (localAVHeight / 2)) && !(Single.IsInfinity(newPosZ) || Single.IsNaN(newPosZ))) 763 if (posZLimit >= (pos.Z - (localAVHeight / 2)) && !(Single.IsInfinity(newPosZ) || Single.IsNaN(newPosZ)))
764 { 764 {
765 pos.Z = newPosZ; 765 pos.Z = newPosZ;
@@ -1752,6 +1752,7 @@ namespace OpenSim.Region.Environment.Scenes
1752 Vector3 pos = m_pos; 1752 Vector3 pos = m_pos;
1753 Vector3 vel = Velocity; 1753 Vector3 vel = Velocity;
1754 Quaternion rot = m_bodyRot; 1754 Quaternion rot = m_bodyRot;
1755 pos.Z -= m_appearance.HipOffset;
1755 remoteClient.SendAvatarTerseUpdate(m_regionHandle, (ushort)(m_scene.TimeDilation * (float)ushort.MaxValue), LocalId, new Vector3(pos.X, pos.Y, pos.Z), 1756 remoteClient.SendAvatarTerseUpdate(m_regionHandle, (ushort)(m_scene.TimeDilation * (float)ushort.MaxValue), LocalId, new Vector3(pos.X, pos.Y, pos.Z),
1756 new Vector3(vel.X, vel.Y, vel.Z), rot); 1757 new Vector3(vel.X, vel.Y, vel.Z), rot);
1757 1758
@@ -1835,6 +1836,9 @@ namespace OpenSim.Region.Environment.Scenes
1835 // Note: because Quaternion is a struct, it can't be null 1836 // Note: because Quaternion is a struct, it can't be null
1836 Quaternion rot = m_bodyRot; 1837 Quaternion rot = m_bodyRot;
1837 1838
1839 Vector3 pos = m_pos;
1840 pos.Z -= m_appearance.HipOffset;
1841
1838 remoteAvatar.m_controllingClient.SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, 1842 remoteAvatar.m_controllingClient.SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid,
1839 LocalId, m_pos, m_appearance.Texture.ToBytes(), 1843 LocalId, m_pos, m_appearance.Texture.ToBytes(),
1840 m_parentID, rot); 1844 m_parentID, rot);
@@ -1900,6 +1904,9 @@ namespace OpenSim.Region.Environment.Scenes
1900 // Note: because Quaternion is a struct, it can't be null 1904 // Note: because Quaternion is a struct, it can't be null
1901 Quaternion rot = m_bodyRot; 1905 Quaternion rot = m_bodyRot;
1902 1906
1907 Vector3 pos = m_pos;
1908 pos.Z -= m_appearance.HipOffset;
1909
1903 m_controllingClient.SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, LocalId, 1910 m_controllingClient.SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, LocalId,
1904 m_pos, m_appearance.Texture.ToBytes(), m_parentID, rot); 1911 m_pos, m_appearance.Texture.ToBytes(), m_parentID, rot);
1905 1912