diff options
author | Teravus Ovares (Dan Olivares) | 2009-09-10 04:07:08 -0400 |
---|---|---|
committer | Teravus Ovares (Dan Olivares) | 2009-09-10 04:07:08 -0400 |
commit | 729fbee287f15641cd71cadce410f8fe6d228772 (patch) | |
tree | 29ac6e148327e9bedfce3ad66d64e594737fed92 /OpenSim/Region/CoreModules | |
parent | * Fix an off by one error on visible neighbors in the 'RequestNeighbors' meth... (diff) | |
parent | Formatting cleanup. (diff) | |
download | opensim-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/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/World/Land/RegionCombinerModule.cs | 83 |
1 files changed, 24 insertions, 59 deletions
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 | } |