diff --git a/SabreTools.Serialization/Internal.Deserializer.cs b/SabreTools.Serialization/Internal.Deserializer.cs
index f134d130..82caef94 100644
--- a/SabreTools.Serialization/Internal.Deserializer.cs
+++ b/SabreTools.Serialization/Internal.Deserializer.cs
@@ -449,5 +449,50 @@ namespace SabreTools.Serialization
}
#endregion
+
+ #region Listrom
+
+ ///
+ /// Convert from to
+ ///
+ public static Models.Listrom.Row ConvertToListrom(Models.Internal.Disk item)
+ {
+ var row = new Models.Listrom.Row
+ {
+ Name = item.ReadString(Models.Internal.Disk.NameKey),
+ MD5 = item.ReadString(Models.Internal.Disk.MD5Key),
+ SHA1 = item.ReadString(Models.Internal.Disk.SHA1Key),
+ };
+
+ if (item[Models.Internal.Disk.StatusKey] as string == "nodump")
+ row.NoGoodDumpKnown = true;
+ else if (item[Models.Internal.Disk.StatusKey] as string == "baddump")
+ row.Bad = true;
+
+ return row;
+ }
+
+ ///
+ /// Convert from to
+ ///
+ public static Models.Listrom.Row ConvertToListrom(Models.Internal.Rom item)
+ {
+ var row = new Models.Listrom.Row
+ {
+ Name = item.ReadString(Models.Internal.Rom.NameKey),
+ Size = item.ReadString(Models.Internal.Rom.SizeKey),
+ CRC = item.ReadString(Models.Internal.Rom.CRCKey),
+ SHA1 = item.ReadString(Models.Internal.Rom.SHA1Key),
+ };
+
+ if (item[Models.Internal.Rom.StatusKey] as string == "nodump")
+ row.NoGoodDumpKnown = true;
+ else if (item[Models.Internal.Rom.StatusKey] as string == "baddump")
+ row.Bad = true;
+
+ return row;
+ }
+
+ #endregion
}
}
\ No newline at end of file
diff --git a/SabreTools.Serialization/Internal.Serializer.cs b/SabreTools.Serialization/Internal.Serializer.cs
index 7e99bfa5..c624feb5 100644
--- a/SabreTools.Serialization/Internal.Serializer.cs
+++ b/SabreTools.Serialization/Internal.Serializer.cs
@@ -334,7 +334,7 @@ namespace SabreTools.Serialization
}
#endregion
-
+
#region EverdriveSMDB
///
@@ -355,7 +355,7 @@ namespace SabreTools.Serialization
}
#endregion
-
+
#region Hashfile
///
@@ -450,5 +450,49 @@ namespace SabreTools.Serialization
}
#endregion
+
+ #region Listrom
+
+ ///
+ /// Convert from to or
+ ///
+ public static Models.Internal.DatItem ConvertFromListrom(Models.Listrom.Row item)
+ {
+ if (item.Size == null)
+ {
+ var disk = new Models.Internal.Disk
+ {
+ [Models.Internal.Disk.NameKey] = item.Name,
+ [Models.Internal.Disk.MD5Key] = item.MD5,
+ [Models.Internal.Disk.SHA1Key] = item.SHA1,
+ };
+
+ if (item.NoGoodDumpKnown)
+ disk[Models.Internal.Disk.StatusKey] = "nodump";
+ else if (item.Bad)
+ disk[Models.Internal.Disk.StatusKey] = "baddump";
+
+ return disk;
+ }
+ else
+ {
+ var rom = new Models.Internal.Rom
+ {
+ [Models.Internal.Rom.NameKey] = item.Name,
+ [Models.Internal.Rom.SizeKey] = item.Size,
+ [Models.Internal.Rom.CRCKey] = item.CRC,
+ [Models.Internal.Rom.SHA1Key] = item.SHA1,
+ };
+
+ if (item.NoGoodDumpKnown)
+ rom[Models.Internal.Rom.StatusKey] = "nodump";
+ else if (item.Bad)
+ rom[Models.Internal.Rom.StatusKey] = "baddump";
+
+ return rom;
+ }
+ }
+
+ #endregion
}
}
\ No newline at end of file