From 2a051cf098e1aec0ab92b12d252366ec4610fd40 Mon Sep 17 00:00:00 2001 From: Samuele Lorefice Date: Wed, 22 Jan 2025 00:43:53 +0100 Subject: [PATCH] Base files --- .gitignore | 5 + .idea/.idea.BlenderSharp/.idea/.gitignore | 13 + .../.idea.BlenderSharp/.idea/indexLayout.xml | 8 + .idea/.idea.BlenderSharp/.idea/vcs.xml | 6 + BlendTypes/BlendTypes.csproj | 9 + BlenderSharp.sln | 22 + CodeGenerator/BlenderBlend.cs | 575 ++++++++++++++++++ CodeGenerator/CodeGenerator.csproj | 24 + CodeGenerator/Program.cs | 212 +++++++ CodeGenerator/empty.blend | Bin 0 -> 488012 bytes 10 files changed, 874 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.idea.BlenderSharp/.idea/.gitignore create mode 100644 .idea/.idea.BlenderSharp/.idea/indexLayout.xml create mode 100644 .idea/.idea.BlenderSharp/.idea/vcs.xml create mode 100644 BlendTypes/BlendTypes.csproj create mode 100644 BlenderSharp.sln create mode 100644 CodeGenerator/BlenderBlend.cs create mode 100644 CodeGenerator/CodeGenerator.csproj create mode 100644 CodeGenerator/Program.cs create mode 100644 CodeGenerator/empty.blend diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..add57be --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +bin/ +obj/ +/packages/ +riderModule.iml +/_ReSharper.Caches/ \ No newline at end of file diff --git a/.idea/.idea.BlenderSharp/.idea/.gitignore b/.idea/.idea.BlenderSharp/.idea/.gitignore new file mode 100644 index 0000000..81e775a --- /dev/null +++ b/.idea/.idea.BlenderSharp/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/.idea.BlenderSharp.iml +/contentModel.xml +/modules.xml +/projectSettingsUpdater.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.BlenderSharp/.idea/indexLayout.xml b/.idea/.idea.BlenderSharp/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.BlenderSharp/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.BlenderSharp/.idea/vcs.xml b/.idea/.idea.BlenderSharp/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.BlenderSharp/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/BlendTypes/BlendTypes.csproj b/BlendTypes/BlendTypes.csproj new file mode 100644 index 0000000..3a63532 --- /dev/null +++ b/BlendTypes/BlendTypes.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/BlenderSharp.sln b/BlenderSharp.sln new file mode 100644 index 0000000..94ab229 --- /dev/null +++ b/BlenderSharp.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeGenerator", "CodeGenerator\CodeGenerator.csproj", "{F7A0CD58-F691-4EFC-AC04-D63DB372DA31}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlendTypes", "BlendTypes\BlendTypes.csproj", "{E2D22AE2-A31A-453C-8A3F-1D4066F0C55D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F7A0CD58-F691-4EFC-AC04-D63DB372DA31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F7A0CD58-F691-4EFC-AC04-D63DB372DA31}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F7A0CD58-F691-4EFC-AC04-D63DB372DA31}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F7A0CD58-F691-4EFC-AC04-D63DB372DA31}.Release|Any CPU.Build.0 = Release|Any CPU + {E2D22AE2-A31A-453C-8A3F-1D4066F0C55D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E2D22AE2-A31A-453C-8A3F-1D4066F0C55D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E2D22AE2-A31A-453C-8A3F-1D4066F0C55D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E2D22AE2-A31A-453C-8A3F-1D4066F0C55D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/CodeGenerator/BlenderBlend.cs b/CodeGenerator/BlenderBlend.cs new file mode 100644 index 0000000..1cb3db9 --- /dev/null +++ b/CodeGenerator/BlenderBlend.cs @@ -0,0 +1,575 @@ +// This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild + +using System.Collections.Generic; + +// ReSharper disable once CheckNamespace +namespace Kaitai { + /// + /// Blender is an open source suite for 3D modelling, sculpting, + /// animation, compositing, rendering, preparation of assets for its own + /// game engine and exporting to others, etc. `.blend` is its own binary + /// format that saves whole state of suite: current scene, animations, + /// all software settings, extensions, etc. + /// + /// Internally, .blend format is a hybrid semi-self-descriptive + /// format. On top level, it contains a simple header and a sequence of + /// file blocks, which more or less follow typical [TLV + /// pattern](https://en.wikipedia.org/wiki/Type-length-value). Pre-last + /// block would be a structure with code `DNA1`, which is a essentially + /// a machine-readable schema of all other structures used in this file. + /// + public partial class BlenderBlend : KaitaiStruct { + public static BlenderBlend FromFile(string fileName) { + return new BlenderBlend(new KaitaiStream(fileName)); + } + + + public enum PtrSize { + Bits64 = 45, + Bits32 = 95, + } + + public enum Endian { + Be = 86, + Le = 118, + } + + public BlenderBlend(KaitaiStream p__io, KaitaiStruct p__parent = null, BlenderBlend p__root = null) : base(p__io) { + m_parent = p__parent; + m_root = p__root ?? this; + f_sdnaStructs = false; + _read(); + } + + private void _read() { + _hdr = new Header(m_io, this, m_root); + _blocks = new List(); + { + var i = 0; + while (!m_io.IsEof) { + _blocks.Add(new FileBlock(m_io, this, m_root)); + i++; + } + } + } + + /// + /// DNA struct contains a `type` (type name), which is specified as + /// an index in types table, and sequence of fields. + /// + public partial class DnaStruct : KaitaiStruct { + public static DnaStruct FromFile(string fileName) { + return new DnaStruct(new KaitaiStream(fileName)); + } + + public DnaStruct(KaitaiStream p__io, BlenderBlend.Dna1Body p__parent = null, BlenderBlend p__root = null) : + base(p__io) { + m_parent = p__parent; + m_root = p__root; + f_type = false; + _read(); + } + + private void _read() { + _idxType = m_io.ReadU2le(); + _numFields = m_io.ReadU2le(); + _fields = new List(); + for (var i = 0; i < NumFields; i++) { + _fields.Add(new DnaField(m_io, this, m_root)); + } + } + + private bool f_type; + private string _type; + + public string Type { + get { + if (f_type) + return _type; + _type = (string)(M_Parent.Types[IdxType]); + f_type = true; + return _type; + } + } + + private ushort _idxType; + private ushort _numFields; + private List _fields; + private BlenderBlend m_root; + private BlenderBlend.Dna1Body m_parent; + + public ushort IdxType { + get { return _idxType; } + } + + public ushort NumFields { + get { return _numFields; } + } + + public List Fields { + get { return _fields; } + } + + public BlenderBlend M_Root { + get { return m_root; } + } + + public BlenderBlend.Dna1Body M_Parent { + get { return m_parent; } + } + } + + public partial class FileBlock : KaitaiStruct { + public static FileBlock FromFile(string fileName) { + return new FileBlock(new KaitaiStream(fileName)); + } + + public FileBlock(KaitaiStream p__io, BlenderBlend p__parent = null, BlenderBlend p__root = null) : base(p__io) { + m_parent = p__parent; + m_root = p__root; + f_sdnaStruct = false; + _read(); + } + + private void _read() { + _code = System.Text.Encoding.GetEncoding("ASCII").GetString(m_io.ReadBytes(4)); + _lenBody = m_io.ReadU4le(); + _memAddr = m_io.ReadBytes(M_Root.Hdr.Psize); + _sdnaIndex = m_io.ReadU4le(); + _count = m_io.ReadU4le(); + switch (Code) { + case "DNA1": + { + __raw_body = m_io.ReadBytes(LenBody); + var io___raw_body = new KaitaiStream(__raw_body); + _body = new Dna1Body(io___raw_body, this, m_root); + break; + } + default: + { + _body = m_io.ReadBytes(LenBody); + break; + } + } + } + + private bool f_sdnaStruct; + private DnaStruct _sdnaStruct; + + public DnaStruct SdnaStruct { + get { + if (f_sdnaStruct) + return _sdnaStruct; + if (SdnaIndex != 0) { + _sdnaStruct = (DnaStruct)(M_Root.SdnaStructs[(int)SdnaIndex]); + } + f_sdnaStruct = true; + return _sdnaStruct; + } + } + + private string _code; + private uint _lenBody; + private byte[] _memAddr; + private uint _sdnaIndex; + private uint _count; + private object _body; + private BlenderBlend m_root; + private BlenderBlend m_parent; + private byte[] __raw_body; + + /// + /// Identifier of the file block + /// + public string Code { + get { return _code; } + } + + /// + /// Total length of the data after the header of file block + /// + public uint LenBody { + get { return _lenBody; } + } + + /// + /// Memory address the structure was located when written to disk + /// + public byte[] MemAddr { + get { return _memAddr; } + } + + /// + /// Index of the SDNA structure + /// + public uint SdnaIndex { + get { return _sdnaIndex; } + } + + /// + /// Number of structure located in this file-block + /// + public uint Count { + get { return _count; } + } + + public object Body { + get { return _body; } + } + + public BlenderBlend M_Root { + get { return m_root; } + } + + public BlenderBlend M_Parent { + get { return m_parent; } + } + + public byte[] M_RawBody { + get { return __raw_body; } + } + } + + /// + /// DNA1, also known as "Structure DNA", is a special block in + /// .blend file, which contains machine-readable specifications of + /// all other structures used in this .blend file. + /// + /// Effectively, this block contains: + /// + /// * a sequence of "names" (strings which represent field names) + /// * a sequence of "types" (strings which represent type name) + /// * a sequence of "type lengths" + /// * a sequence of "structs" (which describe contents of every + /// structure, referring to types and names by index) + /// + /// + /// Reference: Source + /// + public partial class Dna1Body : KaitaiStruct { + public static Dna1Body FromFile(string fileName) { + return new Dna1Body(new KaitaiStream(fileName)); + } + + public Dna1Body(KaitaiStream p__io, BlenderBlend.FileBlock p__parent = null, BlenderBlend p__root = null) : + base(p__io) { + m_parent = p__parent; + m_root = p__root; + _read(); + } + + private void _read() { + _id = m_io.ReadBytes(4); + if (!((KaitaiStream.ByteArrayCompare(Id, new byte[] { 83, 68, 78, 65 }) == 0))) { + throw new ValidationNotEqualError(new byte[] { 83, 68, 78, 65 }, Id, M_Io, "/types/dna1_body/seq/0"); + } + _nameMagic = m_io.ReadBytes(4); + if (!((KaitaiStream.ByteArrayCompare(NameMagic, new byte[] { 78, 65, 77, 69 }) == 0))) { + throw new ValidationNotEqualError(new byte[] { 78, 65, 77, 69 }, NameMagic, M_Io, "/types/dna1_body/seq/1"); + } + _numNames = m_io.ReadU4le(); + _names = new List(); + for (var i = 0; i < NumNames; i++) { + _names.Add(System.Text.Encoding.GetEncoding("UTF-8").GetString(m_io.ReadBytesTerm(0, false, true, true))); + } + _padding1 = m_io.ReadBytes(KaitaiStream.Mod((4 - M_Io.Pos), 4)); + _typeMagic = m_io.ReadBytes(4); + if (!((KaitaiStream.ByteArrayCompare(TypeMagic, new byte[] { 84, 89, 80, 69 }) == 0))) { + throw new ValidationNotEqualError(new byte[] { 84, 89, 80, 69 }, TypeMagic, M_Io, "/types/dna1_body/seq/5"); + } + _numTypes = m_io.ReadU4le(); + _types = new List(); + for (var i = 0; i < NumTypes; i++) { + _types.Add(System.Text.Encoding.GetEncoding("UTF-8").GetString(m_io.ReadBytesTerm(0, false, true, true))); + } + _padding2 = m_io.ReadBytes(KaitaiStream.Mod((4 - M_Io.Pos), 4)); + _tlenMagic = m_io.ReadBytes(4); + if (!((KaitaiStream.ByteArrayCompare(TlenMagic, new byte[] { 84, 76, 69, 78 }) == 0))) { + throw new ValidationNotEqualError(new byte[] { 84, 76, 69, 78 }, TlenMagic, M_Io, "/types/dna1_body/seq/9"); + } + _lengths = new List(); + for (var i = 0; i < NumTypes; i++) { + _lengths.Add(m_io.ReadU2le()); + } + _padding3 = m_io.ReadBytes(KaitaiStream.Mod((4 - M_Io.Pos), 4)); + _strcMagic = m_io.ReadBytes(4); + if (!((KaitaiStream.ByteArrayCompare(StrcMagic, new byte[] { 83, 84, 82, 67 }) == 0))) { + throw new ValidationNotEqualError(new byte[] { 83, 84, 82, 67 }, StrcMagic, M_Io, + "/types/dna1_body/seq/12"); + } + _numStructs = m_io.ReadU4le(); + _structs = new List(); + for (var i = 0; i < NumStructs; i++) { + _structs.Add(new DnaStruct(m_io, this, m_root)); + } + } + + private byte[] _id; + private byte[] _nameMagic; + private uint _numNames; + private List _names; + private byte[] _padding1; + private byte[] _typeMagic; + private uint _numTypes; + private List _types; + private byte[] _padding2; + private byte[] _tlenMagic; + private List _lengths; + private byte[] _padding3; + private byte[] _strcMagic; + private uint _numStructs; + private List _structs; + private BlenderBlend m_root; + private BlenderBlend.FileBlock m_parent; + + public byte[] Id { + get { return _id; } + } + + public byte[] NameMagic { + get { return _nameMagic; } + } + + public uint NumNames { + get { return _numNames; } + } + + public List Names { + get { return _names; } + } + + public byte[] Padding1 { + get { return _padding1; } + } + + public byte[] TypeMagic { + get { return _typeMagic; } + } + + public uint NumTypes { + get { return _numTypes; } + } + + public List Types { + get { return _types; } + } + + public byte[] Padding2 { + get { return _padding2; } + } + + public byte[] TlenMagic { + get { return _tlenMagic; } + } + + public List Lengths { + get { return _lengths; } + } + + public byte[] Padding3 { + get { return _padding3; } + } + + public byte[] StrcMagic { + get { return _strcMagic; } + } + + public uint NumStructs { + get { return _numStructs; } + } + + public List Structs { + get { return _structs; } + } + + public BlenderBlend M_Root { + get { return m_root; } + } + + public BlenderBlend.FileBlock M_Parent { + get { return m_parent; } + } + } + + public partial class Header : KaitaiStruct { + public static Header FromFile(string fileName) { + return new Header(new KaitaiStream(fileName)); + } + + public Header(KaitaiStream p__io, BlenderBlend p__parent = null, BlenderBlend p__root = null) : base(p__io) { + m_parent = p__parent; + m_root = p__root; + f_psize = false; + _read(); + } + + private void _read() { + _magic = m_io.ReadBytes(7); + if (!((KaitaiStream.ByteArrayCompare(Magic, new byte[] { 66, 76, 69, 78, 68, 69, 82 }) == 0))) { + throw new ValidationNotEqualError(new byte[] { 66, 76, 69, 78, 68, 69, 82 }, Magic, M_Io, + "/types/header/seq/0"); + } + _ptrSizeId = ((BlenderBlend.PtrSize)m_io.ReadU1()); + _endian = ((BlenderBlend.Endian)m_io.ReadU1()); + _version = System.Text.Encoding.GetEncoding("ASCII").GetString(m_io.ReadBytes(3)); + } + + private bool f_psize; + private sbyte _psize; + + /// + /// Number of bytes that a pointer occupies + /// + public sbyte Psize { + get { + if (f_psize) + return _psize; + _psize = (sbyte)((PtrSizeId == BlenderBlend.PtrSize.Bits64 ? 8 : 4)); + f_psize = true; + return _psize; + } + } + + private byte[] _magic; + private PtrSize _ptrSizeId; + private Endian _endian; + private string _version; + private BlenderBlend m_root; + private BlenderBlend m_parent; + + public byte[] Magic { + get { return _magic; } + } + + /// + /// Size of a pointer; all pointers in the file are stored in this format + /// + public PtrSize PtrSizeId { + get { return _ptrSizeId; } + } + + /// + /// Type of byte ordering used + /// + public Endian Endian { + get { return _endian; } + } + + /// + /// Blender version used to save this file + /// + public string Version { + get { return _version; } + } + + public BlenderBlend M_Root { + get { return m_root; } + } + + public BlenderBlend M_Parent { + get { return m_parent; } + } + } + + public partial class DnaField : KaitaiStruct { + public static DnaField FromFile(string fileName) { + return new DnaField(new KaitaiStream(fileName)); + } + + public DnaField(KaitaiStream p__io, BlenderBlend.DnaStruct p__parent = null, BlenderBlend p__root = null) : + base(p__io) { + m_parent = p__parent; + m_root = p__root; + f_type = false; + f_name = false; + _read(); + } + + private void _read() { + _idxType = m_io.ReadU2le(); + _idxName = m_io.ReadU2le(); + } + + private bool f_type; + private string _type; + + public string Type { + get { + if (f_type) + return _type; + _type = (string)(M_Parent.M_Parent.Types[IdxType]); + f_type = true; + return _type; + } + } + + private bool f_name; + private string _name; + + public string Name { + get { + if (f_name) + return _name; + _name = (string)(M_Parent.M_Parent.Names[IdxName]); + f_name = true; + return _name; + } + } + + private ushort _idxType; + private ushort _idxName; + private BlenderBlend m_root; + private BlenderBlend.DnaStruct m_parent; + + public ushort IdxType { + get { return _idxType; } + } + + public ushort IdxName { + get { return _idxName; } + } + + public BlenderBlend M_Root { + get { return m_root; } + } + + public BlenderBlend.DnaStruct M_Parent { + get { return m_parent; } + } + } + + private bool f_sdnaStructs; + private List _sdnaStructs; + + public List SdnaStructs { + get { + if (f_sdnaStructs) + return _sdnaStructs; + _sdnaStructs = (List)(((BlenderBlend.Dna1Body)(Blocks[(Blocks.Count - 2)].Body)).Structs); + f_sdnaStructs = true; + return _sdnaStructs; + } + } + + private Header _hdr; + private List _blocks; + private BlenderBlend m_root; + private KaitaiStruct m_parent; + + public Header Hdr { + get { return _hdr; } + } + + public List Blocks { + get { return _blocks; } + } + + public BlenderBlend M_Root { + get { return m_root; } + } + + public KaitaiStruct M_Parent { + get { return m_parent; } + } + } +} \ No newline at end of file diff --git a/CodeGenerator/CodeGenerator.csproj b/CodeGenerator/CodeGenerator.csproj new file mode 100644 index 0000000..f5f7183 --- /dev/null +++ b/CodeGenerator/CodeGenerator.csproj @@ -0,0 +1,24 @@ + + + + net9.0 + disable + CodeGenerator + Exe + 9 + + + + + + + + + + + + Always + + + + diff --git a/CodeGenerator/Program.cs b/CodeGenerator/Program.cs new file mode 100644 index 0000000..538e703 --- /dev/null +++ b/CodeGenerator/Program.cs @@ -0,0 +1,212 @@ +using Kaitai; +using System; +using System.IO; +using System.CodeDom; +using System.CodeDom.Compiler; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Reflection.Emit; +using System.Text; +using Microsoft.CSharp; +using BlendFile = Kaitai.BlenderBlend; + +namespace CodeGenerator { + + public static class StrExt { + public static string ParseFName(this string str) { + str = str.Replace("*", "ptr_"); + return str; + } + + public static string ParseFType(this string str) { + return str switch { + "char" => typeof(char).AssemblyQualifiedName, + "short" => typeof(short).AssemblyQualifiedName, + "int" => typeof(int).AssemblyQualifiedName, + "float" => typeof(float).AssemblyQualifiedName, + "double" => typeof(double).AssemblyQualifiedName, + "string" => typeof(string).AssemblyQualifiedName, + "void" => typeof(object).AssemblyQualifiedName, + _ => str + }; + } + } + + public class Program { + public static BlendFile blendfile; + + private static StringBuilder sb = new StringBuilder(); + + public static void Log(string message) { + sb.AppendLine(message); + Console.WriteLine(message); + } + + public static void Main(string[] args) { + Log("Reading empty.blend file"); + + blendfile = BlendFile.FromFile("empty.blend"); + + Log($"Header: Blender v{blendfile.Hdr.Version} {blendfile.Hdr.Endian}\n" + + $"DataBlocks: {blendfile.Blocks.Count}\n" + + $"DNA1: {blendfile.SdnaStructs.Count} structures\n"); + + Log("Generating C# code"); + + CodeGeneratorOptions codeGeneratorOptions = new CodeGeneratorOptions() { + BlankLinesBetweenMembers = false, + BracingStyle = "Block", + ElseOnClosing = false, + IndentString = " ", + VerbatimOrder = false + }; + + var provider = new CSharpCodeProvider(); + + //Create a new NameSpace + CodeNamespace ns = new CodeNamespace("Blender"); + + Log("Pass 1: Generating structs"); + + foreach (var type in blendfile.SdnaStructs) { + bool hasArrays = false; + Log($"Generating struct {type.Type}"); + //Create a new structs + var ctd = new CodeTypeDeclaration(type.Type) { IsStruct = true }; + //Add the class to the namespace + ns.Types.Add(ctd); + //Add the fields to the class + Log($"Fields: {type.Fields.Count}"); + foreach (var field in type.Fields) { + CodeMemberField cmf; + string name = field.Name; + if (field.Name.Contains("[")) { + Log($"Generating array field {field.Name}"); + hasArrays = true; + cmf = CreateArrayMemberField(field); + } else { + Log($"Generating field {field.Name}"); + cmf = CreateMemberField(field); + } + + cmf.Attributes = MemberAttributes.Public; + ctd.Members.Add(cmf); + } + + Log("Generating constructor"); + ctd.Members.Add(GenerateConstructor(type, ctd)); + + //If it has arrays, generate a static constructor for them + if (hasArrays) { + Log("Generating static constructor"); + ctd.Members.Add(GenerateStaticConstructor(ctd)); + } + + Log("Finished generating struct"); + } + using var sw = new StreamWriter("BlenderSharp.cs"); + provider.GenerateCodeFromNamespace(ns, sw, codeGeneratorOptions); + Log("Finished generating C# code"); + Log("Code saved to BlenderSharp.cs"); + File.AppendAllText("Log.txt", sb.ToString()); + } + + private static CodeTypeConstructor GenerateStaticConstructor(CodeTypeDeclaration ctd) { + CodeTypeConstructor ctc = new CodeTypeConstructor(); + ctc.Attributes = MemberAttributes.Static; + ctc.Statements.AddRange(ctd.Members + .OfType() + .Where(f => f.Type.ArrayRank > 0) + .Select(f => { + var dims = new List(); + for (int i = 0; i < f.Type.ArrayRank; i++) { + dims.Add(0); + } + return new CodeAssignStatement( + new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), f.Name), + NewArray(f.Type, dims) + ); + }).ToArray()); + return ctc; + } + + private static CodeConstructor GenerateConstructor(BlenderBlend.DnaStruct type, CodeTypeDeclaration ctd) { + //Create a normal constructor + CodeConstructor cc = new CodeConstructor { + Name = type.Type, + Attributes = MemberAttributes.Public, + ReturnType = new(type.Type) + }; + + //Add the parameters to the constructor + cc.Parameters.AddRange(ctd.Members + .OfType() + .Select(f => { + var cpde = new CodeParameterDeclarationExpression(f.Type, f.Name); + cpde.Direction = FieldDirection.In; + return cpde; + }).ToArray()); + + //Assign the parameters to the respective fields + cc.Statements.AddRange(ctd.Members + .OfType() + .Select(f => new CodeAssignStatement( + new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), f.Name), + new CodeArgumentReferenceExpression(f.Name)) + ).ToArray()); + + return cc; + } + + private static CodeMemberField CreateMemberField(BlenderBlend.DnaField field) { + Type t = Type.GetType(field.Type.ParseFType()); + CodeMemberField cmf; + //Check if the type is a built-in type or a custom type + if (t != null) cmf = new(t, field.Name.ParseFName()); //Built-in type + else cmf = new(new CodeTypeReference(field.Type), field.Name.ParseFName()); //Custom type + return cmf; + } + + private static CodeMemberField CreateArrayMemberField(BlenderBlend.DnaField field) { + Type t = Type.GetType(field.Type.ParseFType()); + CodeMemberField cmf; + + // Parse all array dimensions + var dimensions = new List(); + var name = field.Name.ParseFName(); + int startIndex = 0; + + // Get all array dimensions + while ((startIndex = name.IndexOf('[', startIndex)) != -1) { + int endIndex = name.IndexOf(']', startIndex); + string sizeStr = name.Substring(startIndex + 1, endIndex - startIndex - 1); + if (int.TryParse(sizeStr, out int size)) { + dimensions.Add(size); + } + startIndex = endIndex + 1; + } + + // Get clean field name (without array brackets) + name = field.Name.ParseFName().Substring(0, field.Name.IndexOf('[')); + + //Check if the type is a built-in type or a custom type + if (t != null) cmf = new(t, name); //Built-in type + else cmf = new(field.Type, name); //Custom type + + //Define the array type + cmf.Type.ArrayElementType = new(field.Type.ParseFType() ?? field.Type); + cmf.Type.ArrayRank = dimensions.Count; + + //Define the array initialization expression + cmf.InitExpression = NewArray(cmf.Type, dimensions); + return cmf; + } + + public static CodeExpression NewArray (CodeTypeReference type, IEnumerable dimensions) { + string dims = string.Concat(dimensions.Select(d => $"[{d}]")); + return new CodeSnippetExpression($"new {type.BaseType}{dims}"); + } + + } +} \ No newline at end of file diff --git a/CodeGenerator/empty.blend b/CodeGenerator/empty.blend new file mode 100644 index 0000000000000000000000000000000000000000..1f96b82c0a76f136ff006e6702c532abc4211463 GIT binary patch literal 488012 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ð`{`!Q&$-2RKvmz{g{pYrgjW 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 literal 0 HcmV?d00001