aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
diff options
context:
space:
mode:
authorTeravus Ovares2007-12-15 05:08:08 +0000
committerTeravus Ovares2007-12-15 05:08:08 +0000
commit81828c9b145c1d5da36559c32559cf89d414287b (patch)
tree6b2849fbd264962d6c1ca28890300d49e941648f /OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
parentGrid Inventory feature upgrade: renaming folders should now be correct, subfo... (diff)
downloadopensim-SC_OLD-81828c9b145c1d5da36559c32559cf89d414287b.zip
opensim-SC_OLD-81828c9b145c1d5da36559c32559cf89d414287b.tar.gz
opensim-SC_OLD-81828c9b145c1d5da36559c32559cf89d414287b.tar.bz2
opensim-SC_OLD-81828c9b145c1d5da36559c32559cf89d414287b.tar.xz
* Added an Avatar control tweak that disables the PID controller in certain circumstances.
* This allows collisions with other avatar and prim with a velocity greater then 0 to push avatar around.
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/OdePlugin.cs')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs12
1 files changed, 9 insertions, 3 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index a765878..0cbd4d6 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -127,7 +127,7 @@ namespace OpenSim.Region.Physics.OdePlugin
127 contact.surface.bounce = 0.2f; 127 contact.surface.bounce = 0.2f;
128 128
129 TerrainContact.surface.mode |= d.ContactFlags.SoftERP; 129 TerrainContact.surface.mode |= d.ContactFlags.SoftERP;
130 TerrainContact.surface.mu = 250.0f; 130 TerrainContact.surface.mu = 550.0f;
131 TerrainContact.surface.bounce = 0.1f; 131 TerrainContact.surface.bounce = 0.1f;
132 TerrainContact.surface.soft_erp = 0.1025f; 132 TerrainContact.surface.soft_erp = 0.1025f;
133 133
@@ -255,7 +255,7 @@ namespace OpenSim.Region.Physics.OdePlugin
255 PhysicsActor p1; 255 PhysicsActor p1;
256 PhysicsActor p2; 256 PhysicsActor p2;
257 257
258 if (!actor_name_map.TryGetValue(g2, out p1)) 258 if (!actor_name_map.TryGetValue(g1, out p1))
259 { 259 {
260 p1 = PANull; 260 p1 = PANull;
261 } 261 }
@@ -267,16 +267,22 @@ namespace OpenSim.Region.Physics.OdePlugin
267 // We only need to test p2 for 'jump crouch purposes' 267 // We only need to test p2 for 'jump crouch purposes'
268 p2.IsColliding = true; 268 p2.IsColliding = true;
269 269
270
271
270 switch(p1.PhysicsActorType) { 272 switch(p1.PhysicsActorType) {
271 case (int)ActorTypes.Agent: 273 case (int)ActorTypes.Agent:
272 p2.CollidingObj = true; 274 p2.CollidingObj = true;
273 break; 275 break;
274 case (int)ActorTypes.Prim: 276 case (int)ActorTypes.Prim:
275 p2.CollidingObj = true; 277 if (p2.Velocity.X >0 || p2.Velocity.Y > 0 || p2.Velocity.Z > 0)
278 p2.CollidingObj = true;
276 break; 279 break;
277 case (int)ActorTypes.Unknown: 280 case (int)ActorTypes.Unknown:
278 p2.CollidingGround = true; 281 p2.CollidingGround = true;
279 break; 282 break;
283 default:
284 p2.CollidingGround = true;
285 break;
280 } 286 }
281 287
282 if (name1 == "Terrain" || name2 == "Terrain") 288 if (name1 == "Terrain" || name2 == "Terrain")