Add option to export to JSON

This commit is contained in:
sowgro
2025-05-18 00:34:12 -04:00
parent 336d9618f6
commit b70402c50b
4 changed files with 57 additions and 31 deletions
+31 -30
View File
@@ -44,6 +44,7 @@
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exportToJSONToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.compressionLvlToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.compressionLvlToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.levelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.levelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.noneToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem(); this.noneToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
@@ -55,6 +56,7 @@
this.pS3ToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem(); this.pS3ToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
this.xbox360ToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem(); this.xbox360ToolStripMenuItem = new PckStudio.ToolboxItems.ToolStripRadioButtonMenuItem();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
this.MessageContextMenu.SuspendLayout(); this.MessageContextMenu.SuspendLayout();
this.DetailContextMenu.SuspendLayout(); this.DetailContextMenu.SuspendLayout();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
@@ -77,9 +79,7 @@
// //
// MessageContextMenu // MessageContextMenu
// //
this.MessageContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.MessageContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addGameRuleToolStripMenuItem, this.removeGameRuleToolStripMenuItem });
this.addGameRuleToolStripMenuItem,
this.removeGameRuleToolStripMenuItem});
this.MessageContextMenu.Name = "MessageContextMenu"; this.MessageContextMenu.Name = "MessageContextMenu";
this.MessageContextMenu.Size = new System.Drawing.Size(178, 48); this.MessageContextMenu.Size = new System.Drawing.Size(178, 48);
// //
@@ -108,14 +108,13 @@
this.GrfParametersTreeView.Name = "GrfParametersTreeView"; this.GrfParametersTreeView.Name = "GrfParametersTreeView";
this.GrfParametersTreeView.Size = new System.Drawing.Size(219, 312); this.GrfParametersTreeView.Size = new System.Drawing.Size(219, 312);
this.GrfParametersTreeView.TabIndex = 1; this.GrfParametersTreeView.TabIndex = 1;
this.GrfParametersTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.GrfParametersTreeView_AfterSelect);
this.GrfParametersTreeView.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.GrfDetailsTreeView_NodeMouseDoubleClick); this.GrfParametersTreeView.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.GrfDetailsTreeView_NodeMouseDoubleClick);
this.GrfParametersTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.GrfDetailsTreeView_KeyDown); this.GrfParametersTreeView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.GrfDetailsTreeView_KeyDown);
// //
// DetailContextMenu // DetailContextMenu
// //
this.DetailContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.DetailContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addToolStripMenuItem1, this.removeToolStripMenuItem });
this.addToolStripMenuItem1,
this.removeToolStripMenuItem});
this.DetailContextMenu.Name = "DetailContextMenu"; this.DetailContextMenu.Name = "DetailContextMenu";
this.DetailContextMenu.Size = new System.Drawing.Size(118, 48); this.DetailContextMenu.Size = new System.Drawing.Size(118, 48);
// //
@@ -158,9 +157,7 @@
// menuStrip1 // menuStrip1
// //
this.menuStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.menuStrip1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.compressionLvlToolStripMenuItem });
this.fileToolStripMenuItem,
this.compressionLvlToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(25, 60); this.menuStrip1.Location = new System.Drawing.Point(25, 60);
this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(450, 24); this.menuStrip1.Size = new System.Drawing.Size(450, 24);
@@ -169,9 +166,7 @@
// //
// fileToolStripMenuItem // fileToolStripMenuItem
// //
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.openToolStripMenuItem, this.saveToolStripMenuItem, this.exportToJSONToolStripMenuItem });
this.openToolStripMenuItem,
this.saveToolStripMenuItem});
this.fileToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Menu; this.fileToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Menu;
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
@@ -180,7 +175,7 @@
// openToolStripMenuItem // openToolStripMenuItem
// //
this.openToolStripMenuItem.Name = "openToolStripMenuItem"; this.openToolStripMenuItem.Name = "openToolStripMenuItem";
this.openToolStripMenuItem.Size = new System.Drawing.Size(103, 22); this.openToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
this.openToolStripMenuItem.Text = "Open"; this.openToolStripMenuItem.Text = "Open";
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click); this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
// //
@@ -188,15 +183,20 @@
// //
this.saveToolStripMenuItem.BackColor = System.Drawing.Color.Transparent; this.saveToolStripMenuItem.BackColor = System.Drawing.Color.Transparent;
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.Size = new System.Drawing.Size(103, 22); this.saveToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
this.saveToolStripMenuItem.Text = "Save"; this.saveToolStripMenuItem.Text = "Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click); this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
// //
// exportToJSONToolStripMenuItem
//
this.exportToJSONToolStripMenuItem.Name = "exportToJSONToolStripMenuItem";
this.exportToJSONToolStripMenuItem.Size = new System.Drawing.Size(154, 22);
this.exportToJSONToolStripMenuItem.Text = "Export To JSON";
this.exportToJSONToolStripMenuItem.Click += new System.EventHandler(this.exportToJSONToolStripMenuItem_Click);
//
// compressionLvlToolStripMenuItem // compressionLvlToolStripMenuItem
// //
this.compressionLvlToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.compressionLvlToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.levelToolStripMenuItem, this.typeToolStripMenuItem });
this.levelToolStripMenuItem,
this.typeToolStripMenuItem});
this.compressionLvlToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Menu; this.compressionLvlToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Menu;
this.compressionLvlToolStripMenuItem.Name = "compressionLvlToolStripMenuItem"; this.compressionLvlToolStripMenuItem.Name = "compressionLvlToolStripMenuItem";
this.compressionLvlToolStripMenuItem.Size = new System.Drawing.Size(89, 20); this.compressionLvlToolStripMenuItem.Size = new System.Drawing.Size(89, 20);
@@ -205,11 +205,7 @@
// levelToolStripMenuItem // levelToolStripMenuItem
// //
this.levelToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.levelToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.levelToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.levelToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.noneToolStripMenuItem, this.compressedToolStripMenuItem, this.compressedRLEToolStripMenuItem, this.compressedRLECRCToolStripMenuItem });
this.noneToolStripMenuItem,
this.compressedToolStripMenuItem,
this.compressedRLEToolStripMenuItem,
this.compressedRLECRCToolStripMenuItem});
this.levelToolStripMenuItem.Name = "levelToolStripMenuItem"; this.levelToolStripMenuItem.Name = "levelToolStripMenuItem";
this.levelToolStripMenuItem.Size = new System.Drawing.Size(101, 22); this.levelToolStripMenuItem.Size = new System.Drawing.Size(101, 22);
this.levelToolStripMenuItem.Text = "Level"; this.levelToolStripMenuItem.Text = "Level";
@@ -251,10 +247,7 @@
// typeToolStripMenuItem // typeToolStripMenuItem
// //
this.typeToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; this.typeToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.typeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.typeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.wiiUPSVitaToolStripMenuItem, this.pS3ToolStripMenuItem, this.xbox360ToolStripMenuItem });
this.wiiUPSVitaToolStripMenuItem,
this.pS3ToolStripMenuItem,
this.xbox360ToolStripMenuItem});
this.typeToolStripMenuItem.Name = "typeToolStripMenuItem"; this.typeToolStripMenuItem.Name = "typeToolStripMenuItem";
this.typeToolStripMenuItem.Size = new System.Drawing.Size(101, 22); this.typeToolStripMenuItem.Size = new System.Drawing.Size(101, 22);
this.typeToolStripMenuItem.Text = "Type"; this.typeToolStripMenuItem.Text = "Type";
@@ -293,9 +286,7 @@
// //
// tableLayoutPanel1 // tableLayoutPanel1
// //
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right)));
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Controls.Add(this.metroLabel1, 0, 0); this.tableLayoutPanel1.Controls.Add(this.metroLabel1, 0, 0);
@@ -310,6 +301,13 @@
this.tableLayoutPanel1.Size = new System.Drawing.Size(450, 312); this.tableLayoutPanel1.Size = new System.Drawing.Size(450, 312);
this.tableLayoutPanel1.TabIndex = 4; this.tableLayoutPanel1.TabIndex = 4;
// //
// saveFileDialog1
//
this.saveFileDialog1.DefaultExt = "json";
this.saveFileDialog1.Filter = "JSON File|*.json";
this.saveFileDialog1.Title = "Export to JSON";
this.saveFileDialog1.FileOk += new System.ComponentModel.CancelEventHandler(this.saveFileDialog1_FileOk);
//
// GameRuleFileEditor // GameRuleFileEditor
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -337,9 +335,12 @@
this.tableLayoutPanel1.PerformLayout(); this.tableLayoutPanel1.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
} }
private System.Windows.Forms.SaveFileDialog saveFileDialog1;
private System.Windows.Forms.ToolStripMenuItem exportToJSONToolStripMenuItem;
#endregion #endregion
private System.Windows.Forms.TreeView GrfTreeView; private System.Windows.Forms.TreeView GrfTreeView;
@@ -17,8 +17,11 @@
**/ **/
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq; using System.Linq;
using System.Windows.Forms; using System.Windows.Forms;
using Newtonsoft.Json;
using PckStudio.Forms.Additional_Popups.Grf; using PckStudio.Forms.Additional_Popups.Grf;
using PckStudio.Internal.Misc; using PckStudio.Internal.Misc;
using OMI.Formats.GameRule; using OMI.Formats.GameRule;
@@ -268,5 +271,24 @@ namespace PckStudio.Forms.Editor
saveToolStripMenuItem_Click(sender, EventArgs.Empty); saveToolStripMenuItem_Click(sender, EventArgs.Empty);
} }
} }
private void exportToJSONToolStripMenuItem_Click(object sender, EventArgs e)
{
saveFileDialog1.FileName = "gameRules.json";
saveFileDialog1.ShowDialog();
}
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
{
if (saveFileDialog1.FileName == "")
{
return;
}
TextWriter writer = new StreamWriter(saveFileDialog1.FileName);
JsonSerializer serializer = new JsonSerializer();
serializer.Formatting = Formatting.Indented;
serializer.Serialize(writer, _file.Root.ChildRules);
}
} }
} }
@@ -126,6 +126,9 @@
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>348, 17</value> <value>348, 17</value>
</metadata> </metadata>
<metadata name="saveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>454, 18</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
+1 -1