diff options
Diffstat (limited to 'OpenSim/Services/GridService')
-rw-r--r-- | OpenSim/Services/GridService/GridService.cs | 3 | ||||
-rw-r--r-- | OpenSim/Services/GridService/HypergridLinker.cs | 55 |
2 files changed, 31 insertions, 27 deletions
diff --git a/OpenSim/Services/GridService/GridService.cs b/OpenSim/Services/GridService/GridService.cs index 76415ce..eb44dcb 100644 --- a/OpenSim/Services/GridService/GridService.cs +++ b/OpenSim/Services/GridService/GridService.cs | |||
@@ -655,7 +655,7 @@ namespace OpenSim.Services.GridService | |||
655 | return; | 655 | return; |
656 | } | 656 | } |
657 | 657 | ||
658 | RegionData region = m_Database.Get(x * (int)Constants.RegionSize, y * (int)Constants.RegionSize, UUID.Zero); | 658 | RegionData region = m_Database.Get((int)Util.RegionToWorldLoc((uint)x), (int)Util.RegionToWorldLoc((uint)y), UUID.Zero); |
659 | if (region == null) | 659 | if (region == null) |
660 | { | 660 | { |
661 | MainConsole.Instance.OutputFormat("No region found at {0},{1}", x, y); | 661 | MainConsole.Instance.OutputFormat("No region found at {0},{1}", x, y); |
@@ -673,6 +673,7 @@ namespace OpenSim.Services.GridService | |||
673 | dispList.AddRow("Region Name", r.RegionName); | 673 | dispList.AddRow("Region Name", r.RegionName); |
674 | dispList.AddRow("Region ID", r.RegionID); | 674 | dispList.AddRow("Region ID", r.RegionID); |
675 | dispList.AddRow("Location", string.Format("{0},{1}", r.coordX, r.coordY)); | 675 | dispList.AddRow("Location", string.Format("{0},{1}", r.coordX, r.coordY)); |
676 | dispList.AddRow("Size", string.Format("{0}x{1}", r.sizeX, r.sizeY)); | ||
676 | dispList.AddRow("URI", r.Data["serverURI"]); | 677 | dispList.AddRow("URI", r.Data["serverURI"]); |
677 | dispList.AddRow("Owner ID", r.Data["owner_uuid"]); | 678 | dispList.AddRow("Owner ID", r.Data["owner_uuid"]); |
678 | dispList.AddRow("Flags", flags); | 679 | dispList.AddRow("Flags", flags); |
diff --git a/OpenSim/Services/GridService/HypergridLinker.cs b/OpenSim/Services/GridService/HypergridLinker.cs index 4024295..0448b54 100644 --- a/OpenSim/Services/GridService/HypergridLinker.cs +++ b/OpenSim/Services/GridService/HypergridLinker.cs | |||
@@ -183,8 +183,8 @@ namespace OpenSim.Services.GridService | |||
183 | public GridRegion LinkRegion(UUID scopeID, string regionDescriptor) | 183 | public GridRegion LinkRegion(UUID scopeID, string regionDescriptor) |
184 | { | 184 | { |
185 | string reason = string.Empty; | 185 | string reason = string.Empty; |
186 | int xloc = random.Next(0, Int16.MaxValue) * (int)Constants.RegionSize; | 186 | uint xloc = Util.RegionToWorldLoc((uint)random.Next(0, Int16.MaxValue)); |
187 | return TryLinkRegionToCoords(scopeID, regionDescriptor, xloc, 0, out reason); | 187 | return TryLinkRegionToCoords(scopeID, regionDescriptor, (int)xloc, 0, out reason); |
188 | } | 188 | } |
189 | 189 | ||
190 | private static Random random = new Random(); | 190 | private static Random random = new Random(); |
@@ -260,7 +260,7 @@ namespace OpenSim.Services.GridService | |||
260 | { | 260 | { |
261 | m_log.DebugFormat("[HYPERGRID LINKER]: Link to {0} {1}, in {2}-{3}", | 261 | m_log.DebugFormat("[HYPERGRID LINKER]: Link to {0} {1}, in {2}-{3}", |
262 | ((serverURI == null) ? (externalHostName + ":" + externalPort) : serverURI), | 262 | ((serverURI == null) ? (externalHostName + ":" + externalPort) : serverURI), |
263 | remoteRegionName, xloc / Constants.RegionSize, yloc / Constants.RegionSize); | 263 | remoteRegionName, Util.WorldToRegionLoc((uint)xloc), Util.WorldToRegionLoc((uint)yloc)); |
264 | 264 | ||
265 | reason = string.Empty; | 265 | reason = string.Empty; |
266 | Uri uri = null; | 266 | Uri uri = null; |
@@ -311,7 +311,7 @@ namespace OpenSim.Services.GridService | |||
311 | if (region != null) | 311 | if (region != null) |
312 | { | 312 | { |
313 | m_log.WarnFormat("[HYPERGRID LINKER]: Coordinates {0}-{1} are already occupied by region {2} with uuid {3}", | 313 | m_log.WarnFormat("[HYPERGRID LINKER]: Coordinates {0}-{1} are already occupied by region {2} with uuid {3}", |
314 | regInfo.RegionLocX / Constants.RegionSize, regInfo.RegionLocY / Constants.RegionSize, | 314 | Util.WorldToRegionLoc((uint)regInfo.RegionLocX), Util.WorldToRegionLoc((uint)regInfo.RegionLocY), |
315 | region.RegionName, region.RegionID); | 315 | region.RegionName, region.RegionID); |
316 | reason = "Coordinates are already in use"; | 316 | reason = "Coordinates are already in use"; |
317 | return false; | 317 | return false; |
@@ -347,7 +347,7 @@ namespace OpenSim.Services.GridService | |||
347 | if (region != null) | 347 | if (region != null) |
348 | { | 348 | { |
349 | m_log.DebugFormat("[HYPERGRID LINKER]: Region already exists in coordinates {0} {1}", | 349 | m_log.DebugFormat("[HYPERGRID LINKER]: Region already exists in coordinates {0} {1}", |
350 | region.RegionLocX / Constants.RegionSize, region.RegionLocY / Constants.RegionSize); | 350 | Util.WorldToRegionLoc((uint)regInfo.RegionLocX), Util.WorldToRegionLoc((uint)regInfo.RegionLocY)); |
351 | regInfo = region; | 351 | regInfo = region; |
352 | return true; | 352 | return true; |
353 | } | 353 | } |
@@ -424,10 +424,10 @@ namespace OpenSim.Services.GridService | |||
424 | // { | 424 | // { |
425 | // uint ux = 0, uy = 0; | 425 | // uint ux = 0, uy = 0; |
426 | // Utils.LongToUInts(realHandle, out ux, out uy); | 426 | // Utils.LongToUInts(realHandle, out ux, out uy); |
427 | // x = ux / Constants.RegionSize; | 427 | // x = Util.WorldToRegionLoc(ux); |
428 | // y = uy / Constants.RegionSize; | 428 | // y = Util.WorldToRegionLoc(uy); |
429 | // | 429 | // |
430 | // const uint limit = (4096 - 1) * Constants.RegionSize; | 430 | // const uint limit = Util.RegionToWorldLoc(4096 - 1); |
431 | // uint xmin = ux - limit; | 431 | // uint xmin = ux - limit; |
432 | // uint xmax = ux + limit; | 432 | // uint xmax = ux + limit; |
433 | // uint ymin = uy - limit; | 433 | // uint ymin = uy - limit; |
@@ -503,8 +503,9 @@ namespace OpenSim.Services.GridService | |||
503 | foreach (RegionData r in regions) | 503 | foreach (RegionData r in regions) |
504 | { | 504 | { |
505 | MainConsole.Instance.Output(String.Format("{0}\n{2,-32} {1}\n", | 505 | MainConsole.Instance.Output(String.Format("{0}\n{2,-32} {1}\n", |
506 | r.RegionName, r.RegionID, String.Format("{0},{1} ({2},{3})", r.posX, r.posY, | 506 | r.RegionName, r.RegionID, |
507 | r.posX / Constants.RegionSize, r.posY / Constants.RegionSize))); | 507 | String.Format("{0},{1} ({2},{3})", r.posX, r.posY, |
508 | Util.WorldToRegionLoc((uint)r.posX), Util.WorldToRegionLoc((uint)r.posY))) ); | ||
508 | } | 509 | } |
509 | return; | 510 | return; |
510 | } | 511 | } |
@@ -529,8 +530,8 @@ namespace OpenSim.Services.GridService | |||
529 | int xloc, yloc; | 530 | int xloc, yloc; |
530 | string serverURI; | 531 | string serverURI; |
531 | string remoteName = null; | 532 | string remoteName = null; |
532 | xloc = Convert.ToInt32(cmdparams[0]) * (int)Constants.RegionSize; | 533 | xloc = (int)Util.RegionToWorldLoc((uint)Convert.ToInt32(cmdparams[0])); |
533 | yloc = Convert.ToInt32(cmdparams[1]) * (int)Constants.RegionSize; | 534 | yloc = (int)Util.RegionToWorldLoc((uint)Convert.ToInt32(cmdparams[1])); |
534 | serverURI = cmdparams[2]; | 535 | serverURI = cmdparams[2]; |
535 | if (cmdparams.Length > 3) | 536 | if (cmdparams.Length > 3) |
536 | remoteName = string.Join(" ", cmdparams, 3, cmdparams.Length - 3); | 537 | remoteName = string.Join(" ", cmdparams, 3, cmdparams.Length - 3); |
@@ -601,13 +602,13 @@ namespace OpenSim.Services.GridService | |||
601 | { | 602 | { |
602 | // old format | 603 | // old format |
603 | GridRegion regInfo; | 604 | GridRegion regInfo; |
604 | int xloc, yloc; | 605 | uint xloc, yloc; |
605 | uint externalPort; | 606 | uint externalPort; |
606 | string externalHostName; | 607 | string externalHostName; |
607 | try | 608 | try |
608 | { | 609 | { |
609 | xloc = Convert.ToInt32(cmdparams[0]); | 610 | xloc = (uint)Convert.ToInt32(cmdparams[0]); |
610 | yloc = Convert.ToInt32(cmdparams[1]); | 611 | yloc = (uint)Convert.ToInt32(cmdparams[1]); |
611 | externalPort = Convert.ToUInt32(cmdparams[3]); | 612 | externalPort = Convert.ToUInt32(cmdparams[3]); |
612 | externalHostName = cmdparams[2]; | 613 | externalHostName = cmdparams[2]; |
613 | //internalPort = Convert.ToUInt32(cmdparams[4]); | 614 | //internalPort = Convert.ToUInt32(cmdparams[4]); |
@@ -621,10 +622,11 @@ namespace OpenSim.Services.GridService | |||
621 | } | 622 | } |
622 | 623 | ||
623 | // Convert cell coordinates given by the user to meters | 624 | // Convert cell coordinates given by the user to meters |
624 | xloc = xloc * (int)Constants.RegionSize; | 625 | xloc = Util.RegionToWorldLoc(xloc); |
625 | yloc = yloc * (int)Constants.RegionSize; | 626 | yloc = Util.RegionToWorldLoc(yloc); |
626 | string reason = string.Empty; | 627 | string reason = string.Empty; |
627 | if (TryCreateLink(UUID.Zero, xloc, yloc, string.Empty, externalPort, externalHostName, UUID.Zero, out regInfo, out reason)) | 628 | if (TryCreateLink(UUID.Zero, (int)xloc, (int)yloc, |
629 | string.Empty, externalPort, externalHostName, UUID.Zero, out regInfo, out reason)) | ||
628 | { | 630 | { |
629 | // What is this? The GridRegion instance will be discarded anyway, | 631 | // What is this? The GridRegion instance will be discarded anyway, |
630 | // which effectively ignores any local name given with the command. | 632 | // which effectively ignores any local name given with the command. |
@@ -704,13 +706,13 @@ namespace OpenSim.Services.GridService | |||
704 | private void ReadLinkFromConfig(IConfig config) | 706 | private void ReadLinkFromConfig(IConfig config) |
705 | { | 707 | { |
706 | GridRegion regInfo; | 708 | GridRegion regInfo; |
707 | int xloc, yloc; | 709 | uint xloc, yloc; |
708 | uint externalPort; | 710 | uint externalPort; |
709 | string externalHostName; | 711 | string externalHostName; |
710 | uint realXLoc, realYLoc; | 712 | uint realXLoc, realYLoc; |
711 | 713 | ||
712 | xloc = Convert.ToInt32(config.GetString("xloc", "0")); | 714 | xloc = (uint)Convert.ToInt32(config.GetString("xloc", "0")); |
713 | yloc = Convert.ToInt32(config.GetString("yloc", "0")); | 715 | yloc = (uint)Convert.ToInt32(config.GetString("yloc", "0")); |
714 | externalPort = Convert.ToUInt32(config.GetString("externalPort", "0")); | 716 | externalPort = Convert.ToUInt32(config.GetString("externalPort", "0")); |
715 | externalHostName = config.GetString("externalHostName", ""); | 717 | externalHostName = config.GetString("externalHostName", ""); |
716 | realXLoc = Convert.ToUInt32(config.GetString("real-xloc", "0")); | 718 | realXLoc = Convert.ToUInt32(config.GetString("real-xloc", "0")); |
@@ -718,18 +720,19 @@ namespace OpenSim.Services.GridService | |||
718 | 720 | ||
719 | if (m_enableAutoMapping) | 721 | if (m_enableAutoMapping) |
720 | { | 722 | { |
721 | xloc = (int)((xloc % 100) + m_autoMappingX); | 723 | xloc = (uint)((xloc % 100) + m_autoMappingX); |
722 | yloc = (int)((yloc % 100) + m_autoMappingY); | 724 | yloc = (uint)((yloc % 100) + m_autoMappingY); |
723 | } | 725 | } |
724 | 726 | ||
725 | if (((realXLoc == 0) && (realYLoc == 0)) || | 727 | if (((realXLoc == 0) && (realYLoc == 0)) || |
726 | (((realXLoc - xloc < 3896) || (xloc - realXLoc < 3896)) && | 728 | (((realXLoc - xloc < 3896) || (xloc - realXLoc < 3896)) && |
727 | ((realYLoc - yloc < 3896) || (yloc - realYLoc < 3896)))) | 729 | ((realYLoc - yloc < 3896) || (yloc - realYLoc < 3896)))) |
728 | { | 730 | { |
729 | xloc = xloc * (int)Constants.RegionSize; | 731 | xloc = Util.RegionToWorldLoc(xloc); |
730 | yloc = yloc * (int)Constants.RegionSize; | 732 | yloc = Util.RegionToWorldLoc(yloc); |
731 | string reason = string.Empty; | 733 | string reason = string.Empty; |
732 | if (TryCreateLink(UUID.Zero, xloc, yloc, string.Empty, externalPort, externalHostName, UUID.Zero, out regInfo, out reason)) | 734 | if (TryCreateLink(UUID.Zero, (int)xloc, (int)yloc, |
735 | string.Empty, externalPort, externalHostName, UUID.Zero, out regInfo, out reason)) | ||
733 | { | 736 | { |
734 | regInfo.RegionName = config.GetString("localName", ""); | 737 | regInfo.RegionName = config.GetString("localName", ""); |
735 | } | 738 | } |