diff options
author | Homer Horwitz | 2008-12-31 19:35:46 +0000 |
---|---|---|
committer | Homer Horwitz | 2008-12-31 19:35:46 +0000 |
commit | 4b760bba79ad92b00423c5930d19a85f6c36722e (patch) | |
tree | bafbe1c83bf1cf48d3b321b23923e54379714b3a /OpenSim/Region | |
parent | Added a missing setMass for initializing the mass of prims (diff) | |
download | opensim-SC-4b760bba79ad92b00423c5930d19a85f6c36722e.zip opensim-SC-4b760bba79ad92b00423c5930d19a85f6c36722e.tar.gz opensim-SC-4b760bba79ad92b00423c5930d19a85f6c36722e.tar.bz2 opensim-SC-4b760bba79ad92b00423c5930d19a85f6c36722e.tar.xz |
- Added the fixed Ode.NET.dll
- Adapted code to match the corrected signatures
- Fixes Mantis #2934. Hopefully.
Note: Physics on linked objects still don't work correctly:
It doesn't crash the region anymore, but the example object in
the mentioned mantis now falls through the ground.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index f012a2f..bfb9b1a 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -987,8 +987,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
987 | 987 | ||
988 | d.Matrix3 mat = new d.Matrix3(); | 988 | d.Matrix3 mat = new d.Matrix3(); |
989 | d.RfromQ(out mat, ref quat); | 989 | d.RfromQ(out mat, ref quat); |
990 | d.MassRotate(out m2, ref mat); | 990 | d.MassRotate(ref m2, ref mat); |
991 | d.MassTranslate(out m2, Position.X - prm.Position.X, Position.Y - prm.Position.Y, Position.Z - prm.Position.Z); | 991 | d.MassTranslate(ref m2, Position.X - prm.Position.X, Position.Y - prm.Position.Y, Position.Z - prm.Position.Z); |
992 | d.MassAdd(ref pMass, ref m2); | 992 | d.MassAdd(ref pMass, ref m2); |
993 | } | 993 | } |
994 | foreach (OdePrim prm in childrenPrim) | 994 | foreach (OdePrim prm in childrenPrim) |
@@ -1025,7 +1025,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1025 | // (Position.Z - prm.Position.Z) - pMass.c.Z); | 1025 | // (Position.Z - prm.Position.Z) - pMass.c.Z); |
1026 | d.GeomSetOffsetWorldRotation(prm.prim_geom, ref mat); | 1026 | d.GeomSetOffsetWorldRotation(prm.prim_geom, ref mat); |
1027 | //d.GeomSetOffsetRotation(prm.prim_geom, ref mat); | 1027 | //d.GeomSetOffsetRotation(prm.prim_geom, ref mat); |
1028 | d.MassTranslate(out pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z); | 1028 | d.MassTranslate(ref pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z); |
1029 | d.BodySetMass(Body, ref pMass); | 1029 | d.BodySetMass(Body, ref pMass); |
1030 | } | 1030 | } |
1031 | else | 1031 | else |
@@ -1069,9 +1069,9 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1069 | // (Position.Y - prm.Position.Y) - pMass.c.Y, | 1069 | // (Position.Y - prm.Position.Y) - pMass.c.Y, |
1070 | // (Position.Z - prm.Position.Z) - pMass.c.Z); | 1070 | // (Position.Z - prm.Position.Z) - pMass.c.Z); |
1071 | //d.GeomSetOffsetRotation(prim_geom, ref mat2); | 1071 | //d.GeomSetOffsetRotation(prim_geom, ref mat2); |
1072 | d.MassTranslate(out pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z); | 1072 | d.MassTranslate(ref pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z); |
1073 | d.BodySetMass(Body, ref pMass); | 1073 | d.BodySetMass(Body, ref pMass); |
1074 | 1074 | ||
1075 | d.BodySetAutoDisableFlag(Body, true); | 1075 | d.BodySetAutoDisableFlag(Body, true); |
1076 | d.BodySetAutoDisableSteps(Body, body_autodisable_frames); | 1076 | d.BodySetAutoDisableSteps(Body, body_autodisable_frames); |
1077 | 1077 | ||