diff options
author | Teravus Ovares | 2007-11-09 13:45:42 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-11-09 13:45:42 +0000 |
commit | 90274434c62ecf7184b609940db4b7059ffdc4e2 (patch) | |
tree | 26bb7ec06f6445bfbf589c4388f163a64bd00d6b /OpenSim/Region/Physics/OdePlugin | |
parent | * Protip: Commit AFTER compiling. (diff) | |
download | opensim-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.cs | 15 |
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 | { |