Experimental locking of taint processing
parent
1c1f308052
commit
83b16612ce
|
@ -143,6 +143,7 @@ namespace OpenSim.Region.Physics.OdePlugin
|
||||||
// unique UUID of this character object
|
// unique UUID of this character object
|
||||||
public UUID m_uuid;
|
public UUID m_uuid;
|
||||||
public bool bad = false;
|
public bool bad = false;
|
||||||
|
private Object m_syncRoot = new Object();
|
||||||
|
|
||||||
public OdeCharacter(String avName, OdeScene parent_scene, Vector3 pos, CollisionLocker dode, Vector3 size, float pid_d, float pid_p, float capsule_radius, float tensor, float density, float height_fudge_factor, float walk_divisor, float rundivisor)
|
public OdeCharacter(String avName, OdeScene parent_scene, Vector3 pos, CollisionLocker dode, Vector3 size, float pid_d, float pid_p, float capsule_radius, float tensor, float density, float height_fudge_factor, float walk_divisor, float rundivisor)
|
||||||
{
|
{
|
||||||
|
@ -1322,6 +1323,8 @@ Console.WriteLine("**** Create {2} Dicts: actor={0} name={1} height={3} ra
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ProcessTaints(float timestep)
|
public void ProcessTaints(float timestep)
|
||||||
|
{
|
||||||
|
lock (m_syncRoot)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (m_tainted_isPhysical != m_isPhysical)
|
if (m_tainted_isPhysical != m_isPhysical)
|
||||||
|
@ -1370,9 +1373,9 @@ Console.WriteLine("**** Create {2} Dicts: actor={0} name={1} height={3} ra
|
||||||
m_log.Error("[PHYSICS]: PrimGeom dead");
|
m_log.Error("[PHYSICS]: PrimGeom dead");
|
||||||
}
|
}
|
||||||
// Remove any old entries
|
// Remove any old entries
|
||||||
//string tShell;
|
//string tShell;
|
||||||
//_parent_scene.geom_name_map.TryGetValue(Shell, out tShell);
|
//_parent_scene.geom_name_map.TryGetValue(Shell, out tShell);
|
||||||
//Console.WriteLine("**** Remove {0}", tShell);
|
//Console.WriteLine("**** Remove {0}", tShell);
|
||||||
|
|
||||||
if(_parent_scene.geom_name_map.ContainsKey(Shell)) _parent_scene.geom_name_map.Remove(Shell);
|
if(_parent_scene.geom_name_map.ContainsKey(Shell)) _parent_scene.geom_name_map.Remove(Shell);
|
||||||
if(_parent_scene.actor_name_map.ContainsKey(Shell)) _parent_scene.actor_name_map.Remove(Shell);
|
if(_parent_scene.actor_name_map.ContainsKey(Shell)) _parent_scene.actor_name_map.Remove(Shell);
|
||||||
|
@ -1421,6 +1424,7 @@ Console.WriteLine("**** Create {2} Dicts: actor={0} name={1} height={3} ra
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal void AddCollisionFrameTime(int p)
|
internal void AddCollisionFrameTime(int p)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue