Fix avatar height management
parent
43ac44b028
commit
d555c373d8
|
@ -171,9 +171,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
private float m_health = 100f;
|
private float m_health = 100f;
|
||||||
|
|
||||||
// Default AV Height
|
|
||||||
private float m_avHeight = 127.0f;
|
|
||||||
|
|
||||||
protected RegionInfo m_regionInfo;
|
protected RegionInfo m_regionInfo;
|
||||||
protected ulong crossingFromRegion;
|
protected ulong crossingFromRegion;
|
||||||
|
|
||||||
|
@ -841,9 +838,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
|
|
||||||
float localAVHeight = 1.56f;
|
float localAVHeight = 1.56f;
|
||||||
if (m_avHeight != 127.0f)
|
if (m_appearance != null)
|
||||||
{
|
{
|
||||||
localAVHeight = m_avHeight;
|
if (m_appearance.AvatarHeight > 0)
|
||||||
|
localAVHeight = m_appearance.AvatarHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
float posZLimit = 0;
|
float posZLimit = 0;
|
||||||
|
@ -1066,10 +1064,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void SetHeight(float height)
|
public void SetHeight(float height)
|
||||||
{
|
{
|
||||||
m_avHeight = height;
|
|
||||||
if (PhysicsActor != null && !IsChildAgent)
|
if (PhysicsActor != null && !IsChildAgent)
|
||||||
{
|
{
|
||||||
Vector3 SetSize = new Vector3(0.45f, 0.6f, m_avHeight);
|
Vector3 SetSize = new Vector3(0.45f, 0.6f, height);
|
||||||
PhysicsActor.Size = SetSize;
|
PhysicsActor.Size = SetSize;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1693,9 +1690,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_parentID = 0;
|
m_parentID = 0;
|
||||||
SendFullUpdateToAllClients();
|
SendFullUpdateToAllClients();
|
||||||
m_requestedSitTargetID = 0;
|
m_requestedSitTargetID = 0;
|
||||||
if ((m_physicsActor != null) && (m_avHeight > 0))
|
if (m_physicsActor != null && m_appearance != null)
|
||||||
{
|
{
|
||||||
SetHeight(m_avHeight);
|
if (m_appearance.AvatarHeight > 0)
|
||||||
|
SetHeight(m_appearance.AvatarHeight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2585,7 +2583,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
cadu.ActiveGroupID = UUID.Zero.Guid;
|
cadu.ActiveGroupID = UUID.Zero.Guid;
|
||||||
cadu.AgentID = UUID.Guid;
|
cadu.AgentID = UUID.Guid;
|
||||||
cadu.alwaysrun = m_setAlwaysRun;
|
cadu.alwaysrun = m_setAlwaysRun;
|
||||||
cadu.AVHeight = m_avHeight;
|
cadu.AVHeight = m_appearance.AvatarHeight;
|
||||||
Vector3 tempCameraCenter = m_CameraCenter;
|
Vector3 tempCameraCenter = m_CameraCenter;
|
||||||
cadu.cameraPosition = tempCameraCenter;
|
cadu.cameraPosition = tempCameraCenter;
|
||||||
cadu.drawdistance = m_DrawDistance;
|
cadu.drawdistance = m_DrawDistance;
|
||||||
|
@ -2921,7 +2919,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
m_CameraCenter = cAgentData.Center + offset;
|
m_CameraCenter = cAgentData.Center + offset;
|
||||||
|
|
||||||
m_avHeight = cAgentData.Size.Z;
|
|
||||||
//SetHeight(cAgentData.AVHeight);
|
//SetHeight(cAgentData.AVHeight);
|
||||||
|
|
||||||
if ((cAgentData.Throttles != null) && cAgentData.Throttles.Length > 0)
|
if ((cAgentData.Throttles != null) && cAgentData.Throttles.Length > 0)
|
||||||
|
@ -2946,8 +2943,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
cAgent.Position = AbsolutePosition;
|
cAgent.Position = AbsolutePosition;
|
||||||
cAgent.Velocity = m_velocity;
|
cAgent.Velocity = m_velocity;
|
||||||
cAgent.Center = m_CameraCenter;
|
cAgent.Center = m_CameraCenter;
|
||||||
// Don't copy the size; it is inferred from apearance parameters
|
|
||||||
//cAgent.Size = new Vector3(0, 0, m_avHeight);
|
|
||||||
cAgent.AtAxis = m_CameraAtAxis;
|
cAgent.AtAxis = m_CameraAtAxis;
|
||||||
cAgent.LeftAxis = m_CameraLeftAxis;
|
cAgent.LeftAxis = m_CameraLeftAxis;
|
||||||
cAgent.UpAxis = m_CameraUpAxis;
|
cAgent.UpAxis = m_CameraUpAxis;
|
||||||
|
@ -3065,7 +3060,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_pos = cAgent.Position;
|
m_pos = cAgent.Position;
|
||||||
m_velocity = cAgent.Velocity;
|
m_velocity = cAgent.Velocity;
|
||||||
m_CameraCenter = cAgent.Center;
|
m_CameraCenter = cAgent.Center;
|
||||||
//m_avHeight = cAgent.Size.Z;
|
|
||||||
m_CameraAtAxis = cAgent.AtAxis;
|
m_CameraAtAxis = cAgent.AtAxis;
|
||||||
m_CameraLeftAxis = cAgent.LeftAxis;
|
m_CameraLeftAxis = cAgent.LeftAxis;
|
||||||
m_CameraUpAxis = cAgent.UpAxis;
|
m_CameraUpAxis = cAgent.UpAxis;
|
||||||
|
@ -3198,16 +3192,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
Vector3 pVec = AbsolutePosition;
|
Vector3 pVec = AbsolutePosition;
|
||||||
|
|
||||||
// Old bug where the height was in centimeters instead of meters
|
// Old bug where the height was in centimeters instead of meters
|
||||||
if (m_avHeight == 127.0f)
|
m_physicsActor = scene.AddAvatar(Firstname + "." + Lastname, pVec,
|
||||||
{
|
new Vector3(0f, 0f, m_appearance.AvatarHeight), isFlying);
|
||||||
m_physicsActor = scene.AddAvatar(Firstname + "." + Lastname, pVec, new Vector3(0f, 0f, 1.56f),
|
|
||||||
isFlying);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_physicsActor = scene.AddAvatar(Firstname + "." + Lastname, pVec,
|
|
||||||
new Vector3(0f, 0f, m_avHeight), isFlying);
|
|
||||||
}
|
|
||||||
scene.AddPhysicsActorTaint(m_physicsActor);
|
scene.AddPhysicsActorTaint(m_physicsActor);
|
||||||
//m_physicsActor.OnRequestTerseUpdate += SendTerseUpdateToAllClients;
|
//m_physicsActor.OnRequestTerseUpdate += SendTerseUpdateToAllClients;
|
||||||
m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate;
|
m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate;
|
||||||
|
|
Loading…
Reference in New Issue