aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
diff options
context:
space:
mode:
authorTeravus Ovares2007-12-26 17:16:47 +0000
committerTeravus Ovares2007-12-26 17:16:47 +0000
commitf852b6455550569d002d0b1c527249f3f7894326 (patch)
tree95abccc4ae8529dc8c1b2aa283ac44e952f7dda7 /OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
parent* Patch by Melanie to fix CreateSelected (diff)
downloadopensim-SC-f852b6455550569d002d0b1c527249f3f7894326.zip
opensim-SC-f852b6455550569d002d0b1c527249f3f7894326.tar.gz
opensim-SC-f852b6455550569d002d0b1c527249f3f7894326.tar.bz2
opensim-SC-f852b6455550569d002d0b1c527249f3f7894326.tar.xz
* This update includes a wide range of changes to the ODEPlugin for avatar movement, including:
** - avatar can navigate stairs better now ** - avatar can land without shooting into the air ** - excessive collisions with the ground are tempered somewhat and should only shoot the avatar up 20m instead of 200m ** - Try Catched a TextureDownloadModule.cs array out of bounds error with a report that causes it not to crash the sim, however it reports a few important items for tracking it down.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODECharacter.cs39
1 files changed, 21 insertions, 18 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
index 33b2e4f..9676db4 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs
@@ -111,22 +111,22 @@ namespace OpenSim.Region.Physics.OdePlugin
111 111
112 112
113 113
114 Amotor = d.JointCreateAMotor(parent_scene.world, IntPtr.Zero); 114 //Amotor = d.JointCreateAMotor(parent_scene.world, IntPtr.Zero);
115 d.JointAttach(Amotor, Body, IntPtr.Zero); 115 //d.JointAttach(Amotor, Body, IntPtr.Zero);
116 d.JointSetAMotorMode(Amotor, dAMotorEuler); 116 //d.JointSetAMotorMode(Amotor, dAMotorEuler);
117 d.JointSetAMotorNumAxes(Amotor, 3); 117 //d.JointSetAMotorNumAxes(Amotor, 3);
118 d.JointSetAMotorAxis(Amotor, 0, 0, 1, 0, 0); 118 //d.JointSetAMotorAxis(Amotor, 0, 0, 1, 0, 0);
119 d.JointSetAMotorAxis(Amotor, 1, 0, 0, 1, 0); 119 //d.JointSetAMotorAxis(Amotor, 1, 0, 0, 1, 0);
120 d.JointSetAMotorAxis(Amotor, 2, 0, 0, 0, 1); 120 ///d.JointSetAMotorAxis(Amotor, 2, 0, 0, 0, 1);
121 d.JointSetAMotorAngle(Amotor, 0, 0); 121 //d.JointSetAMotorAngle(Amotor, 0, 0);
122 d.JointSetAMotorAngle(Amotor, 1, 0); 122 //d.JointSetAMotorAngle(Amotor, 1, 0);
123 d.JointSetAMotorAngle(Amotor, 2, 0); 123 //d.JointSetAMotorAngle(Amotor, 2, 0);
124 d.JointSetAMotorParam(Amotor, 0, -0); 124 //d.JointSetAMotorParam(Amotor, 0, -0);
125 d.JointSetAMotorParam(Amotor, 0x200, -0); 125 //d.JointSetAMotorParam(Amotor, 0x200, -0);
126 d.JointSetAMotorParam(Amotor, 0x100, -0); 126 //d.JointSetAMotorParam(Amotor, 0x100, -0);
127 d.JointSetAMotorParam(Amotor, 0, 0); 127 // d.JointSetAMotorParam(Amotor, 0, 0);
128 d.JointSetAMotorParam(Amotor, 3, 0); 128 // d.JointSetAMotorParam(Amotor, 3, 0);
129 d.JointSetAMotorParam(Amotor, 2, 0); 129 // d.JointSetAMotorParam(Amotor, 2, 0);
130 130
131 131
132 132
@@ -269,7 +269,10 @@ namespace OpenSim.Region.Physics.OdePlugin
269 m_pidControllerActive = true; 269 m_pidControllerActive = true;
270 } 270 }
271 } 271 }
272 272 public void SetPidStatus(bool status)
273 {
274 m_pidControllerActive = status;
275 }
273 public override PhysicsVector Position 276 public override PhysicsVector Position
274 { 277 {
275 get { return _position; } 278 get { return _position; }
@@ -583,7 +586,7 @@ namespace OpenSim.Region.Physics.OdePlugin
583 { 586 {
584 lock (OdeScene.OdeLock) 587 lock (OdeScene.OdeLock)
585 { 588 {
586 d.JointDestroy(Amotor); 589 // d.JointDestroy(Amotor);
587 d.GeomDestroy(Shell); 590 d.GeomDestroy(Shell);
588 _parent_scene.geom_name_map.Remove(Shell); 591 _parent_scene.geom_name_map.Remove(Shell);
589 d.BodyDestroy(Body); 592 d.BodyDestroy(Body);