Skip to content
/ pksav Public

Small, fast Pokémon save file parsing C library

License

Notifications You must be signed in to change notification settings

savaughn/pksav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PKSav

license GitHub release (latest by date) GitHub Workflow Status GitHub issuesGitHub all releases

The goal of PKSav is to be a small, fast, and portable library for interacting with and manipulating Pokémon save files. It is written in pure C with no external dependencies, which allows it to be deployed on a wide variety of platforms, from PC's to smartphones to handheld consoles.

It is not meant to be a plug-and-play solution to save editing but rather the internal workings of a larger library that provides users with a more convenient interface. Being written in C, it can easily be wrapped in a larger C/C++/Objective-C library or be called as native functions in languages such as C# or Java.

Currently, only American save files are supported, as save files from different regions are often laid out differently, usually to accomodate strings having different lengths between regions.

Component Status

  • Generation I: complete
  • Generation II: complete
  • Game Boy Advance: complete
  • All other generations: not implemented

Acknowledgments

  • PKSAV (@ncorgan), the original library this was forked from.
  • PRET (@pret), whose Pokémon disassemblies greatly contributed to this library's functionality.
  • Vicky "Endrift" Flau (@endrift), whose mGBA emulator allowed for further reverse-engineering.
  • Michael Bond (@codemonkey85), for consulting on game mechanics.