From 98d7de22dc44ca1e5971301c02a6a1fe49620889 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 12 Apr 2011 18:31:41 +0100
Subject: Fix (add) ability to rez objects by dragging them out of another
prim's inventory.
This should happen if the client supplies a task ID with the RezObject call.
The rez goes through the same code as llRezObject(), so the same perms are applied.
Rotation isn't yet preserved, this should be fixed shortly.
---
.../CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 4 ++++
1 file changed, 4 insertions(+)
(limited to 'OpenSim/Region/CoreModules')
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 9fbfc34..cdee53c 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -552,8 +552,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
///
/// Rez an object into the scene from the user's inventory
///
+ ///
/// 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.
+ ///
///
///
///
@@ -570,6 +572,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
{
+// m_log.DebugFormat("[INVENTORY ACCESS MODULE]: RezObject for {0}, item {1}", remoteClient.Name, itemID);
+
// Work out position details
byte bRayEndIsIntersection = (byte)0;
--
cgit v1.1
From b0889ed92a3c7d152f9b05aec1ce00dfc010e34e Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 12 Apr 2011 22:30:43 +0100
Subject: refactor: simplify bRayEndIsIntersection boolean set from
RayEndIsIntersection byte
---
.../Framework/InventoryAccess/InventoryAccessModule.cs | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
(limited to 'OpenSim/Region/CoreModules')
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index cdee53c..73b0a35 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -574,21 +574,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
{
// m_log.DebugFormat("[INVENTORY ACCESS MODULE]: RezObject for {0}, item {1}", remoteClient.Name, itemID);
- // Work out position details
- byte bRayEndIsIntersection = (byte)0;
-
- if (RayEndIsIntersection)
- {
- bRayEndIsIntersection = (byte)1;
- }
- else
- {
- bRayEndIsIntersection = (byte)0;
- }
-
+ 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);
--
cgit v1.1
From dec9c2283b548818409c91a93307334d1c0d9774 Mon Sep 17 00:00:00 2001
From: BlueWall
Date: Wed, 13 Apr 2011 16:10:18 -0400
Subject: Add ColladaMesh switch
---
OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs | 13 +++++++++++--
.../Assets/NewFileAgentInventoryVariablePriceModule.cs | 11 ++++++++++-
2 files changed, 21 insertions(+), 3 deletions(-)
(limited to 'OpenSim/Region/CoreModules')
diff --git a/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs b/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs
index 878242a..d2278bc 100644
--- a/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Assets/GetMeshModule.cs
@@ -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
diff --git a/OpenSim/Region/CoreModules/Avatar/Assets/NewFileAgentInventoryVariablePriceModule.cs b/OpenSim/Region/CoreModules/Avatar/Assets/NewFileAgentInventoryVariablePriceModule.cs
index 4a42c93..fb07cc9 100644
--- a/OpenSim/Region/CoreModules/Avatar/Assets/NewFileAgentInventoryVariablePriceModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Assets/NewFileAgentInventoryVariablePriceModule.cs
@@ -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);
--
cgit v1.1