68 lines
2.6 KiB
Plaintext
68 lines
2.6 KiB
Plaintext
class Manifest {
|
|
static useLib = ["path", "open", "fs", "torrent", "extract"]
|
|
|
|
static id = "demonologist"
|
|
static version = "02022024-1"
|
|
static pkg_name = "Demonologist"
|
|
static description = "Demonologist is a cooperative horror game that can be played with at least 1 and up to 4 players. Your objective is to identify the type of evil spirit in cursed places and exorcise it using your equipment, alone or with your team."
|
|
static icon = "https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/1929610/8fb0591b7daff6c8ff2ffadbdbae530b099066cc.ico"
|
|
static author = "Clock Wizard Games"
|
|
|
|
static os_compatible = ["win32"]
|
|
|
|
// needed a +v20 for torrent download
|
|
static core_minimum_version = "0.20.0"
|
|
|
|
static BaseMagnet = "magnet:?xt=urn:btih:5G6BVJ576WSBLEKPN6FFX3LKMSSRW3TZ&dn=Demonologist&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce"
|
|
static ExtractPassword = "online-fix.me"
|
|
|
|
installSteps = [
|
|
{
|
|
type: "torrent",
|
|
magnet: Manifest.BaseMagnet,
|
|
path: `${install_path}/torrent_files`,
|
|
}
|
|
]
|
|
|
|
updateSteps = [
|
|
this.installSteps[0]
|
|
]
|
|
|
|
afterInstall = async () => {
|
|
const torrentFilesPath = Lib.path.resolve(install_path, "torrent_files")
|
|
const extractionDataPath = Lib.path.resolve(install_path, "data")
|
|
|
|
//* declare files
|
|
const dataBundle = Lib.path.resolve(torrentFilesPath, "Demonologist", "Demonologist.Build.02022024-OFME.part1.rar")
|
|
const fixBundle = Lib.path.resolve(torrentFilesPath, "Demonologist", "Fix Repair", "Demonologist_Fix_Repair_Steam_V2_Generic.rar")
|
|
|
|
// extract parts
|
|
await Lib.extract.extractFull(dataBundle, extractionDataPath, {
|
|
recursive: true,
|
|
password: Manifest.ExtractPassword,
|
|
})
|
|
|
|
// extract fix
|
|
await Lib.extract.extractFull(fixBundle, Lib.path.resolve(extractionDataPath, "Demonologist"), {
|
|
recursive: true,
|
|
password: Manifest.ExtractPassword,
|
|
})
|
|
|
|
// scan for files
|
|
const files = await Lib.fs.readDir(Lib.path.resolve(extractionDataPath, "Demonologist"))
|
|
|
|
// move files
|
|
for await (const file of files) {
|
|
const src = Lib.path.resolve(extractionDataPath, "Demonologist", file)
|
|
const dest = Lib.path.resolve(install_path, file)
|
|
|
|
await Lib.fs.rename(src, dest)
|
|
}
|
|
|
|
// cleanup
|
|
await Lib.fs.rm(torrentFilesPath, { recursive: true })
|
|
await Lib.fs.rm(extractionDataPath, { recursive: true })
|
|
}
|
|
|
|
execute = Lib.path.resolve(install_path, "Demonologist.exe")
|
|
} |