StyleCop clean TilesetBuilder

adapt Makefile after TilesetBuilder file renamings

remove dead TilesetBuilder code
This commit is contained in:
Matthias Mailänder
2013-08-03 19:30:36 +02:00
parent 59b700fcde
commit 4603f0bbf6
9 changed files with 704 additions and 728 deletions

View File

@@ -194,15 +194,15 @@ tsbuild_TARGET = OpenRA.TilesetBuilder.exe
tsbuild_KIND = winexe tsbuild_KIND = winexe
tsbuild_DEPS = $(fileformats_TARGET) $(game_TARGET) tsbuild_DEPS = $(fileformats_TARGET) $(game_TARGET)
tsbuild_LIBS = $(COMMON_LIBS) $(tsbuild_DEPS) System.Windows.Forms.dll tsbuild_LIBS = $(COMMON_LIBS) $(tsbuild_DEPS) System.Windows.Forms.dll
tsbuild_EXTRA = -resource:OpenRA.TilesetBuilder.frmBuilder.resources -resource:OpenRA.TilesetBuilder.frmNew.resources -resource:OpenRA.TilesetBuilder.Surface.resources tsbuild_EXTRA = -resource:OpenRA.TilesetBuilder.FormBuilder.resources -resource:OpenRA.TilesetBuilder.FormNew.resources -resource:OpenRA.TilesetBuilder.Surface.resources
PROGRAMS += tsbuild PROGRAMS += tsbuild
OpenRA.TilesetBuilder.frmBuilder.resources: OpenRA.TilesetBuilder.FormBuilder.resources:
resgen2 OpenRA.TilesetBuilder/frmBuilder.resx OpenRA.TilesetBuilder.frmBuilder.resources 1> /dev/null resgen2 OpenRA.TilesetBuilder/FormBuilder.resx OpenRA.TilesetBuilder.FormBuilder.resources 1> /dev/null
OpenRA.TilesetBuilder.frmNew.resources: OpenRA.TilesetBuilder.FormNew.resources:
resgen2 OpenRA.TilesetBuilder/frmNew.resx OpenRA.TilesetBuilder.frmNew.resources 1> /dev/null resgen2 OpenRA.TilesetBuilder/frmNew.resx OpenRA.TilesetBuilder.FormNew.resources 1> /dev/null
OpenRA.TilesetBuilder.Surface.resources: OpenRA.TilesetBuilder.Surface.resources:
resgen2 OpenRA.TilesetBuilder/Surface.resx OpenRA.TilesetBuilder.Surface.resources 1> /dev/null resgen2 OpenRA.TilesetBuilder/Surface.resx OpenRA.TilesetBuilder.Surface.resources 1> /dev/null
tsbuild: OpenRA.TilesetBuilder.frmBuilder.resources OpenRA.TilesetBuilder.frmNew.resources OpenRA.TilesetBuilder.Surface.resources $(tsbuild_TARGET) tsbuild: OpenRA.TilesetBuilder.FormBuilder.resources OpenRA.TilesetBuilder.FormNew.resources OpenRA.TilesetBuilder.Surface.resources $(tsbuild_TARGET)
##### Launchers / Utilities ##### ##### Launchers / Utilities #####

View File

@@ -1,6 +1,6 @@
namespace OpenRA.TilesetBuilder namespace OpenRA.TilesetBuilder
{ {
partial class frmBuilder partial class FormBuilder
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
@@ -17,6 +17,7 @@
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
@@ -29,11 +30,11 @@
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmBuilder)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormBuilder));
this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer(); this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer();
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.imageList = new System.Windows.Forms.ImageList(this.components); this.ImageList = new System.Windows.Forms.ImageList(this.components);
this.tsTerrainTypes = new System.Windows.Forms.ToolStrip(); this.terrainTypes = new System.Windows.Forms.ToolStrip();
this.toolStripLabel3 = new System.Windows.Forms.ToolStripLabel(); this.toolStripLabel3 = new System.Windows.Forms.ToolStripLabel();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripLabel4 = new System.Windows.Forms.ToolStripLabel(); this.toolStripLabel4 = new System.Windows.Forms.ToolStripLabel();
@@ -60,7 +61,7 @@
this.toolStripContainer1.TopToolStripPanel.SuspendLayout(); this.toolStripContainer1.TopToolStripPanel.SuspendLayout();
this.toolStripContainer1.SuspendLayout(); this.toolStripContainer1.SuspendLayout();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.tsTerrainTypes.SuspendLayout(); this.terrainTypes.SuspendLayout();
this.toolStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
@@ -70,7 +71,7 @@
// toolStripContainer1.ContentPanel // toolStripContainer1.ContentPanel
// //
this.toolStripContainer1.ContentPanel.Controls.Add(this.panel1); this.toolStripContainer1.ContentPanel.Controls.Add(this.panel1);
this.toolStripContainer1.ContentPanel.Controls.Add(this.tsTerrainTypes); this.toolStripContainer1.ContentPanel.Controls.Add(this.terrainTypes);
this.toolStripContainer1.ContentPanel.Size = new System.Drawing.Size(908, 571); this.toolStripContainer1.ContentPanel.Size = new System.Drawing.Size(908, 571);
this.toolStripContainer1.Dock = System.Windows.Forms.DockStyle.Fill; this.toolStripContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.toolStripContainer1.Location = new System.Drawing.Point(0, 0); this.toolStripContainer1.Location = new System.Drawing.Point(0, 0);
@@ -83,7 +84,6 @@
// //
this.toolStripContainer1.TopToolStripPanel.Controls.Add(this.toolStrip1); this.toolStripContainer1.TopToolStripPanel.Controls.Add(this.toolStrip1);
this.toolStripContainer1.TopToolStripPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional; this.toolStripContainer1.TopToolStripPanel.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
this.toolStripContainer1.TopToolStripPanel.Click += new System.EventHandler(this.toolStripContainer1_TopToolStripPanel_Click);
// //
// panel1 // panel1
// //
@@ -98,24 +98,24 @@
// //
// imageList // imageList
// //
this.imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream"))); this.ImageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream")));
this.imageList.TransparentColor = System.Drawing.Color.Transparent; this.ImageList.TransparentColor = System.Drawing.Color.Transparent;
this.imageList.Images.SetKeyName(0, "clear.png"); this.ImageList.Images.SetKeyName(0, "clear.png");
this.imageList.Images.SetKeyName(1, "water.png"); this.ImageList.Images.SetKeyName(1, "water.png");
this.imageList.Images.SetKeyName(2, "road.png"); this.ImageList.Images.SetKeyName(2, "road.png");
this.imageList.Images.SetKeyName(3, "rock.png"); this.ImageList.Images.SetKeyName(3, "rock.png");
this.imageList.Images.SetKeyName(4, "river.png"); this.ImageList.Images.SetKeyName(4, "river.png");
this.imageList.Images.SetKeyName(5, "rough.png"); this.ImageList.Images.SetKeyName(5, "rough.png");
this.imageList.Images.SetKeyName(6, "wall.png"); this.ImageList.Images.SetKeyName(6, "wall.png");
this.imageList.Images.SetKeyName(7, "beach.png"); this.ImageList.Images.SetKeyName(7, "beach.png");
this.imageList.Images.SetKeyName(8, "tree.png"); this.ImageList.Images.SetKeyName(8, "tree.png");
this.imageList.Images.SetKeyName(9, "tiberium.png"); this.ImageList.Images.SetKeyName(9, "tiberium.png");
// //
// tsTerrainTypes // tsTerrainTypes
// //
this.tsTerrainTypes.AutoSize = false; this.terrainTypes.AutoSize = false;
this.tsTerrainTypes.Dock = System.Windows.Forms.DockStyle.Right; this.terrainTypes.Dock = System.Windows.Forms.DockStyle.Right;
this.tsTerrainTypes.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.terrainTypes.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripLabel3, this.toolStripLabel3,
this.toolStripSeparator3, this.toolStripSeparator3,
this.toolStripLabel4, this.toolStripLabel4,
@@ -130,12 +130,12 @@
this.toolStripLabel2, this.toolStripLabel2,
this.toolStripSeparator4, this.toolStripSeparator4,
this.toolStripButton1}); this.toolStripButton1});
this.tsTerrainTypes.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.VerticalStackWithOverflow; this.terrainTypes.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.VerticalStackWithOverflow;
this.tsTerrainTypes.Location = new System.Drawing.Point(788, 0); this.terrainTypes.Location = new System.Drawing.Point(788, 0);
this.tsTerrainTypes.Name = "tsTerrainTypes"; this.terrainTypes.Name = "tsTerrainTypes";
this.tsTerrainTypes.Size = new System.Drawing.Size(120, 571); this.terrainTypes.Size = new System.Drawing.Size(120, 571);
this.tsTerrainTypes.TabIndex = 1; this.terrainTypes.TabIndex = 1;
this.tsTerrainTypes.Text = "toolStrip3"; this.terrainTypes.Text = "toolStrip3";
// //
// toolStripLabel3 // toolStripLabel3
// //
@@ -161,7 +161,7 @@
this.txtTilesetName.Name = "txtTilesetName"; this.txtTilesetName.Name = "txtTilesetName";
this.txtTilesetName.Size = new System.Drawing.Size(116, 21); this.txtTilesetName.Size = new System.Drawing.Size(116, 21);
this.txtTilesetName.Text = "Temperat"; this.txtTilesetName.Text = "Temperat";
this.txtTilesetName.TextChanged += new System.EventHandler(this.txtTilesetName_TextChanged); this.txtTilesetName.TextChanged += new System.EventHandler(this.TilesetNameChanged);
// //
// toolStripLabel5 // toolStripLabel5
// //
@@ -254,7 +254,7 @@
this.toolStripButton15.Size = new System.Drawing.Size(48, 22); this.toolStripButton15.Size = new System.Drawing.Size(48, 22);
this.toolStripButton15.Text = "New"; this.toolStripButton15.Text = "New";
this.toolStripButton15.ToolTipText = "Create new tileset"; this.toolStripButton15.ToolTipText = "Create new tileset";
this.toolStripButton15.Click += new System.EventHandler(this.toolStripButton15_Click); this.toolStripButton15.Click += new System.EventHandler(this.NewTilesetButton);
// //
// toolStripButton2 // toolStripButton2
// //
@@ -305,7 +305,7 @@
// surface1 // surface1
// //
this.surface1.BackColor = System.Drawing.Color.Black; this.surface1.BackColor = System.Drawing.Color.Black;
this.surface1.ImagesList = this.imageList; this.surface1.ImagesList = this.ImageList;
this.surface1.Location = new System.Drawing.Point(0, 0); this.surface1.Location = new System.Drawing.Point(0, 0);
this.surface1.Name = "surface1"; this.surface1.Name = "surface1";
this.surface1.ShowTerrainTypes = this.toolStripButton3.Checked; this.surface1.ShowTerrainTypes = this.toolStripButton3.Checked;
@@ -328,8 +328,8 @@
this.toolStripContainer1.ResumeLayout(false); this.toolStripContainer1.ResumeLayout(false);
this.toolStripContainer1.PerformLayout(); this.toolStripContainer1.PerformLayout();
this.panel1.ResumeLayout(false); this.panel1.ResumeLayout(false);
this.tsTerrainTypes.ResumeLayout(false); this.terrainTypes.ResumeLayout(false);
this.tsTerrainTypes.PerformLayout(); this.terrainTypes.PerformLayout();
this.toolStrip1.ResumeLayout(false); this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout(); this.toolStrip1.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
@@ -345,8 +345,8 @@
private System.Windows.Forms.ToolStripButton toolStripButton14; private System.Windows.Forms.ToolStripButton toolStripButton14;
private System.Windows.Forms.ToolStripButton toolStripButton15; private System.Windows.Forms.ToolStripButton toolStripButton15;
private System.Windows.Forms.ToolStripButton toolStripButton16; private System.Windows.Forms.ToolStripButton toolStripButton16;
public System.Windows.Forms.ImageList imageList; public System.Windows.Forms.ImageList ImageList;
private System.Windows.Forms.ToolStrip tsTerrainTypes; private System.Windows.Forms.ToolStrip terrainTypes;
private System.Windows.Forms.Panel panel1; private System.Windows.Forms.Panel panel1;
private Surface surface1; private Surface surface1;
private System.Windows.Forms.ToolStripLabel toolStripLabel2; private System.Windows.Forms.ToolStripLabel toolStripLabel2;
@@ -365,4 +365,3 @@
private System.Windows.Forms.ToolStripTextBox txtPal; private System.Windows.Forms.ToolStripTextBox txtPal;
} }
} }

View File

@@ -14,19 +14,19 @@ using System.Drawing;
using System.Drawing.Imaging; using System.Drawing.Imaging;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices;
using System.Windows.Forms; using System.Windows.Forms;
using System.Xml; using System.Xml;
using System.Runtime.InteropServices;
using OpenRA.FileFormats; using OpenRA.FileFormats;
namespace OpenRA.TilesetBuilder namespace OpenRA.TilesetBuilder
{ {
public partial class frmBuilder : Form public partial class FormBuilder : Form
{ {
string srcfile; string srcfile;
int size; int size;
public TerrainTypeInfo[] TerrainType; public TerrainTypeInfo[] TerrainType;
public Palette tpal; public Palette TerrainPalette;
public bool PaletteFromImage = true; public bool PaletteFromImage = true;
public string PaletteFile = ""; public string PaletteFile = "";
public string ImageFile = ""; public string ImageFile = "";
@@ -40,13 +40,13 @@ namespace OpenRA.TilesetBuilder
public void CreateNewTileset() public void CreateNewTileset()
{ {
this.Show(); this.Show();
using (var fNew = new frmNew { }) using (var formNew = new FormNew { })
if (DialogResult.OK == fNew.ShowDialog()) if (DialogResult.OK == formNew.ShowDialog())
{ {
PaletteFromImage = fNew.PaletteFromImage; PaletteFromImage = formNew.PaletteFromImage;
PaletteFile = fNew.PaletteFile; PaletteFile = formNew.PaletteFile;
ImageFile = fNew.ImageFile; ImageFile = formNew.ImageFile;
TileSize = fNew.TileSize; TileSize = formNew.TileSize;
srcfile = ImageFile; srcfile = ImageFile;
this.size = TileSize; this.size = TileSize;
@@ -56,12 +56,12 @@ namespace OpenRA.TilesetBuilder
Bitmap rbitmap = fbitmap.Clone(new Rectangle(0, 0, fbitmap.Width, fbitmap.Height), Bitmap rbitmap = fbitmap.Clone(new Rectangle(0, 0, fbitmap.Width, fbitmap.Height),
fbitmap.PixelFormat); fbitmap.PixelFormat);
int[] ShadowIndex = { }; int[] shadowIndex = { };
if (!PaletteFromImage) if (!PaletteFromImage)
{ {
tpal = Palette.Load(PaletteFile, ShadowIndex); TerrainPalette = Palette.Load(PaletteFile, shadowIndex);
rbitmap.Palette = tpal.AsSystemPalette(); rbitmap.Palette = TerrainPalette.AsSystemPalette();
} }
surface1.Image = (Bitmap)rbitmap; surface1.Image = (Bitmap)rbitmap;
@@ -75,18 +75,18 @@ namespace OpenRA.TilesetBuilder
} }
} }
public frmBuilder(string src, string tsize, bool AutoExport, string OutputDir) public FormBuilder(string src, string tsize, bool autoExport, string outputDir)
{ {
InitializeComponent(); InitializeComponent();
Dictionary<string, TerrainTypeInfo> DefTerrain = new Dictionary<string, TerrainTypeInfo>(); Dictionary<string, TerrainTypeInfo> terrainDefinition = new Dictionary<string, TerrainTypeInfo>();
int size = int.Parse(tsize); int size = int.Parse(tsize);
var yaml = MiniYaml.DictFromFile("OpenRA.TilesetBuilder/defaults.yaml"); var yaml = MiniYaml.DictFromFile("OpenRA.TilesetBuilder/defaults.yaml");
DefTerrain = yaml["Terrain"].NodesDict.Values.Select(y => new TerrainTypeInfo(y)).ToDictionary(t => t.Type); terrainDefinition = yaml["Terrain"].NodesDict.Values.Select(y => new TerrainTypeInfo(y)).ToDictionary(t => t.Type);
int i = 0; int i = 0;
surface1.icon = new Bitmap[DefTerrain.Keys.Count]; surface1.Icon = new Bitmap[terrainDefinition.Keys.Count];
TerrainType = new TerrainTypeInfo[DefTerrain.Keys.Count]; TerrainType = new TerrainTypeInfo[terrainDefinition.Keys.Count];
var title = this.Text; var title = this.Text;
surface1.UpdateMouseTilePosition += (x, y, tileNr) => surface1.UpdateMouseTilePosition += (x, y, tileNr) =>
@@ -95,29 +95,30 @@ namespace OpenRA.TilesetBuilder
}; };
surface1.Enabled = false; surface1.Enabled = false;
foreach (var deftype in DefTerrain) foreach (var deftype in terrainDefinition)
{ {
Bitmap icon = new Bitmap(16, 16); var icon = new Bitmap(16, 16);
int x, y;
// Loop through the images pixels to reset color. // Loop through the images pixels to reset color.
for (x = 0; x < icon.Width; x++) for (var x = 0; x < icon.Width; x++)
{ {
for (y = 0; y < icon.Height; y++) for (var y = 0; y < icon.Height; y++)
{ {
Color newColor = deftype.Value.Color; Color newColor = deftype.Value.Color;
icon.SetPixel(x, y, newColor); icon.SetPixel(x, y, newColor);
} }
} }
surface1.icon[i] = icon;
surface1.Icon[i] = icon;
TerrainType[i] = deftype.Value; TerrainType[i] = deftype.Value;
ToolStripButton TerrainTypeButton = new ToolStripButton(deftype.Key, icon, TerrainTypeSelectorClicked); var terrainTypeButton = new ToolStripButton(deftype.Key, icon, TerrainTypeSelectorClicked);
TerrainTypeButton.ToolTipText = deftype.Key; terrainTypeButton.ToolTipText = deftype.Key;
TerrainTypeButton.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText; terrainTypeButton.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
TerrainTypeButton.Tag = i.ToString(); terrainTypeButton.Tag = i.ToString();
TerrainTypeButton.ImageAlign = ContentAlignment.MiddleLeft; terrainTypeButton.ImageAlign = ContentAlignment.MiddleLeft;
i++; i++;
tsTerrainTypes.Items.Add(TerrainTypeButton); terrainTypes.Items.Add(terrainTypeButton);
} }
if (src.Length > 0) if (src.Length > 0)
@@ -139,9 +140,9 @@ namespace OpenRA.TilesetBuilder
CreateNewTileset(); CreateNewTileset();
} }
if (AutoExport) if (autoExport)
{ {
Export(OutputDir); Export(outputDir);
Application.Exit(); Application.Exit();
} }
} }
@@ -173,7 +174,7 @@ namespace OpenRA.TilesetBuilder
public void Save() public void Save()
{ {
using (var w = XmlWriter.Create(Path.ChangeExtension(srcfile,"tsx"), using (var w = XmlWriter.Create(Path.ChangeExtension(srcfile, "tsx"),
new XmlWriterSettings { Indent = true, IndentChars = " " })) new XmlWriterSettings { Indent = true, IndentChars = " " }))
{ {
var tilesetName = txtTilesetName.Text; var tilesetName = txtTilesetName.Text;
@@ -187,8 +188,8 @@ namespace OpenRA.TilesetBuilder
w.WriteAttributeString("value", tilesetName); w.WriteAttributeString("value", tilesetName);
w.WriteEndElement(); w.WriteEndElement();
for( var i = 0; i <= surface1.TerrainTypes.GetUpperBound(0); i++ ) for (var i = 0; i <= surface1.TerrainTypes.GetUpperBound(0); i++)
for( var j = 0; j <= surface1.TerrainTypes.GetUpperBound(1); j++ ) for (var j = 0; j <= surface1.TerrainTypes.GetUpperBound(1); j++)
if (surface1.TerrainTypes[i, j] != 0) if (surface1.TerrainTypes[i, j] != 0)
{ {
w.WriteStartElement("terrain"); w.WriteStartElement("terrain");
@@ -254,15 +255,15 @@ namespace OpenRA.TilesetBuilder
string ExportTemplate(Template t, int n, string suffix, string dir) string ExportTemplate(Template t, int n, string suffix, string dir)
{ {
var TileSize = size; var tileSize = size;
var filename = Path.Combine(dir, "{0}{1:00}{2}".F(txtTilesetName.Text, n, suffix)); var filename = Path.Combine(dir, "{0}{1:00}{2}".F(txtTilesetName.Text, n, suffix));
var totalTiles = t.Width * t.Height; var totalTiles = t.Width * t.Height;
var ms = new MemoryStream(); var ms = new MemoryStream();
using (var bw = new BinaryWriter(ms)) using (var bw = new BinaryWriter(ms))
{ {
bw.Write((ushort)TileSize); bw.Write((ushort)tileSize);
bw.Write((ushort)TileSize); bw.Write((ushort)tileSize);
bw.Write((uint)totalTiles); bw.Write((uint)totalTiles);
bw.Write((ushort)t.Width); bw.Write((ushort)t.Width);
bw.Write((ushort)t.Height); bw.Write((ushort)t.Height);
@@ -290,16 +291,15 @@ namespace OpenRA.TilesetBuilder
{ {
if (t.Cells.ContainsKey(new int2(u + t.Left, v + t.Top))) if (t.Cells.ContainsKey(new int2(u + t.Left, v + t.Top)))
{ {
byte* q = p + data.Stride * TileSize * (v + t.Top) + TileSize * (u + t.Left); byte* q = p + data.Stride * tileSize * (v + t.Top) + tileSize * (u + t.Left);
for (var j = 0; j < TileSize; j++) for (var j = 0; j < tileSize; j++)
for (var i = 0; i < TileSize; i++) for (var i = 0; i < tileSize; i++)
{ {
bw.Write(q[i + j * data.Stride]); bw.Write(q[i + j * data.Stride]);
} }
} }
else else
for (var x = 0; x < TileSize * TileSize; x++) for (var x = 0; x < tileSize * tileSize; x++)
bw.Write((byte)0); /* TODO: don't fill with air */ bw.Write((byte)0); /* TODO: don't fill with air */
} }
} }
@@ -317,7 +317,7 @@ namespace OpenRA.TilesetBuilder
bw.Flush(); bw.Flush();
var flagsStart = ms.Position; var flagsStart = ms.Position;
for (var x = 0; x < totalTiles; x++ ) for (var x = 0; x < totalTiles; x++)
bw.Write((byte)0); bw.Write((byte)0);
bw.Flush(); bw.Flush();
@@ -334,12 +334,13 @@ namespace OpenRA.TilesetBuilder
File.WriteAllBytes(filename, bytes); File.WriteAllBytes(filename, bytes);
} }
return filename; return filename;
} }
public void Export (string OutputDir) public void Export(string outputDir)
{ {
var dir = Path.Combine(Path.GetDirectoryName(srcfile), Platform.SupportDir+OutputDir); var dir = Path.Combine(Path.GetDirectoryName(srcfile), Platform.SupportDir + outputDir);
Directory.CreateDirectory(dir); Directory.CreateDirectory(dir);
var tilesetName = txtTilesetName.Text; var tilesetName = txtTilesetName.Text;
var tilesetID = txtID.Text; var tilesetID = txtID.Text;
@@ -350,30 +351,24 @@ namespace OpenRA.TilesetBuilder
if (tilesetID.Length < 1) { tilesetID = "TEMPERAT"; } if (tilesetID.Length < 1) { tilesetID = "TEMPERAT"; }
if (tilesetPalette.Length < 1) { tilesetPalette = "temperat"; } if (tilesetPalette.Length < 1) { tilesetPalette = "temperat"; }
if (tilesetExt.Length < 1) { tilesetExt = ".tem,.shp"; } if (tilesetExt.Length < 1) { tilesetExt = ".tem,.shp"; }
// Create a Tileset definition // Create a Tileset definition
// TODO: Pull this info from the GUI // TODO: Pull this info from the GUI
var tilesetFile = ""; var tilesetFile = "";
//var mixFile = "";
tilesetFile = tilesetName.ToLower(); tilesetFile = tilesetName.ToLower();
if (tilesetFile.Length < 8) if (tilesetFile.Length < 8)
{
tilesetFile = tilesetName.ToLower() + ".yaml"; tilesetFile = tilesetName.ToLower() + ".yaml";
//mixFile = tilesetName.ToLower() + ".mix";
}
else else
{
tilesetFile = tilesetName.ToLower().Substring(0, 8) + ".yaml"; tilesetFile = tilesetName.ToLower().Substring(0, 8) + ".yaml";
//mixFile = tilesetName.ToLower().Substring(0, 8) + ".mix";
}
string[] Ext = tilesetExt.Split(','); var ext = tilesetExt.Split(',');
var tileset = new TileSet() var tileset = new TileSet()
{ {
Name = tilesetName, Name = tilesetName,
Id = tilesetID.ToUpper(), Id = tilesetID.ToUpper(),
TileSize = size, TileSize = size,
Palette = tilesetPalette.ToLower(), Palette = tilesetPalette.ToLower(),
Extensions = new string[] { Ext[0], Ext[1] } Extensions = new string[] { ext[0], ext[1] }
}; };
// List of files to add to the mix file // List of files to add to the mix file
@@ -401,14 +396,14 @@ namespace OpenRA.TilesetBuilder
{ {
Id = cur, Id = cur,
Image = "{0}{1:00}".F(txtTilesetName.Text, cur), Image = "{0}{1:00}".F(txtTilesetName.Text, cur),
Size = new int2(tp.Width,tp.Height), Size = new int2(tp.Width, tp.Height),
}; };
foreach (var t in tp.Cells) foreach (var t in tp.Cells)
{ {
string ttype = "Clear"; string ttype = "Clear";
ttype = TerrainType[surface1.TerrainTypes[t.Key.X, t.Key.Y]].Type; ttype = TerrainType[surface1.TerrainTypes[t.Key.X, t.Key.Y]].Type;
var idx = ((t.Key.X - tp.Left) + tp.Width * (t.Key.Y - tp.Top)); var idx = (t.Key.X - tp.Left) + tp.Width * (t.Key.Y - tp.Top);
template.Tiles.Add((byte)idx, ttype); template.Tiles.Add((byte)idx, ttype);
} }
@@ -417,13 +412,6 @@ namespace OpenRA.TilesetBuilder
} }
tileset.Save(Path.Combine(dir, tilesetFile)); tileset.Save(Path.Combine(dir, tilesetFile));
//throw new NotImplementedException("NotI");
//PackageWriter.CreateMix(Path.Combine(dir, mixFile),fileList);
// Cleanup
//foreach (var file in fileList)
//File.Delete(file);
Console.WriteLine("Finished export"); Console.WriteLine("Finished export");
} }
@@ -437,7 +425,7 @@ namespace OpenRA.TilesetBuilder
{ {
foreach (var t in tp.Cells) foreach (var t in tp.Cells)
{ {
var idx = ((t.Key.X - tp.Left) + tp.Width * (t.Key.Y - tp.Top)); var idx = (t.Key.X - tp.Left) + tp.Width * (t.Key.Y - tp.Top);
// TemplateID CellID tilenr TemplateW TemplateH XinTilesPNG YinTilesPNG // TemplateID CellID tilenr TemplateW TemplateH XinTilesPNG YinTilesPNG
Console.WriteLine("{0} {1} {2} {3} {4} {5} {6}", Console.WriteLine("{0} {1} {2} {3} {4} {5} {6}",
@@ -447,8 +435,7 @@ namespace OpenRA.TilesetBuilder
tp.Width, tp.Width,
tp.Height, tp.Height,
t.Key.X, t.Key.X,
t.Key.Y t.Key.Y);
);
} }
cur++; cur++;
@@ -457,23 +444,14 @@ namespace OpenRA.TilesetBuilder
Console.WriteLine("# end\n"); Console.WriteLine("# end\n");
} }
private void toolStripContainer1_TopToolStripPanel_Click(object sender, EventArgs e) private void TilesetNameChanged(object sender, EventArgs e)
{
}
private void surface1_Click(object sender, EventArgs e)
{
}
private void txtTilesetName_TextChanged(object sender, EventArgs e)
{ {
var tilesetFile = txtTilesetName.Text; var tilesetFile = txtTilesetName.Text;
if (tilesetFile.Length > 8) if (tilesetFile.Length > 8)
{ {
tilesetFile = tilesetFile.ToLower().Substring(0, 8); tilesetFile = tilesetFile.ToLower().Substring(0, 8);
} }
txtID.Text = tilesetFile.ToUpper(); txtID.Text = tilesetFile.ToUpper();
txtPal.Text = tilesetFile.ToLower() + ".pal"; txtPal.Text = tilesetFile.ToLower() + ".pal";
if (tilesetFile.Length < 3) if (tilesetFile.Length < 3)
@@ -486,7 +464,7 @@ namespace OpenRA.TilesetBuilder
} }
} }
private void toolStripButton15_Click(object sender, EventArgs e) private void NewTilesetButton(object sender, EventArgs e)
{ {
CreateNewTileset(); CreateNewTileset();
} }

View File

@@ -1,6 +1,6 @@
namespace OpenRA.TilesetBuilder namespace OpenRA.TilesetBuilder
{ {
partial class frmNew partial class FormNew
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
@@ -17,6 +17,7 @@
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
@@ -65,7 +66,7 @@
0, 0,
0, 0,
0}); 0});
this.numSize.ValueChanged += new System.EventHandler(this.numSize_ValueChanged); this.numSize.ValueChanged += new System.EventHandler(this.NumSizeValueChanged);
// //
// label1 // label1
// //
@@ -102,7 +103,7 @@
this.btnPalBrowse.TabIndex = 4; this.btnPalBrowse.TabIndex = 4;
this.btnPalBrowse.Text = "..."; this.btnPalBrowse.Text = "...";
this.btnPalBrowse.UseVisualStyleBackColor = true; this.btnPalBrowse.UseVisualStyleBackColor = true;
this.btnPalBrowse.Click += new System.EventHandler(this.btnPalBrowse_Click); this.btnPalBrowse.Click += new System.EventHandler(this.PaletteBrowseClick);
// //
// chkUsePalFromImage // chkUsePalFromImage
// //
@@ -115,7 +116,7 @@
this.chkUsePalFromImage.TabIndex = 5; this.chkUsePalFromImage.TabIndex = 5;
this.chkUsePalFromImage.Text = "Use palette from image"; this.chkUsePalFromImage.Text = "Use palette from image";
this.chkUsePalFromImage.UseVisualStyleBackColor = true; this.chkUsePalFromImage.UseVisualStyleBackColor = true;
this.chkUsePalFromImage.CheckedChanged += new System.EventHandler(this.chkUsePalFromImage_CheckedChanged); this.chkUsePalFromImage.CheckedChanged += new System.EventHandler(this.UsePaletteFromImageCheckedChanged);
// //
// label3 // label3
// //
@@ -145,7 +146,7 @@
this.btnImgBrowse.TabIndex = 9; this.btnImgBrowse.TabIndex = 9;
this.btnImgBrowse.Text = "..."; this.btnImgBrowse.Text = "...";
this.btnImgBrowse.UseVisualStyleBackColor = true; this.btnImgBrowse.UseVisualStyleBackColor = true;
this.btnImgBrowse.Click += new System.EventHandler(this.btnImgBrowse_Click); this.btnImgBrowse.Click += new System.EventHandler(this.ImageBrowseClick);
// //
// txtImage // txtImage
// //
@@ -164,7 +165,7 @@
this.btnCancel.TabIndex = 10; this.btnCancel.TabIndex = 10;
this.btnCancel.Text = "Cancel"; this.btnCancel.Text = "Cancel";
this.btnCancel.UseVisualStyleBackColor = true; this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); this.btnCancel.Click += new System.EventHandler(this.CancelButtonClick);
// //
// btnOk // btnOk
// //
@@ -174,7 +175,7 @@
this.btnOk.TabIndex = 11; this.btnOk.TabIndex = 11;
this.btnOk.Text = "OK"; this.btnOk.Text = "OK";
this.btnOk.UseVisualStyleBackColor = true; this.btnOk.UseVisualStyleBackColor = true;
this.btnOk.Click += new System.EventHandler(this.btnOk_Click); this.btnOk.Click += new System.EventHandler(this.OkButtonClick);
// //
// frmNew // frmNew
// //

View File

@@ -8,24 +8,24 @@ using System.Windows.Forms;
namespace OpenRA.TilesetBuilder namespace OpenRA.TilesetBuilder
{ {
public partial class frmNew : Form public partial class FormNew : Form
{ {
public bool PaletteFromImage = true; public bool PaletteFromImage = true;
public string PaletteFile = ""; public string PaletteFile = "";
public string ImageFile = ""; public string ImageFile = "";
public int TileSize = 24; public int TileSize = 24;
public frmNew() public FormNew()
{ {
InitializeComponent(); InitializeComponent();
} }
private void btnCancel_Click(object sender, EventArgs e) private void CancelButtonClick(object sender, EventArgs e)
{ {
Close(); Close();
} }
private void btnOk_Click(object sender, EventArgs e) private void OkButtonClick(object sender, EventArgs e)
{ {
if (!PaletteFromImage) if (!PaletteFromImage)
{ {
@@ -34,6 +34,7 @@ namespace OpenRA.TilesetBuilder
MessageBox.Show("No palette specified", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); MessageBox.Show("No palette specified", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
} }
} }
if (ImageFile.Length < 5) if (ImageFile.Length < 5)
{ {
MessageBox.Show("No image selected", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show("No image selected", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
@@ -45,7 +46,7 @@ namespace OpenRA.TilesetBuilder
} }
} }
private void chkUsePalFromImage_CheckedChanged(object sender, EventArgs e) private void UsePaletteFromImageCheckedChanged(object sender, EventArgs e)
{ {
if (chkUsePalFromImage.Checked) if (chkUsePalFromImage.Checked)
{ {
@@ -59,7 +60,7 @@ namespace OpenRA.TilesetBuilder
} }
} }
private void btnPalBrowse_Click(object sender, EventArgs e) private void PaletteBrowseClick(object sender, EventArgs e)
{ {
using (var ofd = new OpenFileDialog { Filter = "C&C Palette (*.pal)|*.pal" }) using (var ofd = new OpenFileDialog { Filter = "C&C Palette (*.pal)|*.pal" })
if (DialogResult.OK == ofd.ShowDialog()) if (DialogResult.OK == ofd.ShowDialog())
@@ -69,7 +70,7 @@ namespace OpenRA.TilesetBuilder
} }
} }
private void btnImgBrowse_Click(object sender, EventArgs e) private void ImageBrowseClick(object sender, EventArgs e)
{ {
using (var ofd = new OpenFileDialog { Filter = "8bit Image (*.png,*.pcx,*.bmp)|*.png;*.pcx;*.bmp" }) using (var ofd = new OpenFileDialog { Filter = "8bit Image (*.png,*.pcx,*.bmp)|*.png;*.pcx;*.bmp" })
if (DialogResult.OK == ofd.ShowDialog()) if (DialogResult.OK == ofd.ShowDialog())
@@ -80,7 +81,7 @@ namespace OpenRA.TilesetBuilder
} }
} }
private void numSize_ValueChanged(object sender, EventArgs e) private void NumSizeValueChanged(object sender, EventArgs e)
{ {
TileSize = (int)numSize.Value; TileSize = (int)numSize.Value;
} }

View File

@@ -74,25 +74,9 @@
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="frmBuilder.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmBuilder.Designer.cs">
<DependentUpon>frmBuilder.cs</DependentUpon>
</Compile>
<Compile Include="frmNew.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmNew.Designer.cs">
<DependentUpon>frmNew.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="frmBuilder.resx">
<DependentUpon>frmBuilder.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmNew.resx"> <EmbeddedResource Include="frmNew.resx">
<DependentUpon>frmNew.cs</DependentUpon> <DependentUpon>FormNew.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
@@ -120,6 +104,21 @@
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>
<Compile Include="Template.cs" /> <Compile Include="Template.cs" />
<Compile Include="FormBuilder.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FormBuilder.Designer.cs">
<DependentUpon>FormBuilder.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="FormBuilder.resx">
<DependentUpon>FormBuilder.cs</DependentUpon>
</EmbeddedResource>
<Compile Include="FormNew.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FormNew.Designer.cs">
<DependentUpon>FormNew.cs</DependentUpon>
</Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj"> <ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">

View File

@@ -21,17 +21,17 @@ namespace OpenRA.TilesetBuilder
{ {
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
//Console.WriteLine("{0} {1} {2} {3}",args[0], args[1], args[2], args[3]);
if (args.Length < 1) if (args.Length < 1)
{ {
Application.Run(new frmBuilder("", "0", false, "Tilesets")); Application.Run(new FormBuilder("", "0", false, "Tilesets"));
} }
else else
{ {
if (args.Contains("--export")) if (args.Contains("--export"))
Application.Run(new frmBuilder(args[0], args[1], true, args[3])); Application.Run(new FormBuilder(args[0], args[1], true, args[3]));
else else
Application.Run(new frmBuilder(args[0], args[1], false, "Tilesets")); Application.Run(new FormBuilder(args[0], args[1], false, "Tilesets"));
} }
} }
} }

View File

@@ -9,31 +9,29 @@ namespace OpenRA.TilesetBuilder
class Surface : Control class Surface : Control
{ {
public Bitmap Image; public Bitmap Image;
private ImageList ImagesListControl;
public int[,] TerrainTypes; public int[,] TerrainTypes;
public List<Template> Templates = new List<Template>(); public List<Template> Templates = new List<Template>();
private bool bShowTerrainTypes;
public string InputMode; public string InputMode;
public Bitmap[] icon; public Bitmap[] Icon;
public int TileSize; public int TileSize;
public int TilesPerRow; public int TilesPerRow;
//private System.ComponentModel.IContainer components;
public event Action<int, int, int> UpdateMouseTilePosition = (x, y, t) => { }; public event Action<int, int, int> UpdateMouseTilePosition = (x, y, t) => { };
Template CurrentTemplate; Template currentTemplate;
ImageList imagesListControl;
bool showTerrainTypes;
public bool ShowTerrainTypes public bool ShowTerrainTypes
{ {
get { return bShowTerrainTypes; } get { return showTerrainTypes; }
set { bShowTerrainTypes = value; } set { showTerrainTypes = value; }
} }
public ImageList ImagesList public ImageList ImagesList
{ {
get { return ImagesListControl; } get { return imagesListControl; }
set { ImagesListControl = value; } set { imagesListControl = value; }
} }
public Surface() public Surface()
@@ -60,12 +58,12 @@ namespace OpenRA.TilesetBuilder
for (var j = 0; j <= TerrainTypes.GetUpperBound(1); j++) for (var j = 0; j <= TerrainTypes.GetUpperBound(1); j++)
if (TerrainTypes[i, j] != 0) if (TerrainTypes[i, j] != 0)
{ {
//e.Graphics.FillRectangle(Brushes.Black, TileSize * i + 8, TileSize * j + 8, 16, 16); ////e.Graphics.FillRectangle(Brushes.Black, TileSize * i + 8, TileSize * j + 8, 16, 16);
e.Graphics.DrawImage(icon[TerrainTypes[i, j]], TileSize * i + 8, TileSize * j + 8, 16, 16); e.Graphics.DrawImage(Icon[TerrainTypes[i, j]], TileSize * i + 8, TileSize * j + 8, 16, 16);
//e.Graphics.DrawString(TerrainTypes[i, j].ToString(), ////e.Graphics.DrawString(TerrainTypes[i, j].ToString(),
//Font, Brushes.LimeGreen, TileSize * i + 10, TileSize * j + 10); ////Font, Brushes.LimeGreen, TileSize * i + 10, TileSize * j + 10);
} }
} }
@@ -76,7 +74,7 @@ namespace OpenRA.TilesetBuilder
foreach (var c in t.Cells.Keys) foreach (var c in t.Cells.Keys)
{ {
if (CurrentTemplate == t) if (currentTemplate == t)
e.Graphics.FillRectangle(currentBrush, TileSize * c.X, TileSize * c.Y, TileSize, TileSize); e.Graphics.FillRectangle(currentBrush, TileSize * c.X, TileSize * c.Y, TileSize, TileSize);
if (!t.Cells.ContainsKey(c + new int2(-1, 0))) if (!t.Cells.ContainsKey(c + new int2(-1, 0)))
@@ -99,9 +97,9 @@ namespace OpenRA.TilesetBuilder
{ {
if (e.Button == MouseButtons.Left) if (e.Button == MouseButtons.Left)
{ {
CurrentTemplate = Templates.FirstOrDefault(t => t.Cells.ContainsKey(pos)); currentTemplate = Templates.FirstOrDefault(t => t.Cells.ContainsKey(pos));
if (CurrentTemplate == null) if (currentTemplate == null)
Templates.Add(CurrentTemplate = new Template { Cells = new Dictionary<int2, bool> { { pos, true } } }); Templates.Add(currentTemplate = new Template { Cells = new Dictionary<int2, bool> { { pos, true } } });
Invalidate(); Invalidate();
} }
@@ -109,7 +107,7 @@ namespace OpenRA.TilesetBuilder
if (e.Button == MouseButtons.Right) if (e.Button == MouseButtons.Right)
{ {
Templates.RemoveAll(t => t.Cells.ContainsKey(pos)); Templates.RemoveAll(t => t.Cells.ContainsKey(pos));
CurrentTemplate = null; currentTemplate = null;
Invalidate(); Invalidate();
} }
} }
@@ -126,11 +124,11 @@ namespace OpenRA.TilesetBuilder
if (InputMode == null) if (InputMode == null)
{ {
if (e.Button == MouseButtons.Left && CurrentTemplate != null) if (e.Button == MouseButtons.Left && currentTemplate != null)
{ {
if (!CurrentTemplate.Cells.ContainsKey(pos)) if (!currentTemplate.Cells.ContainsKey(pos))
{ {
CurrentTemplate.Cells[pos] = true; currentTemplate.Cells[pos] = true;
Invalidate(); Invalidate();
} }
} }