diff options
author | Teravus Ovares | 2007-12-26 17:16:47 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-12-26 17:16:47 +0000 |
commit | f852b6455550569d002d0b1c527249f3f7894326 (patch) | |
tree | 95abccc4ae8529dc8c1b2aa283ac44e952f7dda7 /OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |
parent | * Patch by Melanie to fix CreateSelected (diff) | |
download | opensim-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 'OpenSim/Region/Physics/OdePlugin/ODECharacter.cs')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 39 |
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); |