aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/OdePlugin
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-09 13:45:42 +0000
committerTeravus Ovares2007-11-09 13:45:42 +0000
commit90274434c62ecf7184b609940db4b7059ffdc4e2 (patch)
tree26bb7ec06f6445bfbf589c4388f163a64bd00d6b /OpenSim/Region/Physics/OdePlugin
parent* Protip: Commit AFTER compiling. (diff)
downloadopensim-SC_OLD-90274434c62ecf7184b609940db4b7059ffdc4e2.zip
opensim-SC_OLD-90274434c62ecf7184b609940db4b7059ffdc4e2.tar.gz
opensim-SC_OLD-90274434c62ecf7184b609940db4b7059ffdc4e2.tar.bz2
opensim-SC_OLD-90274434c62ecf7184b609940db4b7059ffdc4e2.tar.xz
* Moved BulletX off of the 'constant terse update' method. It now only sends terse updates when needed.
* Removed the 'constant poll method' from SceneObjectPart.cs - It was bad :P * Updated some Masses in ODE to help large prim slow down by friction easier.
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs15
1 files changed, 11 insertions, 4 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index 4750e54..79f51a1 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -124,7 +124,8 @@ namespace OpenSim.Region.Physics.OdePlugin
124 space = d.HashSpaceCreate(IntPtr.Zero); 124 space = d.HashSpaceCreate(IntPtr.Zero);
125 contactgroup = d.JointGroupCreate(0); 125 contactgroup = d.JointGroupCreate(0);
126 //contactgroup 126 //contactgroup
127 127
128
128 d.WorldSetGravity(world, 0.0f, 0.0f, -10.0f); 129 d.WorldSetGravity(world, 0.0f, 0.0f, -10.0f);
129 d.WorldSetAutoDisableFlag(world, false); 130 d.WorldSetAutoDisableFlag(world, false);
130 d.WorldSetContactSurfaceLayer(world, 0.001f); 131 d.WorldSetContactSurfaceLayer(world, 0.001f);
@@ -936,7 +937,7 @@ namespace OpenSim.Region.Physics.OdePlugin
936 private String m_primName; 937 private String m_primName;
937 private PhysicsVector _target_velocity; 938 private PhysicsVector _target_velocity;
938 public d.Mass pMass; 939 public d.Mass pMass;
939 private const float MassMultiplier = 500f; // Ref: Water: 1000kg.. this iset to 500 940 private const float MassMultiplier = 150f; // Ref: Water: 1000kg.. this iset to 500
940 private int debugcounter = 0; 941 private int debugcounter = 0;
941 942
942 943
@@ -1361,7 +1362,7 @@ namespace OpenSim.Region.Physics.OdePlugin
1361 //System.Console.WriteLine(Math.Abs(m_lastposition.X - l_position.X).ToString()); 1362 //System.Console.WriteLine(Math.Abs(m_lastposition.X - l_position.X).ToString());
1362 _zeroFlag = false; 1363 _zeroFlag = false;
1363 } 1364 }
1364 m_lastposition = l_position; 1365
1365 1366
1366 1367
1367 if (_zeroFlag) 1368 if (_zeroFlag)
@@ -1379,6 +1380,11 @@ namespace OpenSim.Region.Physics.OdePlugin
1379 m_rotationalVelocity.X = 0; 1380 m_rotationalVelocity.X = 0;
1380 m_rotationalVelocity.Y = 0; 1381 m_rotationalVelocity.Y = 0;
1381 m_rotationalVelocity.Z = 0; 1382 m_rotationalVelocity.Z = 0;
1383 if (!m_lastUpdateSent)
1384 {
1385 base.RequestPhysicsterseUpdate();
1386 m_lastUpdateSent = true;
1387 }
1382 1388
1383 } 1389 }
1384 else 1390 else
@@ -1399,9 +1405,10 @@ namespace OpenSim.Region.Physics.OdePlugin
1399 _orientation.x = ori.X; 1405 _orientation.x = ori.X;
1400 _orientation.y = ori.Y; 1406 _orientation.y = ori.Y;
1401 _orientation.z = ori.Z; 1407 _orientation.z = ori.Z;
1408 m_lastUpdateSent = false;
1402 base.RequestPhysicsterseUpdate(); 1409 base.RequestPhysicsterseUpdate();
1403 } 1410 }
1404 1411 m_lastposition = l_position;
1405 } 1412 }
1406 else 1413 else
1407 { 1414 {