diff options
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r-- | OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs index 0266ef0..5f5d547 100644 --- a/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs | |||
@@ -3457,8 +3457,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
3457 | int heightmapWidth = regionsize + 2; // ODE map size 257 x 257 (Meters) (1 extra | 3457 | int heightmapWidth = regionsize + 2; // ODE map size 257 x 257 (Meters) (1 extra |
3458 | int heightmapHeight = regionsize + 2; | 3458 | int heightmapHeight = regionsize + 2; |
3459 | 3459 | ||
3460 | int heightmapWidthSamples = (int)regionsize + 3; // Sample file size, 258 x 258 samples | 3460 | int heightmapWidthSamples = (int)regionsize + 2; // Sample file size, 258 x 258 samples |
3461 | int heightmapHeightSamples = (int)regionsize + 3; | 3461 | int heightmapHeightSamples = (int)regionsize + 2; |
3462 | 3462 | ||
3463 | // Array of height samples for ODE | 3463 | // Array of height samples for ODE |
3464 | float[] _heightmap; | 3464 | float[] _heightmap; |
@@ -3495,7 +3495,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
3495 | // Output x = 0 1 2 3 ..... 255 256 257 258 total out | 3495 | // Output x = 0 1 2 3 ..... 255 256 257 258 total out |
3496 | float val= heightMap[(yy * regionsize) + xx]; // input from heightMap, <0-255 * 256> <0-255> | 3496 | float val= heightMap[(yy * regionsize) + xx]; // input from heightMap, <0-255 * 256> <0-255> |
3497 | if (val < minele) val = minele; | 3497 | if (val < minele) val = minele; |
3498 | _heightmap[x * (heightmapHeightSamples) + y] = val; // samples output to _heightmap, <0-257 * 258> <0-257> | 3498 | _heightmap[x * (regionsize + 2) + y] = val; // samples output to _heightmap, <0-257 * 258> <0-257> |
3499 | hfmin = (val < hfmin) ? val : hfmin; | 3499 | hfmin = (val < hfmin) ? val : hfmin; |
3500 | hfmax = (val > hfmax) ? val : hfmax; | 3500 | hfmax = (val > hfmax) ? val : hfmax; |
3501 | } | 3501 | } |
@@ -3545,8 +3545,6 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
3545 | d.RFromAxisAndAngle(out R, v3.X, v3.Y, v3.Z, angle); | 3545 | d.RFromAxisAndAngle(out R, v3.X, v3.Y, v3.Z, angle); |
3546 | d.GeomSetRotation(GroundGeom, ref R); | 3546 | d.GeomSetRotation(GroundGeom, ref R); |
3547 | d.GeomSetPosition(GroundGeom, (pOffset.X + (regionsize * 0.5f)) - 0.5f, (pOffset.Y + (regionsize * 0.5f)) - 0.5f, 0); | 3547 | d.GeomSetPosition(GroundGeom, (pOffset.X + (regionsize * 0.5f)) - 0.5f, (pOffset.Y + (regionsize * 0.5f)) - 0.5f, 0); |
3548 | // having nsamples = size + 1 center is actually at size/2 | ||
3549 | d.GeomSetPosition(GroundGeom, (pOffset.X + (regionsize * 0.5f)), (pOffset.Y + (regionsize * 0.5f)), 0); | ||
3550 | IntPtr testGround = IntPtr.Zero; | 3548 | IntPtr testGround = IntPtr.Zero; |
3551 | if (RegionTerrain.TryGetValue(pOffset, out testGround)) | 3549 | if (RegionTerrain.TryGetValue(pOffset, out testGround)) |
3552 | { | 3550 | { |