A library for dealing with compressed Pokemon sprites.
Implementation status:
sh
cargo add pokemon-sprite-compression
```rust const rom = std::fs::read("pokeyellow.gbc").unwrap();
// Aerodactyl fossil sprite let sprite = pokemonspritecompression::gen1::decompress(&rom[0x0367a1..]); ```
```rust const rom = std::fs::read("pokecrystal.gbc").unwrap();
// Pikachu back sprite let sprite = pokemonspritecompression::gen2::decompress(&rom[0x156ea1..]); ```
Huge thanks to the pret team and Andrew Ekstedt for their work on gen I decompression.
Huge thanks to wgjordan on Hacker News for reverse engineering and documenting the gen II compression algorithm. I've included a copy of the documentation in this repository for convenience, as the file doc/gen2.txt
.