diff options
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/OdePlugin')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index ae47636..f30de4d 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -1313,13 +1313,14 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1313 | 1313 | ||
1314 | #region Add/Remove Entities | 1314 | #region Add/Remove Entities |
1315 | 1315 | ||
1316 | public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size) | 1316 | public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying) |
1317 | { | 1317 | { |
1318 | PhysicsVector pos = new PhysicsVector(); | 1318 | PhysicsVector pos = new PhysicsVector(); |
1319 | pos.X = position.X; | 1319 | pos.X = position.X; |
1320 | pos.Y = position.Y; | 1320 | pos.Y = position.Y; |
1321 | pos.Z = position.Z; | 1321 | pos.Z = position.Z; |
1322 | OdeCharacter newAv = new OdeCharacter(avName, this, pos, ode, size, avPIDD, avPIDP, avCapRadius, avStandupTensor, avDensity, avHeightFudgeFactor, avMovementDivisorWalk, avMovementDivisorRun); | 1322 | OdeCharacter newAv = new OdeCharacter(avName, this, pos, ode, size, avPIDD, avPIDP, avCapRadius, avStandupTensor, avDensity, avHeightFudgeFactor, avMovementDivisorWalk, avMovementDivisorRun); |
1323 | newAv.Flying = isFlying; | ||
1323 | _characters.Add(newAv); | 1324 | _characters.Add(newAv); |
1324 | return newAv; | 1325 | return newAv; |
1325 | } | 1326 | } |