Add some OfflineList headers

This commit is contained in:
Matt Nadareski
2020-08-20 15:51:13 -07:00
parent e65b45b80f
commit 30dce34ac8
4 changed files with 146 additions and 8 deletions

View File

@@ -215,6 +215,34 @@ namespace SabreTools.Library.DatFiles
#endregion #endregion
#region OfflineList Fields
/// <summary>
/// System
/// </summary>
[JsonProperty("system")]
public string System { get; set; }
/// <summary>
/// Screenshots width
/// </summary>
[JsonProperty("screenshotswidth")]
public string ScreenshotsWidth { get; set; }
/// <summary>
/// Screenshots height
/// </summary>
[JsonProperty("screenshotsheight")]
public string ScreenshotsHeight { get; set; }
/// <summary>
/// Rom title
/// </summary>
[JsonProperty("romtitle")]
public string RomTitle { get; set; }
#endregion
#region Write pre-processing #region Write pre-processing
/// <summary> /// <summary>

View File

@@ -236,6 +236,30 @@ namespace SabreTools.Library.DatFiles
#endregion #endregion
#region OfflineList
case "system":
content = jtr.ReadAsString();
Header.System = (Header.System == null ? content : Header.System);
break;
case "screenshotswidth":
content = jtr.ReadAsString();
Header.ScreenshotsWidth = (Header.ScreenshotsWidth == null ? content : Header.ScreenshotsWidth);
break;
case "screenshotsheight":
content = jtr.ReadAsString();
Header.ScreenshotsHeight = (Header.ScreenshotsHeight == null ? content : Header.ScreenshotsHeight);
break;
case "romtitle":
content = jtr.ReadAsString();
Header.RomTitle = (Header.MameConfig == null ? content : Header.RomTitle);
break;
#endregion
default: default:
break; break;
} }
@@ -1042,6 +1066,34 @@ namespace SabreTools.Library.DatFiles
#endregion #endregion
#region OfflineList
if (!string.IsNullOrWhiteSpace(Header.System))
{
jtw.WritePropertyName("system");
jtw.WriteValue(Header.System);
}
if (!string.IsNullOrWhiteSpace(Header.ScreenshotsWidth))
{
jtw.WritePropertyName("screenshotswidth");
jtw.WriteValue(Header.ScreenshotsWidth);
}
if (!string.IsNullOrWhiteSpace(Header.ScreenshotsHeight))
{
jtw.WritePropertyName("screenshotsheight");
jtw.WriteValue(Header.ScreenshotsHeight);
}
if (!string.IsNullOrWhiteSpace(Header.RomTitle))
{
jtw.WritePropertyName("romtitle");
jtw.WriteValue(Header.RomTitle);
}
#endregion
// End header // End header
jtw.WriteEndObject(); jtw.WriteEndObject();

View File

@@ -138,17 +138,23 @@ namespace SabreTools.Library.DatFiles
break; break;
case "system": case "system":
reader.ReadElementContentAsString(); content = reader.ReadElementContentAsString();
Header.System = (Header.System == null ? content : Header.System);
break; break;
// TODO: Int32?
case "screenshotswidth": case "screenshotswidth":
reader.ReadElementContentAsString(); // Int32? content = reader.ReadElementContentAsString();
Header.ScreenshotsWidth = (Header.ScreenshotsWidth == null ? content : Header.ScreenshotsWidth);
break; break;
// TODO: Int32?
case "screenshotsheight": case "screenshotsheight":
reader.ReadElementContentAsString(); // Int32? content = reader.ReadElementContentAsString();
Header.ScreenshotsHeight = (Header.ScreenshotsHeight == null ? content : Header.ScreenshotsHeight);
break; break;
// TODO: Use header values
case "infos": case "infos":
ReadInfos(reader.ReadSubtree()); ReadInfos(reader.ReadSubtree());
@@ -156,6 +162,7 @@ namespace SabreTools.Library.DatFiles
reader.Skip(); reader.Skip();
break; break;
// TODO: Use header values
case "canopen": case "canopen":
ReadCanOpen(reader.ReadSubtree()); ReadCanOpen(reader.ReadSubtree());
@@ -163,6 +170,7 @@ namespace SabreTools.Library.DatFiles
reader.Skip(); reader.Skip();
break; break;
// TODO: Use header values
case "newdat": case "newdat":
ReadNewDat(reader.ReadSubtree()); ReadNewDat(reader.ReadSubtree());
@@ -170,6 +178,7 @@ namespace SabreTools.Library.DatFiles
reader.Skip(); reader.Skip();
break; break;
// TODO: Use header values
case "search": case "search":
ReadSearch(reader.ReadSubtree()); ReadSearch(reader.ReadSubtree());
@@ -178,7 +187,8 @@ namespace SabreTools.Library.DatFiles
break; break;
case "romtitle": case "romtitle":
reader.ReadElementContentAsString(); content = reader.ReadElementContentAsString();
Header.RomTitle = (Header.RomTitle == null ? content : Header.RomTitle);
break; break;
default: default:
@@ -840,9 +850,9 @@ namespace SabreTools.Library.DatFiles
xtw.WriteStartElement("configuration"); xtw.WriteStartElement("configuration");
xtw.WriteElementString("datName", Header.Name); xtw.WriteElementString("datName", Header.Name);
xtw.WriteElementString("datVersion", Items.TotalCount.ToString()); xtw.WriteElementString("datVersion", Items.TotalCount.ToString());
xtw.WriteElementString("system", "none"); xtw.WriteElementString("system", Header.System ?? string.Empty);
xtw.WriteElementString("screenshotsWidth", "240"); xtw.WriteElementString("screenshotsWidth", Header.ScreenshotsWidth ?? string.Empty);
xtw.WriteElementString("screenshotsHeight", "160"); xtw.WriteElementString("screenshotsHeight", Header.ScreenshotsHeight ?? string.Empty);
xtw.WriteStartElement("infos"); xtw.WriteStartElement("infos");
@@ -985,7 +995,7 @@ namespace SabreTools.Library.DatFiles
// End search // End search
xtw.WriteEndElement(); xtw.WriteEndElement();
xtw.WriteElementString("romTitle", "%u - %n"); xtw.WriteElementString("romTitle", Header.RomTitle ?? "%u - %n");
// End configuration // End configuration
xtw.WriteEndElement(); xtw.WriteEndElement();

View File

@@ -208,6 +208,26 @@ namespace SabreTools.Library.DatFiles
#endregion #endregion
#region OfflineList
case "DatFile.System":
Header.System = (Header.System == null ? value : Header.System);
break;
case "DatFile.ScreenshotsWidth":
Header.ScreenshotsWidth = (Header.ScreenshotsWidth == null ? value : Header.ScreenshotsWidth);
break;
case "DatFile.ScreenshotsHeight":
Header.ScreenshotsHeight = (Header.ScreenshotsHeight == null ? value : Header.ScreenshotsHeight);
break;
case "DatFile.RomTitle":
Header.RomTitle = (Header.RomTitle == null ? value : Header.RomTitle);
break;
#endregion
#endregion // DatFile #endregion // DatFile
#region Machine #region Machine
@@ -766,6 +786,34 @@ namespace SabreTools.Library.DatFiles
#endregion #endregion
#region OfflineList
case "system":
return "DatFile.System";
case "screenshotwidth":
case "screenshotswidth":
case "screenshot width":
case "screenshot-width":
case "screenshots width":
case "screenshots-width":
return "DatFile.ScreenshotsWidth";
case "screenshotheight":
case "screenshotsheight":
case "screenshot height":
case "screenshot-height":
case "screenshots height":
case "screenshots-height":
return "DatFile.ScreenshotsHeight";
case "romtitle":
case "rom title":
case "rom-title":
return "DatFile.RomTitle";
#endregion
#endregion // DatFile #endregion // DatFile
#region Machine #region Machine