2025-10-23 10:30:21 -05:00
|
|
|
import { readdir } from "fs/promises";
|
|
|
|
|
import { argv } from "process";
|
2024-02-20 11:21:01 -06:00
|
|
|
|
2025-10-23 10:30:21 -05:00
|
|
|
const WINDOWS_APPS = "C:/Program Files/WindowsApps";
|
2025-01-14 19:22:41 -06:00
|
|
|
const wotbPackageRegex = /7458BE2C\..+_\d+(\.\d+)+_x64__.+/;
|
|
|
|
|
|
2025-10-23 10:30:21 -05:00
|
|
|
const isManual = argv.includes("--manual");
|
2024-08-14 14:04:06 -05:00
|
|
|
|
2025-01-14 19:22:41 -06:00
|
|
|
let data: string;
|
|
|
|
|
let compressed: boolean;
|
|
|
|
|
|
2025-04-05 02:07:35 +00:00
|
|
|
if (isManual) {
|
2025-10-23 10:30:21 -05:00
|
|
|
data = "../../temp/game/Data";
|
2025-01-14 19:22:41 -06:00
|
|
|
compressed = true;
|
|
|
|
|
} else {
|
|
|
|
|
const directories = await readdir(WINDOWS_APPS).then((files) =>
|
2025-10-23 10:30:21 -05:00
|
|
|
files.filter((file) => wotbPackageRegex.test(file))
|
2025-01-14 19:22:41 -06:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
if (directories.length !== 1) {
|
|
|
|
|
throw new Error(
|
2025-10-23 10:30:21 -05:00
|
|
|
`Expected 1 directory for WoTB Windows App, got ${directories.length}.`
|
2025-01-14 19:22:41 -06:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const [windowsApp] = directories;
|
|
|
|
|
data = `${WINDOWS_APPS}/${windowsApp}/Data`;
|
|
|
|
|
compressed = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const DATA = data;
|
|
|
|
|
export const DATA_COMPRESSED = compressed;
|