From 41e5446619684e2f0d455638df067be829093d95 Mon Sep 17 00:00:00 2001 From: James Date: Sat, 10 Jun 2017 14:44:43 +1000 Subject: [PATCH] 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 --- 3D-Kirbys-Adventure/game.dat | 13 ++--- Animal-Crossing-New-Leaf/game.dat | 3 +- Fire-Emblem-Awakening/game.dat | 3 +- Kirby-Triple-Deluxe/game.dat | 13 ++--- .../game.dat | 9 ++-- Legend-of-Zelda-Majoras-Mask/game.dat | 5 +- Legend-of-Zelda-Ocarina-of-Time/game.dat | 3 +- Mario-Kart-7/game.dat | 9 ++-- Mario-Sports-Superstars/game.dat | 3 +- Monster-Hunter-4-Ultimate/game.dat | 9 ++-- Picross-e/game.dat | 11 +++-- Picross-e2/game.dat | 11 +++-- Picross-e3/game.dat | 11 +++-- Picross-e4/game.dat | 11 +++-- Picross-e5/game.dat | 9 ++-- Picross-e6/game.dat | 9 ++-- Picross-e7/game.dat | 9 ++-- .../game.dat | 4 +- Pokemon-Omega-Ruby-Alpha-Sapphire/game.dat | 5 +- Pokemon-Sun-Moon/game.dat | 5 +- Pokemon-Super-Mystery-Dungeon/game.dat | 4 +- Pokemon-X-Y/game.dat | 5 +- Puyo-Puyo-Chronicle/game.dat | 9 ++-- Star-Fox-64-3D/game.dat | 3 +- Story-of-Seasons-Trio-of-Towns/game.dat | 9 ++-- Super-Mario-3D-Land/game.dat | 3 +- Super-Smash-Bros/game.dat | 3 +- Virtual-Console-Legend-of-Zelda/game.dat | 3 +- Virtual-Console-Tetris/game.dat | 3 +- _validation/app.js | 48 +++++++++++++++++-- _validation/config.json | 10 ++-- 31 files changed, 162 insertions(+), 93 deletions(-) diff --git a/3D-Kirbys-Adventure/game.dat b/3D-Kirbys-Adventure/game.dat index 49958cc..5dcd20f 100644 --- a/3D-Kirbys-Adventure/game.dat +++ b/3D-Kirbys-Adventure/game.dat @@ -5,24 +5,25 @@ needs_shared_font = true [[ releases ]] title = "0004000000054600" -region = "USA" +region = "usa" release_date = "2011-11-17" [[ releases ]] title = "0004000000055000" -region = "EUR" +region = "eur" release_date = "2011-11-17" [[ releases ]] title = "000400000004e800" -region = "JPN" +region = "jpn" release_date = "2012-04-25" [[ testcases ]] +title = "0004000000054600" compatibility = "1" date = "2017-06-05" version = "HEAD-8f0a23b" author = "Clector" -cpu = "" -gpu = "" -os = "" +cpu = "?" +gpu = "?" +os = "?" diff --git a/Animal-Crossing-New-Leaf/game.dat b/Animal-Crossing-New-Leaf/game.dat index 74d3622..003f2f9 100644 --- a/Animal-Crossing-New-Leaf/game.dat +++ b/Animal-Crossing-New-Leaf/game.dat @@ -6,10 +6,11 @@ needs_shared_font = false [[ releases ]] title = "0004000000086300" -region = "USA" +region = "usa" release_date = "2013-06-09" [[ testcases ]] +title = "0004000000086300" compatibility = "3" date = "2017-05-31" version = "HEAD-4857eb4" diff --git a/Fire-Emblem-Awakening/game.dat b/Fire-Emblem-Awakening/game.dat index 1ae2a58..93fe869 100644 --- a/Fire-Emblem-Awakening/game.dat +++ b/Fire-Emblem-Awakening/game.dat @@ -6,10 +6,11 @@ needs_shared_font = false [[ releases ]] title = "00040000000A0500" -region = "USA" +region = "usa" release_date = "2013-02-04" [[ testcases ]] +title = "00040000000A0500" compatibility = "2" date = "2017-05-31" version = "HEAD-4857eb4" diff --git a/Kirby-Triple-Deluxe/game.dat b/Kirby-Triple-Deluxe/game.dat index 28a5d25..77d744a 100644 --- a/Kirby-Triple-Deluxe/game.dat +++ b/Kirby-Triple-Deluxe/game.dat @@ -5,24 +5,25 @@ needs_shared_font = true [[ releases ]] title = "000400000010BE00" -region = "JPN" +region = "jpn" release_date = "2014-01-11" [[ releases ]] title = "000400000010BF00" -region = "USA" +region = "usa" release_date = "2014-05-02" [[ releases ]] title = "000400000010C000" -region = "EUR" +region = "eur" release_date = "2014-05-16" [[ testcases ]] +title = "000400000010BF00" compatibility = "1" date = "2017-06-05" version = "HEAD-8f0a23b" author = "Clector" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Legend-of-Zelda-A-Link-Between-Worlds/game.dat b/Legend-of-Zelda-A-Link-Between-Worlds/game.dat index 91880a8..41c86c6 100644 --- a/Legend-of-Zelda-A-Link-Between-Worlds/game.dat +++ b/Legend-of-Zelda-A-Link-Between-Worlds/game.dat @@ -6,14 +6,15 @@ needs_shared_font = false [[ releases ]] title = "00040000000EC300" -region = "USA" +region = "usa" release_date = "2013-11-22" [[ testcases ]] +title = "00040000000EC300" compatibility = "1" date = "2017-06-03" version = "HEAD-e46ec64" author = "Leo121" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Legend-of-Zelda-Majoras-Mask/game.dat b/Legend-of-Zelda-Majoras-Mask/game.dat index adfb56c..0feb9e4 100644 --- a/Legend-of-Zelda-Majoras-Mask/game.dat +++ b/Legend-of-Zelda-Majoras-Mask/game.dat @@ -6,15 +6,16 @@ needs_shared_font = false [[ releases ]] title = "0004000000125500" -region = "USA" +region = "usa" release_date = "2015-02-13" [[ releases ]] title = "0004000000125600" -region = "EUR" +region = "eur" release_date = "2015-02-13" [[ testcases ]] +title = "0004000000125500" compatibility = "1" date = "2017-06-03" version = "HEAD-a7ddec8" diff --git a/Legend-of-Zelda-Ocarina-of-Time/game.dat b/Legend-of-Zelda-Ocarina-of-Time/game.dat index 93f4afd..965fcf8 100644 --- a/Legend-of-Zelda-Ocarina-of-Time/game.dat +++ b/Legend-of-Zelda-Ocarina-of-Time/game.dat @@ -5,10 +5,11 @@ needs_shared_font = false [[ releases ]] title = "0004000000033500" -region = "USA" +region = "usa" release_date = "2011-06-19" [[ testcases ]] +title = "0004000000033500" compatibility = "0" date = "2017-06-03" version = "HEAD-a7ddec8" diff --git a/Mario-Kart-7/game.dat b/Mario-Kart-7/game.dat index d70b494..29c2156 100644 --- a/Mario-Kart-7/game.dat +++ b/Mario-Kart-7/game.dat @@ -6,14 +6,15 @@ needs_shared_font = false [[ releases ]] title = "0004000000030800" -region = "USA" +region = "usa" release_date = "2011-12-04" [[ testcases ]] +title = "0004000000030800" compatibility = "3" date = "2017-06-03" version = "HEAD-a7ddec8" author = "TheKoopaKingdom" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Mario-Sports-Superstars/game.dat b/Mario-Sports-Superstars/game.dat index 7de4e6d..2e3e8f7 100644 --- a/Mario-Sports-Superstars/game.dat +++ b/Mario-Sports-Superstars/game.dat @@ -4,10 +4,11 @@ github_issues = [2660] [[ releases ]] title = "0004000000188C00" -region = "USA" +region = "usa" release_date = "2017-03-06" [[ testcases ]] +title = "0004000000188C00" compatibility = "5" date = "2017-06-03" version = "HEAD-a7ddec8" diff --git a/Monster-Hunter-4-Ultimate/game.dat b/Monster-Hunter-4-Ultimate/game.dat index 2ee8fe0..61cf25c 100644 --- a/Monster-Hunter-4-Ultimate/game.dat +++ b/Monster-Hunter-4-Ultimate/game.dat @@ -6,14 +6,15 @@ needs_shared_font = true [[ releases ]] title = "0004000000126300" -region = "USA" +region = "usa" release_date = "2015-02-13" [[ testcases ]] +title = "0004000000126300" compatibility = "3" date = "2017-06-05" version = "HEAD-bae3799" author = "Desmond" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Picross-e/game.dat b/Picross-e/game.dat index 2657b03..8ea10a1 100644 --- a/Picross-e/game.dat +++ b/Picross-e/game.dat @@ -5,19 +5,20 @@ needs_shared_font = false [[ releases ]] title = "00040000000e9200" -region = "EUR" +region = "eur" release_date = "2012-09-06" [[ releases ]] title = "0004000000064200" -region = "JPN" +region = "jpn" release_date = "2011-06-27" [[ testcases ]] +title = "00040000000e9200" compatibility = "0" date = "2017-06-05" version = "HEAD-8f0a23b" author = "SonofUgly" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Picross-e2/game.dat b/Picross-e2/game.dat index 8791346..5090091 100644 --- a/Picross-e2/game.dat +++ b/Picross-e2/game.dat @@ -5,19 +5,20 @@ needs_shared_font = false [[ releases ]] title = "00040000000cbc00" -region = "EUR" +region = "eur" release_date = "2013-01-24" [[ releases ]] title = "0004000000084600" -region = "JPN" +region = "jpn" release_date = "2011-12-28" [[ testcases ]] +title = "00040000000cbc00" compatibility = "0" date = "2017-06-05" version = "HEAD-8f0a23b" author = "SonofUgly" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Picross-e3/game.dat b/Picross-e3/game.dat index 3fea8ca..3fda6e3 100644 --- a/Picross-e3/game.dat +++ b/Picross-e3/game.dat @@ -5,19 +5,20 @@ needs_shared_font = false [[ releases ]] title = "0004000000102900" -region = "EUR" +region = "eur" release_date = "2013-12-14" [[ releases ]] title = "00040000000EEA00" -region = "JPN" +region = "jpn" release_date = "2013-06-12" [[ testcases ]] +title = "0004000000102900" compatibility = "0" date = "2017-06-05" version = "HEAD-8f0a23b" author = "SonofUgly" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Picross-e4/game.dat b/Picross-e4/game.dat index f636ba0..318c2ff 100644 --- a/Picross-e4/game.dat +++ b/Picross-e4/game.dat @@ -5,19 +5,20 @@ needs_shared_font = false [[ releases ]] title = "0004000000127300" -region = "USA" +region = "usa" release_date = "2013-10-03" [[ releases ]] title = "000400000010F000" -region = "JPN" +region = "jpn" release_date = "2013-11-20" [[ testcases ]] +title = "0004000000127300" compatibility = "0" date = "2017-06-05" version = "HEAD-8f0a23b" author = "SonofUgly" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Picross-e5/game.dat b/Picross-e5/game.dat index 3252587..e7d3187 100644 --- a/Picross-e5/game.dat +++ b/Picross-e5/game.dat @@ -5,14 +5,15 @@ needs_shared_font = false [[ releases ]] title = "0004000000149800" -region = "USA" +region = "usa" release_date = "2014-11-13" [[ testcases ]] +title = "0004000000149800" compatibility = "0" date = "2017-06-05" version = "HEAD-8f0a23b" author = "SonofUgly" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Picross-e6/game.dat b/Picross-e6/game.dat index fcf0669..30c7f0e 100644 --- a/Picross-e6/game.dat +++ b/Picross-e6/game.dat @@ -5,14 +5,15 @@ needs_shared_font = false [[ releases ]] title = "000400000016ef00" -region = "EUR" +region = "usa" release_date = "2015-06-30" [[ testcases ]] +title = "000400000016ef00" compatibility = "0" date = "2017-06-05" version = "HEAD-8f0a23b" author = "SonofUgly" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Picross-e7/game.dat b/Picross-e7/game.dat index b132fa8..9d23ea1 100644 --- a/Picross-e7/game.dat +++ b/Picross-e7/game.dat @@ -5,14 +5,15 @@ needs_shared_font = false [[ releases ]] title = "00040000001adb00" -region = "USA" +region = "usa" release_date = "2016-12-15" [[ testcases ]] +title = "00040000001adb00" compatibility = "0" date = "2017-06-05" version = "HEAD-8f0a23b" author = "SonofUgly" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Pokemon-Mystery-Dungeon-Gates-To-Infinity/game.dat b/Pokemon-Mystery-Dungeon-Gates-To-Infinity/game.dat index cfe288f..d8455de 100644 --- a/Pokemon-Mystery-Dungeon-Gates-To-Infinity/game.dat +++ b/Pokemon-Mystery-Dungeon-Gates-To-Infinity/game.dat @@ -6,12 +6,12 @@ needs_shared_font = false [[ releases ]] title = "00040000000ba800" -region = "USA" +region = "usa" release_date = "2013-03-24" [[ releases ]] title = "00040000000ba900" -region = "EUR" +region = "eur" release_date = "2013-05-17" [[ testcases ]] diff --git a/Pokemon-Omega-Ruby-Alpha-Sapphire/game.dat b/Pokemon-Omega-Ruby-Alpha-Sapphire/game.dat index 7981255..30315a4 100644 --- a/Pokemon-Omega-Ruby-Alpha-Sapphire/game.dat +++ b/Pokemon-Omega-Ruby-Alpha-Sapphire/game.dat @@ -6,15 +6,16 @@ needs_shared_font = true [[ releases ]] title = "000400000011C400" -region = "USA" +region = "usa" release_date = "2014-11-21" [[ releases ]] title = "000400000011C500" -region = "USA" +region = "usa" release_date = "2014-11-21" [[ testcases ]] +title = "000400000011C400" compatibility = "1" date = "2017-05-31" version = "HEAD-4857eb4" diff --git a/Pokemon-Sun-Moon/game.dat b/Pokemon-Sun-Moon/game.dat index 7caa4bb..8e3c81c 100644 --- a/Pokemon-Sun-Moon/game.dat +++ b/Pokemon-Sun-Moon/game.dat @@ -6,15 +6,16 @@ needs_shared_font = false [[ releases ]] title = "0004000000164800" -region = "USA" +region = "usa" release_date = "2016-11-18" [[ releases ]] title = "0004000000175E00" -region = "USA" +region = "usa" release_date = "2016-11-18" [[ testcases ]] +title = "0004000000164800" compatibility = "1" date = "2017-05-31" version = "HEAD-4857eb4" diff --git a/Pokemon-Super-Mystery-Dungeon/game.dat b/Pokemon-Super-Mystery-Dungeon/game.dat index 5fc9c39..7fb12a3 100644 --- a/Pokemon-Super-Mystery-Dungeon/game.dat +++ b/Pokemon-Super-Mystery-Dungeon/game.dat @@ -6,12 +6,12 @@ needs_shared_font = false [[ releases ]] title = "0004000000174600" -region = "USA" +region = "usa" release_date = "2016-02-20" [[ releases ]] title = "0004000000174400" -region = "EUR" +region = "eur" release_date = "2016-02-20" [[ testcases ]] diff --git a/Pokemon-X-Y/game.dat b/Pokemon-X-Y/game.dat index f096b72..fe21ba0 100644 --- a/Pokemon-X-Y/game.dat +++ b/Pokemon-X-Y/game.dat @@ -6,15 +6,16 @@ needs_shared_font = true [[ releases ]] title = "0004000000055D00" -region = "USA" +region = "usa" release_date = "2013-10-12" [[ releases ]] title = "0004000000055E00" -region = "USA" +region = "usa" release_date = "2013-10-12" [[ testcases ]] +title = "0004000000055D00" compatibility = "3" date = "2017-05-31" version = "HEAD-4857eb4" diff --git a/Puyo-Puyo-Chronicle/game.dat b/Puyo-Puyo-Chronicle/game.dat index 66f4368..29935ab 100644 --- a/Puyo-Puyo-Chronicle/game.dat +++ b/Puyo-Puyo-Chronicle/game.dat @@ -6,15 +6,16 @@ needs_shared_font = true [[ releases ]] title = "0004000000197500" -region = "JPN" +region = "jpn" release_date = "2016-12-08" [[ testcases ]] +title = "0004000000197500" compatibility = "5" date = "2017-06-05" version = "HEAD-8f0a23b" author = "Clector" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Star-Fox-64-3D/game.dat b/Star-Fox-64-3D/game.dat index f88474c..870fcbe 100644 --- a/Star-Fox-64-3D/game.dat +++ b/Star-Fox-64-3D/game.dat @@ -6,10 +6,11 @@ needs_shared_font = false [[ releases ]] title = "0004000000049000" -region = "USA" +region = "usa" release_date = "2011-07-14" [[ testcases ]] +title = "0004000000049000" compatibility = "1" date = "2017-06-04" version = "HEAD-8f0a23b" diff --git a/Story-of-Seasons-Trio-of-Towns/game.dat b/Story-of-Seasons-Trio-of-Towns/game.dat index 7fa59ea..41dc0ee 100644 --- a/Story-of-Seasons-Trio-of-Towns/game.dat +++ b/Story-of-Seasons-Trio-of-Towns/game.dat @@ -5,14 +5,15 @@ needs_shared_font = false [[ releases ]] title = "000400000019F500" -region = "USA" +region = "usa" release_date = "2017-02-28" [[ testcases ]] +title = "000400000019F500" compatibility = "0" date = "2017-06-05" version = "HEAD-8f0a23b" author = "soukoba" -cpu = "" -gpu = "" -os = "" \ No newline at end of file +cpu = "?" +gpu = "?" +os = "?" \ No newline at end of file diff --git a/Super-Mario-3D-Land/game.dat b/Super-Mario-3D-Land/game.dat index d30f371..5a6a6a9 100644 --- a/Super-Mario-3D-Land/game.dat +++ b/Super-Mario-3D-Land/game.dat @@ -6,10 +6,11 @@ needs_shared_font = false [[ releases ]] title = "0004000000054000" -region = "USA" +region = "usa" release_date = "2011-11-13" [[ testcases ]] +title = "0004000000054000" compatibility = "2" date = "2017-05-31" version = "HEAD-4857eb4" diff --git a/Super-Smash-Bros/game.dat b/Super-Smash-Bros/game.dat index cccfe84..e22b7e8 100644 --- a/Super-Smash-Bros/game.dat +++ b/Super-Smash-Bros/game.dat @@ -6,10 +6,11 @@ needs_shared_font = true [[ releases ]] title = "00040000000EDF00" -region = "USA" +region = "usa" release_date = "2014-10-03" [[ testcases ]] +title = "00040000000EDF00" compatibility = "1" date = "2017-05-31" version = "HEAD-4857eb4" diff --git a/Virtual-Console-Legend-of-Zelda/game.dat b/Virtual-Console-Legend-of-Zelda/game.dat index 87bd108..ac0f7fb 100644 --- a/Virtual-Console-Legend-of-Zelda/game.dat +++ b/Virtual-Console-Legend-of-Zelda/game.dat @@ -6,10 +6,11 @@ needs_shared_font = true [[ releases ]] title = "000400000006F100" -region = "USA" +region = "usa" release_date = "2012-07-05" [[ testcases ]] +title = "000400000006F100" compatibility = "1" date = "2017-06-04" version = "HEAD-8f0a23b" diff --git a/Virtual-Console-Tetris/game.dat b/Virtual-Console-Tetris/game.dat index ac4048e..9916fde 100644 --- a/Virtual-Console-Tetris/game.dat +++ b/Virtual-Console-Tetris/game.dat @@ -6,10 +6,11 @@ needs_shared_font = true [[ releases ]] title = "000400000007e700" -region = "USA" +region = "usa" release_date = "2011-12-22" [[ testcases ]] +title = "000400000007e700" compatibility = "1" date = "2017-06-04" version = "HEAD-8f0a23b" diff --git a/_validation/app.js b/_validation/app.js index b7e5aa2..1024109 100644 --- a/_validation/app.js +++ b/_validation/app.js @@ -35,10 +35,24 @@ function validateImage(path, config) { } let dimensions = sizeOf(path); - if (dimensions.width !== config.width || dimensions.height !== config.height) { - validationError(`Image \"${path}\"'s dimensions are ${dimensions.width} x ${dimensions.height} ` + - `instead of the required ${config.width} x ${config.height}.`); + let sizesString = ""; + + 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 i; @@ -183,6 +213,14 @@ function validateTOML(path) { for (i = 0; i < section.length; 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"); if (testcase["compatibility"] !== undefined) { let compat = parseInt(testcase["compatibility"]); @@ -201,7 +239,9 @@ function validateTOML(path) { }); validateNotEmpty(testcase, "author"); - // TODO: CPU/GPU/OS fields + validateNotEmpty(testcase, "cpu"); + validateNotEmpty(testcase, "gpu"); + validateNotEmpty(testcase, "os"); } } else { validationError("No testcases.") diff --git a/_validation/config.json b/_validation/config.json index f4de9cf..d27618f 100644 --- a/_validation/config.json +++ b/_validation/config.json @@ -1,9 +1,11 @@ { "directory": "..", - "regions": ["JPN", "USA", "EUR", "AUS", "CHN", "KOR", "TWN", "ALL"], - "boxart": { "filename": "boxart.png", "width": 328, "height": 300, "type": "image/png"}, - "icon": { "filename": "icon.png", "width": 48, "height": 48, "type": "image/png"}, - "screenshots": { "dirname": "screenshots", "width": 400, "height": 480, "type": "image/png"}, + "regions": ["jpn", "usa", "eur", "aus", "chn", "kor", "twn", "all"], + "gametypes": ["vc", "dsi", "eshop"], + "vc-systems": ["nes", "snes", "gb", "gbc", "gba", "gg"], + "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"}, "data": { "filename": "game.dat" } }