diff options
Diffstat (limited to 'OpenSim/Services')
7 files changed, 85 insertions, 16 deletions
diff --git a/OpenSim/Services/Connectors/Land/LandServicesConnector.cs b/OpenSim/Services/Connectors/Land/LandServicesConnector.cs index 30a73a4..644331a 100644 --- a/OpenSim/Services/Connectors/Land/LandServicesConnector.cs +++ b/OpenSim/Services/Connectors/Land/LandServicesConnector.cs | |||
@@ -78,7 +78,7 @@ namespace OpenSim.Services.Connectors | |||
78 | try | 78 | try |
79 | { | 79 | { |
80 | uint xpos = 0, ypos = 0; | 80 | uint xpos = 0, ypos = 0; |
81 | Utils.LongToUInts(regionHandle, out xpos, out ypos); | 81 | Util.RegionHandleToWorldLoc(regionHandle, out xpos, out ypos); |
82 | GridRegion info = m_GridService.GetRegionByPosition(scopeID, (int)xpos, (int)ypos); | 82 | GridRegion info = m_GridService.GetRegionByPosition(scopeID, (int)xpos, (int)ypos); |
83 | if (info != null) // just to be sure | 83 | if (info != null) // just to be sure |
84 | { | 84 | { |
diff --git a/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs b/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs index 774fe2a..beead97 100644 --- a/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs +++ b/OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs | |||
@@ -69,7 +69,7 @@ namespace OpenSim.Services.Connectors | |||
69 | public virtual GridRegion HelloNeighbour(ulong regionHandle, RegionInfo thisRegion) | 69 | public virtual GridRegion HelloNeighbour(ulong regionHandle, RegionInfo thisRegion) |
70 | { | 70 | { |
71 | uint x = 0, y = 0; | 71 | uint x = 0, y = 0; |
72 | Utils.LongToUInts(regionHandle, out x, out y); | 72 | Util.RegionHandleToWorldLoc(regionHandle, out x, out y); |
73 | GridRegion regInfo = m_GridService.GetRegionByPosition(thisRegion.ScopeID, (int)x, (int)y); | 73 | GridRegion regInfo = m_GridService.GetRegionByPosition(thisRegion.ScopeID, (int)x, (int)y); |
74 | if ((regInfo != null) && | 74 | if ((regInfo != null) && |
75 | // Don't remote-call this instance; that's a startup hickup | 75 | // Don't remote-call this instance; that's a startup hickup |
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs b/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs index 504fcaf..2cbf967 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs | |||
@@ -100,6 +100,11 @@ namespace OpenSim.Services.Connectors | |||
100 | return m_database.LoadObjects(regionUUID); | 100 | return m_database.LoadObjects(regionUUID); |
101 | } | 101 | } |
102 | 102 | ||
103 | public void StoreTerrain(TerrainData terrain, UUID regionID) | ||
104 | { | ||
105 | m_database.StoreTerrain(terrain, regionID); | ||
106 | } | ||
107 | |||
103 | public void StoreTerrain(double[,] terrain, UUID regionID) | 108 | public void StoreTerrain(double[,] terrain, UUID regionID) |
104 | { | 109 | { |
105 | m_database.StoreTerrain(terrain, regionID); | 110 | m_database.StoreTerrain(terrain, regionID); |
@@ -110,6 +115,11 @@ namespace OpenSim.Services.Connectors | |||
110 | return m_database.LoadTerrain(regionID); | 115 | return m_database.LoadTerrain(regionID); |
111 | } | 116 | } |
112 | 117 | ||
118 | public TerrainData LoadTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ) | ||
119 | { | ||
120 | return m_database.LoadTerrain(regionID, pSizeX, pSizeY, pSizeZ); | ||
121 | } | ||
122 | |||
113 | public void StoreLandObject(ILandObject Parcel) | 123 | public void StoreLandObject(ILandObject Parcel) |
114 | { | 124 | { |
115 | m_database.StoreLandObject(Parcel); | 125 | m_database.StoreLandObject(Parcel); |
diff --git a/OpenSim/Services/GridService/GridService.cs b/OpenSim/Services/GridService/GridService.cs index e72b7f9..aa7ffc1 100644 --- a/OpenSim/Services/GridService/GridService.cs +++ b/OpenSim/Services/GridService/GridService.cs | |||
@@ -347,6 +347,11 @@ namespace OpenSim.Services.GridService | |||
347 | return null; | 347 | return null; |
348 | } | 348 | } |
349 | 349 | ||
350 | // Get a region given its base coordinates. | ||
351 | // NOTE: this is NOT 'get a region by some point in the region'. The coordinate MUST | ||
352 | // be the base coordinate of the region. | ||
353 | // The snapping is technically unnecessary but is harmless because regions are always | ||
354 | // multiples of the legacy region size (256). | ||
350 | public GridRegion GetRegionByPosition(UUID scopeID, int x, int y) | 355 | public GridRegion GetRegionByPosition(UUID scopeID, int x, int y) |
351 | { | 356 | { |
352 | int snapX = (int)(x / Constants.RegionSize) * (int)Constants.RegionSize; | 357 | int snapX = (int)(x / Constants.RegionSize) * (int)Constants.RegionSize; |
@@ -441,6 +446,8 @@ namespace OpenSim.Services.GridService | |||
441 | RegionData rdata = new RegionData(); | 446 | RegionData rdata = new RegionData(); |
442 | rdata.posX = (int)rinfo.RegionLocX; | 447 | rdata.posX = (int)rinfo.RegionLocX; |
443 | rdata.posY = (int)rinfo.RegionLocY; | 448 | rdata.posY = (int)rinfo.RegionLocY; |
449 | rdata.sizeX = rinfo.RegionSizeX; | ||
450 | rdata.sizeY = rinfo.RegionSizeY; | ||
444 | rdata.RegionID = rinfo.RegionID; | 451 | rdata.RegionID = rinfo.RegionID; |
445 | rdata.RegionName = rinfo.RegionName; | 452 | rdata.RegionName = rinfo.RegionName; |
446 | rdata.Data = rinfo.ToKeyValuePairs(); | 453 | rdata.Data = rinfo.ToKeyValuePairs(); |
@@ -454,6 +461,8 @@ namespace OpenSim.Services.GridService | |||
454 | GridRegion rinfo = new GridRegion(rdata.Data); | 461 | GridRegion rinfo = new GridRegion(rdata.Data); |
455 | rinfo.RegionLocX = rdata.posX; | 462 | rinfo.RegionLocX = rdata.posX; |
456 | rinfo.RegionLocY = rdata.posY; | 463 | rinfo.RegionLocY = rdata.posY; |
464 | rinfo.RegionSizeX = rdata.sizeX; | ||
465 | rinfo.RegionSizeY = rdata.sizeY; | ||
457 | rinfo.RegionID = rdata.RegionID; | 466 | rinfo.RegionID = rdata.RegionID; |
458 | rinfo.RegionName = rdata.RegionName; | 467 | rinfo.RegionName = rdata.RegionName; |
459 | rinfo.ScopeID = rdata.ScopeID; | 468 | rinfo.ScopeID = rdata.ScopeID; |
diff --git a/OpenSim/Services/Interfaces/IGridService.cs b/OpenSim/Services/Interfaces/IGridService.cs index 88ac5b3..d4708b7 100644 --- a/OpenSim/Services/Interfaces/IGridService.cs +++ b/OpenSim/Services/Interfaces/IGridService.cs | |||
@@ -168,15 +168,16 @@ namespace OpenSim.Services.Interfaces | |||
168 | /// <summary> | 168 | /// <summary> |
169 | /// The co-ordinate of this region. | 169 | /// The co-ordinate of this region. |
170 | /// </summary> | 170 | /// </summary> |
171 | public int RegionCoordX { get { return RegionLocX / (int)Constants.RegionSize; } } | 171 | public int RegionCoordX { get { return (int)Util.WorldToRegionLoc((uint)RegionLocX); } } |
172 | 172 | ||
173 | /// <summary> | 173 | /// <summary> |
174 | /// The co-ordinate of this region | 174 | /// The co-ordinate of this region |
175 | /// </summary> | 175 | /// </summary> |
176 | public int RegionCoordY { get { return RegionLocY / (int)Constants.RegionSize; } } | 176 | public int RegionCoordY { get { return (int)Util.WorldToRegionLoc((uint)RegionLocY); } } |
177 | 177 | ||
178 | /// <summary> | 178 | /// <summary> |
179 | /// The location of this region in meters. | 179 | /// The location of this region in meters. |
180 | /// DANGER DANGER! Note that this name means something different in RegionInfo. | ||
180 | /// </summary> | 181 | /// </summary> |
181 | public int RegionLocX | 182 | public int RegionLocX |
182 | { | 183 | { |
@@ -185,8 +186,12 @@ namespace OpenSim.Services.Interfaces | |||
185 | } | 186 | } |
186 | protected int m_regionLocX; | 187 | protected int m_regionLocX; |
187 | 188 | ||
189 | public int RegionSizeX { get; set; } | ||
190 | public int RegionSizeY { get; set; } | ||
191 | |||
188 | /// <summary> | 192 | /// <summary> |
189 | /// The location of this region in meters. | 193 | /// The location of this region in meters. |
194 | /// DANGER DANGER! Note that this name means something different in RegionInfo. | ||
190 | /// </summary> | 195 | /// </summary> |
191 | public int RegionLocY | 196 | public int RegionLocY |
192 | { | 197 | { |
@@ -222,6 +227,8 @@ namespace OpenSim.Services.Interfaces | |||
222 | { | 227 | { |
223 | m_regionLocX = regionLocX; | 228 | m_regionLocX = regionLocX; |
224 | m_regionLocY = regionLocY; | 229 | m_regionLocY = regionLocY; |
230 | RegionSizeX = (int)Constants.RegionSize; | ||
231 | RegionSizeY = (int)Constants.RegionSize; | ||
225 | 232 | ||
226 | m_internalEndPoint = internalEndPoint; | 233 | m_internalEndPoint = internalEndPoint; |
227 | m_externalHostName = externalUri; | 234 | m_externalHostName = externalUri; |
@@ -231,6 +238,8 @@ namespace OpenSim.Services.Interfaces | |||
231 | { | 238 | { |
232 | m_regionLocX = regionLocX; | 239 | m_regionLocX = regionLocX; |
233 | m_regionLocY = regionLocY; | 240 | m_regionLocY = regionLocY; |
241 | RegionSizeX = (int)Constants.RegionSize; | ||
242 | RegionSizeY = (int)Constants.RegionSize; | ||
234 | 243 | ||
235 | m_externalHostName = externalUri; | 244 | m_externalHostName = externalUri; |
236 | 245 | ||
@@ -239,15 +248,19 @@ namespace OpenSim.Services.Interfaces | |||
239 | 248 | ||
240 | public GridRegion(uint xcell, uint ycell) | 249 | public GridRegion(uint xcell, uint ycell) |
241 | { | 250 | { |
242 | m_regionLocX = (int)(xcell * Constants.RegionSize); | 251 | m_regionLocX = (int)Util.RegionToWorldLoc(xcell); |
243 | m_regionLocY = (int)(ycell * Constants.RegionSize); | 252 | m_regionLocY = (int)Util.RegionToWorldLoc(ycell); |
253 | RegionSizeX = (int)Constants.RegionSize; | ||
254 | RegionSizeY = (int)Constants.RegionSize; | ||
244 | } | 255 | } |
245 | 256 | ||
246 | public GridRegion(RegionInfo ConvertFrom) | 257 | public GridRegion(RegionInfo ConvertFrom) |
247 | { | 258 | { |
248 | m_regionName = ConvertFrom.RegionName; | 259 | m_regionName = ConvertFrom.RegionName; |
249 | m_regionLocX = (int)(ConvertFrom.RegionLocX * Constants.RegionSize); | 260 | m_regionLocX = (int)(ConvertFrom.WorldLocX); |
250 | m_regionLocY = (int)(ConvertFrom.RegionLocY * Constants.RegionSize); | 261 | m_regionLocY = (int)(ConvertFrom.WorldLocY); |
262 | RegionSizeX = (int)ConvertFrom.RegionSizeX; | ||
263 | RegionSizeY = (int)ConvertFrom.RegionSizeY; | ||
251 | m_internalEndPoint = ConvertFrom.InternalEndPoint; | 264 | m_internalEndPoint = ConvertFrom.InternalEndPoint; |
252 | m_externalHostName = ConvertFrom.ExternalHostName; | 265 | m_externalHostName = ConvertFrom.ExternalHostName; |
253 | m_httpPort = ConvertFrom.HttpPort; | 266 | m_httpPort = ConvertFrom.HttpPort; |
@@ -266,6 +279,8 @@ namespace OpenSim.Services.Interfaces | |||
266 | m_regionName = ConvertFrom.RegionName; | 279 | m_regionName = ConvertFrom.RegionName; |
267 | m_regionLocX = ConvertFrom.RegionLocX; | 280 | m_regionLocX = ConvertFrom.RegionLocX; |
268 | m_regionLocY = ConvertFrom.RegionLocY; | 281 | m_regionLocY = ConvertFrom.RegionLocY; |
282 | RegionSizeX = ConvertFrom.RegionSizeX; | ||
283 | RegionSizeY = ConvertFrom.RegionSizeY; | ||
269 | m_internalEndPoint = ConvertFrom.InternalEndPoint; | 284 | m_internalEndPoint = ConvertFrom.InternalEndPoint; |
270 | m_externalHostName = ConvertFrom.ExternalHostName; | 285 | m_externalHostName = ConvertFrom.ExternalHostName; |
271 | m_httpPort = ConvertFrom.HttpPort; | 286 | m_httpPort = ConvertFrom.HttpPort; |
@@ -373,6 +388,8 @@ namespace OpenSim.Services.Interfaces | |||
373 | kvp["uuid"] = RegionID.ToString(); | 388 | kvp["uuid"] = RegionID.ToString(); |
374 | kvp["locX"] = RegionLocX.ToString(); | 389 | kvp["locX"] = RegionLocX.ToString(); |
375 | kvp["locY"] = RegionLocY.ToString(); | 390 | kvp["locY"] = RegionLocY.ToString(); |
391 | kvp["sizeX"] = RegionSizeX.ToString(); | ||
392 | kvp["sizeY"] = RegionSizeY.ToString(); | ||
376 | kvp["regionName"] = RegionName; | 393 | kvp["regionName"] = RegionName; |
377 | kvp["serverIP"] = ExternalHostName; //ExternalEndPoint.Address.ToString(); | 394 | kvp["serverIP"] = ExternalHostName; //ExternalEndPoint.Address.ToString(); |
378 | kvp["serverHttpPort"] = HttpPort.ToString(); | 395 | kvp["serverHttpPort"] = HttpPort.ToString(); |
@@ -399,6 +416,12 @@ namespace OpenSim.Services.Interfaces | |||
399 | if (kvp.ContainsKey("locY")) | 416 | if (kvp.ContainsKey("locY")) |
400 | RegionLocY = Convert.ToInt32((string)kvp["locY"]); | 417 | RegionLocY = Convert.ToInt32((string)kvp["locY"]); |
401 | 418 | ||
419 | if (kvp.ContainsKey("sizeX")) | ||
420 | RegionSizeX = Convert.ToInt32((string)kvp["sizeX"]); | ||
421 | |||
422 | if (kvp.ContainsKey("sizeY")) | ||
423 | RegionSizeY = Convert.ToInt32((string)kvp["sizeY"]); | ||
424 | |||
402 | if (kvp.ContainsKey("regionName")) | 425 | if (kvp.ContainsKey("regionName")) |
403 | RegionName = (string)kvp["regionName"]; | 426 | RegionName = (string)kvp["regionName"]; |
404 | 427 | ||
diff --git a/OpenSim/Services/LLLoginService/LLLoginResponse.cs b/OpenSim/Services/LLLoginService/LLLoginResponse.cs index 6ab5258..ff51f09 100644 --- a/OpenSim/Services/LLLoginService/LLLoginResponse.cs +++ b/OpenSim/Services/LLLoginService/LLLoginResponse.cs | |||
@@ -254,11 +254,12 @@ namespace OpenSim.Services.LLLoginService | |||
254 | Currency = currency; | 254 | Currency = currency; |
255 | ClassifiedFee = classifiedFee; | 255 | ClassifiedFee = classifiedFee; |
256 | 256 | ||
257 | |||
258 | FillOutHomeData(pinfo, home); | 257 | FillOutHomeData(pinfo, home); |
259 | LookAt = String.Format("[r{0},r{1},r{2}]", lookAt.X, lookAt.Y, lookAt.Z); | 258 | LookAt = String.Format("[r{0},r{1},r{2}]", lookAt.X, lookAt.Y, lookAt.Z); |
260 | 259 | ||
261 | FillOutRegionData(destination); | 260 | FillOutRegionData(destination); |
261 | m_log.DebugFormat("[LOGIN RESPONSE] LLLoginResponse create. sizeX={0}, sizeY={1}", RegionSizeX, RegionSizeY); | ||
262 | Util.PrintCallStack(); | ||
262 | 263 | ||
263 | FillOutSeedCap(aCircuit, destination, clientIP); | 264 | FillOutSeedCap(aCircuit, destination, clientIP); |
264 | 265 | ||
@@ -361,7 +362,9 @@ namespace OpenSim.Services.LLLoginService | |||
361 | 362 | ||
362 | private void FillOutHomeData(GridUserInfo pinfo, GridRegion home) | 363 | private void FillOutHomeData(GridUserInfo pinfo, GridRegion home) |
363 | { | 364 | { |
364 | int x = 1000 * (int)Constants.RegionSize, y = 1000 * (int)Constants.RegionSize; | 365 | // int x = 1000 * (int)Constants.RegionSize, y = 1000 * (int)Constants.RegionSize; |
366 | int x = (int)Util.RegionToWorldLoc(1000); | ||
367 | int y = (int)Util.RegionToWorldLoc(1000); | ||
365 | if (home != null) | 368 | if (home != null) |
366 | { | 369 | { |
367 | x = home.RegionLocX; | 370 | x = home.RegionLocX; |
@@ -384,6 +387,8 @@ namespace OpenSim.Services.LLLoginService | |||
384 | SimPort = (uint)endPoint.Port; | 387 | SimPort = (uint)endPoint.Port; |
385 | RegionX = (uint)destination.RegionLocX; | 388 | RegionX = (uint)destination.RegionLocX; |
386 | RegionY = (uint)destination.RegionLocY; | 389 | RegionY = (uint)destination.RegionLocY; |
390 | RegionSizeX = destination.RegionSizeX; | ||
391 | RegionSizeY = destination.RegionSizeY; | ||
387 | } | 392 | } |
388 | 393 | ||
389 | private void FillOutSeedCap(AgentCircuitData aCircuit, GridRegion destination, IPEndPoint ipepClient) | 394 | private void FillOutSeedCap(AgentCircuitData aCircuit, GridRegion destination, IPEndPoint ipepClient) |
@@ -433,10 +438,23 @@ namespace OpenSim.Services.LLLoginService | |||
433 | ErrorReason = "key"; | 438 | ErrorReason = "key"; |
434 | welcomeMessage = "Welcome to OpenSim!"; | 439 | welcomeMessage = "Welcome to OpenSim!"; |
435 | seedCapability = String.Empty; | 440 | seedCapability = String.Empty; |
436 | home = "{'region_handle':[r" + (1000*Constants.RegionSize).ToString() + ",r" + (1000*Constants.RegionSize).ToString() + "], 'position':[r" + | 441 | home = "{'region_handle':[r" |
437 | userProfile.homepos.X.ToString() + ",r" + userProfile.homepos.Y.ToString() + ",r" + | 442 | + Util.RegionToWorldLoc(1000).ToString() |
438 | userProfile.homepos.Z.ToString() + "], 'look_at':[r" + userProfile.homelookat.X.ToString() + ",r" + | 443 | + ",r" |
439 | userProfile.homelookat.Y.ToString() + ",r" + userProfile.homelookat.Z.ToString() + "]}"; | 444 | + Util.RegionToWorldLoc(1000).ToString() |
445 | + "], 'position':[r" | ||
446 | + userProfile.homepos.X.ToString() | ||
447 | + ",r" | ||
448 | + userProfile.homepos.Y.ToString() | ||
449 | + ",r" | ||
450 | + userProfile.homepos.Z.ToString() | ||
451 | + "], 'look_at':[r" | ||
452 | + userProfile.homelookat.X.ToString() | ||
453 | + ",r" | ||
454 | + userProfile.homelookat.Y.ToString() | ||
455 | + ",r" | ||
456 | + userProfile.homelookat.Z.ToString() | ||
457 | + "]}"; | ||
440 | lookAt = "[r0.99949799999999999756,r0.03166859999999999814,r0]"; | 458 | lookAt = "[r0.99949799999999999756,r0.03166859999999999814,r0]"; |
441 | RegionX = (uint) 255232; | 459 | RegionX = (uint) 255232; |
442 | RegionY = (uint) 254976; | 460 | RegionY = (uint) 254976; |
@@ -529,6 +547,9 @@ namespace OpenSim.Services.LLLoginService | |||
529 | responseData["message"] = welcomeMessage; | 547 | responseData["message"] = welcomeMessage; |
530 | responseData["region_x"] = (Int32)(RegionX); | 548 | responseData["region_x"] = (Int32)(RegionX); |
531 | responseData["region_y"] = (Int32)(RegionY); | 549 | responseData["region_y"] = (Int32)(RegionY); |
550 | responseData["region_size_x"] = (Int32)RegionSizeX; | ||
551 | responseData["region_size_y"] = (Int32)RegionSizeY; | ||
552 | m_log.DebugFormat("[LOGIN RESPONSE] returning sizeX={0}, sizeY={1}", RegionSizeX, RegionSizeY); | ||
532 | 553 | ||
533 | if (searchURL != String.Empty) | 554 | if (searchURL != String.Empty) |
534 | responseData["search"] = searchURL; | 555 | responseData["search"] = searchURL; |
@@ -918,6 +939,9 @@ namespace OpenSim.Services.LLLoginService | |||
918 | set { regionY = value; } | 939 | set { regionY = value; } |
919 | } | 940 | } |
920 | 941 | ||
942 | public int RegionSizeX { get; private set; } | ||
943 | public int RegionSizeY { get; private set; } | ||
944 | |||
921 | public string SunTexture | 945 | public string SunTexture |
922 | { | 946 | { |
923 | get { return sunTexture; } | 947 | get { return sunTexture; } |
diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index fe43582..150c2c0 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs | |||
@@ -50,6 +50,8 @@ namespace OpenSim.Services.LLLoginService | |||
50 | public class LLLoginService : ILoginService | 50 | public class LLLoginService : ILoginService |
51 | { | 51 | { |
52 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 52 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
53 | private static readonly string LogHeader = "[LLOGIN SERVICE]"; | ||
54 | |||
53 | private static bool Initialized = false; | 55 | private static bool Initialized = false; |
54 | 56 | ||
55 | protected IUserAccountService m_UserAccountService; | 57 | protected IUserAccountService m_UserAccountService; |
@@ -389,6 +391,7 @@ namespace OpenSim.Services.LLLoginService | |||
389 | if (guinfo == null) | 391 | if (guinfo == null) |
390 | { | 392 | { |
391 | // something went wrong, make something up, so that we don't have to test this anywhere else | 393 | // something went wrong, make something up, so that we don't have to test this anywhere else |
394 | m_log.DebugFormat("{0} Failed to fetch GridUserInfo. Creating empty GridUserInfo as home", LogHeader); | ||
392 | guinfo = new GridUserInfo(); | 395 | guinfo = new GridUserInfo(); |
393 | guinfo.LastPosition = guinfo.HomePosition = new Vector3(128, 128, 30); | 396 | guinfo.LastPosition = guinfo.HomePosition = new Vector3(128, 128, 30); |
394 | } | 397 | } |
@@ -681,7 +684,7 @@ namespace OpenSim.Services.LLLoginService | |||
681 | private GridRegion FindAlternativeRegion(UUID scopeID) | 684 | private GridRegion FindAlternativeRegion(UUID scopeID) |
682 | { | 685 | { |
683 | List<GridRegion> hyperlinks = null; | 686 | List<GridRegion> hyperlinks = null; |
684 | List<GridRegion> regions = m_GridService.GetFallbackRegions(scopeID, 1000 * (int)Constants.RegionSize, 1000 * (int)Constants.RegionSize); | 687 | List<GridRegion> regions = m_GridService.GetFallbackRegions(scopeID, (int)Util.RegionToWorldLoc(1000), (int)Util.RegionToWorldLoc(1000)); |
685 | if (regions != null && regions.Count > 0) | 688 | if (regions != null && regions.Count > 0) |
686 | { | 689 | { |
687 | hyperlinks = m_GridService.GetHyperlinks(scopeID); | 690 | hyperlinks = m_GridService.GetHyperlinks(scopeID); |