Returned back dxvks.json syntax

This commit is contained in:
Observer KRypt0n_ 2021-12-22 01:27:42 +02:00
parent 0b3858a3a3
commit 3f72b5c598
No known key found for this signature in database
GPG key ID: DC5D4EC1303465DA
4 changed files with 70 additions and 69 deletions

View file

@ -1,37 +1,57 @@
[
{
"title": "DXVK",
"versions": [
{
"version": "1.9.2",
"title": "DXVK 1.9.2",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9.2/dxvk-1.9.2.tar.gz",
"recommended": true
},
{
"version": "1.9.1",
"title": "DXVK 1.9.1",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9.1/dxvk-1.9.1.tar.gz",
"recommended": true
},
{
"version": "1.9",
"title": "DXVK 1.9",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9/dxvk-1.9.tar.gz",
"recommended": true
},
{
"version": "1.8.1",
"title": "DXVK 1.8.1",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.8.1/dxvk-1.8.1.tar.gz",
"recommended": true
},
{
"version": "1.8",
"title": "DXVK 1.8",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.8/dxvk-1.8.tar.gz",
"recommended": true
}
]
"version": "1.9.2",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9.2/dxvk-1.9.2.tar.gz",
"recommended": true
},
{
"version": "1.9.1",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9.1/dxvk-1.9.1.tar.gz",
"recommended": true
},
{
"version": "1.9",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9/dxvk-1.9.tar.gz",
"recommended": true
},
{
"version": "1.8.1",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.8.1/dxvk-1.8.1.tar.gz",
"recommended": true
},
{
"version": "1.8",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.8/dxvk-1.8.tar.gz",
"recommended": true
},
{
"version": "1.7.3",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.7.3/dxvk-1.7.3.tar.gz",
"recommended": false
},
{
"version": "1.7.2",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.7.2/dxvk-1.7.2.tar.gz",
"recommended": false
},
{
"version": "1.7.1",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.7.1/dxvk-1.7.1.tar.gz",
"recommended": false
},
{
"version": "1.7",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.7/dxvk-1.7.tar.gz",
"recommended": false
},
{
"version": "1.6.1",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.6.1/dxvk-1.6.1.tar.gz",
"recommended": false
},
{
"version": "1.6",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.6/dxvk-1.6.tar.gz",
"recommended": false
}
]

View file

@ -35,7 +35,7 @@ const app = Vue.createApp({
stream.unpackFinish(() => console.log('Unpacking finished'));
});*/
/*dxvk.download('1.9.2').then((stream) => {
/*DXVK.download('1.8').then((stream) => {
stream.downloadStart(() => console.log('Downloading started'));
stream.downloadFinish(() => console.log('Downloading finished'));

View file

@ -1,7 +1,4 @@
import type {
DXVKTable,
DXVK as TDXVK
} from './types/DXVK';
import type { DXVK as TDXVK } from './types/DXVK';
import constants from './Constants';
import AbstractInstaller from './AbstractInstaller';
@ -21,36 +18,27 @@ export default class DXVK
/**
* Get DXVKs list
*/
public static get(): Promise<DXVKTable[]>
public static get(): Promise<TDXVK[]>
{
return new Promise((resolve) => {
constants.paths.dxvksDir.then(async (dxvksDir: string) => {
let list: DXVKTable[] = JSON.parse(await Neutralino.filesystem.readFile(`${constants.paths.appDir}/public/dxvks.json`));
let list: TDXVK[] = JSON.parse(await Neutralino.filesystem.readFile(`${constants.paths.appDir}/public/dxvks.json`));
const installed: { entry: string, type: string }[] = await Neutralino.filesystem.readDirectory(dxvksDir);
let dxvks: DXVKTable[] = [];
let dxvks: TDXVK[] = [];
list.forEach((family) => {
let newFamily: DXVKTable = {
title: family.title,
versions: []
};
list.forEach((dxvk) => {
let inst = false;
family.versions.forEach((dxvk) => {
let inst = false;
for (let dir of installed)
inst ||= dir.entry == `dxvk-${dxvk.version}`;
for (let dir of installed)
inst ||= dir.entry == `dxvk-${dxvk.version}`;
dxvks.push({
...dxvk,
newFamily.versions.push({
...dxvk,
installed: inst
});
installed: inst
});
dxvks.push(newFamily);
});
resolve(dxvks);
@ -73,11 +61,9 @@ export default class DXVK
{
let foundDXVK = null;
(await this.get()).forEach((family) => {
family.versions.forEach((DXVK) => {
if (DXVK.version == dxvk)
foundDXVK = DXVK;
});
(await this.get()).forEach((currDxvk) => {
if (currDxvk.version == dxvk)
foundDXVK = currDxvk;
});
resolve(foundDXVK === null ? null : new Stream(foundDXVK));
@ -89,4 +75,4 @@ export default class DXVK
}
}
export type { TDXVK, DXVKTable };
export type { TDXVK };

View file

@ -6,9 +6,4 @@ type DXVK = {
installed: boolean;
};
type DXVKTable = {
title: string;
versions: DXVK[];
};
export type { DXVKTable, DXVK };
export type { DXVK };