add OSSL osGetPhysicsEngineName(). this returns a string with name and version. does no permition checks or it whould be less usefull ( only ubOde returns value)
parent
e00603f78a
commit
ac72598c6b
|
@ -112,6 +112,8 @@ namespace OpenSim.Region.PhysicsModules.SharedBase
|
|||
/// </summary>
|
||||
public string EngineType { get; protected set; }
|
||||
|
||||
public string EngineName { get; protected set; }
|
||||
|
||||
// The only thing that should register for this event is the SceneGraph
|
||||
// Anything else could cause problems.
|
||||
public event physicsCrash OnPhysicsCrash;
|
||||
|
|
|
@ -29,6 +29,11 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
|||
get { return "ubODE"; }
|
||||
}
|
||||
|
||||
public string Version
|
||||
{
|
||||
get { return "1.0"; }
|
||||
}
|
||||
|
||||
public Type ReplaceableInterface
|
||||
{
|
||||
get { return null; }
|
||||
|
@ -75,7 +80,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
|||
|
||||
if(m_scenes.ContainsKey(scene)) // ???
|
||||
return;
|
||||
ODEScene newodescene = new ODEScene(scene, m_config, Name, OSOdeLib);
|
||||
ODEScene newodescene = new ODEScene(scene, m_config, Name, Version, OSOdeLib);
|
||||
m_scenes[scene] = newodescene;
|
||||
}
|
||||
|
||||
|
|
|
@ -324,13 +324,13 @@ namespace OpenSim.Region.PhysicsModule.ubOde
|
|||
|
||||
IConfig physicsconfig = null;
|
||||
|
||||
public ODEScene(Scene pscene, IConfigSource psourceconfig, string pname, bool pOSOdeLib)
|
||||
public ODEScene(Scene pscene, IConfigSource psourceconfig, string pname, string pversion, bool pOSOdeLib)
|
||||
{
|
||||
OdeLock = new Object();
|
||||
|
||||
EngineType = pname;
|
||||
PhysicsSceneName = EngineType + "/" + pscene.RegionInfo.RegionName;
|
||||
|
||||
EngineName = pname + " " + pversion;
|
||||
m_config = psourceconfig;
|
||||
m_OSOdeLib = pOSOdeLib;
|
||||
|
||||
|
|
|
@ -1724,6 +1724,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
return ret;
|
||||
}
|
||||
|
||||
public string osGetPhysicsEngineName()
|
||||
{
|
||||
// not doing security checks
|
||||
// this whould limit the use of this
|
||||
|
||||
m_host.AddScriptLPS(1);
|
||||
string ret = "NoEngine";
|
||||
if (m_ScriptEngine.World.PhysicsScene != null)
|
||||
{
|
||||
ret = m_ScriptEngine.World.PhysicsScene.EngineName;
|
||||
// An old physics engine might have an uninitialized engine type
|
||||
if (ret == null)
|
||||
ret = "UnknownEngine";
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
public string osGetSimulatorVersion()
|
||||
{
|
||||
// High because it can be used to target attacks to known weaknesses
|
||||
|
|
|
@ -262,6 +262,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
|
|||
string osGetSimulatorVersion();
|
||||
LSL_Integer osCheckODE();
|
||||
string osGetPhysicsEngineType();
|
||||
string osGetPhysicsEngineName();
|
||||
Object osParseJSONNew(string JSON);
|
||||
Hashtable osParseJSON(string JSON);
|
||||
|
||||
|
|
|
@ -435,6 +435,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
|||
return m_OSSL_Functions.osGetPhysicsEngineType();
|
||||
}
|
||||
|
||||
public string osGetPhysicsEngineName()
|
||||
{
|
||||
return m_OSSL_Functions.osGetPhysicsEngineName();
|
||||
}
|
||||
|
||||
public string osGetSimulatorVersion()
|
||||
{
|
||||
return m_OSSL_Functions.osGetSimulatorVersion();
|
||||
|
|
Loading…
Reference in New Issue