diff options
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/OdePlugin.cs')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 50687ed..f934341 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -1033,16 +1033,11 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1033 | rot.z = rotation.z; | 1033 | rot.z = rotation.z; |
1034 | 1034 | ||
1035 | 1035 | ||
1036 | int[] iprimspaceArrItem = calculateSpaceArrayItemFromPos(pos); | 1036 | |
1037 | IntPtr targetspace = calculateSpaceForGeom(pos); | ||
1038 | |||
1039 | if (targetspace == IntPtr.Zero) | ||
1040 | targetspace = createprimspace(iprimspaceArrItem[0], iprimspaceArrItem[1]); | ||
1041 | |||
1042 | OdePrim newPrim; | 1037 | OdePrim newPrim; |
1043 | lock (OdeLock) | 1038 | lock (OdeLock) |
1044 | { | 1039 | { |
1045 | newPrim = new OdePrim(name, this, targetspace, pos, siz, rot, mesh, pbs, isphysical, ode); | 1040 | newPrim = new OdePrim(name, this, pos, siz, rot, mesh, pbs, isphysical, ode); |
1046 | 1041 | ||
1047 | _prims.Add(newPrim); | 1042 | _prims.Add(newPrim); |
1048 | } | 1043 | } |
@@ -1244,18 +1239,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1244 | 1239 | ||
1245 | collision_optimized(timeStep); | 1240 | collision_optimized(timeStep); |
1246 | 1241 | ||
1247 | 1242 | d.WorldQuickStep(world, ODE_STEPSIZE); | |
1248 | |||
1249 | 1243 | ||
1250 | |||
1251 | try | ||
1252 | { | ||
1253 | d.WorldQuickStep(world, ODE_STEPSIZE); | ||
1254 | } | ||
1255 | catch (StackOverflowException) | ||
1256 | { | ||
1257 | d.WorldQuickStep(world, 0.001f); | ||
1258 | } | ||
1259 | d.JointGroupEmpty(contactgroup); | 1244 | d.JointGroupEmpty(contactgroup); |
1260 | ode.dunlock(world); | 1245 | ode.dunlock(world); |
1261 | 1246 | ||