Files
PCK-Studio/MinecraftUSkinEditor/Forms/generateModel.cs
2021-01-30 13:19:58 -05:00

2112 lines
100 KiB
C#

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Linq;
using System.Windows.Forms;
using System.Collections;
using System.IO;
using Brush = System.Drawing.Brush;
using Color = System.Drawing.Color;
namespace minekampf
{
public partial class generateModel : MetroFramework.Forms.MetroForm
{
PictureBox skinPreview;
Bitmap bg;
string direction;
List<object[]> boxes;
ListView storeData = new ListView();
bool autoTexture = true;
int textureW = 0;
int textureH = 0;
Color backgroundColor = Color.Black;
ListViewItem selected;
//Checks if an item is selected
private void checkSelect()
{
//Deciphers wether to enable/disable things based on wether an item is selected or not
if (listViewBoxes.SelectedItems.Count != 0)
{
selected = listViewBoxes.SelectedItems[0];
if (selected == null)
{
this.textXc.Enabled = false;
this.textYc.Enabled = false;
this.textZc.Enabled = false;
this.textXf.Enabled = false;
this.textYf.Enabled = false;
this.textZf.Enabled = false;
this.textTextureX.Enabled = false;
this.textTextureY.Enabled = false;
this.buttonXcminus.Enabled = false;
this.buttonYcminus.Enabled = false;
this.buttonZcminus.Enabled = false;
this.buttonXcplus.Enabled = false;
this.buttonYcplus.Enabled = false;
this.buttonZcplus.Enabled = false;
this.buttonXfminus.Enabled = false;
this.buttonYfminus.Enabled = false;
this.buttonZfminus.Enabled = false;
this.buttonXfplus.Enabled = false;
this.buttonYfplus.Enabled = false;
this.buttonZfplus.Enabled = false;
}
else
{
this.textXc.Enabled = true;
this.textYc.Enabled = true;
this.textZc.Enabled = true;
this.textXf.Enabled = true;
this.textYf.Enabled = true;
this.textZf.Enabled = true;
this.textTextureX.Enabled = true;
this.textTextureY.Enabled = true;
this.buttonXcminus.Enabled = true;
this.buttonYcminus.Enabled = true;
this.buttonZcminus.Enabled = true;
this.buttonXcplus.Enabled = true;
this.buttonYcplus.Enabled = true;
this.buttonZcplus.Enabled = true;
this.buttonXfminus.Enabled = true;
this.buttonYfminus.Enabled = true;
this.buttonZfminus.Enabled = true;
this.buttonXfplus.Enabled = true;
this.buttonYfplus.Enabled = true;
this.buttonZfplus.Enabled = true;
comboParent.Enabled = true;
}
}
else
{
this.textXc.Enabled = false;
this.textYc.Enabled = false;
this.textZc.Enabled = false;
this.textXf.Enabled = false;
this.textYf.Enabled = false;
this.textZf.Enabled = false;
this.textTextureX.Enabled = false;
this.textTextureY.Enabled = false;
this.buttonXcminus.Enabled = false;
this.buttonYcminus.Enabled = false;
this.buttonZcminus.Enabled = false;
this.buttonXcplus.Enabled = false;
this.buttonYcplus.Enabled = false;
this.buttonZcplus.Enabled = false;
this.buttonXfminus.Enabled = false;
this.buttonYfminus.Enabled = false;
this.buttonZfminus.Enabled = false;
this.buttonXfplus.Enabled = false;
this.buttonYfplus.Enabled = false;
this.buttonZfplus.Enabled = false;
comboParent.Enabled = false;
}
}
//Initialization
public generateModel(List<object[]> boxesIn, PictureBox preview)
{
this.InitializeComponent();
boxes = new List<object[]>();
boxes = boxesIn;
this.skinPreview = preview;
this.direction = "front";
this.bg = new Bitmap(this.displayBox.Image);
this.buttonIMPORT.Enabled = false;
this.buttonEXPORT.Enabled = false;
this.textXc.Enabled = false;
this.textYc.Enabled = false;
this.textZc.Enabled = false;
this.textXf.Enabled = false;
this.textYf.Enabled = false;
this.textZf.Enabled = false;
this.textTextureX.Enabled = false;
this.textTextureY.Enabled = false;
this.buttonXcminus.Enabled = false;
this.buttonYcminus.Enabled = false;
this.buttonZcminus.Enabled = false;
this.buttonXcplus.Enabled = false;
this.buttonYcplus.Enabled = false;
this.buttonZcplus.Enabled = false;
this.buttonXfminus.Enabled = false;
this.buttonYfminus.Enabled = false;
this.buttonZfminus.Enabled = false;
this.buttonXfplus.Enabled = false;
this.buttonYfplus.Enabled = false;
this.buttonZfplus.Enabled = false;
this.comboParent.Enabled = false;
loadData();
}
//loads data from mode list
private void loadData()
{
foreach (object[] box in boxes)
{
if (box[0].ToString() == "BOX")
{
int space = 0;
string modelClass = "";
string x = "";
string y = "";
string z = "";
string xF = "";
string yF = "";
string zF = "";
string xO = "";
string yO = "";
foreach (char letter in box[1].ToString())
{
if (letter.ToString() == " ")
{
space += 1;
}
else if (space == 0 && letter.ToString() != " ")
{
modelClass += letter;
}
else if (space == 1 && letter.ToString() != " ")
{
x += letter.ToString();
}
else if (space == 2 && letter.ToString() != " ")
{
y += letter.ToString();
}
else if (space == 3 && letter.ToString() != " ")
{
z += letter.ToString();
}
else if (space == 4 && letter.ToString() != " ")
{
xF += letter.ToString();
}
else if (space == 5 && letter.ToString() != " ")
{
yF += letter.ToString();
}
else if (space == 6 && letter.ToString() != " ")
{
zF += letter.ToString();
}
else if (space == 7 && letter.ToString() != " ")
{
xO += letter.ToString();
}
else if (space == 8 && letter.ToString() != " ")
{
yO += letter.ToString();
}
}
ListViewItem part = new ListViewItem();
part.Text = "BOX";
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, x));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, y));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, z));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, xF));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, yF));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, zF));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, xO));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, yO));
part.Tag = modelClass;
listViewBoxes.Items.Add(part);
comboParent.Enabled = true;
}
}
render();
}
//Rename model part/item
private void listView1_DoubleClick_1(object sender, EventArgs e)
{
listViewBoxes.SelectedItems[0].BeginEdit();
}
//Graphic Rendering
private void render()
{
//Disables template option if model parts exist
if (this.listViewBoxes.Items.Count == 0)
this.buttonTemplate.Enabled = true;
else
this.buttonTemplate.Enabled = false;
setZ(); //Organizes Z layers
labelView.Text = "View: " + this.direction; //Updates Current Direction label
try
{
Bitmap bitmapModelPreview = new Bitmap(this.displayBox.Width, this.displayBox.Height); //Creates Model Display layer
using (Graphics graphics = Graphics.FromImage((Image)bitmapModelPreview))
{
graphics.Clear(backgroundColor);
int headbodyY = (displayBox.Height / 2) + 25;//25
int armY = (displayBox.Height / 2) + 35;// - 60;
int legY = (displayBox.Height / 2) + 85;// - 80;
int groundLevel = (displayBox.Height / 2) + 145;
graphics.DrawLine(Pens.White, 0, groundLevel, displayBox.Width, groundLevel);
//Chooses Render settings based on current direction
if (this.direction == "front")
{
//Generates Guidelines if enabled
if (this.checkGuide.Checked)
{
try
{
graphics.DrawLine(Pens.Red, displayBox.Width / 2, 0, displayBox.Width / 2, displayBox.Height);
graphics.DrawLine(Pens.Blue, (displayBox.Width / 2) + 30, 0, (displayBox.Width / 2) + 30, displayBox.Height);
graphics.DrawLine(Pens.Blue, (displayBox.Width / 2) - 30, 0, (displayBox.Width / 2) - 30, displayBox.Height);
graphics.DrawLine(Pens.Purple, (displayBox.Width / 2) - 10, 0, (displayBox.Width / 2) - 10, displayBox.Height);
graphics.DrawLine(Pens.Purple, (displayBox.Width / 2) + 10, 0, (displayBox.Width / 2) + 10, displayBox.Height);
graphics.DrawLine(Pens.Red, 0, headbodyY + (float)double.Parse(this.offsetHead.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetHead.Text) * 5);
graphics.DrawLine(Pens.Green, 0, headbodyY + (float)double.Parse(this.offsetBody.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetBody.Text) * 5);
graphics.DrawLine(Pens.Blue, 0, headbodyY + (float)double.Parse(this.offsetArms.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetArms.Text) * 5);
graphics.DrawLine(Pens.Purple, 0, legY + (float)double.Parse(this.offsetLegs.Text) * 5, displayBox.Width, legY + (float)double.Parse(this.offsetLegs.Text) * 5);
}
catch (Exception)
{
}
}
foreach (ListViewItem listViewItem in this.listViewBoxes.Items) //Individually draws each model part/item
{
int x = 0;
int y = 0;
try
{
//Sets X & Y based on model part class
if (listViewItem.Tag.ToString() == "HEAD")
{
x = displayBox.Width / 2;
y = headbodyY + int.Parse(this.offsetHead.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "BODY")
{
x = displayBox.Width / 2;
y = headbodyY + int.Parse(this.offsetBody.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "ARM0")
{
x = (displayBox.Width / 2) - 25;
y = armY + int.Parse(this.offsetArms.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "ARM1")
{
x = (displayBox.Width / 2) + 25;
y = armY + int.Parse(this.offsetArms.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "LEG0")
{
x = (displayBox.Width / 2) - 10;
y = legY + int.Parse(this.offsetLegs.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "LEG1")
{
x = (displayBox.Width / 2) + 10;
y = legY + int.Parse(this.offsetLegs.Text) * 5;
}
//Maps imported Texture if auto texture is disabled
if (autoTexture != true)
{
RectangleF destRect = new RectangleF(
(float)(x + (float)double.Parse(listViewItem.SubItems[1].Text) * 5),
(float)(y + (float)double.Parse(listViewItem.SubItems[2].Text) * 5),
(float)((float)double.Parse(listViewItem.SubItems[4].Text) * 5),
(float)((float)double.Parse(listViewItem.SubItems[5].Text) * 5));
RectangleF srcRect = new RectangleF(
(float)((float)double.Parse(listViewItem.SubItems[7].Text) +
(float)double.Parse(listViewItem.SubItems[6].Text)),
(float)((float)double.Parse(listViewItem.SubItems[8].Text) +
(float)double.Parse(listViewItem.SubItems[6].Text)),
(float)(float)double.Parse(listViewItem.SubItems[4].Text),
(float)(float)double.Parse(listViewItem.SubItems[5].Text));
graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
graphics.DrawImage(texturePreview.Image, destRect, srcRect, GraphicsUnit.Pixel);
}
else
{
//Draws Part
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), x + (float)double.Parse(listViewItem.SubItems[1].Text) * 5, y + (float)double.Parse(listViewItem.SubItems[2].Text) * 5, (float)double.Parse(listViewItem.SubItems[4].Text) * 5, (float)double.Parse(listViewItem.SubItems[5].Text) * 5);
}
//Draws Armor Offsets
if (checkBoxArmor.Checked == true)
{
SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(80, 50, 50, 75));
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 20, headbodyY - 40 + (float)double.Parse(this.offsetHelmet.Text) * 5, 40, 40);//Helmet
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 35, armY + 45 + (float)double.Parse(this.offsetTool.Text) * 5, 10, 10);//Tool0
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) + 25, armY + 45 + (float)double.Parse(this.offsetTool.Text) * 5, 10, 10);//Tool1
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 20, legY + (float)double.Parse(this.offsetPants.Text) * 5, 20, 40);//Pants0
graphics.FillRectangle(semiTransBrush, displayBox.Width / 2, legY + (float)double.Parse(this.offsetPants.Text) * 5, 20, 40);//Pants1
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 20, legY + 40 + (float)double.Parse(this.offsetBoots.Text) * 5, 20, 20);//Boot0
graphics.FillRectangle(semiTransBrush, displayBox.Width / 2, legY + 40 + (float)double.Parse(this.offsetBoots.Text) * 5, 20, 20);//Boot1
}
//Highlights selected item shape in preview window
if (listViewItem.Index == selected.Index)
{
graphics.DrawRectangle(Pens.Yellow, x + (float)double.Parse(this.selected.SubItems[1].Text) * 5 - 1, y + (float)double.Parse(this.selected.SubItems[2].Text) * 5 - 1, (float)double.Parse(this.selected.SubItems[4].Text) * 5 + 2, (float)double.Parse(this.selected.SubItems[5].Text) * 5 + 2);
graphics.DrawRectangle(Pens.Black, x + (float)double.Parse(this.selected.SubItems[1].Text) * 5, y + (float)double.Parse(this.selected.SubItems[2].Text) * 5, (float)double.Parse(this.selected.SubItems[4].Text) * 5, (float)double.Parse(this.selected.SubItems[5].Text) * 5);
}
}
catch (Exception ex)
{
}
}
}
else if (this.direction == "left")
{
//Generates Guidelines if enabled
if (this.checkGuide.Checked)
{
try
{
graphics.DrawLine(Pens.Red, displayBox.Width / 2, 0, displayBox.Width / 2, displayBox.Height);
graphics.DrawLine(Pens.Red, 0, headbodyY + (float)double.Parse(this.offsetHead.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetHead.Text) * 5);
graphics.DrawLine(Pens.Green, 0, headbodyY + (float)double.Parse(this.offsetBody.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetBody.Text) * 5);
graphics.DrawLine(Pens.Blue, 0, headbodyY + (float)double.Parse(this.offsetArms.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetArms.Text) * 5);
graphics.DrawLine(Pens.Purple, 0, legY + (float)double.Parse(this.offsetLegs.Text) * 5, displayBox.Width, legY + (float)double.Parse(this.offsetLegs.Text) * 5);
}
catch (Exception)
{
}
}
foreach (ListViewItem listViewItem in this.listViewBoxes.Items)
{
int x = 0;
int y = 0;
try
{
//Sets X & Y based on model part class
if (listViewItem.Tag.ToString() == "HEAD")
{
x = displayBox.Width / 2;
y = headbodyY + int.Parse(this.offsetHead.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "BODY")
{
x = displayBox.Width / 2;
y = headbodyY + int.Parse(this.offsetBody.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "ARM0")
{
x = displayBox.Width / 2;
y = armY + int.Parse(this.offsetArms.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "ARM1")
{
x = displayBox.Width / 2;
y = armY + int.Parse(this.offsetArms.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "LEG0")
{
x = displayBox.Width / 2;
y = legY + int.Parse(this.offsetLegs.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "LEG1")
{
x = displayBox.Width / 2;
y = legY + int.Parse(this.offsetLegs.Text) * 5;
}
//Maps imported Texture if auto texture is disabled
if (autoTexture != true)
{
RectangleF destRect = new RectangleF(
(float)(x + double.Parse(listViewItem.SubItems[3].Text) * 5),
(float)(y + double.Parse(listViewItem.SubItems[2].Text) * 5),
(float)(double.Parse(listViewItem.SubItems[6].Text) * 5),
(float)(double.Parse(listViewItem.SubItems[5].Text) * 5));
RectangleF srcRect = new RectangleF((float)double.Parse(listViewItem.SubItems[7].Text) + (float)double.Parse(listViewItem.SubItems[6].Text) + (float)double.Parse(listViewItem.SubItems[4].Text),
(float)(double.Parse(listViewItem.SubItems[8].Text) + double.Parse(listViewItem.SubItems[6].Text)),
(float)double.Parse(listViewItem.SubItems[6].Text),
(float)double.Parse(listViewItem.SubItems[5].Text));
graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
graphics.DrawImage(texturePreview.Image, destRect, srcRect, GraphicsUnit.Pixel);
}
else
{
//Draws Part
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), x + (float)double.Parse(listViewItem.SubItems[3].Text) * 5, y + (float)double.Parse(listViewItem.SubItems[2].Text) * 5, (float)double.Parse(listViewItem.SubItems[6].Text) * 5, (float)double.Parse(listViewItem.SubItems[5].Text) * 5);
}
//Draws Armor Offsets
if (checkBoxArmor.Checked == true)
{
SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(80, 50, 50, 75));
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 20, headbodyY - 40 + (float)double.Parse(this.offsetHelmet.Text) * 5, 40, 40);//Helmet
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 5, armY + 45 + (float)double.Parse(this.offsetTool.Text) * 5, 10, 10);//Tools
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 10, legY + (float)double.Parse(this.offsetPants.Text) * 5, 20, 40);//Pants
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 10, legY + 40 + (float)double.Parse(this.offsetBoots.Text) * 5, 20, 20);//Boots
}
//Highlights selected item shape in preview window
if (listViewItem.Index == this.selected.Index)
{
graphics.DrawRectangle(Pens.Yellow, x + (float)double.Parse(this.selected.SubItems[3].Text) * 5 - 1, y + (float)double.Parse(this.selected.SubItems[2].Text) * 5 - 1, (float)double.Parse(this.selected.SubItems[6].Text) * 5 + 2, (float)double.Parse(this.selected.SubItems[5].Text) * 5 + 2);
graphics.DrawRectangle(Pens.Black, x + (float)double.Parse(this.selected.SubItems[3].Text) * 5, y + (float)double.Parse(this.selected.SubItems[2].Text) * 5, (float)double.Parse(this.selected.SubItems[6].Text) * 5, (float)double.Parse(this.selected.SubItems[5].Text) * 5);
}
}
catch (Exception ex)
{
}
}
bitmapModelPreview.RotateFlip(RotateFlipType.RotateNoneFlipX);
}
else if (this.direction == "back")
{
//Generates Guidelines if enabled
if (this.checkGuide.Checked)
{
try
{
graphics.DrawLine(Pens.Red, displayBox.Width / 2, 0, displayBox.Width / 2, displayBox.Height);
graphics.DrawLine(Pens.Blue, (displayBox.Width / 2) + 30, 0, (displayBox.Width / 2) + 30, displayBox.Height);
graphics.DrawLine(Pens.Blue, (displayBox.Width / 2) - 30, 0, (displayBox.Width / 2) - 30, displayBox.Height);
graphics.DrawLine(Pens.Purple, (displayBox.Width / 2) - 10, 0, (displayBox.Width / 2) - 10, displayBox.Height);
graphics.DrawLine(Pens.Purple, (displayBox.Width / 2) + 10, 0, (displayBox.Width / 2) + 10, displayBox.Height);
graphics.DrawLine(Pens.Red, 0, headbodyY + (float)double.Parse(this.offsetHead.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetHead.Text) * 5);
graphics.DrawLine(Pens.Green, 0, headbodyY + (float)double.Parse(this.offsetBody.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetBody.Text) * 5);
graphics.DrawLine(Pens.Blue, 0, headbodyY + (float)double.Parse(this.offsetArms.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetArms.Text) * 5);
graphics.DrawLine(Pens.Purple, 0, legY + (float)double.Parse(this.offsetLegs.Text) * 5, displayBox.Width, legY + (float)double.Parse(this.offsetLegs.Text) * 5);
}
catch (Exception)
{
}
}
foreach (ListViewItem listViewItem in this.listViewBoxes.Items)
{
int x = 0;
int y = 0;
try
{
//Sets X & Y based on model part class
if (listViewItem.Tag.ToString() == "HEAD")
{
x = displayBox.Width / 2;
y = headbodyY + int.Parse(this.offsetHead.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "BODY")
{
x = displayBox.Width / 2;
y = headbodyY + int.Parse(this.offsetBody.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "ARM0")
{
x = (displayBox.Width / 2) - 25;
y = armY + int.Parse(this.offsetArms.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "ARM1")
{
x = (displayBox.Width / 2) + 25;
y = armY + int.Parse(this.offsetArms.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "LEG0")
{
x = (displayBox.Width / 2) - 10;
y = legY + int.Parse(this.offsetLegs.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "LEG1")
{
x = (displayBox.Width / 2) + 10;
y = legY + int.Parse(this.offsetLegs.Text) * 5;
}
//Maps imported Texture if auto texture is disabled
if (autoTexture != true)
{
RectangleF destRect = new RectangleF(
(float)(x + (float)double.Parse(listViewItem.SubItems[1].Text) * 5),
(float)(y + (float)double.Parse(listViewItem.SubItems[2].Text) * 5),
(float)((float)double.Parse(listViewItem.SubItems[4].Text) * 5),
(float)((float)double.Parse(listViewItem.SubItems[5].Text) * 5));
RectangleF srcRect = new RectangleF(
(float)((float)double.Parse(listViewItem.SubItems[7].Text) +
(float)double.Parse(listViewItem.SubItems[6].Text) +
(float)double.Parse(listViewItem.SubItems[4].Text) +
(float)double.Parse(listViewItem.SubItems[6].Text)),
(float)((float)double.Parse(listViewItem.SubItems[8].Text) +
(float)double.Parse(listViewItem.SubItems[6].Text)),
(float)(float)double.Parse(listViewItem.SubItems[4].Text),
(float)(float)double.Parse(listViewItem.SubItems[5].Text));
graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
graphics.DrawImage(texturePreview.Image, destRect, srcRect, GraphicsUnit.Pixel);
}
else
{
//Draws Part
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), x + (float)double.Parse(listViewItem.SubItems[1].Text) * 5, y + (float)double.Parse(listViewItem.SubItems[2].Text) * 5, (float)double.Parse(listViewItem.SubItems[4].Text) * 5, (float)double.Parse(listViewItem.SubItems[5].Text) * 5);
}
//Draws Armor Offsets
if (checkBoxArmor.Checked == true)
{
SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(80, 50, 50, 75));
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 20, headbodyY - 40 + (float)double.Parse(this.offsetHelmet.Text) * 5, 40, 40);//Helmet
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 35, armY + 45 + (float)double.Parse(this.offsetTool.Text) * 5, 10, 10);//Tool0
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) + 25, armY + 45 + (float)double.Parse(this.offsetTool.Text) * 5, 10, 10);//Tool1
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 20, legY + (float)double.Parse(this.offsetPants.Text) * 5, 20, 40);//Pants0
graphics.FillRectangle(semiTransBrush, displayBox.Width / 2, legY + (float)double.Parse(this.offsetPants.Text) * 5, 20, 40);//Pants1
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 20, legY + 40 + (float)double.Parse(this.offsetBoots.Text) * 5, 20, 20);//Boot0
graphics.FillRectangle(semiTransBrush, displayBox.Width / 2, legY + 40 + (float)double.Parse(this.offsetBoots.Text) * 5, 20, 20);//Boot1
}
//Highlights selected item shape in preview window
if (listViewItem.Index == this.selected.Index)
{
graphics.DrawRectangle(Pens.Yellow, x + (float)double.Parse(this.selected.SubItems[1].Text) * 5 - 1, y + (float)double.Parse(this.selected.SubItems[2].Text) * 5 - 1, (float)double.Parse(this.selected.SubItems[4].Text) * 5 + 2, (float)double.Parse(this.selected.SubItems[5].Text) * 5 + 2);
graphics.DrawRectangle(Pens.Black, x + (float)double.Parse(this.selected.SubItems[1].Text) * 5, y + (float)double.Parse(this.selected.SubItems[2].Text) * 5, (float)double.Parse(this.selected.SubItems[4].Text) * 5, (float)double.Parse(this.selected.SubItems[5].Text) * 5);
}
}
catch (Exception ex)
{
}
}
bitmapModelPreview.RotateFlip(RotateFlipType.RotateNoneFlipX);
}
else if (this.direction == "right")
{
//Generates Guidelines if enabled
if (this.checkGuide.Checked)
{
try
{
graphics.DrawLine(Pens.Red, displayBox.Width / 2, 0, displayBox.Width / 2, displayBox.Height);
graphics.DrawLine(Pens.Red, 0, headbodyY + (float)double.Parse(this.offsetHead.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetHead.Text) * 5);
graphics.DrawLine(Pens.Green, 0, headbodyY + (float)double.Parse(this.offsetBody.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetBody.Text) * 5);
graphics.DrawLine(Pens.Blue, 0, headbodyY + (float)double.Parse(this.offsetArms.Text) * 5, displayBox.Width, headbodyY + (float)double.Parse(this.offsetArms.Text) * 5);
graphics.DrawLine(Pens.Purple, 0, legY + (float)double.Parse(this.offsetLegs.Text) * 5, displayBox.Width, legY + (float)double.Parse(this.offsetLegs.Text) * 5);
}
catch (Exception)
{
}
}
foreach (ListViewItem listViewItem in this.listViewBoxes.Items)
{
int x = 0;
int y = 0;
try
{
//Sets X & Y based on model part class
if (listViewItem.Tag.ToString() == "HEAD")
{
x = displayBox.Width / 2;
y = headbodyY + int.Parse(this.offsetHead.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "BODY")
{
x = displayBox.Width / 2;
y = headbodyY + int.Parse(this.offsetBody.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "ARM0")
{
x = displayBox.Width / 2;
y = armY + int.Parse(this.offsetArms.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "ARM1")
{
x = displayBox.Width / 2;
y = armY + int.Parse(this.offsetArms.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "LEG0")
{
x = displayBox.Width / 2;
y = legY + int.Parse(this.offsetLegs.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "LEG1")
{
x = displayBox.Width / 2;
y = legY + int.Parse(this.offsetLegs.Text) * 5;
}
//Maps imported Texture if auto texture is disabled
if (autoTexture != true)
{
RectangleF destRect = new RectangleF(
(float)(x + double.Parse(listViewItem.SubItems[3].Text) * 5),
(float)(y + double.Parse(listViewItem.SubItems[2].Text) * 5),
(float)(double.Parse(listViewItem.SubItems[6].Text) * 5),
(float)(double.Parse(listViewItem.SubItems[5].Text) * 5));
RectangleF srcRect = new RectangleF(
(float)(double.Parse(listViewItem.SubItems[7].Text) +
double.Parse(listViewItem.SubItems[6].Text) +
double.Parse(listViewItem.SubItems[4].Text)),
(float)(double.Parse(listViewItem.SubItems[8].Text) +
double.Parse(listViewItem.SubItems[6].Text)),
(float)double.Parse(listViewItem.SubItems[6].Text),
(float)double.Parse(listViewItem.SubItems[5].Text));
graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
graphics.DrawImage(texturePreview.Image, destRect, srcRect, GraphicsUnit.Pixel);
}
else
{
//Draws Part
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), x + (float)double.Parse(listViewItem.SubItems[3].Text) * 5, y + (float)double.Parse(listViewItem.SubItems[2].Text) * 5, (float)double.Parse(listViewItem.SubItems[6].Text) * 5, (float)double.Parse(listViewItem.SubItems[5].Text) * 5);
}
//Draws Armor Offsets
if (checkBoxArmor.Checked == true)
{
SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(80, 50, 50, 75));
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 20, headbodyY - 40 + (float)double.Parse(this.offsetHelmet.Text) * 5, 40, 40);//Helmet
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 5, armY + 45 + (float)double.Parse(this.offsetTool.Text) * 5, 10, 10);//Tools
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 10, legY + (float)double.Parse(this.offsetPants.Text) * 5, 20, 40);//Pants
graphics.FillRectangle(semiTransBrush, (displayBox.Width / 2) - 10, legY + 40 + (float)double.Parse(this.offsetBoots.Text) * 5, 20, 20);//Boots
}
//Highlights selected item shape in preview window
if (listViewItem.Index == this.selected.Index)
{
graphics.DrawRectangle(Pens.Yellow, x + (float)double.Parse(this.selected.SubItems[3].Text) * 5 - 1, y + (float)double.Parse(this.selected.SubItems[2].Text) * 5 - 1, (float)double.Parse(this.selected.SubItems[6].Text) * 5 + 2, (float)double.Parse(this.selected.SubItems[5].Text) * 5 + 2);
graphics.DrawRectangle(Pens.Black, x + (float)double.Parse(this.selected.SubItems[3].Text) * 5, y + (float)double.Parse(this.selected.SubItems[2].Text) * 5, (float)double.Parse(this.selected.SubItems[6].Text) * 5, (float)double.Parse(this.selected.SubItems[5].Text) * 5);
}
}
catch (Exception ex)
{
}
}
}
graphics.Dispose();
}
displayBox.Image = (Image)bitmapModelPreview;//Sets created preview graphics to display box
}
catch (Exception)
{
return;
}
//Auto Generates Texture if enabled
if (autoTexture == true)
{
Bitmap bitmapAutoTexture = new Bitmap(texturePreview.Width, texturePreview.Height);
using (Graphics graphics = Graphics.FromImage((Image)bitmapAutoTexture))
{
foreach (ListViewItem listViewItem in this.listViewBoxes.Items)
{
try
{
double.Parse(listViewItem.SubItems[1].Text);
double.Parse(listViewItem.SubItems[2].Text);
double.Parse(listViewItem.SubItems[3].Text);
double width = (float)double.Parse(listViewItem.SubItems[4].Text) * 2;
double height = (float)double.Parse(listViewItem.SubItems[5].Text) * 2;
double num = (float)double.Parse(listViewItem.SubItems[6].Text) * 2;
double x = (float)double.Parse(listViewItem.SubItems[7].Text) * 2;
double y = (float)double.Parse(listViewItem.SubItems[8].Text) * 2;
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), (float)(x + num), (float)y, (float)(width), (float)(num));
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), (float)(x + num + width), (float)y, (float)width, (float)num);
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), (float)(x), (float)(y) + (float)(num), (float)(num), (float)(height));
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), (float)(x) + (float)(num), (float)(y) + (float)(num), (float)(width), (float)(height));
if (listViewItem.Tag.ToString() != "HEAD")
{
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), (float)(x) + (float)(num) + (float)(width), (float)(y) + (float)(num), (float)(width), (float)(height));
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), (float)(x) + (float)(num) + (float)(width) + (float)(width), (float)(y) + (float)(num), (float)(num), (float)(height));
}
else
{
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), (float)(x) + (float)(num) + (float)(width) + (float)(width), (float)(y) + (float)(num), (float)(num), (float)(height));
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), (float)(x) + (float)(num) + (float)(width), (float)(y) + (float)(num), (float)(width), (float)(height));
}
}
catch
{
}
}
graphics.Dispose();
}
texturePreview.Image = (Image)bitmapAutoTexture;
}
checkSelect(); //checks to see if an item is selected
//Checks to make sure each item has been properly set up
foreach (ListViewItem listViewItem in this.listViewBoxes.Items)
{
try
{
if (listViewItem.Tag == null)
this.buttonDone.Enabled = false;
else
this.buttonDone.Enabled = true;
}
catch (Exception ex)
{
}
}
}
//Checks and sets Z layering
private void setZ()
{
try
{
foreach (ListViewItem listViewItem in this.listViewBoxes.Items)
listViewItem.SubItems.Add("unchecked");
if (listViewBoxes.SelectedItems.Count != 0)
{
selected = listViewBoxes.SelectedItems[0];
}
else
{
selected = null;
}
if (this.direction == "front")
{
int checkedItems = 0;
do
{
foreach (ListViewItem listViewItemCurrent in this.listViewBoxes.Items)
{
if (listViewItemCurrent.SubItems[9].Text == "unchecked")
{
int x = 0;
if (listViewItemCurrent.Tag.ToString() == "HEAD")
x = displayBox.Width / 2;
else if (listViewItemCurrent.Tag.ToString() == "BODY")
x = displayBox.Width / 2;
else if (listViewItemCurrent.Tag.ToString() == "ARM0")
x = 178;
else if (listViewItemCurrent.Tag.ToString() == "ARM1")
x = 228;
else if (listViewItemCurrent.Tag.ToString() == "LEG0")
x = 193;
else if (listViewItemCurrent.Tag.ToString() == "LEG1")
x = 213;
bool flag = false;
int index = listViewItemCurrent.Index;
foreach (ListViewItem listViewItemComparing in this.listViewBoxes.Items)
{
if (listViewItemComparing.SubItems[9].Text == "unchecked" && (int)double.Parse(listViewItemCurrent.SubItems[3].Text) + (int)double.Parse(listViewItemCurrent.SubItems[6].Text) < (int)double.Parse(listViewItemComparing.SubItems[3].Text) + (int)double.Parse(listViewItemComparing.SubItems[6].Text))
{
if (listViewItemComparing.Index < this.listViewBoxes.Items.Count + 1)
{
index = listViewItemComparing.Index + 1;
flag = true;
}
}
}
listViewItemCurrent.SubItems[9].Text = "checked";
checkedItems += 1;
if (flag == true)
{
ListViewItem listViewItem2 = (ListViewItem)listViewItemCurrent.Clone();
this.listViewBoxes.Items.Insert(index, listViewItem2);
if (listViewBoxes.SelectedItems.Count != 0)
{
if (selected.Index == listViewItemCurrent.Index)
{
selected = listViewItem2;
}
}
listViewItemCurrent.Remove();
}
}
else
{
checkedItems += 1;
}
}
} while (checkedItems < listViewBoxes.Items.Count);
}
else if (this.direction == "left")
{
int checkedItems = 0;
do
{
foreach (ListViewItem listViewItem1 in this.listViewBoxes.Items)
{
if (listViewItem1.SubItems[listViewItem1.SubItems.Count - 1].Text == "unchecked")
{
int x = 0;
if (listViewItem1.Tag.ToString() == "HEAD")
x = displayBox.Width / 2;
else if (listViewItem1.Tag.ToString() == "BODY")
x = displayBox.Width / 2;
else if (listViewItem1.Tag.ToString() == "ARM0")
x = 178;
else if (listViewItem1.Tag.ToString() == "ARM1")
x = 228;
else if (listViewItem1.Tag.ToString() == "LEG0")
x = 193;
else if (listViewItem1.Tag.ToString() == "LEG1")
x = 213;
bool flag = false;
int index = listViewItem1.Index;
foreach (ListViewItem listViewItem2 in this.listViewBoxes.Items)
{
if (listViewItem2.SubItems[9].Text == "unchecked")
{
int y = 0;
if (listViewItem2.Tag.ToString() == "HEAD")
y = displayBox.Width / 2;
else if (listViewItem2.Tag.ToString() == "BODY")
y = displayBox.Width / 2;
else if (listViewItem2.Tag.ToString() == "ARM0")
y = 178;
else if (listViewItem2.Tag.ToString() == "ARM1")
y = 228;
else if (listViewItem2.Tag.ToString() == "LEG0")
y = 193;
else if (listViewItem2.Tag.ToString() == "LEG1")
y = 213;
if ((int)double.Parse(listViewItem1.SubItems[1].Text) + (int)double.Parse(listViewItem1.SubItems[4].Text) + x < (int)double.Parse(listViewItem2.SubItems[1].Text) + (int)double.Parse(listViewItem2.SubItems[4].Text) + y && listViewItem2.Index + 1 < this.listViewBoxes.Items.Count + 1)
{
index = listViewItem2.Index + 1;
flag = true;
}
}
}
listViewItem1.SubItems[9].Text = "checked";
checkedItems += 1;
if (flag == true)
{
ListViewItem listViewItem2 = (ListViewItem)listViewItem1.Clone();
this.listViewBoxes.Items.Insert(index, listViewItem2);
if (listViewBoxes.SelectedItems.Count != 0)
{
if (selected.Index == listViewItem1.Index)
{
selected = listViewItem2;
}
}
listViewItem1.Remove();
}
}
else
{
checkedItems += 1;
}
}
} while (checkedItems < listViewBoxes.Items.Count);
}
else if (this.direction == "back")
{
int checkedItems = 0;
do
{
foreach (ListViewItem listViewItemCurrent in this.listViewBoxes.Items)
{
if (listViewItemCurrent.SubItems[listViewItemCurrent.SubItems.Count - 1].Text == "unchecked")
{
bool flag = false;
int index = listViewItemCurrent.Index;
foreach (ListViewItem listViewItemComparing in this.listViewBoxes.Items)
{
if (listViewItemComparing.SubItems[9].Text == "unchecked" && (int)double.Parse(listViewItemCurrent.SubItems[3].Text) + (int)double.Parse(listViewItemCurrent.SubItems[6].Text) > (int)double.Parse(listViewItemComparing.SubItems[3].Text) + (int)double.Parse(listViewItemComparing.SubItems[6].Text))
{
if (listViewItemComparing.Index < this.listViewBoxes.Items.Count + 1)
{
index = listViewItemComparing.Index + 1;
flag = true;
}
}
}
listViewItemCurrent.SubItems[9].Text = "checked";
checkedItems += 1;
if (flag == true)
{
ListViewItem listViewItem2 = (ListViewItem)listViewItemCurrent.Clone();
this.listViewBoxes.Items.Insert(index, listViewItem2);
if (listViewBoxes.SelectedItems.Count != 0)
{
if (selected.Index == listViewItemCurrent.Index)
{
selected = listViewItem2;
}
}
listViewItemCurrent.Remove();
}
}
else
{
checkedItems += 1;
}
}
} while (checkedItems < listViewBoxes.Items.Count);
}
else if (this.direction == "right")
{
int checkedItems = 0;
do
{
foreach (ListViewItem listViewItem1 in this.listViewBoxes.Items)
{
if (listViewItem1.SubItems[listViewItem1.SubItems.Count - 1].Text == "unchecked")
{
int x = 0;
if (listViewItem1.Tag.ToString() == "HEAD")
x = displayBox.Width / 2;
else if (listViewItem1.Tag.ToString() == "BODY")
x = displayBox.Width / 2;
else if (listViewItem1.Tag.ToString() == "ARM0")
x = 178;
else if (listViewItem1.Tag.ToString() == "ARM1")
x = 228;
else if (listViewItem1.Tag.ToString() == "LEG0")
x = 193;
else if (listViewItem1.Tag.ToString() == "LEG1")
x = 213;
bool flag = false;
int index = listViewItem1.Index;
foreach (ListViewItem listViewItem2 in this.listViewBoxes.Items)
{
if (listViewItem2.SubItems[9].Text == "unchecked")
{
int y = 0;
if (listViewItem2.Tag.ToString() == "HEAD")
y = displayBox.Width / 2;
else if (listViewItem2.Tag.ToString() == "BODY")
y = displayBox.Width / 2;
else if (listViewItem2.Tag.ToString() == "ARM0")
y = 178;
else if (listViewItem2.Tag.ToString() == "ARM1")
y = 228;
else if (listViewItem2.Tag.ToString() == "LEG0")
y = 193;
else if (listViewItem2.Tag.ToString() == "LEG1")
y = 213;
if ((int)double.Parse(listViewItem1.SubItems[1].Text) + (int)double.Parse(listViewItem1.SubItems[4].Text) - x > (int)double.Parse(listViewItem2.SubItems[1].Text) + (int)double.Parse(listViewItem2.SubItems[4].Text) + y && listViewItem2.Index + 1 < this.listViewBoxes.Items.Count + 1)
{
index = listViewItem2.Index + 1;
flag = true;
}
}
}
listViewItem1.SubItems[9].Text = "checked";
checkedItems += 1;
if (flag == true)
{
ListViewItem listViewItem2 = (ListViewItem)listViewItem1.Clone();
this.listViewBoxes.Items.Insert(index, listViewItem2);
if (listViewBoxes.SelectedItems.Count != 0)
{
if (selected.Index == listViewItem1.Index)
{
selected = listViewItem2;
}
}
listViewItem1.Remove();
}
}
else
{
checkedItems += 1;
}
}
} while (checkedItems < listViewBoxes.Items.Count);
}
foreach (ListViewItem listViewItem in this.listViewBoxes.Items)
listViewItem.SubItems[9].Text = "unchecked";
}
catch (Exception ex)
{
}
}
//Loads Columns
private void generateModel_Load(object sender, EventArgs e)
{
this.render();
this.listViewBoxes.Columns.Add("Part", 50);
this.listViewBoxes.Columns.Add("Xc", 25);
this.listViewBoxes.Columns.Add("Yc", 25);
this.listViewBoxes.Columns.Add("Zc", 25);
this.listViewBoxes.Columns.Add("Xf", 25);
this.listViewBoxes.Columns.Add("Yf", 25);
this.listViewBoxes.Columns.Add("Zf", 25);
this.listViewBoxes.Columns.Add("Xo", 25);
this.listViewBoxes.Columns.Add("Yo", 25);
}
//Creates Item
private void createToolStripMenuItem_Click(object sender, EventArgs e)
{
ListViewItem part = new ListViewItem();
part.Text = "New Part";
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, "0"));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, "0"));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, "0"));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, "0"));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, "0"));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, "0"));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, "0"));
part.SubItems.Add(new ListViewItem.ListViewSubItem(part, "0"));
listViewBoxes.Items.Add(part);
render();
}
//Manages the selection of a item
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listViewBoxes.SelectedItems.Count != 0)
{
selected = listViewBoxes.SelectedItems[0];
try
{
try
{
this.comboParent.Text = this.selected.Tag.ToString();
}
catch (Exception ex)
{
this.comboParent.Text = "";
}
this.textXc.Text = this.selected.SubItems[1].Text;
this.textYc.Text = this.selected.SubItems[2].Text;
this.textZc.Text = this.selected.SubItems[3].Text;
this.textXf.Text = this.selected.SubItems[4].Text;
this.textYf.Text = this.selected.SubItems[5].Text;
this.textZf.Text = this.selected.SubItems[6].Text;
this.textTextureX.Text = this.selected.SubItems[7].Text;
this.textTextureY.Text = this.selected.SubItems[8].Text;
}
catch (Exception ex)
{
}
if (this.comboParent.Text == "")
{
this.comboParent.Enabled = true;
this.buttonIMPORT.Enabled = false;
this.buttonEXPORT.Enabled = false;
this.textXc.Enabled = false;
this.textYc.Enabled = false;
this.textZc.Enabled = false;
this.textXf.Enabled = false;
this.textYf.Enabled = false;
this.textZf.Enabled = false;
this.textTextureX.Enabled = false;
this.textTextureY.Enabled = false;
this.buttonXcminus.Enabled = false;
this.buttonYcminus.Enabled = false;
this.buttonZcminus.Enabled = false;
this.buttonXcplus.Enabled = false;
this.buttonYcplus.Enabled = false;
this.buttonZcplus.Enabled = false;
this.buttonXfminus.Enabled = false;
this.buttonYfminus.Enabled = false;
this.buttonZfminus.Enabled = false;
this.buttonXfplus.Enabled = false;
this.buttonYfplus.Enabled = false;
this.buttonZfplus.Enabled = false;
}
else
{
this.buttonIMPORT.Enabled = true;
this.buttonEXPORT.Enabled = true;
this.textXc.Enabled = true;
this.textYc.Enabled = true;
this.textZc.Enabled = true;
this.textXf.Enabled = true;
this.textYf.Enabled = true;
this.textZf.Enabled = true;
this.textTextureX.Enabled = true;
this.textTextureY.Enabled = true;
this.buttonXcminus.Enabled = true;
this.buttonYcminus.Enabled = true;
this.buttonZcminus.Enabled = true;
this.buttonXcplus.Enabled = true;
this.buttonYcplus.Enabled = true;
this.buttonZcplus.Enabled = true;
this.buttonXfminus.Enabled = true;
this.buttonYfminus.Enabled = true;
this.buttonZfminus.Enabled = true;
this.buttonXfplus.Enabled = true;
this.buttonYfplus.Enabled = true;
this.buttonZfplus.Enabled = true;
}
this.render();
}
else
{
}
}
//Changes Item Model Class
private void comboParent_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
this.selected.Tag = (object)this.comboParent.Text;
if (this.comboParent.Text != "")
{
this.buttonIMPORT.Enabled = true;
this.buttonEXPORT.Enabled = true;
this.textXc.Enabled = true;
this.textYc.Enabled = true;
this.textZc.Enabled = true;
this.textXf.Enabled = true;
this.textYf.Enabled = true;
this.textZf.Enabled = true;
this.textTextureX.Enabled = true;
this.textTextureY.Enabled = true;
this.buttonXcminus.Enabled = true;
this.buttonYcminus.Enabled = true;
this.buttonZcminus.Enabled = true;
this.buttonXcplus.Enabled = true;
this.buttonYcplus.Enabled = true;
this.buttonZcplus.Enabled = true;
this.buttonXfminus.Enabled = true;
this.buttonYfminus.Enabled = true;
this.buttonZfminus.Enabled = true;
this.buttonXfplus.Enabled = true;
this.buttonYfplus.Enabled = true;
this.buttonZfplus.Enabled = true;
}
}
catch (Exception ex)
{
}
render();
}
private void textBoxFailCheck(TextBox textBox)
{
try
{
textBox.Text = double.Parse(textBox.Text).ToString();
}
catch (Exception ex)
{
textBox.Text = "0";
}
}
//X-Size Change
private void textXf_TextChanged(object sender, EventArgs e)
{
try
{
this.selected.SubItems[4].Text = double.Parse(this.textXf.Text).ToString();
}
catch (Exception ex)
{
}
render();
}
//Y-Size Change
private void textYf_TextChanged(object sender, EventArgs e)
{
try
{
this.selected.SubItems[5].Text = double.Parse(this.textYf.Text).ToString();
}
catch (Exception ex)
{
}
render();
}
//Z-Size Change
private void textZf_TextChanged(object sender, EventArgs e)
{
try
{
this.selected.SubItems[6].Text = double.Parse(this.textZf.Text).ToString();
}
catch (Exception ex)
{
}
render();
}
//X-Position Change
private void textXc_TextChanged(object sender, EventArgs e)
{
try
{
this.selected.SubItems[1].Text = double.Parse(this.textXc.Text).ToString();
}
catch (Exception ex)
{
}
render();
}
//Y-Position Change
private void textYc_TextChanged(object sender, EventArgs e)
{
try
{
this.selected.SubItems[2].Text = double.Parse(this.textYc.Text).ToString();
}
catch (Exception ex)
{
}
render();
}
//Z-Position Change
private void textZc_TextChanged(object sender, EventArgs e)
{
try
{
this.selected.SubItems[3].Text = double.Parse(this.textZc.Text).ToString();
}
catch (Exception ex)
{
}
render();
}
//Increases X-Size
private void buttonXfplus_Click(object sender, EventArgs e)
{
try
{
this.textXf.Text = ((int)double.Parse(this.textXf.Text) + 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Decreases X-Size
private void buttonXfminus_Click(object sender, EventArgs e)
{
try
{
this.textXf.Text = ((int)double.Parse(this.textXf.Text) - 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Increases Y-Size
private void buttonYfplus_Click(object sender, EventArgs e)
{
try
{
this.textYf.Text = ((int)double.Parse(this.textYf.Text) + 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Decreases Y-Size
private void buttonYfminus_Click(object sender, EventArgs e)
{
try
{
this.textYf.Text = ((int)double.Parse(this.textYf.Text) - 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Increases Z-Size
private void buttonZfplus_Click(object sender, EventArgs e)
{
try
{
this.textZf.Text = ((int)double.Parse(this.textZf.Text) + 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Decreases Z-Size
private void buttonZfminus_Click(object sender, EventArgs e)
{
try
{
this.textZf.Text = ((int)double.Parse(this.textZf.Text) - 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Increases X-Position
private void buttonXcplus_Click(object sender, EventArgs e)
{
try
{
this.textXc.Text = ((int)double.Parse(this.textXc.Text) + 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Decreases X-Position
private void buttonXcminus_Click(object sender, EventArgs e)
{
try
{
this.textXc.Text = ((int)double.Parse(this.textXc.Text) - 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Increases Y-Position
private void buttonYcplus_Click(object sender, EventArgs e)
{
try
{
this.textYc.Text = ((int)double.Parse(this.textYc.Text) + 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Decreases Y-Position
private void buttonYcminus_Click(object sender, EventArgs e)
{
try
{
this.textYc.Text = ((int)double.Parse(this.textYc.Text) - 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Increases Z-Position
private void buttonZcplus_Click(object sender, EventArgs e)
{
try
{
this.textZc.Text = ((int)double.Parse(this.textZc.Text) + 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Decreases Z-Position
private void buttonZcminus_Click(object sender, EventArgs e)
{
try
{
this.textZc.Text = ((int)double.Parse(this.textZc.Text) - 1).ToString();
}
catch (Exception ex)
{
}
render();
}
//Rotates View Right
private void button1_Click(object sender, EventArgs e)
{
if (this.direction == "front")
this.direction = "left";
else if (this.direction == "left")
this.direction = "back";
else if (this.direction == "back")
this.direction = "right";
else if (this.direction == "right")
this.direction = "front";
render();
}
//Rotates View Left
private void button2_Click(object sender, EventArgs e)
{
if (this.direction == "front")
this.direction = "right";
else if (this.direction == "right")
this.direction = "back";
else if (this.direction == "back")
this.direction = "left";
else if (this.direction == "left")
this.direction = "front";
render();
}
//Sets Texture X-Offset
private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
double.Parse(this.textTextureX.Text);
}
catch (Exception ex1)
{
try
{
this.textTextureX.Text = this.textTextureX.Text.Remove(this.textTextureX.Text.Count<char>() - 1, 1);
}
catch (Exception ex2)
{
}
}
try
{
this.selected.SubItems[7].Text = double.Parse(this.textTextureX.Text).ToString();
}
catch (Exception ex)
{
this.selected.SubItems[7].Text = 0.ToString();
}
render();
}
//Sets texture Y-Offset
private void textTextureY_TextChanged(object sender, EventArgs e)
{
try
{
double.Parse(this.textTextureY.Text);
}
catch (Exception ex1)
{
try
{
this.textTextureY.Text = this.textTextureY.Text.Remove(this.textTextureY.Text.Count<char>() - 1, 1);
}
catch (Exception ex2)
{
}
}
try
{
this.selected.SubItems[8].Text = double.Parse(this.textTextureY.Text).ToString();
}
catch (Exception ex)
{
this.selected.SubItems[8].Text = 0.ToString();
}
render();
}
//Export Current Skin Texture
private void buttonEXPORT_Click(object sender, EventArgs e)
{
Bitmap bitmap = new Bitmap(this.texturePreview.Image, 64, 64);
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "PNG Image Files | *.png";
if (saveFileDialog.ShowDialog() != DialogResult.OK)
return;
bitmap.Save(saveFileDialog.FileName, ImageFormat.Png);
}
//Imports Skin Texture
private void buttonIMPORT_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "PNG Image Files | *.png";
openFileDialog.Title = "Select Skin Texture";
if (openFileDialog.ShowDialog() == DialogResult.OK && Image.FromFile(openFileDialog.FileName).Width == Image.FromFile(openFileDialog.FileName).Height)
{
checkTextureGenerate.Checked = false;
Bitmap bitmap = new Bitmap(64, 64);
using (Graphics graphics = Graphics.FromImage((Image)bitmap))
{
graphics.DrawImage(Image.FromFile(openFileDialog.FileName), 0, 0, 64, 64);
graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
}
this.texturePreview.Image = (Image)bitmap;
}
render();
}
//Creates Model Data and Finalizes
private void buttonDone_Click(object sender, EventArgs e)
{
boxes.Clear();
Bitmap bitmap1 = new Bitmap(this.displayBox.Width, this.displayBox.Height);
foreach (ListViewItem listViewItem in listViewBoxes.Items)
{
boxes.Add(new object[2] { "BOX", listViewItem.Tag.ToString() + " " + listViewItem.SubItems[1].Text + " " + listViewItem.SubItems[2].Text + " " + listViewItem.SubItems[3].Text + " " + listViewItem.SubItems[4].Text + " " + listViewItem.SubItems[5].Text + " " + listViewItem.SubItems[6].Text + " " + listViewItem.SubItems[7].Text + " " + listViewItem.SubItems[8].Text });
//mf.entries.Add(new object[2] { (object) "BOX", new ListViewItem() { Tag = ((object) (listViewItem.Tag.ToString() + " " + listViewItem.SubItems[1].Text + " " + listViewItem.SubItems[2].Text + " " + listViewItem.SubItems[3].Text + " " + listViewItem.SubItems[4].Text + " " + listViewItem.SubItems[5].Text + " " + listViewItem.SubItems[6].Text + " " + listViewItem.SubItems[7].Text + " " + listViewItem.SubItems[8].Text)) }.Tag });
using (Graphics graphics = Graphics.FromImage((Image)bitmap1))
{
int x = 0;
int y = 0;
try
{
if (listViewItem.Tag.ToString() == "HEAD")
{
x = 80;
y = 16 + (int)double.Parse(this.offsetHead.Text) * 5 + 40;
}
else if (listViewItem.Tag.ToString() == "BODY")
{
x = 80;
y = 56 + (int)double.Parse(this.offsetBody.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "ARM0")
{
x = 55;
y = 56 + (int)double.Parse(this.offsetArms.Text) * 5 + 10;
}
else if (listViewItem.Tag.ToString() == "ARM1")
{
x = 105;
y = 55 + (int)double.Parse(this.offsetArms.Text) * 5 + 10;
}
else if (listViewItem.Tag.ToString() == "LEG0")
{
x = 70;
y = 116 + (int)double.Parse(this.offsetLegs.Text) * 5;
}
else if (listViewItem.Tag.ToString() == "LEG1")
{
x = 90;
y = 116 + (int)double.Parse(this.offsetLegs.Text) * 5;
}
graphics.FillRectangle((Brush)new SolidBrush(listViewItem.ForeColor), x + (int)double.Parse(listViewItem.SubItems[1].Text) * 5, y + (int)double.Parse(listViewItem.SubItems[2].Text) * 5, (int)double.Parse(listViewItem.SubItems[4].Text) * 5, (int)double.Parse(listViewItem.SubItems[5].Text) * 5);
listViewItem.Remove();
}
catch (Exception ex)
{
}
}
}
//Body Offsets
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("HEAD Y " + this.offsetHead.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("BODY Y " + this.offsetBody.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("ARM0 Y " + this.offsetArms.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("ARM1 Y " + this.offsetArms.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("LEG0 Y " + this.offsetLegs.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("LEG1 Y " + this.offsetLegs.Text)) }.Tag });
//Armor Offsets
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("HELMET Y " + this.offsetHelmet.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("TOOL0 Y " + this.offsetTool.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("TOOL1 Y " + this.offsetTool.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("PANTS0 Y " + this.offsetPants.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("PANTS1 Y " + this.offsetPants.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("BOOTS0 Y " + this.offsetBoots.Text)) }.Tag });
boxes.Add(new object[2] { (object)"OFFSET", new ListViewItem() { Tag = ((object)("BOOTS1 Y " + this.offsetBoots.Text)) }.Tag });
Bitmap bitmap2 = new Bitmap(64, 64);
using (Graphics graphics = Graphics.FromImage((Image)bitmap2))
{
graphics.DrawImage(texturePreview.Image, 0, 0, 64, 64);
graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
}
texturePreview.Image = (Image)bitmap2;
try
{
using (FileStream stream = new FileStream(Application.StartupPath + "\\temp.png", FileMode.Create, FileAccess.Write))
{
bitmap2.Save(stream, ImageFormat.Png);
stream.Close();
stream.Dispose();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
skinPreview.Image = (Image)bitmap1;
Close();
}
//Renders model after texture change
private void texturePreview_BackgroundImageChanged(object sender, EventArgs e)
{
render();
}
//Deciphers wether to auto-generate model texture or not
private void checkTextureGenerate_CheckedChanged(object sender, EventArgs e)
{
if (this.autoTexture)
this.autoTexture = false;
else
this.autoTexture = true;
}
//Trigger Dialog to select model part/item color
private void listView1_DoubleClick(object sender, EventArgs e)
{
ColorDialog colorDialog = new ColorDialog();
int num = (int)colorDialog.ShowDialog();
this.selected.ForeColor = colorDialog.Color;
render();
}
//Re-renders head with updated x-offset
private void offsetHead_TextChanged(object sender, EventArgs e)
{
render();
}
//Re-renders body with updated x-offset
private void offsetBody_TextAlignChanged(object sender, EventArgs e)
{
render();
}
//Loads in model template(Steve)
private void buttonTemplate_Click(object sender, EventArgs e)
{
ListViewItem owner = new ListViewItem();
owner.Text = "HEAD";
owner.SubItems.Add(new ListViewItem.ListViewSubItem(owner, "-4"));
owner.SubItems.Add(new ListViewItem.ListViewSubItem(owner, "-8"));
owner.SubItems.Add(new ListViewItem.ListViewSubItem(owner, "-4"));
owner.SubItems.Add(new ListViewItem.ListViewSubItem(owner, "8"));
owner.SubItems.Add(new ListViewItem.ListViewSubItem(owner, "8"));
owner.SubItems.Add(new ListViewItem.ListViewSubItem(owner, "8"));
owner.SubItems.Add(new ListViewItem.ListViewSubItem(owner, "0"));
owner.SubItems.Add(new ListViewItem.ListViewSubItem(owner, "0"));
owner.Tag = (object)"HEAD";
owner.ForeColor = Color.Yellow;
this.listViewBoxes.Items.Add(owner);
this.listViewBoxes.Items.Add(new ListViewItem()
{
Text = "BODY",
SubItems = {
new ListViewItem.ListViewSubItem(owner, "-4"),
new ListViewItem.ListViewSubItem(owner, "0"),
new ListViewItem.ListViewSubItem(owner, "-2"),
new ListViewItem.ListViewSubItem(owner, "8"),
new ListViewItem.ListViewSubItem(owner, "12"),
new ListViewItem.ListViewSubItem(owner, "4"),
new ListViewItem.ListViewSubItem(owner, "16"),
new ListViewItem.ListViewSubItem(owner, "16")
},
Tag = (object)"BODY",
ForeColor = Color.Violet
});
this.listViewBoxes.Items.Add(new ListViewItem()
{
Text = "ARM0",
SubItems = {
new ListViewItem.ListViewSubItem(owner, "-3"),
new ListViewItem.ListViewSubItem(owner, "-2"),
new ListViewItem.ListViewSubItem(owner, "-2"),
new ListViewItem.ListViewSubItem(owner, "4"),
new ListViewItem.ListViewSubItem(owner, "12"),
new ListViewItem.ListViewSubItem(owner, "4"),
new ListViewItem.ListViewSubItem(owner, "40"),
new ListViewItem.ListViewSubItem(owner, "16")
},
Tag = (object)"ARM0",
ForeColor = Color.SkyBlue
});
this.listViewBoxes.Items.Add(new ListViewItem()
{
Text = "ARM1",
SubItems = {
new ListViewItem.ListViewSubItem(owner, "-1"),
new ListViewItem.ListViewSubItem(owner, "-2"),
new ListViewItem.ListViewSubItem(owner, "-2"),
new ListViewItem.ListViewSubItem(owner, "4"),
new ListViewItem.ListViewSubItem(owner, "12"),
new ListViewItem.ListViewSubItem(owner, "4"),
new ListViewItem.ListViewSubItem(owner, "40"),
new ListViewItem.ListViewSubItem(owner, "16")
},
Tag = (object)"ARM1",
ForeColor = Color.SkyBlue
});
this.listViewBoxes.Items.Add(new ListViewItem()
{
Text = "LEG0",
SubItems = {
new ListViewItem.ListViewSubItem(owner, "-2"),
new ListViewItem.ListViewSubItem(owner, "0"),
new ListViewItem.ListViewSubItem(owner, "-2"),
new ListViewItem.ListViewSubItem(owner, "4"),
new ListViewItem.ListViewSubItem(owner, "12"),
new ListViewItem.ListViewSubItem(owner, "4"),
new ListViewItem.ListViewSubItem(owner, "0"),
new ListViewItem.ListViewSubItem(owner, "16")
},
Tag = (object)"LEG0",
ForeColor = Color.SpringGreen
});
this.listViewBoxes.Items.Add(new ListViewItem()
{
Text = "LEG1",
SubItems = {
new ListViewItem.ListViewSubItem(owner, "-2"),
new ListViewItem.ListViewSubItem(owner, "0"),
new ListViewItem.ListViewSubItem(owner, "-2"),
new ListViewItem.ListViewSubItem(owner, "4"),
new ListViewItem.ListViewSubItem(owner, "12"),
new ListViewItem.ListViewSubItem(owner, "4"),
new ListViewItem.ListViewSubItem(owner, "0"),
new ListViewItem.ListViewSubItem(owner, "16")
},
Tag = (object)"LEG1",
ForeColor = Color.SpringGreen
});
this.comboParent.Enabled = true;
render();
}
//Exports model (int)doubleo reusable project file
private void buttonExportModel_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Custom Skin Model File | *.CSM";
if (saveFileDialog.ShowDialog() != DialogResult.OK)
return;
string contents = "";
foreach (ListViewItem listViewItem in this.listViewBoxes.Items)
{
string str = "";
foreach (ListViewItem.ListViewSubItem subItem in listViewItem.SubItems)
{
if (subItem.Text != "unchecked")
str = str + subItem.Text + Environment.NewLine;
}
contents = contents + (listViewItem.Text + Environment.NewLine + listViewItem.Tag) + Environment.NewLine + str;
}
File.WriteAllText(saveFileDialog.FileName, contents);
}
//Imports model from reusable project file
private void buttonImportModel_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Custom Skin Model File | *.CSM";
openFileDialog.Title = "Select Custom Skin Model File";
if (MessageBox.Show("Import custom model project file? Your current work will be lost!", "", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) == DialogResult.Yes && openFileDialog.ShowDialog() == DialogResult.OK)
{
this.listViewBoxes.Items.Clear();
string str1 = File.ReadAllText(openFileDialog.FileName);
int x = 0;
foreach (string str2 in str1.Split("\n\r".ToCharArray(), StringSplitOptions.RemoveEmptyEntries))
++x;
int y = x / 11;
ListView listView = new ListView();
int num3 = 0;
do
{
listView.Items.Add("BOX");
++num3;
}
while (num3 < y);
IEnumerator enumerator = listView.Items.GetEnumerator();
try
{
label_33:
if (enumerator.MoveNext())
{
ListViewItem current = (ListViewItem)enumerator.Current;
ListViewItem listViewItem = new ListViewItem();
int num4 = 0;
do
{
foreach (string text in str1.Split("\n\r".ToCharArray(), StringSplitOptions.RemoveEmptyEntries))
{
++num4;
if (num4 == 1 + 11 * current.Index)
listViewItem.Text = text;
else if (num4 == 2 + 11 * current.Index)
listViewItem.Tag = (object)text;
else if (num4 == 4 + 11 * current.Index)
listViewItem.SubItems.Add(text);
else if (num4 == 5 + 11 * current.Index)
listViewItem.SubItems.Add(text);
else if (num4 == 6 + 11 * current.Index)
listViewItem.SubItems.Add(text);
else if (num4 == 7 + 11 * current.Index)
listViewItem.SubItems.Add(text);
else if (num4 == 8 + 11 * current.Index)
listViewItem.SubItems.Add(text);
else if (num4 == 9 + 11 * current.Index)
listViewItem.SubItems.Add(text);
else if (num4 == 10 + 11 * current.Index)
listViewItem.SubItems.Add(text);
else if (num4 == 11 + 11 * current.Index)
{
listViewItem.SubItems.Add(text);
this.listViewBoxes.Items.Add(listViewItem);
}
}
}
while (num4 < x);
goto label_33;
}
}
finally
{
IDisposable disposable = enumerator as IDisposable;
if (disposable != null)
disposable.Dispose();
}
}
render();
}
//debug
private void button3_Click(object sender, EventArgs e)
{
this.setZ();
}
//render with guide settings
private void checkGuide_CheckedChanged(object sender, EventArgs e)
{
render();
}
//Clones Item
private void cloneToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
ListViewItem listViewItem = new ListViewItem();
listViewItem.Text = this.selected.Text;
listViewItem.Tag = this.selected.Tag;
int num = 0;
foreach (ListViewItem.ListViewSubItem subItem in this.selected.SubItems)
{
if (num > 0)
listViewItem.SubItems.Add(subItem.Text);
++num;
}
this.listViewBoxes.Items.Add(listViewItem);
}
catch (Exception ex)
{
MessageBox.Show("Please Select a Part");
}
}
//Deletes Item
private void deleteToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
if (selected == null)
return;
this.selected.Remove();
this.render();
}
catch (Exception ex)
{
}
}
//Changes item color
private void changeColorToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
ColorDialog colorDialog = new ColorDialog();
colorDialog.ShowDialog();
this.selected.ForeColor = colorDialog.Color;
this.render();
}
catch (Exception ex)
{
MessageBox.Show("Please Select a Part");
}
}
//Re-renders tool with updated x-offset
private void offsetTool_TextChanged(object sender, EventArgs e)
{
render();
}
//Re-renders helmet with updated x-offset
private void offsetHelmet_TextChanged(object sender, EventArgs e)
{
render();
}
//Re-renders pants with updated x-offset
private void offsetPants_TextChanged(object sender, EventArgs e)
{
render();
}
//Re-renders leggings with updated x-offset
private void offsetLeggings_TextChanged(object sender, EventArgs e)
{
render();
}
//Re-renders boots with updated x-offset
private void offsetBoots_TextChanged(object sender, EventArgs e)
{
render();
}
//Toggles armor position overylay view
private void checkBoxArmor_Click(object sender, EventArgs e)
{
render();
}
//Item Selection
private void listView1_Click(object sender, EventArgs e)
{
try
{
selected = listViewBoxes.SelectedItems[0];
}
catch (Exception)
{
}
render();
}
//currently scrapped
private void generateModel_FormClosing(object sender, FormClosingEventArgs e)
{/*
if (MessageBox.Show("You done here?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
{
e.Cancel = true;
return;
}
e.Cancel = false;*/
}
//Del stuff using key
private void delStuffUsingDelKey(object sender, KeyEventArgs e)
{
if (e.KeyValue == (char)Keys.Delete)
{
this.selected.Remove();
this.render();
}
}
private void generateModel_ResizeBegin(object sender, EventArgs e)
{
}
private void generateModel_ResizeEnd(object sender, EventArgs e)
{
//ResizeWidth(this.Width);
//ResizeHeight(this.Height);
}
public void ResizeWidth(int newWidth, int newHeight)
{
this.Width = (int)((double)newHeight * (double)((double)839 / (double)750));
this.Height = newHeight;
int newDisplayHeight = newHeight - 170;
displayBox.Width = (int)((double)newDisplayHeight * (double)((double)530 / (double)580));
displayBox.Height = newDisplayHeight;
}
private void generateModel_SizeChanged(object sender, EventArgs e)
{
ResizeWidth(this.Width, this.Height);
render();
}
private void listViewBGs_ItemActivate(object sender, EventArgs e)
{
}
private void listViewBGs_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void listViewBGs_Click(object sender, EventArgs e)
{
try
{
backgroundColor = listViewBGs.SelectedItems[0].BackColor;
render();
}
catch (Exception)
{
}
}
private void textXc_Leave(object sender, EventArgs e)
{
textBoxFailCheck((TextBox)sender);
}
}
}