Materialize controller images for browser
This commit is contained in:
parent
4d9f9991b7
commit
34e47888cc
19
scripts/materialize-controller-assets.mjs
Normal file
19
scripts/materialize-controller-assets.mjs
Normal file
@ -0,0 +1,19 @@
|
||||
import { mkdir, writeFile } from 'node:fs/promises';
|
||||
import topHudData from '../src/assets/controller/top-hud.js';
|
||||
import helmData from '../src/assets/controller/helm-action.js';
|
||||
import cannonBase64 from '../src/assets/controller/cannon-roundel.js';
|
||||
|
||||
const outDir = new URL('../public/assets/controller/', import.meta.url);
|
||||
await mkdir(outDir, { recursive: true });
|
||||
|
||||
const writeDataUrl = async (name, dataUrl) => {
|
||||
const match = /^data:[^;]+;base64,(.+)$/.exec(dataUrl);
|
||||
if (!match) throw new Error(`Invalid data URL for ${name}`);
|
||||
await writeFile(new URL(name, outDir), Buffer.from(match[1], 'base64'));
|
||||
};
|
||||
|
||||
await writeDataUrl('top-hud.webp', topHudData);
|
||||
await writeDataUrl('helm-sheet.webp', helmData);
|
||||
await writeFile(new URL('cannon-roundel.jpg', outDir), Buffer.from(cannonBase64, 'base64'));
|
||||
|
||||
console.log('Materialized controller assets');
|
||||
Loading…
x
Reference in New Issue
Block a user