aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2014-04-25 23:01:24 +0100
committerJustin Clark-Casey (justincc)2014-04-25 23:01:24 +0100
commit38acda9f293aff1c1bd64a709c053afb472a4215 (patch)
tree890c8952c62ee462fee0cd3c4dd93d7fabdbd2fd /OpenSim/Region
parentFix issue where terrain height values > 327 caused chaotic spiked terrain. (diff)
downloadopensim-SC-38acda9f293aff1c1bd64a709c053afb472a4215.zip
opensim-SC-38acda9f293aff1c1bd64a709c053afb472a4215.tar.gz
opensim-SC-38acda9f293aff1c1bd64a709c053afb472a4215.tar.bz2
opensim-SC-38acda9f293aff1c1bd64a709c053afb472a4215.tar.xz
Add regression test for terrain fill at two digit height and max ll height.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/World/Terrain/Tests/TerrainModuleTests.cs75
2 files changed, 76 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
index 56ceffd..d0a03cb 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/TerrainModule.cs
@@ -1171,7 +1171,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain
1171 m_channel[x, y] -= (double) args[0]; 1171 m_channel[x, y] -= (double) args[0];
1172 } 1172 }
1173 1173
1174 private void InterfaceFillTerrain(Object[] args) 1174 public void InterfaceFillTerrain(Object[] args)
1175 { 1175 {
1176 int x, y; 1176 int x, y;
1177 1177
diff --git a/OpenSim/Region/CoreModules/World/Terrain/Tests/TerrainModuleTests.cs b/OpenSim/Region/CoreModules/World/Terrain/Tests/TerrainModuleTests.cs
new file mode 100644
index 0000000..0563ad0
--- /dev/null
+++ b/OpenSim/Region/CoreModules/World/Terrain/Tests/TerrainModuleTests.cs
@@ -0,0 +1,75 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using NUnit.Framework;
30using OpenSim.Framework;
31using OpenSim.Region.CoreModules.World.Terrain;
32using OpenSim.Region.Framework.Scenes;
33using OpenSim.Tests.Common;
34
35namespace OpenSim.Region.CoreModules.Terrain.Tests
36{
37 public class TerrainModuleTests : OpenSimTestCase
38 {
39 [Test]
40 public void TestTerrainFill()
41 {
42 TestHelpers.InMethod();
43// TestHelpers.EnableLogging();
44
45 //UUID userId = TestHelpers.ParseTail(0x1);
46
47 TerrainModule tm = new TerrainModule();
48 Scene scene = new SceneHelpers().SetupScene();
49 SceneHelpers.SetupSceneModules(scene, tm);
50
51 // Fillheight of 30
52 {
53 double fillHeight = 30;
54
55 tm.InterfaceFillTerrain(new object[] { fillHeight });
56
57 double height = scene.Heightmap[128, 128];
58
59 Assert.AreEqual(fillHeight, height);
60 }
61
62 // Max fillheight of 30
63 // According to http://wiki.secondlife.com/wiki/Tips_for_Creating_Heightfields_and_Details_on_Terrain_RAW_Files#Notes_for_Creating_Height_Field_Maps_for_Second_Life
64 {
65 double fillHeight = 508;
66
67 tm.InterfaceFillTerrain(new object[] { fillHeight });
68
69 double height = scene.Heightmap[128, 128];
70
71 Assert.AreEqual(fillHeight, height);
72 }
73 }
74 }
75} \ No newline at end of file