diff options
-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 | ||||
-rw-r--r-- | bin/OpenSim.ini.example | 127 |
8 files changed, 87 insertions, 79 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) |
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 3930dd4..49de4c2 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example | |||
@@ -1,63 +1,64 @@ | |||
1 | [Startup] | 1 | [Startup] |
2 | gridmode = false | 2 | gridmode = false |
3 | physics = basicphysics | 3 | physics = basicphysics |
4 | ; Prim Storage | 4 | ; Prim Storage |
5 | ; if you would like to use sqlite uncomment the following line (and | 5 | ; if you would like to use sqlite uncomment the following line (and |
6 | ; comment the NullStorage line) | 6 | ; comment the NullStorage line) |
7 | storage_plugin = "OpenSim.DataStore.MonoSqlite.dll" | 7 | storage_plugin = "OpenSim.DataStore.MonoSqlite.dll" |
8 | ;storage_plugin = "OpenSim.DataStore.NullStorage.dll" | 8 | ;storage_plugin = "OpenSim.DataStore.NullStorage.dll" |
9 | startup_console_commands_file = "startup_commands.txt" | 9 | startup_console_commands_file = "startup_commands.txt" |
10 | shutdown_console_commands_file = "shutdown_commands.txt" | 10 | shutdown_console_commands_file = "shutdown_commands.txt" |
11 | serverside_object_permissions = false | 11 | serverside_object_permissions = false |
12 | 12 | ||
13 | ; asset_database = "db4o" | 13 | ; asset_database = "db4o" |
14 | ; to try sqlite as the asset database , comment out the above line, and uncomment following one | 14 | ; to try sqlite as the asset database , comment out the above line, and uncomment following one |
15 | asset_database = "sqlite" | 15 | asset_database = "sqlite" |
16 | verbose = true | 16 | verbose = true |
17 | 17 | physical_prim = true | |
18 | [StandAlone] | 18 | |
19 | accounts_authenticate = true | 19 | [StandAlone] |
20 | welcome_message = "Welcome to OpenSim" | 20 | accounts_authenticate = true |
21 | inventory_plugin = "OpenSim.Framework.Data.SQLite.dll" | 21 | welcome_message = "Welcome to OpenSim" |
22 | ; userDatabase_plugin = "OpenSim.Framework.Data.DB4o.dll" | 22 | inventory_plugin = "OpenSim.Framework.Data.SQLite.dll" |
23 | userDatabase_plugin = "OpenSim.Framework.Data.SQLite.dll" | 23 | ; userDatabase_plugin = "OpenSim.Framework.Data.DB4o.dll" |
24 | default_location_x = 1000 | 24 | userDatabase_plugin = "OpenSim.Framework.Data.SQLite.dll" |
25 | default_location_y = 1000 | 25 | default_location_x = 1000 |
26 | dump_assets_to_file = false | 26 | default_location_y = 1000 |
27 | 27 | dump_assets_to_file = false | |
28 | [Network] | 28 | |
29 | http_listener_port = 9000 | 29 | [Network] |
30 | remoting_listener_port = 8895 | 30 | http_listener_port = 9000 |
31 | 31 | remoting_listener_port = 8895 | |
32 | grid_server_url = "http://127.0.0.1:8001" | 32 | |
33 | grid_send_key = "null" | 33 | grid_server_url = "http://127.0.0.1:8001" |
34 | grid_recv_key = "null" | 34 | grid_send_key = "null" |
35 | 35 | grid_recv_key = "null" | |
36 | user_server_url = "http://127.0.0.1:8002" | 36 | |
37 | user_send_key = "null" | 37 | user_server_url = "http://127.0.0.1:8002" |
38 | user_recv_key = "null" | 38 | user_send_key = "null" |
39 | 39 | user_recv_key = "null" | |
40 | asset_server_url = "http://127.0.0.1:8003" | 40 | |
41 | 41 | asset_server_url = "http://127.0.0.1:8003" | |
42 | [Chat] | 42 | |
43 | whisper_distance = 10 | 43 | [Chat] |
44 | say_distance = 30 | 44 | whisper_distance = 10 |
45 | shout_distance = 100 | 45 | say_distance = 30 |
46 | 46 | shout_distance = 100 | |
47 | ; Uncomment the following for IRC bridge | 47 | |
48 | ; experimental, so if it breaks... keep both parts... yada yada | 48 | ; Uncomment the following for IRC bridge |
49 | ; also, not good error detection when it fails | 49 | ; experimental, so if it breaks... keep both parts... yada yada |
50 | ;[IRC] | 50 | ; also, not good error detection when it fails |
51 | ;server = name.of.irc.server.on.the.net | 51 | ;[IRC] |
52 | ;nick = OpenSimBotNameProbablyMakeThisShorter | 52 | ;server = name.of.irc.server.on.the.net |
53 | ;channel = #the_irc_channel_you_want_to_connect_to | 53 | ;nick = OpenSimBotNameProbablyMakeThisShorter |
54 | 54 | ;channel = #the_irc_channel_you_want_to_connect_to | |
55 | ; Uncomment the following to control the progression of daytime | 55 | |
56 | ; in the Sim. The defaults are what is shown below | 56 | ; Uncomment the following to control the progression of daytime |
57 | ;[Sun] | 57 | ; in the Sim. The defaults are what is shown below |
58 | ; number of wall clock hours for an opensim day. 24.0 would mean realtime | 58 | ;[Sun] |
59 | ;day_length = 0.5 | 59 | ; number of wall clock hours for an opensim day. 24.0 would mean realtime |
60 | 60 | ;day_length = 0.5 | |
61 | ; send a Sun update ever frame_rate # of frames. A lower number will | 61 | |
62 | ; make for smoother sun transition at the cost of network | 62 | ; send a Sun update ever frame_rate # of frames. A lower number will |
63 | ;frame_rate = 100 | 63 | ; make for smoother sun transition at the cost of network |
64 | ;frame_rate = 100 | ||