aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorTeravus Ovares (Dan Olivares)2009-09-10 04:07:08 -0400
committerTeravus Ovares (Dan Olivares)2009-09-10 04:07:08 -0400
commit729fbee287f15641cd71cadce410f8fe6d228772 (patch)
tree29ac6e148327e9bedfce3ad66d64e594737fed92 /OpenSim/Region
parent* Fix an off by one error on visible neighbors in the 'RequestNeighbors' meth... (diff)
parentFormatting cleanup. (diff)
downloadopensim-SC_OLD-729fbee287f15641cd71cadce410f8fe6d228772.zip
opensim-SC_OLD-729fbee287f15641cd71cadce410f8fe6d228772.tar.gz
opensim-SC_OLD-729fbee287f15641cd71cadce410f8fe6d228772.tar.bz2
opensim-SC_OLD-729fbee287f15641cd71cadce410f8fe6d228772.tar.xz
Merge branch 'master' of ssh://MyConnection/var/git/opensim
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs2
-rw-r--r--OpenSim/Region/CoreModules/World/Land/RegionCombinerModule.cs83
2 files changed, 25 insertions, 60 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index dd50073..f6ae639 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -3168,7 +3168,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3168 if (m_imageManager.ProcessImageQueue(m_textureSendLimit, 3168 if (m_imageManager.ProcessImageQueue(m_textureSendLimit,
3169 m_textureDataLimit)) 3169 m_textureDataLimit))
3170 { 3170 {
3171 lock(m_textureRequestTimer) 3171 lock (m_textureRequestTimer)
3172 m_textureRequestTimer.Start(); 3172 m_textureRequestTimer.Start();
3173 } 3173 }
3174 } 3174 }
diff --git a/OpenSim/Region/CoreModules/World/Land/RegionCombinerModule.cs b/OpenSim/Region/CoreModules/World/Land/RegionCombinerModule.cs
index f513d68..45e09a3 100644
--- a/OpenSim/Region/CoreModules/World/Land/RegionCombinerModule.cs
+++ b/OpenSim/Region/CoreModules/World/Land/RegionCombinerModule.cs
@@ -42,10 +42,11 @@ namespace OpenSim.Region.CoreModules.World.Land
42 { 42 {
43 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 43 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
44 44
45 public string Name { get 45 public string Name
46 { 46 {
47 return "RegionCombinerModule"; 47 get { return "RegionCombinerModule"; }
48 } } 48 }
49
49 public Type ReplaceableInterface 50 public Type ReplaceableInterface
50 { 51 {
51 get { return null; } 52 get { return null; }
@@ -57,29 +58,21 @@ namespace OpenSim.Region.CoreModules.World.Land
57 58
58 public void Initialise(IConfigSource source) 59 public void Initialise(IConfigSource source)
59 { 60 {
60
61 IConfig myConfig = source.Configs["Startup"]; 61 IConfig myConfig = source.Configs["Startup"];
62 enabledYN = myConfig.GetBoolean("CombineContiguousRegions", false); 62 enabledYN = myConfig.GetBoolean("CombineContiguousRegions", false);
63 //enabledYN = true; 63 //enabledYN = true;
64
65 } 64 }
66 65
67 public void Close() 66 public void Close()
68 { 67 {
69
70 } 68 }
71 69
72 public void AddRegion(Scene scene) 70 public void AddRegion(Scene scene)
73 { 71 {
74
75
76
77 } 72 }
78 73
79 public void RemoveRegion(Scene scene) 74 public void RemoveRegion(Scene scene)
80 { 75 {
81
82
83 } 76 }
84 77
85 public void RegionLoaded(Scene scene) 78 public void RegionLoaded(Scene scene)
@@ -304,12 +297,10 @@ namespace OpenSim.Region.CoreModules.World.Land
304 297
305 conn.UpdateExtents(extents); 298 conn.UpdateExtents(extents);
306 299
307
308 m_log.DebugFormat("Scene: {0} to the west of Scene{1} Offset: {2}. Extents:{3}", 300 m_log.DebugFormat("Scene: {0} to the west of Scene{1} Offset: {2}. Extents:{3}",
309 conn.RegionScene.RegionInfo.RegionName, 301 conn.RegionScene.RegionInfo.RegionName,
310 regionConnections.RegionScene.RegionInfo.RegionName, offset, extents); 302 regionConnections.RegionScene.RegionInfo.RegionName, offset, extents);
311 303
312
313 scene.BordersLocked = true; 304 scene.BordersLocked = true;
314 conn.RegionScene.BordersLocked = true; 305 conn.RegionScene.BordersLocked = true;
315 306
@@ -347,8 +338,6 @@ namespace OpenSim.Region.CoreModules.World.Land
347 break; 338 break;
348 } 339 }
349 340
350
351
352 // If we're one region over x +y 341 // If we're one region over x +y
353 //xyx 342 //xyx
354 //xxx 343 //xxx
@@ -369,7 +358,6 @@ namespace OpenSim.Region.CoreModules.World.Land
369 extents.X = conn.XEnd; 358 extents.X = conn.XEnd;
370 conn.UpdateExtents(extents); 359 conn.UpdateExtents(extents);
371 360
372
373 scene.BordersLocked = true; 361 scene.BordersLocked = true;
374 conn.RegionScene.BordersLocked = true; 362 conn.RegionScene.BordersLocked = true;
375 363
@@ -382,6 +370,7 @@ namespace OpenSim.Region.CoreModules.World.Land
382 m_log.DebugFormat("Scene: {0} to the northeast of Scene{1} Offset: {2}. Extents:{3}", 370 m_log.DebugFormat("Scene: {0} to the northeast of Scene{1} Offset: {2}. Extents:{3}",
383 conn.RegionScene.RegionInfo.RegionName, 371 conn.RegionScene.RegionInfo.RegionName,
384 regionConnections.RegionScene.RegionInfo.RegionName, offset, extents); 372 regionConnections.RegionScene.RegionInfo.RegionName, offset, extents);
373
385 conn.RegionScene.PhysicsScene.Combine(null, Vector3.Zero, extents); 374 conn.RegionScene.PhysicsScene.Combine(null, Vector3.Zero, extents);
386 scene.PhysicsScene.Combine(conn.RegionScene.PhysicsScene, offset, Vector3.Zero); 375 scene.PhysicsScene.Combine(conn.RegionScene.PhysicsScene, offset, Vector3.Zero);
387 376
@@ -444,6 +433,7 @@ namespace OpenSim.Region.CoreModules.World.Land
444 conn.RegionScene.PhysicsScene.Combine(null, Vector3.Zero, extents); 433 conn.RegionScene.PhysicsScene.Combine(null, Vector3.Zero, extents);
445 scene.PhysicsScene.Combine(conn.RegionScene.PhysicsScene, offset, Vector3.Zero); 434 scene.PhysicsScene.Combine(conn.RegionScene.PhysicsScene, offset, Vector3.Zero);
446 lock (conn.RegionScene.NorthBorders) 435 lock (conn.RegionScene.NorthBorders)
436 {
447 if (conn.RegionScene.NorthBorders.Count == 1)// && 2) 437 if (conn.RegionScene.NorthBorders.Count == 1)// && 2)
448 { 438 {
449 //compound border 439 //compound border
@@ -454,14 +444,13 @@ namespace OpenSim.Region.CoreModules.World.Land
454 conn.RegionScene.EastBorders[0].BorderLine.Y += (int)Constants.RegionSize; 444 conn.RegionScene.EastBorders[0].BorderLine.Y += (int)Constants.RegionSize;
455 lock (conn.RegionScene.WestBorders) 445 lock (conn.RegionScene.WestBorders)
456 conn.RegionScene.WestBorders[0].BorderLine.Y += (int)Constants.RegionSize; 446 conn.RegionScene.WestBorders[0].BorderLine.Y += (int)Constants.RegionSize;
457
458
459
460 } 447 }
448 }
461 lock (scene.SouthBorders) 449 lock (scene.SouthBorders)
462 scene.SouthBorders[0].BorderLine.Z += (int)Constants.RegionSize; //auto teleport south 450 scene.SouthBorders[0].BorderLine.Z += (int)Constants.RegionSize; //auto teleport south
463 451
464 lock (conn.RegionScene.EastBorders) 452 lock (conn.RegionScene.EastBorders)
453 {
465 if (conn.RegionScene.EastBorders.Count == 1)// && conn.RegionScene.EastBorders.Count == 2) 454 if (conn.RegionScene.EastBorders.Count == 1)// && conn.RegionScene.EastBorders.Count == 2)
466 { 455 {
467 456
@@ -473,7 +462,8 @@ namespace OpenSim.Region.CoreModules.World.Land
473 462
474 463
475 } 464 }
476 465 }
466
477 lock (scene.WestBorders) 467 lock (scene.WestBorders)
478 scene.WestBorders[0].BorderLine.Z += (int)Constants.RegionSize; //auto teleport West 468 scene.WestBorders[0].BorderLine.Z += (int)Constants.RegionSize; //auto teleport West
479 /* 469 /*
@@ -503,9 +493,8 @@ namespace OpenSim.Region.CoreModules.World.Land
503 493
504 break; 494 break;
505 } 495 }
506
507
508 } 496 }
497
509 if (!connectedYN) 498 if (!connectedYN)
510 { 499 {
511 RegionData rdata = new RegionData(); 500 RegionData rdata = new RegionData();
@@ -528,9 +517,7 @@ namespace OpenSim.Region.CoreModules.World.Land
528 regionConnections.ClientEventForwarder = new RegionCombinerClientEventForwarder(regionConnections); 517 regionConnections.ClientEventForwarder = new RegionCombinerClientEventForwarder(regionConnections);
529 scene.EventManager.OnNewPresence += SetCourseLocationDelegate; 518 scene.EventManager.OnNewPresence += SetCourseLocationDelegate;
530 m_regions.Add(scene.RegionInfo.originRegionID, regionConnections); 519 m_regions.Add(scene.RegionInfo.originRegionID, regionConnections);
531
532 } 520 }
533
534 } 521 }
535 AdjustLargeRegionBounds(); 522 AdjustLargeRegionBounds();
536 } 523 }
@@ -585,7 +572,7 @@ namespace OpenSim.Region.CoreModules.World.Land
585 } 572 }
586 573
587 private void DistributeCourseLocationUpdates(List<Vector3> locations, List<UUID> uuids, 574 private void DistributeCourseLocationUpdates(List<Vector3> locations, List<UUID> uuids,
588 RegionConnections connectiondata, ScenePresence rootPresence) 575 RegionConnections connectiondata, ScenePresence rootPresence)
589 { 576 {
590 RegionData[] rdata = connectiondata.ConnectedRegions.ToArray(); 577 RegionData[] rdata = connectiondata.ConnectedRegions.ToArray();
591 //List<IClientAPI> clients = new List<IClientAPI>(); 578 //List<IClientAPI> clients = new List<IClientAPI>();
@@ -621,7 +608,7 @@ namespace OpenSim.Region.CoreModules.World.Land
621 } 608 }
622 609
623 // go over the locations and assign them to an IClientAPI 610 // go over the locations and assign them to an IClientAPI
624 for (int i = 0; i < locations.Count;i++ ) 611 for (int i = 0; i < locations.Count; i++)
625 //{locations[i]/(int) Constants.RegionSize; 612 //{locations[i]/(int) Constants.RegionSize;
626 { 613 {
627 Vector3 pPosition = new Vector3((int)locations[i].X / (int)Constants.RegionSize, 614 Vector3 pPosition = new Vector3((int)locations[i].X / (int)Constants.RegionSize,
@@ -643,12 +630,10 @@ namespace OpenSim.Region.CoreModules.World.Land
643 updatedata.UserAPI = LocateUsersChildAgentIClientAPI(offset, rootPresence.UUID, rdata); 630 updatedata.UserAPI = LocateUsersChildAgentIClientAPI(offset, rootPresence.UUID, rdata);
644 631
645 updates.Add(offset,updatedata); 632 updates.Add(offset,updatedata);
646
647 } 633 }
648 634
649 updates[offset].Locations.Add(locations[i]); 635 updates[offset].Locations.Add(locations[i]);
650 updates[offset].Uuids.Add(uuids[i]); 636 updates[offset].Uuids.Add(uuids[i]);
651
652 } 637 }
653 638
654 // Send out the CoarseLocationupdates from their respective client connection based on where the avatar is 639 // Send out the CoarseLocationupdates from their respective client connection based on where the avatar is
@@ -659,7 +644,6 @@ namespace OpenSim.Region.CoreModules.World.Land
659 updates[offset].UserAPI.SendCoarseLocationUpdate(updates[offset].Uuids,updates[offset].Locations); 644 updates[offset].UserAPI.SendCoarseLocationUpdate(updates[offset].Uuids,updates[offset].Locations);
660 } 645 }
661 } 646 }
662
663 } 647 }
664 648
665 private IClientAPI LocateUsersChildAgentIClientAPI(Vector2 offset, UUID uUID, RegionData[] rdata) 649 private IClientAPI LocateUsersChildAgentIClientAPI(Vector2 offset, UUID uUID, RegionData[] rdata)
@@ -678,11 +662,8 @@ namespace OpenSim.Region.CoreModules.World.Land
678 662
679 public void PostInitialise() 663 public void PostInitialise()
680 { 664 {
681
682 } 665 }
683 666
684
685
686 public void UnCombineRegion(RegionData rdata) 667 public void UnCombineRegion(RegionData rdata)
687 { 668 {
688 lock (m_regions) 669 lock (m_regions)
@@ -706,6 +687,7 @@ namespace OpenSim.Region.CoreModules.World.Land
706 } 687 }
707 } 688 }
708 } 689 }
690
709 // Create a set of infinite borders around the whole aabb of the combined island. 691 // Create a set of infinite borders around the whole aabb of the combined island.
710 private void AdjustLargeRegionBounds() 692 private void AdjustLargeRegionBounds()
711 { 693 {
@@ -719,12 +701,10 @@ namespace OpenSim.Region.CoreModules.World.Land
719 { 701 {
720 if (rdata.Offset.X > offset.X) offset.X = rdata.Offset.X; 702 if (rdata.Offset.X > offset.X) offset.X = rdata.Offset.X;
721 if (rdata.Offset.Y > offset.Y) offset.Y = rdata.Offset.Y; 703 if (rdata.Offset.Y > offset.Y) offset.Y = rdata.Offset.Y;
722
723 } 704 }
724 705
725 lock (rconn.RegionScene.NorthBorders) 706 lock (rconn.RegionScene.NorthBorders)
726 { 707 {
727
728 Border northBorder = null; 708 Border northBorder = null;
729 709
730 if (!TryGetInfiniteBorder(rconn.RegionScene.NorthBorders, out northBorder)) 710 if (!TryGetInfiniteBorder(rconn.RegionScene.NorthBorders, out northBorder))
@@ -736,7 +716,6 @@ namespace OpenSim.Region.CoreModules.World.Land
736 northBorder.BorderLine = new Vector3(float.MinValue, float.MaxValue, 716 northBorder.BorderLine = new Vector3(float.MinValue, float.MaxValue,
737 offset.Y + (int) Constants.RegionSize); //<--- 717 offset.Y + (int) Constants.RegionSize); //<---
738 northBorder.CrossDirection = Cardinals.N; 718 northBorder.CrossDirection = Cardinals.N;
739
740 } 719 }
741 720
742 lock (rconn.RegionScene.SouthBorders) 721 lock (rconn.RegionScene.SouthBorders)
@@ -749,7 +728,6 @@ namespace OpenSim.Region.CoreModules.World.Land
749 } 728 }
750 southBorder.BorderLine = new Vector3(float.MinValue, float.MaxValue, 0); //---> 729 southBorder.BorderLine = new Vector3(float.MinValue, float.MaxValue, 0); //--->
751 southBorder.CrossDirection = Cardinals.S; 730 southBorder.CrossDirection = Cardinals.S;
752
753 } 731 }
754 732
755 lock (rconn.RegionScene.EastBorders) 733 lock (rconn.RegionScene.EastBorders)
@@ -763,7 +741,6 @@ namespace OpenSim.Region.CoreModules.World.Land
763 eastBorder.BorderLine = new Vector3(float.MinValue, float.MaxValue, offset.X + (int)Constants.RegionSize); 741 eastBorder.BorderLine = new Vector3(float.MinValue, float.MaxValue, offset.X + (int)Constants.RegionSize);
764 //<--- 742 //<---
765 eastBorder.CrossDirection = Cardinals.E; 743 eastBorder.CrossDirection = Cardinals.E;
766
767 } 744 }
768 745
769 lock (rconn.RegionScene.WestBorders) 746 lock (rconn.RegionScene.WestBorders)
@@ -777,11 +754,8 @@ namespace OpenSim.Region.CoreModules.World.Land
777 } 754 }
778 westBorder.BorderLine = new Vector3(float.MinValue, float.MaxValue, 0); //---> 755 westBorder.BorderLine = new Vector3(float.MinValue, float.MaxValue, 0); //--->
779 westBorder.CrossDirection = Cardinals.W; 756 westBorder.CrossDirection = Cardinals.W;
780
781 } 757 }
782 758
783
784
785 rconn.RegionScene.BordersLocked = false; 759 rconn.RegionScene.BordersLocked = false;
786 } 760 }
787 } 761 }
@@ -823,8 +797,6 @@ namespace OpenSim.Region.CoreModules.World.Land
823 if (BigRegion.PermissionModule == null) 797 if (BigRegion.PermissionModule == null)
824 BigRegion.PermissionModule = new RegionCombinerPermissionModule(BigRegion.RegionScene); 798 BigRegion.PermissionModule = new RegionCombinerPermissionModule(BigRegion.RegionScene);
825 799
826
827
828 VirtualRegion.Permissions.OnBypassPermissions += BigRegion.PermissionModule.BypassPermissions; 800 VirtualRegion.Permissions.OnBypassPermissions += BigRegion.PermissionModule.BypassPermissions;
829 VirtualRegion.Permissions.OnSetBypassPermissions += BigRegion.PermissionModule.SetBypassPermissions; 801 VirtualRegion.Permissions.OnSetBypassPermissions += BigRegion.PermissionModule.SetBypassPermissions;
830 VirtualRegion.Permissions.OnPropagatePermissions += BigRegion.PermissionModule.PropagatePermissions; 802 VirtualRegion.Permissions.OnPropagatePermissions += BigRegion.PermissionModule.PropagatePermissions;
@@ -855,27 +827,24 @@ namespace OpenSim.Region.CoreModules.World.Land
855 VirtualRegion.Permissions.OnLinkObject += BigRegion.PermissionModule.CanLinkObject; //NOT YET IMPLEMENTED 827 VirtualRegion.Permissions.OnLinkObject += BigRegion.PermissionModule.CanLinkObject; //NOT YET IMPLEMENTED
856 VirtualRegion.Permissions.OnDelinkObject += BigRegion.PermissionModule.CanDelinkObject; //NOT YET IMPLEMENTED 828 VirtualRegion.Permissions.OnDelinkObject += BigRegion.PermissionModule.CanDelinkObject; //NOT YET IMPLEMENTED
857 VirtualRegion.Permissions.OnBuyLand += BigRegion.PermissionModule.CanBuyLand; //NOT YET IMPLEMENTED 829 VirtualRegion.Permissions.OnBuyLand += BigRegion.PermissionModule.CanBuyLand; //NOT YET IMPLEMENTED
858
859 VirtualRegion.Permissions.OnViewNotecard += BigRegion.PermissionModule.CanViewNotecard; //NOT YET IMPLEMENTED 830 VirtualRegion.Permissions.OnViewNotecard += BigRegion.PermissionModule.CanViewNotecard; //NOT YET IMPLEMENTED
860 VirtualRegion.Permissions.OnViewScript += BigRegion.PermissionModule.CanViewScript; //NOT YET IMPLEMENTED 831 VirtualRegion.Permissions.OnViewScript += BigRegion.PermissionModule.CanViewScript; //NOT YET IMPLEMENTED
861 VirtualRegion.Permissions.OnEditNotecard += BigRegion.PermissionModule.CanEditNotecard; //NOT YET IMPLEMENTED 832 VirtualRegion.Permissions.OnEditNotecard += BigRegion.PermissionModule.CanEditNotecard; //NOT YET IMPLEMENTED
862 VirtualRegion.Permissions.OnEditScript += BigRegion.PermissionModule.CanEditScript; //NOT YET IMPLEMENTED 833 VirtualRegion.Permissions.OnEditScript += BigRegion.PermissionModule.CanEditScript; //NOT YET IMPLEMENTED
863
864 VirtualRegion.Permissions.OnCreateObjectInventory += BigRegion.PermissionModule.CanCreateObjectInventory; //NOT IMPLEMENTED HERE 834 VirtualRegion.Permissions.OnCreateObjectInventory += BigRegion.PermissionModule.CanCreateObjectInventory; //NOT IMPLEMENTED HERE
865 VirtualRegion.Permissions.OnEditObjectInventory += BigRegion.PermissionModule.CanEditObjectInventory;//MAYBE FULLY IMPLEMENTED 835 VirtualRegion.Permissions.OnEditObjectInventory += BigRegion.PermissionModule.CanEditObjectInventory;//MAYBE FULLY IMPLEMENTED
866 VirtualRegion.Permissions.OnCopyObjectInventory += BigRegion.PermissionModule.CanCopyObjectInventory; //NOT YET IMPLEMENTED 836 VirtualRegion.Permissions.OnCopyObjectInventory += BigRegion.PermissionModule.CanCopyObjectInventory; //NOT YET IMPLEMENTED
867 VirtualRegion.Permissions.OnDeleteObjectInventory += BigRegion.PermissionModule.CanDeleteObjectInventory; //NOT YET IMPLEMENTED 837 VirtualRegion.Permissions.OnDeleteObjectInventory += BigRegion.PermissionModule.CanDeleteObjectInventory; //NOT YET IMPLEMENTED
868 VirtualRegion.Permissions.OnResetScript += BigRegion.PermissionModule.CanResetScript; 838 VirtualRegion.Permissions.OnResetScript += BigRegion.PermissionModule.CanResetScript;
869
870 VirtualRegion.Permissions.OnCreateUserInventory += BigRegion.PermissionModule.CanCreateUserInventory; //NOT YET IMPLEMENTED 839 VirtualRegion.Permissions.OnCreateUserInventory += BigRegion.PermissionModule.CanCreateUserInventory; //NOT YET IMPLEMENTED
871 VirtualRegion.Permissions.OnCopyUserInventory += BigRegion.PermissionModule.CanCopyUserInventory; //NOT YET IMPLEMENTED 840 VirtualRegion.Permissions.OnCopyUserInventory += BigRegion.PermissionModule.CanCopyUserInventory; //NOT YET IMPLEMENTED
872 VirtualRegion.Permissions.OnEditUserInventory += BigRegion.PermissionModule.CanEditUserInventory; //NOT YET IMPLEMENTED 841 VirtualRegion.Permissions.OnEditUserInventory += BigRegion.PermissionModule.CanEditUserInventory; //NOT YET IMPLEMENTED
873 VirtualRegion.Permissions.OnDeleteUserInventory += BigRegion.PermissionModule.CanDeleteUserInventory; //NOT YET IMPLEMENTED 842 VirtualRegion.Permissions.OnDeleteUserInventory += BigRegion.PermissionModule.CanDeleteUserInventory; //NOT YET IMPLEMENTED
874
875 VirtualRegion.Permissions.OnTeleport += BigRegion.PermissionModule.CanTeleport; //NOT YET IMPLEMENTED 843 VirtualRegion.Permissions.OnTeleport += BigRegion.PermissionModule.CanTeleport; //NOT YET IMPLEMENTED
876 VirtualRegion.Permissions.OnUseObjectReturn += BigRegion.PermissionModule.CanUseObjectReturn; //NOT YET IMPLEMENTED 844 VirtualRegion.Permissions.OnUseObjectReturn += BigRegion.PermissionModule.CanUseObjectReturn; //NOT YET IMPLEMENTED
877 } 845 }
878 } 846 }
847
879 public class RegionConnections 848 public class RegionConnections
880 { 849 {
881 public UUID RegionId; 850 public UUID RegionId;
@@ -893,7 +862,6 @@ namespace OpenSim.Region.CoreModules.World.Land
893 XEnd = (int)extents.X; 862 XEnd = (int)extents.X;
894 YEnd = (int)extents.Y; 863 YEnd = (int)extents.Y;
895 } 864 }
896
897 } 865 }
898 866
899 public class RegionData 867 public class RegionData
@@ -901,8 +869,8 @@ namespace OpenSim.Region.CoreModules.World.Land
901 public UUID RegionId; 869 public UUID RegionId;
902 public Scene RegionScene; 870 public Scene RegionScene;
903 public Vector3 Offset; 871 public Vector3 Offset;
904
905 } 872 }
873
906 struct RegionCourseLocationStruct 874 struct RegionCourseLocationStruct
907 { 875 {
908 public List<Vector3> Locations; 876 public List<Vector3> Locations;
@@ -922,7 +890,7 @@ namespace OpenSim.Region.CoreModules.World.Land
922 #region ILandChannel Members 890 #region ILandChannel Members
923 891
924 public RegionCombinerLargeLandChannel(RegionData regData, ILandChannel rootRegionLandChannel, 892 public RegionCombinerLargeLandChannel(RegionData regData, ILandChannel rootRegionLandChannel,
925 List<RegionData> regionConnections) 893 List<RegionData> regionConnections)
926 { 894 {
927 RegData = regData; 895 RegData = regData;
928 RootRegionLandChannel = rootRegionLandChannel; 896 RootRegionLandChannel = rootRegionLandChannel;
@@ -937,9 +905,7 @@ namespace OpenSim.Region.CoreModules.World.Land
937 905
938 public List<ILandObject> AllParcels() 906 public List<ILandObject> AllParcels()
939 { 907 {
940
941 return RootRegionLandChannel.AllParcels(); 908 return RootRegionLandChannel.AllParcels();
942
943 } 909 }
944 910
945 public ILandObject GetLandObject(int x, int y) 911 public ILandObject GetLandObject(int x, int y)
@@ -1044,12 +1010,14 @@ namespace OpenSim.Region.CoreModules.World.Land
1044 public class RegionCombinerPermissionModule 1010 public class RegionCombinerPermissionModule
1045 { 1011 {
1046 private Scene m_rootScene; 1012 private Scene m_rootScene;
1013
1047 public RegionCombinerPermissionModule(Scene RootScene) 1014 public RegionCombinerPermissionModule(Scene RootScene)
1048 { 1015 {
1049 m_rootScene = RootScene; 1016 m_rootScene = RootScene;
1050 } 1017 }
1051 1018
1052 #region Permission Override 1019 #region Permission Override
1020
1053 public bool BypassPermissions() 1021 public bool BypassPermissions()
1054 { 1022 {
1055 return m_rootScene.Permissions.BypassPermissions(); 1023 return m_rootScene.Permissions.BypassPermissions();
@@ -1274,6 +1242,7 @@ namespace OpenSim.Region.CoreModules.World.Land
1274 { 1242 {
1275 return m_rootScene.Permissions.CanUseObjectReturn(landdata, type, client, retlist); 1243 return m_rootScene.Permissions.CanUseObjectReturn(landdata, type, client, retlist);
1276 } 1244 }
1245
1277 #endregion 1246 #endregion
1278 } 1247 }
1279 1248
@@ -1283,14 +1252,13 @@ namespace OpenSim.Region.CoreModules.World.Land
1283 private Dictionary<UUID, Scene> m_virtScene = new Dictionary<UUID, Scene>(); 1252 private Dictionary<UUID, Scene> m_virtScene = new Dictionary<UUID, Scene>();
1284 private Dictionary<UUID,RegionCombinerModuleIndividualForwarder> m_forwarders = new Dictionary<UUID, 1253 private Dictionary<UUID,RegionCombinerModuleIndividualForwarder> m_forwarders = new Dictionary<UUID,
1285 RegionCombinerModuleIndividualForwarder>(); 1254 RegionCombinerModuleIndividualForwarder>();
1255
1286 public RegionCombinerClientEventForwarder(RegionConnections rootScene) 1256 public RegionCombinerClientEventForwarder(RegionConnections rootScene)
1287 { 1257 {
1288 m_rootScene = rootScene.RegionScene; 1258 m_rootScene = rootScene.RegionScene;
1289
1290
1291 } 1259 }
1292 1260
1293 public void AddSceneToEventForwarding( Scene virtualScene ) 1261 public void AddSceneToEventForwarding(Scene virtualScene)
1294 { 1262 {
1295 lock (m_virtScene) 1263 lock (m_virtScene)
1296 { 1264 {
@@ -1342,6 +1310,7 @@ namespace OpenSim.Region.CoreModules.World.Land
1342 { 1310 {
1343 private Scene m_rootScene; 1311 private Scene m_rootScene;
1344 private Scene m_virtScene; 1312 private Scene m_virtScene;
1313
1345 public RegionCombinerModuleIndividualForwarder(Scene rootScene, Scene virtScene) 1314 public RegionCombinerModuleIndividualForwarder(Scene rootScene, Scene virtScene)
1346 { 1315 {
1347 m_rootScene = rootScene; 1316 m_rootScene = rootScene;
@@ -1350,7 +1319,6 @@ namespace OpenSim.Region.CoreModules.World.Land
1350 1319
1351 public void ClientConnect(IClientAPI client) 1320 public void ClientConnect(IClientAPI client)
1352 { 1321 {
1353
1354 m_virtScene.UnSubscribeToClientPrimEvents(client); 1322 m_virtScene.UnSubscribeToClientPrimEvents(client);
1355 m_virtScene.UnSubscribeToClientPrimRezEvents(client); 1323 m_virtScene.UnSubscribeToClientPrimRezEvents(client);
1356 m_virtScene.UnSubscribeToClientInventoryEvents(client); 1324 m_virtScene.UnSubscribeToClientInventoryEvents(client);
@@ -1370,12 +1338,11 @@ namespace OpenSim.Region.CoreModules.World.Land
1370 m_rootScene.SubscribeToClientGodEvents(client); 1338 m_rootScene.SubscribeToClientGodEvents(client);
1371 m_rootScene.SubscribeToClientNetworkEvents(client); 1339 m_rootScene.SubscribeToClientNetworkEvents(client);
1372 } 1340 }
1341
1373 public void ClientClosed(UUID clientid, Scene scene) 1342 public void ClientClosed(UUID clientid, Scene scene)
1374 { 1343 {
1375
1376 } 1344 }
1377 1345
1378
1379 private void LocalRezObject(IClientAPI remoteclient, UUID itemid, Vector3 rayend, Vector3 raystart, 1346 private void LocalRezObject(IClientAPI remoteclient, UUID itemid, Vector3 rayend, Vector3 raystart,
1380 UUID raytargetid, byte bypassraycast, bool rayendisintersection, bool rezselected, bool removeitem, 1347 UUID raytargetid, byte bypassraycast, bool rayendisintersection, bool rezselected, bool removeitem,
1381 UUID fromtaskid) 1348 UUID fromtaskid)
@@ -1389,7 +1356,6 @@ namespace OpenSim.Region.CoreModules.World.Land
1389 1356
1390 m_rootScene.RezObject(remoteclient, itemid, rayend, raystart, raytargetid, bypassraycast, 1357 m_rootScene.RezObject(remoteclient, itemid, rayend, raystart, raytargetid, bypassraycast,
1391 rayendisintersection, rezselected, removeitem, fromtaskid); 1358 rayendisintersection, rezselected, removeitem, fromtaskid);
1392
1393 } 1359 }
1394 1360
1395 private void LocalAddNewPrim(UUID ownerid, UUID groupid, Vector3 rayend, Quaternion rot, 1361 private void LocalAddNewPrim(UUID ownerid, UUID groupid, Vector3 rayend, Quaternion rot,
@@ -1404,7 +1370,6 @@ namespace OpenSim.Region.CoreModules.World.Land
1404 raystart.Y += differenceY * (int)Constants.RegionSize; 1370 raystart.Y += differenceY * (int)Constants.RegionSize;
1405 m_rootScene.AddNewPrim(ownerid, groupid, rayend, rot, shape, bypassraycast, raystart, raytargetid, 1371 m_rootScene.AddNewPrim(ownerid, groupid, rayend, rot, shape, bypassraycast, raystart, raytargetid,
1406 rayendisintersection); 1372 rayendisintersection);
1407
1408 } 1373 }
1409 } 1374 }
1410} 1375}