diff options
author | Melanie Thielker | 2008-09-07 20:09:11 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-09-07 20:09:11 +0000 |
commit | 58d79b33ff507a1d861d1196a925d2d09ad1c3f2 (patch) | |
tree | 0b4c898b5885bb2c6d16346744f06f8c4b17fe77 /OpenSim/Region | |
parent | Return 0 for no wind and 0 for no clouds from (diff) | |
download | opensim-SC-58d79b33ff507a1d861d1196a925d2d09ad1c3f2.zip opensim-SC-58d79b33ff507a1d861d1196a925d2d09ad1c3f2.tar.gz opensim-SC-58d79b33ff507a1d861d1196a925d2d09ad1c3f2.tar.bz2 opensim-SC-58d79b33ff507a1d861d1196a925d2d09ad1c3f2.tar.xz |
Mantis #2142
Thank you, HomerHorwitz, for a patch that fixes landmark teleport
and about landmarks with the new OMV types.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | 63 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs | 2 |
2 files changed, 34 insertions, 31 deletions
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index aaeca4b..2538eaf 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | |||
@@ -1674,42 +1674,45 @@ namespace OpenSim.Region.Communications.OGS1 | |||
1674 | IList paramList = new ArrayList(); | 1674 | IList paramList = new ArrayList(); |
1675 | paramList.Add(hash); | 1675 | paramList.Add(hash); |
1676 | 1676 | ||
1677 | // this might be cached, as we probably requested it just a moment ago... | ||
1678 | RegionInfo info = RequestNeighbourInfo(regionHandle); | ||
1679 | |||
1680 | try | 1677 | try |
1681 | { | 1678 | { |
1682 | XmlRpcRequest request = new XmlRpcRequest("land_data", paramList); | 1679 | // this might be cached, as we probably requested it just a moment ago... |
1683 | string uri = "http://" + info.ExternalEndPoint.Address + ":" + info.HttpPort + "/"; | 1680 | RegionInfo info = RequestNeighbourInfo(regionHandle); |
1684 | XmlRpcResponse response = request.Send(uri, 10000); | 1681 | if (info != null) // just to be sure |
1685 | if (response.IsFault) | 1682 | { |
1686 | { | 1683 | XmlRpcRequest request = new XmlRpcRequest("land_data", paramList); |
1687 | m_log.ErrorFormat("[OGS1 GRID SERVICES] remote call returned an error: {0}", response.FaultString); | 1684 | string uri = "http://" + info.ExternalEndPoint.Address + ":" + info.HttpPort + "/"; |
1688 | } | 1685 | XmlRpcResponse response = request.Send(uri, 10000); |
1689 | else | 1686 | if (response.IsFault) |
1690 | { | 1687 | { |
1691 | hash = (Hashtable)response.Value; | 1688 | m_log.ErrorFormat("[OGS1 GRID SERVICES] remote call returned an error: {0}", response.FaultString); |
1692 | try { | ||
1693 | landData = new LandData(); | ||
1694 | landData.AABBMax = Vector3.Parse((string)hash["AABBMax"]); | ||
1695 | landData.AABBMin = Vector3.Parse((string)hash["AABBMin"]); | ||
1696 | landData.Area = Convert.ToInt32(hash["Area"]); | ||
1697 | landData.AuctionID = Convert.ToUInt32(hash["AuctionID"]); | ||
1698 | landData.Description = (string)hash["Description"]; | ||
1699 | landData.Flags = Convert.ToUInt32(hash["Flags"]); | ||
1700 | landData.GlobalID = new UUID((string)hash["GlobalID"]); | ||
1701 | landData.Name = (string)hash["Name"]; | ||
1702 | landData.OwnerID = new UUID((string)hash["OwnerID"]); | ||
1703 | landData.SalePrice = Convert.ToInt32(hash["SalePrice"]); | ||
1704 | landData.SnapshotID = new UUID((string)hash["SnapshotID"]); | ||
1705 | landData.UserLocation = Vector3.Parse((string)hash["UserLocation"]); | ||
1706 | m_log.DebugFormat("[OGS1 GRID SERVICES] Got land data for parcel {0}", landData.Name); | ||
1707 | } | 1689 | } |
1708 | catch (Exception e) | 1690 | else |
1709 | { | 1691 | { |
1710 | m_log.Error("[OGS1 GRID SERVICES] Got exception while parsing land-data:", e); | 1692 | hash = (Hashtable)response.Value; |
1693 | try { | ||
1694 | landData = new LandData(); | ||
1695 | landData.AABBMax = Vector3.Parse((string)hash["AABBMax"]); | ||
1696 | landData.AABBMin = Vector3.Parse((string)hash["AABBMin"]); | ||
1697 | landData.Area = Convert.ToInt32(hash["Area"]); | ||
1698 | landData.AuctionID = Convert.ToUInt32(hash["AuctionID"]); | ||
1699 | landData.Description = (string)hash["Description"]; | ||
1700 | landData.Flags = Convert.ToUInt32(hash["Flags"]); | ||
1701 | landData.GlobalID = new UUID((string)hash["GlobalID"]); | ||
1702 | landData.Name = (string)hash["Name"]; | ||
1703 | landData.OwnerID = new UUID((string)hash["OwnerID"]); | ||
1704 | landData.SalePrice = Convert.ToInt32(hash["SalePrice"]); | ||
1705 | landData.SnapshotID = new UUID((string)hash["SnapshotID"]); | ||
1706 | landData.UserLocation = Vector3.Parse((string)hash["UserLocation"]); | ||
1707 | m_log.DebugFormat("[OGS1 GRID SERVICES] Got land data for parcel {0}", landData.Name); | ||
1708 | } | ||
1709 | catch (Exception e) | ||
1710 | { | ||
1711 | m_log.Error("[OGS1 GRID SERVICES] Got exception while parsing land-data:", e); | ||
1712 | } | ||
1711 | } | 1713 | } |
1712 | } | 1714 | } |
1715 | else m_log.WarnFormat("[OGS1 GRID SERVICES] Couldn't find region with handle {0}", regionHandle); | ||
1713 | } | 1716 | } |
1714 | catch (Exception e) | 1717 | catch (Exception e) |
1715 | { | 1718 | { |
diff --git a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs index e5bdafc..f4ba9a3 100644 --- a/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/Environment/Modules/World/Land/LandManagementModule.cs | |||
@@ -1111,7 +1111,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land | |||
1111 | { | 1111 | { |
1112 | // if you do a "About Landmark" on a landmark a second time, the viewer sends the | 1112 | // if you do a "About Landmark" on a landmark a second time, the viewer sends the |
1113 | // region_handle it got earlier via RegionHandleRequest | 1113 | // region_handle it got earlier via RegionHandleRequest |
1114 | ulong regionHandle = Helpers.BytesToUInt64((byte[])hash["region_handle"]); | 1114 | ulong regionHandle = Util.BytesToUInt64Big((byte[])hash["region_handle"]); |
1115 | parcelID = Util.BuildFakeParcelID(regionHandle, x, y); | 1115 | parcelID = Util.BuildFakeParcelID(regionHandle, x, y); |
1116 | } | 1116 | } |
1117 | else if (regionID == m_scene.RegionInfo.RegionID) | 1117 | else if (regionID == m_scene.RegionInfo.RegionID) |