From 5e4d6cab00cb29cd088ab7b62ab13aff103b64cb Mon Sep 17 00:00:00 2001
From: onefang
Date: Sun, 19 May 2019 21:24:15 +1000
Subject: Dump OpenSim 0.9.0.1 into it's own branch.
---
.../CoreModules/World/Terrain/FileLoaders/BMP.cs | 10 ++-
.../CoreModules/World/Terrain/FileLoaders/GIF.cs | 10 ++-
.../Terrain/FileLoaders/GenericSystemDrawing.cs | 81 ++++++----------------
.../CoreModules/World/Terrain/FileLoaders/JPEG.cs | 14 ++--
.../CoreModules/World/Terrain/FileLoaders/LLRAW.cs | 10 ++-
.../CoreModules/World/Terrain/FileLoaders/PNG.cs | 10 ++-
.../CoreModules/World/Terrain/FileLoaders/TIFF.cs | 10 ++-
7 files changed, 54 insertions(+), 91 deletions(-)
(limited to 'OpenSim/Region/CoreModules/World/Terrain/FileLoaders')
diff --git a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/BMP.cs b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/BMP.cs
index fb57c82..ec2d085 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/BMP.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/BMP.cs
@@ -47,9 +47,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
/// The terrain channel being saved
public override void SaveFile(string filename, ITerrainChannel map)
{
- Bitmap colours = CreateGrayscaleBitmapFromMap(map);
-
- colours.Save(filename, ImageFormat.Bmp);
+ using(Bitmap colours = CreateGrayscaleBitmapFromMap(map))
+ colours.Save(filename,ImageFormat.Bmp);
}
///
@@ -59,9 +58,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
/// The terrain channel being saved
public override void SaveStream(Stream stream, ITerrainChannel map)
{
- Bitmap colours = CreateGrayscaleBitmapFromMap(map);
-
- colours.Save(stream, ImageFormat.Png);
+ using(Bitmap colours = CreateGrayscaleBitmapFromMap(map))
+ colours.Save(stream,ImageFormat.Bmp);
}
///
diff --git a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GIF.cs b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GIF.cs
index 79cc50b..3843708 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GIF.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GIF.cs
@@ -36,9 +36,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
{
public override void SaveFile(string filename, ITerrainChannel map)
{
- Bitmap colours = CreateGrayscaleBitmapFromMap(map);
-
- colours.Save(filename, ImageFormat.Gif);
+ using(Bitmap colours = CreateGrayscaleBitmapFromMap(map))
+ colours.Save(filename,ImageFormat.Gif);
}
///
@@ -48,9 +47,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
/// The terrain channel being saved
public override void SaveStream(Stream stream, ITerrainChannel map)
{
- Bitmap colours = CreateGrayscaleBitmapFromMap(map);
-
- colours.Save(stream, ImageFormat.Gif);
+ using(Bitmap colours = CreateGrayscaleBitmapFromMap(map))
+ colours.Save(stream,ImageFormat.Gif);
}
public override string ToString()
diff --git a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs
index d5c77ec..bcd9dcd 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/GenericSystemDrawing.cs
@@ -59,7 +59,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
/// A terrain channel generated from the image.
public virtual ITerrainChannel LoadFile(string filename)
{
- using (Bitmap b = new Bitmap(filename))
+ using(Bitmap b = new Bitmap(filename))
return LoadBitmap(b);
}
@@ -111,9 +111,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
/// The terrain channel being saved
public virtual void SaveFile(string filename, ITerrainChannel map)
{
- Bitmap colours = CreateGrayscaleBitmapFromMap(map);
-
- colours.Save(filename, ImageFormat.Png);
+ using(Bitmap colours = CreateGrayscaleBitmapFromMap(map))
+ colours.Save(filename,ImageFormat.Png);
}
///
@@ -123,12 +122,11 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
/// The terrain channel being saved
public virtual void SaveStream(Stream stream, ITerrainChannel map)
{
- Bitmap colours = CreateGrayscaleBitmapFromMap(map);
-
- colours.Save(stream, ImageFormat.Png);
+ using(Bitmap colours = CreateGrayscaleBitmapFromMap(map))
+ colours.Save(stream,ImageFormat.Png);
}
- public virtual void SaveFile(ITerrainChannel m_channel, string filename,
+ public virtual void SaveFile(ITerrainChannel m_channel, string filename,
int offsetX, int offsetY,
int fileWidth, int fileHeight,
int regionSizeX, int regionSizeY)
@@ -162,13 +160,13 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
{
newBitmap = new Bitmap(fileWidth * regionSizeX, fileHeight * regionSizeY);
}
-
+
thisBitmap = CreateGrayscaleBitmapFromMap(m_channel);
- // Console.WriteLine("offsetX=" + offsetX + " offsetY=" + offsetY);
+ // Console.WriteLine("offsetX=" + offsetX + " offsetY=" + offsetY);
for (int x = 0; x < regionSizeX; x++)
for (int y = 0; y < regionSizeY; y++)
newBitmap.SetPixel(x + offsetX * regionSizeX, y + (fileHeight - 1 - offsetY) * regionSizeY, thisBitmap.GetPixel(x, y));
-
+
Save(newBitmap, filename);
}
finally
@@ -213,8 +211,10 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
/// A System.Drawing.Bitmap containing a grayscale image
protected static Bitmap CreateGrayscaleBitmapFromMap(ITerrainChannel map)
{
+ // Bitmap bmp = new Bitmap(map.Width, map.Height, PixelFormat.Format24bppRgb);
Bitmap bmp = new Bitmap(map.Width, map.Height);
+
const int pallete = 256;
Color[] grays = new Color[pallete];
@@ -227,59 +227,24 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
{
for (int x = 0; x < map.Width; x++)
{
- // 512 is the largest possible height before colours clamp
- int colorindex = (int) (Math.Max(Math.Min(1.0, map[x, y] / 128.0), 0.0) * (pallete - 1));
-
- // Handle error conditions
- if (colorindex > pallete - 1 || colorindex < 0)
- bmp.SetPixel(x, map.Height - y - 1, Color.Red);
- else
- bmp.SetPixel(x, map.Height - y - 1, grays[colorindex]);
- }
- }
- return bmp;
- }
-
- ///
- /// Protected method, generates a coloured bitmap
- /// image from a specified terrain channel.
- ///
- /// The terrain channel to export to bitmap
- /// A System.Drawing.Bitmap containing a coloured image
- protected static Bitmap CreateBitmapFromMap(ITerrainChannel map)
- {
- int pallete;
- Bitmap bmp;
- Color[] colours;
+ // to change this, loading also needs change
- using (Bitmap gradientmapLd = new Bitmap("defaultstripe.png"))
- {
- pallete = gradientmapLd.Height;
-
- bmp = new Bitmap(map.Width, map.Height);
- colours = new Color[pallete];
-
- for (int i = 0; i < pallete; i++)
- {
- colours[i] = gradientmapLd.GetPixel(0, i);
- }
- }
+ // int colorindex = (int)map[x, y]; // one to one conversion 0 - 255m range
+ // int colorindex = (int)map[x, y] / 2; // 0 - 510 range
- for (int y = 0; y < map.Height; y++)
- {
- for (int x = 0; x < map.Width; x++)
- {
- // 512 is the largest possible height before colours clamp
- int colorindex = (int) (Math.Max(Math.Min(1.0, map[x, y] / 512.0), 0.0) * (pallete - 1));
+ int colorindex = (int)map[x, y] * 2; // the original 0 - 127.5 range
- // Handle error conditions
- if (colorindex > pallete - 1 || colorindex < 0)
- bmp.SetPixel(x, map.Height - y - 1, Color.Red);
- else
- bmp.SetPixel(x, map.Height - y - 1, colours[colorindex]);
+ // clamp it not adding the red warning
+ if (colorindex < 0)
+ colorindex = 0;
+ else if (colorindex >= pallete)
+ colorindex = pallete - 1;
+ bmp.SetPixel(x, map.Height - y - 1, grays[colorindex]);
}
}
return bmp;
}
}
}
+
+
diff --git a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/JPEG.cs b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/JPEG.cs
index 9cc767a..d604dc7 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/JPEG.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/JPEG.cs
@@ -59,9 +59,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
public void SaveFile(string filename, ITerrainChannel map)
{
- Bitmap colours = CreateBitmapFromMap(map);
-
- colours.Save(filename, ImageFormat.Jpeg);
+ using(Bitmap colours = CreateBitmapFromMap(map))
+ colours.Save(filename,ImageFormat.Jpeg);
}
///
@@ -71,9 +70,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
/// The terrain channel being saved
public void SaveStream(Stream stream, ITerrainChannel map)
{
- Bitmap colours = CreateBitmapFromMap(map);
-
- colours.Save(stream, ImageFormat.Jpeg);
+ using(Bitmap colours = CreateBitmapFromMap(map))
+ colours.Save(stream,ImageFormat.Jpeg);
}
public virtual void SaveFile(ITerrainChannel m_channel, string filename,
@@ -106,10 +104,10 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
using (Bitmap gradientmapLd = new Bitmap("defaultstripe.png"))
{
pallete = gradientmapLd.Height;
-
+
bmp = new Bitmap(map.Width, map.Height);
colours = new Color[pallete];
-
+
for (int i = 0; i < pallete; i++)
{
colours[i] = gradientmapLd.GetPixel(0, i);
diff --git a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/LLRAW.cs b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/LLRAW.cs
index be1fb24..68d6ed2 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/LLRAW.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/LLRAW.cs
@@ -57,6 +57,10 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
public LLRAW()
{
+ }
+
+ private void BuildLookupHeightTable()
+ {
LookupHeightTable = new HeightmapLookupValue[256 * 256];
for (int i = 0; i < 256; i++)
@@ -186,6 +190,9 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
public void SaveStream(Stream s, ITerrainChannel map)
{
+ if (LookupHeightTable == null)
+ BuildLookupHeightTable();
+
using (BinaryWriter binStream = new BinaryWriter(s))
{
// Output the calculated raw
@@ -241,6 +248,7 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
}
}
}
+ LookupHeightTable = null;
}
public string FileExtension
@@ -267,6 +275,6 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
public bool SupportsTileSave()
{
return false;
- }
+ }
}
}
\ No newline at end of file
diff --git a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/PNG.cs b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/PNG.cs
index c5c12ae..8ea8e9d 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/PNG.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/PNG.cs
@@ -36,9 +36,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
{
public override void SaveFile(string filename, ITerrainChannel map)
{
- Bitmap colours = CreateGrayscaleBitmapFromMap(map);
-
- colours.Save(filename, ImageFormat.Png);
+ using(Bitmap colours = CreateGrayscaleBitmapFromMap(map))
+ colours.Save(filename,ImageFormat.Png);
}
///
@@ -48,9 +47,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
/// The terrain channel being saved
public override void SaveStream(Stream stream, ITerrainChannel map)
{
- Bitmap colours = CreateGrayscaleBitmapFromMap(map);
-
- colours.Save(stream, ImageFormat.Png);
+ using(Bitmap colours = CreateGrayscaleBitmapFromMap(map))
+ colours.Save(stream,ImageFormat.Png);
}
public override string ToString()
diff --git a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/TIFF.cs b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/TIFF.cs
index b416b82..d103a6f 100644
--- a/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/TIFF.cs
+++ b/OpenSim/Region/CoreModules/World/Terrain/FileLoaders/TIFF.cs
@@ -36,9 +36,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
{
public override void SaveFile(string filename, ITerrainChannel map)
{
- Bitmap colours = CreateGrayscaleBitmapFromMap(map);
-
- colours.Save(filename, ImageFormat.Tiff);
+ using(Bitmap colours = CreateGrayscaleBitmapFromMap(map))
+ colours.Save(filename,ImageFormat.Tiff);
}
///
@@ -48,9 +47,8 @@ namespace OpenSim.Region.CoreModules.World.Terrain.FileLoaders
/// The terrain channel being saved
public override void SaveStream(Stream stream, ITerrainChannel map)
{
- Bitmap colours = CreateGrayscaleBitmapFromMap(map);
-
- colours.Save(stream, ImageFormat.Tiff);
+ using(Bitmap colours = CreateGrayscaleBitmapFromMap(map))
+ colours.Save(stream,ImageFormat.Tiff);
}
public override string ToString()
--
cgit v1.1