Homebrew [Project] 3FHex. PkHex on 3ds

  • Thread starter Thread starter I_AM_L_FORCE
  • Start date Start date
  • Views Views 23,221
  • Replies Replies 171
  • Likes Likes 6
Do you select a game in homebrew launcher when you select PCHex ? If not, make sure you copied the .xml file, if it still doesn't work, I'll look at it...
 
Alright, got some progress, you can now see more than the first pokemon, and a bit of additional info is shown, I also fixed the decryption, as it was not doing it correctly.
I'm starting to work on a basic terminal-based UI, after that I'll look at exporting probably
 
Maybe i can help but im only understanding alittle bit. But these values at the end like where 26 is. Is this where you are getting the hex values to be displayed? Explain how this works if you would please. http://postimg.org/image/48scp7vsd/

EDIT: I kinda have a idea on how it works. But just not there yet.
 
Last edited by MOBSTER_X,
Oh this is sweet. I hope you can get a decent UI going for it. It'd be awesome to edit straight from 3DS.
 
Maybe i can help but im only understanding alittle bit. But these values at the end like where 26 is. Is this where you are getting the hex values to be displayed? Explain how this works if you would please. http://postimg.org/image/48scp7vsd/

EDIT: I kinda have a idea on how it works. But just not there yet.

Alright I'll try to explain, it's a C memory trick I use to directly import the data from the decrypted pokemons...
First the decrypted pokemon is seen as just an array of 232 bytes (it's named u8 *dec through most of my code)
You see, a structure in the memory is the same as an array of byte, the only thing that changes is how it treats the bytes, so I just tell the program that the decrypted array is actually the pkx structure, and this structure has elements that define what is what.

For example in your screen, I tell it that the 26 bytes that are at the beginning of block B (ie bytes number 64 to 89) are where the "Nickname" is stored


In general I've made a lot of progress since the last time I posted, I have a decent GUI (Still need to import move, ability and item names) and I'll tackle pokemon exporting as soon as I'm finished with it
Screen of WIP GUI : http://i.imgur.com/AnrLny5.jpg
 
Last edited by Stracker,
  • Like
Reactions: JJTapia19
Amazing progress man. I have been trying to figure out moves i get an id of the current move but no text.
 
There is no editing just yet, this is mainly a draft whith just data reading, but I now know enough about the save files to start getting into writing saves.
I'm being really careful with that though, I'll just export to sd first and then maybe touch the savefiles directly, the risk of corruption is there.
 
Hey everyone ! I got good news !
After dabbling for several hours with checksums I finally managed to export a working save (once again, thank god PKHex is open source).
In short, editing is in !

What i've got is still very basic, you can only edit exp and friendship for now, but adding the rest is now just a matter of adding fields for the data, most of the save Import/Export is done and seems to work.
 
Hey everyone ! I got good news !
After dabbling for several hours with checksums I finally managed to export a working save (once again, thank god PKHex is open source).
In short, editing is in !

What i've got is still very basic, you can only edit exp and friendship for now, but adding the rest is now just a matter of adding fields for the data, most of the save Import/Export is done and seems to work.
What format are you working on first? PK6 or main .SAV file?
 
What format are you working on first? PK6 or main .SAV file?
Right now, it extracts the selected game's save file, and exports the modified save to sd. You still have to use a save manager to inject it back to the game. It IS intentional, security against save corruption.
If I understand the pk6 format correctly, using it should be pretty easy, since the handling is the same as the decrypted pokemons in the save.
 

Site & Scene News

Popular threads in this forum