From c0bc1f0a0f715609ed35ccf14a7a160d2029b402 Mon Sep 17 00:00:00 2001 From: Samuele Lorefice Date: Wed, 12 Mar 2025 00:55:23 +0100 Subject: [PATCH] Removed redundant statements --- BlendFile/Reader.cs | 13 ++++++------- BlendFileTester/Program.cs | 6 ++++-- CodeGenerator/AttributeBuilder.cs | 3 +-- CodeGenerator/Program.cs | 21 ++++++++------------- 4 files changed, 19 insertions(+), 24 deletions(-) diff --git a/BlendFile/Reader.cs b/BlendFile/Reader.cs index 5732004..30996ed 100644 --- a/BlendFile/Reader.cs +++ b/BlendFile/Reader.cs @@ -30,7 +30,7 @@ public class Reader { public List GetObjects() => objects.Values.ToList(); public List GetObjects() => objects.Values.OfType().ToList(); - private SortedDictionary memBlocks = new(); + private SortedDictionary memBlocks = new(); /// /// Gets the block at the specified memory address @@ -73,7 +73,7 @@ public class Reader { Console.WriteLine($"Start offset: 0x{blend.Blocks[0].MemAddr.ToPointer():X}"); - bool isLe = blend.Hdr.Endian == Kaitai.BlendFile.Endian.Le; + bool isLe = blend.Hdr.Endian == Endian.Le; //TODO: two blocks somehow have the same mem address... this sounds wrong. blend.Blocks.ForEach(block => memBlocks.TryAdd(block.MemAddr.ToMemAddr(isLe), block)); @@ -242,12 +242,11 @@ public class Reader { array[i / itemLenght] = ConvertFieldData(itemData, attrib.OriginalType); } return array; - } else { - //Convert the data to the correct type if it's a base type - object? value = ConvertFieldData(data, attrib.OriginalType); - if (value != null) return value; } - + //Convert the data to the correct type if it's a base type + object? value = ConvertFieldData(data, attrib.OriginalType); + if (value != null) return value; + //Check if the field is a pointer to another DNA structure if (dnaTypesDb.ContainsKey(attrib.OriginalType)) { if (!attrib.IsPointer) { //It's a structure diff --git a/BlendFileTester/Program.cs b/BlendFileTester/Program.cs index ba0dd8e..385dd11 100644 --- a/BlendFileTester/Program.cs +++ b/BlendFileTester/Program.cs @@ -1,6 +1,8 @@ using System; using System.Linq; using BlendFile; +using BlendFile.DNA; +using Object = BlendFile.DNA.Object; var reader = new Reader("cube.blend"); reader.Read(); @@ -9,7 +11,7 @@ var counts = reader.Objects.GroupBy(x => x.Key.Item2).ToList(); foreach (var count in counts) Console.WriteLine($"{count.Key}: {count.Count()}"); -var Meshes = reader.GetObjects(); -var Objects = reader.GetObjects(); +var Meshes = reader.GetObjects(); +var Objects = reader.GetObjects(); Console.WriteLine($"Meshes: {Meshes.Count}"); Console.WriteLine($"Objects: {Objects.Count}"); diff --git a/CodeGenerator/AttributeBuilder.cs b/CodeGenerator/AttributeBuilder.cs index 53635a0..6cf7997 100644 --- a/CodeGenerator/AttributeBuilder.cs +++ b/CodeGenerator/AttributeBuilder.cs @@ -2,7 +2,6 @@ using System; using System.CodeDom; using System.Collections.Generic; using System.Linq; -using Microsoft.CodeAnalysis.CSharp.Syntax; namespace CodeGenerator { // ReSharper disable always BitwiseOperatorOnEnumWithoutFlags @@ -93,7 +92,7 @@ namespace CodeGenerator { /// /// List of arguments for public AttributeBuilder SetAttributeUsage(CodeAttributeArgument usageArgs) { - var attrUsage = new CodeAttributeDeclaration() { + var attrUsage = new CodeAttributeDeclaration { Name = nameof(AttributeUsageAttribute), Arguments = { usageArgs } }; diff --git a/CodeGenerator/Program.cs b/CodeGenerator/Program.cs index 7a302ed..1958a8c 100644 --- a/CodeGenerator/Program.cs +++ b/CodeGenerator/Program.cs @@ -9,8 +9,8 @@ using System.Linq; using System.Text; using System.Threading; using Kaitai; -using static Kaitai.BlendFile; using Microsoft.CSharp; +using static Kaitai.BlendFile; // ReSharper disable BitwiseOperatorOnEnumWithoutFlags namespace CodeGenerator { @@ -123,14 +123,9 @@ namespace CodeGenerator { CodeMemberField cmf; string name = field.Name; if (name.Contains("()")) return 0; - /*if (name.Contains("[")) { - Log($"Generating array field {field.Name}"); - cmf = CreateArrayMemberField(field); - }*/ - else { - Log($"Generating field {field.Name}"); - cmf = CreateMemberField(field); - } + + Log($"Generating field {field.Name}"); + cmf = CreateMemberField(field); var attributes = GenerateDnaFieldAttribute(index, field, field.M_Parent.M_Parent, totalSize, out int size); cmf.CustomAttributes.Add(attributes); @@ -305,7 +300,7 @@ namespace CodeGenerator { if (ListMarkerStr.Any(s => field.Name.Contains(s)) && !ListLenghtStr.Any(s2 => field.Name.Contains(s2))) { Log($"Found list field {field.Name}"); - Log($"Searching for list length field"); + Log("Searching for list length field"); var listLengthField = dnaFields.FirstOrDefault(f => f.Name.Contains(field.Name.ParseFName()) && ListLenghtStr.Any(s2 => f.Name.Contains(s2))); @@ -418,7 +413,7 @@ namespace CodeGenerator { } CodeAttributeDeclaration cad = new("DNAFieldAttribute"); - cad.Arguments.AddRange(new CodeAttributeArgumentCollection() { + cad.Arguments.AddRange(new CodeAttributeArgumentCollection { new(new CodePrimitiveExpression(size)), new(new CodePrimitiveExpression(field.Type)), new(new CodePrimitiveExpression(index)), @@ -455,7 +450,7 @@ namespace CodeGenerator { } CodeAttributeDeclaration cad = new("DNAArrayAttribute"); - cad.Arguments.AddRange(new CodeAttributeArgumentCollection() { + cad.Arguments.AddRange(new CodeAttributeArgumentCollection { new(new CodePrimitiveExpression(size)), new(new CodePrimitiveExpression(field.Type)), new(new CodePrimitiveExpression(index)), @@ -471,7 +466,7 @@ namespace CodeGenerator { DnaField lenghtField, int ptrOffset, int countOffset, out int size) { size = 8; var cad = new CodeAttributeDeclaration("DNAListAttribute"); - cad.Arguments.AddRange(new CodeAttributeArgumentCollection() { + cad.Arguments.AddRange(new CodeAttributeArgumentCollection { new(new CodeSnippetExpression("8")), //pointer size new(new CodePrimitiveExpression(listField.Type)), new(new CodePrimitiveExpression(listField.Name)),