aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie2010-11-03 02:31:43 +0000
committerMelanie2010-11-03 02:31:43 +0000
commit6c3b7617b0356f093ef2730f1c517d6228997984 (patch)
treedfe891e7969aca22c0480877988ff3a8ad3d7d77 /OpenSim
parentWhen LightShare is enabled, the standard day cycle is bypassed and replaced by (diff)
downloadopensim-SC-6c3b7617b0356f093ef2730f1c517d6228997984.zip
opensim-SC-6c3b7617b0356f093ef2730f1c517d6228997984.tar.gz
opensim-SC-6c3b7617b0356f093ef2730f1c517d6228997984.tar.bz2
opensim-SC-6c3b7617b0356f093ef2730f1c517d6228997984.tar.xz
Add lsClearWindlightScene() to the lightshare module to remove WL settings
from a region and allow normal day cycles to be reestablished
Diffstat (limited to '')
-rw-r--r--OpenSim/Data/MSSQL/MSSQLSimulationData.cs3
-rw-r--r--OpenSim/Data/MySQL/MySQLSimulationData.cs15
-rw-r--r--OpenSim/Data/Null/NullSimulationData.cs3
-rw-r--r--OpenSim/Data/SQLite/SQLiteSimulationData.cs3
-rw-r--r--OpenSim/Data/SQLiteLegacy/SQLiteSimulationData.cs3
-rw-r--r--OpenSim/Region/Framework/Interfaces/ISimulationDataService.cs1
-rw-r--r--OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs1
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LS_Api.cs17
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILS_Api.cs1
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LS_Stub.cs4
-rw-r--r--OpenSim/Services/Connectors/Simulation/SimulationDataService.cs4
-rw-r--r--OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs10
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}