From adb56a46f49127911a2df169c86f2cdfde034966 Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Wed, 11 Apr 2007 05:19:27 +0000 Subject: [PATCH] Major ass changes to terrain (now uses libTerrain-BSD!) and all-round improvements to code quality. Terrain saving/loading may work now (running through setHeights1D and getHeights1D before DB4o) **WARNING: UNTESTED** --- OpenSim.Framework/ILocalStorage.cs | 4 +- OpenSim.RegionServer/world/Avatar.cs | 4 +- OpenSim.RegionServer/world/World.cs | 12 +-- .../LocalStorageDb4o/Db4LocalStorage.cs | 6 +- .../LocalStorageDb4o/MapStorage.cs | 2 +- OpenSim.Terrain.BasicTerrain/Hills.cs | 72 ------------- OpenSim.Terrain.BasicTerrain/Normalise.cs | 102 ------------------ .../OpenSim.Terrain.BasicTerrain.csproj | 4 +- OpenSim.Terrain.BasicTerrain/RaiseLower.cs | 91 ---------------- OpenSim.Terrain.BasicTerrain/TerrainEngine.cs | 82 +++++++++----- .../Debug/OpenSim.Terrain.BasicTerrain.dll | Bin 16384 -> 16384 bytes .../Debug/OpenSim.Terrain.BasicTerrain.pdb | Bin 19968 -> 15872 bytes .../bin/Debug/libTerrain-BSD.dll | Bin 0 -> 32768 bytes .../Debug/OpenSim.Terrain.BasicTerrain.dll | Bin 16384 -> 16384 bytes .../Debug/OpenSim.Terrain.BasicTerrain.pdb | Bin 19968 -> 15872 bytes .../Refactor/OpenSim.Terrain.BasicTerrain.dll | Bin 0 -> 16384 bytes bin/OpenSim.Terrain.BasicTerrain.dll | Bin 7168 -> 16384 bytes bin/libTerrain-BSD.dll | Bin 0 -> 32768 bytes prebuild.xml | 1 + 19 files changed, 70 insertions(+), 310 deletions(-) delete mode 100644 OpenSim.Terrain.BasicTerrain/Hills.cs delete mode 100644 OpenSim.Terrain.BasicTerrain/Normalise.cs delete mode 100644 OpenSim.Terrain.BasicTerrain/RaiseLower.cs create mode 100644 OpenSim.Terrain.BasicTerrain/bin/Debug/libTerrain-BSD.dll create mode 100644 OpenSim.Terrain.BasicTerrain/obj/Debug/Refactor/OpenSim.Terrain.BasicTerrain.dll create mode 100644 bin/libTerrain-BSD.dll diff --git a/OpenSim.Framework/ILocalStorage.cs b/OpenSim.Framework/ILocalStorage.cs index bc11d8ffad..2c45baaaf9 100644 --- a/OpenSim.Framework/ILocalStorage.cs +++ b/OpenSim.Framework/ILocalStorage.cs @@ -39,8 +39,8 @@ namespace OpenSim.Framework.Interfaces void StorePrim(PrimData prim); void RemovePrim(LLUUID primID); void LoadPrimitives(ILocalStorageReceiver receiver); - float[,] LoadWorld(); - void SaveMap(float[,] heightmap); + float[] LoadWorld(); + void SaveMap(float[] heightmap); void ShutDown(); } diff --git a/OpenSim.RegionServer/world/Avatar.cs b/OpenSim.RegionServer/world/Avatar.cs index f507797002..843c3af66b 100644 --- a/OpenSim.RegionServer/world/Avatar.cs +++ b/OpenSim.RegionServer/world/Avatar.cs @@ -44,7 +44,7 @@ namespace OpenSim.world OpenSim.Framework.Console.MainConsole.Instance.WriteLine("Avatar.cs - Loading details from grid (DUMMY)"); ControllingClient = TheClient; localid = 8880000 + (this.m_world._localNumber++); - Pos = new LLVector3(100.0f, 100.0f, m_world.Terrain.map[(int)Pos.X, (int)Pos.Y] + 1.0f); + Pos = new LLVector3(100.0f, 100.0f, m_world.Terrain[(int)Pos.X, (int)Pos.Y] + 1.0f); visualParams = new byte[218]; for (int i = 0; i < 218; i++) { @@ -332,7 +332,7 @@ namespace OpenSim.world public override void LandRenegerated() { - Pos = new LLVector3(100.0f, 100.0f, m_world.Terrain.map[(int)Pos.X, (int)Pos.Y] + 50.0f); + Pos = new LLVector3(100.0f, 100.0f, m_world.Terrain[(int)Pos.X, (int)Pos.Y] + 50.0f); } } diff --git a/OpenSim.RegionServer/world/World.cs b/OpenSim.RegionServer/world/World.cs index 580804a48f..c7c57d1faa 100644 --- a/OpenSim.RegionServer/world/World.cs +++ b/OpenSim.RegionServer/world/World.cs @@ -198,7 +198,7 @@ namespace OpenSim.world { this.phyScene.SetTerrain(Terrain.getHeights1D()); } - this.localStorage.SaveMap(this.Terrain.map); + this.localStorage.SaveMap(this.Terrain.getHeights1D()); foreach (SimClient client in m_clientThreads.Values) { @@ -213,12 +213,12 @@ namespace OpenSim.world public void RegenerateTerrain(float[,] newMap) { - this.Terrain.map = newMap; + this.Terrain.setHeights2D(newMap); lock (this.LockPhysicsEngine) { this.phyScene.SetTerrain(this.Terrain.getHeights1D()); } - this.localStorage.SaveMap(this.Terrain.map); + this.localStorage.SaveMap(this.Terrain.getHeights1D()); foreach (SimClient client in m_clientThreads.Values) { @@ -239,7 +239,7 @@ namespace OpenSim.world { this.phyScene.SetTerrain(this.Terrain.getHeights1D()); } - this.localStorage.SaveMap(this.Terrain.map); + this.localStorage.SaveMap(this.Terrain.getHeights1D()); foreach (SimClient client in m_clientThreads.Values) { @@ -252,7 +252,7 @@ namespace OpenSim.world public void LoadWorldMap() { - float[,] map = this.localStorage.LoadWorld(); + float[] map = this.localStorage.LoadWorld(); if (map == null) { this.Terrain.hills(); @@ -260,7 +260,7 @@ namespace OpenSim.world } else { - this.Terrain.map = map; + this.Terrain.setHeights1D(map); } } diff --git a/OpenSim.Storage/LocalStorageDb4o/Db4LocalStorage.cs b/OpenSim.Storage/LocalStorageDb4o/Db4LocalStorage.cs index 189ee1a614..da777019c5 100644 --- a/OpenSim.Storage/LocalStorageDb4o/Db4LocalStorage.cs +++ b/OpenSim.Storage/LocalStorageDb4o/Db4LocalStorage.cs @@ -118,11 +118,11 @@ namespace OpenSim.Storage.LocalStorageDb4o } } - public float[,] LoadWorld() + public float[] LoadWorld() { OpenSim.Framework.Console.MainConsole.Instance.WriteLine("LoadWorld() - Loading world...."); //World blank = new World(); - float[,] heightmap = null; + float[] heightmap = null; OpenSim.Framework.Console.MainConsole.Instance.WriteLine("LoadWorld() - Looking for a heightmap in local DB"); IObjectSet world_result = db.Get(typeof(MapStorage)); if (world_result.Count > 0) @@ -150,7 +150,7 @@ namespace OpenSim.Storage.LocalStorageDb4o return heightmap; } - public void SaveMap(float[,] heightmap) + public void SaveMap(float[] heightmap) { IObjectSet world_result = db.Get(typeof(MapStorage)); if (world_result.Count > 0) diff --git a/OpenSim.Storage/LocalStorageDb4o/MapStorage.cs b/OpenSim.Storage/LocalStorageDb4o/MapStorage.cs index dc5793ed7b..db590ff461 100644 --- a/OpenSim.Storage/LocalStorageDb4o/MapStorage.cs +++ b/OpenSim.Storage/LocalStorageDb4o/MapStorage.cs @@ -6,7 +6,7 @@ namespace OpenSim.Storage.LocalStorageDb4o { public class MapStorage { - public float[,] Map; + public float[] Map; public MapStorage() { diff --git a/OpenSim.Terrain.BasicTerrain/Hills.cs b/OpenSim.Terrain.BasicTerrain/Hills.cs deleted file mode 100644 index 40543a998a..0000000000 --- a/OpenSim.Terrain.BasicTerrain/Hills.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.Terrain.BasicTerrain -{ - static class Hills - { - /// - /// Generates a series of spheres which are then either max()'d or added together. Inspired by suggestion from jh. - /// - /// 3-Clause BSD Licensed - /// The number of hills to generate - /// The minimum size of each hill - /// The maximum size of each hill - /// Whether to bias hills towards the center of the map - /// Whether to add hills together or to pick the largest value - /// Generates hill-shaped noise instead of consistent hills - public static void hillsSpheres(float[,] map,int seed, int number, double scale_min, double scale_range, bool island, bool additive, bool noisy) - { - Random random = new Random(seed); - int w = map.GetLength(0); - int h = map.GetLength(1); - int x, y; - int i; - - for (i = 0; i < number; i++) - { - double rx = Math.Min(255.0, random.NextDouble() * w); - double ry = Math.Min(255.0, random.NextDouble() * h); - double rand = random.NextDouble(); - - if (island) - { - // Move everything towards the center - rx -= w / 2; - rx /= 2; - rx += w / 2; - - ry -= h / 2; - ry /= 2; - ry += h / 2; - } - - for (x = 0; x < w; x++) - { - for (y = 0; y < h; y++) - { - if (noisy) - rand = random.NextDouble(); - - double z = (scale_min + (scale_range * rand)); - z *= z; - z -= ((x - rx) * (x - rx)) + ((y - ry) * (y - ry)); - - if (z < 0) - z = 0; - - if (additive) - { - map[x, y] += (float)z; - } - else - { - map[x, y] = (float)Math.Max(map[x, y], z); - } - } - } - } - } - } -} diff --git a/OpenSim.Terrain.BasicTerrain/Normalise.cs b/OpenSim.Terrain.BasicTerrain/Normalise.cs deleted file mode 100644 index 0d37f44d55..0000000000 --- a/OpenSim.Terrain.BasicTerrain/Normalise.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.Terrain.BasicTerrain -{ - static class Normalise - { - /// - /// Converts the heightmap to values ranging from 0..1 - /// - /// The heightmap to be normalised - public static void normalise(float[,] map) - { - double max = findMax(map); - double min = findMin(map); - int w = map.GetLength(0); - int h = map.GetLength(1); - - int x, y; - - for (x = 0; x < w; x++) - { - for (y = 0; y < h; y++) - { - map[x, y] = (float)((map[x, y] - min) * (1.0 / (max - min))); - } - } - } - - /// - /// Converts the heightmap to values ranging from 0.. - /// - /// The heightmap to be normalised - /// The new maximum height value of the map - public static void normalise(float[,] map, double newmax) - { - double max = findMax(map); - double min = findMin(map); - int w = map.GetLength(0); - int h = map.GetLength(1); - - int x, y; - - for (x = 0; x < w; x++) - { - for (y = 0; y < h; y++) - { - map[x, y] = (float)((map[x, y] - min) * (1.0 / (max - min)) * newmax); - } - } - } - - /// - /// Finds the largest value in the heightmap - /// - /// The heightmap - /// The highest value - public static double findMax(float[,] map) - { - int x, y; - int w = map.GetLength(0); - int h = map.GetLength(1); - double max = double.MinValue; - - for (x = 0; x < w; x++) - { - for (y = 0; y < h; y++) - { - if (map[x, y] > max) - max = map[x, y]; - } - } - - return max; - } - - /// - /// Finds the lowest value in a heightmap - /// - /// The heightmap - /// The minimum value - public static double findMin(float[,] map) - { - int x, y; - int w = map.GetLength(0); - int h = map.GetLength(1); - double min = double.MaxValue; - - for (x = 0; x < w; x++) - { - for (y = 0; y < h; y++) - { - if (map[x, y] < min) - min = map[x, y]; - } - } - - return min; - } - } -} diff --git a/OpenSim.Terrain.BasicTerrain/OpenSim.Terrain.BasicTerrain.csproj b/OpenSim.Terrain.BasicTerrain/OpenSim.Terrain.BasicTerrain.csproj index 328f69de7c..4c5c04f9d4 100644 --- a/OpenSim.Terrain.BasicTerrain/OpenSim.Terrain.BasicTerrain.csproj +++ b/OpenSim.Terrain.BasicTerrain/OpenSim.Terrain.BasicTerrain.csproj @@ -28,14 +28,12 @@ 4 + - - - diff --git a/OpenSim.Terrain.BasicTerrain/RaiseLower.cs b/OpenSim.Terrain.BasicTerrain/RaiseLower.cs deleted file mode 100644 index 384bcc0696..0000000000 --- a/OpenSim.Terrain.BasicTerrain/RaiseLower.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.Terrain.BasicTerrain -{ - static class RaiseLower - { - /// - /// Raises land around the selection - /// - /// The center the X coordinate of where you wish to raise the land - /// The center the Y coordinate of where you wish to raise the land - /// The radius of the dimple - /// How much impact to add to the terrain (0..2 usually) - public static void raise(float[,] map, double rx, double ry, double size, double amount) - { - raiseSphere(map, rx, ry, size, amount); - } - - /// - /// Raises land in a sphere around the selection - /// - /// The center the X coordinate of where you wish to raise the land - /// The center the Y coordinate of where you wish to raise the land - /// The radius of the sphere dimple - /// How much impact to add to the terrain (0..2 usually) - public static void raiseSphere(float[,] map, double rx, double ry, double size, double amount) - { - int x, y; - int w = map.GetLength(0); - int h = map.GetLength(1); - - for (x = 0; x < w; x++) - { - for (y = 0; y < h; y++) - { - double z = size; - z *= z; - z -= ((x - rx) * (x - rx)) + ((y - ry) * (y - ry)); - - if (z < 0) - z = 0; - - map[x, y] += (float)(z * amount); - } - } - } - - /// - /// Lowers land in a sphere around the selection - /// - /// The center the X coordinate of where you wish to lower the land - /// The center the Y coordinate of where you wish to lower the land - /// The radius of the sphere dimple - /// How much impact to remove from the terrain (0..2 usually) - public static void lower(float[,] map, double rx, double ry, double size, double amount) - { - lowerSphere(map, rx, ry, size, amount); - } - - /// - /// Lowers land in a sphere around the selection - /// - /// The center the X coordinate of where you wish to lower the land - /// The center the Y coordinate of where you wish to lower the land - /// The radius of the sphere dimple - /// How much impact to remove from the terrain (0..2 usually) - public static void lowerSphere(float[,] map, double rx, double ry, double size, double amount) - { - int x, y; - int w = map.GetLength(0); - int h = map.GetLength(1); - - for (x = 0; x < w; x++) - { - for (y = 0; y < h; y++) - { - double z = size; - z *= z; - z -= ((x - rx) * (x - rx)) + ((y - ry) * (y - ry)); - - if (z < 0) - z = 0; - - map[x, y] -= (float)(z * amount); - } - } - } - } -} diff --git a/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs b/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs index 87dbf7eac8..bd4b85f3e6 100644 --- a/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs +++ b/OpenSim.Terrain.BasicTerrain/TerrainEngine.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Text; -using OpenSim.Terrain.BasicTerrain; +using libTerrain; namespace OpenSim.Terrain { @@ -10,11 +10,8 @@ namespace OpenSim.Terrain /// /// A [normally] 256x256 heightmap /// - public float[,] map; - /// - /// A 256x256 heightmap storing water height values - /// - public float[,] water; + public Channel heightmap; + int w, h; /// @@ -24,8 +21,7 @@ namespace OpenSim.Terrain { w = 256; h = 256; - map = new float[w, h]; - water = new float[w, h]; + heightmap = new Channel(w, h); } @@ -38,7 +34,21 @@ namespace OpenSim.Terrain float[] heights = new float[w*h]; int i; for(i=0;i /// Loads a file consisting of 256x256 doubles and imports it as an array into the map. /// + /// TODO: Move this to libTerrain itself /// The filename of the double array to import public void loadFromFileF64(string filename) { @@ -70,21 +94,11 @@ namespace OpenSim.Terrain { for (y = 0; y < h; y++) { - map[x, y] = (float)bs.ReadDouble(); + heightmap.map[x, y] = bs.ReadDouble(); } } } - /// - /// Swaps the references between the height and water buffers to allow you to edit the water heightmap. Remember to swap back when you are done. - /// - public void swapWaterBuffer() - { - float[,] temp = map; - map = water; - water = temp; - } - /// /// Raises land in a sphere around the specified coordinates /// @@ -94,9 +108,9 @@ namespace OpenSim.Terrain /// Scale the height of the sphere by this amount (recommended 0..2) public void raise(double rx, double ry, double size, double amount) { - lock (map) + lock (heightmap) { - RaiseLower.raiseSphere(this.map, rx, ry, size, amount); + heightmap.raise(rx, ry, size, amount); } } @@ -109,9 +123,9 @@ namespace OpenSim.Terrain /// Scale the height of the sphere by this amount (recommended 0..2) public void lower(double rx, double ry, double size, double amount) { - lock (map) + lock (heightmap) { - RaiseLower.lowerSphere(this.map, rx, ry, size, amount); + heightmap.lower(rx, ry, size, amount); } } @@ -120,12 +134,24 @@ namespace OpenSim.Terrain /// public void hills() { - lock (map) + lock (heightmap) { - Hills.hillsSpheres(this.map, 1337, 200, 20, 40, true, true, false); - Normalise.normalise(this.map,60); + heightmap.hillsSpheres(200, 20, 40, true, true, false); + heightmap.normalise(); + heightmap *= 60.0; // Raise to 60m } } + public float this[int x, int y] + { + get + { + return (float)heightmap.get(x,y); + } + set + { + heightmap.set(x,y,(double)value); + } + } } } diff --git a/OpenSim.Terrain.BasicTerrain/bin/Debug/OpenSim.Terrain.BasicTerrain.dll b/OpenSim.Terrain.BasicTerrain/bin/Debug/OpenSim.Terrain.BasicTerrain.dll index 0cfa5952c618df307eef04aa5d85b188fe2784ed..b2bcf9f8b1953a40a0c6fb14613d0b654331c2b3 100644 GIT binary patch literal 16384 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 literal 19968 zcmeI3eQed$8OMLO)LPytTBH@&1&UPB+ZUj`_`*wRDY2kfHec32OS!d`zOdU8UZU4W zeemh`cix_J&U4Orp67S&&*jYxvG$Jk#?EkgQTdD+;pH`z;W?4w;*rDhm(+MrhUbNV z>F`TRLj@Mnf6oIAY`es(JJOY=3snQfN4vgrq0T)$@2;-lzby&Pl^q-7*g#iTCO9O{ zpERA<8aTdo<$`?|AI#ZaFCd`IE)(-WPlRDQz3kd-HyOuc8+%x#@O-f(yXd@-C2 z4~2)pBjHi-XjtuY;IZ%}@TG7rJPy7L9uMckd2pHrUju`+{>PTy(){`N_wL(z^sQI2 zn?64<_#;hAJR2J5&Hl?T2JOGn>N^?F#(2^)&#eXq>-;C%|8qNwbZ@C@V6fJIP2Gg~ z|NdFUE2Fa?+yCG`oGY&a{7#+w~u<_of})@Z#*11x3ft1mZ}EQ z>z}IT&X0B{K0fiW?ss?SPsRM&P3^Juwe1}(^&2~zYCD=+Ydd2b+t%0Kv?1D7)7%pPkoT%z`t`sR*kb^E4hEYi^7dC@+lv?B$XkxnONt)#d_Epj`eExwc# zhvJ4*(ROEZTU4V-aWHOB(QY{@j;E@*rKMv4<7o2R>s?w)R0&Vup;ie;4}M zPoQ!8bq{{<+CkOTd{kFu!Md84Uw8YE@h4PQ{i?3Yf^|uz=?paRsTLCQ(WVlArDxCV z#+nUH(O8so&K=E=9K9zVrEmv4&iz(2%qz(Ga?O^G&S^^m(zDnfaRqf8Y1w z?e8u7)wH1*zx?q_byP8D^bokavGxs}f9dE8t_NpM<1VvzW@@f#&?57;EOK*Rgk?F{{>hA?s55h!BW!u!CBxRz}eto zunhbZoC}U%jU;~zIFIz@;I-fsmwyGweu+;9uLl=^H-HOW`C@P(>2h!pxEfpxt^v!z zI#A}4`u?S)JA42yKOGc)eJV+2S)S+XVn za66bj|EE9ykFZc$kHn=XI2)OJIy*oV|!7FOH2@Uc4IAz8=aPtd4S#EuIQbGkH2AtKgl; z4e`%v$nz98RKX(YT-|E#t6%MXojvV+X-a$F%AbtfJUG8w_GZdobF%%57RhLVMcVh0 zEx$J!l;6|&yBeGf$}dPOT5p~8h_nCFhiHWb^OrGa-E8_I8ENQjkJ&gx?RLYe>z5DI z?oUxHc&ax|`jQR0p^sQ5*_LU}vSG4l$#!hMo3roh{54YTEdH}=N1|g>{f1lXc^_Q7 zv9U4A?Ct!IgH7l~?fklaT$&Mx8Hs^6sEx)QIo-ICml+yselwNcZ5!*GuS2NFUvE7V zKW5o|K*GE}+p#^1oNVf=u3tV0AE7phv6+~<)Q_nLI=;ibjE_B;^?|>4%$vO(-$Lr{ za^v&M&-VE4wi}`Q{7D!1%q;(%#lG9v@f~4oRn*s6^~=xJ_+%?|ZtWQgb)P-f)~ka> zqd2chbC!**U|+{C6#InDGIk1^rTy$|;$_%F`JpO<6d97els;u2?Y;_ipO>J0EJhC7 z(!}+$kENt#D`tX|!CBxGQ1&s{zv6srlTY8j-8Z4`{TA$hE^^er-V4+}F^}p0S`aqx z1=qR$@x^8wOF_LS^z47tN%NNtS6>gqqC%MYm~qsBarjC2C-7eQ5c~<8sR2RqLwdCS z$MeFZWjN4>*>lnf{!d;zu5UC7!118+^FhU8@?Ust<2$E=1uUyo|iT94&ma6ML#)_S0GvmQ5tT91{W)*}=4 z{r|6d7Ws40GsD0g8tma?)K2>M>uR_I_5bogW&QDy^mQq$F^Hsd+t&I@y~~Jved?L4 zEREHu)%Z$#kEJr*W9-3u=6-k$=|WqF{II!q3)bICnRL*9KW@LxLPn1`qsi&cUsuFRzgfFn z-=6d1{flL4E*fFmnLhk`hUYX{D7ZeXWtKe$6qr7Gu1^c&+CV$C@#}pN*5^6K)xx;6 zK5xV5^Q^3o{F>~Is4siNW{j)E zk8cI#kL6e7kA?SxzCXT=^fuD+NAd^4pg+Ey^ttfIe%zz|FABqYuP=tH;C1lb@OF3? zycZ6+m!@&vmBxPGX2a@T%x=9X(nI3!PV_HN`4z#=Gv6%?AbPY{|Y%{>DRS+ zuI|i)eAzZv_aynY%(YPGFwNO#L6a^f8zIqr;2*dJgMd{zR8nY{#SFF<@V$I%h=8IY=Qts0d~T zo_m!a$P7FNS|uI_R-QE2gjk;9JyLxoP9;HYPFJovVf{&!PNUx>v3)MJ;tIvN1#mGe z-&h4>zs&ozY}W(uc6bM@_~j*d53DnL2zDO}_#ZXcj|RNbva&f#7A=ub$bR`6{Pxx6 z+rPuTVy7_Oe`syPv)|FHx}j5DWkt-F0p6m;^U6zSFRJvec`b4*Fhe+QRV7m_p)X5tT>kMkMXT#j3c||FHY}510pQ4Uf zLs4UMOSB_Zc_)3mGjNe+qv$&x&0RV}J?^x6o_wC>uV6vtF<3egNoP}F=}GPMKKVr= z`SJ0vzy1f@yIF7RU#PlF;3$*&jENrQ3|&p$Zj_;BlBN0UzF`8~+a8e)^ll}1(ff*duh;$3IGEoH&Diq6JUC5*uL0@5FY;r<j5NaA$8rD zsn75;cgQpuN{-8VEZ!N#f5T3S|FXAz)W5m)8vohx^%ch{zpprM7iE35J5~I5Gs;Ch)V59It;IYG%X^-W2CZG*m3?2m0wR~7Ih!ahGtPTmox_`Eqq zAwBk(0*Msmm~Er>P(N%#&gpE!9L=z8MX6p;}{mG zsJgjr{j#>kcCVAgzJ42GSb%KhnT|0UoKB^Z)<= diff --git a/OpenSim.Terrain.BasicTerrain/bin/Debug/libTerrain-BSD.dll b/OpenSim.Terrain.BasicTerrain/bin/Debug/libTerrain-BSD.dll new file mode 100644 index 0000000000000000000000000000000000000000..d9b95fca5c286b7a028993ffc2a47c8848277b63 GIT binary patch literal 32768 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 literal 0 HcmV?d00001 diff --git a/OpenSim.Terrain.BasicTerrain/obj/Debug/OpenSim.Terrain.BasicTerrain.dll b/OpenSim.Terrain.BasicTerrain/obj/Debug/OpenSim.Terrain.BasicTerrain.dll index 0cfa5952c618df307eef04aa5d85b188fe2784ed..b2bcf9f8b1953a40a0c6fb14613d0b654331c2b3 100644 GIT binary patch literal 16384 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 literal 19968 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 diff --git a/OpenSim.Terrain.BasicTerrain/obj/Debug/Refactor/OpenSim.Terrain.BasicTerrain.dll b/OpenSim.Terrain.BasicTerrain/obj/Debug/Refactor/OpenSim.Terrain.BasicTerrain.dll new file mode 100644 index 0000000000000000000000000000000000000000..f42e7bbfa52769401390318bf2508ebf770508ed GIT binary patch literal 16384 zcmeHN-D@0G6#vccCT`j^q}rBNtxim;t(s+%ZrTP#x5*}Lq-jDoZT*5|cK2p8Wp-wn znQfCkNDvGNQVJIFL80KAzT`o$Nc#^6eG?J!p${s8f_*7|()zo1cC#BRRm8X4v&^~o zeB5)-`OWOGXJ#i~zKA%01dls+fGZp&Wfi|STc)||(NDYZamV$ZE5@{}JHXt}NzngwC{HP^IVGdGntD_%*YwrttdR}Vcs1{^cu_|ScLys_I2boFdDl0Y{# zW~A+UygtuLnat!syUbfsW5hBAxsJrTsHULg#<*ryK3DeuQ*xFCeu*j7dNv1iuGjoK z$pl!z8YL+oU6X)RC>BG?+uF%!Q#sc2rliOO=2Cv(7b&USvYbdClSd0>nSII^jz>q8 z>l}^JFU_NcvcO1-sHYkMjetf#BcKt`2xtT}0vZ90fJQ(guz?V`$^KW8>`h~6!?X!F zZGa(_|A9vGFN_%V)v^~oJD5tRhSCQI56WO|aLD(v&+dHM@d|6oZf!f=#av1#(wOGa+hs2ZR**^W{$EQ z=5lq&+TW zUB!9}U6d}6N3^o@BDPXfm+%g@w@4r0!4_#1eJ#>8JgIV(D_8Ito>5gr(pSi;nj+~2 zrN&c-6@1728qY3Pl0WhsH>F!Rt}-+5Ia6xzuhslp@)*7+kK+gO1a96_|FiP{RrxgM zar|!V!bN7=L;ec(k#EI-(xk8%XOO}JxJ3RC-p43-tCXxfT(l3w#D994rXCybxBbD$Zd6sbc8)D2wo@ zQU?RM7GW@lpw-e8XmLENH12zqaoZ8&2Qpw0fuQ!B@UdV!P9Ou#PRQK2E}AGQN;q|* z=7x4fq$b=@_+B+H{IhmZ1UOQ&ONT>#3k$VS)T>)_9`!0!?&q(0M+z&nJ@}awqu7&P3yhR!P?eh-XXHw068&l)tqorR0_gxMu`v&Fwe|ft0Lep!e2sQ zpBJzy9_z#+mT=Z`YC>HGaZ?S`JKs)!G5kh$_15M5;`Jxyko@HQtEYBlZoC<9zrQ2a zo}{0VFtNL{!^F1E7%xP$nTD~uv)eT4a(zfp-F2UtFt(7|%vfhK*>1*-WU{kuuN0&` z*ZCWd`~)qBPV$JYWs>4;L)U5~5fpXaqC@8Uc-fMnEH=5!eU_$W9j62`sO#R{joEuaoc6OF#MS;KeNP z9)Bx0=)G8m(^JS}mVAsIb)G%i6uZt@j>j<`y>-X6#80=QF1)ca8lSI=vS)7ztF$?C zgHbK`jAQeef?!M+^X%9q^{I|{hE|K(fOZQZ{X9w$ttS3pK?ZXQ>19)2{+mc&DxWl8 zqeq_%3hI^m)2dHx?40B70g5V4b=^KDH%s%Uys;Mh6n%YqH*-m||7{*XiQTg7W?e>- zzAkfjh?j*5W%*x)Do2-@+tj2mqr7CLvWgU6@LMW=@h(e=aiU-OdsY6&xU#IGj}nZQfm&g z-hiGJo*jo(nE$wrOEqZ(Gy)m{jetf#BcKt`2xtT}0vdshhkzOVXT1Bs#w%S{tP#)% cXaqC@8Uc-fMnEH=5zq)|1T+E~fsKN|pUTy}od5s; literal 0 HcmV?d00001 diff --git a/bin/OpenSim.Terrain.BasicTerrain.dll b/bin/OpenSim.Terrain.BasicTerrain.dll index c864d89563675a9112b41ed69224ca3b0f3b15e7..b2bcf9f8b1953a40a0c6fb14613d0b654331c2b3 100644 GIT binary patch literal 16384 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 L*q^okyA1proloq; diff --git a/bin/libTerrain-BSD.dll b/bin/libTerrain-BSD.dll new file mode 100644 index 0000000000000000000000000000000000000000..d9b95fca5c286b7a028993ffc2a47c8848277b63 GIT binary patch literal 32768 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 literal 0 HcmV?d00001 diff --git a/prebuild.xml b/prebuild.xml index 49b1563392..f1109a659c 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -379,6 +379,7 @@ ../bin/ +