almost working
This commit is contained in:
@@ -1,13 +1,9 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Data;
|
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Linq;
|
using System.IO;
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using OpenRA.FileFormats;
|
using OpenRA.FileFormats;
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace OpenRA.Editor
|
namespace OpenRA.Editor
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
using System;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Generic;
|
using System.Drawing;
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using OpenRA.FileFormats;
|
using OpenRA.FileFormats;
|
||||||
using System.Drawing;
|
using System;
|
||||||
|
|
||||||
namespace OpenRA.Editor
|
namespace OpenRA.Editor
|
||||||
{
|
{
|
||||||
@@ -36,6 +34,7 @@ namespace OpenRA.Editor
|
|||||||
{
|
{
|
||||||
base.OnMouseMove(e);
|
base.OnMouseMove(e);
|
||||||
MousePos = new int2(e.Location);
|
MousePos = new int2(e.Location);
|
||||||
|
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,6 +52,28 @@ namespace OpenRA.Editor
|
|||||||
Bitmap RenderChunk(int u, int v)
|
Bitmap RenderChunk(int u, int v)
|
||||||
{
|
{
|
||||||
var bitmap = new Bitmap(ChunkSize * 24, ChunkSize * 24);
|
var bitmap = new Bitmap(ChunkSize * 24, ChunkSize * 24);
|
||||||
|
|
||||||
|
var hx = Math.Min(Map.Width - u * ChunkSize, ChunkSize);
|
||||||
|
var hy = Math.Min(Map.Height - v * ChunkSize, ChunkSize);
|
||||||
|
|
||||||
|
for( var i = 0; i < hx; i++ )
|
||||||
|
for (var j = 0; j < hy; j++)
|
||||||
|
{
|
||||||
|
var tr = Map.MapTiles[u * ChunkSize + i, v * ChunkSize + j];
|
||||||
|
var tile = TileSet.tiles[tr.type];
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var rawImage = tile.TileBitmapBytes[tr.index % tile.TileBitmapBytes.Count];
|
||||||
|
for (var x = 0; x < 24; x++)
|
||||||
|
for (var y = 0; y < 24; y++)
|
||||||
|
bitmap.SetPixel(i * 24 + x, j * 24 + y, Palette.GetColor(rawImage[x + 24 * y]));
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,7 +86,7 @@ namespace OpenRA.Editor
|
|||||||
for (var v = Map.TopLeft.Y - Map.TopLeft.Y % ChunkSize; v < Map.BottomRight.Y; v += ChunkSize)
|
for (var v = Map.TopLeft.Y - Map.TopLeft.Y % ChunkSize; v < Map.BottomRight.Y; v += ChunkSize)
|
||||||
{
|
{
|
||||||
var x = new int2(u,v);
|
var x = new int2(u,v);
|
||||||
if (!Chunks.ContainsKey(x)) Chunks[x] = RenderChunk(u, v);
|
if (!Chunks.ContainsKey(x)) Chunks[x] = RenderChunk(u / ChunkSize, v / ChunkSize);
|
||||||
e.Graphics.DrawImage(Chunks[x], u * ChunkSize * 24, v * ChunkSize * 24);
|
e.Graphics.DrawImage(Chunks[x], u * ChunkSize * 24, v * ChunkSize * 24);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user