diff options
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index d2f46e5..b2138aa 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -4179,6 +4179,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4179 | handlerModifyTerrain = OnModifyTerrain; | 4179 | handlerModifyTerrain = OnModifyTerrain; |
4180 | if (handlerModifyTerrain != null) | 4180 | if (handlerModifyTerrain != null) |
4181 | { | 4181 | { |
4182 | modify.ModifyBlock.Height = -1; // Hack, i don't know why the value is wrong | ||
4182 | handlerModifyTerrain(modify.ModifyBlock.Height, modify.ModifyBlock.Seconds, | 4183 | handlerModifyTerrain(modify.ModifyBlock.Height, modify.ModifyBlock.Seconds, |
4183 | modify.ModifyBlock.BrushSize, | 4184 | modify.ModifyBlock.BrushSize, |
4184 | modify.ModifyBlock.Action, modify.ParcelData[i].North, | 4185 | modify.ModifyBlock.Action, modify.ParcelData[i].North, |
diff --git a/OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs b/OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs index e507481..c103d99 100644 --- a/OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs +++ b/OpenSim/Region/Environment/Modules/World/Terrain/PaintBrushes/FlattenSphere.cs | |||
@@ -40,6 +40,30 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain.PaintBrushes | |||
40 | 40 | ||
41 | int x, y; | 41 | int x, y; |
42 | 42 | ||
43 | if (rz < 0) { | ||
44 | double sum = 0.0; | ||
45 | double step2 = 0.0; | ||
46 | duration = 0.009; //MCP Should be read from ini file | ||
47 | |||
48 | |||
49 | // compute delta map | ||
50 | for (x = 0; x < map.Width; x++) | ||
51 | { | ||
52 | for (y = 0; y < map.Height; y++) | ||
53 | { | ||
54 | double z = TerrainUtil.SphericalFactor(x, y, rx, ry, strength); | ||
55 | |||
56 | if (z > 0) // add in non-zero amount | ||
57 | { | ||
58 | sum += map[x, y] * z; | ||
59 | step2 += z; | ||
60 | } | ||
61 | } | ||
62 | } | ||
63 | rz = sum / step2; | ||
64 | } | ||
65 | |||
66 | |||
43 | // blend in map | 67 | // blend in map |
44 | for (x = 0; x < map.Width; x++) | 68 | for (x = 0; x < map.Width; x++) |
45 | { | 69 | { |