mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-02-04 05:36:12 +00:00
Remove faulty offset code
This commit is contained in:
@@ -66,36 +66,6 @@ namespace SabreTools.Serialization.Test.CrossModel
|
||||
Assert.Null(newDf.Dir);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RomWithOffsetTest()
|
||||
{
|
||||
// Build a minimal Rom with an offset
|
||||
var rom = new Models.Metadata.Rom
|
||||
{
|
||||
[Models.Metadata.Rom.SizeKey] = "1",
|
||||
[Models.Metadata.Rom.OffsetKey] = "1",
|
||||
};
|
||||
|
||||
// Get the real size
|
||||
string? actual = Serialization.CrossModel.Logiqx.DeriveSizeString(rom);
|
||||
Assert.Equal("2", actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RomWithHexOffsetTest()
|
||||
{
|
||||
// Build a minimal Rom with an offset
|
||||
var rom = new Models.Metadata.Rom
|
||||
{
|
||||
[Models.Metadata.Rom.SizeKey] = "1",
|
||||
[Models.Metadata.Rom.OffsetKey] = "0x01",
|
||||
};
|
||||
|
||||
// Get the real size
|
||||
string? actual = Serialization.CrossModel.Logiqx.DeriveSizeString(rom);
|
||||
Assert.Equal("2", actual);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Build model for serialization and deserialization
|
||||
/// </summary>
|
||||
|
||||
@@ -35,48 +35,6 @@ namespace SabreTools.Serialization.CrossModel
|
||||
return datafile;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Derive an offset size for <see cref="Models.Metadata.Rom"/>
|
||||
/// </summary>
|
||||
internal static string? DeriveSizeString(Models.Metadata.Rom item)
|
||||
{
|
||||
// Get the required strings
|
||||
string? sizeString = item.ReadString(Models.Metadata.Rom.SizeKey);
|
||||
string? offsetString = item.ReadString(Models.Metadata.Rom.OffsetKey);
|
||||
|
||||
// If either are null, use the size
|
||||
if (string.IsNullOrEmpty(sizeString) || string.IsNullOrEmpty(offsetString))
|
||||
return sizeString;
|
||||
|
||||
try
|
||||
{
|
||||
// Get the size from the string
|
||||
if (!long.TryParse(sizeString, out long size))
|
||||
{
|
||||
if (!sizeString!.StartsWith("0x", StringComparison.OrdinalIgnoreCase))
|
||||
return sizeString;
|
||||
|
||||
size = long.Parse(sizeString.Substring(2), NumberStyles.HexNumber);
|
||||
}
|
||||
|
||||
// Get the offset from the string
|
||||
if (!long.TryParse(offsetString, out long offset))
|
||||
{
|
||||
if (!offsetString!.StartsWith("0x", StringComparison.OrdinalIgnoreCase))
|
||||
return sizeString;
|
||||
|
||||
offset = long.Parse(offsetString.Substring(2), NumberStyles.HexNumber);
|
||||
}
|
||||
|
||||
// Add the values and return
|
||||
return (size + offset).ToString();
|
||||
}
|
||||
catch
|
||||
{
|
||||
return sizeString;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Convert from <see cref="Models.Metadata.Header"/> to <see cref="Models.Logiqx.Header"/>
|
||||
/// </summary>
|
||||
@@ -344,7 +302,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
var rom = new Rom
|
||||
{
|
||||
Name = item.ReadString(Models.Metadata.Rom.NameKey),
|
||||
Size = DeriveSizeString(item),
|
||||
Size = item.ReadString(Models.Metadata.Rom.SizeKey),
|
||||
CRC = item.ReadString(Models.Metadata.Rom.CRCKey),
|
||||
MD5 = item.ReadString(Models.Metadata.Rom.MD5Key),
|
||||
SHA1 = item.ReadString(Models.Metadata.Rom.SHA1Key),
|
||||
|
||||
Reference in New Issue
Block a user