Removed json script stuff outside of main

This commit is contained in:
Mixone-FinallyHere 2024-11-06 00:04:07 +01:00
parent 6e32a08224
commit da566bd42c
3 changed files with 1 additions and 105 deletions

View File

@ -322,7 +322,6 @@
<Compile Include="Editors\SpawnEditor.Designer.cs">
<DependentUpon>SpawnEditor.cs</DependentUpon>
</Compile>
<Compile Include="Tools\JsonExporter.cs" />
<Compile Include="UniqueList.cs" />
<Compile Include="Editors\WildEditorHGSS.cs">
<SubType>Form</SubType>
@ -493,36 +492,6 @@
<EmbeddedResource Include="Editors\WildEditorDPPt.resx">
<DependentUpon>WildEditorDPPt.cs</DependentUpon>
</EmbeddedResource>
<Content Include="Exports\ScriptDatabase\commandsWithRelativeJump.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Exports\ScriptDatabase\comparisonOperatorsDict.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Exports\ScriptDatabase\comparisonOperatorsGenVappendix.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Exports\ScriptDatabase\DPPtCommands.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Exports\ScriptDatabase\endCodes.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Exports\ScriptDatabase\HGSSCommands.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Exports\ScriptDatabase\movementEndCodes.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Exports\ScriptDatabase\movementsDictIDName.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Exports\ScriptDatabase\overworldDirections.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Exports\ScriptDatabase\specialOverworlds.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>

View File

@ -27,7 +27,6 @@ using static DSPRE.ROMFiles.SpeciesFile;
using System.Reflection;
using System.ComponentModel;
using DSPRE.Editors;
using DSPRE.Tools;
namespace DSPRE {
@ -10027,7 +10026,7 @@ namespace DSPRE {
private void exportScriptDatabaseJSONToolStripMenuItem_Click(object sender, EventArgs e)
{
JsonExporter.ExportDictionaries();
MessageBox.Show("Not implemented yet");
}
}
}

View File

@ -1,72 +0,0 @@
using System.IO;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Collections.Generic;
using System.Linq;
using DSPRE.Resources;
using System.Collections;
using System;
namespace DSPRE.Tools
{
public static class JsonExporter
{
private const string ExportDirectory = "Exports/ScriptDatabase/";
public static void ExportDictionaries()
{
// Ensure the directory exists
Directory.CreateDirectory(ExportDirectory);
ExportWithMetadata(Path.Combine(ExportDirectory, "comparisonOperatorsDict.json"), ScriptDatabase.comparisonOperatorsDict);
ExportWithMetadata(Path.Combine(ExportDirectory, "comparisonOperatorsGenVappendix.json"), ScriptDatabase.comparisonOperatorsGenVappendix);
ExportWithMetadata(Path.Combine(ExportDirectory, "specialOverworlds.json"), ScriptDatabase.specialOverworlds);
ExportWithMetadata(Path.Combine(ExportDirectory, "overworldDirections.json"), ScriptDatabase.overworldDirections);
ExportWithMetadata(Path.Combine(ExportDirectory, "commandsWithRelativeJump.json"), ScriptDatabase.commandsWithRelativeJump);
ExportWithMetadata(Path.Combine(ExportDirectory, "endCodes.json"), ScriptDatabase.endCodes);
ExportWithMetadata(Path.Combine(ExportDirectory, "movementsDictIDName.json"), ScriptDatabase.movementsDictIDName);
ExportWithMetadata(Path.Combine(ExportDirectory, "movementEndCodes.json"), ScriptDatabase.movementEndCodes);
ExportCommandJson(Path.Combine(ExportDirectory, "DPPtCommands.json"), ScriptDatabase.DPPtScrCmdNames, ScriptDatabase.DPPtScrCmdParameters);
ExportCommandJson(Path.Combine(ExportDirectory, "HGSSCommands.json"), ScriptDatabase.HGSSScrCmdNames, ScriptDatabase.HGSSScrCmdParameters);
}
private static void ExportWithMetadata<T>(string filePath, T data)
{
var output = new
{
Type = typeof(T).Name,
Data = data
};
string json = JsonSerializer.Serialize(output, new JsonSerializerOptions
{
WriteIndented = true,
NumberHandling = JsonNumberHandling.AllowReadingFromString
});
File.WriteAllText(filePath, json);
}
private static void ExportCommandJson(string filePath, Dictionary<ushort, string> commandNames, Dictionary<ushort, byte[]> commandParameters)
{
var commands = commandNames.ToDictionary(
entry => entry.Key,
entry => new {
Name = entry.Value,
Parameters = commandParameters.ContainsKey(entry.Key) ? Array.ConvertAll(commandParameters[entry.Key], b => (int)b) : null
}
);
var output = new
{
Type = "Dictionary<ushort, CommandData>",
Data = commands
};
string json = JsonSerializer.Serialize(output, new JsonSerializerOptions
{
WriteIndented = true,
NumberHandling = JsonNumberHandling.AllowReadingFromString
});
File.WriteAllText(filePath, json);
}
}
}