From 3d5a9e6748ef743c4db04b427d4d76ea65269618 Mon Sep 17 00:00:00 2001 From: diva Date: Sun, 15 Feb 2009 05:00:58 +0000 Subject: This started as way to correct Mantis #3158, which I believe should be fixed now. The flying status was temporarily being ignored, which caused the avie to drop sometimes -- there was a race condition. In the process it also fixes that annoying bug in basic physics where the avie would drop half-way to the ground upon region crossings (SetAppearance was missing). Additionally, a lot of child-agent-related code has been cleaned up; namely child agents are now consistently not added to physical scenes, and they also don't have appearances. All of that happens in MakeRoot, consistently. --- OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Physics/PhysXPlugin') diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs index fa59dbe..18935fb 100644 --- a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs +++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs @@ -102,13 +102,14 @@ namespace OpenSim.Region.Physics.PhysXPlugin } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size) + public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying) { Vec3 pos = new Vec3(); pos.X = position.X; pos.Y = position.Y; pos.Z = position.Z; PhysXCharacter act = new PhysXCharacter(scene.AddCharacter(pos)); + act.Flying = isFlying; act.Position = position; _characters.Add(act); return act; -- cgit v1.1