diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Application/OpenSimMain.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 9 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 13 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Examples/SimpleApp/MyWorld.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Examples/SimpleApp/Program.cs | 2 |
7 files changed, 23 insertions, 16 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index 42f1b94..e3c326b 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs | |||
@@ -73,6 +73,7 @@ namespace OpenSim | |||
73 | protected List<RegionInfo> m_regionData = new List<RegionInfo>(); | 73 | protected List<RegionInfo> m_regionData = new List<RegionInfo>(); |
74 | 74 | ||
75 | private bool m_verbose; | 75 | private bool m_verbose; |
76 | private bool m_physicalPrim; | ||
76 | private readonly string m_logFilename = ("region-console.log"); | 77 | private readonly string m_logFilename = ("region-console.log"); |
77 | private bool m_permissions = false; | 78 | private bool m_permissions = false; |
78 | 79 | ||
@@ -154,6 +155,7 @@ namespace OpenSim | |||
154 | config.Set("gridmode", false); | 155 | config.Set("gridmode", false); |
155 | config.Set("physics", "basicphysics"); | 156 | config.Set("physics", "basicphysics"); |
156 | config.Set("verbose", true); | 157 | config.Set("verbose", true); |
158 | config.Set("physical_prim", true); | ||
157 | config.Set("serverside_object_permissions", false); | 159 | config.Set("serverside_object_permissions", false); |
158 | 160 | ||
159 | config.Set("storage_plugin", "OpenSim.DataStore.NullStorage.dll"); | 161 | config.Set("storage_plugin", "OpenSim.DataStore.NullStorage.dll"); |
@@ -213,6 +215,7 @@ namespace OpenSim | |||
213 | m_physicsEngine = startupConfig.GetString("physics", "basicphysics"); | 215 | m_physicsEngine = startupConfig.GetString("physics", "basicphysics"); |
214 | m_meshEngineName = startupConfig.GetString("meshing", "Meshmerizer"); | 216 | m_meshEngineName = startupConfig.GetString("meshing", "Meshmerizer"); |
215 | m_verbose = startupConfig.GetBoolean("verbose", true); | 217 | m_verbose = startupConfig.GetBoolean("verbose", true); |
218 | m_physicalPrim = startupConfig.GetBoolean("physical_prim", true); | ||
216 | m_permissions = startupConfig.GetBoolean("serverside_object_permissions", false); | 219 | m_permissions = startupConfig.GetBoolean("serverside_object_permissions", false); |
217 | 220 | ||
218 | m_storageDLL = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"); | 221 | m_storageDLL = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll"); |
@@ -365,7 +368,7 @@ namespace OpenSim | |||
365 | SceneCommunicationService sceneGridService = new SceneCommunicationService(m_commsManager); | 368 | SceneCommunicationService sceneGridService = new SceneCommunicationService(m_commsManager); |
366 | return | 369 | return |
367 | new Scene(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, storageManager, m_httpServer, | 370 | new Scene(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, storageManager, m_httpServer, |
368 | m_moduleLoader, m_dumpAssetsToFile); | 371 | m_moduleLoader, m_dumpAssetsToFile, m_physicalPrim); |
369 | } | 372 | } |
370 | 373 | ||
371 | protected override void Initialize() | 374 | protected override void Initialize() |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index f5e6f63..f840845 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | |||
@@ -446,7 +446,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
446 | AddEntity(group); | 446 | AddEntity(group); |
447 | group.AbsolutePosition = pos; | 447 | group.AbsolutePosition = pos; |
448 | SceneObjectPart rootPart = group.GetChildPart(group.UUID); | 448 | SceneObjectPart rootPart = group.GetChildPart(group.UUID); |
449 | bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0); | 449 | bool UsePhysics = (((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0)&& m_physicalPrim); |
450 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) | 450 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) |
451 | { | 451 | { |
452 | PrimitiveBaseShape pbs = rootPart.Shape; | 452 | PrimitiveBaseShape pbs = rootPart.Shape; |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 7e1bbfa..b4c8b68 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -68,7 +68,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
68 | private int m_timeUpdateCount; | 68 | private int m_timeUpdateCount; |
69 | 69 | ||
70 | private readonly Mutex updateLock; | 70 | private readonly Mutex updateLock; |
71 | 71 | public bool m_physicalPrim; | |
72 | protected ModuleLoader m_moduleLoader; | 72 | protected ModuleLoader m_moduleLoader; |
73 | protected StorageManager m_storageManager; | 73 | protected StorageManager m_storageManager; |
74 | protected AgentCircuitManager m_authenticateHandler; | 74 | protected AgentCircuitManager m_authenticateHandler; |
@@ -192,7 +192,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
192 | 192 | ||
193 | public Scene(RegionInfo regInfo, AgentCircuitManager authen, CommunicationsManager commsMan, SceneCommunicationService sceneGridService, | 193 | public Scene(RegionInfo regInfo, AgentCircuitManager authen, CommunicationsManager commsMan, SceneCommunicationService sceneGridService, |
194 | AssetCache assetCach, StorageManager storeManager, BaseHttpServer httpServer, | 194 | AssetCache assetCach, StorageManager storeManager, BaseHttpServer httpServer, |
195 | ModuleLoader moduleLoader, bool dumpAssetsToFile) | 195 | ModuleLoader moduleLoader, bool dumpAssetsToFile, bool physicalPrim) |
196 | { | 196 | { |
197 | updateLock = new Mutex(false); | 197 | updateLock = new Mutex(false); |
198 | 198 | ||
@@ -207,6 +207,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
207 | m_regionName = m_regInfo.RegionName; | 207 | m_regionName = m_regInfo.RegionName; |
208 | m_datastore = m_regInfo.DataStore; | 208 | m_datastore = m_regInfo.DataStore; |
209 | RegisterRegionWithComms(); | 209 | RegisterRegionWithComms(); |
210 | m_physicalPrim = physicalPrim; | ||
210 | 211 | ||
211 | m_LandManager = new LandManager(this, m_regInfo); | 212 | m_LandManager = new LandManager(this, m_regInfo); |
212 | m_estateManager = new EstateManager(this, m_regInfo); | 213 | m_estateManager = new EstateManager(this, m_regInfo); |
@@ -522,7 +523,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
522 | { | 523 | { |
523 | AddEntityFromStorage(prim); | 524 | AddEntityFromStorage(prim); |
524 | SceneObjectPart rootPart = prim.GetChildPart(prim.UUID); | 525 | SceneObjectPart rootPart = prim.GetChildPart(prim.UUID); |
525 | bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0); | 526 | bool UsePhysics = (((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0) && m_physicalPrim); |
526 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) | 527 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) |
527 | rootPart.PhysActor = phyScene.AddPrimShape( | 528 | rootPart.PhysActor = phyScene.AddPrimShape( |
528 | rootPart.Name, | 529 | rootPart.Name, |
@@ -572,7 +573,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
572 | rootPart.ObjectFlags += (uint) LLObject.ObjectFlags.Phantom; | 573 | rootPart.ObjectFlags += (uint) LLObject.ObjectFlags.Phantom; |
573 | } | 574 | } |
574 | // if not phantom, add to physics | 575 | // if not phantom, add to physics |
575 | bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0); | 576 | bool UsePhysics = (((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0) && m_physicalPrim); |
576 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) | 577 | if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0) |
577 | rootPart.PhysActor = | 578 | rootPart.PhysActor = |
578 | phyScene.AddPrimShape( | 579 | phyScene.AddPrimShape( |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 7575fad..1604dad 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -770,7 +770,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
770 | { | 770 | { |
771 | i += 46; | 771 | i += 46; |
772 | //IsLocked = (data[i++] != 0) ? true : false; | 772 | //IsLocked = (data[i++] != 0) ? true : false; |
773 | UsePhysics = (data[i++] != 0) ? true : false; | 773 | UsePhysics = ((data[i++] != 0) && m_parentGroup.m_scene.m_physicalPrim) ? true : false; |
774 | //System.Console.WriteLine("U" + packet.ToBytes().Length.ToString()); | 774 | //System.Console.WriteLine("U" + packet.ToBytes().Length.ToString()); |
775 | IsTemporary = (data[i++] != 0) ? true : false; | 775 | IsTemporary = (data[i++] != 0) ? true : false; |
776 | IsPhantom = (data[i++] != 0) ? true : false; | 776 | IsPhantom = (data[i++] != 0) ? true : false; |
@@ -782,7 +782,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
782 | //Silently ignore it - TODO: FIXME Quick | 782 | //Silently ignore it - TODO: FIXME Quick |
783 | } | 783 | } |
784 | 784 | ||
785 | if (UsePhysics) | 785 | if (UsePhysics ) |
786 | { | 786 | { |
787 | AddFlag(LLObject.ObjectFlags.Physics); | 787 | AddFlag(LLObject.ObjectFlags.Physics); |
788 | if (PhysActor != null) | 788 | if (PhysActor != null) |
@@ -791,9 +791,12 @@ namespace OpenSim.Region.Environment.Scenes | |||
791 | } | 791 | } |
792 | else | 792 | else |
793 | { | 793 | { |
794 | RemFlag(LLObject.ObjectFlags.Physics); | 794 | if (m_parentGroup.m_scene.m_physicalPrim) |
795 | if (PhysActor != null) | 795 | { |
796 | PhysActor.OnRequestTerseUpdate -= PhysicsRequestingTerseUpdate; | 796 | RemFlag(LLObject.ObjectFlags.Physics); |
797 | if (PhysActor != null) | ||
798 | PhysActor.OnRequestTerseUpdate -= PhysicsRequestingTerseUpdate; | ||
799 | } | ||
797 | } | 800 | } |
798 | 801 | ||
799 | if (IsPhantom) | 802 | if (IsPhantom) |
diff --git a/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs b/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs index e0ddec5..c2bb019 100644 --- a/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs +++ b/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs | |||
@@ -44,7 +44,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
44 | m_innerScene.AddEntity(obj); | 44 | m_innerScene.AddEntity(obj); |
45 | 45 | ||
46 | SceneObjectPart rootPart = obj.GetChildPart(obj.UUID); | 46 | SceneObjectPart rootPart = obj.GetChildPart(obj.UUID); |
47 | bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0); | 47 | bool UsePhysics = (((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0) && m_parentScene.m_physicalPrim); |
48 | if ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Phantom) == 0) | 48 | if ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Phantom) == 0) |
49 | rootPart.PhysActor = m_innerScene.PhyScene.AddPrimShape( | 49 | rootPart.PhysActor = m_innerScene.PhyScene.AddPrimShape( |
50 | rootPart.Name, | 50 | rootPart.Name, |
@@ -110,7 +110,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
110 | m_innerScene.AddEntityFromStorage(obj); | 110 | m_innerScene.AddEntityFromStorage(obj); |
111 | 111 | ||
112 | SceneObjectPart rootPart = obj.GetChildPart(obj.UUID); | 112 | SceneObjectPart rootPart = obj.GetChildPart(obj.UUID); |
113 | bool UsePhysics = ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0); | 113 | bool UsePhysics = (((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) > 0) && m_parentScene.m_physicalPrim); |
114 | if ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Phantom) == 0) | 114 | if ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Phantom) == 0) |
115 | rootPart.PhysActor = m_innerScene.PhyScene.AddPrimShape( | 115 | rootPart.PhysActor = m_innerScene.PhyScene.AddPrimShape( |
116 | rootPart.Name, | 116 | rootPart.Name, |
diff --git a/OpenSim/Region/Examples/SimpleApp/MyWorld.cs b/OpenSim/Region/Examples/SimpleApp/MyWorld.cs index e658688..ae2f5ad 100644 --- a/OpenSim/Region/Examples/SimpleApp/MyWorld.cs +++ b/OpenSim/Region/Examples/SimpleApp/MyWorld.cs | |||
@@ -44,8 +44,8 @@ namespace SimpleApp | |||
44 | 44 | ||
45 | public MyWorld(RegionInfo regionInfo, AgentCircuitManager authen, CommunicationsManager commsMan, SceneCommunicationService sceneGridService, | 45 | public MyWorld(RegionInfo regionInfo, AgentCircuitManager authen, CommunicationsManager commsMan, SceneCommunicationService sceneGridService, |
46 | AssetCache assetCach, StorageManager storeMan, BaseHttpServer httpServer, | 46 | AssetCache assetCach, StorageManager storeMan, BaseHttpServer httpServer, |
47 | ModuleLoader moduleLoader) | 47 | ModuleLoader moduleLoader, bool physicalPrim) |
48 | : base(regionInfo, authen, commsMan, sceneGridService, assetCach, storeMan, httpServer, moduleLoader, false) | 48 | : base(regionInfo, authen, commsMan, sceneGridService, assetCach, storeMan, httpServer, moduleLoader, false, true) |
49 | { | 49 | { |
50 | m_avatars = new List<Avatar>(); | 50 | m_avatars = new List<Avatar>(); |
51 | } | 51 | } |
diff --git a/OpenSim/Region/Examples/SimpleApp/Program.cs b/OpenSim/Region/Examples/SimpleApp/Program.cs index 49fae93..73b8303 100644 --- a/OpenSim/Region/Examples/SimpleApp/Program.cs +++ b/OpenSim/Region/Examples/SimpleApp/Program.cs | |||
@@ -172,7 +172,7 @@ namespace SimpleApp | |||
172 | SceneCommunicationService sceneGridService = new SceneCommunicationService(m_commsManager); | 172 | SceneCommunicationService sceneGridService = new SceneCommunicationService(m_commsManager); |
173 | return | 173 | return |
174 | new MyWorld(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, storageManager, m_httpServer, | 174 | new MyWorld(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, storageManager, m_httpServer, |
175 | new ModuleLoader(m_log, m_config)); | 175 | new ModuleLoader(m_log, m_config), true); |
176 | } | 176 | } |
177 | 177 | ||
178 | protected override StorageManager CreateStorageManager(RegionInfo regionInfo) | 178 | protected override StorageManager CreateStorageManager(RegionInfo regionInfo) |