aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs24
1 files changed, 20 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 8cbbfd9..dc28be8 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -6777,6 +6777,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6777 } 6777 }
6778 #endregion 6778 #endregion
6779 6779
6780 if (SceneAgent.IsChildAgent)
6781 {
6782 SendCantSitBecauseChildAgentResponse();
6783 return true;
6784 }
6785
6780 AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit; 6786 AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit;
6781 6787
6782 if (handlerAgentRequestSit != null) 6788 if (handlerAgentRequestSit != null)
@@ -6801,6 +6807,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6801 } 6807 }
6802 #endregion 6808 #endregion
6803 6809
6810 if (SceneAgent.IsChildAgent)
6811 {
6812 SendCantSitBecauseChildAgentResponse();
6813 return true;
6814 }
6815
6804 AgentSit handlerAgentSit = OnAgentSit; 6816 AgentSit handlerAgentSit = OnAgentSit;
6805 if (handlerAgentSit != null) 6817 if (handlerAgentSit != null)
6806 { 6818 {
@@ -6810,6 +6822,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6810 return true; 6822 return true;
6811 } 6823 }
6812 6824
6825 /// <summary>
6826 /// Used when a child agent gets a sit response which should not be fulfilled.
6827 /// </summary>
6828 private void SendCantSitBecauseChildAgentResponse()
6829 {
6830 SendAlertMessage("Try moving closer. Can't sit on object because it is not in the same region as you.");
6831 }
6832
6813 private bool HandleSoundTrigger(IClientAPI sender, Packet Pack) 6833 private bool HandleSoundTrigger(IClientAPI sender, Packet Pack)
6814 { 6834 {
6815 SoundTriggerPacket soundTriggerPacket = (SoundTriggerPacket)Pack; 6835 SoundTriggerPacket soundTriggerPacket = (SoundTriggerPacket)Pack;
@@ -12934,7 +12954,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
12934 { 12954 {
12935 if (p is ScenePresence) 12955 if (p is ScenePresence)
12936 { 12956 {
12937 ScenePresence presence = p as ScenePresence;
12938 // It turns out to get the agent to stop flying, you have to feed it stop flying velocities 12957 // It turns out to get the agent to stop flying, you have to feed it stop flying velocities
12939 // There's no explicit message to send the client to tell it to stop flying.. it relies on the 12958 // There's no explicit message to send the client to tell it to stop flying.. it relies on the
12940 // velocity, collision plane and avatar height 12959 // velocity, collision plane and avatar height
@@ -12942,15 +12961,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
12942 // Add 1/6 the avatar's height to it's position so it doesn't shoot into the air 12961 // Add 1/6 the avatar's height to it's position so it doesn't shoot into the air
12943 // when the avatar stands up 12962 // when the avatar stands up
12944 12963
12945 Vector3 pos = presence.AbsolutePosition;
12946
12947 ImprovedTerseObjectUpdatePacket.ObjectDataBlock block = 12964 ImprovedTerseObjectUpdatePacket.ObjectDataBlock block =
12948 CreateImprovedTerseBlock(p, false); 12965 CreateImprovedTerseBlock(p, false);
12949 12966
12950 const float TIME_DILATION = 1.0f; 12967 const float TIME_DILATION = 1.0f;
12951 ushort timeDilation = Utils.FloatToUInt16(TIME_DILATION, 0.0f, 1.0f); 12968 ushort timeDilation = Utils.FloatToUInt16(TIME_DILATION, 0.0f, 1.0f);
12952 12969
12953
12954 ImprovedTerseObjectUpdatePacket packet 12970 ImprovedTerseObjectUpdatePacket packet
12955 = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket( 12971 = (ImprovedTerseObjectUpdatePacket)PacketPool.Instance.GetPacket(
12956 PacketType.ImprovedTerseObjectUpdate); 12972 PacketType.ImprovedTerseObjectUpdate);