Merge branch 'master' of /home/git/repo/OpenSim into queuetest

bulletsim
BlueWall 2011-04-13 17:03:30 -04:00
commit c0fcc430fe
7 changed files with 99 additions and 43 deletions

View File

@ -38,9 +38,9 @@ namespace OpenSim.Data.Null
{
public class NullEstateStore : IEstateDataStore
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private string m_connectionString;
// private string m_connectionString;
protected virtual Assembly Assembly
{
@ -58,7 +58,7 @@ namespace OpenSim.Data.Null
public void Initialise(string connectionString)
{
m_connectionString = connectionString;
// m_connectionString = connectionString;
}
private string[] FieldList

View File

@ -54,6 +54,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
private Scene m_scene;
private IAssetService m_assetService;
private bool m_enabled = true;
#region IRegionModuleBase Members
@ -65,7 +66,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
public void Initialise(IConfigSource source)
{
IConfig startupConfig = source.Configs["Startup"];
if (startupConfig == null)
return;
if (!startupConfig.GetBoolean("ColladaMesh",true))
m_enabled = false;
}
public void AddRegion(Scene pScene)
@ -101,16 +107,19 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
public void RegisterCaps(UUID agentID, Caps caps)
{
if(!m_enabled)
return;
UUID capID = UUID.Random();
// m_log.Info("[GETMESH]: /CAPS/" + capID);
caps.RegisterHandler("GetMesh",
new RestHTTPHandler("GET", "/CAPS/" + capID,
delegate(Hashtable m_dhttpMethod)
{
return ProcessGetMesh(m_dhttpMethod, agentID, caps);
}));
}
#endregion

View File

@ -56,6 +56,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
private Scene m_scene;
// private IAssetService m_assetService;
private bool m_dumpAssetsToFile = false;
private bool m_enabled = true;
#region IRegionModuleBase Members
@ -67,7 +68,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
public void Initialise(IConfigSource source)
{
IConfig startupConfig = source.Configs["Startup"];
if (startupConfig == null)
return;
if (!startupConfig.GetBoolean("ColladaMesh",true))
m_enabled = false;
}
public void AddRegion(Scene pScene)
@ -103,6 +109,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
public void RegisterCaps(UUID agentID, Caps caps)
{
if(!m_enabled)
return;
UUID capID = UUID.Random();
// m_log.Debug("[NEW FILE AGENT INVENTORY VARIABLE PRICE]: /CAPS/" + capID);

View File

@ -552,8 +552,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
/// <summary>
/// Rez an object into the scene from the user's inventory
/// </summary>
/// <remarks>
/// FIXME: It would be really nice if inventory access modules didn't also actually do the work of rezzing
/// things to the scene. The caller should be doing that, I think.
/// </remarks>
/// <param name="remoteClient"></param>
/// <param name="itemID"></param>
/// <param name="RayEnd"></param>
@ -570,21 +572,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
{
// Work out position details
byte bRayEndIsIntersection = (byte)0;
if (RayEndIsIntersection)
{
bRayEndIsIntersection = (byte)1;
}
else
{
bRayEndIsIntersection = (byte)0;
}
// m_log.DebugFormat("[INVENTORY ACCESS MODULE]: RezObject for {0}, item {1}", remoteClient.Name, itemID);
byte bRayEndIsIntersection = (byte)(RayEndIsIntersection ? 1 : 0);
Vector3 scale = new Vector3(0.5f, 0.5f, 0.5f);
Vector3 pos = m_Scene.GetNewRezLocation(
RayStart, RayEnd, RayTargetID, Quaternion.Identity,
BypassRayCast, bRayEndIsIntersection, true, scale, false);

View File

@ -1955,11 +1955,49 @@ namespace OpenSim.Region.Framework.Scenes
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
bool RezSelected, bool RemoveItem, UUID fromTaskID)
{
IInventoryAccessModule invAccess = RequestModuleInterface<IInventoryAccessModule>();
if (invAccess != null)
invAccess.RezObject(
remoteClient, itemID, RayEnd, RayStart, RayTargetID, BypassRayCast, RayEndIsIntersection,
RezSelected, RemoveItem, fromTaskID, false);
// m_log.DebugFormat(
// "[PRIM INVENTORY]: RezObject from {0} for item {1} from task id {2}",
// remoteClient.Name, itemID, fromTaskID);
if (fromTaskID == UUID.Zero)
{
IInventoryAccessModule invAccess = RequestModuleInterface<IInventoryAccessModule>();
if (invAccess != null)
invAccess.RezObject(
remoteClient, itemID, RayEnd, RayStart, RayTargetID, BypassRayCast, RayEndIsIntersection,
RezSelected, RemoveItem, fromTaskID, false);
}
else
{
SceneObjectPart part = GetSceneObjectPart(fromTaskID);
if (part == null)
{
m_log.ErrorFormat(
"[TASK INVENTORY]: {0} tried to rez item id {1} from object id {2} but there is no such scene object",
remoteClient.Name, itemID, fromTaskID);
return;
}
TaskInventoryItem item = part.Inventory.GetInventoryItem(itemID);
if (item == null)
{
m_log.ErrorFormat(
"[TASK INVENTORY]: {0} tried to rez item id {1} from object id {2} but there is no such item",
remoteClient.Name, itemID, fromTaskID);
return;
}
byte bRayEndIsIntersection = (byte)(RayEndIsIntersection ? 1 : 0);
Vector3 scale = new Vector3(0.5f, 0.5f, 0.5f);
Vector3 pos
= GetNewRezLocation(
RayStart, RayEnd, RayTargetID, Quaternion.Identity,
BypassRayCast, bRayEndIsIntersection, true, scale, false);
RezObject(part, item, pos, null, Vector3.Zero, 0);
}
}
/// <summary>
@ -1967,14 +2005,14 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary>
/// <param name="sourcePart"></param>
/// <param name="item"></param>
/// <param name="pos"></param>
/// <param name="rot"></param>
/// <param name="vel"></param>
/// <param name="pos">The position of the rezzed object.</param>
/// <param name="rot">The rotation of the rezzed object. If null, then the rotation stored with the object
/// will be used if it exists.</param>
/// <param name="vel">The velocity of the rezzed object.</param>
/// <param name="param"></param>
/// <returns>The SceneObjectGroup rezzed or null if rez was unsuccessful</returns>
public virtual SceneObjectGroup RezObject(
SceneObjectPart sourcePart, TaskInventoryItem item,
Vector3 pos, Quaternion rot, Vector3 vel, int param)
SceneObjectPart sourcePart, TaskInventoryItem item, Vector3 pos, Quaternion? rot, Vector3 vel, int param)
{
if (null == item)
return null;
@ -1992,8 +2030,14 @@ namespace OpenSim.Region.Framework.Scenes
if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
sourcePart.Inventory.RemoveInventoryItem(item.ItemID);
}
AddNewSceneObject(group, true, pos, rot, vel);
AddNewSceneObject(group, true);
group.AbsolutePosition = pos;
group.Velocity = vel;
if (rot != null)
group.UpdateGroupRotationR((Quaternion)rot);
// We can only call this after adding the scene object, since the scene object references the scene
// to find out if scripts should be activated at all.

View File

@ -16,7 +16,7 @@
;; files are loaded then type "config show" on the region console command line.
;;
;;
;; NOTES FOR DEVELOPERS REGARDING FORMAT OF TIHS FILE
;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE
;;
;; All leading white space is ignored, but preserved.
;;
@ -201,6 +201,14 @@
;; If not generating maptiles, use this static texture asset ID
; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
;; Http proxy setting for llHTTPRequest and dynamic texture loading, if required
; HttpProxy = "http://proxy.com:8080"
;; If you're using HttpProxy, then you can set HttpProxyExceptions to a list of regular expressions for URLs that you don't want to go through the proxy
;; For example, servers inside your firewall.
;; Separate patterns with a ';'
; HttpProxyExceptions = ".mydomain.com;localhost"
;# {emailmodule} {} {Provide llEmail and llGetNextEmail functionality? (requires SMTP server)} {true false} false
;; The email module requires some configuration. It needs an SMTP
;; server to send mail through.

View File

@ -14,15 +14,6 @@
; Place to create a PID file
; PIDFile = "/tmp/my.pid"
; Http proxy support for llHTTPRequest and dynamic texture loading
; Set HttpProxy to the URL for your proxy server if you would like
; to proxy llHTTPRequests through a firewall
; HttpProxy = "http://proxy.com"
; Set HttpProxyExceptions to a list of regular expressions for
; URLs that you don't want going through the proxy such as servers
; inside your firewall, separate patterns with a ';'
; HttpProxyExceptions = ".mydomain.com;localhost"
startup_console_commands_file = "startup_commands.txt"
shutdown_console_commands_file = "shutdown_commands.txt"
@ -163,7 +154,11 @@
; mesh, and use it for collisions. This is currently experimental code and enabling
; it may cause unexpected physics problems.
;UseMeshiesPhysicsMesh = false
; enable / disable Collada mesh support
; default is true
; ColladaMesh = true
; Choose one of the physics engines below
; OpenDynamicsEngine is by some distance the most developed physics engine
; basicphysics effectively does not model physics at all, making all objects phantom