aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorUbitUmarov2012-09-04 07:32:03 +0100
committerUbitUmarov2012-09-04 07:32:03 +0100
commitd4fad2ba42445f72b8a04378b21818ec82ab1089 (patch)
treec8e9a1f7e586ec2018307dbe59e984e9a6155d87 /OpenSim
parent let avatar keep flying in tps to same region. (still bad for other (diff)
downloadopensim-SC_OLD-d4fad2ba42445f72b8a04378b21818ec82ab1089.zip
opensim-SC_OLD-d4fad2ba42445f72b8a04378b21818ec82ab1089.tar.gz
opensim-SC_OLD-d4fad2ba42445f72b8a04378b21818ec82ab1089.tar.bz2
opensim-SC_OLD-d4fad2ba42445f72b8a04378b21818ec82ab1089.tar.xz
a forgotten file plus minor changes. Imp and SL viewer seem to preserve
flight. FS 4.2.2 does not.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs7
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs4
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs3
3 files changed, 11 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
index b9222e3..fb41d23 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
@@ -151,6 +151,10 @@ namespace OpenSim.Region.ClientStack.Linden
151 ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, 151 ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint,
152 uint locationID, uint flags, string capsURL, UUID agentID) 152 uint locationID, uint flags, string capsURL, UUID agentID)
153 { 153 {
154 ulong tpflags = 1L << 4; // AgentManager.TeleportFlags.ViaLocation
155 if((flags & (uint)TeleportFlags.IsFlying) != 0)
156 tpflags |= 1 << 13; // IsFLying;
157
154 OSDMap info = new OSDMap(); 158 OSDMap info = new OSDMap();
155 info.Add("AgentID", OSD.FromUUID(agentID)); 159 info.Add("AgentID", OSD.FromUUID(agentID));
156 info.Add("LocationID", OSD.FromInteger(4)); // TODO what is this? 160 info.Add("LocationID", OSD.FromInteger(4)); // TODO what is this?
@@ -159,7 +163,8 @@ namespace OpenSim.Region.ClientStack.Linden
159 info.Add("SimAccess", OSD.FromInteger(simAccess)); 163 info.Add("SimAccess", OSD.FromInteger(simAccess));
160 info.Add("SimIP", OSD.FromBinary(regionExternalEndPoint.Address.GetAddressBytes())); 164 info.Add("SimIP", OSD.FromBinary(regionExternalEndPoint.Address.GetAddressBytes()));
161 info.Add("SimPort", OSD.FromInteger(regionExternalEndPoint.Port)); 165 info.Add("SimPort", OSD.FromInteger(regionExternalEndPoint.Port));
162 info.Add("TeleportFlags", OSD.FromULong(1L << 4)); // AgentManager.TeleportFlags.ViaLocation 166// info.Add("TeleportFlags", OSD.FromULong(1L << 4)); // AgentManager.TeleportFlags.ViaLocation
167 info.Add("TeleportFlags", OSD.FromULong(tpflags));
163 168
164 OSDArray infoArr = new OSDArray(); 169 OSDArray infoArr = new OSDArray();
165 infoArr.Add(info); 170 infoArr.Add(info);
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index ddd8f18..e78ebed 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -808,7 +808,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
808 handshake.RegionInfo3.ProductName = Util.StringToBytes256(regionInfo.RegionType); 808 handshake.RegionInfo3.ProductName = Util.StringToBytes256(regionInfo.RegionType);
809 handshake.RegionInfo3.ProductSKU = Utils.EmptyBytes; 809 handshake.RegionInfo3.ProductSKU = Utils.EmptyBytes;
810 810
811 OutPacket(handshake, ThrottleOutPacketType.Task); 811// OutPacket(handshake, ThrottleOutPacketType.Task);
812 // use same as MoveAgentIntoRegion (both should be task )
813 OutPacket(handshake, ThrottleOutPacketType.Unknown);
812 } 814 }
813 815
814 public void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look) 816 public void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look)
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 47b2ead..34ac7d4 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1264,7 +1264,8 @@ namespace OpenSim.Region.Framework.Scenes
1264 1264
1265 Vector3 look = Velocity; 1265 Vector3 look = Velocity;
1266 1266
1267 if ((look.X == 0) && (look.Y == 0) && (look.Z == 0)) 1267 // if ((look.X == 0) && (look.Y == 0) && (look.Z == 0))
1268 if ((Math.Abs(look.X) < 0.1) && (Math.Abs(look.Y) < 0.1) && (Math.Abs(look.Z) < 0.1))
1268 { 1269 {
1269 look = new Vector3(0.99f, 0.042f, 0); 1270 look = new Vector3(0.99f, 0.042f, 0);
1270 } 1271 }