From aaef497afbedef9382c9afdcb9f8d0d5b0a0e0bc Mon Sep 17 00:00:00 2001 From: onefang Date: Wed, 9 Sep 2020 22:59:24 +1000 Subject: Various teleport fixes. TPs from scripts avoid all that silly raycasting nonsense, just go where we ask. For the "teleport from above" case, do the right thing. Which includes looking for designated floor prims, which have ^ as the first character of their description. Don't do "teleport from above" when we have proper coords. Teleport home from off grid shouldn't land on roofs either. --- OpenSim/Framework/Constants.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'OpenSim/Framework') diff --git a/OpenSim/Framework/Constants.cs b/OpenSim/Framework/Constants.cs index ea89db3..e399e27 100644 --- a/OpenSim/Framework/Constants.cs +++ b/OpenSim/Framework/Constants.cs @@ -63,6 +63,7 @@ namespace OpenSim.Framework EstateManagers = 10 } + // Identical to the one in OpenMetaverse, except I'm extending it now, and OpenSim decided to copy it here, making life hard. [Flags]public enum TeleportFlags : uint { /// No flags set, or teleport failed @@ -75,7 +76,7 @@ namespace OpenSim.Framework ViaLure = 1 << 2, /// Via Landmark ViaLandmark = 1 << 3, - /// Via Location + /// Via Location, seems to be a catch all, includes scripted TPs. ViaLocation = 1 << 4, /// Via Home ViaHome = 1 << 5, @@ -99,6 +100,10 @@ namespace OpenSim.Framework ResetHome = 1 << 14, /// forced to new location for example when avatar is banned or ejected ForceRedirect = 1 << 15, + /// Via script. + ViaScript = 1 << 16, + /// Via map, though this is a guess. + ViaMap = 1 << 17, /// Teleport Finished via a Lure FinishedViaLure = 1 << 26, /// Finished, Sim Changed -- cgit v1.1