diff options
author | diva | 2009-02-15 05:00:58 +0000 |
---|---|---|
committer | diva | 2009-02-15 05:00:58 +0000 |
commit | 3d5a9e6748ef743c4db04b427d4d76ea65269618 (patch) | |
tree | 1877a66c0ca1f4caa455a7f98dd221897e687620 /OpenSim/Region/Physics/PhysXPlugin | |
parent | Set sculpt map alpha to 255 prior to scaling and meshing. Addresses Mantis #3150 (diff) | |
download | opensim-SC-3d5a9e6748ef743c4db04b427d4d76ea65269618.zip opensim-SC-3d5a9e6748ef743c4db04b427d4d76ea65269618.tar.gz opensim-SC-3d5a9e6748ef743c4db04b427d4d76ea65269618.tar.bz2 opensim-SC-3d5a9e6748ef743c4db04b427d4d76ea65269618.tar.xz |
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.
Diffstat (limited to 'OpenSim/Region/Physics/PhysXPlugin')
-rw-r--r-- | OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs | 3 |
1 files changed, 2 insertions, 1 deletions
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 | |||
102 | 102 | ||
103 | } | 103 | } |
104 | 104 | ||
105 | public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size) | 105 | public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying) |
106 | { | 106 | { |
107 | Vec3 pos = new Vec3(); | 107 | Vec3 pos = new Vec3(); |
108 | pos.X = position.X; | 108 | pos.X = position.X; |
109 | pos.Y = position.Y; | 109 | pos.Y = position.Y; |
110 | pos.Z = position.Z; | 110 | pos.Z = position.Z; |
111 | PhysXCharacter act = new PhysXCharacter(scene.AddCharacter(pos)); | 111 | PhysXCharacter act = new PhysXCharacter(scene.AddCharacter(pos)); |
112 | act.Flying = isFlying; | ||
112 | act.Position = position; | 113 | act.Position = position; |
113 | _characters.Add(act); | 114 | _characters.Add(act); |
114 | return act; | 115 | return act; |