Merge branch 'master' of /home/git/repo/OpenSim into queuetest
commit
c0fcc430fe
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -1955,26 +1955,64 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection,
|
||||
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>();
|
||||
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>
|
||||
/// Rez an object into the scene from a prim's inventory.
|
||||
/// </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;
|
||||
|
@ -1993,7 +2031,13 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
@ -164,6 +155,10 @@
|
|||
; 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
|
||||
|
|
Loading…
Reference in New Issue