From b341bc090833695184276c48dd36cd946791a00c Mon Sep 17 00:00:00 2001
From: BlueWall
Date: Thu, 13 Jan 2011 11:39:50 -0500
Subject: Make FireAndForgetWrapper a singleton class
Made FireAndForgetWrapper a singleton class to allow us to drop
dependancy on the BclExtras35 library. BclExtras is broken in
Mono 2.8.2 and we used the library in only one function.
---
OpenSim/Framework/Util.cs | 27 ++++++++++++++++++++++++---
bin/BclExtras35.dll | Bin 153600 -> 0 bytes
prebuild.xml | 2 --
3 files changed, 24 insertions(+), 5 deletions(-)
delete mode 100644 bin/BclExtras35.dll
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index 8d1671a..d1d8736 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -46,7 +46,7 @@ using System.Threading;
using log4net;
using Nini.Config;
using Nwc.XmlRpc;
-using BclExtras;
+// using BclExtras;
using OpenMetaverse;
using OpenMetaverse.StructuredData;
using Amib.Threading;
@@ -1375,8 +1375,29 @@ namespace OpenSim.Framework
///
/// Created to work around a limitation in Mono with nested delegates
///
- private class FireAndForgetWrapper
+ private sealed class FireAndForgetWrapper
{
+ private static volatile FireAndForgetWrapper instance;
+ private static object syncRoot = new Object();
+
+ public static FireAndForgetWrapper Instance {
+ get {
+
+ if (instance == null)
+ {
+ lock (syncRoot)
+ {
+ if (instance == null)
+ {
+ instance = new FireAndForgetWrapper();
+ }
+ }
+ }
+
+ return instance;
+ }
+ }
+
public void FireAndForget(System.Threading.WaitCallback callback)
{
callback.BeginInvoke(null, EndFireAndForget, callback);
@@ -1445,7 +1466,7 @@ namespace OpenSim.Framework
ThreadPool.QueueUserWorkItem(callback, obj);
break;
case FireAndForgetMethod.BeginInvoke:
- FireAndForgetWrapper wrapper = Singleton.GetInstance();
+ FireAndForgetWrapper wrapper = FireAndForgetWrapper.Instance;
wrapper.FireAndForget(callback, obj);
break;
case FireAndForgetMethod.SmartThreadPool:
diff --git a/bin/BclExtras35.dll b/bin/BclExtras35.dll
deleted file mode 100644
index 7a7480a..0000000
Binary files a/bin/BclExtras35.dll and /dev/null differ
diff --git a/prebuild.xml b/prebuild.xml
index 48bb2d3..854149b 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -158,7 +158,6 @@
-
@@ -1597,7 +1596,6 @@
-
--
cgit v1.1
From b492f1ce99d27bcf29eb5805564c8778aa4df748 Mon Sep 17 00:00:00 2001
From: BlueWall
Date: Sat, 12 Feb 2011 20:50:24 -0500
Subject: Fix unsitting of avatar on linked sets
---
OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index cd70de8..cb2543f 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -472,7 +472,7 @@ namespace OpenSim.Region.Framework.Scenes
SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID);
if (part != null)
{
- return m_parentPosition + (m_pos * part.GetWorldRotation());
+ return m_parentPosition + (m_pos * part.RotationOffset);
}
else
{
--
cgit v1.1
From 0d495ced4c4077ab456119650693c979eeb9d1ea Mon Sep 17 00:00:00 2001
From: BlueWall
Date: Sun, 13 Feb 2011 00:29:06 -0500
Subject: Revert "Fix unsitting of avatar on linked sets"
This reverts commit b492f1ce99d27bcf29eb5805564c8778aa4df748.
---
OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index cb2543f..cd70de8 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -472,7 +472,7 @@ namespace OpenSim.Region.Framework.Scenes
SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID);
if (part != null)
{
- return m_parentPosition + (m_pos * part.RotationOffset);
+ return m_parentPosition + (m_pos * part.GetWorldRotation());
}
else
{
--
cgit v1.1
From 6601771f812a360e6bc949da242878980ac0dd72 Mon Sep 17 00:00:00 2001
From: BlueWall
Date: Sun, 13 Feb 2011 00:30:43 -0500
Subject: Set filter to send proper rotations for root part
This allows the root prim, alone or in a set, to send it's
rotation. This fixes unsitting the avatar on sit-offsest
type teleports where the sit target is in the root prim of
a linkset.
---
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 6a92378..4d5eedf 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -2099,7 +2099,7 @@ namespace OpenSim.Region.Framework.Scenes
{
Quaternion newRot;
- if (this.LinkNum == 0)
+ if (this.LinkNum == 0 || this.LinkNum == 1)
{
newRot = RotationOffset;
}
--
cgit v1.1
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.
---
.../InventoryAccess/InventoryAccessModule.cs | 4 ++
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 59 ++++++++++++++++++++--
2 files changed, 58 insertions(+), 5 deletions(-)
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;
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 73dd531..4370850 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -1955,11 +1955,60 @@ namespace OpenSim.Region.Framework.Scenes
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
bool RezSelected, bool RemoveItem, UUID fromTaskID)
{
- IInventoryAccessModule invAccess = RequestModuleInterface();
- 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();
+ 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;
+ }
+
+ // Work out position details
+ byte bRayEndIsIntersection = (byte)0;
+
+ if (RayEndIsIntersection)
+ {
+ bRayEndIsIntersection = (byte)1;
+ }
+ else
+ {
+ bRayEndIsIntersection = (byte)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, Quaternion.Identity, Vector3.Zero, 0);
+ }
}
///
--
cgit v1.1
From 3ba5eeb6c3b7c6381ca1e0ed87bce44049f96e37 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 12 Apr 2011 22:15:40 +0100
Subject: Allow a null rotation to be passed in to RezObject so that we can
control whether to use the serialized rotation or not. Not used yet.
---
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 4370850..87b4cb8 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -2016,14 +2016,14 @@ namespace OpenSim.Region.Framework.Scenes
///
///
///
- ///
- ///
- ///
+ /// The position of the rezzed object.
+ /// The rotation of the rezzed object. If null, then the rotation stored with the object
+ /// will be used if it exists.
+ /// The velocity of the rezzed object.
///
/// The SceneObjectGroup rezzed or null if rez was unsuccessful
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;
@@ -2041,8 +2041,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.
--
cgit v1.1
From 8e0d2cc43b63046b0dd6b9a3a7dafd70a70362d0 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 12 Apr 2011 22:21:46 +0100
Subject: If an object is rezzed directly from a prim inventory then give it
the rotation it was stored with.
---
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 87b4cb8..254879b 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -2007,7 +2007,7 @@ namespace OpenSim.Region.Framework.Scenes
RayStart, RayEnd, RayTargetID, Quaternion.Identity,
BypassRayCast, bRayEndIsIntersection, true, scale, false);
- RezObject(part, item, pos, Quaternion.Identity, Vector3.Zero, 0);
+ RezObject(part, item, pos, null, Vector3.Zero, 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 +--------------
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 13 +------------
2 files changed, 2 insertions(+), 26 deletions(-)
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);
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 254879b..0f85925 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -1989,18 +1989,7 @@ namespace OpenSim.Region.Framework.Scenes
return;
}
- // 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
= GetNewRezLocation(
--
cgit v1.1
From da4a9653a27cbb1ecc779774a3d8715afb079086 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 12 Apr 2011 22:33:06 +0100
Subject: minor: remove some mono compiler warnings
---
OpenSim/Data/Null/NullEstateData.cs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/OpenSim/Data/Null/NullEstateData.cs b/OpenSim/Data/Null/NullEstateData.cs
index 0cebff5..8db8064 100755
--- a/OpenSim/Data/Null/NullEstateData.cs
+++ b/OpenSim/Data/Null/NullEstateData.cs
@@ -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
--
cgit v1.1
From bed463666cdc023bab8db2b725fb85736d2067df Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 12 Apr 2011 23:16:43 +0100
Subject: minor typo correction. thanks Ai Austin.
---
bin/OpenSim.ini.example | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 55723d1..823daa0 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -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.
;;
--
cgit v1.1
From 424995e1384178462799469e0200615308035460 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Tue, 12 Apr 2011 23:22:21 +0100
Subject: Move example HttpProxy setting to OpenSim.ini.example and tidy
---
bin/OpenSim.ini.example | 8 ++++++++
bin/OpenSimDefaults.ini | 9 ---------
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 823daa0..c05c3de 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -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.
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini
index d6eee0e..f857b8d 100644
--- a/bin/OpenSimDefaults.ini
+++ b/bin/OpenSimDefaults.ini
@@ -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"
--
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 ++++++++++-
bin/OpenSimDefaults.ini | 6 +++++-
3 files changed, 26 insertions(+), 4 deletions(-)
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);
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini
index f857b8d..107e859 100644
--- a/bin/OpenSimDefaults.ini
+++ b/bin/OpenSimDefaults.ini
@@ -154,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
--
cgit v1.1