Merge branch 'prioritization' of ssh://opensimulator.org/var/git/opensim into prioritization

prioritization
John Hurliman 2009-10-18 20:25:16 -07:00
commit 6d04a213d6
2 changed files with 14 additions and 1 deletions

View File

@ -139,8 +139,14 @@ namespace OpenSim.Region.Physics.OdePlugin
public int m_eventsubscription = 0; public int m_eventsubscription = 0;
private CollisionEventUpdate CollisionEventsThisFrame = new CollisionEventUpdate(); private CollisionEventUpdate CollisionEventsThisFrame = new CollisionEventUpdate();
// unique UUID of this character object
public UUID m_uuid;
public bool bad = false;
public OdeCharacter(String avName, OdeScene parent_scene, PhysicsVector pos, CollisionLocker dode, PhysicsVector 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, PhysicsVector pos, CollisionLocker dode, PhysicsVector size, float pid_d, float pid_p, float capsule_radius, float tensor, float density, float height_fudge_factor, float walk_divisor, float rundivisor)
{ {
m_uuid = UUID.Random();
// ode = dode; // ode = dode;
_velocity = new PhysicsVector(); _velocity = new PhysicsVector();
_target_velocity = new PhysicsVector(); _target_velocity = new PhysicsVector();
@ -1112,10 +1118,11 @@ namespace OpenSim.Region.Physics.OdePlugin
} }
catch (NullReferenceException) catch (NullReferenceException)
{ {
bad = true;
_parent_scene.BadCharacter(this); _parent_scene.BadCharacter(this);
vec = new d.Vector3(_position.X, _position.Y, _position.Z); vec = new d.Vector3(_position.X, _position.Y, _position.Z);
base.RaiseOutOfBounds(_position); // Tells ScenePresence that there's a problem! base.RaiseOutOfBounds(_position); // Tells ScenePresence that there's a problem!
m_log.WarnFormat("[ODEPLUGIN]: Avatar Null reference for Avatar: {0}", m_name); m_log.WarnFormat("[ODEPLUGIN]: Avatar Null reference for Avatar {0}, physical actor {1}", m_name, m_uuid);
} }

View File

@ -1664,6 +1664,8 @@ namespace OpenSim.Region.Physics.OdePlugin
if (!_characters.Contains(chr)) if (!_characters.Contains(chr))
{ {
_characters.Add(chr); _characters.Add(chr);
if (chr.bad)
m_log.DebugFormat("[PHYSICS] Added BAD actor {0} to characters list", chr.m_uuid);
} }
} }
} }
@ -2581,7 +2583,11 @@ namespace OpenSim.Region.Physics.OdePlugin
lock (_taintedActors) lock (_taintedActors)
{ {
if (!(_taintedActors.Contains(taintedchar))) if (!(_taintedActors.Contains(taintedchar)))
{
_taintedActors.Add(taintedchar); _taintedActors.Add(taintedchar);
if (taintedchar.bad)
m_log.DebugFormat("[PHYSICS]: Added BAD actor {0} to tainted actors", taintedchar.m_uuid);
}
} }
} }
} }