Merge branch 'master' of ssh://3dhosting.de/var/git/careminster

avinationmerge
Kitto Flora 2010-02-08 14:29:06 -05:00
commit 59851ceee6
13 changed files with 1228 additions and 407 deletions

View File

@ -55,7 +55,7 @@ namespace OpenSim.Client.MXP.PacketHandler
private readonly Dictionary<UUID, Scene> m_scenes; private readonly Dictionary<UUID, Scene> m_scenes;
private readonly Transmitter m_transmitter; private readonly Transmitter m_transmitter;
private readonly Thread m_clientThread; // private readonly Thread m_clientThread;
private readonly IList<Session> m_sessions = new List<Session>(); private readonly IList<Session> m_sessions = new List<Session>();
private readonly IList<Session> m_sessionsToClient = new List<Session>(); private readonly IList<Session> m_sessionsToClient = new List<Session>();

View File

@ -41,7 +41,7 @@ namespace OpenSim.Data.SQLite
/// </summary> /// </summary>
public class SQLiteAssetData : AssetDataBase public class SQLiteAssetData : AssetDataBase
{ {
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private const string SelectAssetSQL = "select * from assets where UUID=:UUID"; private const string SelectAssetSQL = "select * from assets where UUID=:UUID";
private const string SelectAssetMetadataSQL = "select Name, Description, Type, Temporary, UUID from assets limit :start, :count"; private const string SelectAssetMetadataSQL = "select Name, Description, Type, Temporary, UUID from assets limit :start, :count";

View File

@ -39,9 +39,7 @@ namespace OpenSim.Data.SQLite
{ {
public class SQLiteGenericTableHandler<T> : SQLiteFramework where T: class, new() public class SQLiteGenericTableHandler<T> : SQLiteFramework where T: class, new()
{ {
private static readonly ILog m_log = // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
protected Dictionary<string, FieldInfo> m_Fields = protected Dictionary<string, FieldInfo> m_Fields =
new Dictionary<string, FieldInfo>(); new Dictionary<string, FieldInfo>();

View File

@ -41,8 +41,7 @@ namespace OpenSim.Data.SQLite
/// </summary> /// </summary>
public class SQLiteXInventoryData : IXInventoryData public class SQLiteXInventoryData : IXInventoryData
{ {
private static readonly ILog m_log = LogManager.GetLogger( // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
MethodBase.GetCurrentMethod().DeclaringType);
private SQLiteGenericTableHandler<XInventoryFolder> m_Folders; private SQLiteGenericTableHandler<XInventoryFolder> m_Folders;
private SqliteItemHandler m_Items; private SqliteItemHandler m_Items;

View File

@ -174,18 +174,16 @@ namespace OpenSim.Region.CoreModules.Framework.Library
{ {
m_log.DebugFormat("[LIBRARY MODULE]: Exception when processing archive {0}: {1}", iarFileName, e.Message); m_log.DebugFormat("[LIBRARY MODULE]: Exception when processing archive {0}: {1}", iarFileName, e.Message);
} }
} }
}
private void DumpLibrary()
{
InventoryFolderImpl lib = m_Scene.CommsManager.UserProfileCacheService.LibraryRoot;
m_log.DebugFormat(" - folder {0}", lib.Name);
DumpFolder(lib);
} }
//
// private void DumpLibrary()
// {
// InventoryFolderImpl lib = m_Scene.CommsManager.UserProfileCacheService.LibraryRoot;
//
// m_log.DebugFormat(" - folder {0}", lib.Name);
// DumpFolder(lib);
// }
private void DumpFolder(InventoryFolderImpl folder) private void DumpFolder(InventoryFolderImpl folder)
{ {

View File

@ -262,44 +262,34 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
{ {
case ChatTypeEnum.Whisper: case ChatTypeEnum.Whisper:
if (dis < m_whisperdistance) if (dis < m_whisperdistance)
{ QueueMessage(new ListenerInfo(li, name, id, msg));
lock (m_pending.SyncRoot)
{
m_pending.Enqueue(new ListenerInfo(li,name,id,msg));
}
}
break; break;
case ChatTypeEnum.Say: case ChatTypeEnum.Say:
if (dis < m_saydistance) if (dis < m_saydistance)
{ QueueMessage(new ListenerInfo(li, name, id, msg));
lock (m_pending.SyncRoot)
{
m_pending.Enqueue(new ListenerInfo(li,name,id,msg));
}
}
break; break;
case ChatTypeEnum.Shout: case ChatTypeEnum.Shout:
if (dis < m_shoutdistance) if (dis < m_shoutdistance)
{ QueueMessage(new ListenerInfo(li, name, id, msg));
lock (m_pending.SyncRoot)
{
m_pending.Enqueue(new ListenerInfo(li,name,id,msg));
}
}
break; break;
case ChatTypeEnum.Region: case ChatTypeEnum.Region:
lock (m_pending.SyncRoot) QueueMessage(new ListenerInfo(li, name, id, msg));
{
m_pending.Enqueue(new ListenerInfo(li,name,id,msg));
}
break; break;
} }
} }
} }
protected void QueueMessage(ListenerInfo li)
{
lock (m_pending.SyncRoot)
{
m_pending.Enqueue(li);
}
}
/// <summary> /// <summary>
/// Are there any listen events ready to be dispatched? /// Are there any listen events ready to be dispatched?
/// </summary> /// </summary>
@ -319,7 +309,7 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
lock (m_pending.SyncRoot) lock (m_pending.SyncRoot)
{ {
li = (ListenerInfo) m_pending.Dequeue(); li = (ListenerInfo)m_pending.Dequeue();
} }
return li; return li;

View File

@ -42,9 +42,7 @@ namespace OpenSim.Region.CoreModules.World
{ {
public class AccessModule : ISharedRegionModule public class AccessModule : ISharedRegionModule
{ {
private static readonly ILog m_log = // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
LogManager.GetLogger(
MethodBase.GetCurrentMethod().DeclaringType);
private List<Scene> m_SceneList = new List<Scene>(); private List<Scene> m_SceneList = new List<Scene>();

File diff suppressed because it is too large Load Diff

View File

@ -699,42 +699,42 @@ namespace OpenSim.Region.Framework.Scenes
{ {
m_log.DebugFormat( m_log.DebugFormat(
"[SCENE COMMUNICATION SERVICE]: RequestTeleportToLocation {0} within {1}", "[SCENE COMMUNICATION SERVICE]: RequestTeleportToLocation {0} within {1}",
position, m_regionInfo.RegionName); position, m_regionInfo.RegionName);
// Teleport within the same region // Teleport within the same region
if (IsOutsideRegion(avatar.Scene, position) || position.Z < 0) if (IsOutsideRegion(avatar.Scene, position) || position.Z < 0)
{ {
Vector3 emergencyPos = new Vector3(128, 128, 128); Vector3 emergencyPos = new Vector3(128, 128, 128);
m_log.WarnFormat( m_log.WarnFormat(
"[SCENE COMMUNICATION SERVICE]: RequestTeleportToLocation() was given an illegal position of {0} for avatar {1}, {2}. Substituting {3}", "[SCENE COMMUNICATION SERVICE]: RequestTeleportToLocation() was given an illegal position of {0} for avatar {1}, {2}. Substituting {3}",
position, avatar.Name, avatar.UUID, emergencyPos); position, avatar.Name, avatar.UUID, emergencyPos);
position = emergencyPos; position = emergencyPos;
} }
Vector3 currentPos = avatar.AbsolutePosition; Vector3 currentPos = avatar.AbsolutePosition;
ILandObject srcLand = m_scene.LandChannel.GetLandObject(currentPos.X, currentPos.Y); ILandObject srcLand = m_scene.LandChannel.GetLandObject(currentPos.X, currentPos.Y);
ILandObject destLand = m_scene.LandChannel.GetLandObject(position.X, position.Y); ILandObject destLand = m_scene.LandChannel.GetLandObject(position.X, position.Y);
if (srcLand != null && destLand != null && (teleportFlags & (uint)TeleportFlags.ViaLure) == 0 && (teleportFlags & (uint)TeleportFlags.ViaGodlikeLure) == 0) if (srcLand != null && destLand != null && (teleportFlags & (uint)TeleportFlags.ViaLure) == 0 && (teleportFlags & (uint)TeleportFlags.ViaGodlikeLure) == 0)
{ {
if (srcLand.LandData.LocalID == destLand.LandData.LocalID) if (srcLand.LandData.LocalID == destLand.LandData.LocalID)
{ {
//TPing within the same parcel. If the landing point is restricted, block the TP. //TPing within the same parcel. If the landing point is restricted, block the TP.
//Don't restrict gods, estate managers, or land owners to the TP point. This behaviour mimics agni. //Don't restrict gods, estate managers, or land owners to the TP point. This behaviour mimics agni.
if (destLand.LandData.LandingType == (byte)1 && destLand.LandData.UserLocation != Vector3.Zero && avatar.GodLevel < 200 && !m_scene.RegionInfo.EstateSettings.IsEstateManager(avatar.UUID) && destLand.LandData.OwnerID != avatar.UUID) if (destLand.LandData.LandingType == (byte)1 && destLand.LandData.UserLocation != Vector3.Zero && avatar.GodLevel < 200 && !m_scene.RegionInfo.EstateSettings.IsEstateManager(avatar.UUID) && destLand.LandData.OwnerID != avatar.UUID)
{ {
avatar.ControllingClient.SendAgentAlertMessage("Can't TP to the destination; landing point set.", false); avatar.ControllingClient.SendAgentAlertMessage("Can't TP to the destination; landing point set.", false);
position = currentPos; position = currentPos;
} }
} }
else else
{ {
//Tping to a different parcel. Respect the landing point on the destination parcel. //Tping to a different parcel. Respect the landing point on the destination parcel.
if (destLand.LandData.LandingType == (byte)1 && destLand.LandData.UserLocation != Vector3.Zero && avatar.GodLevel < 200 && !m_scene.RegionInfo.EstateSettings.IsEstateManager(avatar.UUID) && destLand.LandData.OwnerID != avatar.UUID) if (destLand.LandData.LandingType == (byte)1 && destLand.LandData.UserLocation != Vector3.Zero && avatar.GodLevel < 200 && !m_scene.RegionInfo.EstateSettings.IsEstateManager(avatar.UUID) && destLand.LandData.OwnerID != avatar.UUID)
{ {
position = destLand.LandData.UserLocation; position = destLand.LandData.UserLocation;
} }
} }
} }
// TODO: Get proper AVG Height // TODO: Get proper AVG Height

View File

@ -113,6 +113,15 @@ namespace OpenSim.Region.Framework.Scenes
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
/// <value>
/// Is this sop a root part?
/// </value>
[XmlIgnore]
public bool IsRoot
{
get { return ParentGroup.RootPart == this; }
}
// use only one serializer to give the runtime a chance to optimize it (it won't do that if you // use only one serializer to give the runtime a chance to optimize it (it won't do that if you
// use a new instance every time) // use a new instance every time)
private static XmlSerializer serializer = new XmlSerializer(typeof (SceneObjectPart)); private static XmlSerializer serializer = new XmlSerializer(typeof (SceneObjectPart));

View File

@ -2979,11 +2979,10 @@ namespace OpenSim.Region.Framework.Scenes
{ {
m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying); m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying);
} }
catch(Exception ex) catch
{ {
m_scene.CrossAgentToNewRegion(this, false); m_scene.CrossAgentToNewRegion(this, false);
} }
} }
public void InTransit() public void InTransit()
@ -3061,7 +3060,6 @@ namespace OpenSim.Region.Framework.Scenes
{ {
RemoveNeighbourRegion(handle); RemoveNeighbourRegion(handle);
} }
} }
#endregion #endregion
@ -3222,7 +3220,7 @@ namespace OpenSim.Region.Framework.Scenes
List<int> attPoints = m_appearance.GetAttachedPoints(); List<int> attPoints = m_appearance.GetAttachedPoints();
if (attPoints != null) if (attPoints != null)
{ {
m_log.DebugFormat("[SCENE PRESENCE]: attachments {0}", attPoints.Count); //m_log.DebugFormat("[SCENE PRESENCE]: attachments {0}", attPoints.Count);
int i = 0; int i = 0;
AttachmentData[] attachs = new AttachmentData[attPoints.Count]; AttachmentData[] attachs = new AttachmentData[attPoints.Count];
foreach (int point in attPoints) foreach (int point in attPoints)
@ -3494,9 +3492,7 @@ namespace OpenSim.Region.Framework.Scenes
} }
if (m_health <= 0) if (m_health <= 0)
m_scene.EventManager.TriggerAvatarKill(killerObj, this); m_scene.EventManager.TriggerAvatarKill(killerObj, this);
} }
} }
public void setHealthWithUpdate(float health) public void setHealthWithUpdate(float health)

View File

@ -244,6 +244,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
LSL_Types.Vector3 iV; LSL_Types.Vector3 iV;
switch (rule) switch (rule)
{ {
case (int)ScriptBaseClass.WL_SUN_MOON_POSITION:
idx++;
wl.sunMoonPosition = (float)rules.GetLSLFloatItem(idx);
break;
case (int)ScriptBaseClass.WL_AMBIENT: case (int)ScriptBaseClass.WL_AMBIENT:
idx++; idx++;
iQ = rules.GetQuaternionItem(idx); iQ = rules.GetQuaternionItem(idx);
@ -300,7 +304,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
case (int)ScriptBaseClass.WL_CLOUD_XY_DENSITY: case (int)ScriptBaseClass.WL_CLOUD_XY_DENSITY:
idx++; idx++;
iV = rules.GetVector3Item(idx); iV = rules.GetVector3Item(idx);
wl.cloudDetailXYDensity = new Vector3((float)iV.x, (float)iV.y, (float)iV.z); wl.cloudXYDensity = new Vector3((float)iV.x, (float)iV.y, (float)iV.z);
break; break;
case (int)ScriptBaseClass.WL_DENSITY_MULTIPLIER: case (int)ScriptBaseClass.WL_DENSITY_MULTIPLIER:
idx++; idx++;

View File

@ -70,7 +70,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
public const int WL_CLOUD_SCROLL_Y = 32; public const int WL_CLOUD_SCROLL_Y = 32;
public const int WL_CLOUD_SCROLL_Y_LOCK = 33; public const int WL_CLOUD_SCROLL_Y_LOCK = 33;
public const int WL_CLOUD_SCROLL_X_LOCK = 34; public const int WL_CLOUD_SCROLL_X_LOCK = 34;
public const int WL_DRAW_CLASSIC_CLOUDS = 35; public const int WL_DRAW_CLASSIC_CLOUDS = 35;
public const int WL_SUN_MOON_POSITION = 36;
} }
} }