Jump to content
MichiS97

[WIP] OmniEdit - A savegame editor for all gens (currently 1st and 2nd gen)

Recommended Posts

HUGE UPDATE: Second generation support is DONE! I've decided to make a huge jump from version 0.2 to 1.0 beta for a couple of reasons. First and foremost, now that PKHeX supports saves from generations three to six, my motivation to make OmniEdit compatible with every gen has slightly decreased since PKHeX already does everything I'd like my tool to do and it has a very nice, slim GUI. Additionally, OmniEdit is now ready to be used without many issues like the almost completely broken Box interface in the first release. Everything should now be working just as you'd expect it to.

Here are some screenshots so you get an idea of how the editor looks like.

F18lD8r.png

icDIKz0.png

1NZFEWY.png

fR2Gsrw.png

o8JtweC.png

WPZj1Yn.png

These are screens for second generation save files:

XgZEOoU.png

KTk9KjK.png

The sprites shown are game-specific, so you'll always see the Silver or Gold-specific sprite when you edit a Silver or Gold save, Crystal saves even show the in-game animation!

There are some things I'd like to explain here:

  • Shininess is still not handled perfectly. When all IVs except Attack are 10 and the Attack IV is at a non-shiny value, changing it to a shiny value (2,3,6,7,10,11,14,15) will automatically set it to 15. You can set it to a lower value afterwards, though.
  • Clicking the "Add a Pokemon"-button in the party or box interface while a Pokemon is still selected in the list will edit the selected Pokemon instead of adding a new one. Double-Clicking the list will deselect the Pokemon.
  • To make the editor automatically detect the version of your save file, put the name of the game into the file name, e.g. name it "Pokemon Crystal.sav", if you don't the editor will ask you which version you are playing.

That's already it. I will try to fix these little bugs in a later version.

Like I said, it currently supports Red, Blue, Yellow, Gold, Silver and Crystal. Some limitations are:

  • Special characters in names are NOT supported
  • The offsets I've used are from the North American release and have been successfully tested with the German version of the game by myself, but I can't guarantee that all regions are supported, Japanese versions of the 2nd gen games are definitely not supported!
  • Although I've never experienced a save file being corrupted by the editor, it is still coded to always create a backup of your file when you open it (all of these can be easily deleted by clicking the "Delete All Backups" option in the File tab.

So why should you use my editor instead of the ones currently released for the first generation? Well, it depends on if you like the way my GUI looks. Personally, I prefer my GUI to the one of PikaSav and Metropolis' editor, though Rhydon's is definitely superior. Apart from that, there's pretty much no reason to, my editor currently can't do anything you can't do with Rhydon (speaking of the 1st gen games, Rhydon doesn't support 2nd gen at the time I'm writing this)

But still, I would really appreciate if you could help me in improving my programming skills by testing OmniEdit and reporting bugs to me either in this thread or via PM, I will set up a dedicated E-Mail account as well. I'd also appreciate any sort of requests or recommendations.

So here is the beta release of OmniEdit 1.0, the ZIP is quite large because it includes all the necessary libraries for Qt: https://mega.nz/#!vYMQBYrL!BNaxUIKmMtyGjzrW_kpVRFHevfREZVNzQWvtCWU2TWE

The zip file in the attachments only includes the executable for easier sharing and updating.

I'm looking forward to hearing your feedback :)

Edited by MichiS97
1.0b Update

Share this post


Link to post
Share on other sites

Partly. The 1st and 2nd gen saves are all 32kB in size, so when you open a file with that size the editor will ask you which game you are playing from the possible six. Though I am planning on implementing a feature that will automatically detect the game if the file name has one of the names of the games in it (e.g Yellow, Crystal,...).

Share this post


Link to post
Share on other sites

I've uploaded a new version that supports automatic detection of the game version. Like previously stated, the file name must contain one of the words "yellow", "blue" or "red" (case insensitive of course).

EDIT: I've also added a ZIP archive to the first post which only includes the executable.

Share this post


Link to post
Share on other sites

HUGE UPDATE: Second generation support is DONE! I've decided to make a huge jump from version 0.2 to 1.0 beta for a couple of reasons. First and foremost, now that PKHeX supports saves from generations three to six, my motivation to make OmniEdit compatible with every gen has slightly decreased since PKHeX already does everything I'd like my tool to do and it has a very nice, slim GUI. Additionally, OmniEdit is now ready to be used without many issues like the almost completely broken Box interface in the first release. Everything should now be working just as you'd expect it to.

Share this post


Link to post
Share on other sites
Which version of the game are you playing? Can you send me your save file? I can't replicate the issue, it works on my end

I'm sorry, I should have been more specific. The save data is destroyed when I click "All Seen" and "All Owned", but just now I've restarted, repeated, clicked File → Save File and it worked. The last two times—it happened twice—I clicked Save Changes in the lower-left corner. Hmm...

Share this post


Link to post
Share on other sites
I'm sorry, I should have been more specific. The save data is destroyed when I click "All Seen" and "All Owned", but just now I've restarted, repeated, clicked File → Save File and it worked. The last two times—it happened twice—I clicked Save Changes in the lower-left corner. Hmm...

Sorry, I'm not at home until Friday and I don't have the source code on my notebook. I'll have a look once I'm at home but I do recall that both ways of saving the file should use the exact same function, we'll see.

Share this post


Link to post
Share on other sites
Sorry, I'm not at home until Friday and I don't have the source code on my notebook. I'll have a look once I'm at home but I do recall that both ways of saving the file should use the exact same function, we'll see.

Understood. I've had it happen again with File → Save File so basically it destroys or spares the save data whenever it feels like it. However, I can still open the save file with Pikasav and saving over it with that program solves the problem. I don't know if I can still open it with OmniEdit because I assumed I couldn't for whatever reason.

Share this post


Link to post
Share on other sites
Understood. I've had it happen again with File → Save File so basically it destroys or spares the save data whenever it feels like it. However, I can still open the save file with Pikasav and saving over it with that program solves the problem. I don't know if I can still open it with OmniEdit because I assumed I couldn't for whatever reason.

Wait so when you load the broken save file in Piksav and saving it again without changing anything the save works again? That would mean it's a checksum issue.

Share this post


Link to post
Share on other sites
HUGE UPDATE: Second generation support is DONE!

Have you considered adapting Rhydon and converting it into a gen 2 editor? By keeping the overall structure of the program it shouldn't be too difficult to do and it would help in eventually getting it into pkhex. In fact SciresM has started adding Rhydon into pkhex.

Pkhex is becoming the tool. Centralizing all efforts into a single program seems way better, as multiple developers focusing on the same program will most likely lead to a better application, even if some developers only focus on some generations.

Just a suggestion, I've wanted to attempt forking Rhydon to make "Rhypherior" (seemed a good name for gen 2 editor), but my free time is pretty low right now.

Share this post


Link to post
Share on other sites
Have you considered adapting Rhydon and converting it into a gen 2 editor? By keeping the overall structure of the program it shouldn't be too difficult to do and it would help in eventually getting it into pkhex. In fact SciresM has started adding Rhydon into pkhex.

Pkhex is becoming the tool. Centralizing all efforts into a single program seems way better, as multiple developers focusing on the same program will most likely lead to a better application, even if some developers only focus on some generations.

Just a suggestion, I've wanted to attempt forking Rhydon to make "Rhypherior" (seemed a good name for gen 2 editor), but my free time is pretty low right now.

I'll definitely look into that.

Share this post


Link to post
Share on other sites
Centralizing all efforts into a single program seems way better, as multiple developers focusing on the same program will most likely lead to a better application, even if some developers only focus on some generations.

Couldn't agree more. I know I'm just one voice, but this is what I've wanted to see at Project Pokemon for as long as it's been here.

Share this post


Link to post
Share on other sites
Have you considered adapting Rhydon and converting it into a gen 2 editor? By keeping the overall structure of the program it shouldn't be too difficult to do and it would help in eventually getting it into pkhex. In fact SciresM has started adding Rhydon into pkhex.

Pkhex is becoming the tool. Centralizing all efforts into a single program seems way better, as multiple developers focusing on the same program will most likely lead to a better application, even if some developers only focus on some generations.

Just a suggestion, I've wanted to attempt forking Rhydon to make "Rhypherior" (seemed a good name for gen 2 editor), but my free time is pretty low right now.

I wouldn't bother -- I will be adding Gen II support to PKHeX following my finishing Gen I support.

I'd also like PKHeX to be "the tool" -- and so the more people wanting to improve it the better :)

Share this post


Link to post
Share on other sites
I wouldn't bother -- I will be adding Gen II support to PKHeX following my finishing Gen I support.

I'd also like PKHeX to be "the tool" -- and so the more people wanting to improve it the better :)

That's good news, I though you weren't interested in gen 2 until a gen 2 re-release for VC. I guess either I was wrong or that changed, but either way I'm happy to hear about it!

Share this post


Link to post
Share on other sites
That's good news, I though you weren't interested in gen 2 until a gen 2 re-release for VC. I guess either I was wrong or that changed, but either way I'm happy to hear about it!

That was, indeed, the case, but then I also wasn't interested in adding Gen 1 support to PKHeX ;)

Share this post


Link to post
Share on other sites

SciresM, the Gen 1 support is doing very well and fast, thanks to you! Keep your good work man! PKHeX will be THE tool.

Share this post


Link to post
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...