diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index b588a2e..e812945 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -5504,6 +5504,24 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5504 | 5504 | ||
5505 | if (avSetStartLocationRequestPacket.AgentData.AgentID == AgentId && avSetStartLocationRequestPacket.AgentData.SessionID == SessionId) | 5505 | if (avSetStartLocationRequestPacket.AgentData.AgentID == AgentId && avSetStartLocationRequestPacket.AgentData.SessionID == SessionId) |
5506 | { | 5506 | { |
5507 | // Linden Client limitation.. | ||
5508 | if (avSetStartLocationRequestPacket.StartLocationData.LocationPos.X == 255.5f | ||
5509 | || avSetStartLocationRequestPacket.StartLocationData.LocationPos.Y == 255.5f) | ||
5510 | { | ||
5511 | ScenePresence avatar = null; | ||
5512 | if (((Scene)m_scene).TryGetAvatar(AgentId, out avatar)) | ||
5513 | { | ||
5514 | if (avSetStartLocationRequestPacket.StartLocationData.LocationPos.X == 255.5f) | ||
5515 | { | ||
5516 | avSetStartLocationRequestPacket.StartLocationData.LocationPos.X = avatar.AbsolutePosition.X; | ||
5517 | } | ||
5518 | if (avSetStartLocationRequestPacket.StartLocationData.LocationPos.Y == 255.5f) | ||
5519 | { | ||
5520 | avSetStartLocationRequestPacket.StartLocationData.LocationPos.Y = avatar.AbsolutePosition.Y; | ||
5521 | } | ||
5522 | } | ||
5523 | |||
5524 | } | ||
5507 | TeleportLocationRequest handlerSetStartLocationRequest = OnSetStartLocationRequest; | 5525 | TeleportLocationRequest handlerSetStartLocationRequest = OnSetStartLocationRequest; |
5508 | if (handlerSetStartLocationRequest != null) | 5526 | if (handlerSetStartLocationRequest != null) |
5509 | { | 5527 | { |