diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Interfaces/IScenePresence.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 48 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneBase.cs | 12 |
4 files changed, 38 insertions, 32 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs index 7446530..e7b9ba5 100644 --- a/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs | |||
@@ -114,11 +114,11 @@ namespace OpenSim.Region.Framework.Interfaces | |||
114 | void DetachSingleAttachmentToGround(IScenePresence sp, uint objectLocalID); | 114 | void DetachSingleAttachmentToGround(IScenePresence sp, uint objectLocalID); |
115 | 115 | ||
116 | /// <summary> | 116 | /// <summary> |
117 | /// Detach the given item so that it remains in the user's inventory. | 117 | /// Detach the given attachment so that it remains in the user's inventory. |
118 | /// </summary> | 118 | /// </summary> |
119 | /// <param name="sp">/param> | 119 | /// <param name="sp">/param> |
120 | /// <param name="itemID"></param> | 120 | /// <param name="grp">The attachment to detach.</param> |
121 | void DetachSingleAttachmentToInv(IScenePresence sp, UUID itemID); | 121 | void DetachSingleAttachmentToInv(IScenePresence sp, SceneObjectGroup grp); |
122 | 122 | ||
123 | /// Update the position of an attachment. | 123 | /// Update the position of an attachment. |
124 | /// </summary> | 124 | /// </summary> |
diff --git a/OpenSim/Region/Framework/Interfaces/IScenePresence.cs b/OpenSim/Region/Framework/Interfaces/IScenePresence.cs index 19a8236..e6b926c 100644 --- a/OpenSim/Region/Framework/Interfaces/IScenePresence.cs +++ b/OpenSim/Region/Framework/Interfaces/IScenePresence.cs | |||
@@ -72,6 +72,10 @@ namespace OpenSim.Region.Framework.Interfaces | |||
72 | /// <returns></returns> | 72 | /// <returns></returns> |
73 | List<SceneObjectGroup> GetAttachments(uint attachmentPoint); | 73 | List<SceneObjectGroup> GetAttachments(uint attachmentPoint); |
74 | 74 | ||
75 | /// <summary> | ||
76 | /// Does this avatar have any attachments? | ||
77 | /// </summary> | ||
78 | /// <returns></returns> | ||
75 | bool HasAttachments(); | 79 | bool HasAttachments(); |
76 | 80 | ||
77 | // Don't use these methods directly. Instead, use the AttachmentsModule | 81 | // Don't use these methods directly. Instead, use the AttachmentsModule |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 8591b09..8c76b82 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -637,7 +637,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
637 | m_SimulationDataService = simDataService; | 637 | m_SimulationDataService = simDataService; |
638 | m_EstateDataService = estateDataService; | 638 | m_EstateDataService = estateDataService; |
639 | m_regionHandle = m_regInfo.RegionHandle; | 639 | m_regionHandle = m_regInfo.RegionHandle; |
640 | m_regionName = m_regInfo.RegionName; | ||
641 | m_lastIncoming = 0; | 640 | m_lastIncoming = 0; |
642 | m_lastOutgoing = 0; | 641 | m_lastOutgoing = 0; |
643 | 642 | ||
@@ -654,7 +653,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
654 | // resave. | 653 | // resave. |
655 | // FIXME: It shouldn't be up to the database plugins to create this data - we should do it when a new | 654 | // FIXME: It shouldn't be up to the database plugins to create this data - we should do it when a new |
656 | // region is set up and avoid these gyrations. | 655 | // region is set up and avoid these gyrations. |
657 | RegionSettings rs = simDataService.LoadRegionSettings(m_regInfo.RegionID); | 656 | RegionSettings rs = simDataService.LoadRegionSettings(RegionInfo.RegionID); |
658 | bool updatedTerrainTextures = false; | 657 | bool updatedTerrainTextures = false; |
659 | if (rs.TerrainTexture1 == UUID.Zero) | 658 | if (rs.TerrainTexture1 == UUID.Zero) |
660 | { | 659 | { |
@@ -683,10 +682,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
683 | if (updatedTerrainTextures) | 682 | if (updatedTerrainTextures) |
684 | rs.Save(); | 683 | rs.Save(); |
685 | 684 | ||
686 | m_regInfo.RegionSettings = rs; | 685 | RegionInfo.RegionSettings = rs; |
687 | 686 | ||
688 | if (estateDataService != null) | 687 | if (estateDataService != null) |
689 | m_regInfo.EstateSettings = estateDataService.LoadEstateSettings(m_regInfo.RegionID, false); | 688 | RegionInfo.EstateSettings = estateDataService.LoadEstateSettings(RegionInfo.RegionID, false); |
690 | 689 | ||
691 | #endregion Region Settings | 690 | #endregion Region Settings |
692 | 691 | ||
@@ -861,7 +860,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
861 | StatsReporter.OnStatsIncorrect += m_sceneGraph.RecalculateStats; | 860 | StatsReporter.OnStatsIncorrect += m_sceneGraph.RecalculateStats; |
862 | } | 861 | } |
863 | 862 | ||
864 | public Scene(RegionInfo regInfo) | 863 | public Scene(RegionInfo regInfo) : base(regInfo) |
865 | { | 864 | { |
866 | PhysicalPrims = true; | 865 | PhysicalPrims = true; |
867 | CollidablePrims = true; | 866 | CollidablePrims = true; |
@@ -888,7 +887,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
888 | WestBorders.Add(westBorder); | 887 | WestBorders.Add(westBorder); |
889 | BordersLocked = false; | 888 | BordersLocked = false; |
890 | 889 | ||
891 | m_regInfo = regInfo; | ||
892 | m_eventManager = new EventManager(); | 890 | m_eventManager = new EventManager(); |
893 | 891 | ||
894 | m_permissions = new ScenePermissions(this); | 892 | m_permissions = new ScenePermissions(this); |
@@ -1232,8 +1230,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
1232 | 1230 | ||
1233 | m_sceneGraph.Close(); | 1231 | m_sceneGraph.Close(); |
1234 | 1232 | ||
1235 | if (!GridService.DeregisterRegion(m_regInfo.RegionID)) | 1233 | if (!GridService.DeregisterRegion(RegionInfo.RegionID)) |
1236 | m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", m_regInfo.RegionName); | 1234 | m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", Name); |
1237 | 1235 | ||
1238 | // call the base class Close method. | 1236 | // call the base class Close method. |
1239 | base.Close(); | 1237 | base.Close(); |
@@ -1770,14 +1768,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
1770 | 1768 | ||
1771 | public void StoreWindlightProfile(RegionLightShareData wl) | 1769 | public void StoreWindlightProfile(RegionLightShareData wl) |
1772 | { | 1770 | { |
1773 | m_regInfo.WindlightSettings = wl; | 1771 | RegionInfo.WindlightSettings = wl; |
1774 | SimulationDataService.StoreRegionWindlightSettings(wl); | 1772 | SimulationDataService.StoreRegionWindlightSettings(wl); |
1775 | m_eventManager.TriggerOnSaveNewWindlightProfile(); | 1773 | m_eventManager.TriggerOnSaveNewWindlightProfile(); |
1776 | } | 1774 | } |
1777 | 1775 | ||
1778 | public void LoadWindlightProfile() | 1776 | public void LoadWindlightProfile() |
1779 | { | 1777 | { |
1780 | m_regInfo.WindlightSettings = SimulationDataService.LoadRegionWindlightSettings(RegionInfo.RegionID); | 1778 | RegionInfo.WindlightSettings = SimulationDataService.LoadRegionWindlightSettings(RegionInfo.RegionID); |
1781 | m_eventManager.TriggerOnSaveNewWindlightProfile(); | 1779 | m_eventManager.TriggerOnSaveNewWindlightProfile(); |
1782 | } | 1780 | } |
1783 | 1781 | ||
@@ -2318,7 +2316,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2318 | ForceSceneObjectBackup(so); | 2316 | ForceSceneObjectBackup(so); |
2319 | 2317 | ||
2320 | so.DetachFromBackup(); | 2318 | so.DetachFromBackup(); |
2321 | SimulationDataService.RemoveObject(so.UUID, m_regInfo.RegionID); | 2319 | SimulationDataService.RemoveObject(so.UUID, RegionInfo.RegionID); |
2322 | } | 2320 | } |
2323 | 2321 | ||
2324 | // We need to keep track of this state in case this group is still queued for further backup. | 2322 | // We need to keep track of this state in case this group is still queued for further backup. |
@@ -2662,7 +2660,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2662 | // enter. Period. | 2660 | // enter. Period. |
2663 | // | 2661 | // |
2664 | int flags = GetUserFlags(sceneObject.OwnerID); | 2662 | int flags = GetUserFlags(sceneObject.OwnerID); |
2665 | if (m_regInfo.EstateSettings.IsBanned(sceneObject.OwnerID, flags)) | 2663 | if (RegionInfo.EstateSettings.IsBanned(sceneObject.OwnerID, flags)) |
2666 | { | 2664 | { |
2667 | m_log.InfoFormat("[INTERREGION]: Denied prim crossing for banned avatar {0}", sceneObject.OwnerID); | 2665 | m_log.InfoFormat("[INTERREGION]: Denied prim crossing for banned avatar {0}", sceneObject.OwnerID); |
2668 | 2666 | ||
@@ -3908,9 +3906,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
3908 | } | 3906 | } |
3909 | } | 3907 | } |
3910 | 3908 | ||
3911 | if (m_regInfo.EstateSettings != null) | 3909 | if (RegionInfo.EstateSettings != null) |
3912 | { | 3910 | { |
3913 | if (m_regInfo.EstateSettings.IsBanned(agent.AgentID,0)) | 3911 | if (RegionInfo.EstateSettings.IsBanned(agent.AgentID, 0)) |
3914 | { | 3912 | { |
3915 | m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user is on the banlist", | 3913 | m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user is on the banlist", |
3916 | agent.AgentID, agent.firstname, agent.lastname, RegionInfo.RegionName); | 3914 | agent.AgentID, agent.firstname, agent.lastname, RegionInfo.RegionName); |
@@ -3942,7 +3940,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3942 | } | 3940 | } |
3943 | 3941 | ||
3944 | bool groupAccess = false; | 3942 | bool groupAccess = false; |
3945 | UUID[] estateGroups = m_regInfo.EstateSettings.EstateGroups; | 3943 | UUID[] estateGroups = RegionInfo.EstateSettings.EstateGroups; |
3946 | 3944 | ||
3947 | if (estateGroups != null) | 3945 | if (estateGroups != null) |
3948 | { | 3946 | { |
@@ -3960,8 +3958,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
3960 | m_log.ErrorFormat("[CONNECTION BEGIN]: EstateGroups is null!"); | 3958 | m_log.ErrorFormat("[CONNECTION BEGIN]: EstateGroups is null!"); |
3961 | } | 3959 | } |
3962 | 3960 | ||
3963 | if (!m_regInfo.EstateSettings.PublicAccess && | 3961 | if (!RegionInfo.EstateSettings.PublicAccess && |
3964 | !m_regInfo.EstateSettings.HasAccess(agent.AgentID) && | 3962 | !RegionInfo.EstateSettings.HasAccess(agent.AgentID) && |
3965 | !groupAccess) | 3963 | !groupAccess) |
3966 | { | 3964 | { |
3967 | m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user does not have access to the estate", | 3965 | m_log.WarnFormat("[CONNECTION BEGIN]: Denied access to: {0} ({1} {2}) at {3} because the user does not have access to the estate", |
@@ -4034,7 +4032,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4034 | // if (loggingOffUser != null) | 4032 | // if (loggingOffUser != null) |
4035 | // { | 4033 | // { |
4036 | // UUID localRegionSecret = UUID.Zero; | 4034 | // UUID localRegionSecret = UUID.Zero; |
4037 | // bool parsedsecret = UUID.TryParse(m_regInfo.regionSecret, out localRegionSecret); | 4035 | // bool parsedsecret = UUID.TryParse(RegionInfo.regionSecret, out localRegionSecret); |
4038 | // | 4036 | // |
4039 | // // Region Secret is used here in case a new sessionid overwrites an old one on the user server. | 4037 | // // Region Secret is used here in case a new sessionid overwrites an old one on the user server. |
4040 | // // Will update the user server in a few revisions to use it. | 4038 | // // Will update the user server in a few revisions to use it. |
@@ -4272,13 +4270,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
4272 | ScenePresence sp = GetScenePresence(remoteClient.AgentId); | 4270 | ScenePresence sp = GetScenePresence(remoteClient.AgentId); |
4273 | if (sp != null) | 4271 | if (sp != null) |
4274 | { | 4272 | { |
4275 | uint regionX = m_regInfo.RegionLocX; | 4273 | uint regionX = RegionInfo.RegionLocX; |
4276 | uint regionY = m_regInfo.RegionLocY; | 4274 | uint regionY = RegionInfo.RegionLocY; |
4277 | 4275 | ||
4278 | Utils.LongToUInts(regionHandle, out regionX, out regionY); | 4276 | Utils.LongToUInts(regionHandle, out regionX, out regionY); |
4279 | 4277 | ||
4280 | int shiftx = (int) regionX - (int) m_regInfo.RegionLocX * (int)Constants.RegionSize; | 4278 | int shiftx = (int) regionX - (int) RegionInfo.RegionLocX * (int)Constants.RegionSize; |
4281 | int shifty = (int) regionY - (int) m_regInfo.RegionLocY * (int)Constants.RegionSize; | 4279 | int shifty = (int) regionY - (int) RegionInfo.RegionLocY * (int)Constants.RegionSize; |
4282 | 4280 | ||
4283 | position.X += shiftx; | 4281 | position.X += shiftx; |
4284 | position.Y += shifty; | 4282 | position.Y += shifty; |
@@ -4301,7 +4299,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4301 | 4299 | ||
4302 | if (!result) | 4300 | if (!result) |
4303 | { | 4301 | { |
4304 | regionHandle = m_regInfo.RegionHandle; | 4302 | regionHandle = RegionInfo.RegionHandle; |
4305 | } | 4303 | } |
4306 | else | 4304 | else |
4307 | { | 4305 | { |
@@ -4807,7 +4805,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4807 | 4805 | ||
4808 | public void DeleteFromStorage(UUID uuid) | 4806 | public void DeleteFromStorage(UUID uuid) |
4809 | { | 4807 | { |
4810 | SimulationDataService.RemoveObject(uuid, m_regInfo.RegionID); | 4808 | SimulationDataService.RemoveObject(uuid, RegionInfo.RegionID); |
4811 | } | 4809 | } |
4812 | 4810 | ||
4813 | public int GetHealth(out int flags, out string message) | 4811 | public int GetHealth(out int flags, out string message) |
@@ -5288,7 +5286,7 @@ Environment.Exit(1); | |||
5288 | IEstateDataService estateDataService = EstateDataService; | 5286 | IEstateDataService estateDataService = EstateDataService; |
5289 | if (estateDataService != null) | 5287 | if (estateDataService != null) |
5290 | { | 5288 | { |
5291 | m_regInfo.EstateSettings = estateDataService.LoadEstateSettings(m_regInfo.RegionID, false); | 5289 | RegionInfo.EstateSettings = estateDataService.LoadEstateSettings(RegionInfo.RegionID, false); |
5292 | TriggerEstateSunUpdate(); | 5290 | TriggerEstateSunUpdate(); |
5293 | } | 5291 | } |
5294 | } | 5292 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneBase.cs b/OpenSim/Region/Framework/Scenes/SceneBase.cs index 9b8a3ae..e8134cd 100644 --- a/OpenSim/Region/Framework/Scenes/SceneBase.cs +++ b/OpenSim/Region/Framework/Scenes/SceneBase.cs | |||
@@ -51,6 +51,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
51 | #endregion | 51 | #endregion |
52 | 52 | ||
53 | #region Fields | 53 | #region Fields |
54 | |||
55 | public string Name { get { return RegionInfo.RegionName; } } | ||
54 | 56 | ||
55 | public IConfigSource Config | 57 | public IConfigSource Config |
56 | { | 58 | { |
@@ -148,6 +150,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
148 | 150 | ||
149 | #endregion | 151 | #endregion |
150 | 152 | ||
153 | public SceneBase(RegionInfo regInfo) | ||
154 | { | ||
155 | RegionInfo = regInfo; | ||
156 | } | ||
157 | |||
151 | #region Update Methods | 158 | #region Update Methods |
152 | 159 | ||
153 | /// <summary> | 160 | /// <summary> |
@@ -211,10 +218,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
211 | /// | 218 | /// |
212 | /// </summary> | 219 | /// </summary> |
213 | /// <returns></returns> | 220 | /// <returns></returns> |
214 | public virtual RegionInfo RegionInfo | 221 | public virtual RegionInfo RegionInfo { get; private set; } |
215 | { | ||
216 | get { return m_regInfo; } | ||
217 | } | ||
218 | 222 | ||
219 | #region admin stuff | 223 | #region admin stuff |
220 | 224 | ||