Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8c8d6b10f7 | ||
|
|
12138a2807 | ||
|
|
c8adb29d73 | ||
|
|
2145f7a337 | ||
|
|
50783c0d71 | ||
|
|
4b3f6a7d53 | ||
|
|
296e261135 | ||
|
|
47a78bc9c1 | ||
|
|
306a8ed808 | ||
|
|
70d7680cf0 |
@@ -1,6 +1,6 @@
|
||||
namespace AnimationEditor
|
||||
{
|
||||
partial class Form1
|
||||
partial class AnimationEditor
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
@@ -28,19 +28,17 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AnimationEditor));
|
||||
this.loadSpriteSheetDialog = new System.Windows.Forms.OpenFileDialog();
|
||||
this.loadSpriteMapDialog = new System.Windows.Forms.OpenFileDialog();
|
||||
this.spriteListBox = new System.Windows.Forms.ListBox();
|
||||
this.spriteMapListBox = new System.Windows.Forms.ListBox();
|
||||
this.frameListBox = new System.Windows.Forms.ListBox();
|
||||
this.addSpriteToFrameListButton = new System.Windows.Forms.Button();
|
||||
this.frameTrackBar = new System.Windows.Forms.TrackBar();
|
||||
this.delayInputBox = new System.Windows.Forms.NumericUpDown();
|
||||
this.animationBox = new System.Windows.Forms.ComboBox();
|
||||
this.animationNameBox = new System.Windows.Forms.TextBox();
|
||||
this.playAnimationButton = new System.Windows.Forms.Button();
|
||||
this.removeFrameButton = new System.Windows.Forms.Button();
|
||||
this.moveFrameUpButton = new System.Windows.Forms.Button();
|
||||
this.moveFrameDownButton = new System.Windows.Forms.Button();
|
||||
this.mainMenuStrip = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.loadSpriteSheetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -54,13 +52,12 @@
|
||||
this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.undoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.redoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.updateAnimationSpritesFromSpriteMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.animationLoopCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.saveAnimationDialog = new System.Windows.Forms.SaveFileDialog();
|
||||
this.saveAnimationSetDialog = new System.Windows.Forms.SaveFileDialog();
|
||||
this.loadAnimationDialog = new System.Windows.Forms.OpenFileDialog();
|
||||
this.addAnimationButton = new System.Windows.Forms.Button();
|
||||
this.removeAnimationButton = new System.Windows.Forms.Button();
|
||||
this.frameEditorPanel = new System.Windows.Forms.Panel();
|
||||
this.frameNameBox = new System.Windows.Forms.TextBox();
|
||||
this.frameSpritePanel = new System.Windows.Forms.Panel();
|
||||
@@ -70,13 +67,9 @@
|
||||
this.spriteXPosLabel = new System.Windows.Forms.Label();
|
||||
this.spriteYPosBox = new System.Windows.Forms.NumericUpDown();
|
||||
this.spriteXPosBox = new System.Windows.Forms.NumericUpDown();
|
||||
this.removeSpriteButton = new System.Windows.Forms.Button();
|
||||
this.moveSpriteUpButton = new System.Windows.Forms.Button();
|
||||
this.moveSpriteDownButton = new System.Windows.Forms.Button();
|
||||
this.frameSpriteListBox = new System.Windows.Forms.ListBox();
|
||||
this.frameSpriteListLabel = new System.Windows.Forms.Label();
|
||||
this.replaceSpriteButton = new System.Windows.Forms.Button();
|
||||
this.addSpriteToFrameSpritesButton = new System.Windows.Forms.Button();
|
||||
this.importDelayLabel = new System.Windows.Forms.Label();
|
||||
this.importValuesLabel = new System.Windows.Forms.Label();
|
||||
this.importDelayBox = new System.Windows.Forms.NumericUpDown();
|
||||
@@ -85,14 +78,25 @@
|
||||
this.frameInfoLabel = new System.Windows.Forms.Label();
|
||||
this.frameBoxLabel = new System.Windows.Forms.Label();
|
||||
this.spriteBoxLabel = new System.Windows.Forms.Label();
|
||||
this.spritePreview = new System.Windows.Forms.PictureBox();
|
||||
this.duplicateFrameButton = new System.Windows.Forms.Button();
|
||||
this.addEmptyFrameButton = new System.Windows.Forms.Button();
|
||||
this.animationPanel = new System.Windows.Forms.Panel();
|
||||
this.animationNameLabel = new System.Windows.Forms.Label();
|
||||
this.animationLabel = new System.Windows.Forms.Label();
|
||||
this.animationPreview = new global::AnimationEditor.AnimationPreview();
|
||||
this.loadAnimationSetDialog = new System.Windows.Forms.OpenFileDialog();
|
||||
this.animationPreview = new AnimationEditor.AnimationPreview();
|
||||
this.toolTip = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.addAnimationButton = new System.Windows.Forms.Button();
|
||||
this.removeAnimationButton = new System.Windows.Forms.Button();
|
||||
this.removeSpriteButton = new System.Windows.Forms.Button();
|
||||
this.moveSpriteUpButton = new System.Windows.Forms.Button();
|
||||
this.moveSpriteDownButton = new System.Windows.Forms.Button();
|
||||
this.addSpriteToFrameSpritesButton = new System.Windows.Forms.Button();
|
||||
this.addSpriteToFrameListButton = new System.Windows.Forms.Button();
|
||||
this.spritePreview = new System.Windows.Forms.PictureBox();
|
||||
this.moveFrameDownButton = new System.Windows.Forms.Button();
|
||||
this.moveFrameUpButton = new System.Windows.Forms.Button();
|
||||
this.duplicateFrameButton = new System.Windows.Forms.Button();
|
||||
this.addEmptyFrameButton = new System.Windows.Forms.Button();
|
||||
this.removeFrameButton = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.frameTrackBar)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.delayInputBox)).BeginInit();
|
||||
this.mainMenuStrip.SuspendLayout();
|
||||
@@ -102,8 +106,8 @@
|
||||
((System.ComponentModel.ISupportInitialize)(this.spriteYPosBox)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spriteXPosBox)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.importDelayBox)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spritePreview)).BeginInit();
|
||||
this.animationPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spritePreview)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// loadSpriteSheetDialog
|
||||
@@ -118,17 +122,18 @@
|
||||
this.loadSpriteMapDialog.FileName = "openFileDialog1";
|
||||
this.loadSpriteMapDialog.Filter = "QUROGames SpriteMap|*smap";
|
||||
//
|
||||
// spriteListBox
|
||||
// spriteMapListBox
|
||||
//
|
||||
this.spriteListBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
this.spriteMapListBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.spriteListBox.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.spriteListBox.FormattingEnabled = true;
|
||||
this.spriteListBox.Location = new System.Drawing.Point(5, 62);
|
||||
this.spriteListBox.Name = "spriteListBox";
|
||||
this.spriteListBox.Size = new System.Drawing.Size(119, 277);
|
||||
this.spriteListBox.TabIndex = 3;
|
||||
this.spriteListBox.SelectedIndexChanged += new System.EventHandler(this.spriteListBox_SelectedIndexChanged);
|
||||
this.spriteMapListBox.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.spriteMapListBox.FormattingEnabled = true;
|
||||
this.spriteMapListBox.Location = new System.Drawing.Point(6, 64);
|
||||
this.spriteMapListBox.Name = "spriteMapListBox";
|
||||
this.spriteMapListBox.Size = new System.Drawing.Size(119, 290);
|
||||
this.spriteMapListBox.TabIndex = 3;
|
||||
this.toolTip.SetToolTip(this.spriteMapListBox, "Available Sprites from loaded SpriteMap");
|
||||
this.spriteMapListBox.SelectedIndexChanged += new System.EventHandler(this.spriteListBox_SelectedIndexChanged);
|
||||
//
|
||||
// frameListBox
|
||||
//
|
||||
@@ -136,61 +141,57 @@
|
||||
this.frameListBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.frameListBox.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.frameListBox.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
|
||||
this.frameListBox.FormattingEnabled = true;
|
||||
this.frameListBox.Location = new System.Drawing.Point(163, 41);
|
||||
this.frameListBox.Location = new System.Drawing.Point(164, 41);
|
||||
this.frameListBox.Name = "frameListBox";
|
||||
this.frameListBox.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
|
||||
this.frameListBox.Size = new System.Drawing.Size(120, 160);
|
||||
this.frameListBox.Size = new System.Drawing.Size(120, 134);
|
||||
this.frameListBox.TabIndex = 4;
|
||||
this.toolTip.SetToolTip(this.frameListBox, "Frames in Current Animation");
|
||||
this.frameListBox.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.frameListBox_DrawItem);
|
||||
this.frameListBox.SelectedIndexChanged += new System.EventHandler(this.frameListBox_SelectedIndexChanged);
|
||||
//
|
||||
// addSpriteToFrameListButton
|
||||
//
|
||||
this.addSpriteToFrameListButton.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.addSpriteToFrameListButton.Enabled = false;
|
||||
this.addSpriteToFrameListButton.Location = new System.Drawing.Point(130, 130);
|
||||
this.addSpriteToFrameListButton.Name = "addSpriteToFrameListButton";
|
||||
this.addSpriteToFrameListButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.addSpriteToFrameListButton.TabIndex = 5;
|
||||
this.addSpriteToFrameListButton.Text = "→";
|
||||
this.addSpriteToFrameListButton.UseVisualStyleBackColor = true;
|
||||
this.addSpriteToFrameListButton.Click += new System.EventHandler(this.addSpriteToFrameListButton_Click);
|
||||
//
|
||||
// frameTrackBar
|
||||
//
|
||||
this.frameTrackBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.frameTrackBar.Location = new System.Drawing.Point(3, 339);
|
||||
this.frameTrackBar.Location = new System.Drawing.Point(2, 337);
|
||||
this.frameTrackBar.Name = "frameTrackBar";
|
||||
this.frameTrackBar.Size = new System.Drawing.Size(467, 45);
|
||||
this.frameTrackBar.Size = new System.Drawing.Size(468, 45);
|
||||
this.frameTrackBar.TabIndex = 7;
|
||||
this.frameTrackBar.Scroll += new System.EventHandler(this.frameTrackBar_Scroll);
|
||||
//
|
||||
// delayInputBox
|
||||
//
|
||||
this.delayInputBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.delayInputBox.Location = new System.Drawing.Point(200, 254);
|
||||
this.delayInputBox.Location = new System.Drawing.Point(201, 225);
|
||||
this.delayInputBox.Name = "delayInputBox";
|
||||
this.delayInputBox.Size = new System.Drawing.Size(83, 20);
|
||||
this.delayInputBox.TabIndex = 8;
|
||||
this.toolTip.SetToolTip(this.delayInputBox, "Delay of selected Frames\r\nDelay determines how many additional \"game frames\" the " +
|
||||
"current Frame will be shown for\r\nAssumes the game runs at 60fps");
|
||||
this.delayInputBox.ValueChanged += new System.EventHandler(this.delayInputBox_ValueChanged);
|
||||
//
|
||||
// animationBox
|
||||
//
|
||||
this.animationBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.animationBox.FormattingEnabled = true;
|
||||
this.animationBox.Location = new System.Drawing.Point(72, 0);
|
||||
this.animationBox.Location = new System.Drawing.Point(71, 0);
|
||||
this.animationBox.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
|
||||
this.animationBox.Name = "animationBox";
|
||||
this.animationBox.Size = new System.Drawing.Size(121, 21);
|
||||
this.animationBox.TabIndex = 9;
|
||||
this.toolTip.SetToolTip(this.animationBox, "Currently viewed Animation");
|
||||
this.animationBox.SelectedIndexChanged += new System.EventHandler(this.animationBox_SelectedIndexChanged);
|
||||
//
|
||||
// animationNameBox
|
||||
//
|
||||
this.animationNameBox.Location = new System.Drawing.Point(314, 0);
|
||||
this.animationNameBox.Location = new System.Drawing.Point(313, 0);
|
||||
this.animationNameBox.Name = "animationNameBox";
|
||||
this.animationNameBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.animationNameBox.TabIndex = 10;
|
||||
this.toolTip.SetToolTip(this.animationNameBox, "Name of current Animation");
|
||||
this.animationNameBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.animationNameBox_KeyPress);
|
||||
this.animationNameBox.Leave += new System.EventHandler(this.animationNameBox_Leave);
|
||||
//
|
||||
@@ -198,45 +199,15 @@
|
||||
//
|
||||
this.playAnimationButton.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
|
||||
this.playAnimationButton.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.playAnimationButton.Location = new System.Drawing.Point(200, 371);
|
||||
this.playAnimationButton.Image = global::AnimationEditor.Properties.Resources.play;
|
||||
this.playAnimationButton.Location = new System.Drawing.Point(199, 369);
|
||||
this.playAnimationButton.Name = "playAnimationButton";
|
||||
this.playAnimationButton.Size = new System.Drawing.Size(75, 23);
|
||||
this.playAnimationButton.TabIndex = 11;
|
||||
this.playAnimationButton.Text = "| | / ►";
|
||||
this.toolTip.SetToolTip(this.playAnimationButton, "Play/Pause Animation");
|
||||
this.playAnimationButton.UseVisualStyleBackColor = true;
|
||||
this.playAnimationButton.Click += new System.EventHandler(this.playAnimationButton_Click);
|
||||
//
|
||||
// removeFrameButton
|
||||
//
|
||||
this.removeFrameButton.Location = new System.Drawing.Point(257, 18);
|
||||
this.removeFrameButton.Name = "removeFrameButton";
|
||||
this.removeFrameButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.removeFrameButton.TabIndex = 12;
|
||||
this.removeFrameButton.Text = "X";
|
||||
this.removeFrameButton.UseVisualStyleBackColor = true;
|
||||
this.removeFrameButton.Click += new System.EventHandler(this.removeFrameButton_Click);
|
||||
//
|
||||
// moveFrameUpButton
|
||||
//
|
||||
this.moveFrameUpButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.moveFrameUpButton.Location = new System.Drawing.Point(226, 18);
|
||||
this.moveFrameUpButton.Name = "moveFrameUpButton";
|
||||
this.moveFrameUpButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.moveFrameUpButton.TabIndex = 13;
|
||||
this.moveFrameUpButton.Text = "↑";
|
||||
this.moveFrameUpButton.UseVisualStyleBackColor = true;
|
||||
this.moveFrameUpButton.Click += new System.EventHandler(this.moveFrameUpButton_Click);
|
||||
//
|
||||
// moveFrameDownButton
|
||||
//
|
||||
this.moveFrameDownButton.Location = new System.Drawing.Point(194, 18);
|
||||
this.moveFrameDownButton.Name = "moveFrameDownButton";
|
||||
this.moveFrameDownButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.moveFrameDownButton.TabIndex = 14;
|
||||
this.moveFrameDownButton.Text = "↓";
|
||||
this.moveFrameDownButton.UseVisualStyleBackColor = true;
|
||||
this.moveFrameDownButton.Click += new System.EventHandler(this.moveFrameDownButton_Click);
|
||||
//
|
||||
// mainMenuStrip
|
||||
//
|
||||
this.mainMenuStrip.BackColor = System.Drawing.SystemColors.Control;
|
||||
@@ -326,6 +297,7 @@
|
||||
this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.undoToolStripMenuItem,
|
||||
this.redoToolStripMenuItem,
|
||||
this.toolStripMenuItem1,
|
||||
this.updateAnimationSpritesFromSpriteMapToolStripMenuItem});
|
||||
this.editToolStripMenuItem.Enabled = false;
|
||||
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
|
||||
@@ -334,18 +306,25 @@
|
||||
//
|
||||
// undoToolStripMenuItem
|
||||
//
|
||||
this.undoToolStripMenuItem.Enabled = false;
|
||||
this.undoToolStripMenuItem.Name = "undoToolStripMenuItem";
|
||||
this.undoToolStripMenuItem.Size = new System.Drawing.Size(304, 22);
|
||||
this.undoToolStripMenuItem.Text = "Undo";
|
||||
this.undoToolStripMenuItem.Text = "Undo...";
|
||||
this.undoToolStripMenuItem.Click += new System.EventHandler(this.undoToolStripMenuItem_Click);
|
||||
//
|
||||
// redoToolStripMenuItem
|
||||
//
|
||||
this.redoToolStripMenuItem.Enabled = false;
|
||||
this.redoToolStripMenuItem.Name = "redoToolStripMenuItem";
|
||||
this.redoToolStripMenuItem.Size = new System.Drawing.Size(304, 22);
|
||||
this.redoToolStripMenuItem.Text = "Redo";
|
||||
this.redoToolStripMenuItem.Text = "Redo...";
|
||||
this.redoToolStripMenuItem.Click += new System.EventHandler(this.redoToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(301, 6);
|
||||
//
|
||||
// updateAnimationSpritesFromSpriteMapToolStripMenuItem
|
||||
//
|
||||
this.updateAnimationSpritesFromSpriteMapToolStripMenuItem.Enabled = false;
|
||||
@@ -359,11 +338,12 @@
|
||||
this.animationLoopCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.animationLoopCheckBox.AutoSize = true;
|
||||
this.animationLoopCheckBox.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.animationLoopCheckBox.Location = new System.Drawing.Point(420, 2);
|
||||
this.animationLoopCheckBox.Location = new System.Drawing.Point(418, 2);
|
||||
this.animationLoopCheckBox.Name = "animationLoopCheckBox";
|
||||
this.animationLoopCheckBox.Size = new System.Drawing.Size(50, 17);
|
||||
this.animationLoopCheckBox.TabIndex = 16;
|
||||
this.animationLoopCheckBox.Text = "Loop";
|
||||
this.toolTip.SetToolTip(this.animationLoopCheckBox, "Does this Animation Loop?");
|
||||
this.animationLoopCheckBox.UseVisualStyleBackColor = true;
|
||||
this.animationLoopCheckBox.CheckedChanged += new System.EventHandler(this.animationLoopCheckBox_CheckedChanged);
|
||||
//
|
||||
@@ -383,31 +363,8 @@
|
||||
this.loadAnimationDialog.FileName = "openFileDialog1";
|
||||
this.loadAnimationDialog.Filter = "QUROGames Animation|*.anim";
|
||||
//
|
||||
// addAnimationButton
|
||||
//
|
||||
this.addAnimationButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.addAnimationButton.Location = new System.Drawing.Point(200, -1);
|
||||
this.addAnimationButton.Name = "addAnimationButton";
|
||||
this.addAnimationButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.addAnimationButton.TabIndex = 18;
|
||||
this.addAnimationButton.Text = "+";
|
||||
this.addAnimationButton.UseVisualStyleBackColor = true;
|
||||
this.addAnimationButton.Click += new System.EventHandler(this.addAnimationButton_Click);
|
||||
//
|
||||
// removeAnimationButton
|
||||
//
|
||||
this.removeAnimationButton.Location = new System.Drawing.Point(233, -1);
|
||||
this.removeAnimationButton.Name = "removeAnimationButton";
|
||||
this.removeAnimationButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.removeAnimationButton.TabIndex = 17;
|
||||
this.removeAnimationButton.Text = "-";
|
||||
this.removeAnimationButton.UseVisualStyleBackColor = true;
|
||||
this.removeAnimationButton.Click += new System.EventHandler(this.removeAnimationButton_Click);
|
||||
//
|
||||
// frameEditorPanel
|
||||
//
|
||||
this.frameEditorPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.frameEditorPanel.Controls.Add(this.frameNameBox);
|
||||
this.frameEditorPanel.Controls.Add(this.frameSpritePanel);
|
||||
this.frameEditorPanel.Controls.Add(this.importDelayLabel);
|
||||
@@ -419,7 +376,7 @@
|
||||
this.frameEditorPanel.Controls.Add(this.frameBoxLabel);
|
||||
this.frameEditorPanel.Controls.Add(this.spriteBoxLabel);
|
||||
this.frameEditorPanel.Controls.Add(this.frameListBox);
|
||||
this.frameEditorPanel.Controls.Add(this.spriteListBox);
|
||||
this.frameEditorPanel.Controls.Add(this.spriteMapListBox);
|
||||
this.frameEditorPanel.Controls.Add(this.addSpriteToFrameListButton);
|
||||
this.frameEditorPanel.Controls.Add(this.spritePreview);
|
||||
this.frameEditorPanel.Controls.Add(this.moveFrameDownButton);
|
||||
@@ -428,19 +385,21 @@
|
||||
this.frameEditorPanel.Controls.Add(this.duplicateFrameButton);
|
||||
this.frameEditorPanel.Controls.Add(this.addEmptyFrameButton);
|
||||
this.frameEditorPanel.Controls.Add(this.removeFrameButton);
|
||||
this.frameEditorPanel.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.frameEditorPanel.Enabled = false;
|
||||
this.frameEditorPanel.Location = new System.Drawing.Point(0, 27);
|
||||
this.frameEditorPanel.Location = new System.Drawing.Point(0, 24);
|
||||
this.frameEditorPanel.Name = "frameEditorPanel";
|
||||
this.frameEditorPanel.Size = new System.Drawing.Size(290, 403);
|
||||
this.frameEditorPanel.Size = new System.Drawing.Size(290, 401);
|
||||
this.frameEditorPanel.TabIndex = 19;
|
||||
//
|
||||
// frameNameBox
|
||||
//
|
||||
this.frameNameBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.frameNameBox.Location = new System.Drawing.Point(200, 228);
|
||||
this.frameNameBox.Location = new System.Drawing.Point(201, 199);
|
||||
this.frameNameBox.Name = "frameNameBox";
|
||||
this.frameNameBox.Size = new System.Drawing.Size(83, 20);
|
||||
this.frameNameBox.TabIndex = 25;
|
||||
this.toolTip.SetToolTip(this.frameNameBox, "Name of selected Sprite(s)");
|
||||
this.frameNameBox.TextChanged += new System.EventHandler(this.frameNameBox_TextChanged);
|
||||
this.frameNameBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.frameNameBox_KeyPress);
|
||||
this.frameNameBox.Leave += new System.EventHandler(this.frameNameBox_Leave);
|
||||
@@ -456,19 +415,20 @@
|
||||
this.frameSpritePanel.Controls.Add(this.frameSpriteListLabel);
|
||||
this.frameSpritePanel.Controls.Add(this.replaceSpriteButton);
|
||||
this.frameSpritePanel.Controls.Add(this.addSpriteToFrameSpritesButton);
|
||||
this.frameSpritePanel.Location = new System.Drawing.Point(129, 277);
|
||||
this.frameSpritePanel.Location = new System.Drawing.Point(130, 246);
|
||||
this.frameSpritePanel.Name = "frameSpritePanel";
|
||||
this.frameSpritePanel.Size = new System.Drawing.Size(161, 126);
|
||||
this.frameSpritePanel.Size = new System.Drawing.Size(161, 155);
|
||||
this.frameSpritePanel.TabIndex = 24;
|
||||
//
|
||||
// spritePosPanel
|
||||
//
|
||||
this.spritePosPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.spritePosPanel.Controls.Add(this.frameSpritePositionLabel);
|
||||
this.spritePosPanel.Controls.Add(this.spriteYPosLabel);
|
||||
this.spritePosPanel.Controls.Add(this.spriteXPosLabel);
|
||||
this.spritePosPanel.Controls.Add(this.spriteYPosBox);
|
||||
this.spritePosPanel.Controls.Add(this.spriteXPosBox);
|
||||
this.spritePosPanel.Location = new System.Drawing.Point(32, 81);
|
||||
this.spritePosPanel.Location = new System.Drawing.Point(32, 110);
|
||||
this.spritePosPanel.Name = "spritePosPanel";
|
||||
this.spritePosPanel.Size = new System.Drawing.Size(128, 44);
|
||||
this.spritePosPanel.TabIndex = 27;
|
||||
@@ -521,6 +481,7 @@
|
||||
this.spriteYPosBox.Name = "spriteYPosBox";
|
||||
this.spriteYPosBox.Size = new System.Drawing.Size(43, 20);
|
||||
this.spriteYPosBox.TabIndex = 8;
|
||||
this.toolTip.SetToolTip(this.spriteYPosBox, "Y Offset of selected Sprite in current Frame");
|
||||
this.spriteYPosBox.ValueChanged += new System.EventHandler(this.spriteYPosBox_ValueChanged);
|
||||
//
|
||||
// spriteXPosBox
|
||||
@@ -540,53 +501,19 @@
|
||||
this.spriteXPosBox.Name = "spriteXPosBox";
|
||||
this.spriteXPosBox.Size = new System.Drawing.Size(43, 20);
|
||||
this.spriteXPosBox.TabIndex = 8;
|
||||
this.toolTip.SetToolTip(this.spriteXPosBox, "X Offset of selected Sprite in current Frame");
|
||||
this.spriteXPosBox.ValueChanged += new System.EventHandler(this.spriteXPosBox_ValueChanged);
|
||||
//
|
||||
// removeSpriteButton
|
||||
//
|
||||
this.removeSpriteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.removeSpriteButton.Location = new System.Drawing.Point(132, 0);
|
||||
this.removeSpriteButton.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.removeSpriteButton.Name = "removeSpriteButton";
|
||||
this.removeSpriteButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.removeSpriteButton.TabIndex = 26;
|
||||
this.removeSpriteButton.Text = "X";
|
||||
this.removeSpriteButton.UseVisualStyleBackColor = true;
|
||||
this.removeSpriteButton.Click += new System.EventHandler(this.removeSpriteButton_Click);
|
||||
//
|
||||
// moveSpriteUpButton
|
||||
//
|
||||
this.moveSpriteUpButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.moveSpriteUpButton.Location = new System.Drawing.Point(109, 0);
|
||||
this.moveSpriteUpButton.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.moveSpriteUpButton.Name = "moveSpriteUpButton";
|
||||
this.moveSpriteUpButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.moveSpriteUpButton.TabIndex = 26;
|
||||
this.moveSpriteUpButton.Text = "↑";
|
||||
this.moveSpriteUpButton.UseVisualStyleBackColor = true;
|
||||
this.moveSpriteUpButton.Click += new System.EventHandler(this.moveSpriteUpButton_Click);
|
||||
//
|
||||
// moveSpriteDownButton
|
||||
//
|
||||
this.moveSpriteDownButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.moveSpriteDownButton.Location = new System.Drawing.Point(86, 0);
|
||||
this.moveSpriteDownButton.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
|
||||
this.moveSpriteDownButton.Name = "moveSpriteDownButton";
|
||||
this.moveSpriteDownButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.moveSpriteDownButton.TabIndex = 26;
|
||||
this.moveSpriteDownButton.Text = "↓";
|
||||
this.moveSpriteDownButton.UseVisualStyleBackColor = true;
|
||||
this.moveSpriteDownButton.Click += new System.EventHandler(this.moveSpriteDownButton_Click);
|
||||
//
|
||||
// frameSpriteListBox
|
||||
//
|
||||
this.frameSpriteListBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.frameSpriteListBox.FormattingEnabled = true;
|
||||
this.frameSpriteListBox.Location = new System.Drawing.Point(34, 23);
|
||||
this.frameSpriteListBox.Location = new System.Drawing.Point(34, 26);
|
||||
this.frameSpriteListBox.Name = "frameSpriteListBox";
|
||||
this.frameSpriteListBox.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
|
||||
this.frameSpriteListBox.Size = new System.Drawing.Size(120, 56);
|
||||
this.frameSpriteListBox.Size = new System.Drawing.Size(120, 82);
|
||||
this.frameSpriteListBox.TabIndex = 22;
|
||||
this.toolTip.SetToolTip(this.frameSpriteListBox, "Sprites shown in Current Frame");
|
||||
this.frameSpriteListBox.SelectedIndexChanged += new System.EventHandler(this.frameSpriteListBox_SelectedIndexChanged);
|
||||
//
|
||||
// frameSpriteListLabel
|
||||
@@ -594,7 +521,7 @@
|
||||
this.frameSpriteListLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.frameSpriteListLabel.AutoSize = true;
|
||||
this.frameSpriteListLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.frameSpriteListLabel.Location = new System.Drawing.Point(33, 7);
|
||||
this.frameSpriteListLabel.Location = new System.Drawing.Point(33, 10);
|
||||
this.frameSpriteListLabel.Name = "frameSpriteListLabel";
|
||||
this.frameSpriteListLabel.Size = new System.Drawing.Size(46, 13);
|
||||
this.frameSpriteListLabel.TabIndex = 16;
|
||||
@@ -604,32 +531,21 @@
|
||||
//
|
||||
this.replaceSpriteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.replaceSpriteButton.Enabled = false;
|
||||
this.replaceSpriteButton.Location = new System.Drawing.Point(1, 56);
|
||||
this.replaceSpriteButton.Image = global::AnimationEditor.Properties.Resources.replace;
|
||||
this.replaceSpriteButton.Location = new System.Drawing.Point(1, 49);
|
||||
this.replaceSpriteButton.Name = "replaceSpriteButton";
|
||||
this.replaceSpriteButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.replaceSpriteButton.TabIndex = 5;
|
||||
this.replaceSpriteButton.Text = "@";
|
||||
this.replaceSpriteButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.toolTip.SetToolTip(this.replaceSpriteButton, "Replace selected Sprite in Frame with selected Sprite from SpriteMap");
|
||||
this.replaceSpriteButton.UseVisualStyleBackColor = true;
|
||||
this.replaceSpriteButton.Click += new System.EventHandler(this.replaceSpriteButton_Click);
|
||||
//
|
||||
// addSpriteToFrameSpritesButton
|
||||
//
|
||||
this.addSpriteToFrameSpritesButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.addSpriteToFrameSpritesButton.Enabled = false;
|
||||
this.addSpriteToFrameSpritesButton.Location = new System.Drawing.Point(1, 36);
|
||||
this.addSpriteToFrameSpritesButton.Name = "addSpriteToFrameSpritesButton";
|
||||
this.addSpriteToFrameSpritesButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.addSpriteToFrameSpritesButton.TabIndex = 5;
|
||||
this.addSpriteToFrameSpritesButton.Text = "→";
|
||||
this.addSpriteToFrameSpritesButton.UseVisualStyleBackColor = true;
|
||||
this.addSpriteToFrameSpritesButton.Click += new System.EventHandler(this.addSpriteToFrameSpritesButton_Click);
|
||||
//
|
||||
// importDelayLabel
|
||||
//
|
||||
this.importDelayLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.importDelayLabel.AutoSize = true;
|
||||
this.importDelayLabel.Location = new System.Drawing.Point(3, 378);
|
||||
this.importDelayLabel.Location = new System.Drawing.Point(4, 376);
|
||||
this.importDelayLabel.Name = "importDelayLabel";
|
||||
this.importDelayLabel.Size = new System.Drawing.Size(34, 13);
|
||||
this.importDelayLabel.TabIndex = 21;
|
||||
@@ -640,7 +556,7 @@
|
||||
this.importValuesLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.importValuesLabel.AutoSize = true;
|
||||
this.importValuesLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.importValuesLabel.Location = new System.Drawing.Point(3, 355);
|
||||
this.importValuesLabel.Location = new System.Drawing.Point(4, 357);
|
||||
this.importValuesLabel.Name = "importValuesLabel";
|
||||
this.importValuesLabel.Size = new System.Drawing.Size(84, 13);
|
||||
this.importValuesLabel.TabIndex = 20;
|
||||
@@ -649,17 +565,19 @@
|
||||
// importDelayBox
|
||||
//
|
||||
this.importDelayBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.importDelayBox.Location = new System.Drawing.Point(40, 376);
|
||||
this.importDelayBox.Location = new System.Drawing.Point(41, 374);
|
||||
this.importDelayBox.Name = "importDelayBox";
|
||||
this.importDelayBox.Size = new System.Drawing.Size(83, 20);
|
||||
this.importDelayBox.TabIndex = 19;
|
||||
this.toolTip.SetToolTip(this.importDelayBox, "Default delay for new Frames\r\nDelay determines how many additional \"game frames\" " +
|
||||
"the current frame will be shown for\r\nAssumes the game runs at 60fps");
|
||||
this.importDelayBox.ValueChanged += new System.EventHandler(this.importDelayBox_ValueChanged);
|
||||
//
|
||||
// frameNameLabel
|
||||
//
|
||||
this.frameNameLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.frameNameLabel.AutoSize = true;
|
||||
this.frameNameLabel.Location = new System.Drawing.Point(162, 231);
|
||||
this.frameNameLabel.Location = new System.Drawing.Point(163, 202);
|
||||
this.frameNameLabel.Name = "frameNameLabel";
|
||||
this.frameNameLabel.Size = new System.Drawing.Size(35, 13);
|
||||
this.frameNameLabel.TabIndex = 18;
|
||||
@@ -669,7 +587,7 @@
|
||||
//
|
||||
this.delayLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.delayLabel.AutoSize = true;
|
||||
this.delayLabel.Location = new System.Drawing.Point(162, 256);
|
||||
this.delayLabel.Location = new System.Drawing.Point(163, 227);
|
||||
this.delayLabel.Name = "delayLabel";
|
||||
this.delayLabel.Size = new System.Drawing.Size(34, 13);
|
||||
this.delayLabel.TabIndex = 18;
|
||||
@@ -680,7 +598,7 @@
|
||||
this.frameInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.frameInfoLabel.AutoSize = true;
|
||||
this.frameInfoLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.frameInfoLabel.Location = new System.Drawing.Point(162, 212);
|
||||
this.frameInfoLabel.Location = new System.Drawing.Point(163, 183);
|
||||
this.frameInfoLabel.Name = "frameInfoLabel";
|
||||
this.frameInfoLabel.Size = new System.Drawing.Size(112, 13);
|
||||
this.frameInfoLabel.TabIndex = 17;
|
||||
@@ -690,7 +608,7 @@
|
||||
//
|
||||
this.frameBoxLabel.AutoSize = true;
|
||||
this.frameBoxLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.frameBoxLabel.Location = new System.Drawing.Point(160, 3);
|
||||
this.frameBoxLabel.Location = new System.Drawing.Point(161, 3);
|
||||
this.frameBoxLabel.Name = "frameBoxLabel";
|
||||
this.frameBoxLabel.Size = new System.Drawing.Size(65, 13);
|
||||
this.frameBoxLabel.TabIndex = 16;
|
||||
@@ -700,48 +618,14 @@
|
||||
//
|
||||
this.spriteBoxLabel.AutoSize = true;
|
||||
this.spriteBoxLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.spriteBoxLabel.Location = new System.Drawing.Point(3, 3);
|
||||
this.spriteBoxLabel.Location = new System.Drawing.Point(4, 3);
|
||||
this.spriteBoxLabel.Name = "spriteBoxLabel";
|
||||
this.spriteBoxLabel.Size = new System.Drawing.Size(97, 13);
|
||||
this.spriteBoxLabel.Size = new System.Drawing.Size(64, 13);
|
||||
this.spriteBoxLabel.TabIndex = 15;
|
||||
this.spriteBoxLabel.Text = "Sprite Selection";
|
||||
//
|
||||
// spritePreview
|
||||
//
|
||||
this.spritePreview.BackColor = System.Drawing.SystemColors.ControlDark;
|
||||
this.spritePreview.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
|
||||
this.spritePreview.Location = new System.Drawing.Point(5, 19);
|
||||
this.spritePreview.Name = "spritePreview";
|
||||
this.spritePreview.Size = new System.Drawing.Size(119, 43);
|
||||
this.spritePreview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.spritePreview.TabIndex = 6;
|
||||
this.spritePreview.TabStop = false;
|
||||
//
|
||||
// duplicateFrameButton
|
||||
//
|
||||
this.duplicateFrameButton.Location = new System.Drawing.Point(130, 18);
|
||||
this.duplicateFrameButton.Name = "duplicateFrameButton";
|
||||
this.duplicateFrameButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.duplicateFrameButton.TabIndex = 12;
|
||||
this.duplicateFrameButton.Text = "++";
|
||||
this.duplicateFrameButton.UseVisualStyleBackColor = true;
|
||||
this.duplicateFrameButton.Click += new System.EventHandler(this.duplicateFrameButton_Click);
|
||||
//
|
||||
// addEmptyFrameButton
|
||||
//
|
||||
this.addEmptyFrameButton.Location = new System.Drawing.Point(162, 18);
|
||||
this.addEmptyFrameButton.Name = "addEmptyFrameButton";
|
||||
this.addEmptyFrameButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.addEmptyFrameButton.TabIndex = 12;
|
||||
this.addEmptyFrameButton.Text = "+";
|
||||
this.addEmptyFrameButton.UseVisualStyleBackColor = true;
|
||||
this.addEmptyFrameButton.Click += new System.EventHandler(this.addEmptyFrameButton_Click);
|
||||
this.spriteBoxLabel.Text = "SpriteMap";
|
||||
//
|
||||
// animationPanel
|
||||
//
|
||||
this.animationPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.animationPanel.Controls.Add(this.animationNameLabel);
|
||||
this.animationPanel.Controls.Add(this.animationLabel);
|
||||
this.animationPanel.Controls.Add(this.playAnimationButton);
|
||||
@@ -752,16 +636,17 @@
|
||||
this.animationPanel.Controls.Add(this.removeAnimationButton);
|
||||
this.animationPanel.Controls.Add(this.animationNameBox);
|
||||
this.animationPanel.Controls.Add(this.animationLoopCheckBox);
|
||||
this.animationPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.animationPanel.Enabled = false;
|
||||
this.animationPanel.Location = new System.Drawing.Point(289, 27);
|
||||
this.animationPanel.Location = new System.Drawing.Point(290, 24);
|
||||
this.animationPanel.Name = "animationPanel";
|
||||
this.animationPanel.Size = new System.Drawing.Size(475, 403);
|
||||
this.animationPanel.Size = new System.Drawing.Size(474, 401);
|
||||
this.animationPanel.TabIndex = 20;
|
||||
//
|
||||
// animationNameLabel
|
||||
//
|
||||
this.animationNameLabel.AutoSize = true;
|
||||
this.animationNameLabel.Location = new System.Drawing.Point(273, 3);
|
||||
this.animationNameLabel.Location = new System.Drawing.Point(272, 3);
|
||||
this.animationNameLabel.Name = "animationNameLabel";
|
||||
this.animationNameLabel.Size = new System.Drawing.Size(35, 13);
|
||||
this.animationNameLabel.TabIndex = 23;
|
||||
@@ -771,18 +656,12 @@
|
||||
//
|
||||
this.animationLabel.AutoSize = true;
|
||||
this.animationLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.animationLabel.Location = new System.Drawing.Point(4, 3);
|
||||
this.animationLabel.Location = new System.Drawing.Point(3, 3);
|
||||
this.animationLabel.Name = "animationLabel";
|
||||
this.animationLabel.Size = new System.Drawing.Size(62, 13);
|
||||
this.animationLabel.TabIndex = 22;
|
||||
this.animationLabel.Text = "Animation";
|
||||
//
|
||||
// loadAnimationSetDialog
|
||||
//
|
||||
this.loadAnimationSetDialog.DefaultExt = "animset";
|
||||
this.loadAnimationSetDialog.FileName = "openFileDialog1";
|
||||
this.loadAnimationSetDialog.Filter = "QUROGames AnimationSet|*.animSet";
|
||||
//
|
||||
// animationPreview
|
||||
//
|
||||
this.animationPreview.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
@@ -791,30 +670,199 @@
|
||||
this.animationPreview.BackColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
this.animationPreview.EditSprites = null;
|
||||
this.animationPreview.GridSpacing = 0;
|
||||
this.animationPreview.Location = new System.Drawing.Point(3, 26);
|
||||
this.animationPreview.Location = new System.Drawing.Point(2, 26);
|
||||
this.animationPreview.Name = "animationPreview";
|
||||
this.animationPreview.PixelGridDisplayLevel = 0;
|
||||
this.animationPreview.Playing = false;
|
||||
this.animationPreview.PreviewSprite = null;
|
||||
this.animationPreview.Size = new System.Drawing.Size(467, 306);
|
||||
this.animationPreview.Size = new System.Drawing.Size(466, 304);
|
||||
this.animationPreview.SpriteSheet = null;
|
||||
this.animationPreview.TabIndex = 0;
|
||||
this.animationPreview.Text = "animationPreview1";
|
||||
this.animationPreview.ZoomLevel = 0F;
|
||||
this.animationPreview.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.animationPreview_MouseWheel);
|
||||
//
|
||||
// loadAnimationSetDialog
|
||||
//
|
||||
this.loadAnimationSetDialog.DefaultExt = "animset";
|
||||
this.loadAnimationSetDialog.FileName = "openFileDialog1";
|
||||
this.loadAnimationSetDialog.Filter = "QUROGames AnimationSet|*.animSet";
|
||||
//
|
||||
// addAnimationButton
|
||||
//
|
||||
this.addAnimationButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.addAnimationButton.Image = ((System.Drawing.Image)(resources.GetObject("addAnimationButton.Image")));
|
||||
this.addAnimationButton.Location = new System.Drawing.Point(193, -1);
|
||||
this.addAnimationButton.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.addAnimationButton.Name = "addAnimationButton";
|
||||
this.addAnimationButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.addAnimationButton.TabIndex = 18;
|
||||
this.toolTip.SetToolTip(this.addAnimationButton, "Add new Animation");
|
||||
this.addAnimationButton.UseVisualStyleBackColor = true;
|
||||
this.addAnimationButton.Click += new System.EventHandler(this.addAnimationButton_Click);
|
||||
//
|
||||
// removeAnimationButton
|
||||
//
|
||||
this.removeAnimationButton.Image = ((System.Drawing.Image)(resources.GetObject("removeAnimationButton.Image")));
|
||||
this.removeAnimationButton.Location = new System.Drawing.Point(220, -1);
|
||||
this.removeAnimationButton.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.removeAnimationButton.Name = "removeAnimationButton";
|
||||
this.removeAnimationButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.removeAnimationButton.TabIndex = 17;
|
||||
this.toolTip.SetToolTip(this.removeAnimationButton, "Delete current Animation");
|
||||
this.removeAnimationButton.UseVisualStyleBackColor = true;
|
||||
this.removeAnimationButton.Click += new System.EventHandler(this.removeAnimationButton_Click);
|
||||
//
|
||||
// removeSpriteButton
|
||||
//
|
||||
this.removeSpriteButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.removeSpriteButton.Image = ((System.Drawing.Image)(resources.GetObject("removeSpriteButton.Image")));
|
||||
this.removeSpriteButton.Location = new System.Drawing.Point(132, 3);
|
||||
this.removeSpriteButton.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.removeSpriteButton.Name = "removeSpriteButton";
|
||||
this.removeSpriteButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.removeSpriteButton.TabIndex = 26;
|
||||
this.toolTip.SetToolTip(this.removeSpriteButton, "Delete Sprite");
|
||||
this.removeSpriteButton.UseVisualStyleBackColor = true;
|
||||
this.removeSpriteButton.Click += new System.EventHandler(this.removeSpriteButton_Click);
|
||||
//
|
||||
// moveSpriteUpButton
|
||||
//
|
||||
this.moveSpriteUpButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.moveSpriteUpButton.Image = ((System.Drawing.Image)(resources.GetObject("moveSpriteUpButton.Image")));
|
||||
this.moveSpriteUpButton.Location = new System.Drawing.Point(109, 3);
|
||||
this.moveSpriteUpButton.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.moveSpriteUpButton.Name = "moveSpriteUpButton";
|
||||
this.moveSpriteUpButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.moveSpriteUpButton.TabIndex = 26;
|
||||
this.toolTip.SetToolTip(this.moveSpriteUpButton, "Move Sprite Up");
|
||||
this.moveSpriteUpButton.UseVisualStyleBackColor = true;
|
||||
this.moveSpriteUpButton.Click += new System.EventHandler(this.moveSpriteUpButton_Click);
|
||||
//
|
||||
// moveSpriteDownButton
|
||||
//
|
||||
this.moveSpriteDownButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.moveSpriteDownButton.Image = global::AnimationEditor.Properties.Resources.movedown;
|
||||
this.moveSpriteDownButton.Location = new System.Drawing.Point(86, 3);
|
||||
this.moveSpriteDownButton.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
|
||||
this.moveSpriteDownButton.Name = "moveSpriteDownButton";
|
||||
this.moveSpriteDownButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.moveSpriteDownButton.TabIndex = 26;
|
||||
this.toolTip.SetToolTip(this.moveSpriteDownButton, "Move Sprite Down");
|
||||
this.moveSpriteDownButton.UseVisualStyleBackColor = true;
|
||||
this.moveSpriteDownButton.Click += new System.EventHandler(this.moveSpriteDownButton_Click);
|
||||
//
|
||||
// addSpriteToFrameSpritesButton
|
||||
//
|
||||
this.addSpriteToFrameSpritesButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.addSpriteToFrameSpritesButton.Enabled = false;
|
||||
this.addSpriteToFrameSpritesButton.Image = ((System.Drawing.Image)(resources.GetObject("addSpriteToFrameSpritesButton.Image")));
|
||||
this.addSpriteToFrameSpritesButton.Location = new System.Drawing.Point(1, 26);
|
||||
this.addSpriteToFrameSpritesButton.Name = "addSpriteToFrameSpritesButton";
|
||||
this.addSpriteToFrameSpritesButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.addSpriteToFrameSpritesButton.TabIndex = 5;
|
||||
this.toolTip.SetToolTip(this.addSpriteToFrameSpritesButton, "Add selected Sprite from SpriteMap to Current Frame\'s Sprites");
|
||||
this.addSpriteToFrameSpritesButton.UseVisualStyleBackColor = true;
|
||||
this.addSpriteToFrameSpritesButton.Click += new System.EventHandler(this.addSpriteToFrameSpritesButton_Click);
|
||||
//
|
||||
// addSpriteToFrameListButton
|
||||
//
|
||||
this.addSpriteToFrameListButton.Enabled = false;
|
||||
this.addSpriteToFrameListButton.Image = ((System.Drawing.Image)(resources.GetObject("addSpriteToFrameListButton.Image")));
|
||||
this.addSpriteToFrameListButton.Location = new System.Drawing.Point(131, 61);
|
||||
this.addSpriteToFrameListButton.Name = "addSpriteToFrameListButton";
|
||||
this.addSpriteToFrameListButton.Size = new System.Drawing.Size(27, 23);
|
||||
this.addSpriteToFrameListButton.TabIndex = 5;
|
||||
this.toolTip.SetToolTip(this.addSpriteToFrameListButton, "Add selected Sprite from SpriteMap as new Frame");
|
||||
this.addSpriteToFrameListButton.UseVisualStyleBackColor = true;
|
||||
this.addSpriteToFrameListButton.Click += new System.EventHandler(this.addSpriteToFrameListButton_Click);
|
||||
//
|
||||
// spritePreview
|
||||
//
|
||||
this.spritePreview.BackColor = System.Drawing.SystemColors.ControlDark;
|
||||
this.spritePreview.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
|
||||
this.spritePreview.Location = new System.Drawing.Point(6, 19);
|
||||
this.spritePreview.Name = "spritePreview";
|
||||
this.spritePreview.Size = new System.Drawing.Size(119, 46);
|
||||
this.spritePreview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.spritePreview.TabIndex = 6;
|
||||
this.spritePreview.TabStop = false;
|
||||
//
|
||||
// moveFrameDownButton
|
||||
//
|
||||
this.moveFrameDownButton.Image = global::AnimationEditor.Properties.Resources.movedown;
|
||||
this.moveFrameDownButton.Location = new System.Drawing.Point(216, 18);
|
||||
this.moveFrameDownButton.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.moveFrameDownButton.Name = "moveFrameDownButton";
|
||||
this.moveFrameDownButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.moveFrameDownButton.TabIndex = 14;
|
||||
this.toolTip.SetToolTip(this.moveFrameDownButton, "Move Frame Down");
|
||||
this.moveFrameDownButton.UseVisualStyleBackColor = true;
|
||||
this.moveFrameDownButton.Click += new System.EventHandler(this.moveFrameDownButton_Click);
|
||||
//
|
||||
// moveFrameUpButton
|
||||
//
|
||||
this.moveFrameUpButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.moveFrameUpButton.Image = ((System.Drawing.Image)(resources.GetObject("moveFrameUpButton.Image")));
|
||||
this.moveFrameUpButton.Location = new System.Drawing.Point(239, 18);
|
||||
this.moveFrameUpButton.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.moveFrameUpButton.Name = "moveFrameUpButton";
|
||||
this.moveFrameUpButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.moveFrameUpButton.TabIndex = 13;
|
||||
this.toolTip.SetToolTip(this.moveFrameUpButton, "Move Frame Up");
|
||||
this.moveFrameUpButton.UseVisualStyleBackColor = true;
|
||||
this.moveFrameUpButton.Click += new System.EventHandler(this.moveFrameUpButton_Click);
|
||||
//
|
||||
// duplicateFrameButton
|
||||
//
|
||||
this.duplicateFrameButton.Image = ((System.Drawing.Image)(resources.GetObject("duplicateFrameButton.Image")));
|
||||
this.duplicateFrameButton.Location = new System.Drawing.Point(193, 18);
|
||||
this.duplicateFrameButton.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
this.duplicateFrameButton.Name = "duplicateFrameButton";
|
||||
this.duplicateFrameButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.duplicateFrameButton.TabIndex = 12;
|
||||
this.toolTip.SetToolTip(this.duplicateFrameButton, "Duplicate Frame");
|
||||
this.duplicateFrameButton.UseVisualStyleBackColor = true;
|
||||
this.duplicateFrameButton.Click += new System.EventHandler(this.duplicateFrameButton_Click);
|
||||
//
|
||||
// addEmptyFrameButton
|
||||
//
|
||||
this.addEmptyFrameButton.Image = ((System.Drawing.Image)(resources.GetObject("addEmptyFrameButton.Image")));
|
||||
this.addEmptyFrameButton.Location = new System.Drawing.Point(170, 18);
|
||||
this.addEmptyFrameButton.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3);
|
||||
this.addEmptyFrameButton.Name = "addEmptyFrameButton";
|
||||
this.addEmptyFrameButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.addEmptyFrameButton.TabIndex = 12;
|
||||
this.toolTip.SetToolTip(this.addEmptyFrameButton, "Add Empty Frame");
|
||||
this.addEmptyFrameButton.UseVisualStyleBackColor = true;
|
||||
this.addEmptyFrameButton.Click += new System.EventHandler(this.addEmptyFrameButton_Click);
|
||||
//
|
||||
// removeFrameButton
|
||||
//
|
||||
this.removeFrameButton.Image = ((System.Drawing.Image)(resources.GetObject("removeFrameButton.Image")));
|
||||
this.removeFrameButton.Location = new System.Drawing.Point(262, 18);
|
||||
this.removeFrameButton.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.removeFrameButton.Name = "removeFrameButton";
|
||||
this.removeFrameButton.Size = new System.Drawing.Size(23, 23);
|
||||
this.removeFrameButton.TabIndex = 12;
|
||||
this.toolTip.SetToolTip(this.removeFrameButton, "Delete Frame");
|
||||
this.removeFrameButton.UseVisualStyleBackColor = true;
|
||||
this.removeFrameButton.Click += new System.EventHandler(this.removeFrameButton_Click);
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.ClientSize = new System.Drawing.Size(764, 430);
|
||||
this.ClientSize = new System.Drawing.Size(764, 425);
|
||||
this.Controls.Add(this.animationPanel);
|
||||
this.Controls.Add(this.frameEditorPanel);
|
||||
this.Controls.Add(this.mainMenuStrip);
|
||||
this.MinimumSize = new System.Drawing.Size(780, 345);
|
||||
this.KeyPreview = true;
|
||||
this.MinimumSize = new System.Drawing.Size(780, 464);
|
||||
this.Name = "Form1";
|
||||
this.Text = "QUROGames Animation Studio";
|
||||
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyDown);
|
||||
((System.ComponentModel.ISupportInitialize)(this.frameTrackBar)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.delayInputBox)).EndInit();
|
||||
this.mainMenuStrip.ResumeLayout(false);
|
||||
@@ -828,9 +876,9 @@
|
||||
((System.ComponentModel.ISupportInitialize)(this.spriteYPosBox)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spriteXPosBox)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.importDelayBox)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spritePreview)).EndInit();
|
||||
this.animationPanel.ResumeLayout(false);
|
||||
this.animationPanel.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.spritePreview)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@@ -841,7 +889,7 @@
|
||||
private AnimationPreview animationPreview;
|
||||
private System.Windows.Forms.OpenFileDialog loadSpriteSheetDialog;
|
||||
private System.Windows.Forms.OpenFileDialog loadSpriteMapDialog;
|
||||
private System.Windows.Forms.ListBox spriteListBox;
|
||||
private System.Windows.Forms.ListBox spriteMapListBox;
|
||||
private System.Windows.Forms.ListBox frameListBox;
|
||||
private System.Windows.Forms.Button addSpriteToFrameListButton;
|
||||
private System.Windows.Forms.PictureBox spritePreview;
|
||||
@@ -903,6 +951,8 @@
|
||||
private System.Windows.Forms.Panel spritePosPanel;
|
||||
private System.Windows.Forms.ToolStripMenuItem undoToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem redoToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolTip toolTip;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,9 +17,22 @@ using System.Xml;
|
||||
using AnimationEditor.Modifications;
|
||||
using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Intermediate;
|
||||
|
||||
/*
|
||||
* Editor for creating animations for use with the QURO.Animation library
|
||||
* Coded in C# as a first Windows application project for me, from mid-November 2018 to January 1st, 2019
|
||||
* Was created alongside the SpriteMapEditor app, this one being much more advanced in design
|
||||
* Had a lot of fun with this one. Probably had the hardest time with the grid drawing in AnimationPreview!
|
||||
* It was a great experience, but I'm excited to see what comes next. Especially trying WPF.
|
||||
* After making a couple of games using this I hope to return to QURO.Animation and give it a few enhancements!
|
||||
* Maybe something like adding sprite scaling and rotation,
|
||||
* and restructuring animations to use moving objects translated between frames, to save resources and make tweening a possibility
|
||||
* And then of course rewriting this editor but in WPF...haha! See you then!
|
||||
* -Quinn
|
||||
* PS. Sorry for not properly documenting half of what I did when I made this. Hope it's not too hard to unravel later.
|
||||
*/
|
||||
namespace AnimationEditor
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
public partial class AnimationEditor : Form
|
||||
{
|
||||
private History undoHistory;
|
||||
|
||||
@@ -36,7 +49,7 @@ namespace AnimationEditor
|
||||
}
|
||||
private int frameRate;
|
||||
|
||||
private BindingList<Sprite> spriteSet;
|
||||
private BindingList<Sprite> spriteMap;
|
||||
private BindingList<Frame> frames;
|
||||
private BindingList<Sprite> frameSprites;
|
||||
private BindingList<Animation> animations;
|
||||
@@ -49,15 +62,31 @@ namespace AnimationEditor
|
||||
private bool reading;
|
||||
private float importDelay = 0;
|
||||
|
||||
public Form1()
|
||||
public AnimationEditor()
|
||||
{
|
||||
InitializeComponent();
|
||||
undoHistory = new History();
|
||||
undoHistory.HistoryUpdated += OnUndoHistoryUpdated;
|
||||
frameRate = 60;
|
||||
importDelayBox.Value = 0;
|
||||
animationPreview.FrameChanged += animationPreview_FrameChanged;
|
||||
animationPreview.AnimationEnded += animationPreview_AnimationEnded;
|
||||
animationPreview.SpriteMoved += animationPreview_SpriteMoved;
|
||||
animationPreview.SpriteDragUpdate += animationPreview_SpriteDragUpdate;
|
||||
animationPreview.SpriteDragCompleted += animationPreview_SpriteDragComplete;
|
||||
}
|
||||
|
||||
private void DoModification(IModification mod)
|
||||
{
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
}
|
||||
|
||||
private void animationPreview_SpriteDragComplete(object sender, EventArgs e)
|
||||
{
|
||||
var args = e as SpriteDragArgs;
|
||||
var mod = new MoveSprite(frameSprites, frameSpriteListBox, args.DragDistance);
|
||||
mod.Undo();
|
||||
DoModification(mod);
|
||||
}
|
||||
|
||||
private void frameListBox_SetSingleSelection(int index)
|
||||
@@ -97,18 +126,16 @@ namespace AnimationEditor
|
||||
|
||||
private void addSpriteToFrameListButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (spriteListBox.SelectedItem != null)
|
||||
if (spriteMapListBox.SelectedItem != null)
|
||||
{
|
||||
var spriteToAdd = spriteSet[spriteListBox.SelectedIndex].Clone();
|
||||
var spriteToAdd = spriteMap[spriteMapListBox.SelectedIndex].Clone();
|
||||
AddFrame(new Frame(spriteToAdd, importDelay));
|
||||
}
|
||||
}
|
||||
|
||||
private void AddFrame(Frame frameToAdd)
|
||||
{
|
||||
var modification = new AddFrame(frames, frameListBox, frameToAdd);
|
||||
ModHelper.DoModificationWithSelectionTracking(modification, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(modification);
|
||||
DoModification(new AddFrame(frames, frameListBox, frameToAdd));
|
||||
UpdateAnimation();
|
||||
}
|
||||
|
||||
@@ -116,6 +143,7 @@ namespace AnimationEditor
|
||||
{
|
||||
if(frames?.Count > 0)
|
||||
{
|
||||
//update currentAnimation's data
|
||||
if(currentAnimation == null)
|
||||
currentAnimation = new Animation("unnamed", frames.ToArray(), true);
|
||||
else
|
||||
@@ -124,13 +152,19 @@ namespace AnimationEditor
|
||||
currentAnimation.Frames = frames.ToArray();
|
||||
currentAnimation.IsLooping = animationLoopCheckBox.Checked;
|
||||
}
|
||||
//ensure frameTrackBar length matches current animation
|
||||
frameTrackBar.Maximum = currentAnimation.Frames.Count() - 1;
|
||||
//send currentAnimation to animationPreview
|
||||
if (animationPreview.PreviewSprite == null)
|
||||
animationPreview.PreviewSprite = new AnimatedSprite(currentAnimation);
|
||||
else
|
||||
animationPreview.PreviewSprite.CurrentAnimation = currentAnimation;
|
||||
frameTrackBar.Maximum = currentAnimation.Frames.Count() - 1;
|
||||
if(frameListBox.SelectedIndices.Count < 2 && frameListBox.SelectedIndex != frameTrackBar.Value)
|
||||
//restore currently viewed frame
|
||||
if (frameListBox.SelectedIndices.Count < 2)
|
||||
frameListBox_SetSingleSelection(frameTrackBar.Value);
|
||||
else
|
||||
frameListBox.SelectedIndex = frameTrackBar.Value;
|
||||
//if animations list is empty, send created currentAnimation to it
|
||||
if(animations.Count < 1)
|
||||
{
|
||||
animations.Add(currentAnimation);
|
||||
@@ -158,7 +192,7 @@ namespace AnimationEditor
|
||||
|
||||
//update per-sprite controls
|
||||
spritePosPanel.Enabled = singleSpriteSelected;
|
||||
replaceSpriteButton.Enabled = singleSpriteSelected && spriteSet != null;
|
||||
replaceSpriteButton.Enabled = singleSpriteSelected && spriteMap != null;
|
||||
moveSpriteDownButton.Enabled = singleSpriteSelected;
|
||||
moveSpriteUpButton.Enabled = singleSpriteSelected;
|
||||
removeSpriteButton.Enabled = singleSpriteSelected;
|
||||
@@ -191,9 +225,9 @@ namespace AnimationEditor
|
||||
|
||||
private void spriteListBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (spriteListBox.SelectedItem != null)
|
||||
if (spriteMapListBox.SelectedItem != null)
|
||||
{
|
||||
var currentSprite = (Sprite)spriteListBox.SelectedItem;
|
||||
var currentSprite = (Sprite)spriteMapListBox.SelectedItem;
|
||||
Stream texture2DToImageStream = new MemoryStream();
|
||||
Texture2DRegionExtractor.GetTexture2DFromRegion(spriteSheet, spriteSheet.GraphicsDevice, currentSprite.Bounds)
|
||||
.SaveAsPng(texture2DToImageStream, currentSprite.Bounds.Width, currentSprite.Bounds.Height);
|
||||
@@ -270,9 +304,7 @@ namespace AnimationEditor
|
||||
{
|
||||
if (reading || tracking)
|
||||
return;
|
||||
var mod = new ChangeFrameDelay(frames, frameListBox, (float)delayInputBox.Value / frameRate);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new ChangeFrameDelay(frames, frameListBox, (float)delayInputBox.Value / frameRate));
|
||||
}
|
||||
|
||||
private void loadSpriteSheetToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
@@ -301,15 +333,15 @@ namespace AnimationEditor
|
||||
loadedSpriteMap = IntermediateSerializer.Deserialize<Dictionary<string, Sprite>>(xmlRead, null);
|
||||
}
|
||||
|
||||
spriteSet = new BindingList<Sprite>();
|
||||
spriteMap = new BindingList<Sprite>();
|
||||
foreach (KeyValuePair<string, Sprite> sprite in loadedSpriteMap)
|
||||
{
|
||||
spriteSet.Add(sprite.Value);
|
||||
spriteMap.Add(sprite.Value);
|
||||
}
|
||||
|
||||
spriteListBox.DataSource = spriteSet;
|
||||
spriteListBox.DisplayMember = "Name";
|
||||
spriteListBox.ValueMember = "Bounds";
|
||||
spriteMapListBox.DataSource = spriteMap;
|
||||
spriteMapListBox.DisplayMember = "Name";
|
||||
spriteMapListBox.ValueMember = "Bounds";
|
||||
|
||||
//enable spriteMap-required controls
|
||||
addSpriteToFrameListButton.Enabled = true;
|
||||
@@ -341,6 +373,7 @@ namespace AnimationEditor
|
||||
animationPreview.Playing = false;
|
||||
frameTrackBar.Enabled = true;
|
||||
frameListBox_SetSingleSelection(frameTrackBar.Value);
|
||||
playAnimationButton.Image = Properties.Resources.play;
|
||||
}
|
||||
|
||||
private void animationLoopCheckBox_CheckedChanged(object sender, EventArgs e)
|
||||
@@ -357,11 +390,13 @@ namespace AnimationEditor
|
||||
{
|
||||
frameTrackBar.Enabled = true;
|
||||
frameListBox_SetSingleSelection(frameTrackBar.Value);
|
||||
playAnimationButton.Image = Properties.Resources.play;
|
||||
}
|
||||
else
|
||||
{
|
||||
animationPreview.PreviewSprite.CurrentAnimation = currentAnimation;
|
||||
frameTrackBar.Enabled = false;
|
||||
playAnimationButton.Image = Properties.Resources.pause;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -395,9 +430,7 @@ namespace AnimationEditor
|
||||
|
||||
private void MoveFrame(BindingList<Frame> frameList, ListBox frameBox, int dir)
|
||||
{
|
||||
var mod = new ReorderFrame(frameList, frameBox, dir);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new ReorderFrame(frameList, frameBox, dir));
|
||||
UpdateAnimation();
|
||||
}
|
||||
|
||||
@@ -405,9 +438,7 @@ namespace AnimationEditor
|
||||
{
|
||||
if(frameListBox.SelectedIndices.Count == 1 && frameListBox.SelectedIndex > -1 && frameListBox.SelectedIndex < frames.Count)
|
||||
{
|
||||
var mod = new RemoveFrame(frames, frameListBox, frameListBox.SelectedIndex);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, spriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new RemoveFrame(frames, frameListBox, frameListBox.SelectedIndex));
|
||||
UpdateAnimation();
|
||||
}
|
||||
}
|
||||
@@ -446,9 +477,7 @@ namespace AnimationEditor
|
||||
|
||||
private void AddAnimation(Animation anim)
|
||||
{
|
||||
var mod = new AddAnimation(animations, animationBox, anim);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new AddAnimation(animations, animationBox, anim));
|
||||
}
|
||||
|
||||
private void animationBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||
@@ -467,9 +496,7 @@ namespace AnimationEditor
|
||||
{
|
||||
if (animationBox.SelectedIndex > -1 && animationBox.SelectedIndex < animations.Count)
|
||||
{
|
||||
var mod = new RemoveAnimation(animations, animationBox, animationBox.SelectedIndex);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new RemoveAnimation(animations, animationBox, animationBox.SelectedIndex));
|
||||
ReadAnimationInfo();
|
||||
UpdateAnimation();
|
||||
}
|
||||
@@ -647,18 +674,14 @@ namespace AnimationEditor
|
||||
|
||||
private void SetSpritePosition()
|
||||
{
|
||||
var mod = new SetSpritePosition(frameSprites, frameSpriteListBox, new Vector2((float)spriteXPosBox.Value, (float)spriteYPosBox.Value));
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new SetSpritePosition(frameSprites, frameSpriteListBox, new Vector2((float)spriteXPosBox.Value, (float)spriteYPosBox.Value)));
|
||||
}
|
||||
|
||||
private void addSpriteToFrameSpritesButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
var spriteToAdd = spriteSet[spriteListBox.SelectedIndex].Clone();
|
||||
var spriteToAdd = spriteMap[spriteMapListBox.SelectedIndex].Clone();
|
||||
|
||||
var mod = new AddSprite(frameSprites, frameSpriteListBox, currentFrame, spriteToAdd);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new AddSprite(frameSprites, frameSpriteListBox, currentFrame, spriteToAdd));
|
||||
}
|
||||
|
||||
private void addEmptyFrameButton_Click(object sender, EventArgs e)
|
||||
@@ -681,9 +704,7 @@ namespace AnimationEditor
|
||||
|
||||
if (changed)
|
||||
{
|
||||
var mod = new RenameFrame(frames, frameListBox, frameNameBox.Text);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new RenameFrame(frames, frameListBox, frameNameBox.Text));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -705,9 +726,7 @@ namespace AnimationEditor
|
||||
|
||||
private void MoveSprite(BindingList<Sprite> spriteList, ListBox spriteBox, int dir)
|
||||
{
|
||||
var mod = new ReorderSprite(spriteList, spriteBox, dir);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new ReorderSprite(spriteList, spriteBox, dir));
|
||||
UpdateAnimation();
|
||||
}
|
||||
|
||||
@@ -715,14 +734,12 @@ namespace AnimationEditor
|
||||
{
|
||||
if (frameSpriteListBox.SelectedIndex > -1 && frameSpriteListBox.SelectedIndex < frameSprites.Count)
|
||||
{
|
||||
var mod = new RemoveSprite(frameSprites, frameSpriteListBox, frameSpriteListBox.SelectedIndex);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new RemoveSprite(frameSprites, frameSpriteListBox, frameSpriteListBox.SelectedIndex));
|
||||
UpdateAnimation();
|
||||
}
|
||||
}
|
||||
|
||||
private void animationPreview_SpriteMoved(object sender, EventArgs e)
|
||||
private void animationPreview_SpriteDragUpdate(object sender, EventArgs e)
|
||||
{
|
||||
if(frameSpriteListBox.SelectedIndices.Count == 1)
|
||||
ReadSpriteOffset();
|
||||
@@ -735,29 +752,35 @@ namespace AnimationEditor
|
||||
|
||||
private void replaceSpriteButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
var mod = new ReplaceSprite(frameSprites, frameSpriteListBox.SelectedIndex, spriteSet[spriteListBox.SelectedIndex]);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new ReplaceSprite(frameSprites, frameSpriteListBox.SelectedIndex, spriteMap[spriteMapListBox.SelectedIndex]));
|
||||
UpdateAnimation();
|
||||
}
|
||||
|
||||
private void undoToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
private void Undo()
|
||||
{
|
||||
undoHistory.Undo(animationBox, frameListBox, frameSpriteListBox);
|
||||
UpdateAnimation();
|
||||
}
|
||||
|
||||
private void redoToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
private void Redo()
|
||||
{
|
||||
undoHistory.Redo(animationBox, frameListBox, frameSpriteListBox);
|
||||
UpdateAnimation();
|
||||
}
|
||||
|
||||
private void undoToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Undo();
|
||||
}
|
||||
|
||||
private void redoToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Redo();
|
||||
}
|
||||
|
||||
private void UpdateAnimationName()
|
||||
{
|
||||
var mod = new RenameAnimation(animations, animationBox.SelectedIndex, animationNameBox.Text);
|
||||
ModHelper.DoModificationWithSelectionTracking(mod, animationBox, frameListBox, frameSpriteListBox);
|
||||
undoHistory.Add(mod);
|
||||
DoModification(new RenameAnimation(animations, animationBox.SelectedIndex, animationNameBox.Text));
|
||||
}
|
||||
|
||||
private void animationNameBox_Leave(object sender, EventArgs e)
|
||||
@@ -797,5 +820,62 @@ namespace AnimationEditor
|
||||
frameNameBoxEdited = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void Form1_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.Modifiers == Keys.Control)
|
||||
{
|
||||
if (e.KeyCode == Keys.Z)
|
||||
{
|
||||
|
||||
Undo();
|
||||
}
|
||||
else if (e.KeyCode == Keys.Y)
|
||||
{
|
||||
Redo();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnUndoHistoryUpdated(object sender, EventArgs e)
|
||||
{
|
||||
undoToolStripMenuItem.Enabled = undoHistory.CanUndo;
|
||||
undoToolStripMenuItem.Text = undoHistory.NextUndoString();
|
||||
redoToolStripMenuItem.Enabled = undoHistory.CanRedo;
|
||||
redoToolStripMenuItem.Text = undoHistory.NextRedoString();
|
||||
}
|
||||
|
||||
private void frameListBox_DrawItem(object sender, DrawItemEventArgs e)
|
||||
{
|
||||
Brush nameBrush = Brushes.Black;
|
||||
Brush indexBrush = Brushes.Gray;
|
||||
|
||||
if (e.BackColor.GetBrightness() < 0.5)
|
||||
nameBrush = Brushes.White;
|
||||
|
||||
System.Drawing.Rectangle indexRect = e.Bounds;
|
||||
System.Drawing.Rectangle nameRect = e.Bounds;
|
||||
indexRect.Width = 26;
|
||||
nameRect.X += 24;
|
||||
nameRect.Width -= 24;
|
||||
|
||||
string indexString = "";
|
||||
for(int index = 3 - e.Index.ToString().Length; index > 0; index--)
|
||||
{
|
||||
indexString += "0";
|
||||
}
|
||||
indexString += e.Index;
|
||||
indexString += ":";
|
||||
|
||||
e.Graphics.FillRectangle(Brushes.White, indexRect);
|
||||
e.Graphics.FillRectangle(new SolidBrush(e.BackColor), nameRect);
|
||||
e.Graphics.DrawString(indexString,
|
||||
e.Font, indexBrush, indexRect, StringFormat.GenericDefault);
|
||||
|
||||
e.Graphics.DrawString(frames[e.Index].Name,
|
||||
e.Font, nameBrush, nameRect, StringFormat.GenericDefault);
|
||||
// If the ListBox has focus, draw a focus rectangle around the selected item.
|
||||
e.DrawFocusRectangle();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38,6 +38,9 @@
|
||||
<Reference Include="MonoGame.Framework, Version=3.7.0.1114, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MonoGame.Forms.DX.2.1.0.2\lib\net451\MonoGame.Framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="QURO">
|
||||
<HintPath>..\..\QURO\QURO\bin\Release\QURO.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SharpDX, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b4dcf0f35e5521f1, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpDX.4.0.1\lib\net45\SharpDX.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -85,14 +88,15 @@
|
||||
<Compile Include="AnimationPreview.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.cs">
|
||||
<Compile Include="AnimationEditor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
<Compile Include="AnimationEditor.Designer.cs">
|
||||
<DependentUpon>AnimationEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Modifications\ModHelper.cs" />
|
||||
<Compile Include="Modifications\SelectionState.cs" />
|
||||
<Compile Include="Modifications\SpriteDragArgs.cs" />
|
||||
<Compile Include="MonoGame.Framework.Content.Pipeline\ContentIdentity.cs" />
|
||||
<Compile Include="MonoGame.Framework.Content.Pipeline\InvalidContentException.cs" />
|
||||
<Compile Include="MonoGame.Framework.Content.Pipeline\NamedValueDictionary.cs" />
|
||||
@@ -143,8 +147,8 @@
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Texture2DRegionExtractor.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
<EmbeddedResource Include="AnimationEditor.resx">
|
||||
<DependentUpon>AnimationEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
@@ -171,16 +175,34 @@
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\QURO\QURO.csproj">
|
||||
<Project>{4581e0c8-b14a-454d-9a7b-52d37535e7e9}</Project>
|
||||
<Name>QURO</Name>
|
||||
</ProjectReference>
|
||||
<EmbeddedResource Include="Resources\createnew.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\15test.png" />
|
||||
<EmbeddedResource Include="Resources\delete.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\13test.png" />
|
||||
<EmbeddedResource Include="Resources\delete_bold.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\insert.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\movedown.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\moveup.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\duplicate.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\play.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\replace.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\pause.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,665 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="loadSpriteSheetDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>107, 17</value>
|
||||
</metadata>
|
||||
<metadata name="loadSpriteMapDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>280, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="mainMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>447, 17</value>
|
||||
</metadata>
|
||||
<metadata name="saveAnimationDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>582, 17</value>
|
||||
</metadata>
|
||||
<metadata name="saveAnimationSetDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>749, 17</value>
|
||||
</metadata>
|
||||
<metadata name="loadAnimationDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 56</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="removeSpriteButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="moveSpriteUpButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="addSpriteToFrameSpritesButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
|
||||
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
|
||||
bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE
|
||||
sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs
|
||||
AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4
|
||||
JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR
|
||||
3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd
|
||||
li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF
|
||||
ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX
|
||||
wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF
|
||||
hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55
|
||||
4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ
|
||||
VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB
|
||||
5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC
|
||||
qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE
|
||||
j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I
|
||||
1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9
|
||||
rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG
|
||||
fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp
|
||||
B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ
|
||||
yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC
|
||||
YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln
|
||||
yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v
|
||||
vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp
|
||||
vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L
|
||||
Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA
|
||||
bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z
|
||||
llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW
|
||||
ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s
|
||||
xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6
|
||||
eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw
|
||||
YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR
|
||||
XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm
|
||||
WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl
|
||||
xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2
|
||||
dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8
|
||||
V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za
|
||||
Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
|
||||
Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb
|
||||
PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/
|
||||
0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h
|
||||
/HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr
|
||||
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
|
||||
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
|
||||
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
|
||||
6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAGBJREFUKFOViwsOgDAI
|
||||
Q3f/SyOfjtCAc5I8R59lichvRvkFBwx2+8RSOv4PBRo4feJFSLIwkaXI/WiLN6yD4v2RsXsUTtROioks
|
||||
ld0zBR5V/cAdBR4TqvnAaOKGUZ6R9QDqDJF9euxaLwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="addSpriteToFrameListButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="moveFrameUpButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="duplicateFrameButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
7uQOXRwkAjzs6BikSsuUAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="addEmptyFrameButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="removeFrameButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="addAnimationButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<data name="removeAnimationButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="loadAnimationSetDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>184, 56</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -29,6 +29,7 @@ namespace AnimationEditor
|
||||
public Color HalfGridLineColor { get; set; }
|
||||
public Color PixelGridLineColor { get; set; }
|
||||
|
||||
private Color background;
|
||||
private Texture2D gridLine;
|
||||
private bool hovering;
|
||||
private bool dragging;
|
||||
@@ -36,6 +37,8 @@ namespace AnimationEditor
|
||||
private MouseState mState;
|
||||
private MouseState mState_old;
|
||||
|
||||
private Vector2 totalDragDist;
|
||||
|
||||
private Vector2 centerPoint
|
||||
{
|
||||
get { return new Vector2((Editor.graphics.PresentationParameters.BackBufferWidth / 2), (Editor.graphics.PresentationParameters.BackBufferHeight / 2)); }
|
||||
@@ -54,16 +57,29 @@ namespace AnimationEditor
|
||||
}
|
||||
}
|
||||
|
||||
private EventHandler onSpriteMoved;
|
||||
public event EventHandler SpriteMoved
|
||||
private EventHandler onSpriteDragUpdate;
|
||||
public event EventHandler SpriteDragUpdate
|
||||
{
|
||||
add
|
||||
{
|
||||
onSpriteMoved += value;
|
||||
onSpriteDragUpdate += value;
|
||||
}
|
||||
remove
|
||||
{
|
||||
onSpriteMoved -= value;
|
||||
onSpriteDragUpdate -= value;
|
||||
}
|
||||
}
|
||||
|
||||
private EventHandler onSpriteDragCompleted;
|
||||
public event EventHandler SpriteDragCompleted
|
||||
{
|
||||
add
|
||||
{
|
||||
onSpriteDragCompleted += value;
|
||||
}
|
||||
remove
|
||||
{
|
||||
onSpriteDragCompleted -= value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,6 +109,7 @@ namespace AnimationEditor
|
||||
FullGridLineColor = new Color(145, 135, 120);
|
||||
HalfGridLineColor = new Color(120, 117, 115);
|
||||
PixelGridLineColor = new Color(113, 110, 108);
|
||||
background = new Color(BackColor.R, BackColor.G, BackColor.B);
|
||||
CameraLocation = new Vector3();
|
||||
ZoomLevel = 1;
|
||||
}
|
||||
@@ -134,6 +151,10 @@ namespace AnimationEditor
|
||||
if (hovering)
|
||||
Cursor = System.Windows.Forms.Cursors.Default;
|
||||
hovering = false;
|
||||
if (dragging && totalDragDist != Vector2.Zero)
|
||||
{
|
||||
OnSpriteDragCompleted(new Modifications.SpriteDragArgs(totalDragDist));
|
||||
}
|
||||
dragging = false;
|
||||
}
|
||||
|
||||
@@ -180,10 +201,22 @@ namespace AnimationEditor
|
||||
}
|
||||
|
||||
if (mState.LeftButton == ButtonState.Pressed && mState.RightButton != ButtonState.Pressed && mState_old.LeftButton != ButtonState.Pressed)
|
||||
{
|
||||
dragging = hovering;
|
||||
if (dragging)
|
||||
{
|
||||
totalDragDist = Vector2.Zero;
|
||||
}
|
||||
}
|
||||
|
||||
if (mState.LeftButton != ButtonState.Pressed)
|
||||
{
|
||||
if(dragging && totalDragDist != Vector2.Zero)
|
||||
{
|
||||
OnSpriteDragCompleted(new Modifications.SpriteDragArgs(totalDragDist));
|
||||
}
|
||||
dragging = false;
|
||||
}
|
||||
|
||||
if (dragging)
|
||||
{
|
||||
@@ -194,11 +227,12 @@ namespace AnimationEditor
|
||||
|
||||
if (distMoved != Vector2.Zero)
|
||||
{
|
||||
totalDragDist += distMoved;
|
||||
foreach(Sprite spr in EditSprites)
|
||||
{
|
||||
spr.Offset += distMoved;
|
||||
}
|
||||
OnSpriteMoved(new EventArgs());
|
||||
OnSpriteDragUpdate(new EventArgs());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -231,9 +265,14 @@ namespace AnimationEditor
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void OnSpriteMoved(EventArgs e)
|
||||
protected virtual void OnSpriteDragCompleted(EventArgs e)
|
||||
{
|
||||
onSpriteMoved?.Invoke(this, e);
|
||||
onSpriteDragCompleted?.Invoke(this, e);
|
||||
}
|
||||
|
||||
protected virtual void OnSpriteDragUpdate(EventArgs e)
|
||||
{
|
||||
onSpriteDragUpdate?.Invoke(this, e);
|
||||
}
|
||||
|
||||
protected virtual void OnFrameChanged(EventArgs e)
|
||||
@@ -257,7 +296,7 @@ namespace AnimationEditor
|
||||
Matrix centerMatrix = Matrix.CreateTranslation(new Vector3(centerPoint, 0));
|
||||
Matrix transformMatrix = cameraMatrix * zoomMatrix * centerMatrix;
|
||||
|
||||
Editor.graphics.Clear(Color.DimGray);
|
||||
Editor.graphics.Clear(background);
|
||||
|
||||
Editor.spriteBatch.Begin();
|
||||
DrawGrid();
|
||||
|
||||
@@ -1,141 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="loadSpriteSheetDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="loadSpriteMapDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>190, 17</value>
|
||||
</metadata>
|
||||
<metadata name="mainMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>357, 17</value>
|
||||
</metadata>
|
||||
<metadata name="saveAnimationDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>492, 17</value>
|
||||
</metadata>
|
||||
<metadata name="saveAnimationSetDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>659, 17</value>
|
||||
</metadata>
|
||||
<metadata name="loadAnimationDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>843, 17</value>
|
||||
</metadata>
|
||||
<metadata name="loadAnimationSetDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1010, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -22,6 +22,19 @@ namespace AnimationEditor.Modifications
|
||||
get { return position < changes.Count - 1; }
|
||||
}
|
||||
|
||||
private EventHandler onHistoryUpdated;
|
||||
public event EventHandler HistoryUpdated
|
||||
{
|
||||
add
|
||||
{
|
||||
onHistoryUpdated += value;
|
||||
}
|
||||
remove
|
||||
{
|
||||
onHistoryUpdated -= value;
|
||||
}
|
||||
}
|
||||
|
||||
public History()
|
||||
{
|
||||
changes = new List<IModification>();
|
||||
@@ -35,6 +48,7 @@ namespace AnimationEditor.Modifications
|
||||
}
|
||||
changes.Add(change);
|
||||
position = changes.Count - 1;
|
||||
OnHistoryUpdated();
|
||||
}
|
||||
|
||||
public void Undo()
|
||||
@@ -43,6 +57,7 @@ namespace AnimationEditor.Modifications
|
||||
{
|
||||
changes[position].Undo();
|
||||
position--;
|
||||
OnHistoryUpdated();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,6 +68,7 @@ namespace AnimationEditor.Modifications
|
||||
Console.Write("Hist.Pos(" + position + "): ");
|
||||
ModHelper.UndoAndRestoreSelection(changes[position], animBox, frameBox, spriteBox);
|
||||
position--;
|
||||
OnHistoryUpdated();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,6 +78,7 @@ namespace AnimationEditor.Modifications
|
||||
{
|
||||
changes[position + 1].Do();
|
||||
position++;
|
||||
OnHistoryUpdated();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,6 +89,7 @@ namespace AnimationEditor.Modifications
|
||||
Console.Write("Hist.Pos(" + position + "): ");
|
||||
ModHelper.RedoAndRestoreSelection(changes[position + 1], animBox, frameBox, spriteBox);
|
||||
position++;
|
||||
OnHistoryUpdated();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,5 +108,10 @@ namespace AnimationEditor.Modifications
|
||||
else
|
||||
return "Redo " + changes[position + 1];
|
||||
}
|
||||
|
||||
public void OnHistoryUpdated()
|
||||
{
|
||||
onHistoryUpdated?.Invoke(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ namespace AnimationEditor.Modifications
|
||||
private BindingList<Sprite> sprites;
|
||||
private ListBox listBox;
|
||||
private List<int> indices;
|
||||
private Dictionary<int, Vector2> originalPositions;
|
||||
private Vector2 dist;
|
||||
|
||||
public MoveSprite(BindingList<Sprite> spriteList, ListBox spriteListBox, Vector2 distance)
|
||||
@@ -27,11 +26,9 @@ namespace AnimationEditor.Modifications
|
||||
sprites = spriteList;
|
||||
listBox = spriteListBox;
|
||||
indices = new List<int>();
|
||||
originalPositions = new Dictionary<int, Vector2>();
|
||||
foreach (int i in spriteListBox.SelectedIndices)
|
||||
foreach(int index in spriteListBox.SelectedIndices)
|
||||
{
|
||||
indices.Add(i);
|
||||
originalPositions.Add(i, sprites[i].Offset);
|
||||
indices.Add(index);
|
||||
}
|
||||
dist = distance;
|
||||
}
|
||||
@@ -48,7 +45,7 @@ namespace AnimationEditor.Modifications
|
||||
{
|
||||
foreach (int index in indices)
|
||||
{
|
||||
sprites[index].Offset = originalPositions[index];
|
||||
sprites[index].Offset -= dist;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ namespace AnimationEditor.Modifications
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return "Move Sprite";
|
||||
return "Reorder Sprite";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using Microsoft.Xna.Framework;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AnimationEditor.Modifications
|
||||
{
|
||||
class SpriteDragArgs : EventArgs
|
||||
{
|
||||
public Vector2 DragDistance { get; private set; }
|
||||
|
||||
public SpriteDragArgs(Vector2 drag)
|
||||
{
|
||||
DragDistance = drag;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@ namespace AnimationEditor
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
Application.Run(new AnimationEditor());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,5 +59,105 @@ namespace AnimationEditor.Properties {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap createnew {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("createnew", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap delete {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("delete", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap delete_bold {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("delete_bold", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap duplicate {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("duplicate", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap insert {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("insert", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap movedown {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("movedown", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap moveup {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("moveup", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap pause {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("pause", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap play {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("play", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap replace {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("replace", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,4 +117,35 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="createnew" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\createnew.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="delete_bold" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\delete_bold.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="duplicate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\duplicate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="insert" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\insert.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="movedown" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\movedown.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="moveup" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\moveup.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="pause" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\pause.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="play" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\play.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="replace" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\replace.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
|
Before Width: | Height: | Size: 987 B |
|
Before Width: | Height: | Size: 991 B |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
@@ -3,10 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27703.2047
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PuzzSwap", "PuzzSwap\PuzzSwap.csproj", "{CD753795-0CB4-4F05-A0E7-2D2EFC968D82}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "QURO", "QURO\QURO.csproj", "{4581E0C8-B14A-454D-9A7B-52D37535E7E9}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpriteMapEditor", "SpriteMapEditor\SpriteMapEditor.csproj", "{2AF6999F-93F0-4096-9BC1-863CEE5E7791}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnimationEditor", "AnimationEditor\AnimationEditor.csproj", "{01280C24-6439-4186-ABA3-5686A2B66C45}"
|
||||
@@ -17,14 +13,6 @@ Global
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{CD753795-0CB4-4F05-A0E7-2D2EFC968D82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CD753795-0CB4-4F05-A0E7-2D2EFC968D82}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CD753795-0CB4-4F05-A0E7-2D2EFC968D82}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CD753795-0CB4-4F05-A0E7-2D2EFC968D82}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4581E0C8-B14A-454D-9A7B-52D37535E7E9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2AF6999F-93F0-4096-9BC1-863CEE5E7791}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2AF6999F-93F0-4096-9BC1-863CEE5E7791}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2AF6999F-93F0-4096-9BC1-863CEE5E7791}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
@@ -0,0 +1,17 @@
|
||||
# QUROGames Animation Tools
|
||||
|
||||
Tools for creating sprite animations from single-image spritesheets, for use with the MonoGame framework.
|
||||
|
||||
## Screenshots
|
||||
|
||||
### Animation Studio
|
||||

|
||||
|
||||
### Sprite Map Editor
|
||||

|
||||
|
||||
## About
|
||||
|
||||
Written between November 2018 and January 2019 as my first foray into desktop application development using Forms. Until developing these tools, I had been hard-coding my sprite information and animation data in my projects and found the process to be very obtuse. I wished to make it more accessible for content creators to create sprite animations for use in MonoGame, so I created these tools to ease the process.
|
||||
|
||||
While I didn't end up using these tools much (I switched to Godot for game development soon after their completion), I learnt a lot about UI development and the data structures required to build simple 2D animations with multiple components.
|
||||
@@ -16,7 +16,7 @@ namespace SpriteMapEditor
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
Application.Run(new SpriteMapEditor());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
namespace SpriteMapEditor
|
||||
{
|
||||
partial class Form1
|
||||
partial class SpriteMapEditor
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
@@ -60,7 +60,7 @@
|
||||
this.loadMapDialog = new System.Windows.Forms.OpenFileDialog();
|
||||
this.saveMapDialog = new System.Windows.Forms.SaveFileDialog();
|
||||
this.spriteViewerPanel = new System.Windows.Forms.Panel();
|
||||
this.spriteSheetViewer = new SpriteMapEditor.PictureBoxWithInterpolationMode();
|
||||
this.spriteSheetViewer = new global::SpriteMapEditor.PictureBoxWithInterpolationMode();
|
||||
this.zoomInButton = new System.Windows.Forms.Button();
|
||||
this.zoomOutButton = new System.Windows.Forms.Button();
|
||||
this.zoomLabel = new System.Windows.Forms.Label();
|
||||
@@ -19,7 +19,7 @@ using SpriteMapEditor.SpriteMapModifications;
|
||||
|
||||
namespace SpriteMapEditor
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
public partial class SpriteMapEditor : Form
|
||||
{
|
||||
private History undoHistory;
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace SpriteMapEditor
|
||||
|
||||
private List<Microsoft.Xna.Framework.Rectangle> preDragBounds;
|
||||
|
||||
public Form1()
|
||||
public SpriteMapEditor()
|
||||
{
|
||||
InitializeComponent();
|
||||
FormBorderStyle = FormBorderStyle.Sizable;
|
||||
@@ -38,6 +38,9 @@
|
||||
<Reference Include="MonoGame.Framework.Content.Pipeline">
|
||||
<HintPath>C:\Program Files (x86)\MSBuild\MonoGame\v3.0\Tools\MonoGame.Framework.Content.Pipeline.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="QURO">
|
||||
<HintPath>..\..\QURO\QURO\bin\Release\QURO.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
@@ -52,11 +55,11 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DirectBitmap.cs" />
|
||||
<Compile Include="Form1.cs">
|
||||
<Compile Include="SpriteMapEditor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
<Compile Include="SpriteMapEditor.Designer.cs">
|
||||
<DependentUpon>SpriteMapEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SpriteMapModifications\ApplyOriginPreset.cs" />
|
||||
<Compile Include="SpriteMapModifications\ModHelper.cs" />
|
||||
@@ -76,8 +79,8 @@
|
||||
<Compile Include="SpriteMapModifications\RemoveSprite.cs" />
|
||||
<Compile Include="SpriteMapModifications\RenameSprite.cs" />
|
||||
<Compile Include="SpriteMapProject.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
<EmbeddedResource Include="SpriteMapEditor.resx">
|
||||
<DependentUpon>SpriteMapEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
@@ -102,12 +105,6 @@
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\QURO\QURO.csproj">
|
||||
<Project>{4581e0c8-b14a-454d-9a7b-52d37535e7e9}</Project>
|
||||
<Name>QURO</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\originPointer_black.png" />
|
||||
</ItemGroup>
|
||||
|
||||
|
After Width: | Height: | Size: 7.1 MiB |
|
After Width: | Height: | Size: 24 KiB |