Restore [Startup] physical_prim flag which can stop any prims being subject to physics

This had stopped working.  However, at the moment it still allows the physics flag to be set even though this has no effect.  This needs to be fixed.
Default for this flag is true as previously.
This commit is contained in:
Justin Clark-Casey (justincc)
2011-10-15 02:42:43 +01:00
parent f2889d7ce9
commit 3843efe478
3 changed files with 14 additions and 2 deletions

View File

@@ -34,7 +34,13 @@ namespace OpenSim.Framework
public bool See_into_region_from_neighbor { get; set; }
public string StorageDll { get; set; }
public string ClientstackDll { get; set; }
/// <summary>
/// Controls whether physics can be applied to prims. Even if false, prims still have entries in a
/// PhysicsScene in order to perform collision detection
/// </summary>
public bool PhysicalPrim { get; set; }
public string LibrariesXMLFile { get; set; }
public const uint DefaultRegionHttpPort = 9000;

View File

@@ -1551,7 +1551,9 @@ namespace OpenSim.Region.Framework.Scenes
/// <param name="m_physicalPrim"></param>
public void ApplyPhysics(uint rootObjectFlags, bool VolumeDetectActive, bool m_physicalPrim)
{
// m_log.DebugFormat("[SCENE OBJECT PART]: Applying physics to {0} {1} {2}", Name, LocalId, UUID);
// m_log.DebugFormat(
// "[SCENE OBJECT PART]: Applying physics to {0} {1}, m_physicalPrim {2}",
// Name, LocalId, UUID, m_physicalPrim);
bool isPhysical = (((rootObjectFlags & (uint) PrimFlags.Physics) != 0) && m_physicalPrim);
bool isPhantom = ((rootObjectFlags & (uint) PrimFlags.Phantom) != 0);
@@ -1816,6 +1818,9 @@ namespace OpenSim.Region.Framework.Scenes
/// <param name="isNew"></param>
public void DoPhysicsPropertyUpdate(bool UsePhysics, bool isNew)
{
if (!ParentGroup.Scene.m_physicalPrim && UsePhysics)
return;
if (IsJoint())
{
DoPhysicsPropertyUpdateForNinjaJoint(UsePhysics, isNew);