Jump to content

PkmGCSaveEditor, a Pokémon Colosseum/XD save editor


Tux

Recommended Posts

PkmGCSaveEditor

PkmGCSaveEditor is a cross-platform, open source (GPLv3) Pokémon Colosseum and Pokémon xD save file editor. It comes with its backend library, LibPkmGC (LPGLv3) (not documented yet).

Links:

October 18th: Version 1.2.2. -Pok%C3%A9mon'>A guide on how to make legal Colosseum/XD Pokémon

October 10th: Version 1.2.1.

October 3rd: Version 1.2.0. Please redownload the required libraries. Note: by default, PkmGCSaveEditor now checks for updates at startup. If it's causing you crashes (netio.sys) (Windows 10, you know ...), then turn off your network card, start the program again, and uncheck "Check for updates at startup" in "Options".

September 27th: Version 1.1.2 Fixed a bug affecting Pokémon xD

September 19th: Version 1.1.1. Money and Pokécoupons are now limited to 9,999,999. Bag items are limited to 99 again in Pokémon Colosseum (use the PC storage system to fix bag entries with more than 99 items). Users of previous versions, please read:

  • If and only if you have modified a Colosseum save file with that previous version, please load this save file again, and click "Bugs affecting Pokémon..."(in "Options", "Bug fixes"). Do it only once and only once (for each concerned save file).
  • If you have imported or exported a Pokémon in the GBA format, please check its status alteration, its EVs, and its game of origin.

September 13th, 2015: Version 1.1

September 2nd, 2015: BUGFIX: missing dlls on windows.

Current features:

  • You can edit all of your Pokémon. You can import/export Colosseum, xD and GBA Pokémon files and Base64 strings. Conversion between these formats is fully supported and is almost done like the game does in a trade. Please notice that A-Save discards all party-related information (e.g status alteration). The devil is in the detail.... You cannot edit the information specific to Shadow Pokémon, though.
  • You can edit your game configuration. In particular, you can change your save language.
  • You can edit your trainer info (name, IDs, gender (!), money and Pokécoupons), your bag and your Party.
  • You can edit your PC (both Pokémon and items).
  • You can edit your Daycare.
  • You can edit your Strategy Memo.
  • On xD, you can edit your Purifier.

Additional features *partially* supported by the backend library only:

Editing your Mailbox and your Battle Mode data.

Supported languages:

Special thanks to:

peterpansexuell (German translation), Yago (for testing), Ralf (for his "offset tables"), StarsMMD, Tiddlywinks.

Tips: The most recent versions of Dolphin (e.g. 5.0-rc) can directly read and write to GCI files, making testing your changes much easier.

You can dump/restore your physical memory card contents using Ctr-Gcs-DacoTaco-Edition.

Edited by Tux
  • Like 3
Link to comment
Share on other sites

Nice work!

Thank you ^^!

The Pokémon data structure in Colosseum / xD is very similar, if not identical, to the GBA games.

No, not really. Pokémon Colosseum and xD do not even share the same Pokémon format; see http://pastebin.com/5ej4AXQw. However, they have obviously a lot of fields in common; there is almost a one to one correspondance between the two formats (Shadow Pokémon Data put aside). I have found the address of the fonction converting from xD to GBA.

I need to have time, though.

Link to comment
Share on other sites

I have found the address of the fonction converting from xD to GBA.

I know of a project on GitHub that could be helpful to you: https://github.com/ncorgan/LibPKMN/search?utf8=✓&q=gen3

I need to have time, though.

I'm a dev too - I know all about needing time! But it's not like there's a rush. I was just making a suggestion. :-)

Link to comment
Share on other sites

I'm a dev too - I know all about needing time! But it's not like there's a rush. I was just making a suggestion. :-)

^^. I thought about that feature too when I was designing my library, but decided not to implement it straight away ... :)

I meant than I may not even have time to code, because of school. :smile:

Link to comment
Share on other sites

Nice work. I actually really needed something like this to help with my research. Do you think you'd be able to add a way to change your current in-game location? If you have trouble figuring out where it is in the save file, you can try moving around and saving in different locations without changing anything else. The only things that would change would be things like the play time, purification counters, pokespot status, day care status and the current location. If you empty the day care, keep all shadow pokemon in boxes and leave no pokesnacks out, then you should be able to compare the save files pretty easily I'd presume.

Also does it allow you to save the decrypted save file as a binary file? I would love to poke around the data as well and see what I can find.

Link to comment
Share on other sites

New version: 1.1

Links: Program + Required libraries

  • GBA Pokémon are now fully supported.
  • As a consequence conversion between Colosseum, xD and GBA Pokémon is now fully supported.
  • It is done (almost) exactly like it is in Colosseum/XD during a GC<->GBA trade (meaning, for example, that the data specific to shadow Pokémon is lost).
  • Please note that A-Save discards all party-related information (e.g status alteration). The devil is in the detail...

  • The maximum number for items has been raised to 999.
  • Some bug fixes (Strategy Memo edition now working properly etc...).
  • PkmGCSaveEditor now has an icon!

Nice work. I actually really needed something like this to help with my research. Do you think you'd be able to add a way to change your current in-game location? If you have trouble figuring out where it is in the save file, you can try moving around and saving in different locations without changing anything else. The only things that would change would be things like the play time, purification counters, pokespot status, day care status and the current location. If you empty the day care, keep all shadow pokemon in boxes and leave no pokesnacks out, then you should be able to compare the save files pretty easily I'd presume.

Also does it allow you to save the decrypted save file as a binary file? I would love to poke around the data as well and see what I can find.

Thank you! You could already change your Daycare's status. About the in-game location as well as the pokespot status, I think they are stored in various flags. I don't know where or how the latter are stored.

The two games store the Shadow Pokémon data very differently : in Colosseum, it is located within the Pokémon data; in xD, it is not ...

And just for you :biggrin: : http://www.mediafire.com/download/21zhc63m772nnrz/GCSaveSlotsSideBySide.zip. Copy your save file as "save.gci" in the executable's directory. Please note that xD does not clean its save buffer, so you will get trash data.

Edited by Tux
Link to comment
Share on other sites

New version: 1.1

Links: Program + Required libraries

  • GBA Pokémon are now fully supported.
  • As a consequence conversion between Colosseum, xD and GBA Pokémon is now fullysupported.
  • It is done (almost) exactly like it is in Colosseum/XD during a GC<->GBA trade (meaning, for example, that the data specific to shadow Pokémon is lost).
  • Please note that A-Save discards all party-related information (e.g status alteration). The devil is in the detail...

  • The maximum number for items has been raised to 999.
  • Some bug fixes (Strategy Memo edition now working properly etc...).
  • PkmGCSaveEditor now has an icon!

Thank you! You could already change your Daycare's status. About the in-game location as well as the pokespot status, I think they are stored in various flags. I don't know where or how the latter are stored.

The two games store the Shadow Pokémon data very differently : in Colosseum, it is located within the Pokémon data; in xD, it is not ...

And just for you :biggrin: : http://www.mediafire.com/download/21zhc63m772nnrz/GCSaveSlotsSideBySide.zip. Copy your save file as "save.gci" in the executable's directory. Please note that xD does not clean its save buffer, so you will get trash data.

Thanks a lot. I'm gonna have a lot of fun with this ;)

Link to comment
Share on other sites

Thanks a lot. I'm gonna have a lot of fun with this ;)

You're welcome :biggrin:.

http://www.mediafire.com/download/21zhc63m772nnrz/GCSaveSlotsSideBySide.zip (Fix for Pokémon xD)

By the way even if I don't know where the player's location is stored, I do know that, in Pokémon xD, the player's (X,Y,Z) coordinates as well as his "Y angle" are stored in the player's data ([Pokémon xD] 0x93a: u16 playerYAngleInDegrees, 0x93c: float playerCoordinates[3], the player's name being located at offset 0 of this substructure)

Link to comment
Share on other sites

You're welcome :biggrin:.

http://www.mediafire.com/download/21zhc63m772nnrz/GCSaveSlotsSideBySide.zip (Fix for Pokémon xD)

By the way even if I don't know where the player's location is stored, I do know that, in Pokémon xD, the player's (X,Y,Z) coordinates as well as his "Y angle" are stored in the player's data ([Pokémon xD] 0x93a: u16 playerYAngleInDegrees, 0x93c: float playerCoordinates[3], the player's name being located at offset 0 of this substructure)

That's great! I'll see if I can find where the current map is saved. I've seen a list of all the in-game locations in a table in common_rel so I can see if that's helpful.

Link to comment
Share on other sites

... I just figured out it was to do a bug in my program. In Pokémon Colosseum, the Pokémon's IVs are not saved properly ... fortunately there is a way to recover from this.

I will fix that error before this WE.

Until then, do NOT use my save editor for Pokémon Colosseum. xD is unaffected by this bug.

Link to comment
Share on other sites

New version: 1.1.1

Program + Required libraries

There were more bugs than I expected...

Money and Pokécoupons are now limited to 9,999,999. Bag items are limited to 99 again in Pokémon Colosseum (use the PC storage system to fix bag entries with more than 99 items).

To users of previous versions:<ul><li>If and <b>only</b> if you have modified a <b>Colosseum</b> save file with that previous version, please load this save file again, and click "Bugs affecting Pokémon..."(in "Options", "Bug fixes"). <b>Do it only once and only once</b> (for each concerned save file).</li><li>If you have imported or exported a Pokémon in the GBA format, please check its status alteration, its EVs, and its game of origin.</li></ul>

And for StarsMmd: http://www.mediafire.com/download/21zhc63m772nnrz/GCSaveSlotsSideBySide.zip

Edited by Tux
Link to comment
Share on other sites

NOTE: please redownload the required libraries from here

  • The interface can now be displayed in German (thanks peterpansexuell)
  • Updates can now be automatically checked for at startup (this is the default)
  • New features:
    • Ribbon descriptions can now be modified (7 ribbons are concerned)

    • Pokémon can now be imported/exported from/to Base64 strings

    • On Colosseum, you can now change Rui's name

    • Minor changes and bugfixes

Link to comment
Share on other sites

PkmGCSaveEditor 1.2.1:

  • Mostly ergonomic changes:
    • Move names are now displayed next to CTs.

    • Added autocompletion for Pokémon, item, and move combo boxes.

    • Added the following buttons to the Strategy Memo editor: 'Fill memo' (for both Colosseum and
      xD
      ) and 'Fill memo (all shiny)' (for Colosseum only) buttons.

    • Stats boosted (resp. hindered) by the different natures are now displayed in red (resp. blue).

@StarsMmd : http://www.mediafire.com/download/21zhc63m772nnrz/GCSaveSlotsSideBySide.zip

Edited by Tux
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...