diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ae20dca2..13e1907d 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -28,6 +28,8 @@ There are some lower-level commands for finer control or full imports:
* Games that had an unusable path: `npm run manifest -- --unsupportedPath`
* Games with paths that are too broad and are tagged as such in the wiki cache: `npm run manifest -- --tooBroad`
* Games with paths that are too broad and aren't already tagged as such in the wiki cache: `npm run manifest -- --tooBroadUntagged`
+ * Games with paths that look invalid are tagged as such in the wiki cache: `npm run manifest -- --irregularPath`
+ * Games with paths that look invalid and aren't already tagged as such in the wiki cache: `npm run manifest -- --irregularPathUntagged`
* A specific game: `npm run manifest -- "Game 1" "Game 2"`
## API etiquette
diff --git a/data/manifest.yaml b/data/manifest.yaml
index 75dca24c..4adc9668 100644
--- a/data/manifest.yaml
+++ b/data/manifest.yaml
@@ -7490,12 +7490,17 @@ Alice in CyberCity:
id: 1072000
Alice in Stardom:
files:
+ /game/saves/*.save:
+ tags:
+ - save
+ when:
+ - os: windows
/renpy/config.py:
tags:
- config
when:
- os: windows
- /renpy/AliceinStardom-1551500018/*
.save:
+ /renpy/AliceinStardom-1551500018/*.save:
tags:
- save
when:
@@ -8033,12 +8038,12 @@ Alien Swarm:
id: 563560
Alien Trilogy:
files:
- '/{{file|TRIL.SG*}}':
+ /TRIL.SG*:
tags:
- save
when:
- os: dos
- '/{{file|TRILOGY.CFG}}':
+ /TRILOGY.CFG:
tags:
- config
when:
@@ -9926,12 +9931,12 @@ Amulet Zero 零物语 - Optimize:
id: 907330
Amulet of Dreams:
files:
- '/MysteryTag/Amulet of Dreams/Player_{{code|#}}/session.dat':
+ /MysteryTag/Amulet of Dreams/Player_*/session.dat:
tags:
- save
when:
- os: windows
- '/MysteryTag/Amulet of Dreams/Player_{{code|#}}/settings.ini':
+ /MysteryTag/Amulet of Dreams/Player_*/settings.ini:
tags:
- config
when:
@@ -13518,7 +13523,7 @@ Arkane Rush Multiverse Mayhem:
id: 1005250
Arkanoid:
files:
- '{{Path|Game}}/{{File|ARKANOID.SCR}}':
+ /ARKANOID.SCR:
tags:
- save
when:
@@ -13528,12 +13533,12 @@ Arkanoid For Painters:
id: 912130
'Arkanoid: Revenge of Doh':
files:
- '{{Path|Game}}/DOH.CFG':
+ /DOH.CFG:
tags:
- config
when:
- os: dos
- '{{Path|Game}}/REVOFDOH.SCR':
+ /REVOFDOH.SCR:
tags:
- save
when:
@@ -14274,12 +14279,12 @@ Art of Horology:
id: 1033860
Art of Murder - Cards of Destiny:
files:
- '/{{LocalizedPath|Art of Murder - Cards of Destiny}}':
+ /Art of Murder - Cards of Destiny:
tags:
- save
when:
- os: windows
- '/{{LocalizedPath|Art of Murder - Cards of Destiny}}/game.setup':
+ /Art of Murder - Cards of Destiny/game.setup:
tags:
- config
when:
@@ -14310,12 +14315,12 @@ Art of Murder - FBI Confidential:
id: 809000
Art of Murder - Hunt for the Puppeteer:
files:
- '/{{LocalizedPath|Art of Murder - The Hunt for the Puppeteer}}':
+ /Art of Murder - The Hunt for the Puppeteer:
tags:
- save
when:
- os: windows
- '/{{LocalizedPath|Art of Murder - The Hunt for the Puppeteer}}/game.setup':
+ /Art of Murder - The Hunt for the Puppeteer/game.setup:
tags:
- config
when:
@@ -19038,12 +19043,12 @@ Bad Thoughts:
id: 661260
Bad Toys 3D:
files:
- '/{{file|GAME_*.SVG}}':
+ /GAME_*.SVG:
tags:
- save
when:
- os: windows
- '/{{file|bt3d.cfg}}':
+ /bt3d.cfg:
tags:
- config
when:
@@ -22139,16 +22144,16 @@ Beach Head 2000:
id: 509610
Beach Head 2002:
files:
- '{{Path|localappdata}}/VirtualStore/Infogrames Interactive/Beach Head 2002/Save/{{File|000000**.sav}}':
- tags:
- - save
- when:
- - os: windows
- '{{Path|localappdata}}/VirtualStore/Infogrames Interactive/Beach Head 2002/{{File|BH2002.ini}}':
+ /VirtualStore/Infogrames Interactive/Beach Head 2002/BH2002.ini:
tags:
- config
when:
- os: windows
+ /VirtualStore/Infogrames Interactive/Beach Head 2002/Save/000000*.sav:
+ tags:
+ - save
+ when:
+ - os: windows
installDir:
Beachhead 2002: {}
steam:
@@ -27559,12 +27564,12 @@ Bloo Kid 2:
id: 379640
Blood:
files:
- '/{{file|*.SAV}}':
+ /*.SAV:
tags:
- save
when:
- os: dos
- '/{{file|BLOOD.CFG}}':
+ /BLOOD.CFG:
tags:
- config
when:
@@ -29686,12 +29691,12 @@ Boozy Dwarf:
id: 562560
Boppin':
files:
- '{{Path|Game}}/{{File|BOPPIN.CFG}}':
+ /BOPPIN.CFG:
tags:
- config
when:
- os: dos
- '{{Path|Game}}/{{File|Bopsave?.bin}}':
+ /Bopsave*.bin:
tags:
- save
when:
@@ -30402,7 +30407,7 @@ Box Out!:
id: 356110
Box PC3:
files:
- 'C:/pc3/drakssen/boxeo/{{File|keywiz.cfg}}':
+ 'C:/pc3/drakssen/boxeo/keywiz.cfg':
tags:
- config
when:
@@ -30910,7 +30915,7 @@ Breach & Clear:
when:
- os: mac
- os: linux
- '/Library/Preferences/{{file|unity.Mighty Rabbit Studios.Breach _ Clear.plist}}':
+ /Library/Preferences/unity.Mighty Rabbit Studios.Breach _ Clear.plist:
tags:
- config
when:
@@ -37280,16 +37285,16 @@ Cateau:
id: 949370
Catechumen:
files:
+ /catechumen.ini:
+ tags:
+ - config
+ when:
+ - os: windows
/save:
tags:
- save
when:
- os: windows
- '/{{file|catechumen.ini}}':
- tags:
- - config
- when:
- - os: windows
Caterpillar Royale:
installDir:
Caterpillar Wars DX: {}
@@ -41842,7 +41847,7 @@ Clean VR:
id: 1071090
Clean'Em Up:
files:
- '{{Path|Game}}/{{File|CleanEmUp.exe.config}}':
+ /CleanEmUp.exe.config:
tags:
- config
when:
@@ -47047,7 +47052,7 @@ Counter Terrorist Agency:
- save
when:
- os: mac
- '/Library/Preferences/{{file|pl.play2chill.cta.plist}}':
+ /Library/Preferences/pl.play2chill.cta.plist:
tags:
- config
when:
@@ -57633,7 +57638,7 @@ Deep Rock Galactic:
when:
- os: windows
store: steam
- '/FSD/Saved/SaveGames/{{file|Player.sav}}':
+ /FSD/Saved/SaveGames/Player.sav:
tags:
- save
when:
@@ -62095,12 +62100,12 @@ Disc League:
id: 591140
Disc Room (2016):
files:
- '{{Path|game}}/{{File|options.ini}}':
+ /options.ini:
tags:
- config
when:
- os: windows
- '{{Path|localappdata}}/disc_room':
+ /disc_room:
tags:
- save
when:
@@ -63163,7 +63168,7 @@ Diving Trunks:
id: 435150
Divinoids:
files:
- '/AppData/LocalLow/Weltall Zero/Divinoids/{{File|saveGame.sav}}':
+ /AppData/LocalLow/Weltall Zero/Divinoids/saveGame.sav:
tags:
- save
when:
@@ -71270,7 +71275,7 @@ Eat All the Things:
id: 730290
Eat My Dust:
files:
- '{{Path|game}}/{{File|SIERRA.INF}}':
+ /SIERRA.INF:
tags:
- config
when:
@@ -74486,16 +74491,16 @@ Engram:
id: 930360
Enigma:
files:
- '{{Path|Game}}/savedata':
- tags:
- - save
- when:
- - os: windows
- '{{Path|Game}}/{{File|ENIGMA.cf}}':
+ /ENIGMA.cf:
tags:
- config
when:
- os: windows
+ /savedata:
+ tags:
+ - save
+ when:
+ - os: windows
installDir:
ENIGMA: {}
steam:
@@ -78809,14 +78814,14 @@ F18 Carrier Landing:
id: 1049370
FAITH:
files:
- '/FAITH_v1_4_0_spriteOptimizationTest/{{file|SAV_FAITH_DX_itch_v1-4.dat}}':
+ /FAITH_v1_4_0_spriteOptimizationTest/SAV_FAITH_DX_itch_v1-4.dat:
tags:
- save
when:
- os: windows
'FAITH: Chapter II':
files:
- '/FAITH_CHII_v1_2_2019_07_23/{{file|sav_FAITHchII_v1-2.dat}}':
+ /FAITH_CHII_v1_2_2019_07_23/sav_FAITHchII_v1-2.dat:
tags:
- save
when:
@@ -82674,16 +82679,16 @@ Fields of Battle:
id: 370800
Fiend:
files:
- '/save/{{file|save*.sav}}':
- tags:
- - save
- when:
- - os: windows
- '/{{file|config.dat}}':
+ /config.dat:
tags:
- config
when:
- os: windows
+ /save/save*.sav:
+ tags:
+ - save
+ when:
+ - os: windows
Fiends of Imprisonment:
steam:
id: 410590
@@ -119144,7 +119149,7 @@ Jumplord:
id: 1214130
Jumpman Lives!:
files:
- '{{Path|Game}}/{{File|JMLIVES!.HIS}}':
+ /JMLIVES!.HIS:
tags:
- save
when:
@@ -119669,16 +119674,16 @@ K-pop VR:
id: 744020
'K. Hawk: Survival Instinct':
files:
+ /KHSI.INI:
+ tags:
+ - config
+ when:
+ - os: windows
/savegame:
tags:
- save
when:
- os: windows
- '/{{file|KHSI.INI}}':
- tags:
- - config
- when:
- - os: windows
K.O.M.A:
installDir:
K.O.M.A: {}
@@ -125761,7 +125766,7 @@ Last Resort Island:
id: 820910
Last Rites:
files:
- '/{{file|LASTRITE.CFG}}':
+ /LASTRITE.CFG:
tags:
- config
when:
@@ -128894,7 +128899,7 @@ Lifeblood:
id: 796340
Lifeforce Tenka:
files:
- '/save/{{file|tenka.sav}}':
+ /save/tenka.sav:
tags:
- save
when:
@@ -135937,12 +135942,12 @@ Mainland:
id: 366800
Mainlining:
files:
- '/MainliningGame/{{file|Profile_*.sav}}':
+ /MainliningGame/Profile_*.sav:
tags:
- save
when:
- os: windows
- '/MainliningGame/{{file|System.sav}}':
+ /MainliningGame/System.sav:
tags:
- config
when:
@@ -136477,14 +136482,14 @@ Manhunter:
id: 302250
'Manhunter 2: San Francisco':
files:
- '/{{file|MH2SG.*}}':
+ /MH2SG.*:
tags:
- save
when:
- os: dos
'Manhunter: New York':
files:
- '/{{file|sg.*}}':
+ /sg.*:
tags:
- save
when:
@@ -138359,7 +138364,7 @@ Max Payne:
id: 12140
'Max Payne 2: The Fall of Max Payne':
files:
- '/{{file|MP2_Init.ras}}':
+ /MP2_Init.ras:
tags:
- config
when:
@@ -138371,6 +138376,10 @@ Max Payne:
- os: windows
installDir:
Max Payne 2 The Fall of Max Payne: {}
+ registry:
+ HKEY_CURRENT_USER/Software/Remedy Entertainment/Max Payne 2:
+ tags:
+ - config
steam:
id: 12150
Max Payne 3:
@@ -141628,16 +141637,16 @@ Microsoft Flight Simulator X:
id: 314160
Microsoft Flight Simulator for Windows 95:
files:
- '{{Path|game}}/Pilots':
- tags:
- - save
- when:
- - os: windows
- '{{Path|game}}/{{File|FltSim95.CFG}}':
+ /FltSim95.CFG:
tags:
- config
when:
- os: windows
+ /Pilots:
+ tags:
+ - save
+ when:
+ - os: windows
Microsoft Golf:
files:
/*.PIN:
@@ -143211,16 +143220,16 @@ Miniature - The Story Puzzle:
id: 536680
Miniature Garden:
files:
- '{{Path|Game}}/savedata':
- tags:
- - save
- when:
- - os: windows
- '{{Path|Game}}/{{File|Miniature Garden.cf}}':
+ /Miniature Garden.cf:
tags:
- config
when:
- os: windows
+ /savedata:
+ tags:
+ - save
+ when:
+ - os: windows
installDir:
Miniature Garden: {}
steam:
@@ -149658,12 +149667,12 @@ NALOGI:
id: 810670
NAM:
files:
- '/{{file|GAME*.SAV}}':
+ /GAME*.SAV:
tags:
- save
when:
- os: dos
- '/{{file|NAM.CFG}}':
+ /NAM.CFG:
tags:
- config
when:
@@ -158110,16 +158119,16 @@ Omina Mortis:
id: 644340
'Ominous Horizons: A Paladin''s Calling':
files:
+ /ominous.ini:
+ tags:
+ - config
+ when:
+ - os: windows
/save:
tags:
- save
when:
- os: windows
- '/{{file|ominous.ini}}':
- tags:
- - config
- when:
- - os: windows
'Ominous Objects: Family Portrait Collector''s Edition':
installDir:
Ominous Objects Family Portrait Collector's Edition: {}
@@ -165829,12 +165838,12 @@ Phantasmagoria:
id: 501990
'Phantasmagoria 2: A Puzzle of Flesh':
files:
- '/{{file|P2SG.*}}':
+ /P2SG.*:
tags:
- save
when:
- os: dos
- '/{{file|RESOURCE.CFG}}':
+ /RESOURCE.CFG:
tags:
- config
when:
@@ -166868,31 +166877,36 @@ Pinball 2018:
id: 678310
Pinball Dreams:
files:
- '{{Path|game}}/{{File|HISCORES}}':
+ /HISCORES:
tags:
- save
when:
- os: dos
Pinball Dreams 2:
files:
- '{{Path|Game}}/{{File|HISCORES}}':
+ /HISCORES:
tags:
- save
when:
- os: dos
- '{{Path|Game}}/{{File|SOUND.CFG}}':
+ /SOUND.CFG:
tags:
- config
when:
- os: dos
Pinball Dreams Deluxe:
files:
- '{{Path|Game}}/{{File|DDPCOPTN.BIN}}':
+ /DDPCOPTN.BIN:
tags:
- config
when:
- os: dos
- '{{Path|Game}}/{{File|HISCORES.PD1}}
{{Path|Game}}/{{File|HISCORES.PD2}}':
+ /HISCORES.PD1:
+ tags:
+ - save
+ when:
+ - os: dos
+ /HISCORES.PD2:
tags:
- save
when:
@@ -166940,12 +166954,17 @@ Pinball FX3:
id: 442120
Pinball Fantasies:
files:
- '{{Path|Game}}/{{File|SOUND.CFG}}
{{Path|Game}}/{{File|PINBALL.CFG}}':
+ /PINBALL.CFG:
tags:
- config
when:
- os: dos
- '{{Path|Game}}/{{File|TABLE?.HI}}':
+ /SOUND.CFG:
+ tags:
+ - config
+ when:
+ - os: dos
+ /TABLE*.HI:
tags:
- save
when:
@@ -166962,12 +166981,12 @@ Pinball HD Collection:
id: 605850
Pinball Mania:
files:
- '{{Path|Game}}/{{File|HISCORES}}':
+ /HISCORES:
tags:
- save
when:
- os: dos
- '{{Path|Game}}/{{File|SOUND.CFG}}':
+ /SOUND.CFG:
tags:
- config
when:
@@ -169450,12 +169469,12 @@ Pleasure in Dream:
id: 538950
'Pleurghburg: Dark Ages':
files:
- '/{{file|acsetup.cfg}}':
+ /acsetup.cfg:
tags:
- save
when:
- os: windows
- '/{{file|agssave.*}}':
+ /agssave.*:
tags:
- config
when:
@@ -195548,12 +195567,12 @@ Shadow Uprising:
id: 987000
Shadow Warrior (1997):
files:
- '/{{file|GAME*.SAV}}':
+ /GAME*.SAV:
tags:
- save
when:
- os: dos
- '/{{file|SW.CFG}}':
+ /SW.CFG:
tags:
- config
when:
@@ -196167,16 +196186,20 @@ Shadwen:
id: 545850
Shady Knight:
files:
- '{{Path|userprofile}}/AppData/LocalLow/cptnsigh/Shady Knight/{{File|savefile}}':
- tags:
- - save
- when:
- - os: windows
- '{{Path|userprofile}}/AppData/LocalLow/cptnsigh/Shady Knight
{{Path|hkcu}}/SOFTWARE/cptnsigh/Shady Knight':
+ /AppData/LocalLow/cptnsigh/Shady Knight:
tags:
- config
when:
- os: windows
+ /AppData/LocalLow/cptnsigh/Shady Knight/savefile:
+ tags:
+ - save
+ when:
+ - os: windows
+ registry:
+ HKEY_CURRENT_USER/SOFTWARE/cptnsigh/Shady Knight:
+ tags:
+ - config
Shady Part of Me:
steam:
id: 1116580
@@ -196590,12 +196613,12 @@ Sharp X Mind:
id: 1039650
SharpShooter3D:
files:
- '/{{file|*.zds}}':
+ /*.zds:
tags:
- save
when:
- os: windows
- '/{{file|gzdoom-.ini}}':
+ /gzdoom-*.ini:
tags:
- config
when:
@@ -199281,12 +199304,12 @@ SilverFrame(纯白星原):
id: 333380
Silverball:
files:
- '{{Path|Game}}/{{File|CONFIG.PIN}}':
+ /CONFIG.PIN:
tags:
- config
when:
- os: dos
- '{{Path|Game}}/{{File|HISCORE.PIN}}':
+ /HISCORE.PIN:
tags:
- save
when:
@@ -201499,16 +201522,16 @@ Sleepwalker:
id: 814640
Sleepwalker's Journey:
files:
- '{{Path|appdata}}/11bitstudios/Sleepwalker`s Journey/iPhoneDefUser':
- tags:
- - save
- when:
- - os: windows
- '{{Path|appdata}}/11bitstudios/Sleepwalker`s Journey/{{File|config.bin}}':
+ /11bitstudios/Sleepwalker`s Journey/config.bin:
tags:
- config
when:
- os: windows
+ /11bitstudios/Sleepwalker`s Journey/iPhoneDefUser:
+ tags:
+ - save
+ when:
+ - os: windows
Sleigh Runner:
installDir:
Sleigh Runner: {}
@@ -207865,16 +207888,26 @@ SpellForce 3:
id: 311290
'SpellForce 3: Soul Harvest':
files:
- /My Games/SpellForce 3 SH/save:
+ /My Games/SpellForce 3 SH/characters:
tags:
- save
when:
- os: windows
- '/My Games/SpellForce 3 SH/{{file|config_system.txt}}, {{file|config_user.txt}}':
+ /My Games/SpellForce 3 SH/config_system.txt:
tags:
- config
when:
- os: windows
+ /My Games/SpellForce 3 SH/config_user.txt:
+ tags:
+ - config
+ when:
+ - os: windows
+ /My Games/SpellForce 3 SH/save:
+ tags:
+ - save
+ when:
+ - os: windows
installDir:
SpellForce3_2019: {}
steam:
@@ -208920,12 +208953,12 @@ Sponchies:
- config
'SpongeBob SquarePants: Operation Krabby Patty':
files:
- '{{Path|game}}/{{File|options.dat}}':
+ /options.dat:
tags:
- config
when:
- os: windows
- '{{Path|game}}/{{File|users.dat}}':
+ /users.dat:
tags:
- save
when:
@@ -209285,7 +209318,7 @@ SpyParty:
id: 329070
'Spycraft: The Great Game':
files:
- '/{{file|GAME_*.SGM}}':
+ /GAME_*.SGM:
tags:
- save
when:
@@ -216663,7 +216696,7 @@ Super Blood Hockey:
- save
when:
- os: windows
- '/{{file|SubparBloopHokeyCon.fig}}':
+ /SubparBloopHokeyCon.fig:
tags:
- config
when:
@@ -224131,7 +224164,7 @@ Tengutana:
id: 630070
Tenis PC3:
files:
- 'C:/pc3/drakssen/tennis/{{File|keywiz.cfg}}':
+ 'C:/pc3/drakssen/tennis/keywiz.cfg':
tags:
- config
when:
@@ -224901,7 +224934,7 @@ Tetripank:
id: 832550
Tetris (AcademySoft):
files:
- '{{Path|Game}}/{{File|TETRIS.RES}}':
+ /TETRIS.RES:
tags:
- save
when:
@@ -237409,21 +237442,21 @@ The Snowboard Game:
id: 803830
The Software Toolworks' Star Wars Chess:
files:
- '/{{File|STARWARS.CMG}}':
+ /STARWARS.CMG:
tags:
- save
when:
- os: windows
- '/{{File|SWCHESS.SAV}}':
- tags:
- - save
- when:
- - os: dos
- '{{Path|Game}}/{{File|SWCHESS.CFG}}':
+ /SWCHESS.CFG:
tags:
- config
when:
- os: dos
+ /SWCHESS.SAV:
+ tags:
+ - save
+ when:
+ - os: dos
The Sojourn:
files:
/TheSojourn/Saved/SaveGames/Settings.sav:
@@ -239906,7 +239939,7 @@ The Wranglers:
id: 533770
The X-Files Game:
files:
- '/{{file|*.x}}':
+ /*.x:
tags:
- save
when:
@@ -244239,12 +244272,12 @@ Tony Slopes:
id: 835770
Tony Tough and the Night of Roasted Moths:
files:
- '/SAVE/{{file|*.sav}}':
+ /SAVE/*.sav:
tags:
- save
when:
- os: windows
- '/Saves/{{file|tony.*}}':
+ /Saves/tony.*:
tags:
- save
when:
@@ -253186,16 +253219,16 @@ Urban Cards:
id: 1126890
Urban Chaos:
files:
+ /config.ini:
+ tags:
+ - config
+ when:
+ - os: windows
/saves:
tags:
- save
when:
- os: windows
- '/{{file|config.ini}}':
- tags:
- - config
- when:
- - os: windows
installDir:
Urban Chaos: {}
steam:
@@ -265808,12 +265841,12 @@ World War I:
id: 361380
World War II GI:
files:
- '/{{file|GAME*.SAV}}':
+ /GAME*.SAV:
tags:
- save
when:
- os: dos
- '/{{file|WW2GI.CFG}}':
+ /WW2GI.CFG:
tags:
- config
when:
diff --git a/data/steam-game-cache.yaml b/data/steam-game-cache.yaml
index 9c399317..84e90aed 100644
--- a/data/steam-game-cache.yaml
+++ b/data/steam-game-cache.yaml
@@ -14850,6 +14850,7 @@
installDir: Flash Snooker Game
'12510':
installDir: Prison Tycoon 3
+'1251670': {}
'12520':
installDir: 18 Wheels of Steel American Long Haul
'12530':
diff --git a/data/wiki-game-cache.yaml b/data/wiki-game-cache.yaml
index b1c07fba..6b978e20 100644
--- a/data/wiki-game-cache.yaml
+++ b/data/wiki-game-cache.yaml
@@ -4658,7 +4658,7 @@ Alice in CyberCity:
revId: 842443
Alice in Stardom:
pageId: 132216
- revId: 884069
+ revId: 983376
Alice in Wonderland:
pageId: 33992
revId: 967024
@@ -4887,7 +4887,7 @@ Alien Syndrome:
revId: 964556
Alien Trilogy:
pageId: 61902
- revId: 965676
+ revId: 983377
Alien Worms Invasion:
pageId: 88019
revId: 842511
@@ -5743,6 +5743,7 @@ Amulet Zero 零物语 - Optimize:
pageId: 103919
revId: 842790
Amulet of Dreams:
+ irregularPath: true
pageId: 42710
revId: 956472
Amulet of the Seven Souls:
@@ -7422,7 +7423,7 @@ Arkane Rush Multiverse Mayhem:
revId: 843298
Arkanoid:
pageId: 159395
- revId: 981550
+ revId: 983378
Arkanoid For Painters:
pageId: 104179
revId: 843299
@@ -7760,6 +7761,7 @@ Art of Horology:
pageId: 132008
revId: 843387
Art of Murder - Cards of Destiny:
+ irregularPath: true
pageId: 103377
revId: 960464
Art of Murder - Deadly Secrets:
@@ -7769,6 +7771,7 @@ Art of Murder - FBI Confidential:
pageId: 103385
revId: 960466
Art of Murder - Hunt for the Puppeteer:
+ irregularPath: true
pageId: 103381
revId: 960467
Art of Murder - The Secret Files:
@@ -10015,7 +10018,7 @@ Bad Thoughts:
revId: 844053
Bad Toys 3D:
pageId: 68729
- revId: 964657
+ revId: 983379
Bad birthday:
pageId: 53073
revId: 844055
@@ -11461,7 +11464,7 @@ Beach Head 2000:
revId: 923955
Beach Head 2002:
pageId: 61990
- revId: 908782
+ revId: 983380
'Beach Head: Desert War':
pageId: 61988
revId: 844495
@@ -13951,7 +13954,7 @@ Bloo Kid 2:
revId: 845208
Blood:
pageId: 13918
- revId: 966820
+ revId: 983381
'Blood & Gold: Caribbean!':
pageId: 34288
revId: 845210
@@ -15020,7 +15023,7 @@ Boozy Dwarf:
revId: 845494
Boppin':
pageId: 148099
- revId: 967180
+ revId: 983382
Boratium Wars:
pageId: 73258
revId: 845495
@@ -15347,7 +15350,7 @@ Box Out!:
revId: 845596
Box PC3:
pageId: 151969
- revId: 906835
+ revId: 983383
'Box: The Game':
pageId: 98664
revId: 845597
@@ -15623,7 +15626,7 @@ Breach:
revId: 845681
Breach & Clear:
pageId: 17523
- revId: 963241
+ revId: 983384
'Breach & Clear: Deadline':
pageId: 22518
revId: 918468
@@ -18811,7 +18814,7 @@ Cateau:
revId: 846781
Catechumen:
pageId: 91641
- revId: 953214
+ revId: 983385
'Category:Free-to-play':
pageId: 159098
revId: 956562
@@ -21117,7 +21120,7 @@ Clean VR:
revId: 847450
Clean'Em Up:
pageId: 36179
- revId: 946114
+ revId: 983386
Cleaner:
pageId: 138558
revId: 847452
@@ -23461,7 +23464,7 @@ Counter Terrorism - Minesweeper:
revId: 900622
Counter Terrorist Agency:
pageId: 122854
- revId: 957712
+ revId: 983387
Counter-Fall:
pageId: 156893
revId: 977944
@@ -28519,7 +28522,7 @@ Deep Rest:
revId: 849627
Deep Rock Galactic:
pageId: 55221
- revId: 979976
+ revId: 983388
Deep Sea Endurance:
pageId: 127345
revId: 849629
@@ -30617,7 +30620,7 @@ Disc League:
revId: 850249
Disc Room (2016):
pageId: 159132
- revId: 963380
+ revId: 983389
Disc Room (2020):
pageId: 159141
revId: 980071
@@ -31056,7 +31059,7 @@ Diving Trunks:
revId: 978240
Divinoids:
pageId: 159902
- revId: 963608
+ revId: 983390
Divinum:
pageId: 151513
revId: 903263
@@ -34784,7 +34787,7 @@ Eat All the Things:
revId: 891108
Eat My Dust:
pageId: 146902
- revId: 923391
+ revId: 983391
Eat Your Words:
pageId: 99772
revId: 851630
@@ -36309,7 +36312,7 @@ Engram:
revId: 852073
Enigma:
pageId: 39785
- revId: 944954
+ revId: 983392
Enigma Prison:
pageId: 39654
revId: 852075
@@ -38319,10 +38322,10 @@ F29 Retaliator:
tooBroad: true
FAITH:
pageId: 146578
- revId: 923265
+ revId: 983393
'FAITH: Chapter II':
pageId: 148340
- revId: 923266
+ revId: 983394
'FAITH: The Unholy Trinity':
pageId: 151868
revId: 906071
@@ -40253,7 +40256,7 @@ Fields of Glory:
revId: 964799
Fiend:
pageId: 101851
- revId: 923090
+ revId: 983395
Fiends of Imprisonment:
pageId: 45988
revId: 853256
@@ -58066,7 +58069,7 @@ Jumplord:
revId: 931458
Jumpman Lives!:
pageId: 147147
- revId: 964886
+ revId: 983396
Jumpo Joe:
pageId: 98426
revId: 886514
@@ -58342,7 +58345,7 @@ K-pop VR:
revId: 858469
'K. Hawk: Survival Instinct':
pageId: 157705
- revId: 935731
+ revId: 983397
K.O.M.A:
pageId: 129879
revId: 858470
@@ -61371,7 +61374,7 @@ Last Resort Island:
revId: 859322
Last Rites:
pageId: 88158
- revId: 964901
+ revId: 983398
tooBroad: true
Last Salvo:
pageId: 78298
@@ -62757,7 +62760,7 @@ Lifeblood:
revId: 886916
Lifeforce Tenka:
pageId: 123043
- revId: 966111
+ revId: 983399
Lifeless:
pageId: 33512
revId: 910591
@@ -66333,7 +66336,7 @@ Mainland:
revId: 860751
Mainlining:
pageId: 39280
- revId: 962867
+ revId: 983400
Maitetsu:
pageId: 97404
revId: 887692
@@ -66601,10 +66604,10 @@ Manhunter:
revId: 952269
'Manhunter 2: San Francisco':
pageId: 17079
- revId: 964929
+ revId: 983401
'Manhunter: New York':
pageId: 147113
- revId: 964930
+ revId: 983402
Maniac GO:
pageId: 64749
revId: 887733
@@ -67465,7 +67468,7 @@ Max Payne:
unsupportedOs: true
'Max Payne 2: The Fall of Max Payne':
pageId: 3397
- revId: 981660
+ revId: 983403
Max Payne 3:
pageId: 2846
revId: 974341
@@ -68976,7 +68979,7 @@ Microsoft Flight Simulator X:
revId: 938558
Microsoft Flight Simulator for Windows 95:
pageId: 152533
- revId: 951241
+ revId: 983404
Microsoft Golf:
pageId: 7343
revId: 964953
@@ -69742,7 +69745,7 @@ Miniature - The Story Puzzle:
revId: 888217
Miniature Garden:
pageId: 39791
- revId: 945576
+ revId: 983405
Miniature TD - VR:
pageId: 67555
revId: 888219
@@ -72931,7 +72934,7 @@ NALOGI:
revId: 894091
NAM:
pageId: 25285
- revId: 967858
+ revId: 983406
NAMELESS:
pageId: 121355
revId: 894092
@@ -77023,7 +77026,7 @@ Omina Mortis:
revId: 863742
'Ominous Horizons: A Paladin''s Calling':
pageId: 91644
- revId: 938751
+ revId: 983407
'Ominous Objects: Family Portrait Collector''s Edition':
pageId: 58451
revId: 896828
@@ -80707,7 +80710,7 @@ Phantasmagoria:
revId: 964108
'Phantasmagoria 2: A Puzzle of Flesh':
pageId: 36560
- revId: 967581
+ revId: 983408
Phantasmagoria of Flower View:
pageId: 30995
revId: 897367
@@ -81195,13 +81198,13 @@ Pinball 3:
revId: 864868
Pinball Dreams:
pageId: 131950
- revId: 967172
+ revId: 983409
Pinball Dreams 2:
pageId: 131955
- revId: 967171
+ revId: 983410
Pinball Dreams Deluxe:
pageId: 154686
- revId: 965461
+ revId: 983411
Pinball Dreams HD:
pageId: 147647
revId: 891890
@@ -81216,7 +81219,7 @@ Pinball FX3:
revId: 967057
Pinball Fantasies:
pageId: 26166
- revId: 965001
+ revId: 983412
Pinball HD Collection:
pageId: 41876
revId: 897443
@@ -81228,7 +81231,7 @@ Pinball Illusions:
revId: 897444
Pinball Mania:
pageId: 131959
- revId: 965003
+ revId: 983413
Pinball Parlor:
pageId: 55720
revId: 897445
@@ -82482,7 +82485,7 @@ Pleasure in Dream:
revId: 897657
'Pleurghburg: Dark Ages':
pageId: 147240
- revId: 964113
+ revId: 983414
'Plexarium: Mega Maze Crawler':
pageId: 68984
revId: 897658
@@ -95213,7 +95216,7 @@ Shadow Uprising:
revId: 868838
Shadow Warrior (1997):
pageId: 9487
- revId: 981826
+ revId: 983415
Shadow Warrior (2013):
pageId: 10160
revId: 966908
@@ -95412,7 +95415,7 @@ Shadwen:
revId: 868898
Shady Knight:
pageId: 151852
- revId: 905987
+ revId: 983416
Shady Part of Me:
pageId: 145441
revId: 840813
@@ -95616,7 +95619,7 @@ Sharp X Mind:
revId: 868958
SharpShooter3D:
pageId: 96729
- revId: 952435
+ revId: 983417
'Sharpe Investigations: Death on the Seine':
pageId: 49931
revId: 868960
@@ -96806,7 +96809,7 @@ SilverFrame(纯白星原):
revId: 953806
Silverball:
pageId: 154872
- revId: 967170
+ revId: 983418
Silverfall:
pageId: 41393
revId: 869317
@@ -97940,7 +97943,7 @@ Sleepwalker:
revId: 965119
Sleepwalker's Journey:
pageId: 8035
- revId: 899182
+ revId: 983419
Sleigh Runner:
pageId: 124046
revId: 869630
@@ -101064,7 +101067,7 @@ SpellForce 3:
revId: 908052
'SpellForce 3: Soul Harvest':
pageId: 124855
- revId: 973183
+ revId: 983420
'SpellForce: The Order of Dawn':
pageId: 4483
revId: 966978
@@ -101573,7 +101576,7 @@ Sponchies:
revId: 947210
'SpongeBob SquarePants: Operation Krabby Patty':
pageId: 152323
- revId: 923384
+ revId: 983421
'SpongeBob: Patty Pursuit':
pageId: 160743
revId: 971198
@@ -101744,7 +101747,7 @@ SpyParty:
revId: 919163
'Spycraft: The Great Game':
pageId: 21136
- revId: 967626
+ revId: 983422
Spyder:
pageId: 158655
revId: 976586
@@ -104947,7 +104950,7 @@ Super Blockbreak 3D:
revId: 871736
Super Blood Hockey:
pageId: 56152
- revId: 963132
+ revId: 983423
Super Blue Boy Planet:
pageId: 55127
revId: 871738
@@ -108569,7 +108572,7 @@ Tengutana:
revId: 872788
Tenis PC3:
pageId: 151895
- revId: 906238
+ revId: 983425
Tenkyu:
pageId: 90052
revId: 872789
@@ -108935,7 +108938,7 @@ Tetripank:
revId: 872886
Tetris (AcademySoft):
pageId: 152573
- revId: 965192
+ revId: 983426
Tetris Effect:
pageId: 140550
revId: 962944
@@ -114647,7 +114650,7 @@ The Snowboard Game:
revId: 874483
The Software Toolworks' Star Wars Chess:
pageId: 147946
- revId: 964160
+ revId: 983427
The Sojourn:
pageId: 105615
revId: 969477
@@ -115713,7 +115716,7 @@ The Wranglers:
revId: 874765
The X-Files Game:
pageId: 3889
- revId: 967162
+ revId: 983428
The Yawhg:
pageId: 7534
revId: 929938
@@ -117742,7 +117745,7 @@ Tony Slopes:
revId: 875328
Tony Tough and the Night of Roasted Moths:
pageId: 47978
- revId: 963261
+ revId: 983429
Too Angry to Space:
pageId: 41751
revId: 875330
@@ -121918,7 +121921,7 @@ Urban Cards:
revId: 840706
Urban Chaos:
pageId: 19490
- revId: 963329
+ revId: 983430
Urban Empire:
pageId: 35573
revId: 876515
@@ -128172,7 +128175,7 @@ World War I:
revId: 948653
World War II GI:
pageId: 25290
- revId: 967159
+ revId: 983431
World War II Online:
pageId: 62464
revId: 878298
diff --git a/src/bin.ts b/src/bin.ts
index beb4c557..aba1e110 100644
--- a/src/bin.ts
+++ b/src/bin.ts
@@ -16,6 +16,7 @@ interface Cli {
unsupportedOs?: boolean,
unsupportedPath?: boolean,
irregularPath?: boolean,
+ irregularPathUntagged?: boolean,
tooBroad?: boolean,
tooBroadUntagged?: boolean,
recent?: number,
@@ -35,6 +36,7 @@ async function main() {
"unsupportedOs",
"unsupportedPath",
"irregularPath",
+ "irregularPathUntagged",
"tooBroad",
"tooBroadUntagged",
]
@@ -77,6 +79,7 @@ async function main() {
tooBroad: args.tooBroad ?? false,
tooBroadUntagged: args.tooBroadUntagged ?? false,
irregularPath: args.irregularPath ?? false,
+ irregularPathUntagged: args.irregularPathUntagged ?? false,
games: args._,
recent: args.recent,
},
diff --git a/src/manifest.ts b/src/manifest.ts
index cc134620..b823f4b2 100644
--- a/src/manifest.ts
+++ b/src/manifest.ts
@@ -52,6 +52,7 @@ export class ManifestFile extends YamlFile {
unsupportedOs: boolean,
unsupportedPath: boolean,
irregularPath: boolean,
+ irregularPathUntagged: boolean,
tooBroad: boolean,
tooBroadUntagged: boolean,
games: Array | undefined,
@@ -81,7 +82,10 @@ export class ManifestFile extends YamlFile {
if (filter.unsupportedPath && info.unsupportedPath) {
check = true;
}
- if (filter.irregularPath && (wikiCache[title].irregularPath || Object.keys(this.data[title]?.files ?? []).some(x => x.includes("{{") || x.includes("") || x.includes("
") || x.includes("
")))) {
+ if (filter.irregularPath && wikiCache[title].irregularPath) {
+ check = true;
+ }
+ if (filter.irregularPathUntagged && !wikiCache[title].irregularPath && Object.keys(this.data[title]?.files ?? []).some(x => x.includes("{{") || x.includes("") || x.includes("
") || x.includes("
"))) {
check = true;
}
if (filter.games && filter.games.includes(title)) {
@@ -90,7 +94,7 @@ export class ManifestFile extends YamlFile {
if (filter.tooBroad && info.tooBroad) {
check = true;
}
- if (filter.tooBroadUntagged && Object.keys(this.data[title]?.files ?? []).some(x => pathIsTooBroad(x))) {
+ if (filter.tooBroadUntagged && !info.tooBroad && Object.keys(this.data[title]?.files ?? []).some(x => pathIsTooBroad(x))) {
check = true;
}
if (filter.recent && wikiCache[title].recentlyChanged) {
diff --git a/src/wiki.ts b/src/wiki.ts
index 6c49499d..2f5ca222 100644
--- a/src/wiki.ts
+++ b/src/wiki.ts
@@ -466,12 +466,18 @@ export async function getGame(pageTitle: string, cache: WikiGameCache): Promise<
game.steam = { id: steamId };
}
} else if (template.name === "Game data/saves" || template.name === "Game data/config") {
+ // console.log("\n\n\n\n\n\n--------------------------------------------------------------------------")
+ // console.log(template);
for (const cellKey of Object.getOwnPropertyNames(template.parameters)) {
if (cellKey === "0" || cellKey === "1") {
continue;
}
const cell = template.parameters[cellKey];
+ // console.log("======================================")
+ // console.log(cell)
const [rawPath, regular] = getRawPathFromCell(cell);
+ // console.log("-----------------");
+ // console.log(`${regular} : ${rawPath}`);
if (!regular) {
irregularPath += 1;