diff options
author | UbitUmarov | 2012-09-04 07:32:03 +0100 |
---|---|---|
committer | UbitUmarov | 2012-09-04 07:32:03 +0100 |
commit | d4fad2ba42445f72b8a04378b21818ec82ab1089 (patch) | |
tree | c8e9a1f7e586ec2018307dbe59e984e9a6155d87 /OpenSim/Region | |
parent | let avatar keep flying in tps to same region. (still bad for other (diff) | |
download | opensim-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/Region')
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 | } |