- 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.
0.6.2-post-fixes
Homer Horwitz 2008-12-31 19:35:46 +00:00
parent 067a9f3d5f
commit 4b760bba79
2 changed files with 5 additions and 5 deletions

View File

@ -987,8 +987,8 @@ namespace OpenSim.Region.Physics.OdePlugin
d.Matrix3 mat = new d.Matrix3(); d.Matrix3 mat = new d.Matrix3();
d.RfromQ(out mat, ref quat); d.RfromQ(out mat, ref quat);
d.MassRotate(out m2, ref mat); d.MassRotate(ref m2, ref mat);
d.MassTranslate(out m2, Position.X - prm.Position.X, Position.Y - prm.Position.Y, Position.Z - prm.Position.Z); d.MassTranslate(ref m2, Position.X - prm.Position.X, Position.Y - prm.Position.Y, Position.Z - prm.Position.Z);
d.MassAdd(ref pMass, ref m2); d.MassAdd(ref pMass, ref m2);
} }
foreach (OdePrim prm in childrenPrim) foreach (OdePrim prm in childrenPrim)
@ -1025,7 +1025,7 @@ namespace OpenSim.Region.Physics.OdePlugin
// (Position.Z - prm.Position.Z) - pMass.c.Z); // (Position.Z - prm.Position.Z) - pMass.c.Z);
d.GeomSetOffsetWorldRotation(prm.prim_geom, ref mat); d.GeomSetOffsetWorldRotation(prm.prim_geom, ref mat);
//d.GeomSetOffsetRotation(prm.prim_geom, ref mat); //d.GeomSetOffsetRotation(prm.prim_geom, ref mat);
d.MassTranslate(out pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z); d.MassTranslate(ref pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z);
d.BodySetMass(Body, ref pMass); d.BodySetMass(Body, ref pMass);
} }
else else
@ -1069,9 +1069,9 @@ namespace OpenSim.Region.Physics.OdePlugin
// (Position.Y - prm.Position.Y) - pMass.c.Y, // (Position.Y - prm.Position.Y) - pMass.c.Y,
// (Position.Z - prm.Position.Z) - pMass.c.Z); // (Position.Z - prm.Position.Z) - pMass.c.Z);
//d.GeomSetOffsetRotation(prim_geom, ref mat2); //d.GeomSetOffsetRotation(prim_geom, ref mat2);
d.MassTranslate(out pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z); d.MassTranslate(ref pMass, -pMass.c.X, -pMass.c.Y, -pMass.c.Z);
d.BodySetMass(Body, ref pMass); d.BodySetMass(Body, ref pMass);
d.BodySetAutoDisableFlag(Body, true); d.BodySetAutoDisableFlag(Body, true);
d.BodySetAutoDisableSteps(Body, body_autodisable_frames); d.BodySetAutoDisableSteps(Body, body_autodisable_frames);

BIN
bin/Ode.NET.dll Normal file → Executable file

Binary file not shown.