diff options
author | wilbertpol <wilbertpol@users.noreply.github.com> | 2021-10-05 19:16:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-05 19:16:42 +0200 |
commit | eae75824d3c8d697216a9782b9f7ca6494ef431d (patch) | |
tree | eb98e1e99941c8843fe2196480927eefb00e2784 /src/frontend | |
parent | 716c9f4c863ca150ff519429b24168df9890f1b1 (diff) |
softlist.cpp: Add support for a 'notes' field to store information ab… (#8482)
* softlist.cpp: Add support for a 'notes' field to store information about a software list or software list item. [Wilbert Pol]
* Add software list and software notes to minimaws
Diffstat (limited to 'src/frontend')
-rw-r--r-- | src/frontend/mame/clifront.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/frontend/mame/clifront.cpp b/src/frontend/mame/clifront.cpp index eb77ead8e5c..bc78cb1112c 100644 --- a/src/frontend/mame/clifront.cpp +++ b/src/frontend/mame/clifront.cpp @@ -1059,16 +1059,18 @@ const char cli_frontend::s_softlist_xml_dtd[] = "<?xml version=\"1.0\"?>\n" \ "<!DOCTYPE softwarelists [\n" \ "<!ELEMENT softwarelists (softwarelist*)>\n" \ - "\t<!ELEMENT softwarelist (software+)>\n" \ + "\t<!ELEMENT softwarelist (notes?, software+)>\n" \ "\t\t<!ATTLIST softwarelist name CDATA #REQUIRED>\n" \ "\t\t<!ATTLIST softwarelist description CDATA #IMPLIED>\n" \ - "\t\t<!ELEMENT software (description, year, publisher, info*, sharedfeat*, part*)>\n" \ + "\t\t<!ELEMENT notes (#PCDATA)>\n" \ + "\t\t<!ELEMENT software (description, year, publisher, notes?, info*, sharedfeat*, part*)>\n" \ "\t\t\t<!ATTLIST software name CDATA #REQUIRED>\n" \ "\t\t\t<!ATTLIST software cloneof CDATA #IMPLIED>\n" \ "\t\t\t<!ATTLIST software supported (yes|partial|no) \"yes\">\n" \ "\t\t\t<!ELEMENT description (#PCDATA)>\n" \ "\t\t\t<!ELEMENT year (#PCDATA)>\n" \ "\t\t\t<!ELEMENT publisher (#PCDATA)>\n" \ + "\t\t\t<!ELEMENT notes (#PCDATA)>\n" \ "\t\t\t<!ELEMENT info EMPTY>\n" \ "\t\t\t\t<!ATTLIST info name CDATA #REQUIRED>\n" \ "\t\t\t\t<!ATTLIST info value CDATA #IMPLIED>\n" \ @@ -1116,6 +1118,8 @@ const char cli_frontend::s_softlist_xml_dtd[] = void cli_frontend::output_single_softlist(std::ostream &out, software_list_device &swlistdev) { util::stream_format(out, "\t<softwarelist name=\"%s\" description=\"%s\">\n", swlistdev.list_name(), util::xml::normalize_string(swlistdev.description().c_str())); + if (!swlistdev.notes().empty()) + util::stream_format(out, "\t\t<notes>%s</notes>\n", util::xml::normalize_string(swlistdev.notes().c_str())); for (const software_info &swinfo : swlistdev.get_info()) { util::stream_format(out, "\t\t<software name=\"%s\"", util::xml::normalize_string(swinfo.shortname().c_str())); @@ -1129,6 +1133,8 @@ void cli_frontend::output_single_softlist(std::ostream &out, software_list_devic util::stream_format(out, "\t\t\t<description>%s</description>\n", util::xml::normalize_string(swinfo.longname().c_str())); util::stream_format(out, "\t\t\t<year>%s</year>\n", util::xml::normalize_string(swinfo.year().c_str())); util::stream_format(out, "\t\t\t<publisher>%s</publisher>\n", util::xml::normalize_string(swinfo.publisher().c_str())); + if (!swinfo.notes().empty()) + util::stream_format(out, "\t\t\t<notes>%s</notes>\n", util::xml::normalize_string(swinfo.notes().c_str())); for (const feature_list_item &flist : swinfo.other_info()) util::stream_format(out, "\t\t\t<info name=\"%s\" value=\"%s\"/>\n", flist.name(), util::xml::normalize_string(flist.value().c_str())); |