some stuff i should commit

This commit is contained in:
Christopher Monsanto
2026-08-12 19:33:29 -04:00
parent 52ecf6cae9
commit 14f58e38c3
3 changed files with 121 additions and 41 deletions

View File

@@ -1,19 +1,61 @@
function toID(name) {
// function toID(name) {
// return name.toLowerCase().replace(/[^a-z0-9]+/g, '');
// }
// function spritecopy(f, {dir, ext}) {
// const sn = spritedata.parseFilename(f.name);
// let name;
// if (sn.extension) {
// name = toID(sn.name);
// } else {
// const sd = spritedata.get(sn.id);
// debug(sd);
// name = toID(sd.base);
// if (sd.forme) {
// name += `-${toID(sd.forme)}`;
// }
// }
// if (sn.extra.has("f")) {
// name += "-f";
// }
// if (sn.extra.has("g")) {
// name += "-gmax";
// }
// if (sn.extra.has("b")) {
// dir += "-back";
// }
// if (sn.extra.has("s")) {
// dir += "-shiny";
// }
// copy(f, {dir, ext, name});
// }
function toPSID(name) {
return name.toLowerCase().replace(/[^a-z0-9]+/g, '');
}
function spritecopy(f, {dir, ext}) {
function spritecopy(f, {dir, ext}, allowUnknown=false) {
const sn = spritedata.parseFilename(f.name);
let name;
// Skip asymmetrical for now
if (sn.extra.has("a") || sn.extra.has("b") || sn.extra.has("s")) {
return;
}
if (sn.extension) {
name = toID(sn.name);
if (allowUnknown && sn.extension && sn.name === "Unknown") {
name = "unknown"
} else {
// Skip this, we don't use Unknown/Substitute
return;
}
} else {
const sd = spritedata.get(sn.id);
debug(sd);
name = toID(sd.base);
name = toPSID(sd.base);
if (sd.forme) {
name += `-${toID(sd.forme)}`;
name += `-${toPSID(sd.forme)}`;
}
}
if (sn.extra.has("f")) {
@@ -22,53 +64,57 @@ function spritecopy(f, {dir, ext}) {
if (sn.extra.has("g")) {
name += "-gmax";
}
if (sn.extra.has("b")) {
dir += "-back";
}
if (sn.extra.has("s")) {
dir += "-shiny";
}
copy(f, {dir, ext, name});
}
let seenModels = new Set;
for (const f of list("src/models")) {
seenModels.add(f.name);
spritecopy(f, {dir: "ani"});
}
for (const f of list("src/sprites/gen5")) {
spritecopy(f, {dir: "gen5ani"});
for (const f of list("build/gen10-modelslike")) {
if (seenModels.has(f.name)) continue;
seenModels.add(f.name);
spritecopy(f, {dir: "ani"});
}
for (const f of list("src/afd")) {
spritecopy(f, {dir: "afd"});
}
// for (const f of list("src/sprites/gen5")) {
// spritecopy(f, {dir: "gen5ani"});
// }
for (const f of list("build/padded-dex")) {
spritecopy(f, {dir: "dex"});
}
// for (const f of list("src/afd")) {
// spritecopy(f, {dir: "afd"});
// }
function fixType(name) {
return name.replace("Unknown", "???");
}
// for (const f of list("build/padded-dex")) {
// spritecopy(f, {dir: "dex"});
// }
for (const f of list("src/canonical/ui/types/gen4").concat(list("src/noncanonical/ui/types/gen4"))) {
copy(f, {dir: "types", name: fixType(f.name)});
}
// function fixType(name) {
// return name.replace("Unknown", "???");
// }
for (const f of list("src/canonical/ui/categories/gen4")) {
copy(f, {dir: "categories"});
}
copy("src/noncanonical/ui/categories/undefined.png", {dir: "categories"});
// for (const f of list("src/canonical/ui/types/gen4").concat(list("src/noncanonical/ui/types/gen4"))) {
// copy(f, {dir: "types", name: fixType(f.name)});
// }
copy("src/canonical/ui/battle/Alpha.png", {dir: "misc"});
copy("src/canonical/ui/battle/Mega.png", {dir: "misc"});
copy("src/canonical/ui/battle/Omega.png", {dir: "misc"});
// TODO: reenable when trainers are moved
// dest("trainers");
// sel("build/padded-trainers/canonical");
// for (const f of list("src/canonical/ui/categories/gen4")) {
// copy(f, {dir: "categories"});
// }
// copy("src/noncanonical/ui/categories/undefined.png", {dir: "categories"});
copy("build/ps/pokemonicons-pokeball-sheet.png", {dir: "."});
copy("build/ps/pokemonicons-sheet.png", {dir: "."});
//copy("build/ps/trainers-sheet.png", {dir: "."});
copy("build/ps/itemicons-sheet.png", {dir: "."});
// copy("src/canonical/ui/battle/Alpha.png", {dir: "misc"});
// copy("src/canonical/ui/battle/Mega.png", {dir: "misc"});
// copy("src/canonical/ui/battle/Omega.png", {dir: "misc"});
// // TODO: reenable when trainers are moved
// // dest("trainers");
// // sel("build/padded-trainers/canonical");
// copy("build/ps/pokemonicons-pokeball-sheet.png", {dir: "."});
// copy("build/ps/pokemonicons-sheet.png", {dir: "."});
// //copy("build/ps/trainers-sheet.png", {dir: "."});
// copy("build/ps/itemicons-sheet.png", {dir: "."});

23
updateminisprites.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/bin/bash
set -ex
cd ~/smogon/sprites
./build.sh
# Update dex
cd ~/smogon/smogon.com/run
rm -rf ~/smogon/sprites/build/smogon/spritesheetoutput
pnpm exec esbuild ~/smogon/sprites/build/smogon/spritesheet.css --asset-names='[name]-[hash]' --entry-names='[name]-[hash]' --loader:.webp=copy --minify --allow-overwrite --bundle --outdir=/home/monsanto/smogon/sprites/build/smogon/spritesheetoutput
zopfli ~/smogon/sprites/build/smogon/spritesheetoutput/spritesheet-*.css
brotli -9 ~/smogon/sprites/build/smogon/spritesheetoutput/spritesheet-*.css
rsync ~/smogon/sprites/build/smogon/spritesheetoutput/* smogon:/smog2/sprites/assets
python -c 'import re; import pathlib; print(re.match(r"spritesheet(.*)\.css", str(list(pathlib.Path("/home/monsanto/smogon/sprites/build/smogon/spritesheetoutput/.").glob("spritesheet-*.css"))[0].name)).group(1))' | ssh smogon 'cat > /smog2/dex/spritesheet_css_suffix.txt'
ssh smogon 'systemctl reload dex'
# Update forum minisprites
cd /home/monsanto/smogon/sprites
rm -rf deploy/smogon
node tools/deploy run smogon.deploy.js -o deploy/smogon
rsync -a deploy/smogon/forumsprites/ smogon:/smog2/forumsprites/minisprites
rsync -a deploy/smogon/xyicons/ smogon:/smog2/sprites/xyicons

11
updatepmdsprites.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
set -ex
cd /home/monsanto/smogon/sprites
./build.sh
rm -rf deploy/smogon
node tools/deploy run smogon.deploy.js -o deploy/smogon
# Note: the /forums/media/pmd directory should probably stay the same; we can redirect those I guess
rsync -a deploy/smogon/pmd/ smogon:/smog2/forumsprites/pmd