1
0
Fork 0

Add new field checks (#9)

* Add new field checks

* Release->Testcase in testcase checks

* Update regions to be lower case

* Add title ids to all testcases

* Add question-mark entries for empty CPU/GPU/OS combinations
This commit is contained in:
James 2017-06-10 14:44:43 +10:00 committed by Flame Sage
parent 64122135d9
commit 41e5446619
31 changed files with 162 additions and 93 deletions

View File

@ -5,24 +5,25 @@ needs_shared_font = true
[[ releases ]] [[ releases ]]
title = "0004000000054600" title = "0004000000054600"
region = "USA" region = "usa"
release_date = "2011-11-17" release_date = "2011-11-17"
[[ releases ]] [[ releases ]]
title = "0004000000055000" title = "0004000000055000"
region = "EUR" region = "eur"
release_date = "2011-11-17" release_date = "2011-11-17"
[[ releases ]] [[ releases ]]
title = "000400000004e800" title = "000400000004e800"
region = "JPN" region = "jpn"
release_date = "2012-04-25" release_date = "2012-04-25"
[[ testcases ]] [[ testcases ]]
title = "0004000000054600"
compatibility = "1" compatibility = "1"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "Clector" author = "Clector"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -6,10 +6,11 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000086300" title = "0004000000086300"
region = "USA" region = "usa"
release_date = "2013-06-09" release_date = "2013-06-09"
[[ testcases ]] [[ testcases ]]
title = "0004000000086300"
compatibility = "3" compatibility = "3"
date = "2017-05-31" date = "2017-05-31"
version = "HEAD-4857eb4" version = "HEAD-4857eb4"

View File

@ -6,10 +6,11 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "00040000000A0500" title = "00040000000A0500"
region = "USA" region = "usa"
release_date = "2013-02-04" release_date = "2013-02-04"
[[ testcases ]] [[ testcases ]]
title = "00040000000A0500"
compatibility = "2" compatibility = "2"
date = "2017-05-31" date = "2017-05-31"
version = "HEAD-4857eb4" version = "HEAD-4857eb4"

View File

@ -5,24 +5,25 @@ needs_shared_font = true
[[ releases ]] [[ releases ]]
title = "000400000010BE00" title = "000400000010BE00"
region = "JPN" region = "jpn"
release_date = "2014-01-11" release_date = "2014-01-11"
[[ releases ]] [[ releases ]]
title = "000400000010BF00" title = "000400000010BF00"
region = "USA" region = "usa"
release_date = "2014-05-02" release_date = "2014-05-02"
[[ releases ]] [[ releases ]]
title = "000400000010C000" title = "000400000010C000"
region = "EUR" region = "eur"
release_date = "2014-05-16" release_date = "2014-05-16"
[[ testcases ]] [[ testcases ]]
title = "000400000010BF00"
compatibility = "1" compatibility = "1"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "Clector" author = "Clector"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -6,14 +6,15 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "00040000000EC300" title = "00040000000EC300"
region = "USA" region = "usa"
release_date = "2013-11-22" release_date = "2013-11-22"
[[ testcases ]] [[ testcases ]]
title = "00040000000EC300"
compatibility = "1" compatibility = "1"
date = "2017-06-03" date = "2017-06-03"
version = "HEAD-e46ec64" version = "HEAD-e46ec64"
author = "Leo121" author = "Leo121"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -6,15 +6,16 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000125500" title = "0004000000125500"
region = "USA" region = "usa"
release_date = "2015-02-13" release_date = "2015-02-13"
[[ releases ]] [[ releases ]]
title = "0004000000125600" title = "0004000000125600"
region = "EUR" region = "eur"
release_date = "2015-02-13" release_date = "2015-02-13"
[[ testcases ]] [[ testcases ]]
title = "0004000000125500"
compatibility = "1" compatibility = "1"
date = "2017-06-03" date = "2017-06-03"
version = "HEAD-a7ddec8" version = "HEAD-a7ddec8"

View File

@ -5,10 +5,11 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000033500" title = "0004000000033500"
region = "USA" region = "usa"
release_date = "2011-06-19" release_date = "2011-06-19"
[[ testcases ]] [[ testcases ]]
title = "0004000000033500"
compatibility = "0" compatibility = "0"
date = "2017-06-03" date = "2017-06-03"
version = "HEAD-a7ddec8" version = "HEAD-a7ddec8"

View File

@ -6,14 +6,15 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000030800" title = "0004000000030800"
region = "USA" region = "usa"
release_date = "2011-12-04" release_date = "2011-12-04"
[[ testcases ]] [[ testcases ]]
title = "0004000000030800"
compatibility = "3" compatibility = "3"
date = "2017-06-03" date = "2017-06-03"
version = "HEAD-a7ddec8" version = "HEAD-a7ddec8"
author = "TheKoopaKingdom" author = "TheKoopaKingdom"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -4,10 +4,11 @@ github_issues = [2660]
[[ releases ]] [[ releases ]]
title = "0004000000188C00" title = "0004000000188C00"
region = "USA" region = "usa"
release_date = "2017-03-06" release_date = "2017-03-06"
[[ testcases ]] [[ testcases ]]
title = "0004000000188C00"
compatibility = "5" compatibility = "5"
date = "2017-06-03" date = "2017-06-03"
version = "HEAD-a7ddec8" version = "HEAD-a7ddec8"

View File

@ -6,14 +6,15 @@ needs_shared_font = true
[[ releases ]] [[ releases ]]
title = "0004000000126300" title = "0004000000126300"
region = "USA" region = "usa"
release_date = "2015-02-13" release_date = "2015-02-13"
[[ testcases ]] [[ testcases ]]
title = "0004000000126300"
compatibility = "3" compatibility = "3"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-bae3799" version = "HEAD-bae3799"
author = "Desmond" author = "Desmond"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -5,19 +5,20 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "00040000000e9200" title = "00040000000e9200"
region = "EUR" region = "eur"
release_date = "2012-09-06" release_date = "2012-09-06"
[[ releases ]] [[ releases ]]
title = "0004000000064200" title = "0004000000064200"
region = "JPN" region = "jpn"
release_date = "2011-06-27" release_date = "2011-06-27"
[[ testcases ]] [[ testcases ]]
title = "00040000000e9200"
compatibility = "0" compatibility = "0"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "SonofUgly" author = "SonofUgly"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -5,19 +5,20 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "00040000000cbc00" title = "00040000000cbc00"
region = "EUR" region = "eur"
release_date = "2013-01-24" release_date = "2013-01-24"
[[ releases ]] [[ releases ]]
title = "0004000000084600" title = "0004000000084600"
region = "JPN" region = "jpn"
release_date = "2011-12-28" release_date = "2011-12-28"
[[ testcases ]] [[ testcases ]]
title = "00040000000cbc00"
compatibility = "0" compatibility = "0"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "SonofUgly" author = "SonofUgly"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -5,19 +5,20 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000102900" title = "0004000000102900"
region = "EUR" region = "eur"
release_date = "2013-12-14" release_date = "2013-12-14"
[[ releases ]] [[ releases ]]
title = "00040000000EEA00" title = "00040000000EEA00"
region = "JPN" region = "jpn"
release_date = "2013-06-12" release_date = "2013-06-12"
[[ testcases ]] [[ testcases ]]
title = "0004000000102900"
compatibility = "0" compatibility = "0"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "SonofUgly" author = "SonofUgly"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -5,19 +5,20 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000127300" title = "0004000000127300"
region = "USA" region = "usa"
release_date = "2013-10-03" release_date = "2013-10-03"
[[ releases ]] [[ releases ]]
title = "000400000010F000" title = "000400000010F000"
region = "JPN" region = "jpn"
release_date = "2013-11-20" release_date = "2013-11-20"
[[ testcases ]] [[ testcases ]]
title = "0004000000127300"
compatibility = "0" compatibility = "0"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "SonofUgly" author = "SonofUgly"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -5,14 +5,15 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000149800" title = "0004000000149800"
region = "USA" region = "usa"
release_date = "2014-11-13" release_date = "2014-11-13"
[[ testcases ]] [[ testcases ]]
title = "0004000000149800"
compatibility = "0" compatibility = "0"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "SonofUgly" author = "SonofUgly"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -5,14 +5,15 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "000400000016ef00" title = "000400000016ef00"
region = "EUR" region = "usa"
release_date = "2015-06-30" release_date = "2015-06-30"
[[ testcases ]] [[ testcases ]]
title = "000400000016ef00"
compatibility = "0" compatibility = "0"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "SonofUgly" author = "SonofUgly"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -5,14 +5,15 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "00040000001adb00" title = "00040000001adb00"
region = "USA" region = "usa"
release_date = "2016-12-15" release_date = "2016-12-15"
[[ testcases ]] [[ testcases ]]
title = "00040000001adb00"
compatibility = "0" compatibility = "0"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "SonofUgly" author = "SonofUgly"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -6,12 +6,12 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "00040000000ba800" title = "00040000000ba800"
region = "USA" region = "usa"
release_date = "2013-03-24" release_date = "2013-03-24"
[[ releases ]] [[ releases ]]
title = "00040000000ba900" title = "00040000000ba900"
region = "EUR" region = "eur"
release_date = "2013-05-17" release_date = "2013-05-17"
[[ testcases ]] [[ testcases ]]

View File

@ -6,15 +6,16 @@ needs_shared_font = true
[[ releases ]] [[ releases ]]
title = "000400000011C400" title = "000400000011C400"
region = "USA" region = "usa"
release_date = "2014-11-21" release_date = "2014-11-21"
[[ releases ]] [[ releases ]]
title = "000400000011C500" title = "000400000011C500"
region = "USA" region = "usa"
release_date = "2014-11-21" release_date = "2014-11-21"
[[ testcases ]] [[ testcases ]]
title = "000400000011C400"
compatibility = "1" compatibility = "1"
date = "2017-05-31" date = "2017-05-31"
version = "HEAD-4857eb4" version = "HEAD-4857eb4"

View File

@ -6,15 +6,16 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000164800" title = "0004000000164800"
region = "USA" region = "usa"
release_date = "2016-11-18" release_date = "2016-11-18"
[[ releases ]] [[ releases ]]
title = "0004000000175E00" title = "0004000000175E00"
region = "USA" region = "usa"
release_date = "2016-11-18" release_date = "2016-11-18"
[[ testcases ]] [[ testcases ]]
title = "0004000000164800"
compatibility = "1" compatibility = "1"
date = "2017-05-31" date = "2017-05-31"
version = "HEAD-4857eb4" version = "HEAD-4857eb4"

View File

@ -6,12 +6,12 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000174600" title = "0004000000174600"
region = "USA" region = "usa"
release_date = "2016-02-20" release_date = "2016-02-20"
[[ releases ]] [[ releases ]]
title = "0004000000174400" title = "0004000000174400"
region = "EUR" region = "eur"
release_date = "2016-02-20" release_date = "2016-02-20"
[[ testcases ]] [[ testcases ]]

View File

@ -6,15 +6,16 @@ needs_shared_font = true
[[ releases ]] [[ releases ]]
title = "0004000000055D00" title = "0004000000055D00"
region = "USA" region = "usa"
release_date = "2013-10-12" release_date = "2013-10-12"
[[ releases ]] [[ releases ]]
title = "0004000000055E00" title = "0004000000055E00"
region = "USA" region = "usa"
release_date = "2013-10-12" release_date = "2013-10-12"
[[ testcases ]] [[ testcases ]]
title = "0004000000055D00"
compatibility = "3" compatibility = "3"
date = "2017-05-31" date = "2017-05-31"
version = "HEAD-4857eb4" version = "HEAD-4857eb4"

View File

@ -6,15 +6,16 @@ needs_shared_font = true
[[ releases ]] [[ releases ]]
title = "0004000000197500" title = "0004000000197500"
region = "JPN" region = "jpn"
release_date = "2016-12-08" release_date = "2016-12-08"
[[ testcases ]] [[ testcases ]]
title = "0004000000197500"
compatibility = "5" compatibility = "5"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "Clector" author = "Clector"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -6,10 +6,11 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000049000" title = "0004000000049000"
region = "USA" region = "usa"
release_date = "2011-07-14" release_date = "2011-07-14"
[[ testcases ]] [[ testcases ]]
title = "0004000000049000"
compatibility = "1" compatibility = "1"
date = "2017-06-04" date = "2017-06-04"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"

View File

@ -5,14 +5,15 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "000400000019F500" title = "000400000019F500"
region = "USA" region = "usa"
release_date = "2017-02-28" release_date = "2017-02-28"
[[ testcases ]] [[ testcases ]]
title = "000400000019F500"
compatibility = "0" compatibility = "0"
date = "2017-06-05" date = "2017-06-05"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"
author = "soukoba" author = "soukoba"
cpu = "" cpu = "?"
gpu = "" gpu = "?"
os = "" os = "?"

View File

@ -6,10 +6,11 @@ needs_shared_font = false
[[ releases ]] [[ releases ]]
title = "0004000000054000" title = "0004000000054000"
region = "USA" region = "usa"
release_date = "2011-11-13" release_date = "2011-11-13"
[[ testcases ]] [[ testcases ]]
title = "0004000000054000"
compatibility = "2" compatibility = "2"
date = "2017-05-31" date = "2017-05-31"
version = "HEAD-4857eb4" version = "HEAD-4857eb4"

View File

@ -6,10 +6,11 @@ needs_shared_font = true
[[ releases ]] [[ releases ]]
title = "00040000000EDF00" title = "00040000000EDF00"
region = "USA" region = "usa"
release_date = "2014-10-03" release_date = "2014-10-03"
[[ testcases ]] [[ testcases ]]
title = "00040000000EDF00"
compatibility = "1" compatibility = "1"
date = "2017-05-31" date = "2017-05-31"
version = "HEAD-4857eb4" version = "HEAD-4857eb4"

View File

@ -6,10 +6,11 @@ needs_shared_font = true
[[ releases ]] [[ releases ]]
title = "000400000006F100" title = "000400000006F100"
region = "USA" region = "usa"
release_date = "2012-07-05" release_date = "2012-07-05"
[[ testcases ]] [[ testcases ]]
title = "000400000006F100"
compatibility = "1" compatibility = "1"
date = "2017-06-04" date = "2017-06-04"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"

View File

@ -6,10 +6,11 @@ needs_shared_font = true
[[ releases ]] [[ releases ]]
title = "000400000007e700" title = "000400000007e700"
region = "USA" region = "usa"
release_date = "2011-12-22" release_date = "2011-12-22"
[[ testcases ]] [[ testcases ]]
title = "000400000007e700"
compatibility = "1" compatibility = "1"
date = "2017-06-04" date = "2017-06-04"
version = "HEAD-8f0a23b" version = "HEAD-8f0a23b"

View File

@ -35,10 +35,24 @@ function validateImage(path, config) {
} }
let dimensions = sizeOf(path); let dimensions = sizeOf(path);
if (dimensions.width !== config.width || dimensions.height !== config.height) { let sizesString = "";
validationError(`Image \"${path}\"'s dimensions are ${dimensions.width} x ${dimensions.height} ` +
`instead of the required ${config.width} x ${config.height}.`); for (sizeIndex in config.sizes) {
const size = config.sizes[sizeIndex];
if (dimensions.width === size.width && dimensions.height === size.height) {
return;
}
// Really beautiful multi-size printing. Work of art.
if (sizesString.length !== 0) {
sizesString += ", ";
}
sizesString += `${size.width} x ${size.height}`;
} }
validationError(`Image \"${path}\"'s dimensions are ${dimensions.width} x ${dimensions.height} ` +
`instead of the any of the following: ${sizesString}`);
} }
} }
@ -147,6 +161,22 @@ function validateTOML(path) {
}); });
} }
if (tomlDoc["gametypes"] !== undefined) {
validateContents(tomlDoc, "gametypes", field => {
if (config.gametypes.indexOf(field) === -1) {
validationError(`Could not find gametype \"${field}\"!`);
}
if (field === "vc") {
validateContents(tomlDoc, "vc_system", field => {
if (config.vc-systems.indexOf(field) === -1) {
validationError(`Could not find VC console \"${field}\"!`);
}
});
}
});
}
let section; let section;
let i; let i;
@ -183,6 +213,14 @@ function validateTOML(path) {
for (i = 0; i < section.length; i++) { for (i = 0; i < section.length; i++) {
const testcase = section[i]; const testcase = section[i];
validateContents(testcase, "title", field => {
if (field.length !== 16) {
validationError(`Testcase #${i + 1}: Game title ID has an invalid length`);
} else if (!field.match(/([a-zA-Z0-9]){16}/)) {
validationError(`Testcase #${i + 1}: Game title ID is not a hexadecimal ID`);
}
});
validateNotEmpty(testcase, "compatibility"); validateNotEmpty(testcase, "compatibility");
if (testcase["compatibility"] !== undefined) { if (testcase["compatibility"] !== undefined) {
let compat = parseInt(testcase["compatibility"]); let compat = parseInt(testcase["compatibility"]);
@ -201,7 +239,9 @@ function validateTOML(path) {
}); });
validateNotEmpty(testcase, "author"); validateNotEmpty(testcase, "author");
// TODO: CPU/GPU/OS fields validateNotEmpty(testcase, "cpu");
validateNotEmpty(testcase, "gpu");
validateNotEmpty(testcase, "os");
} }
} else { } else {
validationError("No testcases.") validationError("No testcases.")

View File

@ -1,9 +1,11 @@
{ {
"directory": "..", "directory": "..",
"regions": ["JPN", "USA", "EUR", "AUS", "CHN", "KOR", "TWN", "ALL"], "regions": ["jpn", "usa", "eur", "aus", "chn", "kor", "twn", "all"],
"boxart": { "filename": "boxart.png", "width": 328, "height": 300, "type": "image/png"}, "gametypes": ["vc", "dsi", "eshop"],
"icon": { "filename": "icon.png", "width": 48, "height": 48, "type": "image/png"}, "vc-systems": ["nes", "snes", "gb", "gbc", "gba", "gg"],
"screenshots": { "dirname": "screenshots", "width": 400, "height": 480, "type": "image/png"}, "boxart": { "filename": "boxart.png", "sizes": [{"width": 328, "height": 300}, {"width": 500, "height": 300}], "type": "image/png"},
"icon": { "filename": "icon.png", "sizes": [{"width": 48, "height": 48}], "type": "image/png"},
"screenshots": { "dirname": "screenshots", "sizes": [{"width": 400, "height": 480}], "type": "image/png"},
"saves": { "dirname": "savefiles"}, "saves": { "dirname": "savefiles"},
"data": { "filename": "game.dat" } "data": { "filename": "game.dat" }
} }