diff --git a/ps.deploy.ts b/ps.deploy.ts index 5a1074cf..e2d468f9 100644 --- a/ps.deploy.ts +++ b/ps.deploy.ts @@ -4,7 +4,7 @@ import * as spritedata from '@smogon/sprite-data/index.ts'; import {gen10Modelslike, gen5Gifs} from './rules/modelslike.ts'; import {type Sprite, toPSID} from './rules/publish.ts'; import {forEachRule, memo, rule} from './tools/build/artifact.ts'; -import {base, compresspng, pad, spriteglob} from './tools/build/helpers.ts'; +import {PNG_DETERMINISTIC, base, compresspng, pad, spriteglob} from './tools/build/helpers.ts'; import {type DeployCtx, defineDeploy} from './tools/deploy/api.ts'; // PS spritesheets. The sheet tools readdir the minisprite dirs and resolve @@ -49,7 +49,7 @@ rule([ ], { display: "pokemonicons-pokeball-sheet", cmds: [ - "magick convert -background transparent -gravity center -extent 40x30 %f +append %o", + `magick convert ${PNG_DETERMINISTIC} -background transparent -gravity center -extent 40x30 %f +append %o`, compresspng({config: "SPRITESHEET"}), ], }, ["pokemonicons-pokeball-sheet.png"]); @@ -74,8 +74,8 @@ const paddedDex = memo(() => { return dex.concat(forEachRule(dexMissing, { display: "missing dex %B", cmds: [ - 'magick convert "%f[0]" -trim %o', - 'magick mogrify -background transparent -gravity center -resize "120x120>" -extent 120x120 %o', + `magick convert "%f[0]" ${PNG_DETERMINISTIC} -trim %o`, + `magick mogrify ${PNG_DETERMINISTIC} -background transparent -gravity center -resize "120x120>" -extent 120x120 %o`, compresspng({config: "DEX"}), ], }, "%B.png")); diff --git a/rules/social.ts b/rules/social.ts index c52889c2..c3fd5cd3 100644 --- a/rules/social.ts +++ b/rules/social.ts @@ -1,6 +1,6 @@ import {forEachRule, memo} from '../tools/build/artifact.ts'; -import {base, compresspng, spriteglob} from '../tools/build/helpers.ts'; +import {PNG_DETERMINISTIC, base, compresspng, spriteglob} from '../tools/build/helpers.ts'; // Smogdex social images: models, backfilled with gen9 species not yet in // models (first source wins). @@ -20,7 +20,7 @@ const socialInputs = memo(() => { export const fbSprites = memo(() => forEachRule(socialInputs(), { display: "fbsprite %f", cmds: [ - 'magick convert "%f[0]" -trim -resize 150x150 -background white -gravity center -extent 198x198 -bordercolor black -border 1 %o', + `magick convert "%f[0]" ${PNG_DETERMINISTIC} -trim -resize 150x150 -background white -gravity center -extent 198x198 -bordercolor black -border 1 %o`, compresspng({config: "MODELS"}), ], }, "%B.png")); @@ -28,7 +28,7 @@ export const fbSprites = memo(() => forEachRule(socialInputs(), { export const twitterSprites = memo(() => forEachRule(socialInputs(), { display: "twittersprite %f", cmds: [ - 'magick convert "%f[0]" -trim -resize 115x115 -background white -gravity center -extent 120x120 %o', + `magick convert "%f[0]" ${PNG_DETERMINISTIC} -trim -resize 115x115 -background white -gravity center -extent 120x120 %o`, compresspng({config: "MODELS"}), ], }, "%B.png")); diff --git a/tools/build/helpers.ts b/tools/build/helpers.ts index 493f5fff..6bc6d0f0 100644 --- a/tools/build/helpers.ts +++ b/tools/build/helpers.ts @@ -97,14 +97,18 @@ export function spriteglob(pats : string | string[], flagspec? : Record`, "-gravity", "center",