Add a TeleportFlags member to SP so we can tell how we got there.

viewer-2-initial-appearance
Melanie 2011-01-27 04:14:41 +01:00
parent adb341e32f
commit 17801bd78b
2 changed files with 15 additions and 0 deletions

View File

@ -3279,6 +3279,10 @@ namespace OpenSim.Region.Framework.Scenes
} }
// Let the SP know how we got here. This has a lot of interesting
// uses down the line.
sp.TeleportFlags = (TeleportFlags)teleportFlags;
// In all cases, add or update the circuit data with the new agent circuit data and teleport flags // In all cases, add or update the circuit data with the new agent circuit data and teleport flags
agent.teleportFlags = teleportFlags; agent.teleportFlags = teleportFlags;
m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent);

View File

@ -130,6 +130,13 @@ namespace OpenSim.Region.Framework.Scenes
private bool m_updateflag; private bool m_updateflag;
private byte m_movementflag; private byte m_movementflag;
private Vector3? m_forceToApply; private Vector3? m_forceToApply;
private TeleportFlags m_teleportFlags;
public TeleportFlags TeleportFlags
{
get { return m_teleportFlags; }
set { m_teleportFlags = value; }
}
private uint m_requestedSitTargetID; private uint m_requestedSitTargetID;
private UUID m_requestedSitTargetUUID; private UUID m_requestedSitTargetUUID;
public bool SitGround = false; public bool SitGround = false;
@ -949,6 +956,10 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary> /// </summary>
public void MakeChildAgent() public void MakeChildAgent()
{ {
// Reset these so that teleporting in and walking out isn't seen
// as teleporting back
m_teleportFlags = TeleportFlags.Default;
// It looks like m_animator is set to null somewhere, and MakeChild // It looks like m_animator is set to null somewhere, and MakeChild
// is called after that. Probably in aborted teleports. // is called after that. Probably in aborted teleports.
if (m_animator == null) if (m_animator == null)