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 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

View File

@ -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

View File

@ -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);

View File

@ -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);

View File

@ -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.

View File

@ -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.

View File

@ -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