Files
blitzkit/packages/scripts/src/buildAssets/shellIcons.ts
T
2026-04-01 21:40:15 -05:00

43 lines
1.1 KiB
TypeScript

import sharp from "sharp";
import { AssetUploader } from "../core/github/assetUploader";
import { vfs } from "./constants";
export async function shellIcons() {
console.log("Building shell icons...");
using uploader = new AssetUploader("shell icons");
const image = sharp(
await vfs.file(
`Data/Gfx/Shared/tank-supply/ammunition/big/texture0.packed.webp`,
),
);
const files = await vfs
.dir(`Data/Gfx/Shared/tank-supply/ammunition/big`)
.then((files) => files.filter((file) => file.endsWith("_l.txt")));
for (const file of files) {
const name = file.match(/(.+)_l\.txt/)![1];
const sizes = (
await vfs.text(`Data/Gfx/Shared/tank-supply/ammunition/big/${file}`)
)
.split("\n")[4]
.split(" ")
.map(Number);
await uploader.add({
content: await image
.clone()
.extract({
left: sizes[0],
top: sizes[1],
width: sizes[2],
height: sizes[3],
})
.toBuffer(),
path: `icons/shells/${name}.webp`,
});
}
await uploader.flush();
}