From b4a7a256db4b5b348fd5c8bacc28f93d26e600c3 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 6 Dec 2022 17:16:17 +0100 Subject: [PATCH 01/12] Small Function(`MainForm.GetSubPCK`) refactor --- PCK-Studio/MainForm.cs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index d2d24b78..6623af99 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -866,19 +866,16 @@ namespace PckStudio TreeNode GetSubPCK(TreeNode child) { TreeNode parent = child; - - bool flag = false; - while (parent.Parent != null) { parent = parent.Parent; Console.WriteLine(parent.Text); - flag = parent.Tag is PCKFile.FileData f && (f.filetype is PCKFile.FileData.FileType.TexturePackInfoFile || f.filetype is PCKFile.FileData.FileType.SkinDataFile); - if (flag) break; + if (parent.Tag is PCKFile.FileData f && + (f.filetype is PCKFile.FileData.FileType.TexturePackInfoFile || + f.filetype is PCKFile.FileData.FileType.SkinDataFile)) + return parent; } - - if (!flag) return null; - else return parent; + return null; } void RebuildSubPCK(TreeNode childNode) From 472cf1f210757f1ba613add5888137cf1be65d6c Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 6 Dec 2022 17:19:28 +0100 Subject: [PATCH 02/12] Made `IsSubPCKNode` more flexible --- PCK-Studio/MainForm.cs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 6623af99..6ba1582a 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -828,18 +828,17 @@ namespace PckStudio } } - bool IsSubPCKNode(string nodePath) + bool IsSubPCKNode(string nodePath, string extention = ".pck") { // written by miku, implemented and modified by me - MNL + if (nodePath.EndsWith(extention)) return false; + string[] subpaths = nodePath.Split('/'); - string[] conditions = subpaths.Select(s => Path.GetExtension(s) switch { - ".pck" => "yes", - _ => "no", - }).ToArray(); + var conditions = subpaths.Select(s => Path.GetExtension(s).Equals(extention)); - bool isSubFile = conditions.Contains("yes") && !nodePath.EndsWith(".pck"); + bool isSubFile = conditions.Contains(true); - Console.WriteLine(nodePath + " is " + (isSubFile ? "" : "not ") + "a Sub-PCK File"); + Console.WriteLine($"{nodePath} is{(isSubFile ? "" : " not")} a Sub-PCK File"); return isSubFile; } From 4ee0825837aa0d63c63c4c69e37ae98424621df6 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 6 Dec 2022 17:20:51 +0100 Subject: [PATCH 03/12] Small clean up in `RebuildSubPCK` --- PCK-Studio/MainForm.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 6ba1582a..67552fee 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -892,9 +892,8 @@ namespace PckStudio foreach (TreeNode node in GetNodes(parent.Nodes)) { - if (node.Tag is PCKFile.FileData) + if (node.Tag is PCKFile.FileData node_file) { - PCKFile.FileData node_file = (PCKFile.FileData)node.Tag; PCKFile.FileData new_file = new PCKFile.FileData(node_file.filepath, node_file.filetype); foreach (var prop in node_file.properties) new_file.properties.Add(prop); new_file.SetData(node_file.data); @@ -902,12 +901,15 @@ namespace PckStudio } } - MemoryStream ms = new MemoryStream(); // Bool to add the XMLVersion property bool isSkinsPCK = parent_file.filetype is PCKFile.FileData.FileType.SkinDataFile; + + using (MemoryStream ms = new MemoryStream()) + { PCKFileWriter.Write(ms, newPCKFile, LittleEndianCheckBox.Checked, isSkinsPCK); parent_file.SetData(ms.ToArray()); parent.Tag = parent_file; + } BuildMainTreeView(); } From ec7ae2aa8476d30fe21175e60b05f18ab2bc2185 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 6 Dec 2022 17:24:45 +0100 Subject: [PATCH 04/12] Update `treeMeta_DoubleClick` to use switch statement --- PCK-Studio/MainForm.cs | 46 ++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 67552fee..dd1643c0 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -934,21 +934,23 @@ namespace PckStudio private void treeMeta_DoubleClick(object sender, EventArgs e) { - if (treeMeta.SelectedNode == null || !(treeMeta.SelectedNode.Tag is ValueTuple) || - treeViewMain.SelectedNode == null || !(treeViewMain.SelectedNode.Tag is PCKFile.FileData)) - return; - PCKFile.FileData file = (PCKFile.FileData)treeViewMain.SelectedNode.Tag; - var property = (ValueTuple)treeMeta.SelectedNode.Tag; - int i = file.properties.IndexOf(property); - if (property.Item1 == "ANIM" && i != -1 && file.filetype == PCKFile.FileData.FileType.SkinFile) + if (treeMeta.SelectedNode is TreeNode subnode && subnode.Tag is ValueTuple property && + treeViewMain.SelectedNode is TreeNode node && node.Tag is PCKFile.FileData file) { - using ANIMEditor diag = new ANIMEditor(property.Item2); + int i = file.properties.IndexOf(property); + if (i != -1) + { + switch (property.Item1) + { + case "ANIM" when file.filetype == PCKFile.FileData.FileType.SkinFile: try { + using ANIMEditor diag = new ANIMEditor(property.Item2); if (diag.ShowDialog(this) == DialogResult.OK && diag.saved) { - file.properties[i] = new ValueTuple("ANIM", diag.outANIM); - if (IsSubPCKNode(treeViewMain.SelectedNode.FullPath)) RebuildSubPCK(treeViewMain.SelectedNode); + file.properties[i] = ("ANIM", diag.outANIM); + if (IsSubPCKNode(treeViewMain.SelectedNode.FullPath)) + RebuildSubPCK(treeViewMain.SelectedNode); ReloadMetaTreeView(); saved = false; } @@ -959,15 +961,15 @@ namespace PckStudio Debug.WriteLine(ex.Message); MessageBox.Show("Failed to parse ANIM value, aborting to normal functionality. Please make sure the value only includes hexadecimal characters (0-9,A-F) and has no more than 8 characters. It can have an optional prefix of \"0x\"."); } - } - else if (property.Item1 == "BOX" && i != -1 && file.filetype == PCKFile.FileData.FileType.SkinFile) - { + break; + + case "BOX" when file.filetype == PCKFile.FileData.FileType.SkinFile: try { using BoxEditor diag = new BoxEditor(property.Item2, IsSubPCKNode(treeViewMain.SelectedNode.FullPath)); if (diag.ShowDialog(this) == DialogResult.OK) { - file.properties[i] = new ValueTuple("BOX", diag.Result); + file.properties[i] = ("BOX", diag.Result); if (IsSubPCKNode(treeViewMain.SelectedNode.FullPath)) RebuildSubPCK(treeViewMain.SelectedNode); ReloadMetaTreeView(); @@ -980,17 +982,27 @@ namespace PckStudio Debug.WriteLine(ex.Message); MessageBox.Show("Failed to parse BOX value, aborting to normal functionality."); } + break; + + default: + break; + } - using addMeta add = new addMeta(property.Item1, property.Item2); - if (add.ShowDialog() == DialogResult.OK && i != -1) + + using (addMeta addDialog = new addMeta(property.Item1, property.Item2)) { - file.properties[i] = new ValueTuple(add.PropertyName, add.PropertyValue); + if (addDialog.ShowDialog() == DialogResult.OK) + { + file.properties[i] = (addDialog.PropertyName, addDialog.PropertyValue); if (IsSubPCKNode(treeViewMain.SelectedNode.FullPath)) RebuildSubPCK(treeViewMain.SelectedNode); ReloadMetaTreeView(); saved = false; } } + } + } + } private void cloneFileToolStripMenuItem_Click(object sender, EventArgs e) { From 1a02ec0d156aacd5c7baed4fb90ec8fdef1bff44 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 6 Dec 2022 17:27:42 +0100 Subject: [PATCH 05/12] Clean up and some code style fixes --- PCK-Studio/MainForm.cs | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index dd1643c0..333348b9 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -302,7 +302,7 @@ namespace PckStudio private void BuildMainTreeView() { // In case the Rename function was just used and the selected node name no longer matches the file name - string filepath = ""; + string filepath = string.Empty; if(treeViewMain.SelectedNode is TreeNode node && node.Tag is PCKFile.FileData file) filepath = file.filepath; treeViewMain.Nodes.Clear(); @@ -1009,7 +1009,8 @@ namespace PckStudio TreeNode node = treeViewMain.SelectedNode; PCKFile.FileData mfO = node.Tag as PCKFile.FileData; - PCKFile.FileData mf = new PCKFile.FileData("", mfO.filetype); // Creates new minefile template + // Creates new empty file entry + PCKFile.FileData mf = new PCKFile.FileData(string.Empty, mfO.filetype); mf.SetData(mfO.data); // adds file data to minefile string dirName = Path.GetDirectoryName(mfO.filepath).Replace("\\", "/"); @@ -1063,14 +1064,14 @@ namespace PckStudio private void ReloadMetaTreeView() { treeMeta.Nodes.Clear(); - if (treeViewMain.SelectedNode is TreeNode t && - t.Tag is PCKFile.FileData file) - file.properties.ForEach(p => + if (treeViewMain.SelectedNode is TreeNode node && + node.Tag is PCKFile.FileData file) { - TreeNode node = new TreeNode(p.Item1); - node.Tag = p; - treeMeta.Nodes.Add(node); - }); + foreach (var property in file.properties) + { + treeMeta.Nodes.Add(CreateNode(property.Item1, property)); + } + } } private void addEntryToolStripMenuItem_Click_1(object sender, EventArgs e) @@ -1236,7 +1237,7 @@ namespace PckStudio } currentPCK.Files.Add(zeroFile); currentPCK.Files.Add(loc); - if(createSkinsPCK) CreateSkinsPCKToolStripMenuItem1_Click(null, null); + if(createSkinsPCK) CreateSkinsPCKToolStripMenuItem1_Click(null, EventArgs.Empty); } private void InitializeTexturePack(int packId, int packVersion, string packName, string res, bool createSkinsPCK = false) @@ -2162,21 +2163,20 @@ namespace PckStudio private void CreateSkinsPCKToolStripMenuItem1_Click(object sender, EventArgs e) { - PCKFile.FileData NewSkinsPCKFile; - if (currentPCK.TryGetFile("Skins.pck", PCKFile.FileData.FileType.SkinDataFile, out NewSkinsPCKFile)) + if (currentPCK.TryGetFile("Skins.pck", PCKFile.FileData.FileType.SkinDataFile, out _)) { MessageBox.Show("A Skins.pck file already exists in this PCK and a new one cannot be created.", "Operation aborted"); return; } - NewSkinsPCKFile = new PCKFile.FileData("Skins.pck", PCKFile.FileData.FileType.SkinDataFile); + PCKFile.FileData newSkinsPCKFile = new PCKFile.FileData("Skins.pck", PCKFile.FileData.FileType.SkinDataFile); using (var stream = new MemoryStream()) { PCKFileWriter.Write(stream, new PCKFile(3), LittleEndianCheckBox.Checked, true); - NewSkinsPCKFile.SetData(stream.ToArray()); + newSkinsPCKFile.SetData(stream.ToArray()); } - currentPCK.Files.Add(NewSkinsPCKFile); + currentPCK.Files.Add(newSkinsPCKFile); BuildMainTreeView(); @@ -2192,8 +2192,7 @@ namespace PckStudio if (treeViewMain.SelectedNode is TreeNode t && t.Tag is PCKFile.FileData file) { - List props = new List(); - file.properties.ForEach(l => props.Add(l.property + " " + l.value)); + var props = file.properties.Select(l => l.property + " " + l.value); using (var input = new TextPrompt(props.ToArray())) { if (input.ShowDialog(this) == DialogResult.OK) From 3f8d80135cae06f00165e8c115f6e2a150ebc74b Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Tue, 6 Dec 2022 17:28:54 +0100 Subject: [PATCH 06/12] Update `InitializeTexturePack` to use MemoryStream with the using keyword --- PCK-Studio/MainForm.cs | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index 333348b9..61bee24d 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -1249,27 +1249,27 @@ namespace PckStudio PCKFile infoPCK = new PCKFile(3); - var ms = new MemoryStream(); - var ms2 = new MemoryStream(); - var ms3 = new MemoryStream(); + using (var ms = new MemoryStream()) + { + var icon = new PCKFile.FileData("icon.png", PCKFile.FileData.FileType.TextureFile); + Resources.TexturePackIcon.Save(ms, ImageFormat.Png); + icon.SetData(ms.ToArray()); + infoPCK.Files.Add(icon); + } + using (var ms = new MemoryStream()) + { var comparison = new PCKFile.FileData("comparison.png", PCKFile.FileData.FileType.TextureFile); Resources.Comparison.Save(ms, ImageFormat.Png); comparison.SetData(ms.ToArray()); - - var icon = new PCKFile.FileData("icon.png", PCKFile.FileData.FileType.TextureFile); - Resources.TexturePackIcon.Save(ms2, ImageFormat.Png); - icon.SetData(ms2.ToArray()); - - infoPCK.Files.Add(icon); infoPCK.Files.Add(comparison); + } - PCKFileWriter.Write(ms3, infoPCK, LittleEndianCheckBox.Checked); - texturepackInfo.SetData(ms3.ToArray()); - - ms.Dispose(); - ms2.Dispose(); - ms3.Dispose(); + using (var ms = new MemoryStream()) + { + PCKFileWriter.Write(ms, infoPCK, LittleEndianCheckBox.Checked); + texturepackInfo.SetData(ms.ToArray()); + } currentPCK.Files.Add(texturepackInfo); } From b92d9a2d95358b48326abdcfa61107ee64d3d771 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 17 Dec 2022 22:57:14 +0100 Subject: [PATCH 07/12] Update Submodule issue --- .gitmodules | 4 ++-- CrEaTiiOn-Brotherhood-Official-C-Theme | 2 +- PCK-Studio/App.config | 2 +- PCK-Studio/Classes/ToolboxItems/ThemeForm.cs | 21 ++++++++++++++++++++ PCK-Studio/MainForm.cs | 16 ++++++--------- PCK-Studio/PckStudio.csproj | 9 ++++++--- PCK-Studio/Program.cs | 4 +--- PCK-Studio/Properties/Settings.Designer.cs | 2 +- PCK_Studio.sln | 4 ++-- SFGraphics | 1 - 10 files changed, 41 insertions(+), 24 deletions(-) create mode 100644 PCK-Studio/Classes/ToolboxItems/ThemeForm.cs delete mode 160000 SFGraphics diff --git a/.gitmodules b/.gitmodules index adabe39e..0259c22d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "CrEaTiiOn-Brotherhood-Official-C-Theme"] +[submodule "Vendor/CrEaTiiOn-Brotherhood-Official-C-Theme"] path = CrEaTiiOn-Brotherhood-Official-C-Theme - url = https://github.com/EternalModz/CrEaTiiOn-Brotherhood-Official-C-Theme + url = https://github.com/EternalModz/CrEaTiiOn-Brotherhood-Official-C-Theme.git diff --git a/CrEaTiiOn-Brotherhood-Official-C-Theme b/CrEaTiiOn-Brotherhood-Official-C-Theme index c9bc5557..7e7b27c7 160000 --- a/CrEaTiiOn-Brotherhood-Official-C-Theme +++ b/CrEaTiiOn-Brotherhood-Official-C-Theme @@ -1 +1 @@ -Subproject commit c9bc555793dd8cfe384368408b5e33482a0d9561 +Subproject commit 7e7b27c79cb20a3cffcf3df4f6b61a95eb165cdc diff --git a/PCK-Studio/App.config b/PCK-Studio/App.config index a96766fd..52bd227b 100644 --- a/PCK-Studio/App.config +++ b/PCK-Studio/App.config @@ -1,7 +1,7 @@ - + diff --git a/PCK-Studio/Classes/ToolboxItems/ThemeForm.cs b/PCK-Studio/Classes/ToolboxItems/ThemeForm.cs new file mode 100644 index 00000000..2aa5e988 --- /dev/null +++ b/PCK-Studio/Classes/ToolboxItems/ThemeForm.cs @@ -0,0 +1,21 @@ +using Dark.Net; +using System.ComponentModel; +using System.Windows.Forms; + +namespace PckStudio.Classes.ToolboxItems +{ + public partial class ThemeForm : Form + { + public ThemeForm() + : base() + { + DarkNet.Instance.SetWindowThemeForms(this, Theme.Auto); + } + + public ThemeForm(IContainer container) + : this() + { + container.Add(this); + } + } +} diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index e4718e9d..e4ebf264 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -22,10 +22,11 @@ using PckStudio.Forms.Editor; using PckStudio.Forms.Additional_Popups.Animation; using PckStudio.Forms.Additional_Popups; using PckStudio.Classes.Misc; +using PckStudio.Classes.ToolboxItems; namespace PckStudio { - public partial class MainForm : Form + public partial class MainForm : ThemeForm { string saveLocation = string.Empty; PCKFile currentPCK = null; @@ -370,15 +371,10 @@ namespace PckStudio private void UpdateRPC() { - if (currentPCK == null) - { - RPC.SetPresence("An Open Source .PCK File Editor", "Program by PhoenixARC"); - return; - }; - - if (TryGetLocFile(out LOCFile locfile) && - locfile.HasLocEntry("IDS_DISPLAY_NAME") && - locfile.Languages.Contains("en-EN")) + if (currentPCK is not null && + TryGetLocFile(out LOCFile locfile) && + locfile.HasLocEntry("IDS_DISPLAY_NAME") && + locfile.Languages.Contains("en-EN")) { RPC.SetPresence($"Editing a Pack: {locfile.GetLocEntry("IDS_DISPLAY_NAME", "en-EN")}", "Program by PhoenixARC"); return; diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 9d6582a7..1393431c 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -27,7 +27,7 @@ Properties PckStudio PCK-Studio - v4.8.1 + v4.8 512 true @@ -183,6 +183,9 @@ + + Form + @@ -782,9 +785,9 @@ - + {c3d7b16c-c047-4baa-884f-7a2308619c33} - CBH-Ultimate-Theme-Library-NET-Framework + Net Framework v4.8 diff --git a/PCK-Studio/Program.cs b/PCK-Studio/Program.cs index 4156853d..3c0fb890 100644 --- a/PCK-Studio/Program.cs +++ b/PCK-Studio/Program.cs @@ -25,9 +25,7 @@ namespace PckStudio Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); DarkNet.Instance.SetCurrentProcessTheme(Theme.Auto); - - Form mainForm = new MainForm(); - DarkNet.Instance.SetWindowThemeForms(mainForm, Theme.Auto); + MainForm mainForm = new MainForm(); Application.Run(mainForm); } diff --git a/PCK-Studio/Properties/Settings.Designer.cs b/PCK-Studio/Properties/Settings.Designer.cs index 06354b4f..5dcf9f56 100644 --- a/PCK-Studio/Properties/Settings.Designer.cs +++ b/PCK-Studio/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace PckStudio.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.1.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/PCK_Studio.sln b/PCK_Studio.sln index 70ba4aed..4e675ca1 100644 --- a/PCK_Studio.sln +++ b/PCK_Studio.sln @@ -5,9 +5,9 @@ VisualStudioVersion = 17.1.32414.318 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PCKStudio", "PCK-Studio\PCKStudio.csproj", "{0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Submodules", "Submodules", "{CA7092AE-BF12-4D57-AE25-85E7E6149BE0}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Vendor", "Vendor", "{CA7092AE-BF12-4D57-AE25-85E7E6149BE0}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CBH-Ultimate-Theme-Library-NET-Framework", "CrEaTiiOn-Brotherhood-Official-C-Theme\CBH-Ultimate-Theme-Library-NET-Framework\CBH-Ultimate-Theme-Library-NET-Framework.csproj", "{C3D7B16C-C047-4BAA-884F-7A2308619C33}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Net Framework v4.8", "CrEaTiiOn-Brotherhood-Official-C-Theme\Net_Framework_v4.8\Net Framework v4.8.csproj", "{C3D7B16C-C047-4BAA-884F-7A2308619C33}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/SFGraphics b/SFGraphics deleted file mode 160000 index ec1c5f07..00000000 --- a/SFGraphics +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ec1c5f0741722cf6bea29fbe03c6f9226cc4d928 From 12145017a03ae7e0f61d23a302801bcc821d87bb Mon Sep 17 00:00:00 2001 From: Miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 17 Dec 2022 23:36:10 +0100 Subject: [PATCH 08/12] Update CI.yml add submodul checkout and updating --- .github/workflows/CI.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 2a78b578..51f85c22 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -9,8 +9,13 @@ jobs: steps: - uses: actions/checkout@v3 + + - name: Checkout submodules + uses: textbook/git-checkout-submodule-action@2.1.1 + - name: Setup MSBuild uses: microsoft/setup-msbuild@v1.1 + - name: Setup NuGet uses: NuGet/setup-nuget@v1.0.6 From acae58dc6905e15d3c2b57cbf3a6d890fa6b7e68 Mon Sep 17 00:00:00 2001 From: Miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 17 Dec 2022 23:39:25 +0100 Subject: [PATCH 09/12] Update CI.yml --- .github/workflows/CI.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 51f85c22..0ed0550e 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -11,7 +11,9 @@ jobs: - uses: actions/checkout@v3 - name: Checkout submodules - uses: textbook/git-checkout-submodule-action@2.1.1 + uses: srt32/git-actions@v0.0.3 + with: + args: git submodule update --init --recursive - name: Setup MSBuild uses: microsoft/setup-msbuild@v1.1 From 8a0811b6d1af235b1d6c8d90992d2d94a9cc29ef Mon Sep 17 00:00:00 2001 From: Miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 17 Dec 2022 23:42:35 +0100 Subject: [PATCH 10/12] Update CI.yml --- .github/workflows/CI.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 0ed0550e..0a21f1ae 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -11,9 +11,8 @@ jobs: - uses: actions/checkout@v3 - name: Checkout submodules - uses: srt32/git-actions@v0.0.3 - with: - args: git submodule update --init --recursive + run: | + git submodule update --init --recursive - name: Setup MSBuild uses: microsoft/setup-msbuild@v1.1 From d97c54db1eac6c0f325231aef5e6a69c82d78be9 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 17 Dec 2022 23:49:37 +0100 Subject: [PATCH 11/12] Remove old SFGraphics reference --- SFGraphics | 1 - 1 file changed, 1 deletion(-) delete mode 160000 SFGraphics diff --git a/SFGraphics b/SFGraphics deleted file mode 160000 index ec1c5f07..00000000 --- a/SFGraphics +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ec1c5f0741722cf6bea29fbe03c6f9226cc4d928 From 29819360f2ab3122238a3a28618bfea0f5d52e0f Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 18 Dec 2022 00:21:11 +0100 Subject: [PATCH 12/12] Fixed a few includes and moved Col related controls --- .gitmodules | 2 +- PCK-Studio/Classes/ToolboxItems/ThemeForm.cs | 4 +- .../Additional-Popups/Col}/ColorBox.cs | 0 .../Col}/ColorBox.designer.cs | 0 .../Additional-Popups/Col}/ColorBox.resx | 0 .../Additional-Popups/Col}/ColorUtil.cs | 0 .../Additional-Popups/Col}/DrawStyles.cs | 0 .../Additional-Popups/Col}/NumericTextBox.cs | 0 .../Additional-Popups/Col}/TwoColorPanel.cs | 0 .../Col}/TwoColorPanel.designer.cs | 0 .../Col}/VerticalColorSlider.cs | 0 .../Col}/VerticalColorSlider.designer.cs | 0 .../Col}/VerticalColorSlider.resx | 0 PCK-Studio/MainForm.cs | 87 +++--- PCK-Studio/PckStudio.csproj | 293 +++++++++--------- PCK_Studio.sln | 21 +- 16 files changed, 211 insertions(+), 196 deletions(-) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/ColorBox.cs (100%) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/ColorBox.designer.cs (100%) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/ColorBox.resx (100%) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/ColorUtil.cs (100%) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/DrawStyles.cs (100%) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/NumericTextBox.cs (100%) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/TwoColorPanel.cs (100%) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/TwoColorPanel.designer.cs (100%) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/VerticalColorSlider.cs (100%) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/VerticalColorSlider.designer.cs (100%) rename PCK-Studio/{Classes/FileTypses/COL => Forms/Additional-Popups/Col}/VerticalColorSlider.resx (100%) diff --git a/.gitmodules b/.gitmodules index 0259c22d..565c3e04 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "Vendor/CrEaTiiOn-Brotherhood-Official-C-Theme"] +[submodule "CrEaTiiOn-Brotherhood-Official-C-Theme"] path = CrEaTiiOn-Brotherhood-Official-C-Theme url = https://github.com/EternalModz/CrEaTiiOn-Brotherhood-Official-C-Theme.git diff --git a/PCK-Studio/Classes/ToolboxItems/ThemeForm.cs b/PCK-Studio/Classes/ToolboxItems/ThemeForm.cs index 2aa5e988..c78fc71e 100644 --- a/PCK-Studio/Classes/ToolboxItems/ThemeForm.cs +++ b/PCK-Studio/Classes/ToolboxItems/ThemeForm.cs @@ -1,6 +1,6 @@ -using Dark.Net; -using System.ComponentModel; +using System.ComponentModel; using System.Windows.Forms; +using Dark.Net; namespace PckStudio.Classes.ToolboxItems { diff --git a/PCK-Studio/Classes/FileTypses/COL/ColorBox.cs b/PCK-Studio/Forms/Additional-Popups/Col/ColorBox.cs similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/ColorBox.cs rename to PCK-Studio/Forms/Additional-Popups/Col/ColorBox.cs diff --git a/PCK-Studio/Classes/FileTypses/COL/ColorBox.designer.cs b/PCK-Studio/Forms/Additional-Popups/Col/ColorBox.designer.cs similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/ColorBox.designer.cs rename to PCK-Studio/Forms/Additional-Popups/Col/ColorBox.designer.cs diff --git a/PCK-Studio/Classes/FileTypses/COL/ColorBox.resx b/PCK-Studio/Forms/Additional-Popups/Col/ColorBox.resx similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/ColorBox.resx rename to PCK-Studio/Forms/Additional-Popups/Col/ColorBox.resx diff --git a/PCK-Studio/Classes/FileTypses/COL/ColorUtil.cs b/PCK-Studio/Forms/Additional-Popups/Col/ColorUtil.cs similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/ColorUtil.cs rename to PCK-Studio/Forms/Additional-Popups/Col/ColorUtil.cs diff --git a/PCK-Studio/Classes/FileTypses/COL/DrawStyles.cs b/PCK-Studio/Forms/Additional-Popups/Col/DrawStyles.cs similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/DrawStyles.cs rename to PCK-Studio/Forms/Additional-Popups/Col/DrawStyles.cs diff --git a/PCK-Studio/Classes/FileTypses/COL/NumericTextBox.cs b/PCK-Studio/Forms/Additional-Popups/Col/NumericTextBox.cs similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/NumericTextBox.cs rename to PCK-Studio/Forms/Additional-Popups/Col/NumericTextBox.cs diff --git a/PCK-Studio/Classes/FileTypses/COL/TwoColorPanel.cs b/PCK-Studio/Forms/Additional-Popups/Col/TwoColorPanel.cs similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/TwoColorPanel.cs rename to PCK-Studio/Forms/Additional-Popups/Col/TwoColorPanel.cs diff --git a/PCK-Studio/Classes/FileTypses/COL/TwoColorPanel.designer.cs b/PCK-Studio/Forms/Additional-Popups/Col/TwoColorPanel.designer.cs similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/TwoColorPanel.designer.cs rename to PCK-Studio/Forms/Additional-Popups/Col/TwoColorPanel.designer.cs diff --git a/PCK-Studio/Classes/FileTypses/COL/VerticalColorSlider.cs b/PCK-Studio/Forms/Additional-Popups/Col/VerticalColorSlider.cs similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/VerticalColorSlider.cs rename to PCK-Studio/Forms/Additional-Popups/Col/VerticalColorSlider.cs diff --git a/PCK-Studio/Classes/FileTypses/COL/VerticalColorSlider.designer.cs b/PCK-Studio/Forms/Additional-Popups/Col/VerticalColorSlider.designer.cs similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/VerticalColorSlider.designer.cs rename to PCK-Studio/Forms/Additional-Popups/Col/VerticalColorSlider.designer.cs diff --git a/PCK-Studio/Classes/FileTypses/COL/VerticalColorSlider.resx b/PCK-Studio/Forms/Additional-Popups/Col/VerticalColorSlider.resx similarity index 100% rename from PCK-Studio/Classes/FileTypses/COL/VerticalColorSlider.resx rename to PCK-Studio/Forms/Additional-Popups/Col/VerticalColorSlider.resx diff --git a/PCK-Studio/MainForm.cs b/PCK-Studio/MainForm.cs index cbe06718..e580178f 100644 --- a/PCK-Studio/MainForm.cs +++ b/PCK-Studio/MainForm.cs @@ -931,67 +931,66 @@ namespace PckStudio if (treeMeta.SelectedNode is TreeNode subnode && subnode.Tag is ValueTuple property && treeViewMain.SelectedNode is TreeNode node && node.Tag is PCKFile.FileData file) { - int i = file.properties.IndexOf(property); + int i = file.properties.IndexOf(property); if (i != -1) - { + { switch (property.Item1) { case "ANIM" when file.filetype == PCKFile.FileData.FileType.SkinFile: - try - { + try + { using ANIMEditor diag = new ANIMEditor(property.Item2); - if (diag.ShowDialog(this) == DialogResult.OK && diag.saved) - { + if (diag.ShowDialog(this) == DialogResult.OK && diag.saved) + { file.properties[i] = ("ANIM", diag.outANIM); if (IsSubPCKNode(treeViewMain.SelectedNode.FullPath)) RebuildSubPCK(treeViewMain.SelectedNode); - ReloadMetaTreeView(); - saved = false; - } - return; - } - catch (Exception ex) - { - Debug.WriteLine(ex.Message); - MessageBox.Show("Failed to parse ANIM value, aborting to normal functionality. Please make sure the value only includes hexadecimal characters (0-9,A-F) and has no more than 8 characters. It can have an optional prefix of \"0x\"."); - } + ReloadMetaTreeView(); + saved = false; + } + return; + } + catch (Exception ex) + { + Debug.WriteLine(ex.Message); + MessageBox.Show("Failed to parse ANIM value, aborting to normal functionality. Please make sure the value only includes hexadecimal characters (0-9,A-F) and has no more than 8 characters. It can have an optional prefix of \"0x\"."); + } break; case "BOX" when file.filetype == PCKFile.FileData.FileType.SkinFile: - try - { - using BoxEditor diag = new BoxEditor(property.Item2, IsSubPCKNode(treeViewMain.SelectedNode.FullPath)); - if (diag.ShowDialog(this) == DialogResult.OK) - { + try + { + using BoxEditor diag = new BoxEditor(property.Item2, IsSubPCKNode(treeViewMain.SelectedNode.FullPath)); + if (diag.ShowDialog(this) == DialogResult.OK) + { file.properties[i] = ("BOX", diag.Result); - if (IsSubPCKNode(treeViewMain.SelectedNode.FullPath)) - RebuildSubPCK(treeViewMain.SelectedNode); - ReloadMetaTreeView(); - saved = false; - } - return; - } - catch (Exception ex) - { - Debug.WriteLine(ex.Message); - MessageBox.Show("Failed to parse BOX value, aborting to normal functionality."); - } + if (IsSubPCKNode(treeViewMain.SelectedNode.FullPath)) + RebuildSubPCK(treeViewMain.SelectedNode); + ReloadMetaTreeView(); + saved = false; + } + return; + } + catch (Exception ex) + { + Debug.WriteLine(ex.Message); + MessageBox.Show("Failed to parse BOX value, aborting to normal functionality."); + } break; default: break; - } - using AddMeta add = new AddMeta(property.Item1, property.Item2); - if (add.ShowDialog() == DialogResult.OK && i != -1) - { - file.properties[i] = new ValueTuple(add.PropertyName, add.PropertyValue); - if (IsSubPCKNode(treeViewMain.SelectedNode.FullPath)) - RebuildSubPCK(treeViewMain.SelectedNode); - ReloadMetaTreeView(); - saved = false; - } - } + } + using AddMeta add = new AddMeta(property.Item1, property.Item2); + if (add.ShowDialog() == DialogResult.OK && i != -1) + { + file.properties[i] = new ValueTuple(add.PropertyName, add.PropertyValue); + if (IsSubPCKNode(treeViewMain.SelectedNode.FullPath)) + RebuildSubPCK(treeViewMain.SelectedNode); + ReloadMetaTreeView(); + saved = false; + } } } } diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj index 1393431c..609ffe2e 100644 --- a/PCK-Studio/PckStudio.csproj +++ b/PCK-Studio/PckStudio.csproj @@ -146,29 +146,6 @@ - - UserControl - - - ColorBox.cs - - - - - Component - - - UserControl - - - TwoColorPanel.cs - - - UserControl - - - VerticalColorSlider.cs - @@ -232,16 +209,45 @@ + + Form + + + AboutThisProgram.cs + Form ChangeLogForm.cs - + + UserControl + + + ColorBox.cs + + + + + Component + + + UserControl + + + TwoColorPanel.cs + + + UserControl + + + VerticalColorSlider.cs + + Form - + AddLanguage.cs @@ -292,29 +298,29 @@ SetBulkSpeed.cs - + Form - - CreditsEditor.cs + + creditsEditor.cs - + Form - - AddCategory.cs + + addCategory.cs - + Form - - AddMeta.cs + + addMeta.cs - + Form - - AddNewSkin.cs + + addNewSkin.cs Form @@ -334,19 +340,25 @@ GRFEditor.cs - + Form - + AddParameter.cs - + Form - - PleaseWait.cs + + pleaseWait.cs + + Form + + + Preferences.cs + Form @@ -359,11 +371,17 @@ ANIMEditor.cs - + Form - - GenerateModel.cs + + MainForm.cs + + + Form + + + generateModel.cs Form @@ -389,23 +407,23 @@ AudioEditor.cs - + Form - - InstallPS3.cs + + installPS3.cs - + Form - - InstallVita.cs + + installVita.cs - + Form - - InstallWiiU.cs + + installWiiU.cs @@ -414,23 +432,23 @@ PCK Manager.cs - + Form - - PCKCenter.cs + + pckCenter.cs - + Form - - PCKCenterBeta.cs + + PckCenterBeta.cs - + Form - - PCKCenterOpen.cs + + pckCenterOpen.cs Form @@ -438,12 +456,6 @@ LockPrompt.cs - - Form - - - Preferences.cs - Form @@ -460,32 +472,23 @@ MetaList.cs - - Form - - - MainForm.cs - - - Form - - - AboutThisProgram.cs - - - ColorBox.cs - - - VerticalColorSlider.cs + + AboutThisProgram.cs ChangeLogForm.cs - + + ColorBox.cs + + + VerticalColorSlider.cs + + AddLanguage.cs @@ -521,24 +524,24 @@ SetBulkSpeed.cs - - CreditsEditor.cs + + creditsEditor.cs Designer - - AddCategory.cs + + addCategory.cs - - AddMeta.cs + + addMeta.cs - - AddMeta.cs + + addMeta.cs - - AddNewSkin.cs + + addNewSkin.cs - - AddNewSkin.cs + + addNewSkin.cs Designer @@ -554,11 +557,17 @@ GRFEditor.cs - + AddParameter.cs - - PleaseWait.cs + + pleaseWait.cs + + + Preferences.cs + + + Preferences.cs BoxEditor.cs @@ -566,11 +575,19 @@ ANIMEditor.cs - - GenerateModel.cs + + MainForm.cs + Designer - - GenerateModel.cs + + MainForm.cs + Designer + + + generateModel.cs + + + generateModel.cs SkinPreview.cs @@ -585,17 +602,17 @@ AudioEditor.cs Designer - - InstallPS3.cs + + installPS3.cs - - InstallVita.cs + + installVita.cs - - InstallWiiU.cs + + installWiiU.cs - - InstallWiiU.cs + + installWiiU.cs MetaList.cs @@ -606,20 +623,20 @@ PCK Manager.cs - - PCKCenter.cs + + pckCenter.cs - - PCKCenter.cs + + pckCenter.cs - - PCKCenterBeta.cs + + PckCenterBeta.cs - - PCKCenterOpen.cs + + pckCenterOpen.cs - - PCKCenterOpen.cs + + pckCenterOpen.cs LockPrompt.cs @@ -627,27 +644,12 @@ LockPrompt.cs - - Preferences.cs - - - Preferences.cs - TextureConverterUtility.cs MetaList.cs - - AboutThisProgram.cs - - - MainForm.cs - - - MainForm.cs - PublicResXFileCodeGenerator Designer @@ -674,9 +676,6 @@ - - - @@ -699,6 +698,7 @@ + @@ -716,6 +716,8 @@ + + @@ -733,7 +735,6 @@ - @@ -744,9 +745,6 @@ compile; runtime; build; native; contentfiles; analyzers; buildtransitive all - - 2.0.1 - 1.0.175 @@ -771,6 +769,9 @@ 4.5.0 + + 2.0.1 + diff --git a/PCK_Studio.sln b/PCK_Studio.sln index 4e675ca1..a86b118e 100644 --- a/PCK_Studio.sln +++ b/PCK_Studio.sln @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.1.32414.318 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PCKStudio", "PCK-Studio\PCKStudio.csproj", "{0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PckStudio", "PCK-Studio\PckStudio.csproj", "{0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Vendor", "Vendor", "{CA7092AE-BF12-4D57-AE25-85E7E6149BE0}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CrEaTiiOn-Brotherhood-Official-C-Theme", "CrEaTiiOn-Brotherhood-Official-C-Theme", "{7DB3F605-FB30-45C8-9D21-AE2FF3A0344D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Net Framework v4.8", "CrEaTiiOn-Brotherhood-Official-C-Theme\Net_Framework_v4.8\Net Framework v4.8.csproj", "{C3D7B16C-C047-4BAA-884F-7A2308619C33}" EndProject @@ -17,6 +17,9 @@ Global Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 Release|x86 = Release|x86 + ReleasePortable|Any CPU = ReleasePortable|Any CPU + ReleasePortable|x64 = ReleasePortable|x64 + ReleasePortable|x86 = ReleasePortable|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU @@ -31,6 +34,12 @@ Global {0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}.Release|x64.Build.0 = Release|Any CPU {0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}.Release|x86.ActiveCfg = Release|Any CPU {0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}.Release|x86.Build.0 = Release|Any CPU + {0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}.ReleasePortable|Any CPU.ActiveCfg = ReleasePortable|Any CPU + {0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}.ReleasePortable|Any CPU.Build.0 = ReleasePortable|Any CPU + {0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}.ReleasePortable|x64.ActiveCfg = ReleasePortable|Any CPU + {0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}.ReleasePortable|x64.Build.0 = ReleasePortable|Any CPU + {0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}.ReleasePortable|x86.ActiveCfg = ReleasePortable|Any CPU + {0ACAAEDE-93F5-4B5D-B8D7-A0C43359C0D6}.ReleasePortable|x86.Build.0 = ReleasePortable|Any CPU {C3D7B16C-C047-4BAA-884F-7A2308619C33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C3D7B16C-C047-4BAA-884F-7A2308619C33}.Debug|Any CPU.Build.0 = Debug|Any CPU {C3D7B16C-C047-4BAA-884F-7A2308619C33}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -43,12 +52,18 @@ Global {C3D7B16C-C047-4BAA-884F-7A2308619C33}.Release|x64.Build.0 = Release|Any CPU {C3D7B16C-C047-4BAA-884F-7A2308619C33}.Release|x86.ActiveCfg = Release|Any CPU {C3D7B16C-C047-4BAA-884F-7A2308619C33}.Release|x86.Build.0 = Release|Any CPU + {C3D7B16C-C047-4BAA-884F-7A2308619C33}.ReleasePortable|Any CPU.ActiveCfg = Release|Any CPU + {C3D7B16C-C047-4BAA-884F-7A2308619C33}.ReleasePortable|Any CPU.Build.0 = Release|Any CPU + {C3D7B16C-C047-4BAA-884F-7A2308619C33}.ReleasePortable|x64.ActiveCfg = Release|Any CPU + {C3D7B16C-C047-4BAA-884F-7A2308619C33}.ReleasePortable|x64.Build.0 = Release|Any CPU + {C3D7B16C-C047-4BAA-884F-7A2308619C33}.ReleasePortable|x86.ActiveCfg = Release|Any CPU + {C3D7B16C-C047-4BAA-884F-7A2308619C33}.ReleasePortable|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {C3D7B16C-C047-4BAA-884F-7A2308619C33} = {CA7092AE-BF12-4D57-AE25-85E7E6149BE0} + {C3D7B16C-C047-4BAA-884F-7A2308619C33} = {7DB3F605-FB30-45C8-9D21-AE2FF3A0344D} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {9A3BF1FB-950F-401E-9F58-EA7BBADCE6F2}