a forgotten file plus minor changes. Imp and SL viewer seem to preserve

flight. FS 4.2.2 does not.
avinationmerge
UbitUmarov 2012-09-04 07:32:03 +01:00
parent e1755e2d71
commit d4fad2ba42
3 changed files with 11 additions and 3 deletions

View File

@ -151,6 +151,10 @@ namespace OpenSim.Region.ClientStack.Linden
ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint,
uint locationID, uint flags, string capsURL, UUID agentID)
{
ulong tpflags = 1L << 4; // AgentManager.TeleportFlags.ViaLocation
if((flags & (uint)TeleportFlags.IsFlying) != 0)
tpflags |= 1 << 13; // IsFLying;
OSDMap info = new OSDMap();
info.Add("AgentID", OSD.FromUUID(agentID));
info.Add("LocationID", OSD.FromInteger(4)); // TODO what is this?
@ -159,7 +163,8 @@ namespace OpenSim.Region.ClientStack.Linden
info.Add("SimAccess", OSD.FromInteger(simAccess));
info.Add("SimIP", OSD.FromBinary(regionExternalEndPoint.Address.GetAddressBytes()));
info.Add("SimPort", OSD.FromInteger(regionExternalEndPoint.Port));
info.Add("TeleportFlags", OSD.FromULong(1L << 4)); // AgentManager.TeleportFlags.ViaLocation
// info.Add("TeleportFlags", OSD.FromULong(1L << 4)); // AgentManager.TeleportFlags.ViaLocation
info.Add("TeleportFlags", OSD.FromULong(tpflags));
OSDArray infoArr = new OSDArray();
infoArr.Add(info);

View File

@ -808,7 +808,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
handshake.RegionInfo3.ProductName = Util.StringToBytes256(regionInfo.RegionType);
handshake.RegionInfo3.ProductSKU = Utils.EmptyBytes;
OutPacket(handshake, ThrottleOutPacketType.Task);
// OutPacket(handshake, ThrottleOutPacketType.Task);
// use same as MoveAgentIntoRegion (both should be task )
OutPacket(handshake, ThrottleOutPacketType.Unknown);
}
public void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look)

View File

@ -1264,7 +1264,8 @@ namespace OpenSim.Region.Framework.Scenes
Vector3 look = Velocity;
if ((look.X == 0) && (look.Y == 0) && (look.Z == 0))
// if ((look.X == 0) && (look.Y == 0) && (look.Z == 0))
if ((Math.Abs(look.X) < 0.1) && (Math.Abs(look.Y) < 0.1) && (Math.Abs(look.Z) < 0.1))
{
look = new Vector3(0.99f, 0.042f, 0);
}