The Smogon / Pokémon Showdown! sprite repository
Go to file
2026-03-05 18:41:09 -05:00
data Fix item ids 2026-03-05 18:39:56 -05:00
lib/root allow importing @smogon/sprite-root to get root 2020-09-15 03:24:03 -04:00
src Add latest models 2026-03-05 18:41:09 -05:00
tools smogdex spritesheet: add -gmax and -f to names 2023-04-09 02:10:38 -04:00
util fix spritedata() 2023-03-24 22:07:51 -04:00
.editorconfig update editorconfig to trim whitespace 2023-03-29 02:58:21 -04:00
.gitignore add @smogon/sprite-data 2020-08-07 04:34:09 -04:00
.travis.yml Travis should run Ubuntu 20.04 2021-05-09 21:25:07 -04:00
package.json update typescript 2023-03-24 22:07:51 -04:00
pnpm-lock.yaml deploy: add basic hash support so we can Just Ship It 2023-04-05 01:11:24 -04:00
pnpm-workspace.yaml allow importing @smogon/sprite-root to get root 2020-09-15 03:24:03 -04:00
ps-items.sheet.mjs Update PS sheet indexes 2023-12-18 20:00:49 -05:00
ps-pokemon.sheet.mjs Add latest CAP sprites 2025-07-18 08:47:41 -04:00
ps-trainers.sheet.mjs tools/ps-sheet -> tools/sheet, take js sheet spec as arg 2020-05-09 06:04:47 -04:00
ps.deploy.js Rename newsrc -> src in scripts 2021-12-22 18:41:46 -05:00
README.md better spritecollab credits by their request 2024-02-28 13:47:33 -05:00
smogon.deploy.js deploy pmd 2024-02-26 19:50:49 -05:00
spritecollab_credit_names.txt Update PMD credits 2024-11-10 11:11:22 -05:00
tsconfig-base.json update typescript 2023-03-24 22:07:51 -04:00
tsconfig-workspace.json first attempt at smogdex spritesheet 2023-03-26 01:32:48 -04:00
Tupfile.ini Add models & skeleton build 2020-04-12 23:21:02 -04:00
Tupfile.lua fix overlap with gen9species 2024-01-22 18:59:17 -05:00
Tuprules.lua various fixes 2026-02-22 04:52:18 -05:00

Pokémon Sprites

The Smogon / Pokémon Showdown! sprite repository.

Installation

This project depends on

Windows

Windows binaries of these dependencies can be found on the download pages of the sites listed above.

Linux

$ sudo apt install nodejs imagemagick advancecomp optipng pngquant wine webp
$ sudo npm install -g pnpm

Build tup from source:

$ sudo apt install build-essential pkg-config fuse3 libfuse3-dev libpcre3-dev
$ git clone git://github.com/gittup/tup.git
$ cd tup
$ ./bootstrap.sh
$ sudo cp tup /usr/local/bin/tup
$ sudo cp tup.1 /usr/local/share/man

You may have to build imagemagick from source to get version 7.

$ sudo apt install build-essential pkg-config libltdl-dev libperl-dev libpng-dev libjpeg-dev
$ wget https://imagemagick.org/download/ImageMagick.tar.gz
$ tar xf ImageMagick.tar.gz
$ cd ImageMagick-*
$ ./configure --with-modules --enable-shared --with-perl
$ sudo make -j install
$ sudo ldconfig /usr/local/lib

macOS

Using brew on a macOS:

$ brew cask install osxfuse wine-stable
$ brew install tup imagemagick advancecomp optipng pngquant

Building

Install dependencies once with pnpm install. Then, to build:

$ tup

Configuration

Build settings are configurable in tup.config.

  • CONFIG_DEFAULT_OPTIPNG: Command line to pass to optipng.
  • CONFIG_DEFAULT_ADVPNG: Command line to pass to advpng.
  • CONFIG_DEFAULT_PNGQUANT: Command line to pass to pngquant.

There are src-specific versions of these settings:

  • CONFIG_TRAINERS_<PROGRAM>: Compression options for trainers/ only.
  • CONFIG_DEX_<PROGRAM>: Compression options for dex/ only.
  • CONFIG_MODELS_<PROGRAM>: Compression options for models/ only.
  • CONFIG_SPRITESHEET_<PROGRAM>: Compression options for spritesheets only.
  • CONFIG_MINISPRITE_<PROGRAM>: Compression options for minisprites/ only.

For example, these settings reflect the compression settings for the files chaos uploaded in src/:

CONFIG_DEFAULT_OPTIPNG=-o7
CONFIG_DEFAULT_ADVPNG=-z4 -i5000

Gotchas

  • Tup, like Git, tracks files, not directories. If you readdir() and forget to declare a dependency it won't catch it, like it would for read(). You can work around this by having build tools stat() any filenames they acquire.

License

All code in this repository is licensed under the MIT License.

The sprites themselves are property of Nintendo / Game Freak / The Pokémon Company, though Black & White sprites for Pokémon from later generations were created by artists in the community. The license for these community-created sprites is still being determined and may change in the future, but in the meantime please talk to use first before using them.

The PMD sprites are from SpriteCollab. The exact list of contributors can be found in spritecollab_credit_names.txt of this repository.