mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Add OpenMSX internal converters
This commit is contained in:
@@ -1250,5 +1250,65 @@ namespace SabreTools.Serialization
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region OpenMSX
|
||||
|
||||
/// <summary>
|
||||
/// Convert from <cref="Models.OpenMSX.Dump"/> to <cref="Models.Internal.Dump"/>
|
||||
/// </summary>
|
||||
public static Models.Internal.Dump ConvertFromOpenMSX(Models.OpenMSX.Dump item)
|
||||
{
|
||||
var dump = new Models.Internal.Dump();
|
||||
|
||||
if (item.Original != null)
|
||||
dump[Models.Internal.Dump.OriginalKey] = ConvertFromOpenMSX(item.Original);
|
||||
|
||||
switch (item.Rom)
|
||||
{
|
||||
case Models.OpenMSX.Rom rom:
|
||||
dump[Models.Internal.Dump.RomKey] = ConvertFromOpenMSX(rom);
|
||||
break;
|
||||
|
||||
case Models.OpenMSX.MegaRom megaRom:
|
||||
dump[Models.Internal.Dump.MegaRomKey] = ConvertFromOpenMSX(megaRom);
|
||||
break;
|
||||
|
||||
case Models.OpenMSX.SCCPlusCart sccPlusCart:
|
||||
dump[Models.Internal.Dump.SCCPlusCartKey] = ConvertFromOpenMSX(sccPlusCart);
|
||||
break;
|
||||
}
|
||||
|
||||
return dump;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Convert from <cref="Models.OpenMSX.Original"/> to <cref="Models.Internal.Rom"/>
|
||||
/// </summary>
|
||||
public static Models.Internal.Original ConvertFromOpenMSX(Models.OpenMSX.Original item)
|
||||
{
|
||||
var original = new Models.Internal.Original
|
||||
{
|
||||
[Models.Internal.Original.ValueKey] = item.Value,
|
||||
[Models.Internal.Original.ContentKey] = item.Content,
|
||||
};
|
||||
return original;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Convert from <cref="Models.OpenMSX.RomBase"/> to <cref="Models.Internal.Rom"/>
|
||||
/// </summary>
|
||||
public static Models.Internal.Rom ConvertFromOpenMSX(Models.OpenMSX.RomBase item)
|
||||
{
|
||||
var rom = new Models.Internal.Rom
|
||||
{
|
||||
[Models.Internal.Rom.StartKey] = item.Start,
|
||||
[Models.Internal.Rom.TypeKey] = item.Type,
|
||||
[Models.Internal.Rom.SHA1Key] = item.Hash,
|
||||
[Models.Internal.Rom.RemarkKey] = item.Remark,
|
||||
};
|
||||
return rom;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user