From 350b4ea7db9d9c4251a0ae2924e2395b5758ca74 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Sun, 17 Nov 2019 14:21:39 -0500 Subject: [PATCH] fix minor bug in CpkEtocInfo UTF - alignment maybe? --- .../DataFormats/Database/UTF/UTFDataFormat.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CSharp/Plugins/UniversalEditor.Plugins.CRI/DataFormats/Database/UTF/UTFDataFormat.cs b/CSharp/Plugins/UniversalEditor.Plugins.CRI/DataFormats/Database/UTF/UTFDataFormat.cs index 09a5e213..b44d8ea3 100644 --- a/CSharp/Plugins/UniversalEditor.Plugins.CRI/DataFormats/Database/UTF/UTFDataFormat.cs +++ b/CSharp/Plugins/UniversalEditor.Plugins.CRI/DataFormats/Database/UTF/UTFDataFormat.cs @@ -1,5 +1,5 @@ // -// UTFDataFormat.cs +// UTFDataFormat.cs - COMPLETED - Implementation of CRI Middleware UTF table (used in CPK) // // Author: // Mike Becker @@ -101,10 +101,16 @@ namespace UniversalEditor.Plugins.CRI.DataFormats.Database.UTF br.Accessor.SavePosition(); br.Seek(info.stringTableOffset + 8, IO.SeekOrigin.Begin); + while (br.PeekByte() == 0) + { + br.ReadByte(); + } + byte[] stringTableData = br.ReadBytes(info.stringTableSize); MemoryAccessor maStringTable = new MemoryAccessor(stringTableData); maStringTable.Reader.Seek(info.tableNameStringOffset, IO.SeekOrigin.Begin); + dt.Name = maStringTable.Reader.ReadNullTerminatedString(); br.Accessor.LoadPosition(); for (int i = 0; i < info.tableColumns; i++) @@ -176,8 +182,6 @@ namespace UniversalEditor.Plugins.CRI.DataFormats.Database.UTF dt.Fields.Add("Field" + i.ToString(), constantValue, DataTypeForDataType(dataTypes[i])); } - dt.Name = maStringTable.Reader.ReadNullTerminatedString(); - for (int i = 0; i < info.tableColumns; i++) { maStringTable.Reader.Seek(columnNameOffsets[i], IO.SeekOrigin.Begin);