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", }, } } // 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) }) } }