mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Wire up OfflineList canOpen
This commit is contained in:
@@ -239,8 +239,15 @@ namespace SabreTools.Library.DatFiles
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// OfflineList info list
|
/// OfflineList info list
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("infos")]
|
||||||
public List<Tuple<string, bool?, bool?, bool?>> Infos { get; set; }
|
public List<Tuple<string, bool?, bool?, bool?>> Infos { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// OfflineList can-open extensions
|
||||||
|
/// </summary>
|
||||||
|
[JsonProperty("canopen")]
|
||||||
|
public List<string> CanOpen { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Rom title
|
/// Rom title
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -311,6 +311,16 @@ namespace SabreTools.Library.DatFiles
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "canopen":
|
||||||
|
Header.CanOpen = new List<string>();
|
||||||
|
jtr.Read(); // Start Array
|
||||||
|
while (!sr.EndOfStream && jtr.TokenType != JsonToken.EndArray)
|
||||||
|
{
|
||||||
|
Header.CanOpen.Add(jtr.ReadAsString());
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
case "romtitle":
|
case "romtitle":
|
||||||
content = jtr.ReadAsString();
|
content = jtr.ReadAsString();
|
||||||
Header.RomTitle = (Header.MameConfig == null ? content : Header.RomTitle);
|
Header.RomTitle = (Header.MameConfig == null ? content : Header.RomTitle);
|
||||||
@@ -1165,6 +1175,18 @@ namespace SabreTools.Library.DatFiles
|
|||||||
jtw.WriteEndArray();
|
jtw.WriteEndArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Header.CanOpen != null)
|
||||||
|
{
|
||||||
|
jtw.WritePropertyName("canopen");
|
||||||
|
jtw.WriteStartArray();
|
||||||
|
foreach (string extension in Header.CanOpen)
|
||||||
|
{
|
||||||
|
jtw.WriteValue(extension);
|
||||||
|
}
|
||||||
|
|
||||||
|
jtw.WriteEndArray();
|
||||||
|
}
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(Header.RomTitle))
|
if (!string.IsNullOrWhiteSpace(Header.RomTitle))
|
||||||
{
|
{
|
||||||
jtw.WritePropertyName("romtitle");
|
jtw.WritePropertyName("romtitle");
|
||||||
|
|||||||
@@ -162,7 +162,6 @@ namespace SabreTools.Library.DatFiles
|
|||||||
reader.Skip();
|
reader.Skip();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// TODO: Use header values
|
|
||||||
case "canopen":
|
case "canopen":
|
||||||
ReadCanOpen(reader.ReadSubtree());
|
ReadCanOpen(reader.ReadSubtree());
|
||||||
|
|
||||||
@@ -170,7 +169,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
reader.Skip();
|
reader.Skip();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// TODO: Use header values
|
// TODO: Use all header values
|
||||||
case "newdat":
|
case "newdat":
|
||||||
ReadNewDat(reader.ReadSubtree());
|
ReadNewDat(reader.ReadSubtree());
|
||||||
|
|
||||||
@@ -241,7 +240,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
private void ReadCanOpen(XmlReader reader)
|
private void ReadCanOpen(XmlReader reader)
|
||||||
{
|
{
|
||||||
// Prepare all internal variables
|
// Prepare all internal variables
|
||||||
List<string> extensions = new List<string>();
|
Header.CanOpen = new List<string>();
|
||||||
|
|
||||||
// If there's no subtree to the configuration, skip it
|
// If there's no subtree to the configuration, skip it
|
||||||
if (reader == null)
|
if (reader == null)
|
||||||
@@ -264,7 +263,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
switch (reader.Name.ToLowerInvariant())
|
switch (reader.Name.ToLowerInvariant())
|
||||||
{
|
{
|
||||||
case "extension":
|
case "extension":
|
||||||
extensions.Add(reader.ReadElementContentAsString());
|
Header.CanOpen.Add(reader.ReadElementContentAsString());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -783,9 +782,18 @@ namespace SabreTools.Library.DatFiles
|
|||||||
xtw.WriteEndElement();
|
xtw.WriteEndElement();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Header.CanOpen != null)
|
||||||
|
{
|
||||||
xtw.WriteStartElement("canOpen");
|
xtw.WriteStartElement("canOpen");
|
||||||
xtw.WriteElementString("extension", ".bin");
|
|
||||||
|
foreach (string extension in Header.CanOpen)
|
||||||
|
{
|
||||||
|
xtw.WriteElementString("extension", extension);
|
||||||
|
}
|
||||||
|
|
||||||
|
// End canOpen
|
||||||
xtw.WriteEndElement();
|
xtw.WriteEndElement();
|
||||||
|
}
|
||||||
|
|
||||||
xtw.WriteStartElement("newDat");
|
xtw.WriteStartElement("newDat");
|
||||||
xtw.WriteElementString("datVersionURL", Header.Url);
|
xtw.WriteElementString("datVersionURL", Header.Url);
|
||||||
|
|||||||
@@ -222,7 +222,19 @@ namespace SabreTools.Library.DatFiles
|
|||||||
Header.ScreenshotsHeight = (Header.ScreenshotsHeight == null ? value : Header.ScreenshotsHeight);
|
Header.ScreenshotsHeight = (Header.ScreenshotsHeight == null ? value : Header.ScreenshotsHeight);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "DatFile.Infos":
|
||||||
// TODO: Figure out how Header.Infos could be read in
|
// TODO: Figure out how Header.Infos could be read in
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "DatFile.CanOpen":
|
||||||
|
Header.CanOpen = new List<string>();
|
||||||
|
var extensions = value.Split(';');
|
||||||
|
foreach (var extension in extensions)
|
||||||
|
{
|
||||||
|
Header.CanOpen.Add(extension);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
case "DatFile.RomTitle":
|
case "DatFile.RomTitle":
|
||||||
Header.RomTitle = (Header.RomTitle == null ? value : Header.RomTitle);
|
Header.RomTitle = (Header.RomTitle == null ? value : Header.RomTitle);
|
||||||
@@ -814,6 +826,22 @@ namespace SabreTools.Library.DatFiles
|
|||||||
case "screenshots-height":
|
case "screenshots-height":
|
||||||
return "DatFile.ScreenshotsHeight";
|
return "DatFile.ScreenshotsHeight";
|
||||||
|
|
||||||
|
case "offlineinfos":
|
||||||
|
case "offline infos":
|
||||||
|
case "offline-infos":
|
||||||
|
case "olinfos":
|
||||||
|
case "ol infos":
|
||||||
|
case "ol-infos":
|
||||||
|
case "offlinelistinfos":
|
||||||
|
case "offlinelist infos":
|
||||||
|
case "offlinelist-infos":
|
||||||
|
return "DatFile.Infos";
|
||||||
|
|
||||||
|
case "canopen":
|
||||||
|
case "can open":
|
||||||
|
case "can-open":
|
||||||
|
return "DatFile.CanOpen";
|
||||||
|
|
||||||
case "romtitle":
|
case "romtitle":
|
||||||
case "rom title":
|
case "rom title":
|
||||||
case "rom-title":
|
case "rom-title":
|
||||||
|
|||||||
Reference in New Issue
Block a user