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

Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
This commit is contained in:
Melanie Thielker
2014-06-21 00:39:55 +02:00
663 changed files with 89998 additions and 46619 deletions

View File

@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("0.7.6.*")]
[assembly: AssemblyVersion("0.8.0.*")]

View File

@@ -51,7 +51,8 @@ namespace OpenSim.Region.RegionCombinerModule
m_virtScene.UnSubscribeToClientPrimEvents(client);
m_virtScene.UnSubscribeToClientPrimRezEvents(client);
m_virtScene.UnSubscribeToClientInventoryEvents(client);
((AttachmentsModule)m_virtScene.AttachmentsModule).UnsubscribeFromClientEvents(client);
if(m_virtScene.AttachmentsModule != null)
((AttachmentsModule)m_virtScene.AttachmentsModule).UnsubscribeFromClientEvents(client);
//m_virtScene.UnSubscribeToClientTeleportEvents(client);
m_virtScene.UnSubscribeToClientScriptEvents(client);
@@ -66,7 +67,8 @@ namespace OpenSim.Region.RegionCombinerModule
client.OnRezObject += LocalRezObject;
m_rootScene.SubscribeToClientInventoryEvents(client);
((AttachmentsModule)m_rootScene.AttachmentsModule).SubscribeToClientEvents(client);
if (m_rootScene.AttachmentsModule != null)
((AttachmentsModule)m_rootScene.AttachmentsModule).SubscribeToClientEvents(client);
//m_rootScene.SubscribeToClientTeleportEvents(client);
m_rootScene.SubscribeToClientScriptEvents(client);

View File

@@ -27,6 +27,8 @@
using System;
using System.Collections.Generic;
using System.Reflection;
using log4net;
using OpenMetaverse;
using OpenSim.Framework;
using OpenSim.Region.Framework.Interfaces;
@@ -34,10 +36,10 @@ using OpenSim.Region.CoreModules.World.Land;
namespace OpenSim.Region.RegionCombinerModule
{
public class RegionCombinerLargeLandChannel : ILandChannel
public class RegionCombinerLargeLandChannel : ILandChannel
{
// private static readonly ILog m_log =
// LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private RegionData RegData;
private ILandChannel RootRegionLandChannel;
private readonly List<RegionData> RegionConnections;
@@ -75,40 +77,51 @@ public class RegionCombinerLargeLandChannel : ILandChannel
public ILandObject GetLandObject(int x, int y)
{
//m_log.DebugFormat("[BIGLANDTESTINT]: <{0},{1}>", x, y);
return GetLandObject((float)x, (float)y);
if (x > 0 && x <= (int)Constants.RegionSize && y > 0 && y <= (int)Constants.RegionSize)
{
return RootRegionLandChannel.GetLandObject(x, y);
}
else
{
int offsetX = (x / (int)Constants.RegionSize);
int offsetY = (y / (int)Constants.RegionSize);
offsetX *= (int)Constants.RegionSize;
offsetY *= (int)Constants.RegionSize;
foreach (RegionData regionData in RegionConnections)
{
if (regionData.Offset.X == offsetX && regionData.Offset.Y == offsetY)
{
return regionData.RegionScene.LandChannel.GetLandObject(x - offsetX, y - offsetY);
}
}
ILandObject obj = new LandObject(UUID.Zero, false, RegData.RegionScene);
obj.LandData.Name = "NO LAND";
return obj;
}
// m_log.DebugFormat("[BIGLANDTESTINT]: <{0},{1}>", x, y);
//
// if (x > 0 && x <= (int)Constants.RegionSize && y > 0 && y <= (int)Constants.RegionSize)
// {
// return RootRegionLandChannel.GetLandObject(x, y);
// }
// else
// {
// int offsetX = (x / (int)Constants.RegionSize);
// int offsetY = (y / (int)Constants.RegionSize);
// offsetX *= (int)Constants.RegionSize;
// offsetY *= (int)Constants.RegionSize;
//
// foreach (RegionData regionData in RegionConnections)
// {
// if (regionData.Offset.X == offsetX && regionData.Offset.Y == offsetY)
// {
// m_log.DebugFormat(
// "[REGION COMBINER LARGE LAND CHANNEL]: Found region {0} at offset {1},{2}",
// regionData.RegionScene.Name, offsetX, offsetY);
//
// return regionData.RegionScene.LandChannel.GetLandObject(x - offsetX, y - offsetY);
// }
// }
// //ILandObject obj = new LandObject(UUID.Zero, false, RegData.RegionScene);
// //obj.LandData.Name = "NO LAND";
// //return obj;
// }
//
// m_log.DebugFormat("[REGION COMBINER LARGE LAND CHANNEL]: No region found at {0},{1}, returning null", x, y);
//
// return null;
}
public ILandObject GetLandObject(int localID)
{
// XXX: Possibly should be looking in every land channel, not just the root.
return RootRegionLandChannel.GetLandObject(localID);
}
public ILandObject GetLandObject(float x, float y)
{
//m_log.DebugFormat("[BIGLANDTESTFLOAT]: <{0},{1}>", x, y);
// m_log.DebugFormat("[BIGLANDTESTFLOAT]: <{0},{1}>", x, y);
if (x > 0 && x <= (int)Constants.RegionSize && y > 0 && y <= (int)Constants.RegionSize)
{
@@ -125,14 +138,22 @@ public class RegionCombinerLargeLandChannel : ILandChannel
{
if (regionData.Offset.X == offsetX && regionData.Offset.Y == offsetY)
{
// m_log.DebugFormat(
// "[REGION COMBINER LARGE LAND CHANNEL]: Found region {0} at offset {1},{2}",
// regionData.RegionScene.Name, offsetX, offsetY);
return regionData.RegionScene.LandChannel.GetLandObject(x - offsetX, y - offsetY);
}
}
ILandObject obj = new LandObject(UUID.Zero, false, RegData.RegionScene);
obj.LandData.Name = "NO LAND";
return obj;
// ILandObject obj = new LandObject(UUID.Zero, false, RegData.RegionScene);
// obj.LandData.Name = "NO LAND";
// return obj;
}
// m_log.DebugFormat("[REGION COMBINER LARGE LAND CHANNEL]: No region found at {0},{1}, returning null", x, y);
return null;
}
public bool IsForcefulBansAllowed()