diff options
12 files changed, 64 insertions, 1 deletions
diff --git a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs index 1da52b4..80ec65e 100644 --- a/OpenSim/Data/MSSQL/MSSQLSimulationData.cs +++ b/OpenSim/Data/MSSQL/MSSQLSimulationData.cs | |||
@@ -705,6 +705,9 @@ VALUES | |||
705 | //Return default LL windlight settings | 705 | //Return default LL windlight settings |
706 | return new RegionLightShareData(); | 706 | return new RegionLightShareData(); |
707 | } | 707 | } |
708 | public void RemoveRegionWindlightSettings(UUID regionID) | ||
709 | { | ||
710 | } | ||
708 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | 711 | public void StoreRegionWindlightSettings(RegionLightShareData wl) |
709 | { | 712 | { |
710 | //This connector doesn't support the windlight module yet | 713 | //This connector doesn't support the windlight module yet |
diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index b53c67b..ae78814 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs | |||
@@ -965,6 +965,21 @@ namespace OpenSim.Data.MySQL | |||
965 | } | 965 | } |
966 | } | 966 | } |
967 | 967 | ||
968 | public void RemoveRegionWindlightSettings(UUID regionID) | ||
969 | { | ||
970 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) | ||
971 | { | ||
972 | dbcon.Open(); | ||
973 | |||
974 | using (MySqlCommand cmd = dbcon.CreateCommand()) | ||
975 | { | ||
976 | cmd.CommandText = "delete from `regionwindlight` where `region_id`=?regionID"; | ||
977 | cmd.Parameters.AddWithValue("?regionID", regionID.ToString()); | ||
978 | ExecuteNonQuery(cmd); | ||
979 | } | ||
980 | } | ||
981 | } | ||
982 | |||
968 | public void StoreRegionSettings(RegionSettings rs) | 983 | public void StoreRegionSettings(RegionSettings rs) |
969 | { | 984 | { |
970 | lock (m_dbLock) | 985 | lock (m_dbLock) |
diff --git a/OpenSim/Data/Null/NullSimulationData.cs b/OpenSim/Data/Null/NullSimulationData.cs index 34d3a4e..eb4e313 100644 --- a/OpenSim/Data/Null/NullSimulationData.cs +++ b/OpenSim/Data/Null/NullSimulationData.cs | |||
@@ -56,6 +56,9 @@ namespace OpenSim.Data.Null | |||
56 | //Return default LL windlight settings | 56 | //Return default LL windlight settings |
57 | return new RegionLightShareData(); | 57 | return new RegionLightShareData(); |
58 | } | 58 | } |
59 | public void RemoveRegionWindlightSettings(UUID regionID) | ||
60 | { | ||
61 | } | ||
59 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | 62 | public void StoreRegionWindlightSettings(RegionLightShareData wl) |
60 | { | 63 | { |
61 | //This connector doesn't support the windlight module yet | 64 | //This connector doesn't support the windlight module yet |
diff --git a/OpenSim/Data/SQLite/SQLiteSimulationData.cs b/OpenSim/Data/SQLite/SQLiteSimulationData.cs index 9d49fb6..bade0a1 100644 --- a/OpenSim/Data/SQLite/SQLiteSimulationData.cs +++ b/OpenSim/Data/SQLite/SQLiteSimulationData.cs | |||
@@ -323,6 +323,9 @@ namespace OpenSim.Data.SQLite | |||
323 | //Return default LL windlight settings | 323 | //Return default LL windlight settings |
324 | return new RegionLightShareData(); | 324 | return new RegionLightShareData(); |
325 | } | 325 | } |
326 | public void RemoveRegionWindlightSettings(UUID regionID) | ||
327 | { | ||
328 | } | ||
326 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | 329 | public void StoreRegionWindlightSettings(RegionLightShareData wl) |
327 | { | 330 | { |
328 | //This connector doesn't support the windlight module yet | 331 | //This connector doesn't support the windlight module yet |
diff --git a/OpenSim/Data/SQLiteLegacy/SQLiteSimulationData.cs b/OpenSim/Data/SQLiteLegacy/SQLiteSimulationData.cs index ce18a42..4952cdf 100644 --- a/OpenSim/Data/SQLiteLegacy/SQLiteSimulationData.cs +++ b/OpenSim/Data/SQLiteLegacy/SQLiteSimulationData.cs | |||
@@ -286,6 +286,9 @@ namespace OpenSim.Data.SQLiteLegacy | |||
286 | //Return default LL windlight settings | 286 | //Return default LL windlight settings |
287 | return new RegionLightShareData(); | 287 | return new RegionLightShareData(); |
288 | } | 288 | } |
289 | public void RemoveRegionWindlightSettings(UUID regionID) | ||
290 | { | ||
291 | } | ||
289 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | 292 | public void StoreRegionWindlightSettings(RegionLightShareData wl) |
290 | { | 293 | { |
291 | //This connector doesn't support the windlight module yet | 294 | //This connector doesn't support the windlight module yet |
diff --git a/OpenSim/Region/Framework/Interfaces/ISimulationDataService.cs b/OpenSim/Region/Framework/Interfaces/ISimulationDataService.cs index edaa07c..5295a72 100644 --- a/OpenSim/Region/Framework/Interfaces/ISimulationDataService.cs +++ b/OpenSim/Region/Framework/Interfaces/ISimulationDataService.cs | |||
@@ -94,5 +94,6 @@ namespace OpenSim.Region.Framework.Interfaces | |||
94 | RegionSettings LoadRegionSettings(UUID regionUUID); | 94 | RegionSettings LoadRegionSettings(UUID regionUUID); |
95 | RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID); | 95 | RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID); |
96 | void StoreRegionWindlightSettings(RegionLightShareData wl); | 96 | void StoreRegionWindlightSettings(RegionLightShareData wl); |
97 | void RemoveRegionWindlightSettings(UUID regionID); | ||
97 | } | 98 | } |
98 | } | 99 | } |
diff --git a/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs b/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs index 0a4d531..615f377 100644 --- a/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs +++ b/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs | |||
@@ -105,6 +105,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
105 | RegionSettings LoadRegionSettings(UUID regionUUID); | 105 | RegionSettings LoadRegionSettings(UUID regionUUID); |
106 | RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID); | 106 | RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID); |
107 | void StoreRegionWindlightSettings(RegionLightShareData wl); | 107 | void StoreRegionWindlightSettings(RegionLightShareData wl); |
108 | void RemoveRegionWindlightSettings(UUID regionID); | ||
108 | 109 | ||
109 | void Shutdown(); | 110 | void Shutdown(); |
110 | } | 111 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs index 24a93c5..645566e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs | |||
@@ -466,6 +466,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
466 | } | 466 | } |
467 | return success; | 467 | return success; |
468 | } | 468 | } |
469 | public void lsClearWindlightScene() | ||
470 | { | ||
471 | if (!m_LSFunctionsEnabled) | ||
472 | { | ||
473 | LSShoutError("LightShare functions are not enabled."); | ||
474 | return; | ||
475 | } | ||
476 | if (!World.RegionInfo.EstateSettings.IsEstateManager(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200) | ||
477 | { | ||
478 | LSShoutError("lsSetWindlightScene can only be used by estate managers or owners."); | ||
479 | return; | ||
480 | } | ||
481 | |||
482 | m_host.ParentGroup.Scene.RegionInfo.WindlightSettings.valid = false; | ||
483 | if (m_host.ParentGroup.Scene.SimulationDataService != null) | ||
484 | m_host.ParentGroup.Scene.SimulationDataService.RemoveRegionWindlightSettings(m_host.ParentGroup.Scene.RegionInfo.RegionID); | ||
485 | } | ||
469 | /// <summary> | 486 | /// <summary> |
470 | /// Set the current Windlight scene to a target avatar | 487 | /// Set the current Windlight scene to a target avatar |
471 | /// </summary> | 488 | /// </summary> |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILS_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILS_Api.cs index 9aa437b..f2df094 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILS_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILS_Api.cs | |||
@@ -44,5 +44,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
44 | LSL_List lsGetWindlightScene(LSL_List rules); | 44 | LSL_List lsGetWindlightScene(LSL_List rules); |
45 | int lsSetWindlightScene(LSL_List rules); | 45 | int lsSetWindlightScene(LSL_List rules); |
46 | int lsSetWindlightSceneTargeted(LSL_List rules, key target); | 46 | int lsSetWindlightSceneTargeted(LSL_List rules, key target); |
47 | void lsClearWindlightScene(); | ||
47 | } | 48 | } |
48 | } | 49 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LS_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LS_Stub.cs index f8dbe03..143b497 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LS_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LS_Stub.cs | |||
@@ -72,5 +72,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
72 | { | 72 | { |
73 | return m_LS_Functions.lsSetWindlightSceneTargeted(rules, target); | 73 | return m_LS_Functions.lsSetWindlightSceneTargeted(rules, target); |
74 | } | 74 | } |
75 | public void lsClearWindlightScene() | ||
76 | { | ||
77 | m_LS_Functions.lsClearWindlightScene(); | ||
78 | } | ||
75 | } | 79 | } |
76 | } | 80 | } |
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs b/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs index c8ecb18..0df9380 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationDataService.cs | |||
@@ -144,5 +144,9 @@ namespace OpenSim.Services.Connectors | |||
144 | { | 144 | { |
145 | m_database.StoreRegionWindlightSettings(wl); | 145 | m_database.StoreRegionWindlightSettings(wl); |
146 | } | 146 | } |
147 | public void RemoveRegionWindlightSettings(UUID regionID) | ||
148 | { | ||
149 | m_database.RemoveRegionWindlightSettings(regionID); | ||
150 | } | ||
147 | } | 151 | } |
148 | } | 152 | } |
diff --git a/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs b/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs index 2e5020b..2ea36da 100644 --- a/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs +++ b/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs | |||
@@ -104,6 +104,10 @@ namespace OpenSim.Data.Null | |||
104 | return m_store.LoadRegionWindlightSettings(regionUUID); | 104 | return m_store.LoadRegionWindlightSettings(regionUUID); |
105 | } | 105 | } |
106 | 106 | ||
107 | public void RemoveRegionWindlightSettings(UUID regionID) | ||
108 | { | ||
109 | } | ||
110 | |||
107 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | 111 | public void StoreRegionWindlightSettings(RegionLightShareData wl) |
108 | { | 112 | { |
109 | m_store.StoreRegionWindlightSettings(wl); | 113 | m_store.StoreRegionWindlightSettings(wl); |
@@ -146,6 +150,10 @@ namespace OpenSim.Data.Null | |||
146 | return new RegionLightShareData(); | 150 | return new RegionLightShareData(); |
147 | } | 151 | } |
148 | 152 | ||
153 | public void RemoveRegionWindlightSettings(UUID regionID) | ||
154 | { | ||
155 | } | ||
156 | |||
149 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | 157 | public void StoreRegionWindlightSettings(RegionLightShareData wl) |
150 | { | 158 | { |
151 | //This connector doesn't support the windlight module yet | 159 | //This connector doesn't support the windlight module yet |
@@ -274,4 +282,4 @@ namespace OpenSim.Data.Null | |||
274 | { | 282 | { |
275 | } | 283 | } |
276 | } | 284 | } |
277 | } \ No newline at end of file | 285 | } |