Skip to content

xvillaneau/poke-sprite-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pokémon Sprite Codec

This is a project for fun based on the Pokémon Sprite Decompression Explained video by the Retro Games Mechanics Explained YouTube channel. The goal is to reproduce the image compression and decompression algorithm used in the Pokémon Blue (which I played), Red and Yellow games for the Nintendo Game Boy.

Progress: Should work for all valid sprites and some of the glitched Pokémon (MissingNo confirmed to work).

Core functions:

  • Implement bitwise stream reader
  • Implement basic functional decompression
  • Implement delta / XOR decoding based on the mode
  • Implement final image output from the two bit planes

Maybe someday:

  • Clean up, test, and document
  • Implement 7 x 7 buffer with the correct tiles position
  • Correctly implement the full continuous memory buffer
  • Attempt to reproduce the MISSINGNO. sprite glitch
  • Implement compression

Acknowledgments

Practically 100% of what I'm attempting to reproduce has been researched and explained by Alex "Dotsarecool" Losego. They have also made a far better interactive online tool for playing around with the compression algorithm of the game.

License

Copyright ©2020 Xavier Villaneau, distributed under the Mozilla Public License 2.0

Pokémon is a registered trademark of Nintendo.

About

Pokémon Sprite Decompression Tool in Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages