Improve template handling and import some data with fixed BR tags

This commit is contained in:
mtkennerly 2020-07-16 00:02:24 -04:00
parent 9b87fb9356
commit 9d189021c9
8 changed files with 537 additions and 184 deletions

View file

@ -28,7 +28,7 @@ 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`
* A specific game: `npm run manifest -- --game "Name of Game"`
* A specific game: `npm run manifest -- "Game 1" "Game 2"`
## API etiquette
When running or modifying the importer script, please be mindful not to

View file

@ -10051,7 +10051,7 @@ An Octonaut Odyssey:
id: 676070
An Untitled Story:
registry:
"<base><br>\nHKEY_CURRENT_USER/Software/Game Maker/695487":
HKEY_CURRENT_USER/Software/Game Maker/695487:
tags:
- save
Ana The Game:
@ -11245,6 +11245,11 @@ Anno 1404:
id: 33210
'Anno 1404: History Edition':
files:
<home>/Documents/Anno1404 Venice/Savegames:
tags:
- save
when:
- os: windows
<winAppData>/Ubisoft/Anno1404/Config:
tags:
- config
@ -21746,6 +21751,11 @@ Battlemage VR:
id: 768470
Battlepaths:
files:
<base>/keymapping.cfg:
tags:
- config
when:
- os: windows
<winDocuments>/SavedGames/Battlepaths:
tags:
- save
@ -24554,6 +24564,11 @@ BioShock 2:
- config
when:
- os: windows
'MP: <winAppData>/Bioshock2Steam/<storeUserId>.profile':
tags:
- save
when:
- os: windows
'SP: <winDocuments>/Bioshock2/SaveGames':
tags:
- save
@ -37793,32 +37808,32 @@ Celeste:
files:
<base>/Saves:
tags:
- config
- save
when:
- os: windows
<base>/Saves/settings.celeste:
tags:
- save
- config
when:
- os: windows
<home>/Library/Application Support/Celeste/Saves:
tags:
- config
- save
when:
- os: mac
<home>/Library/Application Support/Celeste/Saves/settings.celeste:
tags:
- save
- config
when:
- os: mac
<xdgData>/Celeste/Saves:
tags:
- config
- save
when:
- os: linux
<xdgData>/Celeste/Saves/settings.celeste:
tags:
- save
- config
when:
- os: linux
installDir:
@ -38302,11 +38317,6 @@ Change:
Change: {}
steam:
id: 765640
'Change : A Little Story':
installDir:
Change A Little Story: {}
steam:
id: 979790
Change Ranger:
steam:
id: 1216350
@ -38315,6 +38325,11 @@ Change Ranger:
CHANGE A Homeless Survival Experience: {}
steam:
id: 926140
'Change: A Little Story':
installDir:
Change A Little Story: {}
steam:
id: 979790
Changed:
files:
'<base>/Save{{code|X}}.rvdata':
@ -38906,11 +38921,12 @@ Cherry Tree High Girls' Fight:
id: 459540
Cherry Tree High I! My! Girls!:
files:
'[[Glossary:Game_data#Steam|<Steam-folder>]]/steamapps/common/Cherry Tree High I My Girls/Save1.rxdata':
<root>/steamapps/common/Cherry Tree High I My Girls/Save1.rxdata:
tags:
- save
when:
- os: windows
store: steam
installDir:
Cherry Tree High I My Girls: {}
steam:
@ -43231,7 +43247,7 @@ Coin Commander:
id: 1214530
Coin Crypt:
files:
'<winLocalAppData>/Coin/config<!--file, not folder-->':
<winLocalAppData>/Coin/config:
tags:
- config
when:
@ -44859,6 +44875,16 @@ Company of Heroes:
- config
when:
- store: steam
<winDocuments>/My Games/Company of Heroes Relaunch/*.lua:
tags:
- config
when:
- store: steam
<winDocuments>/My Games/Company of Heroes Relaunch/*.txt:
tags:
- config
when:
- store: steam
<winDocuments>/My Games/Company of Heroes Relaunch/Savegames:
tags:
- save
@ -44869,6 +44895,16 @@ Company of Heroes:
- config
when:
- os: windows
<winDocuments>/My Games/Company of Heroes/*.lua:
tags:
- config
when:
- os: windows
<winDocuments>/My Games/Company of Heroes/*.txt:
tags:
- config
when:
- os: windows
<winDocuments>/My Games/Company of Heroes/Savegames:
tags:
- save
@ -49140,6 +49176,11 @@ Crowntakers:
- save
when:
- os: windows
<home>/AppData/LocalLow/Bulwark Studios/Crowntakers:
tags:
- config
when:
- os: windows
installDir:
Crowntakers: {}
registry:
@ -53467,6 +53508,11 @@ Dark Sector:
- config
when:
- os: windows
<home>/Aspyr/Dark Sector/settings:
tags:
- config
when:
- os: windows
<winAppData>/Dark Sector:
tags:
- save
@ -56789,6 +56835,11 @@ Death Stair:
id: 444880
Death Stranding:
files:
<base>/settings.cfg:
tags:
- config
when:
- os: windows
<winLocalAppData>/KojimaProductions/DeathStranding:
tags:
- save
@ -56920,6 +56971,17 @@ Death by Game Show:
steam:
id: 409730
Death end re;Quest:
files:
<base>/resource/bin/Application.ini:
tags:
- config
when:
- os: windows
<base>/resource/bin/SYSTEMSAVE:
tags:
- save
when:
- os: windows
installDir:
Death end reQuest: {}
steam:
@ -59692,6 +59754,7 @@ Desperados III:
files:
<winLocalAppData>/Desperados III:
tags:
- config
- save
when:
- os: windows
@ -60875,7 +60938,12 @@ Diablo:
- config
Diablo II:
files:
"<base>/Save<br>\nAs of v1.14 patch: C:/Users/(user name)/Saved Games/Diablo II":
<base>/Save:
tags:
- save
when:
- os: windows
<home>/Saved Games/Diablo II:
tags:
- save
when:
@ -62659,16 +62727,21 @@ Distant Space 2:
id: 335830
'Distant Worlds: Universe':
files:
<base>/Startup.ini:
tags:
- config
when:
- os: windows
<home>/Documents/My Games/Distant Worlds Universe:
tags:
- config
when:
- os: windows
<home>/Documents/My Games/Distant Worlds Universe/SavedGames:
tags:
- save
when:
- os: windows
<home>/Documents/My Games/Distant Worlds Universe<br><base>/Startup.ini:
tags:
- config
when:
- os: windows
installDir:
Distant Worlds Universe: {}
steam:
@ -64257,6 +64330,10 @@ Doodle God:
- store: steam
installDir:
Doodle God: {}
registry:
HKEY_CURRENT_USER/SOFTWARE/JoyBits/dg:
tags:
- config
steam:
id: 348360
Doodle God Blitz:
@ -66837,6 +66914,11 @@ Dreamcage Escape:
id: 556890
Dreamfall Chapters:
files:
<home>/.config/RedThreadGames/DreamfallChapters:
tags:
- save
when:
- os: mac
<home>/.config/unity3d/Red Thread Games/Dreamfall Chapters:
tags:
- config
@ -69939,24 +70021,24 @@ Dynasty Feud:
id: 493180
'Dynasty Warriors 4: Hyper':
files:
'<winDocuments>/KOEI/{{LocalizedPath|Dynasty Warriors 4 Hyper}}':
<winDocuments>/KOEI/Dynasty Warriors 4 Hyper:
tags:
- config
when:
- os: windows
'<winDocuments>/KOEI/{{LocalizedPath|Dynasty Warriors 4 Hyper}}/Savedata':
<winDocuments>/KOEI/Dynasty Warriors 4 Hyper/Savedata:
tags:
- save
when:
- os: windows
Dynasty Warriors 5 Special:
files:
'<winDocuments>/KOEI/{{LocalizedPath|Dynasty Warriors 5 Special}}':
<winDocuments>/KOEI/Dynasty Warriors 5 Special:
tags:
- config
when:
- os: windows
'<winDocuments>/KOEI/{{LocalizedPath|Dynasty Warriors 5 Special}}/Savedata':
<winDocuments>/KOEI/Dynasty Warriors 5 Special/Savedata:
tags:
- save
when:
@ -80944,6 +81026,11 @@ Far Cry 3:
- config
when:
- os: windows
<winLocalAppData>/My Games/Far Cry 3/InputUserActionMap.xml:
tags:
- config
when:
- os: windows
installDir:
Far Cry 3: {}
steam:
@ -99162,6 +99249,22 @@ Gunball:
Gunball: {}
steam:
id: 632240
Gunbird:
files:
<winAppData>/gunbird/savedata.bin:
tags:
- save
when:
- os: windows
<winAppData>/gunbird/setting.bin:
tags:
- config
when:
- os: windows
installDir:
GUNBIRD: {}
steam:
id: 1261970
Guncraft:
files:
<winDocuments>/GunCraft:
@ -107768,12 +107871,33 @@ Holy Knight Luviria:
steam:
id: 1156730
Holy Potatoes! A Spy Story?!:
files:
<home>/Library/Application Support/Daedalic Entertainment GmbH/HPSPY/Saves:
tags:
- save
when:
- os: mac
installDir:
Holy Potatoes! A Spy Story!: {}
steam:
id: 830590
Holy Potatoes! A Weapon Shop?!:
files:
<home>/Documents/SavedGames/WS_*.txt:
tags:
- save
when:
- os: mac
<home>/Library/Application Support/unity.DaylightStudios.HPAWS:
tags:
- config
when:
- os: mac
<winDocuments>/SavedGames/WS_*.txt:
tags:
- save
when:
- os: windows
<winDocuments>/SavedGames/uploadData:
tags:
- save
@ -120248,6 +120372,12 @@ Karma. Incarnation 1:
steam:
id: 317940
Karmasutra:
files:
<home>/.renpy/Karmasutra-##########:
tags:
- save
when:
- os: linux
installDir:
Karmasutra: {}
steam:
@ -121989,7 +122119,7 @@ King's Quest (2015):
when:
- os: dos
- os: windows
'For the AGI version the game auto detects video and audio at each startup<br> For the SCI version: <base>/RESOURCE.CFG':
<base>/RESOURCE.CFG:
tags:
- config
when:
@ -128593,6 +128723,11 @@ Life Is Strange:
id: 319630
Life Is Strange 2:
files:
<home>/Library/Application Support/Feral Interactive/Life is Strange 2/SaveData:
tags:
- save
when:
- os: mac
<winLocalAppData>/Dontnod/<storeUserId>/LIS2/Saved/Config/WindowsNoEditor:
tags:
- config
@ -129334,6 +129469,11 @@ Limberjack:
id: 500660
Limbo:
files:
<base>/save_game/savegame.txt:
tags:
- save
when:
- os: windows
<base>/settings.txt:
tags:
- config
@ -137007,6 +137147,12 @@ Mark After Dark:
id: 713980
Mark of the Ninja:
files:
<base>/users:
tags:
- config
- save
when:
- os: windows
<home>/.klei/ninja/users:
tags:
- config
@ -142028,15 +142174,21 @@ Mighty Gunvolt:
id: 394600
Mighty Gunvolt Burst:
files:
<base>/exe/GameData*.bin<br/><base>/exe/SystemData.bin:
<base>/exe/GameData*.bin:
tags:
- save
when:
- os: windows
<base>/exe/SystemData.bin:
tags:
- config
- save
when:
- os: windows
installDir:
Mighty Gunvolt Burst: {}
registry:
HKEY_CURRENT_USER/Software/Inti/MGVB<br/><base>/exe/SystemData.bin:
HKEY_CURRENT_USER/Software/Inti/MGVB:
tags:
- config
steam:
@ -145931,7 +146083,7 @@ Morph Pong:
id: 983320
MorphX:
files:
<base>/data/config.cfg<br><winDocuments>/My Games/The Swarm/user_config.cfg:
<base>/data/config.cfg:
tags:
- save
when:
@ -145941,6 +146093,11 @@ MorphX:
- save
when:
- os: windows
<winDocuments>/My Games/The Swarm/user_config.cfg:
tags:
- save
when:
- os: windows
Morphblade:
installDir:
Morphblade: {}
@ -159473,8 +159630,14 @@ Operation Warcade VR:
steam:
id: 1095480
Operator:
files:
<home>/AppData/LocalLow/Greenfly Studios/Operator:
tags:
- config
when:
- os: windows
registry:
'{{Path|userprofile}}/AppData/LocalLow/Greenfly Studios/Operator<br>HKEY_CURRENT_USER/SOFTWARE/Greenfly Studios/Operator':
HKEY_CURRENT_USER/SOFTWARE/Greenfly Studios/Operator:
tags:
- config
Operator Overload:
@ -182972,12 +183135,22 @@ Retro/Grade:
id: 222660
RetroArch:
files:
<base>/retroarch.cfg<br/><base>/retroarch-core-options.cfg:
<base>/retroarch-core-options.cfg:
tags:
- config
when:
- os: windows
<base>/saves/<br/><base>/states:
<base>/retroarch.cfg:
tags:
- config
when:
- os: windows
<base>/saves:
tags:
- save
when:
- os: windows
<base>/states:
tags:
- save
when:
@ -183595,6 +183768,9 @@ Rez Infinite:
Rez Infinite: {}
steam:
id: 636450
Rez Plz:
steam:
id: 911680
'Rezist: Tower Defense':
installDir:
Rezist Tower Defense: {}
@ -184255,12 +184431,18 @@ RimWorld:
- save
when:
- os: linux
<home>/AppData/LocalLow/Ludeon Studios/RimWorld/<br><home>/AppData/LocalLow/Ludeon Studios/RimWorld by Ludeon Studios/Config:
<home>/AppData/LocalLow/Ludeon Studios/RimWorld:
tags:
- config
- save
when:
- os: windows
<home>/AppData/LocalLow/Ludeon Studios/RimWorld by Ludeon Studios/Config:
tags:
- config
when:
- os: windows
<home>/AppData/LocalLow/Ludeon Studios/RimWorld/<br><home>/AppData/LocalLow/Ludeon Studios/RimWorld by Ludeon Studios/Saves:
<home>/AppData/LocalLow/Ludeon Studios/RimWorld by Ludeon Studios/Saves:
tags:
- save
when:
@ -185344,16 +185526,21 @@ Road Rage Royale:
id: 884610
Road Redemption:
files:
<home>/.config/unity3d/DarkSeas/Road Redemption - Early Access:
tags:
- config
when:
- os: linux
<home>/Documents/Road Redemption:
tags:
- config
when:
- os: linux
<home>/Documents/Road Redemption/Saves:
tags:
- save
when:
- os: linux
<home>/Documents/Road Redemption<br>~/.config/unity3d/DarkSeas/Road Redemption - Early Access:
tags:
- config
when:
- os: linux
<home>/documents/roadredemption:
tags:
- config
@ -190880,12 +191067,22 @@ Sakura Sakura:
id: 658140
Sakura Santa:
files:
"<base>/game/saves/*.save<!--identical--><br/>\n<winAppData>/RenPy/Sakura Santa-1446717813/*.save":
<base>/game/saves/*.save:
tags:
- save
when:
- os: windows
"<base>/game/saves/persistent<!--identical--><br/>\n<winAppData>/RenPy/Sakura Santa-1446717813/persistent":
<base>/game/saves/persistent:
tags:
- config
when:
- os: windows
<winAppData>/RenPy/Sakura Santa-1446717813/*.save:
tags:
- save
when:
- os: windows
<winAppData>/RenPy/Sakura Santa-1446717813/persistent:
tags:
- config
when:
@ -192315,6 +192512,11 @@ Scania Truck Driving Simulator:
- save
when:
- os: windows
<winDocuments>/SCANIA Truck Driving Simulator/profile/<storeUserId>/config.cfg:
tags:
- config
when:
- os: windows
installDir:
Scania Truck Driving Simulator: {}
steam:
@ -203868,6 +204070,37 @@ Someone Cloned The President:
steam:
id: 1136820
Something Ate My Alien:
files:
'%USERPROFILE%/Documents/My Games/Something Ate My Alien/GameData':
tags:
- save
when:
- os: windows
'%USERPROFILE%/Documents/My Games/Something Ate My Alien/GameSaves':
tags:
- save
when:
- os: windows
<home>/.local/share/Something-Ate-My-Alien/GameData:
tags:
- save
when:
- os: linux
<home>/.local/share/Something-Ate-My-Alien/GameSaves:
tags:
- save
when:
- os: linux
<home>/Library/Application Support/Something-Ate-My-Alien/GameData:
tags:
- save
when:
- os: mac
<home>/Library/Application Support/Something-Ate-My-Alien/GameSaves:
tags:
- save
when:
- os: mac
installDir:
Something Ate My Alien: {}
steam:
@ -210467,6 +210700,11 @@ Star Wars Galaxies:
- save
when:
- os: windows
<base>/Game/player.nf1:
tags:
- config
when:
- os: windows
<base>/Game/player.nfx:
tags:
- config
@ -210474,6 +210712,10 @@ Star Wars Galaxies:
- os: windows
installDir:
STAR WARS - Galactic Battlegrounds Saga: {}
registry:
'HKEY_CURRENT_USER/Software/LucasArts Entertainment Company LLC/Star Wars Galactic Battlegrounds: Clone Campaigns/1.0':
tags:
- config
steam:
id: 356500
'Star Wars: Imperial Assault - Legends of the Alliance':
@ -215082,10 +215324,15 @@ Stupid Raft Battle Simulator:
- save
when:
- os: windows
<home>/AppData/LocalLow/Cultic Games/STYGIAN/Settings.dat:
tags:
- config
when:
- os: windows
installDir:
Stygian Reign of the Old Ones: {}
registry:
<home>/AppData/LocalLow/Cultic Games/STYGIAN/Settings.dat<br>HKEY_CURRENT_USER/Software/Cultic Games/STYGIAN:
HKEY_CURRENT_USER/Software/Cultic Games/STYGIAN:
tags:
- config
steam:
@ -219847,12 +220094,17 @@ Sword of the Slayer:
id: 1152050
Sword of the Stars:
files:
<base>/Profiles:
tags:
- config
when:
- os: windows
<base>/SavedGames:
tags:
- save
when:
- os: windows
<base><br><base>/Profiles:
'{{P|undefined}}game':
tags:
- config
when:
@ -220437,7 +220689,7 @@ System Goose Overload:
id: 672000
System Shock:
files:
<base>/CYB.CFG<br/>Some data is stored within the save files.:
<base>/CYB.CFG:
tags:
- config
when:
@ -227780,17 +228032,22 @@ The Curse of Issyos:
- os: windows
The Curse of Monkey Island:
files:
<base>/Saves:
tags:
- save
when:
- store: gog
<base>/Saves/monkey3.c*:
tags:
- save
when:
- os: windows
<base>/Saves/monkey3.c01:
tags:
- config
when:
- os: windows
'<base>/Saves/monkey3.c{{code|*}}':
tags:
- save
when:
- os: windows
'<base>/Saves<br><base>/Saves/monkey3.s{{code|*}}':
<base>/Saves/monkey3.s*:
tags:
- save
when:
@ -234745,7 +235002,7 @@ The Outer Worlds:
- save
when:
- os: windows
"<home>/Saved Games/The Outer Worlds Windows 10/<storeUserId>/<br/>\n<winLocalAppData>/Packages/PrivateDivision.TheOuterWorldsWindows10_hv3d7yfbgr2rp/SystemAppData/wgs/<storeUserId>":
<home>/Saved Games/The Outer Worlds Windows 10/<storeUserId>:
tags:
- save
when:
@ -234762,6 +235019,12 @@ The Outer Worlds:
when:
- os: windows
store: microsoft
<winLocalAppData>/Packages/PrivateDivision.TheOuterWorldsWindows10_hv3d7yfbgr2rp/SystemAppData/wgs/<storeUserId>:
tags:
- save
when:
- os: windows
store: microsoft
steam:
id: 578650
'The Outlaw, The Drunk, & The Whore':
@ -238777,6 +239040,11 @@ The Walking Dead Onslaught:
- save
when:
- os: windows
<winDocuments>/Telltale Games/The Walking Dead A New Frontier:
tags:
- save
when:
- os: windows
installDir:
The Walking Dead - A New Frontier (Season 3): {}
steam:
@ -243531,11 +243799,26 @@ Tom Clancy's Splinter Cell:
id: 33229
'Tom Clancy''s Splinter Cell: Double Agent':
files:
<base>/SCDA-Offline/System/SplinterCell4.ini:
tags:
- config
when:
- os: windows
<base>/SCDA-Online/System/Default.ini:
tags:
- config
when:
- os: windows
<winProgramData>/Application Data/Ubisoft/SplinterCell4/<storeUserId>:
tags:
- save
when:
- os: windows
<winProgramData>/Application Data/Ubisoft/SplinterCell4/save/Offline/<storeUserId>:
tags:
- save
when:
- os: windows
installDir:
Splinter Cell - Double Agent: {}
steam:
@ -244747,7 +245030,12 @@ Total Tank Simulator:
id: 364360
'Total War: Warhammer II':
files:
<winAppData>/The Creative Assembly/Warhammer2/save_games/<br><winAppData>/The Creative Assembly/Warhammer2/save_games_multiplayer:
<winAppData>/The Creative Assembly/Warhammer2/save_games:
tags:
- save
when:
- os: windows
<winAppData>/The Creative Assembly/Warhammer2/save_games_multiplayer:
tags:
- save
when:
@ -254686,6 +254974,10 @@ Vampire of the Sands:
- os: windows
installDir:
Vampire The Masquerade - Bloodlines: {}
registry:
HKEY_CURRENT_USER/Software/Troika/Vampire:
tags:
- config
steam:
id: 2600
'Vampire: The Masquerade - Bloodlines 2':
@ -257612,6 +257904,11 @@ Volvo - The Game:
- save
when:
- os: windows
<winDocuments>/SimBin/Volvo - The Game/UserData/ControlSet:
tags:
- config
when:
- os: windows
Volvox:
installDir:
Volvox: {}
@ -264257,12 +264554,22 @@ Without Within 2:
id: 398980
Without Within 3:
files:
"<base>/game/saves/*.save<!--identical--><br/>\n<winAppData>/RenPy/wowi3-1409958485/*.save":
<base>/game/saves/*.save:
tags:
- save
when:
- os: windows
"<base>/game/saves/persistent<!--identical--><br/>\n<winAppData>/RenPy/wowi3-1409958485/persistent":
<base>/game/saves/persistent:
tags:
- config
when:
- os: windows
<winAppData>/RenPy/wowi3-1409958485/*.save:
tags:
- save
when:
- os: windows
<winAppData>/RenPy/wowi3-1409958485/persistent:
tags:
- config
when:

View file

@ -5340,9 +5340,9 @@
* [Championship Manager: Season 99/00](https://www.pcgamingwiki.com/wiki/?curid=154738)
* [Championship Surfer](https://www.pcgamingwiki.com/wiki/?curid=75742)
* [Change](https://www.pcgamingwiki.com/wiki/?curid=78364)
* [Change : A Little Story](https://www.pcgamingwiki.com/wiki/?curid=124249)
* [Change Ranger](https://www.pcgamingwiki.com/wiki/?curid=156523)
* [Change: A Homeless Survival Experience](https://www.pcgamingwiki.com/wiki/?curid=112288)
* [Change: A Little Story](https://www.pcgamingwiki.com/wiki/?curid=124249)
* [Changeling](https://www.pcgamingwiki.com/wiki/?curid=125980)
* [Changeover: Decisions](https://www.pcgamingwiki.com/wiki/?curid=92291)
* [Changes](https://www.pcgamingwiki.com/wiki/?curid=138662)
@ -7729,7 +7729,6 @@
* [Death Collector](https://www.pcgamingwiki.com/wiki/?curid=123419)
* [Death Crown](https://www.pcgamingwiki.com/wiki/?curid=89704)
* [Death Dojo](https://www.pcgamingwiki.com/wiki/?curid=53041)
* [Death end re;Quest](https://www.pcgamingwiki.com/wiki/?curid=130527)
* [Death Field: The Battle Royale of Disaster](https://www.pcgamingwiki.com/wiki/?curid=91880)
* [Death from Unknown: Survival](https://www.pcgamingwiki.com/wiki/?curid=90324)
* [Death Fungeon](https://www.pcgamingwiki.com/wiki/?curid=103979)
@ -14424,7 +14423,6 @@
* [Holy Avenger](https://www.pcgamingwiki.com/wiki/?curid=54503)
* [HOLY COW! Milking Simulator](https://www.pcgamingwiki.com/wiki/?curid=137003)
* [Holy Knight Luviria](https://www.pcgamingwiki.com/wiki/?curid=150560)
* [Holy Potatoes! A Spy Story?!](https://www.pcgamingwiki.com/wiki/?curid=92349)
* [Holy Potatoes! What the Hell?!](https://www.pcgamingwiki.com/wiki/?curid=69038)
* [Holy Road](https://www.pcgamingwiki.com/wiki/?curid=128539)
* [Holy Sheet](https://www.pcgamingwiki.com/wiki/?curid=121249)
@ -16201,7 +16199,6 @@
* [Karma Miwa](https://www.pcgamingwiki.com/wiki/?curid=35978)
* [Karma. Incarnation 1](https://www.pcgamingwiki.com/wiki/?curid=39538)
* [Karmaflow: The Rock Opera Videogame - Act I & Act II](https://www.pcgamingwiki.com/wiki/?curid=47994)
* [Karmasutra](https://www.pcgamingwiki.com/wiki/?curid=66277)
* [KARMORA](https://www.pcgamingwiki.com/wiki/?curid=157096)
* [Karnage Chronicles](https://www.pcgamingwiki.com/wiki/?curid=60313)
* [Karos](https://www.pcgamingwiki.com/wiki/?curid=49059)
@ -20734,6 +20731,7 @@
* [NITE Team 4](https://www.pcgamingwiki.com/wiki/?curid=55616)
* [NitorInc.: Touhou Microgames!](https://www.pcgamingwiki.com/wiki/?curid=79446)
* [Nitro Family](https://www.pcgamingwiki.com/wiki/?curid=161714)
* [Nitro Stunt Racing](https://www.pcgamingwiki.com/wiki/?curid=161868)
* [Nitroneers](https://www.pcgamingwiki.com/wiki/?curid=142127)
* [NitroRage](https://www.pcgamingwiki.com/wiki/?curid=64329)
* [No Body Home](https://www.pcgamingwiki.com/wiki/?curid=122784)
@ -24605,6 +24603,7 @@
* [Rexodus: A VR Story Experience](https://www.pcgamingwiki.com/wiki/?curid=42635)
* [ReYal](https://www.pcgamingwiki.com/wiki/?curid=136694)
* [Reynard](https://www.pcgamingwiki.com/wiki/?curid=122060)
* [Rez Plz](https://www.pcgamingwiki.com/wiki/?curid=161853)
* [Rezist: Tower Defense](https://www.pcgamingwiki.com/wiki/?curid=149452)
* [REZPLZ](https://www.pcgamingwiki.com/wiki/?curid=128643)
* [Rezrog](https://www.pcgamingwiki.com/wiki/?curid=57016)
@ -27302,7 +27301,6 @@
* [Someday](https://www.pcgamingwiki.com/wiki/?curid=141837)
* [Someday You'll Return](https://www.pcgamingwiki.com/wiki/?curid=95170)
* [Someone Cloned The President](https://www.pcgamingwiki.com/wiki/?curid=143886)
* [Something Ate My Alien](https://www.pcgamingwiki.com/wiki/?curid=132846)
* [Something for Someone Else](https://www.pcgamingwiki.com/wiki/?curid=144781)
* [Something is wrong/有毛病](https://www.pcgamingwiki.com/wiki/?curid=127690)
* [Something To Do With Love](https://www.pcgamingwiki.com/wiki/?curid=67663)
@ -32808,6 +32806,7 @@
* [Truck Life](https://www.pcgamingwiki.com/wiki/?curid=150531)
* [Truck Mechanic Simulator 2015](https://www.pcgamingwiki.com/wiki/?curid=48040)
* [Truck Racer](https://www.pcgamingwiki.com/wiki/?curid=40570)
* [Truck Racing by Renault Trucks](https://www.pcgamingwiki.com/wiki/?curid=161849)
* [Truck the System](https://www.pcgamingwiki.com/wiki/?curid=139294)
* [Trucker](https://www.pcgamingwiki.com/wiki/?curid=52221)
* [Trucker 2](https://www.pcgamingwiki.com/wiki/?curid=46883)

View file

@ -14881,6 +14881,8 @@
installDir: The Casebook of Arkady Smith
'1261880':
installDir: Education
'1261970':
installDir: GUNBIRD
'1262240':
installDir: PVZ Battle for Neighborville
'1262540':

View file

@ -1653,7 +1653,6 @@ A Rite from the Stars:
pageId: 103285
revId: 841573
A Robot Named Fight!:
irregularPath: true
pageId: 66273
revId: 934101
A Roll-Back Story:
@ -4452,7 +4451,7 @@ Alaloth - Champions of The Four Kingdoms:
revId: 973609
Alan Wake:
pageId: 536
revId: 969906
revId: 983052
Alan Wake's American Nightmare:
pageId: 7197
revId: 971483
@ -5799,7 +5798,7 @@ An Octonaut Odyssey:
revId: 842808
An Untitled Story:
pageId: 137173
revId: 794241
revId: 983269
tooBroad: true
Ana The Game:
pageId: 90228
@ -6376,7 +6375,7 @@ Anno 1404:
revId: 979278
'Anno 1404: History Edition':
pageId: 161410
revId: 982290
revId: 983212
Anno 1503:
pageId: 27506
revId: 979275
@ -11211,7 +11210,7 @@ BattleStorm:
revId: 844422
BattleTech:
pageId: 62370
revId: 973863
revId: 983246
BattleTime:
pageId: 40327
revId: 844424
@ -11277,7 +11276,7 @@ Battlefleet Engineer:
revId: 979735
'Battlefleet Gothic: Armada 2':
pageId: 95911
revId: 979906
revId: 983248
Battlegrounds of Eldhelm:
pageId: 49474
revId: 844443
@ -18268,7 +18267,7 @@ Carrier Trail:
revId: 846619
Carrion:
pageId: 139686
revId: 982156
revId: 983245
Carrotting Brain:
pageId: 45922
revId: 846621
@ -19083,7 +19082,7 @@ Celaria:
revId: 927635
Celeste:
pageId: 61156
revId: 971419
revId: 983257
Celestial:
pageId: 144911
revId: 840281
@ -19372,16 +19371,18 @@ Championship Surfer:
revId: 779156
Change:
pageId: 78364
revId: 846915
'Change : A Little Story':
pageId: 124249
revId: 846916
revId: 983181
Change Ranger:
pageId: 156523
revId: 931693
'Change: A Homeless Survival Experience':
pageId: 112288
revId: 958275
revId: 983184
'Change: A Little Story':
pageId: 124249
renamedFrom:
- 'Change : A Little Story'
revId: 983182
Changed:
pageId: 88866
revId: 846917
@ -19679,7 +19680,7 @@ Cherry Tree High Girls' Fight:
revId: 847005
Cherry Tree High I! My! Girls!:
pageId: 23223
revId: 883731
revId: 983313
Cherry in the Sky:
pageId: 98462
revId: 847007
@ -21079,7 +21080,7 @@ Claude Monet - The Water Lily obsession:
revId: 847439
Claw:
pageId: 4449
revId: 966783
revId: 983176
unsupportedPath: true
Claw Breaker:
pageId: 100470
@ -21548,7 +21549,7 @@ ClusterPuck 99:
revId: 847587
Clustertruck:
pageId: 37020
revId: 943502
revId: 983290
Clutch:
pageId: 41263
revId: 968460
@ -21831,6 +21832,7 @@ Coin Commander:
pageId: 156234
revId: 931401
Coin Crypt:
irregularPath: true
pageId: 26839
revId: 982667
Coin Pickers:
@ -22324,7 +22326,7 @@ Combat Tested:
revId: 847803
'Combat Wings: Battle of Britain':
pageId: 41221
revId: 847804
revId: 983285
Combate Monero:
pageId: 134439
revId: 847805
@ -22553,7 +22555,7 @@ Companion:
revId: 847884
Company of Heroes:
pageId: 468
revId: 975784
revId: 983292
Company of Heroes 2:
pageId: 6265
revId: 926426
@ -23817,7 +23819,7 @@ Crayon Chronicles:
revId: 848258
Crayon Physics Deluxe:
pageId: 4725
revId: 934470
revId: 983121
Crazy Alchemist:
pageId: 109762
revId: 848260
@ -23910,25 +23912,25 @@ Crazy Justice:
revId: 848286
Crazy Machines:
pageId: 41328
revId: 967017
revId: 983107
Crazy Machines 1.5:
pageId: 41327
revId: 932964
revId: 983108
Crazy Machines 2:
pageId: 41356
revId: 932965
revId: 983109
Crazy Machines 3:
pageId: 36944
revId: 955349
revId: 983112
Crazy Machines Elements:
pageId: 40835
revId: 974227
revId: 983110
Crazy Machines VR:
pageId: 121351
revId: 848292
'Crazy Machines: Golden Gears':
pageId: 50526
revId: 899050
revId: 983111
Crazy Max VR:
pageId: 55201
revId: 886879
@ -24043,7 +24045,7 @@ CreaVures:
revId: 982298
Creaks:
pageId: 122870
revId: 982299
revId: 983234
CreateTech:
pageId: 154215
revId: 916986
@ -24349,7 +24351,7 @@ Critical Gravity:
revId: 848413
Critical Mass:
pageId: 5601
revId: 912973
revId: 983278
Critical Mess:
pageId: 80366
revId: 848416
@ -24541,7 +24543,7 @@ Crowd Smashers:
revId: 848465
Crowman & Wolfboy:
pageId: 44982
revId: 911877
revId: 983117
'Crown Champion: Legends of the Arena':
pageId: 51459
revId: 848467
@ -25058,10 +25060,10 @@ Cubelz:
revId: 848611
Cubemen:
pageId: 5187
revId: 933340
revId: 983132
Cubemen 2:
pageId: 6273
revId: 933341
revId: 983165
Cubeology:
pageId: 109144
revId: 848614
@ -25920,7 +25922,7 @@ DINO VR:
revId: 848838
DIRT 5:
pageId: 160129
revId: 980447
revId: 983318
DISONANTE:
pageId: 136393
revId: 848839
@ -26373,7 +26375,7 @@ Dangerous Ground:
revId: 848962
Dangerous High School Girls in Trouble!:
pageId: 41315
revId: 933339
revId: 983226
Dangerous Lands - Magic and RPG:
pageId: 108316
revId: 848964
@ -27080,7 +27082,7 @@ Darkour:
revId: 902212
Darkout:
pageId: 40499
revId: 971922
revId: 983126
Darkroom:
pageId: 76103
revId: 849177
@ -28169,7 +28171,7 @@ Death Stair:
revId: 849517
Death Stranding:
pageId: 151674
revId: 983020
revId: 983345
Death Sword:
pageId: 76506
revId: 964739
@ -28214,7 +28216,7 @@ Death by Game Show:
revId: 849527
Death end re;Quest:
pageId: 130527
revId: 982139
revId: 983339
'Death from Unknown: Survival':
pageId: 90324
revId: 849529
@ -30007,7 +30009,7 @@ Diablo:
revId: 979272
Diablo II:
pageId: 595
revId: 976954
revId: 983291
Diablo III:
pageId: 2185
revId: 970226
@ -30897,7 +30899,7 @@ Distant Space 2:
revId: 850517
'Distant Worlds: Universe':
pageId: 50198
revId: 972001
revId: 983293
Distorted Illusions:
pageId: 113446
revId: 850520
@ -31666,7 +31668,7 @@ Doodle Farm:
revId: 850746
Doodle God:
pageId: 30792
revId: 919635
revId: 983085
Doodle God Blitz:
pageId: 63199
revId: 850748
@ -31913,7 +31915,7 @@ Double Death:
revId: 850813
Double Dragon IV:
pageId: 57087
revId: 983028
revId: 983080
Double Dragon Neon:
pageId: 14824
revId: 983025
@ -32617,7 +32619,7 @@ Draw With Unknown:
revId: 851020
Draw Your Game:
pageId: 66454
revId: 971897
revId: 983106
'Draw a Stickman: EPIC':
pageId: 17550
revId: 933990
@ -33693,7 +33695,7 @@ Dungeon Explorer:
revId: 900249
Dungeon Fighter Online:
pageId: 38578
revId: 851320
revId: 983105
Dungeon Gambit Boy:
pageId: 88047
revId: 851321
@ -34221,11 +34223,13 @@ Dynasty Feud:
pageId: 57018
revId: 851479
'Dynasty Warriors 4: Hyper':
irregularPath: true
pageId: 16672
revId: 983045
revId: 983225
Dynasty Warriors 5 Special:
irregularPath: true
pageId: 111468
revId: 981759
revId: 983077
Dynasty Warriors 6:
pageId: 5157
revId: 976555
@ -35588,7 +35592,7 @@ Elium - Prison Escape:
revId: 851856
Eliza:
pageId: 142935
revId: 960638
revId: 983266
Elizabeth Find M.D. - Diagnosis Mystery - Season 2:
pageId: 40962
revId: 851857
@ -36149,7 +36153,7 @@ Endless Labyrinth:
revId: 852028
Endless Legend:
pageId: 16971
revId: 967465
revId: 983253
Endless Maneuver:
pageId: 123560
revId: 852031
@ -39434,7 +39438,7 @@ Far Cry 2:
revId: 982380
Far Cry 3:
pageId: 3763
revId: 982657
revId: 983231
Far Cry 3 - Blood Dragon:
pageId: 6362
revId: 982059
@ -40234,7 +40238,7 @@ Field of Glory II:
revId: 966376
Fieldrunners:
pageId: 5254
revId: 982659
revId: 983075
Fieldrunners 2:
pageId: 13428
revId: 934001
@ -44426,7 +44430,7 @@ Game Studio Simulator我要做游戏:
revId: 854524
Game Tengoku CruisinMix:
pageId: 70703
revId: 982856
revId: 983220
Game Tube:
pageId: 78044
revId: 854526
@ -48242,6 +48246,9 @@ GunWorld:
Gunball:
pageId: 63342
revId: 855635
Gunbird:
pageId: 161870
revId: 983335
Guncraft:
pageId: 9348
revId: 855636
@ -48280,7 +48287,7 @@ Gunlok:
tooBroad: true
Gunman Chronicles:
pageId: 6558
revId: 967834
revId: 983053
Gunman Clive:
pageId: 18157
revId: 855644
@ -49006,7 +49013,7 @@ Halo 2:
revId: 981416
Halo 3:
pageId: 129522
revId: 982900
revId: 983213
'Halo 3: ODST':
pageId: 129524
revId: 981920
@ -49051,7 +49058,7 @@ Halo Wars 2:
revId: 960732
'Halo: The Master Chief Collection':
pageId: 129467
revId: 983017
revId: 983242
Halunazi:
pageId: 74403
revId: 855847
@ -52105,7 +52112,7 @@ Hitman GO:
revId: 974591
'Hitman: Codename 47':
pageId: 3615
revId: 981094
revId: 983312
'Hitman: Contracts':
pageId: 491
revId: 974592
@ -52352,10 +52359,10 @@ Holy Knight Luviria:
revId: 925694
Holy Potatoes! A Spy Story?!:
pageId: 92349
revId: 926185
revId: 983239
Holy Potatoes! A Weapon Shop?!:
pageId: 31965
revId: 926183
revId: 983237
Holy Potatoes! We're in Space?!:
pageId: 39364
revId: 926182
@ -53361,7 +53368,7 @@ Humanity Must Perish:
revId: 857092
Humankind:
pageId: 143525
revId: 978710
revId: 983255
Humans 101:
pageId: 144168
revId: 839504
@ -53625,7 +53632,7 @@ Hypatia:
revId: 886472
'Hype: The Time Quest':
pageId: 1680
revId: 807751
revId: 983074
Hyper Arena VR:
pageId: 81735
revId: 886473
@ -58662,7 +58669,7 @@ Karma. Incarnation 1:
revId: 858551
Karmasutra:
pageId: 66277
revId: 858552
revId: 983215
Karnage Chronicles:
pageId: 60313
revId: 858553
@ -59195,7 +59202,7 @@ Killing Floor - Toy Master:
revId: 934193
Killing Floor 2:
pageId: 17184
revId: 982457
revId: 983238
'Killing Floor: Incursion':
pageId: 68296
revId: 934195
@ -59495,7 +59502,7 @@ King's Quest (2015):
revId: 978249
'King''s Quest: Quest for the Crown':
pageId: 7977
revId: 972006
revId: 983294
tooBroad: true
'King''s Table: The Legend of Ragnarok':
pageId: 17074
@ -62663,7 +62670,7 @@ Life Is Strange:
revId: 974600
Life Is Strange 2:
pageId: 69523
revId: 977311
revId: 983243
'Life Is Strange: Before the Storm':
pageId: 63562
revId: 979821
@ -68766,7 +68773,7 @@ MetrixVR:
revId: 900651
Metro 2033:
pageId: 720
revId: 968549
revId: 983054
Metro 2033 Redux:
pageId: 17417
revId: 970072
@ -68960,7 +68967,7 @@ Microsoft Flight:
revId: 951244
Microsoft Flight Simulator (2020):
pageId: 138499
revId: 982533
revId: 983274
'Microsoft Flight Simulator 2004: A Century of Flight':
pageId: 2927
revId: 925881
@ -69221,7 +69228,7 @@ Mighty Gunvolt:
revId: 977581
Mighty Gunvolt Burst:
pageId: 140452
revId: 971475
revId: 983336
Mighty Jill Off:
pageId: 60981
revId: 793482
@ -71132,7 +71139,7 @@ Morph Pong:
revId: 862087
MorphX:
pageId: 147974
revId: 923421
revId: 983295
Morphblade:
pageId: 58636
revId: 888425
@ -74126,7 +74133,7 @@ Neon:
revId: 896354
Neon Abyss:
pageId: 132700
revId: 982832
revId: 983188
Neon Aileron:
pageId: 122564
revId: 862918
@ -75282,6 +75289,9 @@ Nirvana Pilot Yume:
Nitro Family:
pageId: 161714
revId: 981323
Nitro Stunt Racing:
pageId: 161868
revId: 983314
NitroRage:
pageId: 64329
revId: 896537
@ -77769,7 +77779,7 @@ Operation Warcade VR:
revId: 840803
Operator:
pageId: 151830
revId: 905564
revId: 983296
Operator 41:
pageId: 147807
revId: 929480
@ -79588,7 +79598,7 @@ PaperDolls:
revId: 897226
Paperball:
pageId: 156803
revId: 981438
revId: 983310
Paperbark:
pageId: 122308
revId: 936484
@ -87875,7 +87885,7 @@ Rebel Galaxy Outlaw:
revId: 980729
'Rebel Inc: Escalation':
pageId: 148907
revId: 974638
revId: 983199
Rebel Moon Rising:
pageId: 131317
revId: 928371
@ -89189,7 +89199,7 @@ Retro/Grade:
revId: 910189
RetroArch:
pageId: 141560
revId: 977529
revId: 983344
RetroFighter VR:
pageId: 61948
revId: 898880
@ -89463,6 +89473,9 @@ Reynard:
Rez Infinite:
pageId: 67775
revId: 981552
Rez Plz:
pageId: 161853
revId: 983223
'Rezist: Tower Defense':
pageId: 149452
revId: 901148
@ -89794,7 +89807,7 @@ Rikki & Vikki:
revId: 898974
RimWorld:
pageId: 13368
revId: 972275
revId: 983297
Rime:
pageId: 56039
revId: 982593
@ -90254,7 +90267,7 @@ Road Rash:
unsupportedPath: true
Road Redemption:
pageId: 20759
revId: 964496
revId: 983299
Road Runner:
pageId: 90813
revId: 981165
@ -90730,7 +90743,7 @@ RockaBowling VR:
revId: 899367
Rocket Arena:
pageId: 136373
revId: 982144
revId: 983187
Rocket Armor:
pageId: 77226
revId: 899369
@ -93036,7 +93049,7 @@ Sakura Sakura:
revId: 868235
Sakura Santa:
pageId: 33448
revId: 932799
revId: 983346
Sakura Shrine Girls:
pageId: 36718
revId: 868237
@ -94723,7 +94736,7 @@ Senran Kagura Estival Versus:
revId: 980673
Senran Kagura Peach Ball:
pageId: 142627
revId: 964493
revId: 983136
Senran Kagura Peach Beach Splash:
pageId: 87335
revId: 980648
@ -98560,7 +98573,7 @@ Sniper Elite:
revId: 937566
Sniper Elite 4:
pageId: 31703
revId: 974186
revId: 983057
Sniper Elite 5:
pageId: 133544
revId: 815639
@ -99266,7 +99279,7 @@ Someone Cloned The President:
revId: 839211
Something Ate My Alien:
pageId: 132846
revId: 974741
revId: 983098
Something To Do With Love:
pageId: 67663
revId: 870044
@ -103123,7 +103136,7 @@ Steambirds Alliance:
revId: 871203
Steamburg:
pageId: 74528
revId: 982648
revId: 983076
Steamcraft:
pageId: 126114
revId: 871205
@ -104355,7 +104368,7 @@ Stupid Raft Battle Simulator:
revId: 871564
'Stygian: Reign of the Old Ones':
pageId: 80713
revId: 971027
revId: 983302
'Styx: Master of Shadows':
pageId: 20406
revId: 960991
@ -106610,7 +106623,7 @@ Sword of the Slayer:
revId: 901490
Sword of the Stars:
pageId: 204
revId: 949809
revId: 983303
'Sword of the Stars II: Lords of Winter':
pageId: 10084
revId: 928505
@ -106850,7 +106863,7 @@ System Goose Overload:
revId: 872296
System Shock:
pageId: 2984
revId: 969850
revId: 983347
System Shock (2020):
pageId: 35013
revId: 982019
@ -108858,10 +108871,10 @@ Test Drive 6:
revId: 965191
Test Drive Unlimited:
pageId: 10891
revId: 981990
revId: 983192
Test Drive Unlimited 2:
pageId: 10902
revId: 981989
revId: 983241
tooBroad: true
Test Drive Unlimited Solar Crown:
pageId: 161699
@ -110277,8 +110290,9 @@ The Curse of Issyos:
pageId: 131775
revId: 783103
The Curse of Monkey Island:
irregularPath: true
pageId: 17
revId: 961019
revId: 983304
The Curse of Nordic Cove:
pageId: 48112
revId: 873279
@ -111855,7 +111869,7 @@ The Hurricane of the Varstray -Collateral hazard-:
revId: 981594
The I of the Dragon:
pageId: 16662
revId: 969508
revId: 983183
The IL Tempo Game:
pageId: 73967
revId: 873722
@ -112583,19 +112597,19 @@ The Legend of Three Kingdoms 2:
revId: 980014
The Legend of Three Kingdoms 3:
pageId: 161523
revId: 980690
revId: 983211
The Legend of Three Kingdoms 4:
pageId: 161547
revId: 980114
revId: 983202
The Legend of Three Kingdoms 5:
pageId: 161555
revId: 980117
revId: 983204
The Legend of Three Kingdoms 6:
pageId: 161558
revId: 980118
revId: 983206
The Legend of Three Kingdoms 7:
pageId: 161559
revId: 980119
revId: 983209
The Legend of Tobimaru:
pageId: 145363
revId: 840735
@ -113526,7 +113540,7 @@ The Otterman Empire:
revId: 874179
The Outer Worlds:
pageId: 123318
revId: 981567
revId: 983349
The Outforce:
pageId: 14801
revId: 779162
@ -114888,7 +114902,7 @@ The Survivors:
revId: 874549
The Swapper:
pageId: 7798
revId: 962649
revId: 983062
The Swindle:
pageId: 26795
revId: 874551
@ -118035,7 +118049,7 @@ Total Tank Simulator:
revId: 961092
'Total War: Warhammer II':
pageId: 60343
revId: 966141
revId: 983305
Totally Accurate Battle Simulator:
pageId: 39747
revId: 923451
@ -119740,6 +119754,9 @@ Truck Mechanic Simulator 2015:
Truck Racer:
pageId: 40570
revId: 981281
Truck Racing by Renault Trucks:
pageId: 161849
revId: 983260
Truck the System:
pageId: 139294
revId: 875921
@ -121056,7 +121073,7 @@ Unborne:
revId: 876267
'Unbound: Worlds Apart':
pageId: 89726
revId: 977572
revId: 983275
Unbox:
pageId: 36930
revId: 876270
@ -124258,7 +124275,7 @@ Volume Up:
revId: 839831
Volvo - The Game:
pageId: 31793
revId: 969186
revId: 983341
Volvox:
pageId: 45383
revId: 877203
@ -127599,7 +127616,7 @@ Without Within 2:
revId: 971263
Without Within 3:
pageId: 92269
revId: 932787
revId: 983350
'Withstand: Apotheosis':
pageId: 47017
revId: 878149
@ -128427,7 +128444,7 @@ Worms Revolution:
revId: 963016
Worms Rumble:
pageId: 161530
revId: 980039
revId: 983272
Worms Ultimate Mayhem:
pageId: 12022
revId: 980668

View file

@ -18,13 +18,27 @@ interface Cli {
irregularPath?: boolean,
tooBroad?: boolean,
tooBroadUntagged?: boolean,
game?: string,
recent?: number,
limit?: number,
}
async function main() {
const args = minimist<Cli>(process.argv.slice(2));
const args = minimist<Cli>(process.argv.slice(2), {
boolean: [
"cache",
"manifest",
"stats",
"all",
"existing",
"missing",
"unchecked",
"unsupportedOs",
"unsupportedPath",
"irregularPath",
"tooBroad",
"tooBroadUntagged",
]
});
const wikiCache = new WikiGameCacheFile();
wikiCache.load();
@ -63,7 +77,7 @@ async function main() {
tooBroad: args.tooBroad ?? false,
tooBroadUntagged: args.tooBroadUntagged ?? false,
irregularPath: args.irregularPath ?? false,
game: args.game,
games: args._,
recent: args.recent,
},
args.limit ?? 25,

View file

@ -54,7 +54,7 @@ export class ManifestFile extends YamlFile<Manifest> {
irregularPath: boolean,
tooBroad: boolean,
tooBroadUntagged: boolean,
game: string | undefined,
games: Array<string> | undefined,
recent: number | undefined,
},
limit: number | undefined,
@ -84,7 +84,7 @@ export class ManifestFile extends YamlFile<Manifest> {
if (filter.irregularPath && (wikiCache[title].irregularPath || Object.keys(this.data[title]?.files ?? []).some(x => x.includes("{{") || x.includes("</") || x.includes("<br>") || x.includes("<br/>")))) {
check = true;
}
if (filter.game === title) {
if (filter.games && filter.games.includes(title)) {
check = true;
}
if (filter.tooBroad && info.tooBroad) {

View file

@ -185,17 +185,15 @@ function makePathArgRegex(arg: string): RegExp {
return new RegExp(escaped, "gi");
}
// Examples:
// [ [["p"], "linuxhome"], ".config" ]
// [ [["cn"], "Is this right?", "date=January 1, 2000"] ]
type PathSegment = string | [[string], ...Array<string>];
interface PathCell {
[index: number]: string | PathCell;
type: "comment" | "transclusion" | "page_title" | "plain";
parameters: { [key: string]: any }; // keys are numbers as strings
toString(): string;
}
function stringifyPathSegment(segment: PathSegment): [string, boolean] {
if (typeof segment === "string") {
return [segment, true];
}
const templateName = segment[0][0];
function stringifyTransclusionSegment(segment: PathCell): [string, boolean] {
const templateName = segment[0][0] as string;
switch (templateName.toLowerCase()) {
case "p":
case "path":
@ -204,27 +202,43 @@ function stringifyPathSegment(segment: PathSegment): [string, boolean] {
case "file":
return ["*", false];
case "localizedpath":
return [segment[1], false];
return [segment[1] as string, false];
default:
return ["", false];
}
}
function getRawPathFromCell(cell: string | Array<PathSegment> | undefined): [string | undefined, boolean] {
function getRawPathFromCell(cell: string | PathCell): [string, boolean] {
let composite = "";
let regular = true;
if (cell === undefined) {
return [undefined, regular];
} else if (typeof cell === "string") {
return [cell.replace(/<ref>.*?<\ref>/, ""), regular];
} else {
return [cell.map(x => {
const [stringified, segmentRegular] = stringifyPathSegment(x);
if (!segmentRegular) {
regular = false;
if (typeof cell === "string") {
composite += cell;
} else if (cell.type === "transclusion") {
const [stringified, segmentRegular] = stringifyTransclusionSegment(cell);
if (!segmentRegular) {
regular = false;
}
composite += stringified;
} else if (cell.type === "plain") {
for (let i = 0; i < 50; i++) {
const segment = cell[i];
if (segment === undefined) {
break;
}
return stringified;
}).join("").replace(/<ref>.*?<\ref>/, ""), regular];
if (typeof segment === "string") {
composite += segment;
} else if (segment.type === "transclusion") {
const [stringified, segmentRegular] = stringifyTransclusionSegment(segment);
if (!segmentRegular) {
regular = false;
}
composite += stringified;
}
}
}
return [composite.replace(/<ref>.*?<\ref>/, "").trim(), regular];
}
/**
@ -463,7 +477,7 @@ export async function getGame(pageTitle: string, cache: WikiGameCache): Promise<
irregularPath += 1;
}
if (rawPath === undefined || rawPath.length === 0) {
if (rawPath.length === 0) {
continue;
}