Merge branch 'master' into careminster-presence-refactor

avinationmerge
Melanie 2010-06-12 01:26:55 +01:00
commit 508bfa1de8
10 changed files with 71 additions and 21 deletions

View File

@ -1723,5 +1723,9 @@ namespace OpenSim.Client.MXP.ClientStack
public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId) public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId)
{ {
} }
public void StopFlying(ISceneEntity presence)
{
}
} }
} }

View File

@ -1208,6 +1208,10 @@ namespace OpenSim.Client.Sirikata.ClientStack
{ {
} }
public void StopFlying(ISceneEntity presence)
{
}
#endregion #endregion
} }
} }

View File

@ -1223,5 +1223,9 @@ namespace OpenSim.Client.VWoHTTP.ClientStack
public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId) public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId)
{ {
} }
public void StopFlying(ISceneEntity presence)
{
}
} }
} }

View File

@ -1310,5 +1310,7 @@ namespace OpenSim.Framework
void SendChangeUserRights(UUID agentID, UUID friendID, int rights); void SendChangeUserRights(UUID agentID, UUID friendID, int rights);
void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId); void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId);
void StopFlying(ISceneEntity presence);
} }
} }

View File

@ -11873,5 +11873,45 @@ namespace OpenSim.Region.ClientStack.LindenUDP
dialog.Buttons = buttons; dialog.Buttons = buttons;
OutPacket(dialog, ThrottleOutPacketType.Task); OutPacket(dialog, ThrottleOutPacketType.Task);
} }
public void StopFlying(ISceneEntity p)
{
ScenePresence presence = p as ScenePresence;
// It turns out to get the agent to stop flying, you have to feed it stop flying velocities
// There's no explicit message to send the client to tell it to stop flying.. it relies on the
// velocity, collision plane and avatar height
// Add 1/6 the avatar's height to it's position so it doesn't shoot into the air
// when the avatar stands up
Vector3 pos = presence.AbsolutePosition;
if (presence.Appearance.AvatarHeight != 127.0f)
pos += new Vector3(0f, 0f, (presence.Appearance.AvatarHeight / 6f));
else
pos += new Vector3(0f, 0f, (1.56f / 6f));
presence.AbsolutePosition = pos;
ImprovedTerseObjectUpdatePacket.ObjectDataBlock block =
CreateImprovedTerseBlock(p, false);
const float TIME_DILATION = 1.0f;
ushort timeDilation = Utils.FloatToUInt16(TIME_DILATION, 0.0f, 1.0f);
ImprovedTerseObjectUpdatePacket packet = new ImprovedTerseObjectUpdatePacket();
packet.RegionData.RegionHandle = m_scene.RegionInfo.RegionHandle;
packet.RegionData.TimeDilation = timeDilation;
packet.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[1];
packet.ObjectData[0] = block;
OutPacket(packet, ThrottleOutPacketType.Task, true);
//ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId,
// AbsolutePosition, Velocity, Vector3.Zero, m_bodyRot, new Vector4(0,0,1,AbsolutePosition.Z - 0.5f), m_uuid, null, GetUpdatePriority(ControllingClient)));
}
} }
} }

View File

@ -1164,5 +1164,9 @@ namespace OpenSim.Region.Examples.SimpleModule
public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId) public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId)
{ {
} }
public void StopFlying(ISceneEntity presence)
{
}
} }
} }

View File

@ -1098,27 +1098,7 @@ namespace OpenSim.Region.Framework.Scenes
public void StopFlying() public void StopFlying()
{ {
// It turns out to get the agent to stop flying, you have to feed it stop flying velocities ControllingClient.StopFlying(this);
// There's no explicit message to send the client to tell it to stop flying.. it relies on the
// velocity, collision plane and avatar height
// Add 1/6 the avatar's height to it's position so it doesn't shoot into the air
// when the avatar stands up
if (m_avHeight != 127.0f)
{
AbsolutePosition = AbsolutePosition + new Vector3(0f, 0f, (m_avHeight / 6f));
}
else
{
AbsolutePosition = AbsolutePosition + new Vector3(0f, 0f, (1.56f / 6f));
}
m_updateCount = UPDATE_COUNT; //KF: Trigger Anim updates to catch falling anim.
ControllingClient.SendPrimUpdate(this, PrimUpdateFlags.Position);
//ControllingClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_rootRegionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId,
// AbsolutePosition, Velocity, Vector3.Zero, m_bodyRot, new Vector4(0,0,1,AbsolutePosition.Z - 0.5f), m_uuid, null, GetUpdatePriority(ControllingClient)));
} }
public void AddNeighbourRegion(ulong regionHandle, string cap) public void AddNeighbourRegion(ulong regionHandle, string cap)

View File

@ -1689,5 +1689,9 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId) public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId)
{ {
} }
public void StopFlying(ISceneEntity presence)
{
}
} }
} }

View File

@ -1171,5 +1171,9 @@ namespace OpenSim.Region.OptionalModules.World.NPC
public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId) public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId)
{ {
} }
public void StopFlying(ISceneEntity presence)
{
}
} }
} }

View File

@ -1224,5 +1224,9 @@ namespace OpenSim.Tests.Common.Mock
public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId) public void SendTextBoxRequest(string message, int chatChannel, string objectname, string ownerFirstName, string ownerLastName, UUID objectId)
{ {
} }
public void StopFlying(ISceneEntity presence)
{
}
} }
} }