Jump to content

onesav: a gen 1 save file viewer and editor


0x0

Recommended Posts

onesav is a save file viewer. Originally intended as editor, I became too lazy to actually finish any of its editing features apart from editing badges and OT/rival names.

Current version: 0.2

You need a C compiler that is C99-compatible and must be running an operating system/libc that supports some of the _BSD_SOURCE features as well as POSIX 1003.1-2001. Patches that port onesav to operating systems that are not Microsoft Windows are always welcome. Windows support is considered a bug, not a feature.

onesav ships with a man page that should outline details of using it. You can always also use the online help menu by typing ?.

onesav is licensed under the MIT license. The full text can be found in the COPYING file in the root directory. Installation is the usual ./configure && make && make install.

Known Issues

  • onesav can and probably will die with a segmentation fault when dealing with characters for the trainer or rival names outside the range of [A-Za-z0-9].
  • There is no Pokémon editing functionality.
  • There is no support for Pokémon nicknames yet.
  • Only support for raw save files, no other formats.
  • Only a text-based user interface is currently available.

Original Research

The daycare is internally a Pokémon list of exactly one Pokémon. The daycare data starts at 0x2CF4. If the byte at 0x2CF4 is equal to 0, the daycare is not in use. 0x2CF5 to 0x2DFF, inclusive, marks the space for the Pokémon name. 0x2D00 to 0x2D0A, inclusive, contains the OT data for the daycare Pokémon. Starting at 0x2D0B is the daycare Pokémon data, which is 33 bytes long, the length of a Pokémon in the box. I have been unable to find the step count to simulate the actual growth inside the daycare.

All other research data has been taken from http://bulbapedia.bulbagarden.net/wiki/Save_data_structure_in_Generation_I and http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_data_structure_in_Generation_I.

Patches

Patches for anything except Windows support will be taken, including, but not limited to, improving integration with Emacs. Should they not match the current coding style, I shall take the liberty to fix that. Should there be any bugs that can be easily fixed, I shall take the liberty to take care of that. Contributions are always welcome.

onesav-0.2.tar.gz

onesav-0.2.tar.gz

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...