diff --git a/Civ6IconCreator/Civ6IconCreator.sln b/Civ6IconCreator/Civ6IconCreator.sln new file mode 100644 index 0000000..4ba2745 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.421 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Civ6IconCreator", "Civ6IconCreator\Civ6IconCreator.csproj", "{15707B9A-81F6-4A17-8CB8-10822C56B939}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {15707B9A-81F6-4A17-8CB8-10822C56B939}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {15707B9A-81F6-4A17-8CB8-10822C56B939}.Debug|Any CPU.Build.0 = Debug|Any CPU + {15707B9A-81F6-4A17-8CB8-10822C56B939}.Release|Any CPU.ActiveCfg = Release|Any CPU + {15707B9A-81F6-4A17-8CB8-10822C56B939}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1DCFAD32-AE86-49B9-95A2-29950FEE06AC} + EndGlobalSection +EndGlobal diff --git a/Civ6IconCreator/Civ6IconCreator/App.config b/Civ6IconCreator/Civ6IconCreator/App.config new file mode 100644 index 0000000..12d60b8 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/App.config @@ -0,0 +1,21 @@ + + + + +
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Civ6IconCreator/Civ6IconCreator/Civ6IconCreator.csproj b/Civ6IconCreator/Civ6IconCreator/Civ6IconCreator.csproj new file mode 100644 index 0000000..5f903c0 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Civ6IconCreator.csproj @@ -0,0 +1,241 @@ + + + + + Debug + AnyCPU + {15707B9A-81F6-4A17-8CB8-10822C56B939} + WinExe + Civ6IconCreator + Civ6IconCreator + v4.6.1 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + PreserveNewest + + + PreserveNewest + + + + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + \ No newline at end of file diff --git a/Civ6IconCreator/Civ6IconCreator/Form1.Designer.cs b/Civ6IconCreator/Civ6IconCreator/Form1.Designer.cs new file mode 100644 index 0000000..e197d21 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Form1.Designer.cs @@ -0,0 +1,380 @@ +namespace Civ6IconCreator +{ + partial class Form1 + { + /// + /// 必要なデザイナー変数です。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 使用中のリソースをすべてクリーンアップします。 + /// + /// マネージド リソースを破棄する場合は true を指定し、その他の場合は false を指定します。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows フォーム デザイナーで生成されたコード + + /// + /// デザイナー サポートに必要なメソッドです。このメソッドの内容を + /// コード エディターで変更しないでください。 + /// + private void InitializeComponent() + { + this.inputButton = new System.Windows.Forms.Button(); + this.inputTextBox = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.radioButton1 = new System.Windows.Forms.RadioButton(); + this.radioButton2 = new System.Windows.Forms.RadioButton(); + this.radioButton3 = new System.Windows.Forms.RadioButton(); + this.label2 = new System.Windows.Forms.Label(); + this.outputTextBox = new System.Windows.Forms.TextBox(); + this.outputButton = new System.Windows.Forms.Button(); + this.radioButton4 = new System.Windows.Forms.RadioButton(); + this.radioButton5 = new System.Windows.Forms.RadioButton(); + this.generateButton = new System.Windows.Forms.Button(); + this.radioButton6 = new System.Windows.Forms.RadioButton(); + this.radioButton7 = new System.Windows.Forms.RadioButton(); + this.label3 = new System.Windows.Forms.Label(); + this.outputDirDialog = new System.Windows.Forms.FolderBrowserDialog(); + this.inputFileDialog = new System.Windows.Forms.OpenFileDialog(); + this.texConvDirDialog = new System.Windows.Forms.OpenFileDialog(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.label4 = new System.Windows.Forms.Label(); + this.ResetButton = new System.Windows.Forms.Button(); + this.sedDirDialog = new System.Windows.Forms.OpenFileDialog(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); + this.tabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.tabPage2.SuspendLayout(); + this.statusStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // inputButton + // + this.inputButton.Location = new System.Drawing.Point(435, 6); + this.inputButton.Name = "inputButton"; + this.inputButton.Size = new System.Drawing.Size(75, 19); + this.inputButton.TabIndex = 5; + this.inputButton.Text = "開く"; + this.inputButton.UseVisualStyleBackColor = true; + this.inputButton.Click += new System.EventHandler(this.inputButton_Click); + // + // inputTextBox + // + this.inputTextBox.Location = new System.Drawing.Point(54, 6); + this.inputTextBox.Name = "inputTextBox"; + this.inputTextBox.ReadOnly = true; + this.inputTextBox.Size = new System.Drawing.Size(375, 19); + this.inputTextBox.TabIndex = 4; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(8, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(30, 12); + this.label1.TabIndex = 3; + this.label1.Text = "Input"; + // + // radioButton1 + // + this.radioButton1.AutoSize = true; + this.radioButton1.Checked = true; + this.radioButton1.Location = new System.Drawing.Point(8, 56); + this.radioButton1.Name = "radioButton1"; + this.radioButton1.Size = new System.Drawing.Size(57, 16); + this.radioButton1.TabIndex = 9; + this.radioButton1.TabStop = true; + this.radioButton1.Text = "Leader"; + this.radioButton1.UseVisualStyleBackColor = true; + // + // radioButton2 + // + this.radioButton2.AutoSize = true; + this.radioButton2.Location = new System.Drawing.Point(71, 56); + this.radioButton2.Name = "radioButton2"; + this.radioButton2.Size = new System.Drawing.Size(79, 16); + this.radioButton2.TabIndex = 10; + this.radioButton2.TabStop = true; + this.radioButton2.Text = "Civilization"; + this.radioButton2.UseVisualStyleBackColor = true; + // + // radioButton3 + // + this.radioButton3.AutoSize = true; + this.radioButton3.Location = new System.Drawing.Point(156, 56); + this.radioButton3.Name = "radioButton3"; + this.radioButton3.Size = new System.Drawing.Size(72, 16); + this.radioButton3.TabIndex = 11; + this.radioButton3.Text = "UnitFlags"; + this.radioButton3.UseVisualStyleBackColor = true; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(8, 34); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(40, 12); + this.label2.TabIndex = 6; + this.label2.Text = "OutPut"; + // + // outputTextBox + // + this.outputTextBox.Location = new System.Drawing.Point(54, 31); + this.outputTextBox.Name = "outputTextBox"; + this.outputTextBox.ReadOnly = true; + this.outputTextBox.Size = new System.Drawing.Size(375, 19); + this.outputTextBox.TabIndex = 7; + // + // outputButton + // + this.outputButton.Location = new System.Drawing.Point(435, 31); + this.outputButton.Name = "outputButton"; + this.outputButton.Size = new System.Drawing.Size(75, 19); + this.outputButton.TabIndex = 8; + this.outputButton.Text = "開く"; + this.outputButton.UseVisualStyleBackColor = true; + this.outputButton.Click += new System.EventHandler(this.outputButton_Click); + // + // radioButton4 + // + this.radioButton4.AutoSize = true; + this.radioButton4.Location = new System.Drawing.Point(234, 56); + this.radioButton4.Name = "radioButton4"; + this.radioButton4.Size = new System.Drawing.Size(88, 16); + this.radioButton4.TabIndex = 12; + this.radioButton4.Text = "UnitPortraits"; + this.radioButton4.UseVisualStyleBackColor = true; + // + // radioButton5 + // + this.radioButton5.AutoSize = true; + this.radioButton5.Location = new System.Drawing.Point(331, 56); + this.radioButton5.Name = "radioButton5"; + this.radioButton5.Size = new System.Drawing.Size(70, 16); + this.radioButton5.TabIndex = 13; + this.radioButton5.Text = "Buildings"; + this.radioButton5.UseVisualStyleBackColor = true; + // + // generateButton + // + this.generateButton.Enabled = false; + this.generateButton.Location = new System.Drawing.Point(519, 6); + this.generateButton.Name = "generateButton"; + this.generateButton.Size = new System.Drawing.Size(105, 44); + this.generateButton.TabIndex = 17; + this.generateButton.Text = "生成"; + this.generateButton.UseVisualStyleBackColor = true; + this.generateButton.Click += new System.EventHandler(this.generateButton_Click); + // + // radioButton6 + // + this.radioButton6.AutoSize = true; + this.radioButton6.Location = new System.Drawing.Point(407, 56); + this.radioButton6.Name = "radioButton6"; + this.radioButton6.Size = new System.Drawing.Size(67, 16); + this.radioButton6.TabIndex = 14; + this.radioButton6.Text = "Districts"; + this.radioButton6.UseVisualStyleBackColor = true; + // + // radioButton7 + // + this.radioButton7.AutoSize = true; + this.radioButton7.Location = new System.Drawing.Point(480, 56); + this.radioButton7.Name = "radioButton7"; + this.radioButton7.Size = new System.Drawing.Size(94, 16); + this.radioButton7.TabIndex = 15; + this.radioButton7.Text = "Improvements"; + this.radioButton7.UseVisualStyleBackColor = true; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(8, 76); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(45, 12); + this.label3.TabIndex = 16; + this.label3.Text = "Preview"; + // + // outputDirDialog + // + this.outputDirDialog.Description = "出力先を選択"; + // + // inputFileDialog + // + this.inputFileDialog.FileName = "inputFileDialog"; + this.inputFileDialog.Filter = "PNGファイル(*.png)|*.png"; + // + // texConvDirDialog + // + this.texConvDirDialog.FileName = "texConvDirDialog"; + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Location = new System.Drawing.Point(0, 0); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(636, 379); + this.tabControl1.TabIndex = 19; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.inputTextBox); + this.tabPage1.Controls.Add(this.inputButton); + this.tabPage1.Controls.Add(this.pictureBox1); + this.tabPage1.Controls.Add(this.label3); + this.tabPage1.Controls.Add(this.label1); + this.tabPage1.Controls.Add(this.outputButton); + this.tabPage1.Controls.Add(this.radioButton7); + this.tabPage1.Controls.Add(this.outputTextBox); + this.tabPage1.Controls.Add(this.radioButton6); + this.tabPage1.Controls.Add(this.label2); + this.tabPage1.Controls.Add(this.radioButton5); + this.tabPage1.Controls.Add(this.generateButton); + this.tabPage1.Controls.Add(this.radioButton4); + this.tabPage1.Controls.Add(this.radioButton2); + this.tabPage1.Controls.Add(this.radioButton3); + this.tabPage1.Controls.Add(this.radioButton1); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(628, 353); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "メイン"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // pictureBox1 + // + this.pictureBox1.BackColor = System.Drawing.Color.Transparent; + this.pictureBox1.BackgroundImage = global::Civ6IconCreator.Properties.Resources.bg; + this.pictureBox1.Location = new System.Drawing.Point(8, 91); + this.pictureBox1.MinimumSize = new System.Drawing.Size(256, 256); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(256, 256); + this.pictureBox1.TabIndex = 14; + this.pictureBox1.TabStop = false; + this.pictureBox1.WaitOnLoad = true; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.label4); + this.tabPage2.Controls.Add(this.ResetButton); + this.tabPage2.Location = new System.Drawing.Point(4, 22); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(629, 353); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "設定"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(8, 16); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(96, 12); + this.label4.TabIndex = 1; + this.label4.Text = "前回の場所を消去"; + // + // ResetButton + // + this.ResetButton.Location = new System.Drawing.Point(110, 11); + this.ResetButton.Name = "ResetButton"; + this.ResetButton.Size = new System.Drawing.Size(53, 23); + this.ResetButton.TabIndex = 0; + this.ResetButton.Text = "クリア"; + this.ResetButton.UseVisualStyleBackColor = true; + this.ResetButton.Click += new System.EventHandler(this.ResetButton_Click); + // + // sedDirDialog + // + this.sedDirDialog.FileName = "sedDirDialog"; + // + // statusStrip1 + // + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripStatusLabel1}); + this.statusStrip1.Location = new System.Drawing.Point(0, 378); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional; + this.statusStrip1.Size = new System.Drawing.Size(636, 22); + this.statusStrip1.SizingGrip = false; + this.statusStrip1.TabIndex = 20; + this.statusStrip1.Text = "statusStrip1"; + // + // toolStripStatusLabel1 + // + this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; + this.toolStripStatusLabel1.Size = new System.Drawing.Size(151, 17); + this.toolStripStatusLabel1.Text = "アプリケーションを起動しました。"; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(636, 400); + this.Controls.Add(this.statusStrip1); + this.Controls.Add(this.tabControl1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Name = "Form1"; + this.Text = "Civ6 Icon Creator"; + this.tabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.tabPage2.ResumeLayout(false); + this.tabPage2.PerformLayout(); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button inputButton; + private System.Windows.Forms.TextBox inputTextBox; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.RadioButton radioButton1; + private System.Windows.Forms.RadioButton radioButton2; + private System.Windows.Forms.RadioButton radioButton3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox outputTextBox; + private System.Windows.Forms.Button outputButton; + private System.Windows.Forms.RadioButton radioButton4; + private System.Windows.Forms.RadioButton radioButton5; + private System.Windows.Forms.Button generateButton; + private System.Windows.Forms.RadioButton radioButton6; + private System.Windows.Forms.RadioButton radioButton7; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.FolderBrowserDialog outputDirDialog; + private System.Windows.Forms.OpenFileDialog inputFileDialog; + private System.Windows.Forms.OpenFileDialog texConvDirDialog; + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.OpenFileDialog sedDirDialog; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Button ResetButton; + private System.Windows.Forms.StatusStrip statusStrip1; + private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; + } +} + diff --git a/Civ6IconCreator/Civ6IconCreator/Form1.cs b/Civ6IconCreator/Civ6IconCreator/Form1.cs new file mode 100644 index 0000000..aa41e45 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Form1.cs @@ -0,0 +1,258 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Diagnostics; +using System.Drawing.Imaging; +using System.IO; +using System.Reflection; + +namespace Civ6IconCreator +{ + public partial class Form1 : Form + { + //グローバル変数定義 + string outputDirName; + string inputFilePath; + string texConvPath; + string sedPath; + int[] sizesLeaders = new int[] {256, 80,64,55,50,45,32}; + int[] sizesCivilizations = new int[] {256, 80,64,50,48,45,44,36,30,22}; + int[] sizesUnitFlags = new int[] {256, 80,50,38,32,22}; + int[] sizesUnitPortraits = new int[] {256,200,95,70,50,38}; + int[] sizesBuildings = new int[] {256,128,80,50,38,32}; + int[] sizesDistricts = new int[] {256,128,80,50,38,32,22}; + int[] sizesImprovements = new int[] {256, 80,50,38}; + + public Form1() + { + InitializeComponent(); + + //前回の指定箇所を復元 + //入力ファイル + if (System.IO.File.Exists(Properties.Settings.Default.inputFile)) + { + inputFilePath = Properties.Settings.Default.inputFile; + inputTextBox.Text = inputFilePath; + inputFileDialog.FileName = Path.GetFileName(inputFilePath); + inputFileDialog.InitialDirectory = Path.GetDirectoryName(inputFilePath); + + //プレビューする + pictureBox1.BackColor = Color.Transparent; + pictureBox1.BackgroundImage = Properties.Resources.bg; + pictureBox1.Image = System.Drawing.Image.FromFile(inputFilePath); + } + else + { + //消されていたらデフォルト値にする + inputFilePath = ""; + inputTextBox.Text = ""; + inputFileDialog.FileName = ""; + inputFileDialog.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); + + } + //出力先ディレクトリ + if (System.IO.Directory.Exists(Properties.Settings.Default.outputDirName)) + { + outputDirName = Properties.Settings.Default.outputDirName; + outputTextBox.Text = outputDirName; + outputDirDialog.SelectedPath = outputDirName; + } + else + { + //消されていたらデフォルト値にする + outputDirName = ""; + outputTextBox.Text = ""; + outputDirDialog.SelectedPath = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); + } + + //外部アプリケーションは直下にあるものとして処理する + texConvPath = System.Windows.Forms.Application.StartupPath + @"\texconv.exe"; + sedPath = System.Windows.Forms.Application.StartupPath + @"\onigsed.exe"; + + if (inputTextBox.Text != "" && outputTextBox.Text != "") + { + generateButton.Enabled = true; + } +#if DEBUG + File.WriteAllText("debug.log", "---- Application Start. ----\r\n"); +#endif + } + + private void inputButton_Click(object sender, EventArgs e) + { + //Inputの画像を開くボタン + if (DialogResult.OK == inputFileDialog.ShowDialog()) + { + //サイズチェック + FileStream fs = new FileStream(inputFileDialog.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); + int imagew = System.Drawing.Image.FromStream(fs).Width; + int imageh = System.Drawing.Image.FromStream(fs).Height; + fs.Close(); +#if DEBUG + File.AppendAllText("debug.log","幅:"+imagew+ " 高さ:" + imageh + "\r\n"); +#endif + if (imagew != 256 || imageh != 256) + { + MessageBox.Show( + this,"画像のサイズが256x256ではありません。","Error", + MessageBoxButtons.OK,MessageBoxIcon.Error); + return; + } + + inputFilePath = inputFileDialog.FileName; + inputTextBox.Text = inputFilePath; + + //previewする + pictureBox1.BackColor = Color.Transparent; + pictureBox1.BackgroundImage = Properties.Resources.bg; + pictureBox1.Image = System.Drawing.Image.FromFile(inputFilePath); + + if(outputTextBox.Text != "" && System.IO.Directory.Exists(outputDirName)) + { + generateButton.Enabled = true; + } + + //覚える + Properties.Settings.Default.inputFile = inputFilePath; + Properties.Settings.Default.Save(); + } + } + + private void outputButton_Click(object sender, EventArgs e) + { + //Optput先を開くボタン + if (DialogResult.OK == outputDirDialog.ShowDialog()) + { + outputDirName = outputDirDialog.SelectedPath; + outputTextBox.Text = outputDirName; + + if (inputTextBox.Text != "" && System.IO.File.Exists(inputFilePath)) + { + generateButton.Enabled = true; + } + + //覚える + Properties.Settings.Default.outputDirName = outputDirName; + Properties.Settings.Default.Save(); + } + } + + private void generateButton_Click(object sender, EventArgs e) + { + //Generate + + //チェックされてるものに合わせてDDS変換とTex生成を実施する + if (radioButton1.Checked) { + _generateDDS(sizesLeaders); + _generateTex("Leaders", sizesLeaders); + toolStripStatusLabel1.Text = "変換完了(Leaders)"; + } + if (radioButton2.Checked) { + _generateDDS(sizesCivilizations); + _generateTex("Civilizations", sizesCivilizations); + toolStripStatusLabel1.Text = "変換完了(Civilizations)"; + } + if (radioButton3.Checked) { + _generateDDS(sizesUnitFlags); + _generateTex("UnitFlags", sizesUnitFlags); + toolStripStatusLabel1.Text = "変換完了(UnitFlags)"; + } + if (radioButton4.Checked) { + _generateDDS(sizesUnitPortraits); + _generateTex("UnitPortraits", sizesUnitPortraits); + toolStripStatusLabel1.Text = "変換完了(UnitPortraits)"; + } + if (radioButton5.Checked) { + _generateDDS(sizesBuildings); + _generateTex("Buildings", sizesBuildings); + toolStripStatusLabel1.Text = "変換完了(Buildings)"; + } + if (radioButton6.Checked) { + _generateDDS(sizesDistricts); + _generateTex("Districts", sizesDistricts); + toolStripStatusLabel1.Text = "変換完了(Districts)"; + } + if (radioButton7.Checked) { + _generateDDS(sizesImprovements); + _generateTex("Improvements", sizesImprovements); + toolStripStatusLabel1.Text = "変換完了(Improvements)"; + }; + + } + + //DDS変換関数(texconvに丸投げ) + private void _generateDDS(int[] sizes) + { + foreach (int imgSize in sizes) + { + //PNGからDDSに変換 + var app = new ProcessStartInfo(); + app.FileName = texConvPath; + app.Arguments = " -y -f R8G8B8A8_UNORM -if BOX -w " + imgSize + " -h " + imgSize + " -m 1 -sx " + imgSize + " -o \"" + outputDirName + "\" \""+ inputFilePath + "\""; + app.WorkingDirectory = System.IO.Path.GetDirectoryName(texConvPath); + app.CreateNoWindow = true; + app.RedirectStandardOutput = true; + app.UseShellExecute = false; +#if DEBUG + File.AppendAllText("debug.log", app.FileName + @" " + app.Arguments + "\r\n"); + + Process p = Process.Start(app); + string output = p.StandardOutput.ReadToEnd(); // 標準出力の読み取り + output = output.Replace("\r\r\n", "\n"); // 改行コードの修正 + File.AppendAllText("debug.log", output); +#else + Process.Start(app); +#endif + } + } + + //tex生成関数(正確にはベースをコピーして置換してるだけ) + private void _generateTex(string type, int[] sizes) + { + //拡張子を除いた入力ファイル名を取得 + string bfInputFileName = System.IO.Path.GetFileNameWithoutExtension(inputFilePath); + //サイズと拡張子を除いたテンプレートのファイル名を取得 + string templateDir = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\template\tex\" + type; + string bfTemplateName = templateDir +@"\"+ type +"Template"; + + foreach (int imgSize in sizes) + { + //出力先ファイルパスを作成 + string outputPath = outputDirName + @"\" + bfInputFileName + imgSize + ".tex"; + + //テンプレートのファイルから置換後のファイルを生成 + var app = new ProcessStartInfo(); + app.FileName = sedPath; + app.Arguments = " -e s/" + type + "Template/" + bfInputFileName + "/g \"" + bfTemplateName + imgSize + ".tex\""; + app.WorkingDirectory = System.IO.Path.GetDirectoryName(sedPath); + app.CreateNoWindow = true; + app.RedirectStandardOutput = true; + app.UseShellExecute = false; + Process p = Process.Start(app); +#if DEBUG + File.AppendAllText("debug.log", app.FileName + @" " + app.Arguments + "\r\n"); +#endif + string output = p.StandardOutput.ReadToEnd(); // 標準出力の読み取り + File.WriteAllText(outputPath, output); + } + } + + private void ResetButton_Click(object sender, EventArgs e) + { + //記憶場所消去ボタン + inputFilePath = ""; + outputDirName = ""; + inputTextBox.Text = ""; + outputTextBox.Text = ""; + Properties.Settings.Default.inputFile = ""; + Properties.Settings.Default.outputDirName = ""; + Properties.Settings.Default.Save(); + } + } +} diff --git a/Civ6IconCreator/Civ6IconCreator/Form1.resx b/Civ6IconCreator/Civ6IconCreator/Form1.resx new file mode 100644 index 0000000..0e0dead --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Form1.resx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 186, 17 + + + 326, 17 + + + 473, 17 + + + 595, 17 + + \ No newline at end of file diff --git a/Civ6IconCreator/Civ6IconCreator/Program.cs b/Civ6IconCreator/Civ6IconCreator/Program.cs new file mode 100644 index 0000000..7e81653 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Civ6IconCreator +{ + static class Program + { + /// + /// アプリケーションのメイン エントリ ポイントです。 + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Civ6IconCreator/Civ6IconCreator/Properties/AssemblyInfo.cs b/Civ6IconCreator/Civ6IconCreator/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..1c1d8b4 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。 +// アセンブリに関連付けられている情報を変更するには、 +// これらの属性値を変更してください。 +[assembly: AssemblyTitle("Civ6 Icon Create Helper")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Civ6 Icon Create Helper")] +[assembly: AssemblyCopyright("Copyright © 2019 yosxpeee")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントから +// 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、 +// その型の ComVisible 属性を true に設定してください。 +[assembly: ComVisible(false)] + +// このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります +[assembly: Guid("15707b9a-81f6-4a17-8cb8-10822c56b939")] + +// アセンブリのバージョン情報は次の 4 つの値で構成されています: +// +// メジャー バージョン +// マイナー バージョン +// ビルド番号 +// Revision +// +// すべての値を指定するか、次を使用してビルド番号とリビジョン番号を既定に設定できます +// 既定値にすることができます: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Civ6IconCreator/Civ6IconCreator/Properties/Resources.Designer.cs b/Civ6IconCreator/Civ6IconCreator/Properties/Resources.Designer.cs new file mode 100644 index 0000000..52215af --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// このコードはツールによって生成されました。 +// ランタイム バージョン:4.0.30319.42000 +// +// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 +// コードが再生成されるときに損失したりします。 +// +//------------------------------------------------------------------------------ + +namespace Civ6IconCreator.Properties { + using System; + + + /// + /// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。 + /// + // このクラスは StronglyTypedResourceBuilder クラスが ResGen + // または Visual Studio のようなツールを使用して自動生成されました。 + // メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に + // ResGen を実行し直すか、または VS プロジェクトをビルドし直します。 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Civ6IconCreator.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// すべてについて、現在のスレッドの CurrentUICulture プロパティをオーバーライドします + /// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。 + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// 型 System.Drawing.Bitmap のローカライズされたリソースを検索します。 + /// + internal static System.Drawing.Bitmap bg { + get { + object obj = ResourceManager.GetObject("bg", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Civ6IconCreator/Civ6IconCreator/Properties/Resources.resx b/Civ6IconCreator/Civ6IconCreator/Properties/Resources.resx new file mode 100644 index 0000000..60fc00c --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\bg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Civ6IconCreator/Civ6IconCreator/Properties/Settings.Designer.cs b/Civ6IconCreator/Civ6IconCreator/Properties/Settings.Designer.cs new file mode 100644 index 0000000..9d75de3 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Properties/Settings.Designer.cs @@ -0,0 +1,50 @@ +//------------------------------------------------------------------------------ +// +// このコードはツールによって生成されました。 +// ランタイム バージョン:4.0.30319.42000 +// +// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、 +// コードが再生成されるときに損失したりします。 +// +//------------------------------------------------------------------------------ + +namespace Civ6IconCreator.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string inputFile { + get { + return ((string)(this["inputFile"])); + } + set { + this["inputFile"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string outputDirName { + get { + return ((string)(this["outputDirName"])); + } + set { + this["outputDirName"] = value; + } + } + } +} diff --git a/Civ6IconCreator/Civ6IconCreator/Properties/Settings.settings b/Civ6IconCreator/Civ6IconCreator/Properties/Settings.settings new file mode 100644 index 0000000..b063372 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Properties/Settings.settings @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Civ6IconCreator/Civ6IconCreator/Settings.cs b/Civ6IconCreator/Civ6IconCreator/Settings.cs new file mode 100644 index 0000000..a75670d --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/Settings.cs @@ -0,0 +1,28 @@ +namespace Civ6IconCreator.Properties { + + + // このクラスでは設定クラスでの特定のイベントを処理することができます: + // SettingChanging イベントは、設定値が変更される前に発生します。 + // PropertyChanged イベントは、設定値が変更された後に発生します。 + // SettingsLoaded イベントは、設定値が読み込まれた後に発生します。 + // SettingsSaving イベントは、設定値が保存される前に発生します。 + internal sealed partial class Settings { + + public Settings() { + // // 設定の保存と変更のイベント ハンドラーを追加するには、以下の行のコメントを解除します: + // + // this.SettingChanging += this.SettingChangingEventHandler; + // + // this.SettingsSaving += this.SettingsSavingEventHandler; + // + } + + private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) { + // SettingChangingEvent イベントを処理するコードをここに追加してください。 + } + + private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) { + // SettingsSaving イベントを処理するコードをここに追加してください。 + } + } +} diff --git a/Civ6IconCreator/Civ6IconCreator/bg.png b/Civ6IconCreator/Civ6IconCreator/bg.png new file mode 100644 index 0000000..b986bea Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/bg.png differ diff --git a/Civ6IconCreator/Civ6IconCreator/onigsed.exe b/Civ6IconCreator/Civ6IconCreator/onigsed.exe new file mode 100644 index 0000000..930e241 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/onigsed.exe differ diff --git a/Civ6IconCreator/Civ6IconCreator/readme.txt b/Civ6IconCreator/Civ6IconCreator/readme.txt new file mode 100644 index 0000000..fe127f2 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/readme.txt @@ -0,0 +1,36 @@ +<これはなにもの?> +Civ6のMOD作成支援ツールです。 +アイコンの類は用意しなければならないファイルが多く、画像だけでなくtexファイルも用意しなければなりません。 +それを一括でやってくれるツールです。 + +<使い方> +1.Inputに変換したい256x256のpngファイルを指定 +2.Outputに変換先ディレクトリを指定 +3.変化したいアイコンの種類を選ぶ +4.生成ボタンがアクティブになるのでクリック + +変換先に指定したディレクトリに、元のファイル名にサイズの数値が付いたddsとtexが出力されますので、 +出力されたファイル群をModBuddyにまとめて放り込んでお使いください。 + +<仕組み> +指定画像をひたすらtexconvでサイズ変えながら変換 +↓ +サイズに合わせたtexファイルのテンプレからファイル名を置換したものを生成 + +というのを自動でやるようにしたのがこのアプリです。 + +<注意> +・これはVisual Studio 2017 Communityで作成したアプリです。 + 実行できない場合は + https://visualstudio.microsoft.com/ja/downloads/?q=#other-ja + から + Visual Studio 2017 の Microsoft Visual C++ 再頒布可能パッケージ + をダウンロードし、インストールしてください。 +・入力画像は256x256のサイズ以外は受け付けないようになっています。事前に加工してください。 +・出力ファイルは上書きです。ただし、ほかのアプリが出力先になるファイルをすでにつかんでいたりすると変換されませんのでご注意ください。 + +-- +バグ等あればtwitter等でご連絡ください。 + +yosxpeee +https://twitter.com/yosxpeee diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate128.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate128.tex new file mode 100644 index 0000000..01fa7bc --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate128.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 4 + 0 + 306 + 555 + + 1024 + 1024 + 1 + 10 + + + 0 + 2269307252 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate256.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate256.tex new file mode 100644 index 0000000..d19f46f --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate256.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 4 + 0 + 306 + 555 + + 2048 + 2048 + 1 + 11 + + + 0 + 2303670688 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate32.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate32.tex new file mode 100644 index 0000000..9c6a133 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate32.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 4 + 0 + 306 + 555 + + 256 + 256 + 1 + 8 + + + 0 + 2330243345 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate38.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate38.tex new file mode 100644 index 0000000..da5f003 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate38.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 4 + 0 + 306 + 555 + + 304 + 304 + 1 + 8 + + + 0 + 2357826103 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate50.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate50.tex new file mode 100644 index 0000000..cfd2bec --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate50.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 4 + 0 + 306 + 555 + + 400 + 400 + 1 + 8 + + + 0 + 2381948515 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate80.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate80.tex new file mode 100644 index 0000000..96ece83 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Buildings/BuildingsTemplate80.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 4 + 0 + 306 + 555 + + 640 + 640 + 1 + 9 + + + 0 + 2407481068 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate22.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate22.tex new file mode 100644 index 0000000..81ad782 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate22.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate256.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate256.tex new file mode 100644 index 0000000..5d923f7 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate256.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate30.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate30.tex new file mode 100644 index 0000000..b297007 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate30.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate36.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate36.tex new file mode 100644 index 0000000..dc3995e Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate36.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate44.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate44.tex new file mode 100644 index 0000000..09e5258 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate44.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate45.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate45.tex new file mode 100644 index 0000000..5dc2c2c Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate45.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate48.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate48.tex new file mode 100644 index 0000000..5de5837 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate48.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate50.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate50.tex new file mode 100644 index 0000000..4621336 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate50.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate64.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate64.tex new file mode 100644 index 0000000..11b6553 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate64.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate80.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate80.tex new file mode 100644 index 0000000..8a615c7 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Civilizations/CivilizationsTemplate80.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate128.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate128.tex new file mode 100644 index 0000000..70d335b --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate128.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 1024 + 1024 + 1 + 10 + + + 0 + 2941239029 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate22.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate22.tex new file mode 100644 index 0000000..7a3592e --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate22.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 256 + 256 + 1 + 8 + + + 0 + 3868160917 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate256.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate256.tex new file mode 100644 index 0000000..e640816 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate256.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 2048 + 2048 + 1 + 11 + + + 0 + 3854950917 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate32.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate32.tex new file mode 100644 index 0000000..4753d2f --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate32.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 256 + 256 + 1 + 8 + + + 0 + 3868160917 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate38.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate38.tex new file mode 100644 index 0000000..60f08e6 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate38.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 304 + 304 + 1 + 8 + + + 0 + 3884100917 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate50.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate50.tex new file mode 100644 index 0000000..a8f4821 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate50.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 400 + 400 + 1 + 8 + + + 0 + 3899960917 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate70.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate70.tex new file mode 100644 index 0000000..e9fb8bd --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate70.tex @@ -0,0 +1,53 @@ + + + + PF_R8G8B8A8_UNORM + FT_BOX + false + 0 + true + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + + 1 + 0 + 0 + 0 + + 560 + 560 + 1 + 9 + + + 0 + 508679797 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate80.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate80.tex new file mode 100644 index 0000000..9af64a8 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Districts/DistrictsTemplate80.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 640 + 640 + 1 + 9 + + + 0 + 3915720917 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate256.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate256.tex new file mode 100644 index 0000000..f704731 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate256.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate38.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate38.tex new file mode 100644 index 0000000..ee1f519 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate38.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate50.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate50.tex new file mode 100644 index 0000000..509d8d2 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate50.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate80.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate80.tex new file mode 100644 index 0000000..df5fc4d Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/Improvements/ImprovementsTemplate80.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate256.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate256.tex new file mode 100644 index 0000000..d403127 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate256.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 256 + 256 + 1 + 8 + + + 0 + 1320674755 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate32.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate32.tex new file mode 100644 index 0000000..e8e4e1d --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate32.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 32 + 32 + 1 + 5 + + + 0 + 1332607867 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate45.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate45.tex new file mode 100644 index 0000000..2da4c45 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate45.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 45 + 45 + 1 + 5 + + + 0 + 1344851320 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate48.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate48.tex new file mode 100644 index 0000000..e546a40 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate48.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 48 + 48 + 1 + 5 + + + 0 + 1358686522 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate50.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate50.tex new file mode 100644 index 0000000..fafdf3d --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate50.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 50 + 50 + 1 + 5 + + + 0 + 1370219194 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate55.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate55.tex new file mode 100644 index 0000000..26261e2 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate55.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 55 + 55 + 1 + 5 + + + 0 + 1382412592 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate64.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate64.tex new file mode 100644 index 0000000..a1d4bb0 --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate64.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 64 + 64 + 1 + 6 + + + 0 + 1394405770 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate80.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate80.tex new file mode 100644 index 0000000..632c6cc --- /dev/null +++ b/Civ6IconCreator/Civ6IconCreator/template/tex/Leaders/LeadersTemplate80.tex @@ -0,0 +1,70 @@ + + + + PF_R8G8B8A8_UNORM + FT_LANCZOS6 + false + 0 + false + 0.000000 + 1.000000 + 1.000000 + 2.200000 + 2.200000 + 0 + 0 + 64 + 64 + 64 + TEXTURE_2D + false + + + + + false + + + + 2 + + + + false + + + + false + + + + + + 3 + 0 + 212 + 378 + + 80 + 80 + 1 + 6 + + + 0 + 1406519080 + + + + + + + + + + + + + + + diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate22.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate22.tex new file mode 100644 index 0000000..1bc251d Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate22.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate256.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate256.tex new file mode 100644 index 0000000..c57b3a8 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate256.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate32.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate32.tex new file mode 100644 index 0000000..9ef32b7 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate32.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate38.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate38.tex new file mode 100644 index 0000000..cc4f6c1 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate38.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate50.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate50.tex new file mode 100644 index 0000000..ba5a2b6 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate50.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate80.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate80.tex new file mode 100644 index 0000000..5c2cb75 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitFlags/UnitFlagsTemplate80.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate200.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate200.tex new file mode 100644 index 0000000..5082714 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate200.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate256.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate256.tex new file mode 100644 index 0000000..35b4364 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate256.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate38.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate38.tex new file mode 100644 index 0000000..c676964 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate38.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate50.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate50.tex new file mode 100644 index 0000000..7255161 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate50.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate70.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate70.tex new file mode 100644 index 0000000..0ee239b Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate70.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate95.tex b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate95.tex new file mode 100644 index 0000000..854fef1 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/template/tex/UnitPortraits/UnitPortraitsTemplate95.tex differ diff --git a/Civ6IconCreator/Civ6IconCreator/texconv.exe b/Civ6IconCreator/Civ6IconCreator/texconv.exe new file mode 100644 index 0000000..1b62877 Binary files /dev/null and b/Civ6IconCreator/Civ6IconCreator/texconv.exe differ