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