avinationmerge
UbitUmarov 2012-09-04 10:51:43 +01:00
parent d4fad2ba42
commit c298ae9e75
1 changed files with 6 additions and 4 deletions

View File

@ -151,9 +151,11 @@ 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;
// not sure why flags get overwritten here
if ((flags & (uint)TeleportFlags.IsFlying) != 0)
flags = (uint)TeleportFlags.ViaLocation | (uint)TeleportFlags.IsFlying;
else
flags = (uint)TeleportFlags.ViaLocation;
OSDMap info = new OSDMap();
info.Add("AgentID", OSD.FromUUID(agentID));
@ -164,7 +166,7 @@ namespace OpenSim.Region.ClientStack.Linden
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(tpflags));
info.Add("TeleportFlags", OSD.FromUInteger(flags));
OSDArray infoArr = new OSDArray();
infoArr.Add(info);