Merge branch 'master' of /home/git/repo/OpenSim into queuetest
commit
c0fcc430fe
|
@ -38,9 +38,9 @@ namespace OpenSim.Data.Null
|
||||||
{
|
{
|
||||||
public class NullEstateStore : IEstateDataStore
|
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
|
protected virtual Assembly Assembly
|
||||||
{
|
{
|
||||||
|
@ -58,7 +58,7 @@ namespace OpenSim.Data.Null
|
||||||
|
|
||||||
public void Initialise(string connectionString)
|
public void Initialise(string connectionString)
|
||||||
{
|
{
|
||||||
m_connectionString = connectionString;
|
// m_connectionString = connectionString;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string[] FieldList
|
private string[] FieldList
|
||||||
|
|
|
@ -54,6 +54,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
|
||||||
|
|
||||||
private Scene m_scene;
|
private Scene m_scene;
|
||||||
private IAssetService m_assetService;
|
private IAssetService m_assetService;
|
||||||
|
private bool m_enabled = true;
|
||||||
|
|
||||||
#region IRegionModuleBase Members
|
#region IRegionModuleBase Members
|
||||||
|
|
||||||
|
@ -65,7 +66,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
|
||||||
|
|
||||||
public void Initialise(IConfigSource source)
|
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)
|
public void AddRegion(Scene pScene)
|
||||||
|
@ -101,16 +107,19 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
|
||||||
|
|
||||||
public void RegisterCaps(UUID agentID, Caps caps)
|
public void RegisterCaps(UUID agentID, Caps caps)
|
||||||
{
|
{
|
||||||
|
if(!m_enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
UUID capID = UUID.Random();
|
UUID capID = UUID.Random();
|
||||||
|
|
||||||
// m_log.Info("[GETMESH]: /CAPS/" + capID);
|
// m_log.Info("[GETMESH]: /CAPS/" + capID);
|
||||||
|
|
||||||
caps.RegisterHandler("GetMesh",
|
caps.RegisterHandler("GetMesh",
|
||||||
new RestHTTPHandler("GET", "/CAPS/" + capID,
|
new RestHTTPHandler("GET", "/CAPS/" + capID,
|
||||||
delegate(Hashtable m_dhttpMethod)
|
delegate(Hashtable m_dhttpMethod)
|
||||||
{
|
{
|
||||||
return ProcessGetMesh(m_dhttpMethod, agentID, caps);
|
return ProcessGetMesh(m_dhttpMethod, agentID, caps);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -56,6 +56,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
|
||||||
private Scene m_scene;
|
private Scene m_scene;
|
||||||
// private IAssetService m_assetService;
|
// private IAssetService m_assetService;
|
||||||
private bool m_dumpAssetsToFile = false;
|
private bool m_dumpAssetsToFile = false;
|
||||||
|
private bool m_enabled = true;
|
||||||
|
|
||||||
#region IRegionModuleBase Members
|
#region IRegionModuleBase Members
|
||||||
|
|
||||||
|
@ -67,7 +68,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
|
||||||
|
|
||||||
public void Initialise(IConfigSource source)
|
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)
|
public void AddRegion(Scene pScene)
|
||||||
|
@ -103,6 +109,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Assets
|
||||||
|
|
||||||
public void RegisterCaps(UUID agentID, Caps caps)
|
public void RegisterCaps(UUID agentID, Caps caps)
|
||||||
{
|
{
|
||||||
|
if(!m_enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
UUID capID = UUID.Random();
|
UUID capID = UUID.Random();
|
||||||
|
|
||||||
// m_log.Debug("[NEW FILE AGENT INVENTORY VARIABLE PRICE]: /CAPS/" + capID);
|
// m_log.Debug("[NEW FILE AGENT INVENTORY VARIABLE PRICE]: /CAPS/" + capID);
|
||||||
|
|
|
@ -552,8 +552,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Rez an object into the scene from the user's inventory
|
/// Rez an object into the scene from the user's inventory
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
/// FIXME: It would be really nice if inventory access modules didn't also actually do the work of rezzing
|
/// 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.
|
/// things to the scene. The caller should be doing that, I think.
|
||||||
|
/// </remarks>
|
||||||
/// <param name="remoteClient"></param>
|
/// <param name="remoteClient"></param>
|
||||||
/// <param name="itemID"></param>
|
/// <param name="itemID"></param>
|
||||||
/// <param name="RayEnd"></param>
|
/// <param name="RayEnd"></param>
|
||||||
|
@ -570,21 +572,10 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
|
||||||
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
|
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
|
||||||
bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
|
bool RezSelected, bool RemoveItem, UUID fromTaskID, bool attachment)
|
||||||
{
|
{
|
||||||
// Work out position details
|
// m_log.DebugFormat("[INVENTORY ACCESS MODULE]: RezObject for {0}, item {1}", remoteClient.Name, itemID);
|
||||||
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 scale = new Vector3(0.5f, 0.5f, 0.5f);
|
||||||
|
|
||||||
|
|
||||||
Vector3 pos = m_Scene.GetNewRezLocation(
|
Vector3 pos = m_Scene.GetNewRezLocation(
|
||||||
RayStart, RayEnd, RayTargetID, Quaternion.Identity,
|
RayStart, RayEnd, RayTargetID, Quaternion.Identity,
|
||||||
BypassRayCast, bRayEndIsIntersection, true, scale, false);
|
BypassRayCast, bRayEndIsIntersection, true, scale, false);
|
||||||
|
|
|
@ -1955,26 +1955,64 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
|
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
|
||||||
bool RezSelected, bool RemoveItem, UUID fromTaskID)
|
bool RezSelected, bool RemoveItem, UUID fromTaskID)
|
||||||
{
|
{
|
||||||
|
// 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>();
|
IInventoryAccessModule invAccess = RequestModuleInterface<IInventoryAccessModule>();
|
||||||
if (invAccess != null)
|
if (invAccess != null)
|
||||||
invAccess.RezObject(
|
invAccess.RezObject(
|
||||||
remoteClient, itemID, RayEnd, RayStart, RayTargetID, BypassRayCast, RayEndIsIntersection,
|
remoteClient, itemID, RayEnd, RayStart, RayTargetID, BypassRayCast, RayEndIsIntersection,
|
||||||
RezSelected, RemoveItem, fromTaskID, false);
|
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>
|
/// <summary>
|
||||||
/// Rez an object into the scene from a prim's inventory.
|
/// Rez an object into the scene from a prim's inventory.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sourcePart"></param>
|
/// <param name="sourcePart"></param>
|
||||||
/// <param name="item"></param>
|
/// <param name="item"></param>
|
||||||
/// <param name="pos"></param>
|
/// <param name="pos">The position of the rezzed object.</param>
|
||||||
/// <param name="rot"></param>
|
/// <param name="rot">The rotation of the rezzed object. If null, then the rotation stored with the object
|
||||||
/// <param name="vel"></param>
|
/// will be used if it exists.</param>
|
||||||
|
/// <param name="vel">The velocity of the rezzed object.</param>
|
||||||
/// <param name="param"></param>
|
/// <param name="param"></param>
|
||||||
/// <returns>The SceneObjectGroup rezzed or null if rez was unsuccessful</returns>
|
/// <returns>The SceneObjectGroup rezzed or null if rez was unsuccessful</returns>
|
||||||
public virtual SceneObjectGroup RezObject(
|
public virtual SceneObjectGroup RezObject(
|
||||||
SceneObjectPart sourcePart, TaskInventoryItem item,
|
SceneObjectPart sourcePart, TaskInventoryItem item, Vector3 pos, Quaternion? rot, Vector3 vel, int param)
|
||||||
Vector3 pos, Quaternion rot, Vector3 vel, int param)
|
|
||||||
{
|
{
|
||||||
if (null == item)
|
if (null == item)
|
||||||
return null;
|
return null;
|
||||||
|
@ -1993,7 +2031,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
sourcePart.Inventory.RemoveInventoryItem(item.ItemID);
|
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
|
// 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.
|
// to find out if scripts should be activated at all.
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
;; files are loaded then type "config show" on the region console command line.
|
;; 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.
|
;; All leading white space is ignored, but preserved.
|
||||||
;;
|
;;
|
||||||
|
@ -201,6 +201,14 @@
|
||||||
;; If not generating maptiles, use this static texture asset ID
|
;; If not generating maptiles, use this static texture asset ID
|
||||||
; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
|
; 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
|
;# {emailmodule} {} {Provide llEmail and llGetNextEmail functionality? (requires SMTP server)} {true false} false
|
||||||
;; The email module requires some configuration. It needs an SMTP
|
;; The email module requires some configuration. It needs an SMTP
|
||||||
;; server to send mail through.
|
;; server to send mail through.
|
||||||
|
|
|
@ -14,15 +14,6 @@
|
||||||
; Place to create a PID file
|
; Place to create a PID file
|
||||||
; PIDFile = "/tmp/my.pid"
|
; 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"
|
startup_console_commands_file = "startup_commands.txt"
|
||||||
shutdown_console_commands_file = "shutdown_commands.txt"
|
shutdown_console_commands_file = "shutdown_commands.txt"
|
||||||
|
|
||||||
|
@ -164,6 +155,10 @@
|
||||||
; it may cause unexpected physics problems.
|
; it may cause unexpected physics problems.
|
||||||
;UseMeshiesPhysicsMesh = false
|
;UseMeshiesPhysicsMesh = false
|
||||||
|
|
||||||
|
; enable / disable Collada mesh support
|
||||||
|
; default is true
|
||||||
|
; ColladaMesh = true
|
||||||
|
|
||||||
; Choose one of the physics engines below
|
; Choose one of the physics engines below
|
||||||
; OpenDynamicsEngine is by some distance the most developed physics engine
|
; OpenDynamicsEngine is by some distance the most developed physics engine
|
||||||
; basicphysics effectively does not model physics at all, making all objects phantom
|
; basicphysics effectively does not model physics at all, making all objects phantom
|
||||||
|
|
Loading…
Reference in New Issue