diff options
author | Robert Adams | 2013-04-09 11:55:29 -0700 |
---|---|---|
committer | Robert Adams | 2013-04-09 18:00:20 -0700 |
commit | 17fd075f39df71d628db08b7c280150f231f8a26 (patch) | |
tree | 6f1b4b3ccd5b0c5771d8d2270b3bae51d079c259 /OpenSim/Region | |
parent | minor: fix mono compiler warning in ScriptsHttpRequests.cs (diff) | |
download | opensim-SC_OLD-17fd075f39df71d628db08b7c280150f231f8a26.zip opensim-SC_OLD-17fd075f39df71d628db08b7c280150f231f8a26.tar.gz opensim-SC_OLD-17fd075f39df71d628db08b7c280150f231f8a26.tar.bz2 opensim-SC_OLD-17fd075f39df71d628db08b7c280150f231f8a26.tar.xz |
BulletSim: fix problem where large sets of mega-regions weren't registering
all the terrain with the base region.
Diffstat (limited to 'OpenSim/Region')
-rwxr-xr-x | OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs index cd15850..5240ad8 100755 --- a/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs +++ b/OpenSim/Region/Physics/BulletSPlugin/BSTerrainManager.cs | |||
@@ -213,13 +213,13 @@ public sealed class BSTerrainManager : IDisposable | |||
213 | }); | 213 | }); |
214 | } | 214 | } |
215 | 215 | ||
216 | // Another region is calling this region passing a terrain. | 216 | // Another region is calling this region and passing a terrain. |
217 | // A region that is not the mega-region root will pass its terrain to the root region so the root region | 217 | // A region that is not the mega-region root will pass its terrain to the root region so the root region |
218 | // physics engine will have all the terrains. | 218 | // physics engine will have all the terrains. |
219 | private void AddMegaRegionChildTerrain(uint id, float[] heightMap, Vector3 minCoords, Vector3 maxCoords) | 219 | private void AddMegaRegionChildTerrain(uint id, float[] heightMap, Vector3 minCoords, Vector3 maxCoords) |
220 | { | 220 | { |
221 | // Since we are called by another region's thread, the action must be rescheduled onto our processing thread. | 221 | // Since we are called by another region's thread, the action must be rescheduled onto our processing thread. |
222 | PhysicsScene.PostTaintObject("TerrainManager.AddMegaRegionChild" + m_worldOffset.ToString(), 0, delegate() | 222 | PhysicsScene.PostTaintObject("TerrainManager.AddMegaRegionChild" + minCoords.ToString(), id, delegate() |
223 | { | 223 | { |
224 | UpdateTerrain(id, heightMap, minCoords, maxCoords); | 224 | UpdateTerrain(id, heightMap, minCoords, maxCoords); |
225 | }); | 225 | }); |
@@ -306,7 +306,7 @@ public sealed class BSTerrainManager : IDisposable | |||
306 | newTerrainID = ++m_terrainCount; | 306 | newTerrainID = ++m_terrainCount; |
307 | 307 | ||
308 | DetailLog("{0},BSTerrainManager.UpdateTerrain:NewTerrain,taint,newID={1},minCoord={2},maxCoord={3}", | 308 | DetailLog("{0},BSTerrainManager.UpdateTerrain:NewTerrain,taint,newID={1},minCoord={2},maxCoord={3}", |
309 | BSScene.DetailLogZero, newTerrainID, minCoords, minCoords); | 309 | BSScene.DetailLogZero, newTerrainID, minCoords, maxCoords); |
310 | BSTerrainPhys newTerrainPhys = BuildPhysicalTerrain(terrainRegionBase, id, heightMap, minCoords, maxCoords); | 310 | BSTerrainPhys newTerrainPhys = BuildPhysicalTerrain(terrainRegionBase, id, heightMap, minCoords, maxCoords); |
311 | m_terrains.Add(terrainRegionBase, newTerrainPhys); | 311 | m_terrains.Add(terrainRegionBase, newTerrainPhys); |
312 | 312 | ||