* adds flag in OpenSim.ini for disabling physical prim. Look at OpenSim.ini.example in the bin folder for an example.

This commit is contained in:
Teravus Ovares
2007-11-11 00:08:18 +00:00
parent 9a4b4dae5e
commit ec77e1eb17
8 changed files with 87 additions and 79 deletions

View File

@@ -446,7 +446,7 @@ namespace OpenSim.Region.Environment.Scenes
AddEntity(group);
group.AbsolutePosition = pos;
SceneObjectPart rootPart = group.GetChildPart(group.UUID);
bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0);
bool UsePhysics = (((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0)&& m_physicalPrim);
if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0)
{
PrimitiveBaseShape pbs = rootPart.Shape;

View File

@@ -68,7 +68,7 @@ namespace OpenSim.Region.Environment.Scenes
private int m_timeUpdateCount;
private readonly Mutex updateLock;
public bool m_physicalPrim;
protected ModuleLoader m_moduleLoader;
protected StorageManager m_storageManager;
protected AgentCircuitManager m_authenticateHandler;
@@ -192,7 +192,7 @@ namespace OpenSim.Region.Environment.Scenes
public Scene(RegionInfo regInfo, AgentCircuitManager authen, CommunicationsManager commsMan, SceneCommunicationService sceneGridService,
AssetCache assetCach, StorageManager storeManager, BaseHttpServer httpServer,
ModuleLoader moduleLoader, bool dumpAssetsToFile)
ModuleLoader moduleLoader, bool dumpAssetsToFile, bool physicalPrim)
{
updateLock = new Mutex(false);
@@ -207,6 +207,7 @@ namespace OpenSim.Region.Environment.Scenes
m_regionName = m_regInfo.RegionName;
m_datastore = m_regInfo.DataStore;
RegisterRegionWithComms();
m_physicalPrim = physicalPrim;
m_LandManager = new LandManager(this, m_regInfo);
m_estateManager = new EstateManager(this, m_regInfo);
@@ -522,7 +523,7 @@ namespace OpenSim.Region.Environment.Scenes
{
AddEntityFromStorage(prim);
SceneObjectPart rootPart = prim.GetChildPart(prim.UUID);
bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0);
bool UsePhysics = (((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0) && m_physicalPrim);
if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0)
rootPart.PhysActor = phyScene.AddPrimShape(
rootPart.Name,
@@ -572,7 +573,7 @@ namespace OpenSim.Region.Environment.Scenes
rootPart.ObjectFlags += (uint) LLObject.ObjectFlags.Phantom;
}
// if not phantom, add to physics
bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0);
bool UsePhysics = (((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0) && m_physicalPrim);
if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0)
rootPart.PhysActor =
phyScene.AddPrimShape(

View File

@@ -770,7 +770,7 @@ namespace OpenSim.Region.Environment.Scenes
{
i += 46;
//IsLocked = (data[i++] != 0) ? true : false;
UsePhysics = (data[i++] != 0) ? true : false;
UsePhysics = ((data[i++] != 0) && m_parentGroup.m_scene.m_physicalPrim) ? true : false;
//System.Console.WriteLine("U" + packet.ToBytes().Length.ToString());
IsTemporary = (data[i++] != 0) ? true : false;
IsPhantom = (data[i++] != 0) ? true : false;
@@ -782,7 +782,7 @@ namespace OpenSim.Region.Environment.Scenes
//Silently ignore it - TODO: FIXME Quick
}
if (UsePhysics)
if (UsePhysics )
{
AddFlag(LLObject.ObjectFlags.Physics);
if (PhysActor != null)
@@ -791,9 +791,12 @@ namespace OpenSim.Region.Environment.Scenes
}
else
{
RemFlag(LLObject.ObjectFlags.Physics);
if (PhysActor != null)
PhysActor.OnRequestTerseUpdate -= PhysicsRequestingTerseUpdate;
if (m_parentGroup.m_scene.m_physicalPrim)
{
RemFlag(LLObject.ObjectFlags.Physics);
if (PhysActor != null)
PhysActor.OnRequestTerseUpdate -= PhysicsRequestingTerseUpdate;
}
}
if (IsPhantom)

View File

@@ -44,7 +44,7 @@ namespace OpenSim.Region.Environment.Scenes
m_innerScene.AddEntity(obj);
SceneObjectPart rootPart = obj.GetChildPart(obj.UUID);
bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0);
bool UsePhysics = (((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0) && m_parentScene.m_physicalPrim);
if ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Phantom) == 0)
rootPart.PhysActor = m_innerScene.PhyScene.AddPrimShape(
rootPart.Name,
@@ -110,7 +110,7 @@ namespace OpenSim.Region.Environment.Scenes
m_innerScene.AddEntityFromStorage(obj);
SceneObjectPart rootPart = obj.GetChildPart(obj.UUID);
bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0);
bool UsePhysics = (((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0) && m_parentScene.m_physicalPrim);
if ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Phantom) == 0)
rootPart.PhysActor = m_innerScene.PhyScene.AddPrimShape(
rootPart.Name,