* adds flag in OpenSim.ini for disabling physical prim. Look at OpenSim.ini.example in the bin folder for an example.
parent
9a4b4dae5e
commit
ec77e1eb17
|
@ -73,6 +73,7 @@ namespace OpenSim
|
||||||
protected List<RegionInfo> m_regionData = new List<RegionInfo>();
|
protected List<RegionInfo> m_regionData = new List<RegionInfo>();
|
||||||
|
|
||||||
private bool m_verbose;
|
private bool m_verbose;
|
||||||
|
private bool m_physicalPrim;
|
||||||
private readonly string m_logFilename = ("region-console.log");
|
private readonly string m_logFilename = ("region-console.log");
|
||||||
private bool m_permissions = false;
|
private bool m_permissions = false;
|
||||||
|
|
||||||
|
@ -154,6 +155,7 @@ namespace OpenSim
|
||||||
config.Set("gridmode", false);
|
config.Set("gridmode", false);
|
||||||
config.Set("physics", "basicphysics");
|
config.Set("physics", "basicphysics");
|
||||||
config.Set("verbose", true);
|
config.Set("verbose", true);
|
||||||
|
config.Set("physical_prim", true);
|
||||||
config.Set("serverside_object_permissions", false);
|
config.Set("serverside_object_permissions", false);
|
||||||
|
|
||||||
config.Set("storage_plugin", "OpenSim.DataStore.NullStorage.dll");
|
config.Set("storage_plugin", "OpenSim.DataStore.NullStorage.dll");
|
||||||
|
@ -213,6 +215,7 @@ namespace OpenSim
|
||||||
m_physicsEngine = startupConfig.GetString("physics", "basicphysics");
|
m_physicsEngine = startupConfig.GetString("physics", "basicphysics");
|
||||||
m_meshEngineName = startupConfig.GetString("meshing", "Meshmerizer");
|
m_meshEngineName = startupConfig.GetString("meshing", "Meshmerizer");
|
||||||
m_verbose = startupConfig.GetBoolean("verbose", true);
|
m_verbose = startupConfig.GetBoolean("verbose", true);
|
||||||
|
m_physicalPrim = startupConfig.GetBoolean("physical_prim", true);
|
||||||
m_permissions = startupConfig.GetBoolean("serverside_object_permissions", false);
|
m_permissions = startupConfig.GetBoolean("serverside_object_permissions", false);
|
||||||
|
|
||||||
m_storageDLL = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll");
|
m_storageDLL = startupConfig.GetString("storage_plugin", "OpenSim.DataStore.NullStorage.dll");
|
||||||
|
@ -365,7 +368,7 @@ namespace OpenSim
|
||||||
SceneCommunicationService sceneGridService = new SceneCommunicationService(m_commsManager);
|
SceneCommunicationService sceneGridService = new SceneCommunicationService(m_commsManager);
|
||||||
return
|
return
|
||||||
new Scene(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, storageManager, m_httpServer,
|
new Scene(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, storageManager, m_httpServer,
|
||||||
m_moduleLoader, m_dumpAssetsToFile);
|
m_moduleLoader, m_dumpAssetsToFile, m_physicalPrim);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void Initialize()
|
protected override void Initialize()
|
||||||
|
|
|
@ -446,7 +446,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
AddEntity(group);
|
AddEntity(group);
|
||||||
group.AbsolutePosition = pos;
|
group.AbsolutePosition = pos;
|
||||||
SceneObjectPart rootPart = group.GetChildPart(group.UUID);
|
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)
|
if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0)
|
||||||
{
|
{
|
||||||
PrimitiveBaseShape pbs = rootPart.Shape;
|
PrimitiveBaseShape pbs = rootPart.Shape;
|
||||||
|
|
|
@ -68,7 +68,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
private int m_timeUpdateCount;
|
private int m_timeUpdateCount;
|
||||||
|
|
||||||
private readonly Mutex updateLock;
|
private readonly Mutex updateLock;
|
||||||
|
public bool m_physicalPrim;
|
||||||
protected ModuleLoader m_moduleLoader;
|
protected ModuleLoader m_moduleLoader;
|
||||||
protected StorageManager m_storageManager;
|
protected StorageManager m_storageManager;
|
||||||
protected AgentCircuitManager m_authenticateHandler;
|
protected AgentCircuitManager m_authenticateHandler;
|
||||||
|
@ -192,7 +192,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
|
|
||||||
public Scene(RegionInfo regInfo, AgentCircuitManager authen, CommunicationsManager commsMan, SceneCommunicationService sceneGridService,
|
public Scene(RegionInfo regInfo, AgentCircuitManager authen, CommunicationsManager commsMan, SceneCommunicationService sceneGridService,
|
||||||
AssetCache assetCach, StorageManager storeManager, BaseHttpServer httpServer,
|
AssetCache assetCach, StorageManager storeManager, BaseHttpServer httpServer,
|
||||||
ModuleLoader moduleLoader, bool dumpAssetsToFile)
|
ModuleLoader moduleLoader, bool dumpAssetsToFile, bool physicalPrim)
|
||||||
{
|
{
|
||||||
updateLock = new Mutex(false);
|
updateLock = new Mutex(false);
|
||||||
|
|
||||||
|
@ -207,6 +207,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
m_regionName = m_regInfo.RegionName;
|
m_regionName = m_regInfo.RegionName;
|
||||||
m_datastore = m_regInfo.DataStore;
|
m_datastore = m_regInfo.DataStore;
|
||||||
RegisterRegionWithComms();
|
RegisterRegionWithComms();
|
||||||
|
m_physicalPrim = physicalPrim;
|
||||||
|
|
||||||
m_LandManager = new LandManager(this, m_regInfo);
|
m_LandManager = new LandManager(this, m_regInfo);
|
||||||
m_estateManager = new EstateManager(this, m_regInfo);
|
m_estateManager = new EstateManager(this, m_regInfo);
|
||||||
|
@ -522,7 +523,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
{
|
{
|
||||||
AddEntityFromStorage(prim);
|
AddEntityFromStorage(prim);
|
||||||
SceneObjectPart rootPart = prim.GetChildPart(prim.UUID);
|
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)
|
if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0)
|
||||||
rootPart.PhysActor = phyScene.AddPrimShape(
|
rootPart.PhysActor = phyScene.AddPrimShape(
|
||||||
rootPart.Name,
|
rootPart.Name,
|
||||||
|
@ -572,7 +573,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
rootPart.ObjectFlags += (uint) LLObject.ObjectFlags.Phantom;
|
rootPart.ObjectFlags += (uint) LLObject.ObjectFlags.Phantom;
|
||||||
}
|
}
|
||||||
// if not phantom, add to physics
|
// 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)
|
if ((rootPart.ObjectFlags & (uint) LLObject.ObjectFlags.Phantom) == 0)
|
||||||
rootPart.PhysActor =
|
rootPart.PhysActor =
|
||||||
phyScene.AddPrimShape(
|
phyScene.AddPrimShape(
|
||||||
|
|
|
@ -770,7 +770,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
{
|
{
|
||||||
i += 46;
|
i += 46;
|
||||||
//IsLocked = (data[i++] != 0) ? true : false;
|
//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());
|
//System.Console.WriteLine("U" + packet.ToBytes().Length.ToString());
|
||||||
IsTemporary = (data[i++] != 0) ? true : false;
|
IsTemporary = (data[i++] != 0) ? true : false;
|
||||||
IsPhantom = (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
|
//Silently ignore it - TODO: FIXME Quick
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UsePhysics)
|
if (UsePhysics )
|
||||||
{
|
{
|
||||||
AddFlag(LLObject.ObjectFlags.Physics);
|
AddFlag(LLObject.ObjectFlags.Physics);
|
||||||
if (PhysActor != null)
|
if (PhysActor != null)
|
||||||
|
@ -791,9 +791,12 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
RemFlag(LLObject.ObjectFlags.Physics);
|
if (m_parentGroup.m_scene.m_physicalPrim)
|
||||||
if (PhysActor != null)
|
{
|
||||||
PhysActor.OnRequestTerseUpdate -= PhysicsRequestingTerseUpdate;
|
RemFlag(LLObject.ObjectFlags.Physics);
|
||||||
|
if (PhysActor != null)
|
||||||
|
PhysActor.OnRequestTerseUpdate -= PhysicsRequestingTerseUpdate;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsPhantom)
|
if (IsPhantom)
|
||||||
|
|
|
@ -44,7 +44,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
m_innerScene.AddEntity(obj);
|
m_innerScene.AddEntity(obj);
|
||||||
|
|
||||||
SceneObjectPart rootPart = obj.GetChildPart(obj.UUID);
|
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)
|
if ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Phantom) == 0)
|
||||||
rootPart.PhysActor = m_innerScene.PhyScene.AddPrimShape(
|
rootPart.PhysActor = m_innerScene.PhyScene.AddPrimShape(
|
||||||
rootPart.Name,
|
rootPart.Name,
|
||||||
|
@ -110,7 +110,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
m_innerScene.AddEntityFromStorage(obj);
|
m_innerScene.AddEntityFromStorage(obj);
|
||||||
|
|
||||||
SceneObjectPart rootPart = obj.GetChildPart(obj.UUID);
|
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)
|
if ((rootPart.ObjectFlags & (uint)LLObject.ObjectFlags.Phantom) == 0)
|
||||||
rootPart.PhysActor = m_innerScene.PhyScene.AddPrimShape(
|
rootPart.PhysActor = m_innerScene.PhyScene.AddPrimShape(
|
||||||
rootPart.Name,
|
rootPart.Name,
|
||||||
|
|
|
@ -44,8 +44,8 @@ namespace SimpleApp
|
||||||
|
|
||||||
public MyWorld(RegionInfo regionInfo, AgentCircuitManager authen, CommunicationsManager commsMan, SceneCommunicationService sceneGridService,
|
public MyWorld(RegionInfo regionInfo, AgentCircuitManager authen, CommunicationsManager commsMan, SceneCommunicationService sceneGridService,
|
||||||
AssetCache assetCach, StorageManager storeMan, BaseHttpServer httpServer,
|
AssetCache assetCach, StorageManager storeMan, BaseHttpServer httpServer,
|
||||||
ModuleLoader moduleLoader)
|
ModuleLoader moduleLoader, bool physicalPrim)
|
||||||
: base(regionInfo, authen, commsMan, sceneGridService, assetCach, storeMan, httpServer, moduleLoader, false)
|
: base(regionInfo, authen, commsMan, sceneGridService, assetCach, storeMan, httpServer, moduleLoader, false, true)
|
||||||
{
|
{
|
||||||
m_avatars = new List<Avatar>();
|
m_avatars = new List<Avatar>();
|
||||||
}
|
}
|
||||||
|
|
|
@ -172,7 +172,7 @@ namespace SimpleApp
|
||||||
SceneCommunicationService sceneGridService = new SceneCommunicationService(m_commsManager);
|
SceneCommunicationService sceneGridService = new SceneCommunicationService(m_commsManager);
|
||||||
return
|
return
|
||||||
new MyWorld(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, storageManager, m_httpServer,
|
new MyWorld(regionInfo, circuitManager, m_commsManager, sceneGridService, m_assetCache, storageManager, m_httpServer,
|
||||||
new ModuleLoader(m_log, m_config));
|
new ModuleLoader(m_log, m_config), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override StorageManager CreateStorageManager(RegionInfo regionInfo)
|
protected override StorageManager CreateStorageManager(RegionInfo regionInfo)
|
||||||
|
|
|
@ -1,63 +1,64 @@
|
||||||
[Startup]
|
[Startup]
|
||||||
gridmode = false
|
gridmode = false
|
||||||
physics = basicphysics
|
physics = basicphysics
|
||||||
; Prim Storage
|
; Prim Storage
|
||||||
; if you would like to use sqlite uncomment the following line (and
|
; if you would like to use sqlite uncomment the following line (and
|
||||||
; comment the NullStorage line)
|
; comment the NullStorage line)
|
||||||
storage_plugin = "OpenSim.DataStore.MonoSqlite.dll"
|
storage_plugin = "OpenSim.DataStore.MonoSqlite.dll"
|
||||||
;storage_plugin = "OpenSim.DataStore.NullStorage.dll"
|
;storage_plugin = "OpenSim.DataStore.NullStorage.dll"
|
||||||
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"
|
||||||
serverside_object_permissions = false
|
serverside_object_permissions = false
|
||||||
|
|
||||||
; asset_database = "db4o"
|
; asset_database = "db4o"
|
||||||
; to try sqlite as the asset database , comment out the above line, and uncomment following one
|
; to try sqlite as the asset database , comment out the above line, and uncomment following one
|
||||||
asset_database = "sqlite"
|
asset_database = "sqlite"
|
||||||
verbose = true
|
verbose = true
|
||||||
|
physical_prim = true
|
||||||
[StandAlone]
|
|
||||||
accounts_authenticate = true
|
[StandAlone]
|
||||||
welcome_message = "Welcome to OpenSim"
|
accounts_authenticate = true
|
||||||
inventory_plugin = "OpenSim.Framework.Data.SQLite.dll"
|
welcome_message = "Welcome to OpenSim"
|
||||||
; userDatabase_plugin = "OpenSim.Framework.Data.DB4o.dll"
|
inventory_plugin = "OpenSim.Framework.Data.SQLite.dll"
|
||||||
userDatabase_plugin = "OpenSim.Framework.Data.SQLite.dll"
|
; userDatabase_plugin = "OpenSim.Framework.Data.DB4o.dll"
|
||||||
default_location_x = 1000
|
userDatabase_plugin = "OpenSim.Framework.Data.SQLite.dll"
|
||||||
default_location_y = 1000
|
default_location_x = 1000
|
||||||
dump_assets_to_file = false
|
default_location_y = 1000
|
||||||
|
dump_assets_to_file = false
|
||||||
[Network]
|
|
||||||
http_listener_port = 9000
|
[Network]
|
||||||
remoting_listener_port = 8895
|
http_listener_port = 9000
|
||||||
|
remoting_listener_port = 8895
|
||||||
grid_server_url = "http://127.0.0.1:8001"
|
|
||||||
grid_send_key = "null"
|
grid_server_url = "http://127.0.0.1:8001"
|
||||||
grid_recv_key = "null"
|
grid_send_key = "null"
|
||||||
|
grid_recv_key = "null"
|
||||||
user_server_url = "http://127.0.0.1:8002"
|
|
||||||
user_send_key = "null"
|
user_server_url = "http://127.0.0.1:8002"
|
||||||
user_recv_key = "null"
|
user_send_key = "null"
|
||||||
|
user_recv_key = "null"
|
||||||
asset_server_url = "http://127.0.0.1:8003"
|
|
||||||
|
asset_server_url = "http://127.0.0.1:8003"
|
||||||
[Chat]
|
|
||||||
whisper_distance = 10
|
[Chat]
|
||||||
say_distance = 30
|
whisper_distance = 10
|
||||||
shout_distance = 100
|
say_distance = 30
|
||||||
|
shout_distance = 100
|
||||||
; Uncomment the following for IRC bridge
|
|
||||||
; experimental, so if it breaks... keep both parts... yada yada
|
; Uncomment the following for IRC bridge
|
||||||
; also, not good error detection when it fails
|
; experimental, so if it breaks... keep both parts... yada yada
|
||||||
;[IRC]
|
; also, not good error detection when it fails
|
||||||
;server = name.of.irc.server.on.the.net
|
;[IRC]
|
||||||
;nick = OpenSimBotNameProbablyMakeThisShorter
|
;server = name.of.irc.server.on.the.net
|
||||||
;channel = #the_irc_channel_you_want_to_connect_to
|
;nick = OpenSimBotNameProbablyMakeThisShorter
|
||||||
|
;channel = #the_irc_channel_you_want_to_connect_to
|
||||||
; Uncomment the following to control the progression of daytime
|
|
||||||
; in the Sim. The defaults are what is shown below
|
; Uncomment the following to control the progression of daytime
|
||||||
;[Sun]
|
; in the Sim. The defaults are what is shown below
|
||||||
; number of wall clock hours for an opensim day. 24.0 would mean realtime
|
;[Sun]
|
||||||
;day_length = 0.5
|
; number of wall clock hours for an opensim day. 24.0 would mean realtime
|
||||||
|
;day_length = 0.5
|
||||||
; send a Sun update ever frame_rate # of frames. A lower number will
|
|
||||||
; make for smoother sun transition at the cost of network
|
; send a Sun update ever frame_rate # of frames. A lower number will
|
||||||
;frame_rate = 100
|
; make for smoother sun transition at the cost of network
|
||||||
|
;frame_rate = 100
|
||||||
|
|
Loading…
Reference in New Issue