implement Magic Byte Offsets for DataFormatFilter
This commit is contained in:
parent
ce33b46702
commit
32058ff15e
@ -50,6 +50,8 @@ namespace UniversalEditor
|
||||
{
|
||||
dff.FileNameFilters.Add(FileNameFilter);
|
||||
}
|
||||
|
||||
dff.MagicByteOffsets = new int[MagicBytes.Length];
|
||||
foreach (byte?[] magicBytes in MagicBytes)
|
||||
{
|
||||
dff.MagicBytes.Add(magicBytes);
|
||||
|
||||
@ -1020,6 +1020,7 @@ namespace UniversalEditor.DataFormats.UEPackage
|
||||
MarkupTagElement tagMagicByteSequences = (tagFilter.Elements["MagicByteSequences"] as MarkupTagElement);
|
||||
if (tagMagicByteSequences != null)
|
||||
{
|
||||
List<int> magicByteOffsets = new List<int>();
|
||||
foreach (MarkupElement elMagicByteSequence in tagMagicByteSequences.Elements)
|
||||
{
|
||||
MarkupTagElement tagMagicByteSequence = (elMagicByteSequence as MarkupTagElement);
|
||||
@ -1055,10 +1056,10 @@ namespace UniversalEditor.DataFormats.UEPackage
|
||||
}
|
||||
case "string":
|
||||
{
|
||||
string value = tagMagicByte.Value;
|
||||
byte[] value = System.Text.Encoding.ASCII.GetBytes(tagMagicByte.Value);
|
||||
for (int i = 0; i < value.Length; i++)
|
||||
{
|
||||
magicByteSequence.Add((byte)value[i]);
|
||||
magicByteSequence.Add(value[i]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1098,8 +1099,10 @@ namespace UniversalEditor.DataFormats.UEPackage
|
||||
}
|
||||
}
|
||||
|
||||
magicByteOffsets.Add(0);
|
||||
filter.MagicBytes.Add(magicByteSequence.ToArray());
|
||||
}
|
||||
filter.MagicByteOffsets = magicByteOffsets.ToArray();
|
||||
}
|
||||
|
||||
association.Filters.Add(filter);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user