diff options
author | Robert Adams | 2013-08-13 21:06:24 -0700 |
---|---|---|
committer | Robert Adams | 2013-08-13 21:06:24 -0700 |
commit | 0feb5da31e0986d46ea06ffb9804cf30f700e119 (patch) | |
tree | 73d065c47eb1562a3994aef6180665119f0dba3a /OpenSim/Region/Physics | |
parent | Add a SendAgentUpdates setting to a new pCampbot.ini.example file which can c... (diff) | |
download | opensim-SC_OLD-0feb5da31e0986d46ea06ffb9804cf30f700e119.zip opensim-SC_OLD-0feb5da31e0986d46ea06ffb9804cf30f700e119.tar.gz opensim-SC_OLD-0feb5da31e0986d46ea06ffb9804cf30f700e119.tar.bz2 opensim-SC_OLD-0feb5da31e0986d46ea06ffb9804cf30f700e119.tar.xz |
BulletSim: move the creation of the avatar movement actor creating to
taint time. Attempt to fix a problem of teleporting within the same
region where the remove and addition of the physical avatar occasionally
ends up with a non-moving avatar.
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r-- | OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs index d584782..502f85f 100644 --- a/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSCharacter.cs | |||
@@ -89,13 +89,6 @@ public sealed class BSCharacter : BSPhysObject | |||
89 | // set _avatarVolume and _mass based on capsule size, _density and Scale | 89 | // set _avatarVolume and _mass based on capsule size, _density and Scale |
90 | ComputeAvatarVolumeAndMass(); | 90 | ComputeAvatarVolumeAndMass(); |
91 | 91 | ||
92 | // The avatar's movement is controlled by this motor that speeds up and slows down | ||
93 | // the avatar seeking to reach the motor's target speed. | ||
94 | // This motor runs as a prestep action for the avatar so it will keep the avatar | ||
95 | // standing as well as moving. Destruction of the avatar will destroy the pre-step action. | ||
96 | m_moveActor = new BSActorAvatarMove(PhysScene, this, AvatarMoveActorName); | ||
97 | PhysicalActors.Add(AvatarMoveActorName, m_moveActor); | ||
98 | |||
99 | DetailLog("{0},BSCharacter.create,call,size={1},scale={2},density={3},volume={4},mass={5},pos={6}", | 92 | DetailLog("{0},BSCharacter.create,call,size={1},scale={2},density={3},volume={4},mass={5},pos={6}", |
100 | LocalID, _size, Scale, Density, _avatarVolume, RawMass, pos); | 93 | LocalID, _size, Scale, Density, _avatarVolume, RawMass, pos); |
101 | 94 | ||
@@ -106,6 +99,13 @@ public sealed class BSCharacter : BSPhysObject | |||
106 | // New body and shape into PhysBody and PhysShape | 99 | // New body and shape into PhysBody and PhysShape |
107 | PhysScene.Shapes.GetBodyAndShape(true, PhysScene.World, this); | 100 | PhysScene.Shapes.GetBodyAndShape(true, PhysScene.World, this); |
108 | 101 | ||
102 | // The avatar's movement is controlled by this motor that speeds up and slows down | ||
103 | // the avatar seeking to reach the motor's target speed. | ||
104 | // This motor runs as a prestep action for the avatar so it will keep the avatar | ||
105 | // standing as well as moving. Destruction of the avatar will destroy the pre-step action. | ||
106 | m_moveActor = new BSActorAvatarMove(PhysScene, this, AvatarMoveActorName); | ||
107 | PhysicalActors.Add(AvatarMoveActorName, m_moveActor); | ||
108 | |||
109 | SetPhysicalProperties(); | 109 | SetPhysicalProperties(); |
110 | }); | 110 | }); |
111 | return; | 111 | return; |