diff --git a/ShiningEditor.sln b/ShiningEditor.sln new file mode 100644 index 0000000..409c5f6 --- /dev/null +++ b/ShiningEditor.sln @@ -0,0 +1,38 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26430.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShiningEditor", "ShiningEditor\ShiningEditor.csproj", "{A989E911-FC45-4495-B80B-7A344F5A6B53}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "ShiningEditorSetup", "ShiningEditorSetup\ShiningEditorSetup.vdproj", "{94D20EB6-FEEE-4A5D-9044-2F199C897674}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + CD_ROM|Any CPU = CD_ROM|Any CPU + Debug|Any CPU = Debug|Any CPU + DVD-5|Any CPU = DVD-5|Any CPU + Release|Any CPU = Release|Any CPU + SingleImage|Any CPU = SingleImage|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A989E911-FC45-4495-B80B-7A344F5A6B53}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU + {A989E911-FC45-4495-B80B-7A344F5A6B53}.CD_ROM|Any CPU.Build.0 = Release|Any CPU + {A989E911-FC45-4495-B80B-7A344F5A6B53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A989E911-FC45-4495-B80B-7A344F5A6B53}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A989E911-FC45-4495-B80B-7A344F5A6B53}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU + {A989E911-FC45-4495-B80B-7A344F5A6B53}.DVD-5|Any CPU.Build.0 = Debug|Any CPU + {A989E911-FC45-4495-B80B-7A344F5A6B53}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A989E911-FC45-4495-B80B-7A344F5A6B53}.Release|Any CPU.Build.0 = Release|Any CPU + {A989E911-FC45-4495-B80B-7A344F5A6B53}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU + {A989E911-FC45-4495-B80B-7A344F5A6B53}.SingleImage|Any CPU.Build.0 = Release|Any CPU + {94D20EB6-FEEE-4A5D-9044-2F199C897674}.CD_ROM|Any CPU.ActiveCfg = Release + {94D20EB6-FEEE-4A5D-9044-2F199C897674}.Debug|Any CPU.ActiveCfg = Debug + {94D20EB6-FEEE-4A5D-9044-2F199C897674}.DVD-5|Any CPU.ActiveCfg = Debug + {94D20EB6-FEEE-4A5D-9044-2F199C897674}.Release|Any CPU.ActiveCfg = Release + {94D20EB6-FEEE-4A5D-9044-2F199C897674}.SingleImage|Any CPU.ActiveCfg = Release + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ShiningEditor/AboutForm.Designer.cs b/ShiningEditor/AboutForm.Designer.cs new file mode 100644 index 0000000..a44a30b --- /dev/null +++ b/ShiningEditor/AboutForm.Designer.cs @@ -0,0 +1,108 @@ +namespace ShiningEditor +{ + partial class AboutForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(16, 101); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(282, 13); + this.label1.TabIndex = 0; + this.label1.Text = "Shining Editor is a Genesis / Mega Drive save state editor."; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(16, 118); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(345, 13); + this.label2.TabIndex = 1; + this.label2.Text = "It allows a user to edit the party\'s gold, experience, and various stats for "; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(16, 135); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(250, 13); + this.label3.TabIndex = 2; + this.label3.Text = "each playable character in Shining in the Darkness."; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(16, 13); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(72, 13); + this.label4.TabIndex = 3; + this.label4.Text = "Shining Editor"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(16, 39); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(120, 13); + this.label5.TabIndex = 4; + this.label5.Text = "Programmed by: Fuindin"; + // + // AboutForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(414, 339); + this.Controls.Add(this.label5); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Name = "AboutForm"; + this.Text = "About Shining Editor"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + } +} \ No newline at end of file diff --git a/ShiningEditor/AboutForm.cs b/ShiningEditor/AboutForm.cs new file mode 100644 index 0000000..778e18c --- /dev/null +++ b/ShiningEditor/AboutForm.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ShiningEditor +{ + public partial class AboutForm : Form + { + public AboutForm() + { + InitializeComponent(); + } + } +} diff --git a/ShiningEditor/AboutForm.resx b/ShiningEditor/AboutForm.resx new file mode 100644 index 0000000..29dcb1b --- /dev/null +++ b/ShiningEditor/AboutForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ShiningEditor/App.config b/ShiningEditor/App.config new file mode 100644 index 0000000..fad249e --- /dev/null +++ b/ShiningEditor/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ShiningEditor/ErrorLogView.Designer.cs b/ShiningEditor/ErrorLogView.Designer.cs new file mode 100644 index 0000000..a896bb3 --- /dev/null +++ b/ShiningEditor/ErrorLogView.Designer.cs @@ -0,0 +1,64 @@ +namespace ShiningEditor +{ + partial class ErrorLogView + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.outputTb = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // outputTb + // + this.outputTb.BackColor = System.Drawing.Color.White; + this.outputTb.Location = new System.Drawing.Point(13, 13); + this.outputTb.Multiline = true; + this.outputTb.Name = "outputTb"; + this.outputTb.ReadOnly = true; + this.outputTb.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.outputTb.Size = new System.Drawing.Size(735, 600); + this.outputTb.TabIndex = 0; + // + // ErrorLogView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(760, 625); + this.Controls.Add(this.outputTb); + this.Name = "ErrorLogView"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Error Log View"; + this.Load += new System.EventHandler(this.ErrorLogView_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox outputTb; + } +} \ No newline at end of file diff --git a/ShiningEditor/ErrorLogView.cs b/ShiningEditor/ErrorLogView.cs new file mode 100644 index 0000000..ba2acd4 --- /dev/null +++ b/ShiningEditor/ErrorLogView.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.IO; + +namespace ShiningEditor +{ + public partial class ErrorLogView : Form + { + public ErrorLogView() + { + InitializeComponent(); + } + + private void ErrorLogView_Load(object sender, EventArgs e) + { + outputTb.Text = ReadErrorLog(); + } + + private string ReadErrorLog() + { + string logText = string.Empty; + + // Create error log path + string filePath = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath); + filePath += @"\errorlog.txt"; + + // Create reader object + TextReader reader = null; + + // Make sure file exists + if (File.Exists(filePath)) + { + try + { + // Open file + reader = new StreamReader(filePath); + + // Read the log info + if (reader != null) + logText = reader.ReadToEnd(); + } + catch (IOException ioE) + { + outputTb.Text = ioE.Message + " Occurred during call to ReadErrorLog()."; + } + catch (OutOfMemoryException oomE) + { + outputTb.Text = oomE.Message + " Occurred during call to ReadErrorLog()."; + } + catch (NullReferenceException nE) + { + outputTb.Text = nE.Message + " Occurred during call to ReadErrorLog()."; + } + catch (Exception e) + { + outputTb.Text = e.Message + " Occurred during call to ReadErrorLog()."; + } + finally + { + // Close the stream + reader.Close(); + } + } + + return logText; + } + } +} diff --git a/ShiningEditor/ErrorLogView.resx b/ShiningEditor/ErrorLogView.resx new file mode 100644 index 0000000..29dcb1b --- /dev/null +++ b/ShiningEditor/ErrorLogView.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ShiningEditor/MainForm.Designer.cs b/ShiningEditor/MainForm.Designer.cs new file mode 100644 index 0000000..9da2a84 --- /dev/null +++ b/ShiningEditor/MainForm.Designer.cs @@ -0,0 +1,750 @@ +namespace ShiningEditor +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.gameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.shiningInTheDarknessToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.viewErrorLogToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clearErrorLogToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.browseBtn = new System.Windows.Forms.Button(); + this.saveStateFileTb = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.shiningPanel = new System.Windows.Forms.Panel(); + this.updSaveStateBtn = new System.Windows.Forms.Button(); + this.label39 = new System.Windows.Forms.Label(); + this.label38 = new System.Windows.Forms.Label(); + this.label36 = new System.Windows.Forms.Label(); + this.label35 = new System.Windows.Forms.Label(); + this.shiningNewAttackTb = new System.Windows.Forms.TextBox(); + this.shiningNewLuckTb = new System.Windows.Forms.TextBox(); + this.shiningDefTb = new System.Windows.Forms.TextBox(); + this.shiningAttackTb = new System.Windows.Forms.TextBox(); + this.shiningLuckTb = new System.Windows.Forms.TextBox(); + this.shiningSpeedTb = new System.Windows.Forms.TextBox(); + this.label34 = new System.Windows.Forms.Label(); + this.shiningNewIQTb = new System.Windows.Forms.TextBox(); + this.shiningIQTb = new System.Windows.Forms.TextBox(); + this.maxTPLbl = new System.Windows.Forms.Label(); + this.curTPLbl = new System.Windows.Forms.Label(); + this.label29 = new System.Windows.Forms.Label(); + this.label78 = new System.Windows.Forms.Label(); + this.shiningNewMaxMPTb = new System.Windows.Forms.TextBox(); + this.shiningNewCurMPTb = new System.Windows.Forms.TextBox(); + this.shiningNewMaxHPTb = new System.Windows.Forms.TextBox(); + this.shiningNewCurHPTb = new System.Windows.Forms.TextBox(); + this.shiningMaxMPTb = new System.Windows.Forms.TextBox(); + this.shiningCurMPTb = new System.Windows.Forms.TextBox(); + this.shiningMaxHPTb = new System.Windows.Forms.TextBox(); + this.shiningCurHPTb = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label33 = new System.Windows.Forms.Label(); + this.shiningNewExpTb = new System.Windows.Forms.TextBox(); + this.shiningExpTb = new System.Windows.Forms.TextBox(); + this.label40 = new System.Windows.Forms.Label(); + this.label42 = new System.Windows.Forms.Label(); + this.label41 = new System.Windows.Forms.Label(); + this.shiningLevelTb = new System.Windows.Forms.TextBox(); + this.label28 = new System.Windows.Forms.Label(); + this.label77 = new System.Windows.Forms.Label(); + this.shiningNewGoldTb = new System.Windows.Forms.TextBox(); + this.label27 = new System.Windows.Forms.Label(); + this.shiningCurGoldTb = new System.Windows.Forms.TextBox(); + this.label26 = new System.Windows.Forms.Label(); + this.label43 = new System.Windows.Forms.Label(); + this.shiningCharacterCmb = new System.Windows.Forms.ComboBox(); + this.label2 = new System.Windows.Forms.Label(); + this.shiningPic = new System.Windows.Forms.PictureBox(); + this.openFD = new System.Windows.Forms.OpenFileDialog(); + this.menuStrip1.SuspendLayout(); + this.shiningPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.shiningPic)).BeginInit(); + this.SuspendLayout(); + // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.gameToolStripMenuItem, + this.helpToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(714, 24); + this.menuStrip1.TabIndex = 0; + this.menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.exitToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "File"; + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(92, 22); + this.exitToolStripMenuItem.Text = "Exit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // + // gameToolStripMenuItem + // + this.gameToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.shiningInTheDarknessToolStripMenuItem}); + this.gameToolStripMenuItem.Name = "gameToolStripMenuItem"; + this.gameToolStripMenuItem.Size = new System.Drawing.Size(50, 20); + this.gameToolStripMenuItem.Text = "Game"; + // + // shiningInTheDarknessToolStripMenuItem + // + this.shiningInTheDarknessToolStripMenuItem.Name = "shiningInTheDarknessToolStripMenuItem"; + this.shiningInTheDarknessToolStripMenuItem.Size = new System.Drawing.Size(197, 22); + this.shiningInTheDarknessToolStripMenuItem.Text = "Shining in the Darkness"; + this.shiningInTheDarknessToolStripMenuItem.Click += new System.EventHandler(this.shiningInTheDarknessToolStripMenuItem_Click); + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.viewErrorLogToolStripMenuItem, + this.clearErrorLogToolStripMenuItem, + this.aboutToolStripMenuItem}); + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); + this.helpToolStripMenuItem.Text = "Help"; + // + // viewErrorLogToolStripMenuItem + // + this.viewErrorLogToolStripMenuItem.Name = "viewErrorLogToolStripMenuItem"; + this.viewErrorLogToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.viewErrorLogToolStripMenuItem.Text = "View Error Log"; + this.viewErrorLogToolStripMenuItem.Click += new System.EventHandler(this.viewErrorLogToolStripMenuItem_Click); + // + // clearErrorLogToolStripMenuItem + // + this.clearErrorLogToolStripMenuItem.Name = "clearErrorLogToolStripMenuItem"; + this.clearErrorLogToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.clearErrorLogToolStripMenuItem.Text = "Clear Error Log"; + this.clearErrorLogToolStripMenuItem.Click += new System.EventHandler(this.clearErrorLogToolStripMenuItem_Click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.aboutToolStripMenuItem.Text = "About"; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); + // + // browseBtn + // + this.browseBtn.Location = new System.Drawing.Point(276, 48); + this.browseBtn.Name = "browseBtn"; + this.browseBtn.Size = new System.Drawing.Size(75, 23); + this.browseBtn.TabIndex = 5; + this.browseBtn.Text = "Browse"; + this.browseBtn.UseVisualStyleBackColor = true; + this.browseBtn.Click += new System.EventHandler(this.browseBtn_Click); + // + // saveStateFileTb + // + this.saveStateFileTb.Location = new System.Drawing.Point(14, 50); + this.saveStateFileTb.Name = "saveStateFileTb"; + this.saveStateFileTb.Size = new System.Drawing.Size(247, 20); + this.saveStateFileTb.TabIndex = 4; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(11, 33); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(79, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Save State File"; + // + // shiningPanel + // + this.shiningPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.shiningPanel.Controls.Add(this.updSaveStateBtn); + this.shiningPanel.Controls.Add(this.label39); + this.shiningPanel.Controls.Add(this.label38); + this.shiningPanel.Controls.Add(this.label36); + this.shiningPanel.Controls.Add(this.label35); + this.shiningPanel.Controls.Add(this.shiningNewAttackTb); + this.shiningPanel.Controls.Add(this.shiningNewLuckTb); + this.shiningPanel.Controls.Add(this.shiningDefTb); + this.shiningPanel.Controls.Add(this.shiningAttackTb); + this.shiningPanel.Controls.Add(this.shiningLuckTb); + this.shiningPanel.Controls.Add(this.shiningSpeedTb); + this.shiningPanel.Controls.Add(this.label34); + this.shiningPanel.Controls.Add(this.shiningNewIQTb); + this.shiningPanel.Controls.Add(this.shiningIQTb); + this.shiningPanel.Controls.Add(this.maxTPLbl); + this.shiningPanel.Controls.Add(this.curTPLbl); + this.shiningPanel.Controls.Add(this.label29); + this.shiningPanel.Controls.Add(this.label78); + this.shiningPanel.Controls.Add(this.shiningNewMaxMPTb); + this.shiningPanel.Controls.Add(this.shiningNewCurMPTb); + this.shiningPanel.Controls.Add(this.shiningNewMaxHPTb); + this.shiningPanel.Controls.Add(this.shiningNewCurHPTb); + this.shiningPanel.Controls.Add(this.shiningMaxMPTb); + this.shiningPanel.Controls.Add(this.shiningCurMPTb); + this.shiningPanel.Controls.Add(this.shiningMaxHPTb); + this.shiningPanel.Controls.Add(this.shiningCurHPTb); + this.shiningPanel.Controls.Add(this.label3); + this.shiningPanel.Controls.Add(this.label33); + this.shiningPanel.Controls.Add(this.shiningNewExpTb); + this.shiningPanel.Controls.Add(this.shiningExpTb); + this.shiningPanel.Controls.Add(this.label40); + this.shiningPanel.Controls.Add(this.label42); + this.shiningPanel.Controls.Add(this.label41); + this.shiningPanel.Controls.Add(this.shiningLevelTb); + this.shiningPanel.Controls.Add(this.label28); + this.shiningPanel.Controls.Add(this.label77); + this.shiningPanel.Controls.Add(this.shiningNewGoldTb); + this.shiningPanel.Controls.Add(this.label27); + this.shiningPanel.Controls.Add(this.shiningCurGoldTb); + this.shiningPanel.Controls.Add(this.label26); + this.shiningPanel.Controls.Add(this.label43); + this.shiningPanel.Controls.Add(this.shiningCharacterCmb); + this.shiningPanel.Controls.Add(this.label2); + this.shiningPanel.Controls.Add(this.shiningPic); + this.shiningPanel.Location = new System.Drawing.Point(7, 80); + this.shiningPanel.Name = "shiningPanel"; + this.shiningPanel.Size = new System.Drawing.Size(700, 487); + this.shiningPanel.TabIndex = 6; + // + // updSaveStateBtn + // + this.updSaveStateBtn.Location = new System.Drawing.Point(554, 438); + this.updSaveStateBtn.Name = "updSaveStateBtn"; + this.updSaveStateBtn.Size = new System.Drawing.Size(129, 23); + this.updSaveStateBtn.TabIndex = 162; + this.updSaveStateBtn.Text = "Update Save State"; + this.updSaveStateBtn.UseVisualStyleBackColor = true; + this.updSaveStateBtn.Click += new System.EventHandler(this.updSaveStateBtn_Click); + // + // label39 + // + this.label39.AutoSize = true; + this.label39.Location = new System.Drawing.Point(34, 443); + this.label39.Name = "label39"; + this.label39.Size = new System.Drawing.Size(50, 13); + this.label39.TabIndex = 148; + this.label39.Text = "Defense:"; + this.label39.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // label38 + // + this.label38.AutoSize = true; + this.label38.Location = new System.Drawing.Point(43, 415); + this.label38.Name = "label38"; + this.label38.Size = new System.Drawing.Size(41, 13); + this.label38.TabIndex = 149; + this.label38.Text = "Attack:"; + this.label38.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // label36 + // + this.label36.AutoSize = true; + this.label36.Location = new System.Drawing.Point(50, 387); + this.label36.Name = "label36"; + this.label36.Size = new System.Drawing.Size(34, 13); + this.label36.TabIndex = 151; + this.label36.Text = "Luck:"; + this.label36.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // label35 + // + this.label35.AutoSize = true; + this.label35.Location = new System.Drawing.Point(44, 359); + this.label35.Name = "label35"; + this.label35.Size = new System.Drawing.Size(41, 13); + this.label35.TabIndex = 152; + this.label35.Text = "Speed:"; + this.label35.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // shiningNewAttackTb + // + this.shiningNewAttackTb.Location = new System.Drawing.Point(240, 412); + this.shiningNewAttackTb.Name = "shiningNewAttackTb"; + this.shiningNewAttackTb.Size = new System.Drawing.Size(130, 20); + this.shiningNewAttackTb.TabIndex = 160; + // + // shiningNewLuckTb + // + this.shiningNewLuckTb.Location = new System.Drawing.Point(240, 384); + this.shiningNewLuckTb.Name = "shiningNewLuckTb"; + this.shiningNewLuckTb.Size = new System.Drawing.Size(130, 20); + this.shiningNewLuckTb.TabIndex = 156; + // + // shiningDefTb + // + this.shiningDefTb.BackColor = System.Drawing.Color.White; + this.shiningDefTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningDefTb.Location = new System.Drawing.Point(89, 440); + this.shiningDefTb.Name = "shiningDefTb"; + this.shiningDefTb.ReadOnly = true; + this.shiningDefTb.Size = new System.Drawing.Size(132, 20); + this.shiningDefTb.TabIndex = 161; + // + // shiningAttackTb + // + this.shiningAttackTb.BackColor = System.Drawing.Color.White; + this.shiningAttackTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningAttackTb.Location = new System.Drawing.Point(89, 412); + this.shiningAttackTb.Name = "shiningAttackTb"; + this.shiningAttackTb.ReadOnly = true; + this.shiningAttackTb.Size = new System.Drawing.Size(132, 20); + this.shiningAttackTb.TabIndex = 159; + // + // shiningLuckTb + // + this.shiningLuckTb.BackColor = System.Drawing.Color.White; + this.shiningLuckTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningLuckTb.Location = new System.Drawing.Point(89, 384); + this.shiningLuckTb.Name = "shiningLuckTb"; + this.shiningLuckTb.ReadOnly = true; + this.shiningLuckTb.Size = new System.Drawing.Size(132, 20); + this.shiningLuckTb.TabIndex = 155; + // + // shiningSpeedTb + // + this.shiningSpeedTb.BackColor = System.Drawing.Color.White; + this.shiningSpeedTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningSpeedTb.Location = new System.Drawing.Point(89, 356); + this.shiningSpeedTb.Name = "shiningSpeedTb"; + this.shiningSpeedTb.ReadOnly = true; + this.shiningSpeedTb.Size = new System.Drawing.Size(132, 20); + this.shiningSpeedTb.TabIndex = 153; + // + // label34 + // + this.label34.AutoSize = true; + this.label34.Location = new System.Drawing.Point(64, 332); + this.label34.Name = "label34"; + this.label34.Size = new System.Drawing.Size(21, 13); + this.label34.TabIndex = 145; + this.label34.Text = "IQ:"; + this.label34.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // shiningNewIQTb + // + this.shiningNewIQTb.Location = new System.Drawing.Point(240, 329); + this.shiningNewIQTb.Name = "shiningNewIQTb"; + this.shiningNewIQTb.Size = new System.Drawing.Size(130, 20); + this.shiningNewIQTb.TabIndex = 147; + // + // shiningIQTb + // + this.shiningIQTb.BackColor = System.Drawing.Color.White; + this.shiningIQTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningIQTb.Location = new System.Drawing.Point(89, 329); + this.shiningIQTb.Name = "shiningIQTb"; + this.shiningIQTb.ReadOnly = true; + this.shiningIQTb.Size = new System.Drawing.Size(132, 20); + this.shiningIQTb.TabIndex = 146; + // + // maxTPLbl + // + this.maxTPLbl.AutoSize = true; + this.maxTPLbl.Location = new System.Drawing.Point(36, 304); + this.maxTPLbl.Name = "maxTPLbl"; + this.maxTPLbl.Size = new System.Drawing.Size(49, 13); + this.maxTPLbl.TabIndex = 133; + this.maxTPLbl.Text = "Max MP:"; + this.maxTPLbl.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // curTPLbl + // + this.curTPLbl.AutoSize = true; + this.curTPLbl.Location = new System.Drawing.Point(23, 272); + this.curTPLbl.Name = "curTPLbl"; + this.curTPLbl.Size = new System.Drawing.Size(63, 13); + this.curTPLbl.TabIndex = 134; + this.curTPLbl.Text = "Current MP:"; + this.curTPLbl.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // label29 + // + this.label29.AutoSize = true; + this.label29.Location = new System.Drawing.Point(36, 246); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(48, 13); + this.label29.TabIndex = 135; + this.label29.Text = "Max HP:"; + this.label29.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // label78 + // + this.label78.AutoSize = true; + this.label78.Location = new System.Drawing.Point(22, 218); + this.label78.Name = "label78"; + this.label78.Size = new System.Drawing.Size(62, 13); + this.label78.TabIndex = 136; + this.label78.Text = "Current HP:"; + this.label78.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // shiningNewMaxMPTb + // + this.shiningNewMaxMPTb.Location = new System.Drawing.Point(240, 301); + this.shiningNewMaxMPTb.Name = "shiningNewMaxMPTb"; + this.shiningNewMaxMPTb.Size = new System.Drawing.Size(130, 20); + this.shiningNewMaxMPTb.TabIndex = 144; + // + // shiningNewCurMPTb + // + this.shiningNewCurMPTb.Location = new System.Drawing.Point(240, 272); + this.shiningNewCurMPTb.Name = "shiningNewCurMPTb"; + this.shiningNewCurMPTb.Size = new System.Drawing.Size(130, 20); + this.shiningNewCurMPTb.TabIndex = 142; + // + // shiningNewMaxHPTb + // + this.shiningNewMaxHPTb.Location = new System.Drawing.Point(240, 243); + this.shiningNewMaxHPTb.Name = "shiningNewMaxHPTb"; + this.shiningNewMaxHPTb.Size = new System.Drawing.Size(130, 20); + this.shiningNewMaxHPTb.TabIndex = 140; + // + // shiningNewCurHPTb + // + this.shiningNewCurHPTb.Location = new System.Drawing.Point(240, 215); + this.shiningNewCurHPTb.Name = "shiningNewCurHPTb"; + this.shiningNewCurHPTb.Size = new System.Drawing.Size(130, 20); + this.shiningNewCurHPTb.TabIndex = 138; + // + // shiningMaxMPTb + // + this.shiningMaxMPTb.BackColor = System.Drawing.Color.White; + this.shiningMaxMPTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningMaxMPTb.Location = new System.Drawing.Point(89, 301); + this.shiningMaxMPTb.Name = "shiningMaxMPTb"; + this.shiningMaxMPTb.ReadOnly = true; + this.shiningMaxMPTb.Size = new System.Drawing.Size(132, 20); + this.shiningMaxMPTb.TabIndex = 143; + // + // shiningCurMPTb + // + this.shiningCurMPTb.BackColor = System.Drawing.Color.White; + this.shiningCurMPTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningCurMPTb.Location = new System.Drawing.Point(89, 272); + this.shiningCurMPTb.Name = "shiningCurMPTb"; + this.shiningCurMPTb.ReadOnly = true; + this.shiningCurMPTb.Size = new System.Drawing.Size(132, 20); + this.shiningCurMPTb.TabIndex = 141; + // + // shiningMaxHPTb + // + this.shiningMaxHPTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningMaxHPTb.Location = new System.Drawing.Point(89, 243); + this.shiningMaxHPTb.Name = "shiningMaxHPTb"; + this.shiningMaxHPTb.Size = new System.Drawing.Size(132, 20); + this.shiningMaxHPTb.TabIndex = 139; + // + // shiningCurHPTb + // + this.shiningCurHPTb.BackColor = System.Drawing.Color.White; + this.shiningCurHPTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningCurHPTb.Location = new System.Drawing.Point(89, 215); + this.shiningCurHPTb.Name = "shiningCurHPTb"; + this.shiningCurHPTb.ReadOnly = true; + this.shiningCurHPTb.Size = new System.Drawing.Size(132, 20); + this.shiningCurHPTb.TabIndex = 137; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label3.Location = new System.Drawing.Point(11, 29); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(529, 13); + this.label3.TabIndex = 132; + this.label3.Text = " " + + " " + + " "; + // + // label33 + // + this.label33.AutoSize = true; + this.label33.Location = new System.Drawing.Point(21, 191); + this.label33.Name = "label33"; + this.label33.Size = new System.Drawing.Size(63, 13); + this.label33.TabIndex = 129; + this.label33.Text = "Experience:"; + this.label33.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // shiningNewExpTb + // + this.shiningNewExpTb.Location = new System.Drawing.Point(240, 188); + this.shiningNewExpTb.Name = "shiningNewExpTb"; + this.shiningNewExpTb.Size = new System.Drawing.Size(130, 20); + this.shiningNewExpTb.TabIndex = 131; + // + // shiningExpTb + // + this.shiningExpTb.BackColor = System.Drawing.Color.White; + this.shiningExpTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningExpTb.Location = new System.Drawing.Point(89, 188); + this.shiningExpTb.Name = "shiningExpTb"; + this.shiningExpTb.ReadOnly = true; + this.shiningExpTb.Size = new System.Drawing.Size(132, 20); + this.shiningExpTb.TabIndex = 130; + // + // label40 + // + this.label40.AutoSize = true; + this.label40.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label40.Location = new System.Drawing.Point(18, 122); + this.label40.Name = "label40"; + this.label40.Size = new System.Drawing.Size(520, 13); + this.label40.TabIndex = 128; + this.label40.Text = "Stats " + + " "; + // + // label42 + // + this.label42.AutoSize = true; + this.label42.Location = new System.Drawing.Point(48, 166); + this.label42.Name = "label42"; + this.label42.Size = new System.Drawing.Size(36, 13); + this.label42.TabIndex = 14; + this.label42.Text = "Level:"; + this.label42.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // label41 + // + this.label41.AutoSize = true; + this.label41.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label41.Location = new System.Drawing.Point(239, 144); + this.label41.Name = "label41"; + this.label41.Size = new System.Drawing.Size(131, 13); + this.label41.TabIndex = 15; + this.label41.Text = "New "; + // + // shiningLevelTb + // + this.shiningLevelTb.BackColor = System.Drawing.Color.White; + this.shiningLevelTb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningLevelTb.Location = new System.Drawing.Point(89, 162); + this.shiningLevelTb.Name = "shiningLevelTb"; + this.shiningLevelTb.ReadOnly = true; + this.shiningLevelTb.Size = new System.Drawing.Size(132, 20); + this.shiningLevelTb.TabIndex = 17; + // + // label28 + // + this.label28.AutoSize = true; + this.label28.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label28.Location = new System.Drawing.Point(86, 144); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(137, 13); + this.label28.TabIndex = 16; + this.label28.Text = "Current "; + // + // label77 + // + this.label77.AutoSize = true; + this.label77.Location = new System.Drawing.Point(199, 68); + this.label77.Name = "label77"; + this.label77.Size = new System.Drawing.Size(32, 13); + this.label77.TabIndex = 8; + this.label77.Text = "Gold:"; + this.label77.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // shiningNewGoldTb + // + this.shiningNewGoldTb.Location = new System.Drawing.Point(407, 65); + this.shiningNewGoldTb.Name = "shiningNewGoldTb"; + this.shiningNewGoldTb.Size = new System.Drawing.Size(130, 20); + this.shiningNewGoldTb.TabIndex = 12; + // + // label27 + // + this.label27.AutoSize = true; + this.label27.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label27.Location = new System.Drawing.Point(404, 48); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(134, 13); + this.label27.TabIndex = 9; + this.label27.Text = "New "; + // + // shiningCurGoldTb + // + this.shiningCurGoldTb.BackColor = System.Drawing.Color.White; + this.shiningCurGoldTb.Location = new System.Drawing.Point(237, 65); + this.shiningCurGoldTb.Name = "shiningCurGoldTb"; + this.shiningCurGoldTb.ReadOnly = true; + this.shiningCurGoldTb.Size = new System.Drawing.Size(130, 20); + this.shiningCurGoldTb.TabIndex = 11; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label26.Location = new System.Drawing.Point(234, 48); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(134, 13); + this.label26.TabIndex = 10; + this.label26.Text = "Current "; + // + // label43 + // + this.label43.AutoSize = true; + this.label43.Location = new System.Drawing.Point(141, 102); + this.label43.Name = "label43"; + this.label43.Size = new System.Drawing.Size(89, 13); + this.label43.TabIndex = 6; + this.label43.Text = "Select Character:"; + this.label43.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // shiningCharacterCmb + // + this.shiningCharacterCmb.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.shiningCharacterCmb.FormattingEnabled = true; + this.shiningCharacterCmb.Location = new System.Drawing.Point(235, 99); + this.shiningCharacterCmb.Name = "shiningCharacterCmb"; + this.shiningCharacterCmb.Size = new System.Drawing.Size(132, 21); + this.shiningCharacterCmb.TabIndex = 7; + this.shiningCharacterCmb.SelectedIndexChanged += new System.EventHandler(this.shiningCharacterCmb_SelectedIndexChanged); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(6, 6); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(200, 20); + this.label2.TabIndex = 1; + this.label2.Text = "Shining in the Darkness"; + // + // shiningPic + // + this.shiningPic.Image = ((System.Drawing.Image)(resources.GetObject("shiningPic.Image"))); + this.shiningPic.Location = new System.Drawing.Point(551, 3); + this.shiningPic.Name = "shiningPic"; + this.shiningPic.Size = new System.Drawing.Size(143, 185); + this.shiningPic.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.shiningPic.TabIndex = 0; + this.shiningPic.TabStop = false; + // + // openFD + // + this.openFD.FileName = "openFD"; + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(714, 571); + this.Controls.Add(this.shiningPanel); + this.Controls.Add(this.browseBtn); + this.Controls.Add(this.saveStateFileTb); + this.Controls.Add(this.label1); + this.Controls.Add(this.menuStrip1); + this.MainMenuStrip = this.menuStrip1; + this.Name = "MainForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Shining Save State Editor"; + this.Load += new System.EventHandler(this.MainForm_Load); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.shiningPanel.ResumeLayout(false); + this.shiningPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.shiningPic)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem gameToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem shiningInTheDarknessToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem viewErrorLogToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clearErrorLogToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.Button browseBtn; + private System.Windows.Forms.TextBox saveStateFileTb; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Panel shiningPanel; + private System.Windows.Forms.PictureBox shiningPic; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label maxTPLbl; + private System.Windows.Forms.Label curTPLbl; + private System.Windows.Forms.Label label29; + private System.Windows.Forms.Label label78; + private System.Windows.Forms.TextBox shiningNewMaxMPTb; + private System.Windows.Forms.TextBox shiningNewCurMPTb; + private System.Windows.Forms.TextBox shiningNewMaxHPTb; + private System.Windows.Forms.TextBox shiningNewCurHPTb; + private System.Windows.Forms.TextBox shiningMaxMPTb; + private System.Windows.Forms.TextBox shiningCurMPTb; + private System.Windows.Forms.TextBox shiningMaxHPTb; + private System.Windows.Forms.TextBox shiningCurHPTb; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label33; + private System.Windows.Forms.TextBox shiningNewExpTb; + private System.Windows.Forms.TextBox shiningExpTb; + private System.Windows.Forms.Label label40; + private System.Windows.Forms.Label label42; + private System.Windows.Forms.Label label41; + private System.Windows.Forms.TextBox shiningLevelTb; + private System.Windows.Forms.Label label28; + private System.Windows.Forms.Label label77; + private System.Windows.Forms.TextBox shiningNewGoldTb; + private System.Windows.Forms.Label label27; + private System.Windows.Forms.TextBox shiningCurGoldTb; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.Label label43; + private System.Windows.Forms.ComboBox shiningCharacterCmb; + private System.Windows.Forms.Label label34; + private System.Windows.Forms.TextBox shiningNewIQTb; + private System.Windows.Forms.TextBox shiningIQTb; + private System.Windows.Forms.Label label39; + private System.Windows.Forms.Label label38; + private System.Windows.Forms.Label label36; + private System.Windows.Forms.Label label35; + private System.Windows.Forms.TextBox shiningNewAttackTb; + private System.Windows.Forms.TextBox shiningNewLuckTb; + private System.Windows.Forms.TextBox shiningDefTb; + private System.Windows.Forms.TextBox shiningAttackTb; + private System.Windows.Forms.TextBox shiningLuckTb; + private System.Windows.Forms.TextBox shiningSpeedTb; + private System.Windows.Forms.Button updSaveStateBtn; + private System.Windows.Forms.OpenFileDialog openFD; + } +} + diff --git a/ShiningEditor/MainForm.cs b/ShiningEditor/MainForm.cs new file mode 100644 index 0000000..acd89b8 --- /dev/null +++ b/ShiningEditor/MainForm.cs @@ -0,0 +1,715 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.IO; + +namespace ShiningEditor +{ + public partial class MainForm : Form + { + #region - Enums - + public enum AppPanel + { + All, + Shining, + None + } + #endregion + + #region - Class Fields - + private bool fileLoaded; + private const string SHINING_GOLD_LOC = "3B1C"; + private AppPanel activePanel; + #endregion + + #region - Class Properties - + public bool FileLoaded + { + get { return fileLoaded; } + set { fileLoaded = value; } + } + public AppPanel ActivePanel + { + get { return activePanel; } + set { activePanel = value; } + } + #endregion + + #region - Class Constructor - + public MainForm() + { + InitializeComponent(); + } + #endregion + + #region - Event Handlers - + private void MainForm_Load(object sender, EventArgs e) + { + ActivePanel = AppPanel.None; + ShowPanel(AppPanel.All, false); + FileLoaded = false; + } + + private void exitToolStripMenuItem_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void shiningInTheDarknessToolStripMenuItem_Click(object sender, EventArgs e) + { + ActivePanel = AppPanel.Shining; + saveStateFileTb.Text = string.Empty; + ResetShiningControls(true); + PopulateShiningCharacterList(); + ShowPanel(AppPanel.Shining, true); + } + + private void viewErrorLogToolStripMenuItem_Click(object sender, EventArgs e) + { + ErrorLogView errLogView = new ErrorLogView(); + errLogView.ShowDialog(); + } + + private void clearErrorLogToolStripMenuItem_Click(object sender, EventArgs e) + { + ClearErrorLog(); + } + + private void aboutToolStripMenuItem_Click(object sender, EventArgs e) + { + AboutForm aboutForm = new AboutForm(); + aboutForm.ShowDialog(); + } + + private void browseBtn_Click(object sender, EventArgs e) + { + string game = GetSelectedGameTitle(); + if (game != string.Empty) + { + // Set the open file dialog properties + openFD.Title = "Select a " + game + " save state file"; + openFD.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal); + openFD.FileName = ""; + + // Show the open file dialog and capture the selected file + if (openFD.ShowDialog() != DialogResult.Cancel) + { + saveStateFileTb.Text = openFD.FileName; + FileLoaded = true; + switch (ActivePanel) + { + case AppPanel.Shining: + PopulateShiningCurrentGold(); + break; + + // Add cases here + } + } + else + saveStateFileTb.Text = ""; + } + else + MessageBox.Show("You must first select a Phantasy Star game from the menu so the correct game data is loaded.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + + private void shiningCharacterCmb_SelectedIndexChanged(object sender, EventArgs e) + { + if (shiningCharacterCmb.SelectedIndex >= 0) + { + if (FileLoaded) + { + PopulateShiningCharacterDetails(shiningCharacterCmb.SelectedItem as ShiningCharacterItem); + } + else + { + MessageBox.Show("You must load a save state file before you can view character data.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + } + + private void updSaveStateBtn_Click(object sender, EventArgs e) + { + UpdateShiningSaveState(); + } + #endregion + + #region - Private Methods - + private void ShowPanel(AppPanel panel, bool show) + { + switch (panel) + { + case AppPanel.All: + shiningPanel.Visible = show; + break; + + case AppPanel.Shining: + shiningPanel.Visible = show; + if (show) + { + // Add here + } + break; + + // Add other cases here + } + } + + private void ShowControl(TextBox control, bool show) + { + control.Visible = show; + } + + private void ResetShiningControls(bool resetCharacterList) + { + if (resetCharacterList) + { + shiningCharacterCmb.SelectedIndex = -1; + } + shiningCurGoldTb.Text = string.Empty; + shiningNewGoldTb.Text = string.Empty; + shiningLevelTb.Text = string.Empty; + shiningExpTb.Text = string.Empty; + shiningNewExpTb.Text = string.Empty; + shiningCurHPTb.Text = string.Empty; + shiningNewCurHPTb.Text = string.Empty; + shiningMaxHPTb.Text = string.Empty; + shiningNewMaxHPTb.Text = string.Empty; + shiningCurMPTb.Text = string.Empty; + shiningNewCurMPTb.Text = string.Empty; + shiningMaxMPTb.Text = string.Empty; + shiningNewMaxMPTb.Text = string.Empty; + shiningIQTb.Text = string.Empty; + shiningNewIQTb.Text = string.Empty; + shiningSpeedTb.Text = string.Empty; + shiningLuckTb.Text = string.Empty; + shiningNewLuckTb.Text = string.Empty; + shiningAttackTb.Text = string.Empty; + shiningNewAttackTb.Text = string.Empty; + shiningDefTb.Text = string.Empty; + } + + private void PopulateShiningCharacterList() + { + shiningCharacterCmb.Items.Clear(); + + ShiningCharacterItem hiroItem = new ShiningCharacterItem("Hiro", + "3B50", + "3B56", + "3B20", + "3B2C", + "3B26", + "3B32", + "3B4A", + "398A", + "3990", + "3B38", + "3978"); + shiningCharacterCmb.Items.Add(hiroItem); + + ShiningCharacterItem miloItem = new ShiningCharacterItem("Milo", + "3B52", + "3B5A", + "3B22", + "3B2E", + "3B28", + "3B34", + "3B4C", + "398C", + "3992", + "3B3A", + "397A"); + shiningCharacterCmb.Items.Add(miloItem); + + ShiningCharacterItem pyraItem = new ShiningCharacterItem("Pyra", + "3B54", + "3B5E", + "3B24", + "3B30", + "3B2A", + "3B36", + "3B4E", + "398E", + "3994", + "3B3C", + "397C"); + shiningCharacterCmb.Items.Add(pyraItem); + + shiningCharacterCmb.DisplayMember = "Name"; + } + + private string GetSelectedGameTitle() + { + string game = string.Empty; + switch (ActivePanel) + { + case AppPanel.Shining: + game = "Shining in the Darkness"; + break; + + // Add cases here + } + + return game; + } + + private string GetShiningCurrentGold() + { + string hexVal = GetValueByOffset(SHINING_GOLD_LOC, 4); + long gold = long.Parse(hexVal, System.Globalization.NumberStyles.HexNumber); + return gold.ToString(); + } + + private void PopulateShiningCurrentGold() + { + shiningCurGoldTb.Text = GetShiningCurrentGold(); + } + + private void PopulateShiningCharacterDetails(ShiningCharacterItem charItem) + { + string value = GetValueByOffset(charItem.LevelLoc, 2); + long val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningLevelTb.Text = val.ToString(); + value = GetValueByOffset(charItem.ExpLoc, 4); + val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningExpTb.Text = val.ToString(); + value = GetValueByOffset(charItem.CurHPLoc, 2); + val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningCurHPTb.Text = val.ToString(); + value = GetValueByOffset(charItem.MaxHPLoc, 2); + val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningMaxHPTb.Text = val.ToString(); + if (charItem.Name != "Hiro") + { + ShowControl(shiningNewCurMPTb, true); + ShowControl(shiningNewMaxMPTb, true); + value = GetValueByOffset(charItem.CurMPLoc, 2); + val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningCurMPTb.Text = val.ToString(); + value = GetValueByOffset(charItem.MaxMPLoc, 2); + val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningMaxMPTb.Text = val.ToString(); + } + else + { + ShowControl(shiningNewCurMPTb, false); + ShowControl(shiningNewMaxMPTb, false); + } + value = GetValueByOffset(charItem.IQLoc, 2); + val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningIQTb.Text = val.ToString(); + value = GetValueByOffset(charItem.SpeedLoc, 2); + val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningSpeedTb.Text = val.ToString(); + value = GetValueByOffset(charItem.LuckLoc, 2); + val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningLuckTb.Text = val.ToString(); + value = GetValueByOffset(charItem.AttackLoc, 2); + val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningAttackTb.Text = val.ToString(); + value = GetValueByOffset(charItem.DefLoc, 2); + val = long.Parse(value, System.Globalization.NumberStyles.HexNumber); + shiningDefTb.Text = val.ToString(); + } + + private void LogError(string errMsg) + { + // Create a write and open the file + string filePath = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath); + filePath += @"\errorlog.txt"; + TextWriter writer = new StreamWriter(filePath, true); + + // Write the error message to the error log + writer.WriteLine(errMsg + " Added: " + DateTime.Now.ToString()); + + // Close the stream + writer.Close(); + } + + private void ClearErrorLog() + { + // Create the file path + string filePath = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath); + filePath += @"\errorlog.txt"; + + string errMessage = string.Empty; + + // Delete the file + try + { + File.Delete(filePath); + MessageBox.Show("The error log has been cleared.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + catch (IOException ioE) + { + errMessage = ioE.Message + " Occurred during call to ClearErroLog()."; + MessageBox.Show(errMessage, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + catch (UnauthorizedAccessException uaE) + { + errMessage = uaE.Message + " Occurred during call to ClearErroLog()."; + MessageBox.Show(errMessage, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + catch (Exception e) + { + errMessage = e.Message + " Occurred during call to ClearErroLog()."; + MessageBox.Show(errMessage, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private string GetValueByOffset(string offset, int bytesToRead) + { + string value = string.Empty; + BinaryReader reader = null; + + try + { + reader = new BinaryReader(new FileStream(saveStateFileTb.Text, FileMode.Open)); + // Set the position of the reader by the offset + reader.BaseStream.Position = long.Parse(offset, System.Globalization.NumberStyles.HexNumber); + // Read the offset + value = BitConverter.ToString(reader.ReadBytes(bytesToRead)).Replace("-", null); + } + catch (IOException ioe) + { + LogError(ioe.Message + " Occurred when attempting to read a value by its offset."); + } + catch (ArgumentException aue) + { + LogError(aue.Message + " Occurred when attempting to read a value by its offset."); + } + catch (Exception e) + { + LogError(e.Message + " Occurred when attempting to read a value by its offset."); + } + finally + { + reader.Close(); + reader.Dispose(); + } + + return value; + } + + private bool SetValueByOffset(string value, string offset) + { + bool success = false; + BinaryWriter writer = null; + + try + { + writer = new BinaryWriter(new FileStream(saveStateFileTb.Text, FileMode.Open)); + writer.BaseStream.Position = long.Parse(offset, System.Globalization.NumberStyles.HexNumber); + int valNum = Convert.ToInt32(value); + byte[] bytes = BitConverter.GetBytes(valNum).Reverse().ToArray(); + writer.Write(bytes); + success = true; + } + catch (IOException ioe) + { + LogError(ioe.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + catch (ArgumentException aue) + { + LogError(aue.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + catch (Exception e) + { + LogError(e.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + finally + { + writer.Close(); + writer.Dispose(); + } + + return success; + } + + private bool SetValueByOffset(long value, string offset) + { + bool success = false; + BinaryWriter writer = null; + + try + { + writer = new BinaryWriter(new FileStream(saveStateFileTb.Text, FileMode.Open)); + writer.BaseStream.Position = long.Parse(offset, System.Globalization.NumberStyles.HexNumber); + byte[] bytes = BitConverter.GetBytes(value).Reverse().ToArray(); + writer.Write(bytes); + + success = true; + } + catch (IOException ioe) + { + LogError(ioe.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + catch (ArgumentException aue) + { + LogError(aue.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + catch (Exception e) + { + LogError(e.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + finally + { + writer.Close(); + writer.Dispose(); + } + + return success; + } + + private bool SetValueByOffset(int value, string offset) + { + bool success = false; + BinaryWriter writer = null; + + try + { + writer = new BinaryWriter(new FileStream(saveStateFileTb.Text, FileMode.Open)); + writer.BaseStream.Position = long.Parse(offset, System.Globalization.NumberStyles.HexNumber); + byte[] bytes = BitConverter.GetBytes(value).Reverse().ToArray(); + writer.Write(bytes); + + success = true; + } + catch (IOException ioe) + { + LogError(ioe.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + catch (ArgumentException aue) + { + LogError(aue.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + catch (Exception e) + { + LogError(e.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + finally + { + writer.Close(); + writer.Dispose(); + } + + return success; + } + + private bool SetValueByOffset(short value, string offset) + { + bool success = false; + BinaryWriter writer = null; + + try + { + writer = new BinaryWriter(new FileStream(saveStateFileTb.Text, FileMode.Open)); + writer.BaseStream.Position = long.Parse(offset, System.Globalization.NumberStyles.HexNumber); + byte[] bytes = BitConverter.GetBytes(value).Reverse().ToArray(); + writer.Write(bytes); + + success = true; + } + catch (IOException ioe) + { + LogError(ioe.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + catch (ArgumentException aue) + { + LogError(aue.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + catch (Exception e) + { + LogError(e.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + finally + { + writer.Close(); + writer.Dispose(); + } + + return success; + } + + private bool SetValueByOffset(byte value, string offset) + { + bool success = false; + BinaryWriter writer = null; + + try + { + writer = new BinaryWriter(new FileStream(saveStateFileTb.Text, FileMode.Open)); + writer.BaseStream.Position = long.Parse(offset, System.Globalization.NumberStyles.HexNumber); + writer.Write(value); + + success = true; + } + catch (IOException ioe) + { + LogError(ioe.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + catch (ArgumentException aue) + { + LogError(aue.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + catch (Exception e) + { + LogError(e.Message + " Occurred while attempting to write a value to the save state file."); + success = false; + } + finally + { + writer.Close(); + writer.Dispose(); + } + + return success; + } + + private void UpdateShiningSaveState() + { + ShiningCharacterItem charItem = shiningCharacterCmb.SelectedItem as ShiningCharacterItem; + if (shiningNewGoldTb.Text != string.Empty) + { + int meseta = 0; + if (int.TryParse(shiningNewGoldTb.Text, out meseta)) + { + SetValueByOffset(meseta, SHINING_GOLD_LOC); + } + else + { + MessageBox.Show("You must enter a numeric value for the new gold value.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + if (shiningNewExpTb.Text != string.Empty) + { + int exp = 0; + if (int.TryParse(shiningNewExpTb.Text, out exp)) + { + SetValueByOffset(exp, charItem.ExpLoc); + } + else + { + MessageBox.Show("You must enter a numeric value for the new experience value.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + if (shiningNewCurHPTb.Text != string.Empty) + { + short hp = 0; + if (short.TryParse(shiningNewCurHPTb.Text, out hp)) + { + SetValueByOffset(hp, charItem.CurHPLoc); + } + else + { + MessageBox.Show("You must enter a numeric value for the new current HP value.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + if (shiningNewMaxHPTb.Text != string.Empty) + { + short hp = 0; + if (short.TryParse(shiningNewMaxHPTb.Text, out hp)) + { + SetValueByOffset(hp, charItem.MaxHPLoc); + } + else + { + MessageBox.Show("You must enter a numeric value for the new max HP value.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + if (shiningNewCurMPTb.Text != string.Empty) + { + short tp = 0; + if (short.TryParse(shiningNewCurMPTb.Text, out tp)) + { + SetValueByOffset(tp, charItem.CurMPLoc); + } + else + { + MessageBox.Show("You must enter a numeric value for the new current MP value.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + if (shiningNewMaxMPTb.Text != string.Empty) + { + short tp = 0; + if (short.TryParse(shiningNewMaxMPTb.Text, out tp)) + { + SetValueByOffset(tp, charItem.MaxMPLoc); + } + else + { + MessageBox.Show("You must enter a numeric value for the new max MP value.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + if (shiningNewIQTb.Text != string.Empty) + { + short str = 0; + if (short.TryParse(shiningNewIQTb.Text, out str)) + { + SetValueByOffset(str, charItem.IQLoc); + } + else + { + MessageBox.Show("You must enter a numeric value for the new IQ value.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + if (shiningNewLuckTb.Text != string.Empty) + { + short str = 0; + if (short.TryParse(shiningNewLuckTb.Text, out str)) + { + SetValueByOffset(str, charItem.LuckLoc); + } + else + { + MessageBox.Show("You must enter a numeric value for the new luck value.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + if (shiningNewAttackTb.Text != string.Empty) + { + short str = 0; + if (short.TryParse(shiningNewAttackTb.Text, out str)) + { + SetValueByOffset(str, charItem.AttackLoc); + } + else + { + MessageBox.Show("You must enter a numeric value for the new attack value.", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + + MessageBox.Show("The save state update process has completed.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); + ResetShiningControls(false); + PopulateShiningCurrentGold(); + PopulateShiningCharacterDetails(charItem); + } + #endregion + } +} diff --git a/ShiningEditor/MainForm.resx b/ShiningEditor/MainForm.resx new file mode 100644 index 0000000..b7e756e --- /dev/null +++ b/ShiningEditor/MainForm.resx @@ -0,0 +1,507 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 111, 17 + + + + + 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 + xAuBiJeOzInAI646UfpjlOtxjobb74nM4z//2Q== + + + + 17, 17 + + \ No newline at end of file diff --git a/ShiningEditor/Program.cs b/ShiningEditor/Program.cs new file mode 100644 index 0000000..9d90d20 --- /dev/null +++ b/ShiningEditor/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ShiningEditor +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/ShiningEditor/Properties/AssemblyInfo.cs b/ShiningEditor/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..072a039 --- /dev/null +++ b/ShiningEditor/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ShiningEditor")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ShiningEditor")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("47666678-6bf3-46d9-831b-23c0a98ba796")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ShiningEditor/Properties/Resources.Designer.cs b/ShiningEditor/Properties/Resources.Designer.cs new file mode 100644 index 0000000..0becb3e --- /dev/null +++ b/ShiningEditor/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ShiningEditor.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ShiningEditor.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/ShiningEditor/Properties/Resources.resx b/ShiningEditor/Properties/Resources.resx new file mode 100644 index 0000000..ffecec8 --- /dev/null +++ b/ShiningEditor/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ShiningEditor/Properties/Settings.Designer.cs b/ShiningEditor/Properties/Settings.Designer.cs new file mode 100644 index 0000000..ba78a01 --- /dev/null +++ b/ShiningEditor/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ShiningEditor.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/ShiningEditor/Properties/Settings.settings b/ShiningEditor/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/ShiningEditor/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ShiningEditor/ShiningCharacterItem.cs b/ShiningEditor/ShiningCharacterItem.cs new file mode 100644 index 0000000..9a4ddae --- /dev/null +++ b/ShiningEditor/ShiningCharacterItem.cs @@ -0,0 +1,113 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShiningEditor +{ + public class ShiningCharacterItem + { + #region - Class Fields - + private string name; + private string levelLoc; + private string expLoc; + private string curHPLoc; + private string maxHPLoc; + private string curMPLoc; + private string maxMPLoc; + private string iqLoc; + private string speedLoc; + private string luckLoc; + private string attackLoc; + private string defLoc; + #endregion + + #region - Class Properties - + public string Name + { + get { return name; } + set { name = value; } + } + public string LevelLoc + { + get { return levelLoc; } + set { levelLoc = value; } + } + public string ExpLoc + { + get { return expLoc; } + set { expLoc = value; } + } + public string CurHPLoc + { + get { return curHPLoc; } + set { curHPLoc = value; } + } + public string MaxHPLoc + { + get { return maxHPLoc; } + set { maxHPLoc = value; } + } + public string CurMPLoc + { + get { return curMPLoc; } + set { curMPLoc = value; } + } + public string MaxMPLoc + { + get { return maxMPLoc; } + set { maxMPLoc = value; } + } + public string IQLoc + { + get { return iqLoc; } + set { iqLoc = value; } + } + public string SpeedLoc + { + get { return speedLoc; } + set { speedLoc = value; } + } + public string LuckLoc + { + get { return luckLoc; } + set { luckLoc = value; } + } + public string AttackLoc + { + get { return attackLoc; } + set { attackLoc = value; } + } + public string DefLoc + { + get { return defLoc; } + set { defLoc = value; } + } + #endregion + + #region - Class Constructors - + public ShiningCharacterItem(string name, string levelLoc, string expLoc, string curHPLoc, string maxHPLoc, string curMPLoc, string maxMPLoc, string iqLoc, string speedLoc, string luckLoc, string attackLoc, string defLoc) + { + Name = name; + LevelLoc = levelLoc; + ExpLoc = expLoc; + CurHPLoc = curHPLoc; + MaxHPLoc = maxHPLoc; + CurMPLoc = curMPLoc; + MaxMPLoc = maxMPLoc; + IQLoc = iqLoc; + SpeedLoc = speedLoc; + LuckLoc = luckLoc; + AttackLoc = attackLoc; + DefLoc = defLoc; + } + + public ShiningCharacterItem() + : this(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty) + { + + } + #endregion + } +} diff --git a/ShiningEditor/ShiningEditor.csproj b/ShiningEditor/ShiningEditor.csproj new file mode 100644 index 0000000..9cef975 --- /dev/null +++ b/ShiningEditor/ShiningEditor.csproj @@ -0,0 +1,107 @@ + + + + + Debug + AnyCPU + {A989E911-FC45-4495-B80B-7A344F5A6B53} + WinExe + Properties + ShiningEditor + ShiningEditor + v4.5 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + Form + + + AboutForm.cs + + + Form + + + ErrorLogView.cs + + + Form + + + MainForm.cs + + + + + + AboutForm.cs + + + ErrorLogView.cs + + + MainForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/ShiningEditor/Sitdlogo.jpg b/ShiningEditor/Sitdlogo.jpg new file mode 100644 index 0000000..3acd7d3 Binary files /dev/null and b/ShiningEditor/Sitdlogo.jpg differ diff --git a/ShiningEditor/bin/Debug/ShiningEditor.exe b/ShiningEditor/bin/Debug/ShiningEditor.exe new file mode 100644 index 0000000..9a0453e Binary files /dev/null and b/ShiningEditor/bin/Debug/ShiningEditor.exe differ diff --git a/ShiningEditor/bin/Debug/ShiningEditor.exe.config b/ShiningEditor/bin/Debug/ShiningEditor.exe.config new file mode 100644 index 0000000..fad249e --- /dev/null +++ b/ShiningEditor/bin/Debug/ShiningEditor.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ShiningEditor/bin/Debug/ShiningEditor.pdb b/ShiningEditor/bin/Debug/ShiningEditor.pdb new file mode 100644 index 0000000..e402ad5 Binary files /dev/null and b/ShiningEditor/bin/Debug/ShiningEditor.pdb differ diff --git a/ShiningEditor/bin/Debug/ShiningEditor.vshost.exe b/ShiningEditor/bin/Debug/ShiningEditor.vshost.exe new file mode 100644 index 0000000..681ab77 Binary files /dev/null and b/ShiningEditor/bin/Debug/ShiningEditor.vshost.exe differ diff --git a/ShiningEditor/bin/Debug/ShiningEditor.vshost.exe.config b/ShiningEditor/bin/Debug/ShiningEditor.vshost.exe.config new file mode 100644 index 0000000..fad249e --- /dev/null +++ b/ShiningEditor/bin/Debug/ShiningEditor.vshost.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ShiningEditor/bin/Debug/ShiningEditor.vshost.exe.manifest b/ShiningEditor/bin/Debug/ShiningEditor.vshost.exe.manifest new file mode 100644 index 0000000..f96b1d6 --- /dev/null +++ b/ShiningEditor/bin/Debug/ShiningEditor.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/ShiningEditor/bin/Release/ShiningEditor.exe b/ShiningEditor/bin/Release/ShiningEditor.exe new file mode 100644 index 0000000..1265bab Binary files /dev/null and b/ShiningEditor/bin/Release/ShiningEditor.exe differ diff --git a/ShiningEditor/bin/Release/ShiningEditor.exe.config b/ShiningEditor/bin/Release/ShiningEditor.exe.config new file mode 100644 index 0000000..fad249e --- /dev/null +++ b/ShiningEditor/bin/Release/ShiningEditor.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ShiningEditor/bin/Release/ShiningEditor.pdb b/ShiningEditor/bin/Release/ShiningEditor.pdb new file mode 100644 index 0000000..cc2d575 Binary files /dev/null and b/ShiningEditor/bin/Release/ShiningEditor.pdb differ diff --git a/ShiningEditor/obj/Debug/CoreCompileInputs.cache b/ShiningEditor/obj/Debug/CoreCompileInputs.cache new file mode 100644 index 0000000..7e308bf --- /dev/null +++ b/ShiningEditor/obj/Debug/CoreCompileInputs.cache @@ -0,0 +1 @@ +dc49526bb4d34ea59b64f9ba7ff96d14c01bfd28 diff --git a/ShiningEditor/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/ShiningEditor/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..ea0e473 Binary files /dev/null and b/ShiningEditor/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/ShiningEditor/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ShiningEditor/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..af3390d Binary files /dev/null and b/ShiningEditor/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/ShiningEditor/obj/Debug/ShiningEditor.AboutForm.resources b/ShiningEditor/obj/Debug/ShiningEditor.AboutForm.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/ShiningEditor/obj/Debug/ShiningEditor.AboutForm.resources differ diff --git a/ShiningEditor/obj/Debug/ShiningEditor.ErrorLogView.resources b/ShiningEditor/obj/Debug/ShiningEditor.ErrorLogView.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/ShiningEditor/obj/Debug/ShiningEditor.ErrorLogView.resources differ diff --git a/ShiningEditor/obj/Debug/ShiningEditor.MainForm.resources b/ShiningEditor/obj/Debug/ShiningEditor.MainForm.resources new file mode 100644 index 0000000..3d65958 Binary files /dev/null and b/ShiningEditor/obj/Debug/ShiningEditor.MainForm.resources differ diff --git a/ShiningEditor/obj/Debug/ShiningEditor.Properties.Resources.resources b/ShiningEditor/obj/Debug/ShiningEditor.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/ShiningEditor/obj/Debug/ShiningEditor.Properties.Resources.resources differ diff --git a/ShiningEditor/obj/Debug/ShiningEditor.csproj.FileListAbsolute.txt b/ShiningEditor/obj/Debug/ShiningEditor.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..61c5680 --- /dev/null +++ b/ShiningEditor/obj/Debug/ShiningEditor.csproj.FileListAbsolute.txt @@ -0,0 +1,10 @@ +c:\users\lamin\documents\visual studio 2012\Projects\ShiningEditor\ShiningEditor\bin\Debug\ShiningEditor.exe.config +c:\users\lamin\documents\visual studio 2012\Projects\ShiningEditor\ShiningEditor\bin\Debug\ShiningEditor.exe +c:\users\lamin\documents\visual studio 2012\Projects\ShiningEditor\ShiningEditor\bin\Debug\ShiningEditor.pdb +c:\users\lamin\documents\visual studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Debug\ShiningEditor.MainForm.resources +c:\users\lamin\documents\visual studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Debug\ShiningEditor.Properties.Resources.resources +c:\users\lamin\documents\visual studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Debug\ShiningEditor.csproj.GenerateResource.Cache +c:\users\lamin\documents\visual studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Debug\ShiningEditor.exe +c:\users\lamin\documents\visual studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Debug\ShiningEditor.pdb +c:\users\lamin\documents\visual studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Debug\ShiningEditor.ErrorLogView.resources +C:\Users\lamin\documents\visual studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Debug\ShiningEditor.AboutForm.resources diff --git a/ShiningEditor/obj/Debug/ShiningEditor.csproj.GenerateResource.Cache b/ShiningEditor/obj/Debug/ShiningEditor.csproj.GenerateResource.Cache new file mode 100644 index 0000000..1f54f85 Binary files /dev/null and b/ShiningEditor/obj/Debug/ShiningEditor.csproj.GenerateResource.Cache differ diff --git a/ShiningEditor/obj/Debug/ShiningEditor.exe b/ShiningEditor/obj/Debug/ShiningEditor.exe new file mode 100644 index 0000000..9a0453e Binary files /dev/null and b/ShiningEditor/obj/Debug/ShiningEditor.exe differ diff --git a/ShiningEditor/obj/Debug/ShiningEditor.pdb b/ShiningEditor/obj/Debug/ShiningEditor.pdb new file mode 100644 index 0000000..e402ad5 Binary files /dev/null and b/ShiningEditor/obj/Debug/ShiningEditor.pdb differ diff --git a/ShiningEditor/obj/Release/CoreCompileInputs.cache b/ShiningEditor/obj/Release/CoreCompileInputs.cache new file mode 100644 index 0000000..7e308bf --- /dev/null +++ b/ShiningEditor/obj/Release/CoreCompileInputs.cache @@ -0,0 +1 @@ +dc49526bb4d34ea59b64f9ba7ff96d14c01bfd28 diff --git a/ShiningEditor/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/ShiningEditor/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..d49e2f1 Binary files /dev/null and b/ShiningEditor/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/ShiningEditor/obj/Release/ShiningEditor.AboutForm.resources b/ShiningEditor/obj/Release/ShiningEditor.AboutForm.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/ShiningEditor/obj/Release/ShiningEditor.AboutForm.resources differ diff --git a/ShiningEditor/obj/Release/ShiningEditor.ErrorLogView.resources b/ShiningEditor/obj/Release/ShiningEditor.ErrorLogView.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/ShiningEditor/obj/Release/ShiningEditor.ErrorLogView.resources differ diff --git a/ShiningEditor/obj/Release/ShiningEditor.MainForm.resources b/ShiningEditor/obj/Release/ShiningEditor.MainForm.resources new file mode 100644 index 0000000..3d65958 Binary files /dev/null and b/ShiningEditor/obj/Release/ShiningEditor.MainForm.resources differ diff --git a/ShiningEditor/obj/Release/ShiningEditor.Properties.Resources.resources b/ShiningEditor/obj/Release/ShiningEditor.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/ShiningEditor/obj/Release/ShiningEditor.Properties.Resources.resources differ diff --git a/ShiningEditor/obj/Release/ShiningEditor.csproj.FileListAbsolute.txt b/ShiningEditor/obj/Release/ShiningEditor.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..b1030fe --- /dev/null +++ b/ShiningEditor/obj/Release/ShiningEditor.csproj.FileListAbsolute.txt @@ -0,0 +1,10 @@ +C:\Users\lamin\Documents\Visual Studio 2012\Projects\ShiningEditor\ShiningEditor\bin\Release\ShiningEditor.exe.config +C:\Users\lamin\Documents\Visual Studio 2012\Projects\ShiningEditor\ShiningEditor\bin\Release\ShiningEditor.exe +C:\Users\lamin\Documents\Visual Studio 2012\Projects\ShiningEditor\ShiningEditor\bin\Release\ShiningEditor.pdb +C:\Users\lamin\Documents\Visual Studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Release\ShiningEditor.AboutForm.resources +C:\Users\lamin\Documents\Visual Studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Release\ShiningEditor.ErrorLogView.resources +C:\Users\lamin\Documents\Visual Studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Release\ShiningEditor.MainForm.resources +C:\Users\lamin\Documents\Visual Studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Release\ShiningEditor.Properties.Resources.resources +C:\Users\lamin\Documents\Visual Studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Release\ShiningEditor.csproj.GenerateResource.Cache +C:\Users\lamin\Documents\Visual Studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Release\ShiningEditor.exe +C:\Users\lamin\Documents\Visual Studio 2012\Projects\ShiningEditor\ShiningEditor\obj\Release\ShiningEditor.pdb diff --git a/ShiningEditor/obj/Release/ShiningEditor.csproj.GenerateResource.Cache b/ShiningEditor/obj/Release/ShiningEditor.csproj.GenerateResource.Cache new file mode 100644 index 0000000..1f54f85 Binary files /dev/null and b/ShiningEditor/obj/Release/ShiningEditor.csproj.GenerateResource.Cache differ diff --git a/ShiningEditor/obj/Release/ShiningEditor.exe b/ShiningEditor/obj/Release/ShiningEditor.exe new file mode 100644 index 0000000..1265bab Binary files /dev/null and b/ShiningEditor/obj/Release/ShiningEditor.exe differ diff --git a/ShiningEditor/obj/Release/ShiningEditor.pdb b/ShiningEditor/obj/Release/ShiningEditor.pdb new file mode 100644 index 0000000..cc2d575 Binary files /dev/null and b/ShiningEditor/obj/Release/ShiningEditor.pdb differ diff --git a/ShiningEditorSetup.msi b/ShiningEditorSetup.msi new file mode 100644 index 0000000..1fbb893 Binary files /dev/null and b/ShiningEditorSetup.msi differ diff --git a/ShiningEditorSetup/Debug/ShiningEditorSetup.msi b/ShiningEditorSetup/Debug/ShiningEditorSetup.msi new file mode 100644 index 0000000..1a7bd0d Binary files /dev/null and b/ShiningEditorSetup/Debug/ShiningEditorSetup.msi differ diff --git a/ShiningEditorSetup/Debug/setup.exe b/ShiningEditorSetup/Debug/setup.exe new file mode 100644 index 0000000..09366df Binary files /dev/null and b/ShiningEditorSetup/Debug/setup.exe differ diff --git a/ShiningEditorSetup/Release/ShiningEditorSetup.msi b/ShiningEditorSetup/Release/ShiningEditorSetup.msi new file mode 100644 index 0000000..1fbb893 Binary files /dev/null and b/ShiningEditorSetup/Release/ShiningEditorSetup.msi differ diff --git a/ShiningEditorSetup/Release/setup.exe b/ShiningEditorSetup/Release/setup.exe new file mode 100644 index 0000000..09366df Binary files /dev/null and b/ShiningEditorSetup/Release/setup.exe differ diff --git a/ShiningEditorSetup/ShiningEditorSetup.vdproj b/ShiningEditorSetup/ShiningEditorSetup.vdproj new file mode 100644 index 0000000..bf614e8 --- /dev/null +++ b/ShiningEditorSetup/ShiningEditorSetup.vdproj @@ -0,0 +1,711 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:ShiningEditorSetup" +"LanguageId" = "3:1033" +"CodePage" = "3:1252" +"UILanguageId" = "3:1033" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_539B49BF858749A4BC884962B12B60BA" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_539B49BF858749A4BC884962B12B60BA" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\ShiningEditorSetup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\ShiningEditorSetup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_FF0B51D446B9428E886AB15775AF59D3" + { + "Name" = "8:.NET Framework" + "Message" = "8:[VSDNETMSG]" + "FrameworkVersion" = "8:.NETFramework,Version=v4.6.1" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=671728" + } + } + } + "File" + { + } + "FileType" + { + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_607C762D6BDC4860948675443DCA9526" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_EB34D8CCA4CB4A9498AE801D9D44D0D5" + { + "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_EE0B60D236594D2FA64065DAF08E4D07" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1033" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:ShiningEditorSetup" + "ProductCode" = "8:{0CF33220-42CE-48A7-A4EA-53E3AF1DEAEA}" + "PackageCode" = "8:{01748095-82FD-4FAF-B843-79368E988891}" + "UpgradeCode" = "8:{B7B37570-EDA3-4D2B-8507-A799C0C48F35}" + "AspNetVersion" = "8:4.0.30319.0" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:FALSE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:FALSE" + "ProductVersion" = "8:1.0.0" + "Manufacturer" = "8:JWalkers" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:" + "Title" = "8:ShiningEditorSetup" + "Subject" = "8:" + "ARPCONTACT" = "8:Fuindin" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:" + "ARPURLINFOABOUT" = "8:" + "ARPPRODUCTICON" = "8:" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:0" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B1A4BD0D03A347BEB2A72257E99F2C88" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1CC90A12FE17460CB901C4ACF717A57A" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_9CD709D1C0CD45EBB252A0F59D1F2757" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_0BADEDFDBF7D4410AF051DEEE5C5E7C2" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_AB0CA3F3331A464DB3A4956CFED33B79" + { + "Name" = "8:ShiningEditor" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_539B49BF858749A4BC884962B12B60BA" + "Folder" = "8:_607C762D6BDC4860948675443DCA9526" + "WorkingFolder" = "8:_EB34D8CCA4CB4A9498AE801D9D44D0D5" + "Icon" = "8:" + "Feature" = "8:" + } + } + "UserInterface" + { + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_01D81DA22FE542B0B69F9AB283514182" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_53DEF766A0234D3DA2F647D1C33E89F9" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_04EACFDEAA964CD38C24A014BC5AA779" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8529B238C02540A6882A7CEEFBC3CA18" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_1D2DEF1A6C274A44B32814BF5CC831B1" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6A10A14207164D1EA59E1E7131286DFD" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_78B48B7FBA154DB189D497C845B51A68" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_8536F9D029C54EB1B7103A2E0867A77C" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_8B21E8A66DCF4DB1940E5F79B174D26F" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1B8A33821F494C2796F86440EF37CF7C" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_24A71964F7E8400AAF12394D7D7AE011" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9F8A31268A174ED0B0A172690DF824BB" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_A0E407861F364309A12E138FCEFB693C" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_417B7E66819C48D19E564AB847314EDC" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8751EEE21F254EA9951FE86762FA02C9" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FFB62A71508F4B7397210F8BE1F445F6" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F7D8341D24AD404BA4B0BB3F10914313" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E288F31C44E94731ACE6928A86E50DBE" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + } + "MergeModule" + { + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_539B49BF858749A4BC884962B12B60BA" + { + "SourcePath" = "8:..\\ShiningEditor\\obj\\Debug\\ShiningEditor.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_EB34D8CCA4CB4A9498AE801D9D44D0D5" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{A989E911-FC45-4495-B80B-7A344F5A6B53}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + } +} diff --git a/setup.exe b/setup.exe new file mode 100644 index 0000000..09366df Binary files /dev/null and b/setup.exe differ