diff --git a/package.json b/package.json index 79ebe1629..906cc8b51 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "build-protos": "cd packages/scripts && bun run build-protos", "record-performance": "cd packages/scripts && bun run record-performance", "download-client": "cd packages/scripts && bun run download-client", - "download-smart-dlc": "cd packages/scripts && bun run download-smart-dlc", + "download-smart-dlc": "cd packages/closed && bun run download-smart-dlc", "clean-astro": "rm -rf packages/website/.astro packages/website/node_modules/.astro packages/website/node_modules/.vite", "vfs": "cd packages/scripts && bun run vfs" }, diff --git a/packages/closed b/packages/closed index f89f0e077..50943654c 160000 --- a/packages/closed +++ b/packages/closed @@ -1 +1 @@ -Subproject commit f89f0e0772d5c851151d53ea78e05bfa16d8ea8d +Subproject commit 50943654cbfc6289e57a527968fba4d6314f490a diff --git a/packages/scripts/package.json b/packages/scripts/package.json index 4afa98947..bccf3c6c2 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -6,11 +6,9 @@ "build-protos": "bun src/protos.ts", "record-performance": "bun src/recordPerformance/index.ts", "download-client": "bun src/downloadClient/index.ts", - "download-smart-dlc": "bun src/downloadSmartDLC/index.ts", "vfs": "bun src/vfs/index.ts" }, "dependencies": { - "@blitzkit/closed": "workspace:*", "@blitzkit/core": "workspace:*", "@blitzkit/i18n": "workspace:*", "@gltf-transform/core": "^4.2.1", diff --git a/packages/scripts/src/downloadSmartDLC/index.ts b/packages/scripts/src/downloadSmartDLC/index.ts deleted file mode 100644 index 24b13f068..000000000 --- a/packages/scripts/src/downloadSmartDLC/index.ts +++ /dev/null @@ -1,90 +0,0 @@ -import { dvp } from "@blitzkit/closed"; -import { assertSecret } from "@blitzkit/core"; -import { mkdir, writeFile } from "fs/promises"; -import { parse as parsePath } from "path"; -import { parse as parseYaml, stringify as stringifyYaml } from "yaml"; -import { RegionsPublish } from "../types/regionsPublish"; -import { vfs } from "../vfs/vfs"; - -const CLIENT_DIR = assertSecret(import.meta.env.CLIENT_DIR); - -const regionsPublish = await vfs.yaml( - "Data/regions_publish.yaml", -); -const [smartDlcUrl] = regionsPublish.Common.smartDlcUrls; - -const versionTextFile = await vfs.text(`Data/version.txt`); -const currentVersion = versionTextFile - .split(" ")[0] - .split(".") - .slice(0, 3) - .join("."); - -console.log(`Installing patches for ${currentVersion}...`); - -let patchIndex = 1; -while (true) { - const response = await fetch( - `${smartDlcUrl}/s${currentVersion}_${patchIndex}.yaml`, - ); - - console.log(patchIndex, response.status); - - if (!response.ok) break; - - console.log(`Applying patch ${patchIndex}...`); - - const data = parseYaml(await response.text()); - const dvpm = await fetch(`${smartDlcUrl}/${data.dx11}`).then((response) => - response.arrayBuffer(), - ); - const dvpd = await fetch( - `${smartDlcUrl}/${data.dx11.replace(".dvpm", ".dvpd")}`, - ).then((response) => response.arrayBuffer()); - const files = await dvp(dvpm, dvpd); - - for (const { path, data } of files) { - console.log(`Patching "${path}"...`); - - const { dir } = parsePath(path); - - await mkdir(`${CLIENT_DIR}/Data/${dir}`, { recursive: true }); - - const buffer = Buffer.from(data); - - await writeFile(`${CLIENT_DIR}/Data/${path}`, new Uint8Array(buffer)); - } - - console.log("patches done for patch"); - - if ("dynamicContentLocalizationsDir" in data) { - console.log( - `${smartDlcUrl}/${data.dynamicContentLocalizationsDir}/en.yaml`, - ); - const localizationsResponse = await fetch( - `${smartDlcUrl}/${data.dynamicContentLocalizationsDir}/en.yaml`, - ); - console.log("fetched"); - const newStrings = parseYaml(await localizationsResponse.text()); - console.log("got new strings"); - const oldStrings = - await vfs.yaml>(`Data/Strings/en.yaml`); - console.log("got old strings"); - const patchedStrings = { ...oldStrings, ...newStrings }; - const patchedContent = stringifyYaml(patchedStrings); - console.log("stringified"); - - await mkdir(`${CLIENT_DIR}/Data/Strings`, { recursive: true }); - console.log("mkdir"); - await writeFile( - `${CLIENT_DIR}/Data/Strings/en.yaml`, - new Uint8Array(Buffer.from(patchedContent)), - ); - console.log("file"); - } - - patchIndex++; -} - -vfs.dispose(); -process.exit(0);