Commit Graph

29 Commits

Author SHA1 Message Date
Vas Crabb
1a5c013c33 (nw) softlist_dev.cpp: validate ROM labels
The free-for-all on labels in software lists is not working.  There's no
consistency, labels are getting excessively long, people are starting to
use non-ASCII characters in labels making it harder for others to type
them when manipulating files on the command line, and there's too much
markup being put in labels.

The length limit is 127 characters, same as for labels in MAME itself.
This should be long enough to be descriptive.  Remember that the Win32
path limit is 260 characters, and many applications and frameworks have
issues with longer paths, including Windows Explorer and the .NET
framework.  Labels are used as filenames, so concessions need to be
made for this.

I have not abbreviated excessively long labels myself - they're
currently causing 135 validity errors.  Someone else can fix them.

Printable ASCII characters are allowed, with a few exceptions.  The
exceptions are limited to characters most likely to cause issues for
interactive shells and scripts:
* ! - csh event substitution (very difficult to escape properly)
* $ - sh varibale expansion
* % - csh job control, cmd variable expansion
* / - UNIX directory separator
* : - sh path separator, Windows drive qualifier
* \ - sh escape, Windows directory separator

Most of the labels that had to be edited were using ! for markup, or
using ! and % for titles in labels.  Strangely, titles in labels are
often forced to lower case, despite this never being enforced for
software lists.  There are also various other edits to titles used for
labels, such as moving articles to the end (with or without a comma),
or replacing spaces with underscores.  As I already said, there's no
consistency at all.

There is far too much markup in labels.  They're even being used for
notes in some cases (e.g. at least one case where a dumper's name is in
the label).  The XML schema supports metadata - use it.  For example,
you can use part_id for an unrestricted display name for a software
part.  You can also use XML comments for notes.

And while on the topic of metadata, vgmplay.xml is putting the same
thing in the part_id as well as the label.  The part_id should have
the actual title, not the title mangled to make it more suitable for
use as a filename.  Addressing this would be a lot of work, given how
large the file is.

For now, empty data areas in software lists cause a verbose message
rather than a validation warning.  There are thousands of software
lists using empty data areas to indicate the size/width of cartridge
RAM/EEPROM/etc.
2020-04-16 14:04:06 +10:00
Vas Crabb
438a497c37 (nw) More license shuffling
Get rid of a couple of copies of the CC0 text.  Add header comment to
CC0 files to remind people editing them what the terms are.  Also add
some missing XML headers.  The header comments in layouts won't bloat
the binary - they get stripped out before compressing, same as any other
comments.
2020-03-07 22:02:56 +11:00
Scott Stone
1d3ecff45d vz_snap.xml: dtd validation fix (nw)
Many assorted XML files fixed for errant spaces, missing linefeed, improper format, and other oddness (nw)
2019-10-06 21:12:33 -04:00
Vas Crabb
e1ffc337ff srcclean and manual fixup (nw) 2018-08-26 13:50:14 +10:00
Rebecca Wallander
c347aec715 dc.xml - Add all games up to N (#3638) 2018-08-14 03:43:22 -04:00
Vas Crabb
c15531dddc srcclean (nw) 2018-05-27 04:48:13 +10:00
Scott Stone
1b30e55f6b
Merge pull request #3475 from FakeShemp/dc_k
dc.xml - Add games up to K
2018-04-23 16:58:25 -04:00
Rebecca Wallander
4676ff5692 dc.xml - Fix stupid validation error. 2018-04-23 22:46:13 +02:00
Rebecca Wallander
71f6b68667 dc.xml - Add some missing dumps. 2018-04-22 15:23:38 +02:00
Vas Crabb
ac79c90607 srcclean (nw) 2018-04-22 09:24:13 +10:00
Rebecca Wallander
1ca9793ab6 dc.xml - Add all games up to K. 2018-04-21 13:44:33 +02:00
Ivan Vangelista
397f54e29a dc.xml: fixed validation (nw) 2018-04-01 10:07:06 +02:00
Rebecca Wallander
19ce5e4c7b dc.xml - Fix newly added dump so the can boot too. 2018-03-30 13:03:47 +02:00
Rebecca Wallander
49a3300aaf Merge branch 'master' into dc_i 2018-03-30 12:58:29 +02:00
Rebecca Wallander
98ec1ebb8a dc.xml - Add all games up to J. 2018-03-30 12:48:21 +02:00
arbee
f18ac2c700 dc.xml: fix interface/name/diskarea so discs actually can boot [Justin] 2018-03-29 08:44:18 -04:00
Vas Crabb
08dde5eb0a srcclean and regenerate localisations (nw) 2018-03-25 02:03:24 +11:00
Rebecca Wallander
62fd17cf3a dc.xml - Add a few missing dumps. 2018-03-20 00:51:28 +01:00
Rebecca Wallander
9b5a41f495 dc.xml - Add all games up to H. 2018-03-19 22:37:33 +01:00
Rebecca Wallander
2d836b55b5 dc.xml - Fix validation. 2018-03-16 01:28:35 +01:00
Rebecca Wallander
5bb9a297e0 dc.xml - Add a few missing dumps. 2018-03-15 23:36:52 +01:00
Rebecca Wallander
4003026538 dc.xml - Add all discs up to G. 2018-03-15 20:56:08 +01:00
Rebecca Wallander
94eb580011 dc.xml - Work on formatting to fix parent-clone relation, fix typos, add a few missing dumps. 2018-03-13 11:01:08 +01:00
Scott Stone
365b55e915 dc.xml: Change parent to digichrt (from digichrtsg) and unified label names for the CHD to allow proper parent/clone usage (nw) 2018-03-12 07:54:05 -04:00
Rebecca Wallander
f1c65449da dc.xml - Add software from D to F (#3308)
* dc.xml - Add games upp to E.

* Add games up to F.

* dc.xml - Formatting.

* dc.xml - Fix validation errors
2018-03-07 11:31:22 -05:00
Vas Crabb
8dad4881f6 srcclean (nw) 2018-02-25 01:34:04 +11:00
Rebecca Wallander
deec373973 dc.xml - Add games a wee bit into D (#3171) 2018-02-08 16:06:53 -05:00
Scott Stone
10fe52177c dc.xml - fix validation error (nw)
leapster.xml - fix file size (nw)
2018-02-02 15:56:59 -05:00
Rebecca Wallander
989ecc31d0 The start of a Dreamcast softlist (#3137)
* Start Dreamcast softlist. Currently only #-A

* Fix some small issues with DC softlist

* Make USA dumps the parents

* Add some missingDC dumps
2018-02-02 14:37:25 -05:00