From b100dc80207c8f912e23fbb02c3357478a5f7cbf Mon Sep 17 00:00:00 2001 From: mm00 Date: Tue, 4 Mar 2025 18:03:40 +0100 Subject: [PATCH] Fixed list length search --- CodeGenerator/Program.cs | 9 ++++++--- CodeGenerator/StrExt.cs | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CodeGenerator/Program.cs b/CodeGenerator/Program.cs index ce39b9a..3e9ef50 100644 --- a/CodeGenerator/Program.cs +++ b/CodeGenerator/Program.cs @@ -247,11 +247,14 @@ namespace CodeGenerator { //Cast to array the fields to avoid multiple enumerations var dnaFields = fields as BlendFile.DnaField[] ?? fields.ToArray(); foreach (var field in dnaFields) { - if (ListMarkerStr.Any(s => field.Name.Contains(s))) { + 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"); - var listLengthField = dnaFields.FirstOrDefault(f => - f.Name.Contains(field.Name) && ListLenghtStr.Any(s => f.Name.Contains(s))); + + var listLengthField = dnaFields.FirstOrDefault(f => f.Name.Contains(field.Name.ParseFName()) && + ListLenghtStr.Any(s2 => f.Name.Contains(s2))); if (listLengthField == null) Log($"No list length field found for {field.Name}"); diff --git a/CodeGenerator/StrExt.cs b/CodeGenerator/StrExt.cs index 153e3e5..ffdc825 100644 --- a/CodeGenerator/StrExt.cs +++ b/CodeGenerator/StrExt.cs @@ -4,7 +4,7 @@ namespace CodeGenerator { public static class StrExt { [MethodImpl(MethodImplOptions.AggressiveInlining)] public static string ParseFName(this string str) { - str = str.Replace("*", "ptr_"); + str = str.Replace("*", ""); return str; }