Merge branch 'master' into careminster

Conflicts:
	OpenSim/Region/CoreModules/World/Region/RestartModule.cs
	OpenSim/Region/Framework/Scenes/SceneGraph.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
This commit is contained in:
Melanie
2013-09-01 22:49:31 +01:00
25 changed files with 945 additions and 299 deletions

View File

@@ -6777,6 +6777,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
#endregion
if (SceneAgent.IsChildAgent)
{
SendCantSitBecauseChildAgentResponse();
return true;
}
AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit;
if (handlerAgentRequestSit != null)
@@ -6801,6 +6807,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
}
#endregion
if (SceneAgent.IsChildAgent)
{
SendCantSitBecauseChildAgentResponse();
return true;
}
AgentSit handlerAgentSit = OnAgentSit;
if (handlerAgentSit != null)
{
@@ -6810,6 +6822,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
return true;
}
/// <summary>
/// Used when a child agent gets a sit response which should not be fulfilled.
/// </summary>
private void SendCantSitBecauseChildAgentResponse()
{
SendAlertMessage("Try moving closer. Can't sit on object because it is not in the same region as you.");
}
private bool HandleSoundTrigger(IClientAPI sender, Packet Pack)
{
SoundTriggerPacket soundTriggerPacket = (SoundTriggerPacket)Pack;
@@ -12934,7 +12954,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{
if (p is ScenePresence)
{
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
@@ -12942,15 +12961,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// 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;
ImprovedTerseObjectUpdatePacket.ObjectDataBlock block =
CreateImprovedTerseBlock(p, false);
const float TIME_DILATION = 1.0f;
ushort timeDilation = Utils.FloatToUInt16(TIME_DILATION, 0.0f, 1.0f);
ImprovedTerseObjectUpdatePacket packet
= (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(
PacketType.ImprovedTerseObjectUpdate);