funny-repo/manifests/zootycoon2-uc.manifest

96 lines
3.3 KiB
Plaintext

global._ = {
pack_id: "zootycoon2-uc",
version: "33.05.00.0002UO",
author: "Microsoft Games | Blue Fang",
name: "Zoo Tycoon 2 Ultimate Collection",
description: "Zoo Tycoon 2 is an economic simulation video game whose main objective is to create and manage a zoo, in order to raise money for reinvestment, satisfying the needs of its visitors, hiring staff to care for animals, purchasing buildings and attractions, etc.",
icon: "https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/i/8c425ae9-aebd-4172-99af-ce419151b76a/dbhnre8-8c8fd2df-ddd8-400d-981a-91b370d8d55c.png",
bundles: {
"win32-x64": {
url: "https://b2-cdn.ragestudio.net/file/bundler-sg/bundles/zoo-tycoon2-uc/versions/33.05.00.0002UO/bnl-win.zip",
filename: "bundle.zip",
},
"darwin-x64": {
url: "https://b2-cdn.ragestudio.net/file/bundler-sg/bundles/zoo-tycoon2-uc/versions/33.05.00.0002UO/bnl-win.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,
patches: [
{
id: "es_patch",
name: "Spanish Patch",
steps: {
http_downloads: {
url: "https://b2-cdn.ragestudio.net/file/bundler-sg/bundles/zoo-tycoon2-uc/versions/33.05.00.0002UO/es_patch.zip",
filename: "es_patch.zip",
extract: true,
delete_after_extract: true,
process: true
}
}
},
{
id: "widescreen_patch",
name: "Widescreen Patch",
default: true,
steps: {
http_downloads: {
url: "https://b2-cdn.ragestudio.net/file/bundler-sg/bundles/zoo-tycoon2-uc/versions/33.05.00.0002UO/widescreen_patch.zip",
filename: "widescreen_patch.zip",
extract: true,
delete_after_extract: true,
process: true
}
}
},
],
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 }) => {
const binary = path.resolve(pack_dir, "zt.exe")
await new Promise((resolve, reject) => {
const process = child_process.execFile(binary, [], {
shell: true,
})
process.on("exit", resolve)
process.on("error", reject)
})
}
}