From 58d79b33ff507a1d861d1196a925d2d09ad1c3f2 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 7 Sep 2008 20:09:11 +0000 Subject: Mantis #2142 Thank you, HomerHorwitz, for a patch that fixes landmark teleport and about landmarks with the new OMV types. --- OpenSim/Framework/AssetLandmark.cs | 3 ++- OpenSim/Framework/Util.cs | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'OpenSim/Framework') diff --git a/OpenSim/Framework/AssetLandmark.cs b/OpenSim/Framework/AssetLandmark.cs index cf663ee..d636d34 100644 --- a/OpenSim/Framework/AssetLandmark.cs +++ b/OpenSim/Framework/AssetLandmark.cs @@ -53,7 +53,8 @@ namespace OpenSim.Framework string[] parts = temp.Split('\n'); int.TryParse(parts[0].Substring(17, 1), out Version); UUID.TryParse(parts[1].Substring(10, 36), out RegionID); - Vector3.TryParse(parts[2].Substring(10, parts[2].Length - 10), out Position); + // the vector is stored with spaces as separators, not with commas ("10.3 32.5 43" instead of "10.3, 32.5, 43") + Vector3.TryParse(parts[2].Substring(10, parts[2].Length - 10).Replace(" ", ","), out Position); ulong.TryParse(parts[3].Substring(14, parts[3].Length - 14), out RegionHandle); } } diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index de42bf8..427832d 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -727,6 +727,21 @@ namespace OpenSim.Framework return client.Send(url, 6000); } + /// + /// Converts a byte array in big endian order into an ulong. + /// + /// + /// The array of bytes + /// + /// + /// The extracted ulong + /// + public static ulong BytesToUInt64Big(byte[] bytes) { + if(bytes.Length < 8) return 0; + return ((ulong)bytes[0] << 56) | ((ulong)bytes[1] << 48) | ((ulong)bytes[2] << 40) | ((ulong)bytes[3] << 32) | + ((ulong)bytes[4] << 24) | ((ulong)bytes[5] << 16) | ((ulong)bytes[6] << 8) | (ulong)bytes[7]; + } + // used for RemoteParcelRequest (for "About Landmark") public static UUID BuildFakeParcelID(ulong regionHandle, uint x, uint y) { byte[] bytes = { -- cgit v1.1