Merge branch 'master' into careminster-presence-refactor

avinationmerge
Melanie 2010-11-03 02:34:36 +00:00
commit 5f8ab9f018
14 changed files with 75 additions and 2 deletions

View File

@ -705,6 +705,9 @@ VALUES
//Return default LL windlight settings //Return default LL windlight settings
return new RegionLightShareData(); return new RegionLightShareData();
} }
public void RemoveRegionWindlightSettings(UUID regionID)
{
}
public void StoreRegionWindlightSettings(RegionLightShareData wl) public void StoreRegionWindlightSettings(RegionLightShareData wl)
{ {
//This connector doesn't support the windlight module yet //This connector doesn't support the windlight module yet

View File

@ -817,6 +817,7 @@ namespace OpenSim.Data.MySQL
nWP.cloudScrollY = Convert.ToSingle(result["cloud_scroll_y"]); nWP.cloudScrollY = Convert.ToSingle(result["cloud_scroll_y"]);
nWP.cloudScrollYLock = Convert.ToBoolean(result["cloud_scroll_y_lock"]); nWP.cloudScrollYLock = Convert.ToBoolean(result["cloud_scroll_y_lock"]);
nWP.drawClassicClouds = Convert.ToBoolean(result["draw_classic_clouds"]); nWP.drawClassicClouds = Convert.ToBoolean(result["draw_classic_clouds"]);
nWP.valid = true;
} }
} }
} }
@ -964,6 +965,21 @@ namespace OpenSim.Data.MySQL
} }
} }
public void RemoveRegionWindlightSettings(UUID regionID)
{
using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
{
dbcon.Open();
using (MySqlCommand cmd = dbcon.CreateCommand())
{
cmd.CommandText = "delete from `regionwindlight` where `region_id`=?regionID";
cmd.Parameters.AddWithValue("?regionID", regionID.ToString());
ExecuteNonQuery(cmd);
}
}
}
public void StoreRegionSettings(RegionSettings rs) public void StoreRegionSettings(RegionSettings rs)
{ {
lock (m_dbLock) lock (m_dbLock)

View File

@ -56,6 +56,9 @@ namespace OpenSim.Data.Null
//Return default LL windlight settings //Return default LL windlight settings
return new RegionLightShareData(); return new RegionLightShareData();
} }
public void RemoveRegionWindlightSettings(UUID regionID)
{
}
public void StoreRegionWindlightSettings(RegionLightShareData wl) public void StoreRegionWindlightSettings(RegionLightShareData wl)
{ {
//This connector doesn't support the windlight module yet //This connector doesn't support the windlight module yet

View File

@ -323,6 +323,9 @@ namespace OpenSim.Data.SQLite
//Return default LL windlight settings //Return default LL windlight settings
return new RegionLightShareData(); return new RegionLightShareData();
} }
public void RemoveRegionWindlightSettings(UUID regionID)
{
}
public void StoreRegionWindlightSettings(RegionLightShareData wl) public void StoreRegionWindlightSettings(RegionLightShareData wl)
{ {
//This connector doesn't support the windlight module yet //This connector doesn't support the windlight module yet

View File

@ -286,6 +286,9 @@ namespace OpenSim.Data.SQLiteLegacy
//Return default LL windlight settings //Return default LL windlight settings
return new RegionLightShareData(); return new RegionLightShareData();
} }
public void RemoveRegionWindlightSettings(UUID regionID)
{
}
public void StoreRegionWindlightSettings(RegionLightShareData wl) public void StoreRegionWindlightSettings(RegionLightShareData wl)
{ {
//This connector doesn't support the windlight module yet //This connector doesn't support the windlight module yet

View File

@ -43,6 +43,7 @@ namespace OpenSim.Framework
[Serializable] [Serializable]
public class RegionLightShareData : ICloneable public class RegionLightShareData : ICloneable
{ {
public bool valid = false;
public UUID regionID = UUID.Zero; public UUID regionID = UUID.Zero;
public Vector3 waterColor = new Vector3(4.0f,38.0f,64.0f); public Vector3 waterColor = new Vector3(4.0f,38.0f,64.0f);
public float waterFogDensityExponent = 4.0f; public float waterFogDensityExponent = 4.0f;

View File

@ -194,7 +194,8 @@ namespace OpenSim.Region.CoreModules.World.LightShare
} }
private void EventManager_OnSaveNewWindlightProfile() private void EventManager_OnSaveNewWindlightProfile()
{ {
m_scene.ForEachScenePresence(SendProfileToClient); if (m_scene.RegionInfo.WindlightSettings.valid)
m_scene.ForEachScenePresence(SendProfileToClient);
} }
public void PostInitialise() public void PostInitialise()

View File

@ -94,5 +94,6 @@ namespace OpenSim.Region.Framework.Interfaces
RegionSettings LoadRegionSettings(UUID regionUUID); RegionSettings LoadRegionSettings(UUID regionUUID);
RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID); RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID);
void StoreRegionWindlightSettings(RegionLightShareData wl); void StoreRegionWindlightSettings(RegionLightShareData wl);
void RemoveRegionWindlightSettings(UUID regionID);
} }
} }

View File

@ -105,6 +105,7 @@ namespace OpenSim.Region.Framework.Interfaces
RegionSettings LoadRegionSettings(UUID regionUUID); RegionSettings LoadRegionSettings(UUID regionUUID);
RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID); RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID);
void StoreRegionWindlightSettings(RegionLightShareData wl); void StoreRegionWindlightSettings(RegionLightShareData wl);
void RemoveRegionWindlightSettings(UUID regionID);
void Shutdown(); void Shutdown();
} }

View File

@ -455,6 +455,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
if (LightShareModule.EnableWindlight) if (LightShareModule.EnableWindlight)
{ {
RegionLightShareData wl = getWindlightProfileFromRules(rules); RegionLightShareData wl = getWindlightProfileFromRules(rules);
wl.valid = true;
m_host.ParentGroup.Scene.StoreWindlightProfile(wl); m_host.ParentGroup.Scene.StoreWindlightProfile(wl);
success = 1; success = 1;
} }
@ -465,6 +466,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
} }
return success; return success;
} }
public void lsClearWindlightScene()
{
if (!m_LSFunctionsEnabled)
{
LSShoutError("LightShare functions are not enabled.");
return;
}
if (!World.RegionInfo.EstateSettings.IsEstateManager(m_host.OwnerID) && World.GetScenePresence(m_host.OwnerID).GodLevel < 200)
{
LSShoutError("lsSetWindlightScene can only be used by estate managers or owners.");
return;
}
m_host.ParentGroup.Scene.RegionInfo.WindlightSettings.valid = false;
if (m_host.ParentGroup.Scene.SimulationDataService != null)
m_host.ParentGroup.Scene.SimulationDataService.RemoveRegionWindlightSettings(m_host.ParentGroup.Scene.RegionInfo.RegionID);
}
/// <summary> /// <summary>
/// Set the current Windlight scene to a target avatar /// Set the current Windlight scene to a target avatar
/// </summary> /// </summary>

View File

@ -44,5 +44,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
LSL_List lsGetWindlightScene(LSL_List rules); LSL_List lsGetWindlightScene(LSL_List rules);
int lsSetWindlightScene(LSL_List rules); int lsSetWindlightScene(LSL_List rules);
int lsSetWindlightSceneTargeted(LSL_List rules, key target); int lsSetWindlightSceneTargeted(LSL_List rules, key target);
void lsClearWindlightScene();
} }
} }

View File

@ -73,6 +73,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
return m_LS_Functions.lsSetWindlightSceneTargeted(rules, target); return m_LS_Functions.lsSetWindlightSceneTargeted(rules, target);
} }
public void lsClearWindlightScene()
{
m_LS_Functions.lsClearWindlightScene();
}
public LSL_List cmGetWindlightScene(LSL_List rules) public LSL_List cmGetWindlightScene(LSL_List rules)
{ {
return m_LS_Functions.lsGetWindlightScene(rules); return m_LS_Functions.lsGetWindlightScene(rules);
@ -87,5 +92,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
{ {
return m_LS_Functions.lsSetWindlightSceneTargeted(rules, target); return m_LS_Functions.lsSetWindlightSceneTargeted(rules, target);
} }
public void cmClearWindlightScene()
{
m_LS_Functions.lsClearWindlightScene();
}
} }
} }

View File

@ -144,5 +144,9 @@ namespace OpenSim.Services.Connectors
{ {
m_database.StoreRegionWindlightSettings(wl); m_database.StoreRegionWindlightSettings(wl);
} }
public void RemoveRegionWindlightSettings(UUID regionID)
{
m_database.RemoveRegionWindlightSettings(regionID);
}
} }
} }

View File

@ -104,6 +104,10 @@ namespace OpenSim.Data.Null
return m_store.LoadRegionWindlightSettings(regionUUID); return m_store.LoadRegionWindlightSettings(regionUUID);
} }
public void RemoveRegionWindlightSettings(UUID regionID)
{
}
public void StoreRegionWindlightSettings(RegionLightShareData wl) public void StoreRegionWindlightSettings(RegionLightShareData wl)
{ {
m_store.StoreRegionWindlightSettings(wl); m_store.StoreRegionWindlightSettings(wl);
@ -146,6 +150,10 @@ namespace OpenSim.Data.Null
return new RegionLightShareData(); return new RegionLightShareData();
} }
public void RemoveRegionWindlightSettings(UUID regionID)
{
}
public void StoreRegionWindlightSettings(RegionLightShareData wl) public void StoreRegionWindlightSettings(RegionLightShareData wl)
{ {
//This connector doesn't support the windlight module yet //This connector doesn't support the windlight module yet
@ -274,4 +282,4 @@ namespace OpenSim.Data.Null
{ {
} }
} }
} }