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