Merge branch 'master' into careminster
commit
79395bc7db
|
@ -158,6 +158,7 @@ This software uses components from the following developers:
|
||||||
* Nini (http://nini.sourceforge.net/)
|
* Nini (http://nini.sourceforge.net/)
|
||||||
* log4net (http://logging.apache.org/log4net/)
|
* log4net (http://logging.apache.org/log4net/)
|
||||||
* GlynnTucker.Cache (http://gtcache.sourceforge.net/)
|
* GlynnTucker.Cache (http://gtcache.sourceforge.net/)
|
||||||
|
* NDesk.Options 0.2.1 (http://www.ndesk.org/Options)
|
||||||
|
|
||||||
Some plugins are based on Cable Beach
|
Some plugins are based on Cable Beach
|
||||||
Cable Beach is Copyright (c) 2008 Intel Corporation
|
Cable Beach is Copyright (c) 2008 Intel Corporation
|
||||||
|
|
|
@ -79,7 +79,8 @@ namespace OpenSim.Framework.Tests
|
||||||
cachedItem.Store(foo);
|
cachedItem.Store(foo);
|
||||||
cache.Store(cacheItemUUID.ToString(), cachedItem);
|
cache.Store(cacheItemUUID.ToString(), cachedItem);
|
||||||
|
|
||||||
object citem = cache.Get(cacheItemUUID.ToString());
|
cache.Get(cacheItemUUID.ToString());
|
||||||
|
//object citem = cache.Get(cacheItemUUID.ToString());
|
||||||
//Assert.That(citem == null, "Item should not be in Cache because the expiry time was before now");
|
//Assert.That(citem == null, "Item should not be in Cache because the expiry time was before now");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,7 +95,8 @@ namespace OpenSim.Framework.Tests
|
||||||
cachedItem.Store(foo);
|
cachedItem.Store(foo);
|
||||||
cache.Store(cacheItemUUID.ToString(), cachedItem);
|
cache.Store(cacheItemUUID.ToString(), cachedItem);
|
||||||
cache.Invalidate(ImmediateExpiryUUID.ToString());
|
cache.Invalidate(ImmediateExpiryUUID.ToString());
|
||||||
object citem = cache.Get(cacheItemUUID.ToString());
|
cache.Get(cacheItemUUID.ToString());
|
||||||
|
//object citem = cache.Get(cacheItemUUID.ToString());
|
||||||
//Assert.That(citem == null, "Item should not be in Cache because we manually invalidated it");
|
//Assert.That(citem == null, "Item should not be in Cache because we manually invalidated it");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ namespace OpenSim
|
||||||
{
|
{
|
||||||
public class HGCommands
|
public class HGCommands
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
public static Scene CreateScene(RegionInfo regionInfo, AgentCircuitManager circuitManager, CommunicationsManager m_commsManager,
|
public static Scene CreateScene(RegionInfo regionInfo, AgentCircuitManager circuitManager, CommunicationsManager m_commsManager,
|
||||||
StorageManager storageManager, ModuleLoader m_moduleLoader, ConfigSettings m_configSettings, OpenSimConfigSource m_config, string m_version)
|
StorageManager storageManager, ModuleLoader m_moduleLoader, ConfigSettings m_configSettings, OpenSimConfigSource m_config, string m_version)
|
||||||
|
|
|
@ -232,7 +232,7 @@ namespace OpenSim
|
||||||
"Save named prim to XML2", SavePrimsXml2);
|
"Save named prim to XML2", SavePrimsXml2);
|
||||||
|
|
||||||
m_console.Commands.AddCommand("region", false, "load oar",
|
m_console.Commands.AddCommand("region", false, "load oar",
|
||||||
"load oar <oar name>",
|
"load oar [--merge] <oar name>",
|
||||||
"Load a region's data from OAR archive", LoadOar);
|
"Load a region's data from OAR archive", LoadOar);
|
||||||
|
|
||||||
m_console.Commands.AddCommand("region", false, "save oar",
|
m_console.Commands.AddCommand("region", false, "save oar",
|
||||||
|
|
|
@ -57,21 +57,21 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat
|
||||||
#region ISharedRegionModule Members
|
#region ISharedRegionModule Members
|
||||||
public virtual void Initialise(IConfigSource config)
|
public virtual void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
|
|
||||||
m_config = config.Configs["Chat"];
|
m_config = config.Configs["Chat"];
|
||||||
|
|
||||||
if (null == m_config)
|
if (null == m_config)
|
||||||
{
|
{
|
||||||
m_log.Info("[CHAT]: no config found, plugin disabled");
|
m_log.Info("[CHAT]: no config found, plugin disabled");
|
||||||
|
m_enabled = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_config.GetBoolean("enabled", false))
|
if (!m_config.GetBoolean("enabled", true))
|
||||||
{
|
{
|
||||||
m_log.Info("[CHAT]: plugin disabled by configuration");
|
m_log.Info("[CHAT]: plugin disabled by configuration");
|
||||||
|
m_enabled = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m_enabled = true;
|
|
||||||
|
|
||||||
m_whisperdistance = config.Configs["Chat"].GetInt("whisper_distance", m_whisperdistance);
|
m_whisperdistance = config.Configs["Chat"].GetInt("whisper_distance", m_whisperdistance);
|
||||||
m_saydistance = config.Configs["Chat"].GetInt("say_distance", m_saydistance);
|
m_saydistance = config.Configs["Chat"].GetInt("say_distance", m_saydistance);
|
||||||
|
|
|
@ -93,6 +93,16 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
||||||
List<EntityBase> entities = m_scene.GetEntities();
|
List<EntityBase> entities = m_scene.GetEntities();
|
||||||
List<SceneObjectGroup> sceneObjects = new List<SceneObjectGroup>();
|
List<SceneObjectGroup> sceneObjects = new List<SceneObjectGroup>();
|
||||||
|
|
||||||
|
/*
|
||||||
|
foreach (ILandObject lo in m_scene.LandChannel.AllParcels())
|
||||||
|
{
|
||||||
|
if (name == lo.LandData.Name)
|
||||||
|
{
|
||||||
|
// This is the parcel we want
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// Filter entities so that we only have scene objects.
|
// Filter entities so that we only have scene objects.
|
||||||
// FIXME: Would be nicer to have this as a proper list in SceneGraph, since lots of methods
|
// FIXME: Would be nicer to have this as a proper list in SceneGraph, since lots of methods
|
||||||
// end up having to do this
|
// end up having to do this
|
||||||
|
|
|
@ -26,9 +26,11 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using NDesk.Options;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using OpenSim.Region.Framework.Interfaces;
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
@ -91,13 +93,23 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
||||||
/// <param name="cmdparams"></param>
|
/// <param name="cmdparams"></param>
|
||||||
public void HandleLoadOarConsoleCommand(string module, string[] cmdparams)
|
public void HandleLoadOarConsoleCommand(string module, string[] cmdparams)
|
||||||
{
|
{
|
||||||
if (cmdparams.Length > 2)
|
bool mergeOar = false;
|
||||||
|
|
||||||
|
OptionSet options = new OptionSet().Add("m|merge", delegate (string v) { mergeOar = v != null; });
|
||||||
|
List<string> mainParams = options.Parse(cmdparams);
|
||||||
|
|
||||||
|
// m_log.DebugFormat("MERGE OAR IS [{0}]", mergeOar);
|
||||||
|
//
|
||||||
|
// foreach (string param in mainParams)
|
||||||
|
// m_log.DebugFormat("GOT PARAM [{0}]", param);
|
||||||
|
|
||||||
|
if (mainParams.Count > 2)
|
||||||
{
|
{
|
||||||
DearchiveRegion(cmdparams[2]);
|
DearchiveRegion(mainParams[2], mergeOar, Guid.Empty);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DearchiveRegion(DEFAULT_OAR_BACKUP_FILENAME);
|
DearchiveRegion(DEFAULT_OAR_BACKUP_FILENAME, mergeOar, Guid.Empty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -154,6 +154,7 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
m_landManagementModule.UpdateLandObject(localID, data);
|
m_landManagementModule.UpdateLandObject(localID, data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient)
|
public void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient)
|
||||||
{
|
{
|
||||||
if (m_landManagementModule != null)
|
if (m_landManagementModule != null)
|
||||||
|
|
|
@ -67,7 +67,14 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
private const int landArrayMax = ((int)((int)Constants.RegionSize / 4) >= 64) ? (int)((int)Constants.RegionSize / 4) : 64;
|
private const int landArrayMax = ((int)((int)Constants.RegionSize / 4) >= 64) ? (int)((int)Constants.RegionSize / 4) : 64;
|
||||||
#pragma warning restore 0429
|
#pragma warning restore 0429
|
||||||
|
|
||||||
|
/// <value>
|
||||||
|
/// Local land ids at specified region co-ordinates (region size / 4)
|
||||||
|
/// </value>
|
||||||
private readonly int[,] m_landIDList = new int[landArrayMax, landArrayMax];
|
private readonly int[,] m_landIDList = new int[landArrayMax, landArrayMax];
|
||||||
|
|
||||||
|
/// <value>
|
||||||
|
/// Land objects keyed by local id
|
||||||
|
/// </value>
|
||||||
private readonly Dictionary<int, ILandObject> m_landList = new Dictionary<int, ILandObject>();
|
private readonly Dictionary<int, ILandObject> m_landList = new Dictionary<int, ILandObject>();
|
||||||
|
|
||||||
private bool m_landPrimCountTainted;
|
private bool m_landPrimCountTainted;
|
||||||
|
@ -570,6 +577,7 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
|
|
||||||
if (x_float > Constants.RegionSize || x_float <= 0 || y_float > Constants.RegionSize || y_float <= 0)
|
if (x_float > Constants.RegionSize || x_float <= 0 || y_float > Constants.RegionSize || y_float <= 0)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
x = Convert.ToInt32(Math.Floor(Convert.ToDouble(x_float) / 4.0));
|
x = Convert.ToInt32(Math.Floor(Convert.ToDouble(x_float) / 4.0));
|
||||||
|
@ -584,6 +592,7 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
lock (m_landList)
|
lock (m_landList)
|
||||||
{
|
{
|
||||||
// Corner case. If an autoreturn happens during sim startup
|
// Corner case. If an autoreturn happens during sim startup
|
||||||
|
@ -603,6 +612,7 @@ namespace OpenSim.Region.CoreModules.World.Land
|
||||||
// they happen every time at border crossings
|
// they happen every time at border crossings
|
||||||
throw new Exception("Error: Parcel not found at point " + x + ", " + y);
|
throw new Exception("Error: Parcel not found at point " + x + ", " + y);
|
||||||
}
|
}
|
||||||
|
|
||||||
lock (m_landIDList)
|
lock (m_landIDList)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -33,27 +33,42 @@ namespace OpenSim.Region.Framework.Interfaces
|
||||||
{
|
{
|
||||||
public interface ILandChannel
|
public interface ILandChannel
|
||||||
{
|
{
|
||||||
List<ILandObject> ParcelsNearPoint(Vector3 position);
|
/// <summary>
|
||||||
|
/// Get all parcels
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
List<ILandObject> AllParcels();
|
List<ILandObject> AllParcels();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get the land object at the specified point
|
/// Get the parcel at the specified point
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="x">Value between 0 - 256 on the x axis of the point</param>
|
/// <param name="x">Value between 0 - 256 on the x axis of the point</param>
|
||||||
/// <param name="y">Value between 0 - 256 on the y axis of the point</param>
|
/// <param name="y">Value between 0 - 256 on the y axis of the point</param>
|
||||||
/// <returns>Land object at the point supplied</returns>
|
/// <returns>Land object at the point supplied</returns>
|
||||||
ILandObject GetLandObject(int x, int y);
|
ILandObject GetLandObject(int x, int y);
|
||||||
|
|
||||||
ILandObject GetLandObject(int localID);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get the land object at the specified point
|
/// Get the parcel at the specified point
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="x">Value between 0 - 256 on the x axis of the point</param>
|
/// <param name="x">Value between 0 - 256 on the x axis of the point</param>
|
||||||
/// <param name="y">Value between 0 - 256 on the y axis of the point</param>
|
/// <param name="y">Value between 0 - 256 on the y axis of the point</param>
|
||||||
/// <returns>Land object at the point supplied</returns>
|
/// <returns>Land object at the point supplied</returns>
|
||||||
ILandObject GetLandObject(float x, float y);
|
ILandObject GetLandObject(float x, float y);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get the parcels near the specified point
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="position"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
List<ILandObject> ParcelsNearPoint(Vector3 position);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get the parcel given the land's local id.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="localID"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
ILandObject GetLandObject(int localID);
|
||||||
|
|
||||||
bool IsLandPrimCountTainted();
|
bool IsLandPrimCountTainted();
|
||||||
bool IsForcefulBansAllowed();
|
bool IsForcefulBansAllowed();
|
||||||
void UpdateLandObject(int localID, LandData data);
|
void UpdateLandObject(int localID, LandData data);
|
||||||
|
|
|
@ -118,6 +118,7 @@ public class RegionCombinerLargeLandChannel : ILandChannel
|
||||||
return regionData.RegionScene.LandChannel.GetLandObject(x - offsetX, y - offsetY);
|
return regionData.RegionScene.LandChannel.GetLandObject(x - offsetX, y - offsetY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ILandObject obj = new LandObject(UUID.Zero, false, RegData.RegionScene);
|
ILandObject obj = new LandObject(UUID.Zero, false, RegData.RegionScene);
|
||||||
obj.LandData.Name = "NO LAND";
|
obj.LandData.Name = "NO LAND";
|
||||||
return obj;
|
return obj;
|
||||||
|
|
Binary file not shown.
|
@ -1596,6 +1596,7 @@
|
||||||
<Reference name="System.Xml"/>
|
<Reference name="System.Xml"/>
|
||||||
<Reference name="System.Drawing"/>
|
<Reference name="System.Drawing"/>
|
||||||
<Reference name="System.Web"/>
|
<Reference name="System.Web"/>
|
||||||
|
<Reference name="NDesk.Options"/>
|
||||||
<Reference name="OpenMetaverseTypes.dll"/>
|
<Reference name="OpenMetaverseTypes.dll"/>
|
||||||
<Reference name="OpenMetaverse.StructuredData.dll"/>
|
<Reference name="OpenMetaverse.StructuredData.dll"/>
|
||||||
<Reference name="OpenMetaverse.dll"/>
|
<Reference name="OpenMetaverse.dll"/>
|
||||||
|
|
Loading…
Reference in New Issue