Jump to content
Metropolis

Gen 1, 2, 3, 4, 5, 6, 7 PKX Editor + Converter website

Recommended Posts

Online editor

Convert a Pokemon all the way from Red -> Gold -> Ruby -> Diamond -> Black -> X -> Sun and back without downloading any software!

Here's the first version of a project I've been working on in Javascript - a full PKX editor for generations 1 through to 7.

Any Pokemon file (.PKX) exported from a save editor can be opened inside the browser, edited online then downloaded without any need for downloading or installing software.

Support for conversion between different generations is supported both ways, but in its early stages.

Abilities and held items will need manually correcting, but almost all fields are mapped automatically.

Free and nothing to download, edits Pokemon directly inside the web browser, should work on smartphones too.

Please report any bugs so I can improve the tool. Currently only supports individual Pokemon, not save games.

Any ideas or contributions for snazzing it up much appreciated.

Known bugs:

  • PK4 editing is broken
  • PK5 editing is broken
  • PK6 Memory intensity does not display correctly
  • PK6 Ability Number does not display correctly
  • Cross-generation conversion does not map all fields exactly

Upcoming features:

  • Nicer interface
  • Easy copy/pasting Pokemon by HTML link with base 64 encoded String
  • Improved conversion, looking up items and locations

Check out the editor here

  • Like 2

Share this post


Link to post
Share on other sites

Very good man, I can't wait to use the conversion!

I have a bug to report, When I loaded a Legit Bulbasaur starter of fire red, then download, and open with PKHeX(Editing the same Fire Red save), the Bulbasaur is nicknamed checked, but I didn't nicknamed him.

Edited by JHorbach

Share this post


Link to post
Share on other sites

Thanks. In gen 3 there is no flag indicating nickname like in later games, so I don't know what PKHex uses to decide if it's nicknamed or not, may be incorrect or may be that the terminator bytes need sorting out. For anyone interested the source code is /pk3/pk3IO.js and pk3Charset.js have the string operations that affect the nickname.

Share this post


Link to post
Share on other sites
Thanks. In gen 3 there is no flag indicating nickname like in later games, so I don't know what PKHex uses to decide if it's nicknamed or not, may be incorrect or may be that the terminator bytes need sorting out. For anyone interested the source code is /pk3/pk3IO.js and pk3Charset.js have the string operations that affect the nickname.

PKHeX compares The nickname in capital letters and Species name.

Anyway, Can I know why Google has blocked The upgrades of your app?

Share this post


Link to post
Share on other sites
Policy Issue: Your app was rejected for violating the Dangerous products policy and the Developer Distribution Agreement.

We don't allow content that harms, interferes with the operation of, or accesses in an unauthorized manner, networks, servers, application programming interfaces (APIs), or other infrastructure.

Google sees injecting Pokemon as hacking, expect other save editors or injectors to be removed similarly. Very disappointing news, there's nothing criminal or harmful about editing your own save data.

You're welcome to the source code to build the APK (and see that it does nothing of that sort!)

I'd rather invest efforts in a free browser based editor that runs on phones, computers with open sourced code to easily sort out bugs. Are there any others out there (to save me re inventing the wheel?)

Share this post


Link to post
Share on other sites
Google sees injecting Pokemon as hacking, expect other save editors or injectors to be removed similarly. Very disappointing news, there's nothing criminal or harmful about editing your own save data.

You're welcome to the source code to build the APK (and see that it does nothing of that sort!)

What a bad news. I'm developing an Android app about Pokémon hacking (save editor, ecc..)... What can I do?

Share this post


Link to post
Share on other sites

Either release independently through sharing the git repository or offer the APK for download. I'd work with the assumption Google will remove it rather than risk disappointment but don't be discouraged!

It's frustrating because Google have kept the app itself up by reject any update I've tried however trivial, which is bizarre.

It's worth noting that a central feature was the QR injection - perhaps an editor that only affects files already on the phone wouldn't be seen as 'hacking'. When I tried to release an update that removed the QR feature to comply it was still rejected however :(

Share this post


Link to post
Share on other sites

Here is a image of the problem I talked, seems that the OT name is messed too. I tried with A-save, and it's had the same character "?" in both OT and Pkm name.

Sem_t_tulo.png

Share this post


Link to post
Share on other sites
Either release independently through sharing the git repository or offer the APK for download. I'd work with the assumption Google will remove it rather than risk disappointment but don't be discouraged!

It's frustrating because Google have kept the app itself up by reject any update I've tried however trivial, which is bizarre.

It's worth noting that a central feature was the QR injection - perhaps an editor that only affects files already on the phone wouldn't be seen as 'hacking'. When I tried to release an update that removed the QR feature to comply it was still rejected however :(

Great! I wish that Google won't block my app :P Thank You Very much!

I'm so sorry for your application.

Share this post


Link to post
Share on other sites
Here is a image of the problem I talked, seems that the OT name is messed too. I tried with A-save, and it's had the same character "?" in both OT and Pkm name.

Sem_t_tulo.png

That's an easy fix - I'll reply when that's done.

Other likely bugs are in block rotation for gen 4 and 5, any feedback for that would be great.

Testing takes a lot longer than developing a tool you see :D

Share this post


Link to post
Share on other sites

Fix is live on the website for the ? in the nickname. The name bytes are now written with zeros after the terminator byte 255.

JHorbach could you try the Bulbasaur again to confirm the nickname is correct when opened in PKHex?

I've fixed the gen 4 nickname writing too. Gen 5 and 6 should be OK as is.

Gen 1 and 2 write terminator bytes 255 255 255 at the end, which is what I've seen in-game.

Thanks for the feedback.

Share this post


Link to post
Share on other sites
Fix is live on the website for the ? in the nickname. The name bytes are now written with zeros after the terminator byte 255.

JHorbach could you try the Bulbasaur again to confirm the nickname is correct when opened in PKHex?

I've fixed the gen 4 nickname writing too. Gen 5 and 6 should be OK as is.

Gen 1 and 2 write terminator bytes 255 255 255 at the end, which is what I've seen in-game.

Thanks for the feedback.

The Bulbasaur is 100% ok! Nice work Metropolis.

Edit: I don't know anything about this, if it's a problem or not, but when I load the files in a Hex Editor to compare, there are something different as you can see in this image!

Sem_t_tulo.png

... When I load your .pk3 file in PKHeX then save it, the saved file is the same as the original .pkm from PKHeX.

Share this post


Link to post
Share on other sites

I've fixed the checksum is now for all generations now, thanks.

The other known bug is the negative PID value and encryption constant - Javascript doesn't manage 32-bit unsigned easily as the leading bit is the sign bit.

The value should still be correct, but not in a nice format on screen.

In Java I used unsigned long to hold unsigned 32-bit (as that's 64-bit signed), not as easy in JS.

Memory Intensity (value 7) and Ability Number (value 4) differed from porybox when I opened the example Porygon from that, so need to tweak those.

Do you know which values those fields can have?

Again, the value will be correct but not displayed right on screen.

PK6 editing worked correctly otherwise, but PK4 and PK5 still needs work.

Thanks

Edited by Metropolis

Share this post


Link to post
Share on other sites

Updated with support for conversion between adjacent generations.

All fields should convert easily, but in this first implementation a few will need setting manually.

Support for item, location and ability mapping will arrive in an update soon.

Share this post


Link to post
Share on other sites

Cool! I'm at work now, when I get home will test it! Good work man!

I have some bugs to report

- When I transfer my mew from Gen 1 games, to Gen 3 to HP IV becomes 0, Mew's held item is invalid in Gen 2 too.

- When I transfer my Gen 3 Bulbasaur to Gen 2 and 1, it species is invalid... But I can change it manually.

Edited by JHorbach

Share this post


Link to post
Share on other sites
Only data files for an individual Pokemon are supported, not entire saves (yet).

Oh, I thought you made a new online version of your old converter. Keep up the good work!

Share this post


Link to post
Share on other sites

i'm trying to upload a pk1 file, but it tells me that the file needs to be either 56 or 67 bytes, but mine is 69 (oh my) bytes, and i know its working.

Share this post


Link to post
Share on other sites
On 8/8/2016 at 1:35 PM, Metropolis said:

Online editor

Convert a Pokemon all the way from Red -> Gold -> Ruby -> Diamond -> Black -> X -> Sun and back without downloading any software!

Here's the first version of a project I've been working on in Javascript - a full PKX editor for generations 1 through to 7.

Any Pokemon file (.PKX) exported from a save editor can be opened inside the browser, edited online then downloaded without any need for downloading or installing software.

Support for conversion between different generations is supported both ways, but in its early stages.

Abilities and held items will need manually correcting, but almost all fields are mapped automatically.

Free and nothing to download, edits Pokemon directly inside the web browser, should work on smartphones too.

Please report any bugs so I can improve the tool. Currently only supports individual Pokemon, not save games.

Any ideas or contributions for snazzing it up much appreciated.

Known bugs:

  • PK4 editing is broken
  • PK5 editing is broken
  • PK6 Memory intensity does not display correctly
  • PK6 Ability Number does not display correctly
  • Cross-generation conversion does not map all fields exactly

Upcoming features:

  • Nicer interface
  • Easy copy/pasting Pokemon by HTML link with base 64 encoded String
  • Improved conversion, looking up items and locations

Check out the editor here

 

On 8/8/2016 at 1:35 PM, Metropolis said:

Online editor

Convert a Pokemon all the way from Red -> Gold -> Ruby -> Diamond -> Black -> X -> Sun and back without downloading any software!

Here's the first version of a project I've been working on in Javascript - a full PKX editor for generations 1 through to 7.

Any Pokemon file (.PKX) exported from a save editor can be opened inside the browser, edited online then downloaded without any need for downloading or installing software.

Support for conversion between different generations is supported both ways, but in its early stages.

Abilities and held items will need manually correcting, but almost all fields are mapped automatically.

Free and nothing to download, edits Pokemon directly inside the web browser, should work on smartphones too.

Please report any bugs so I can improve the tool. Currently only supports individual Pokemon, not save games.

Any ideas or contributions for snazzing it up much appreciated.

Known bugs:

  • PK4 editing is broken
  • PK5 editing is broken
  • PK6 Memory intensity does not display correctly
  • PK6 Ability Number does not display correctly
  • Cross-generation conversion does not map all fields exactly

Upcoming features:

  • Nicer interface
  • Easy copy/pasting Pokemon by HTML link with base 64 encoded String
  • Improved conversion, looking up items and locations

Check out the editor here

Hey, not sure if you're still supporting this, but I've had a minor problem when transfering gen 6 > gen 5. All the stats, items etc transferred OK, and in PKHex everything was fine, but my game glitched when I inspected the mons I had transferred, so I decided to check using PokeGen and it seems nicknames and OT names aren't being correctly transferred. Seemingly, there should be a 0xFFFF string after the name has ended, but it comes out of the editor with a 0x0000 instead, so these names are invalid in-game (usually appearing as ????????????). PKHex didn't show this, but Pokegen did. After I edited the 0x0000 strings out, they worked just fine.

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...