aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs8
-rw-r--r--OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs4
-rw-r--r--OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs26
3 files changed, 32 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index de39261..839a75a 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -352,7 +352,7 @@ namespace OpenSim.Region.Environment.Scenes
352 { 352 {
353 try 353 try
354 { 354 {
355 float[] map = this.localStorage.LoadWorld(); 355 double[,] map = this.storageManager.DataStore.LoadTerrain();
356 if (map == null) 356 if (map == null)
357 { 357 {
358 if (string.IsNullOrEmpty(this.m_regInfo.estateSettings.terrainFile)) 358 if (string.IsNullOrEmpty(this.m_regInfo.estateSettings.terrainFile))
@@ -360,7 +360,7 @@ namespace OpenSim.Region.Environment.Scenes
360 Console.WriteLine("No default terrain, procedurally generating..."); 360 Console.WriteLine("No default terrain, procedurally generating...");
361 this.Terrain.hills(); 361 this.Terrain.hills();
362 362
363 this.localStorage.SaveMap(this.Terrain.getHeights1D()); 363 this.storageManager.DataStore.StoreTerrain(this.Terrain.getHeights2DD());
364 } 364 }
365 else 365 else
366 { 366 {
@@ -374,12 +374,12 @@ namespace OpenSim.Region.Environment.Scenes
374 Console.WriteLine("Unable to load default terrain, procedurally generating instead..."); 374 Console.WriteLine("Unable to load default terrain, procedurally generating instead...");
375 Terrain.hills(); 375 Terrain.hills();
376 } 376 }
377 this.localStorage.SaveMap(this.Terrain.getHeights1D()); 377 this.storageManager.DataStore.StoreTerrain(this.Terrain.getHeights2DD());
378 } 378 }
379 } 379 }
380 else 380 else
381 { 381 {
382 this.Terrain.setHeights1D(map); 382 this.Terrain.setHeights2D(map);
383 } 383 }
384 384
385 CreateTerrainTexture(); 385 CreateTerrainTexture();
diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs
index b67ba93..8542ef3 100644
--- a/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs
+++ b/OpenSim/Region/Storage/OpenSim.DataStore.NullStorage/NullDataStore.cs
@@ -29,7 +29,7 @@ namespace OpenSim.DataStore.NullStorage
29 29
30 public List<SceneObject> LoadObjects() 30 public List<SceneObject> LoadObjects()
31 { 31 {
32 return null; 32 return new List<SceneObject>();
33 } 33 }
34 34
35 public void StoreTerrain(double[,] ter) 35 public void StoreTerrain(double[,] ter)
@@ -54,7 +54,7 @@ namespace OpenSim.DataStore.NullStorage
54 54
55 public List<OpenSim.Region.Environment.Parcel> LoadParcels() 55 public List<OpenSim.Region.Environment.Parcel> LoadParcels()
56 { 56 {
57 return null; 57 return new List<OpenSim.Region.Environment.Parcel>();
58 } 58 }
59 59
60 public void Shutdown() 60 public void Shutdown()
diff --git a/OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs b/OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs
index d177ed5..f017e44 100644
--- a/OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs
+++ b/OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs
@@ -124,6 +124,15 @@ namespace OpenSim.Region.Terrain
124 } 124 }
125 125
126 /// <summary> 126 /// <summary>
127 /// Converts the heightmap to a 256x256 value 2D floating point array. Double precision version.
128 /// </summary>
129 /// <returns>An array of 256,256 values containing the heightmap</returns>
130 public double[,] getHeights2DD()
131 {
132 return heightmap.map;
133 }
134
135 /// <summary>
127 /// Imports a 1D floating point array into the 2D heightmap array 136 /// Imports a 1D floating point array into the 2D heightmap array
128 /// </summary> 137 /// </summary>
129 /// <param name="heights">The array to import (must have 65536 members)</param> 138 /// <param name="heights">The array to import (must have 65536 members)</param>
@@ -156,6 +165,23 @@ namespace OpenSim.Region.Terrain
156 } 165 }
157 166
158 /// <summary> 167 /// <summary>
168 /// Loads a 2D array of values into the heightmap (Double Precision Version)
169 /// </summary>
170 /// <param name="heights">An array of 256,256 float values</param>
171 public void setHeights2D(double[,] heights)
172 {
173 int x, y;
174 for (x = 0; x < w; x++)
175 {
176 for (y = 0; y < h; y++)
177 {
178 heightmap.set(x, y, heights[x, y]);
179 }
180 }
181 tainted++;
182 }
183
184 /// <summary>
159 /// Swaps the two heightmap buffers (the 'revert map' and the heightmap) 185 /// Swaps the two heightmap buffers (the 'revert map' and the heightmap)
160 /// </summary> 186 /// </summary>
161 public void swapRevertMaps() 187 public void swapRevertMaps()