diff --git a/src/lib/parsers/non-srm-shortcuts.parser.ts b/src/lib/parsers/non-srm-shortcuts.parser.ts index 1f91d90376..e8c536fea2 100644 --- a/src/lib/parsers/non-srm-shortcuts.parser.ts +++ b/src/lib/parsers/non-srm-shortcuts.parser.ts @@ -5,6 +5,8 @@ import * as steam from '../helpers/steam' const shortcutsParser = require('steam-shortcut-editor'); import * as fs from 'fs'; +import { VDF_Manager } from '../vdf-manager'; +import { VDF_AddedItemsFile } from '../vdf-added-items-file'; export class NonSRMShortcutsParser implements GenericParser { @@ -29,8 +31,10 @@ export class NonSRMShortcutsParser implements GenericParser { for(let userdir of directories) { const shortcutsPath = path.join(userdir,'config','shortcuts.vdf') const addedItemsPath = path.join(userdir,'config','addedItemsV2.json') - const addedItems = fs.existsSync(addedItemsPath) ? JSON.parse(fs.readFileSync(addedItemsPath,'utf8')) : {}; - const addedAppIds = Object.keys(addedItems.addedApps).filter(appId=>!addedItems.addedApps[appId].artworkOnly) + const vdfAddedItemsFile = new VDF_AddedItemsFile(addedItemsPath); + await vdfAddedItemsFile.read(); + const { addedApps } = vdfAddedItemsFile.data; + const addedAppIds = Object.keys(addedApps).filter(appId=>!addedApps[appId].artworkOnly) if(fs.existsSync(shortcutsPath)) { const {shortcuts} = shortcutsParser.parseBuffer(fs.readFileSync(shortcutsPath)); const mappedApps = shortcuts.filter((shortcut: any) => { diff --git a/src/renderer/services/parsers.service.ts b/src/renderer/services/parsers.service.ts index b9252a757c..cef886303f 100644 --- a/src/renderer/services/parsers.service.ts +++ b/src/renderer/services/parsers.service.ts @@ -128,7 +128,6 @@ export class ParsersService { } getKnownSteamDirectories() { - let preParser = new VariableParser({ left: '${', right: '}' }); let steamdirs = this.getUserConfigurationsArray().map(config => this.parseSteamDir(config.saved.steamDirectory)).filter(path => path!==""); if(this.appSettings.environmentVariables.steamDirectory) { steamdirs.push(this.appSettings.environmentVariables.steamDirectory)