diff --git a/manifests/lethal-company.manifest b/manifests/lethal-company.manifest new file mode 100644 index 0000000..f00e83a --- /dev/null +++ b/manifests/lethal-company.manifest @@ -0,0 +1,52 @@ +global._ = { + pack_id: "lethal_company", + version: "0.40", + author: "Zeekerss", + name: "Lethal Company", + description: "The Company store has many useful tools for the job, including lights, shovels, walkie talkies, stun grenades, or boomboxes. Things get dangerous at night.", + icon: "https://media.moddb.com/images/downloads/1/261/260757/sddefault.jpg", + bundles: { + "win32-x64": { + url: "https://b2-cdn.ragestudio.net/file/bundler-sg/bundles/lethal-company/bundles/v40/bnd-win32-x64.zip", + filename: "bundle.zip", + }, + } +} + +// Please do not edit this following code, for gods sake. +const path = require("node:path") +const child_process = require("node:child_process") + +module.exports = { + id: global._.pack_id, + version: global._.version, + icon: global._.icon, + pack_name: global._.name, + description: global._.description, + author: global._.author, + executable: true, + init: ({ pack_dir, tmp_dir, os_string }) => { + // check if bundle is available for this os + if (typeof global._.bundles[os_string] === "undefined") { + throw new Error(`OS Not supported: ${os_string}`) + } + + const dlBundle = global._.bundles[os_string] + + const data = { + http_downloads: [ + { + path: dlBundle.filename, + url: dlBundle.url, + extract: true, + delete_after_extract: true, + progress: true, + } + ] + } + + return data + }, + + execute: `%install_path%/Lethal Company.exe` +} diff --git a/manifests/scape_from_tarkov.manifest b/manifests/scape_from_tarkov.manifest new file mode 100644 index 0000000..ad0092f --- /dev/null +++ b/manifests/scape_from_tarkov.manifest @@ -0,0 +1,66 @@ +global._ = { + pack_id: "scape_from_tarkov", + version: "0.13.1.3.25206", + author: "Battlestate Games", + name: "Scape From Tarkov", + description: "Escape from Tarkov is a combat simulator that mixes first-person action with RPG elements within an MMO with narrative development.", + icon: "https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/46b63d3c-ae67-464c-9a37-670829b2a157/dczmwbh-030334bf-e9af-438d-be08-adf5bd5d37d1.png?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7InBhdGgiOiJcL2ZcLzQ2YjYzZDNjLWFlNjctNDY0Yy05YTM3LTY3MDgyOWIyYTE1N1wvZGN6bXdiaC0wMzAzMzRiZi1lOWFmLTQzOGQtYmUwOC1hZGY1YmQ1ZDM3ZDEucG5nIn1dXSwiYXVkIjpbInVybjpzZXJ2aWNlOmZpbGUuZG93bmxvYWQiXX0.7r3zmIH2SuA-IkvBViaA9VGCLC6orcbUWAyAIYDIzQ4, + bundles: { + "win32-x64": { + url: "https://store11.gofile.io/download/74fde1c6-78b4-41d6-a1e0-ab6a729c8f94/Escape.from.Tarkov.v0.13.1.3.25206-P2P.7z", + filename: "bundle.zip", + }, + } +} + +// Please do not edit this following code, for gods sake. +const path = require("node:path") +const child_process = require("node:child_process") + +module.exports = { + id: global._.pack_id, + version: global._.version, + icon: global._.icon, + pack_name: global._.name, + description: global._.description, + author: global._.author, + configs: { + vrEnabled: false, + }, + executable: true, + init: ({ pack_dir, tmp_dir, os_string }) => { + // check if bundle is available for this os + if (typeof global._.bundles[os_string] === "undefined") { + throw new Error(`OS Not supported: ${os_string}`) + } + + const dlBundle = global._.bundles[os_string] + + const data = { + http_downloads: [ + { + path: dlBundle.filename, + url: dlBundle.url, + extract: true, + delete_after_extract: true, + progress: true, + } + ] + } + + return data + }, + execute: async ({ manifest, pack_dir, tmp_dir }) => { + console.log(manifest) + const binary = path.resolve(pack_dir, "Launcher.exe") + + await new Promise((resolve, reject) => { + const process = child_process.execFile(binary, [], { + shell: true, + }) + + process.on("exit", resolve) + process.on("error", reject) + }) + } +}