From d3771e536645f50401e9737a693fcbb1fb3b6a01 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Mon, 28 Mar 2011 16:48:12 -0700
Subject: Added code to load a terrain tile of tiff/jpg format. Previously it
 only worked for one single region.

---
 .../World/Terrain/FileLoaders/GenericSystemDrawing.cs     | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs
index 6676ec8..d6fa093 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs
@@ -62,9 +62,20 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
             return LoadBitmap(new Bitmap(filename));
         }
 
-        public ITerrainChannel LoadFile(string filename, int x, int y, int fileWidth, int fileHeight, int w, int h)
+        public virtual ITerrainChannel LoadFile(string filename, int offsetX, int offsetY, int fileWidth, int fileHeight, int w, int h)
         {
-            throw new NotImplementedException();
+            Bitmap bitmap = new Bitmap(filename);
+            ITerrainChannel retval = new TerrainChannel(true);
+
+            for (int x = 0; x < retval.Width; x++)
+            {
+                for (int y = 0; y < retval.Height; y++)
+                {
+                    retval[x, y] = bitmap.GetPixel(offsetX * retval.Width + x, (bitmap.Height - (retval.Height * (offsetY + 1))) + retval.Height - y - 1).GetBrightness() * 128;
+                }
+            }
+
+            return retval;
         }
 
         public virtual ITerrainChannel LoadStream(Stream stream)
-- 
cgit v1.1