From 41fb82257124e5cee4e21fbdb94e8c43f82d6962 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Sun, 25 Oct 2026 12:27:57 -0500 Subject: [PATCH] apply smart dlc --- .github/workflows/website.yaml | 6 ++++- package.json | 1 + packages/scripts/package.json | 1 + .../index.ts} | 23 ++++++------------- packages/scripts/src/vfs/index.ts | 5 +--- packages/scripts/src/vfs/vfs.ts | 4 ++++ 6 files changed, 19 insertions(+), 21 deletions(-) rename packages/scripts/src/{applyPatches.ts => downloadSmartDLC/index.ts} (80%) create mode 100644 packages/scripts/src/vfs/vfs.ts diff --git a/.github/workflows/website.yaml b/.github/workflows/website.yaml index 53c8c676c..4a495e5de 100644 --- a/.github/workflows/website.yaml +++ b/.github/workflows/website.yaml @@ -128,9 +128,13 @@ jobs: - name: Install dependencies run: bun install - - name: Download Client + - name: Download client run: bun run download-client + - name: Download SmartDLC + if: ${{ inputs.client_provider == 'steam' }} + run: bun run download-smart-dlc + - name: Build run: bun run --bun build env: diff --git a/package.json b/package.json index 8262b6088..399d17fd9 100644 --- a/package.json +++ b/package.json @@ -10,6 +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", "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/scripts/package.json b/packages/scripts/package.json index 55077bcb2..4afa98947 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -6,6 +6,7 @@ "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": { diff --git a/packages/scripts/src/applyPatches.ts b/packages/scripts/src/downloadSmartDLC/index.ts similarity index 80% rename from packages/scripts/src/applyPatches.ts rename to packages/scripts/src/downloadSmartDLC/index.ts index 18aaf6ba3..494f2b2a7 100644 --- a/packages/scripts/src/applyPatches.ts +++ b/packages/scripts/src/downloadSmartDLC/index.ts @@ -2,9 +2,10 @@ import { dvp } from "@blitzkit/closed"; import { assertSecret } from "@blitzkit/core"; import { mkdir, writeFile } from "fs/promises"; import { parse as parsePath } from "path"; -import ProgressBar from "progress"; import { parse as parseYaml, stringify as stringifyYaml } from "yaml"; -import { PATCHES_ROOT, vfs } from "./buildAssets/constants"; +import { vfs } from "../vfs/vfs"; + +const CLIENT_DIR = assertSecret(import.meta.env.CLIENT_DIR); const versionTextFile = await vfs.text(`Data/version.txt`); const currentVersion = versionTextFile @@ -40,27 +41,17 @@ while (true) { )}`, ).then((response) => response.arrayBuffer()); const files = await dvp(dvpm, dvpd); - const bar = new ProgressBar( - `Patching ${files.length} files :bar`, - files.length, - ); for (const { path, data } of files) { console.log(`Patching "${path}"...`); const { dir } = parsePath(path); - try { - await mkdir(`${PATCHES_ROOT}/Data/${dir}`, { recursive: true }); - } catch (error) { - console.warn(`Failed to make directory "${dir}"`); - } + await mkdir(`${CLIENT_DIR}/Data/${dir}`, { recursive: true }); const buffer = Buffer.from(data); - await writeFile(`${PATCHES_ROOT}/Data/${path}`, new Uint8Array(buffer)); - - bar.tick(); + await writeFile(`${CLIENT_DIR}/Data/${path}`, new Uint8Array(buffer)); } console.log("patches done for patch"); @@ -86,10 +77,10 @@ while (true) { const patchedContent = stringifyYaml(patchedStrings); console.log("stringified"); - await mkdir(`${PATCHES_ROOT}/Data/Strings`, { recursive: true }); + await mkdir(`${CLIENT_DIR}/Data/Strings`, { recursive: true }); console.log("mkdir"); await writeFile( - `${PATCHES_ROOT}/Data/Strings/en.yaml`, + `${CLIENT_DIR}/Data/Strings/en.yaml`, new Uint8Array(Buffer.from(patchedContent)), ); console.log("file"); diff --git a/packages/scripts/src/vfs/index.ts b/packages/scripts/src/vfs/index.ts index dd0358c0d..5875cff59 100644 --- a/packages/scripts/src/vfs/index.ts +++ b/packages/scripts/src/vfs/index.ts @@ -1,7 +1,4 @@ -import { assertSecret } from "@blitzkit/core"; -import { LocalVFS } from "@blitzkit/core/src/blitzkit/vfs/local"; - -export const vfs = new LocalVFS(assertSecret(import.meta.env.CLIENT_DIR)); +import { vfs } from "./vfs"; const command = Bun.argv[2]; const path = Bun.argv[3]; diff --git a/packages/scripts/src/vfs/vfs.ts b/packages/scripts/src/vfs/vfs.ts new file mode 100644 index 000000000..a94b39bae --- /dev/null +++ b/packages/scripts/src/vfs/vfs.ts @@ -0,0 +1,4 @@ +import { assertSecret } from "@blitzkit/core"; +import { LocalVFS } from "@blitzkit/core/src/blitzkit/vfs/local"; + +export const vfs = new LocalVFS(assertSecret(import.meta.env.CLIENT_DIR));