Phase 0.1: Resource extraction pipeline

- Add OrderedDictionary JSON converter for round-trip support
- Add ObjLoadRaw() for GDI+-free binary resource loading
- Simplify Ser.cs JSON methods (consistent settings, JsonConvert API)
- Create SlaveMatrix.Extract CLI tool for resource extraction
- Manual export walks Obj/Difs/Dif/Pars/Par hierarchy
- Exports all 13 Obj resources to structured JSON with shape data
- Update .gitignore for build artifacts and extraction output
This commit is contained in:
2026-06-13 17:17:58 +02:00
parent db1cbb3ca5
commit fb0ff502f0
7 changed files with 382 additions and 127 deletions

View File

@@ -1,3 +1,4 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.11.35222.181
@@ -6,30 +7,54 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlaveMatrix", "SlaveMatrix\
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "2DGAMELIB", "2DGAMELIB\2DGAMELIB.csproj", "{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SlaveMatrix.Extract", "SlaveMatrix.Extract\SlaveMatrix.Extract.csproj", "{DAEAB23A-E099-432E-9C85-39D0853BD78A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Debug|Any CPU = Debug|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Debug|x64.ActiveCfg = Debug|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Debug|x64.Build.0 = Debug|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Debug|x86.ActiveCfg = Debug|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Debug|x86.Build.0 = Debug|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Debug|Any CPU.Build.0 = Debug|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Release|x64.ActiveCfg = Release|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Release|x64.Build.0 = Release|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Release|x86.ActiveCfg = Release|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Release|x86.Build.0 = Release|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Release|Any CPU.ActiveCfg = Release|Any CPU
{627ABCB0-698F-4FF9-A85D-1E99EBCACF46}.Release|Any CPU.Build.0 = Release|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Debug|x64.ActiveCfg = Debug|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Debug|x64.Build.0 = Debug|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Debug|x86.ActiveCfg = Debug|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Debug|x86.Build.0 = Debug|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Release|x64.ActiveCfg = Release|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Release|x64.Build.0 = Release|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Release|x86.ActiveCfg = Release|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Release|x86.Build.0 = Release|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A12B2957-8EC4-4DA7-AD38-4FE141C532E1}.Release|Any CPU.Build.0 = Release|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Debug|x64.ActiveCfg = Debug|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Debug|x64.Build.0 = Debug|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Debug|x86.ActiveCfg = Debug|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Debug|x86.Build.0 = Debug|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Release|x64.ActiveCfg = Release|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Release|x64.Build.0 = Release|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Release|x86.ActiveCfg = Release|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Release|x86.Build.0 = Release|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DAEAB23A-E099-432E-9C85-39D0853BD78A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE