Jump to content

pk3DS: Pokémon 3DS ROM Editor and Randomizer


Recommended Posts

I feel a decent guide could really bolster 6th Gen editing as all these wonderfuls tools have been made but the process of editing is closed off and can be quite overwhelming to new users.

There are plenty of guides on how to do this. I feel that the issue here is that most users are too lazy to simply search for it themselves.

A quick google search should come up with a guide from either Gbatemp or PokemonTrash.

http://www.pokemontrash.com/jeux-pokemon/decrypter-compiler-rom-3ds.php

https://gbatemp.net/threads/tutorial-how-to-decrypt-rebuild-3ds-rom-run-oras-without-his-update.383055/

If this really becomes an absolute problem for most users, I'll see if I can post a VERY simplified step by step guide with images here on this subforum.

Link to comment
Share on other sites

I have too many problems when I use pk3ds.

First of all, when I launch it with Pokémon X (USA) romfs and exefs, I have this error message :

"Could not get the GARC :

System.IO.EndOfStreamException : Impossible de lire au-delà de la fin du flux.*

à System.IO.BinaryReader.FillBuffer(Int32 numBytes)

à System.IO.BinaryReader.ReadUInt32()

à pk3DS.ARC.Unpack(String garcPath, String outPath, Boolean skipDecompression, ProgressBar pBar1, Label label, Boolean supress, Boolean bypassExt)

à pk3DS.Main.getGARC(String infile, String outfolder, Boolean PB, Boolean bypassExt)

(Yes I'm french, it's why there's a part of french. * The french message says "Impossible to read beyond the end of the flow.")

I used the text editors, without problem.

Otherwise, when I use the the Wild Editor and the Trainer Editor it crashes, either with the .exe or with the project opened with Visual Studio.

It displayed me "DirectoryNotFoundException was unhandled

An unhandled exception of type

'System.IO.DirectoryNotFoundException' occured in System.Windows.Forms.dll"

Additional information : Impossible de trouver une partie du chemin d'accès (= Impossible to find a part of the path) 'C: \Usern\[...]pk3DS-master\pK3DS\bin\Debiug\personal'." It redirected me to this part of the main.cs in the project "Invoke((Action)(() => new RSTE().ShowDialog()));".

I did it in other computer, I got the same thing.

Howhever, I launched XYWE and XYTE, there was no problem. I extracted the GARC, and I could edit the files. But the tools are not up to date : there's no randomizer.

So :

- What is my ecountered problem ? What's the solution ?

- Is it possible to update the XYWE and XYTE seperately from the pk3DS please ?

Thank for your help (and sorry for my bad english).

Edited by Jowlbood
Link to comment
Share on other sites

Seems you can't change the Level Up movepool of Eternal Flower Floette, Cosplay Pikachu, Black and White Kyurem etc. Especially since they have different Level-up move tables.

Thanks for bringing this to my attention. Fixed in the latest commit!

-----

Jowlbood:

The GARC end of stream implies that the GARC header info says there is data beyond the length of the GARC file, which obviously doesn't exist. This likely causes the subsequent error as it fails to create the game asset data (for personal data?).

DirectoryNotFound implies that pk3DS was unable to create the GARC folders needed to obtain data from. The "personal" folder should be created when the program first loads the ROM data. The above error results in the folder never being created.

I would try re-extracting all of the files as it seems that the personal GARC may be corrupt or invalid.

Link to comment
Share on other sites

On the Trainer editor when I select a Pokemon which has multiple forms the wrong abilities are displaying. For example, gyarados is shown as having all three ability slots as 'Parental bond'.

This is a great set of tools btw; only getting round to trying it out now!

Link to comment
Share on other sites

Is there any way to raise the trainer's level, without messing up everything else? All I want to do is boost the trainers levels by 50% and raise their difficulty, but if I uncheck the 'random moves' and 'random held items' options, it removes all the existing moves and items from the trainers, too. It's either random, or nothing.

Link to comment
Share on other sites

On the Trainer editor when I select a Pokemon which has multiple forms the wrong abilities are displaying. For example, gyarados is shown as having all three ability slots as 'Parental bond'.

This is a great set of tools btw; only getting round to trying it out now!

This has been fixed (not sure if this is in the currently posted version. If not, I'll probably get around to posting another update sometime this week. It was just a cosmetic glitch; those abilities are not the ones that the Pokémon will have.

Is there any way to raise the trainer's level, without messing up everything else? All I want to do is boost the trainers levels by 50% and raise their difficulty, but if I uncheck the 'random moves' and 'random held items' options, it removes all the existing moves and items from the trainers, too. It's either random, or nothing.

Fixed in the latest commit (also with some code cleanup). Thanks for reporting!

Link to comment
Share on other sites

So, I managed to get what this guy here got. It seems that scrolling past Game Text #31 will always remove the gender symbols from the list for me. Pasting them back in doesn't work either, and the effects of this in-game are that there's blank space wherever the game would display gender. Is there a way to manually edit the /a/0/7/3 file?

Link to comment
Share on other sites

So, I managed to get what this guy here got. It seems that scrolling past Game Text #31 will always remove the gender symbols from the list for me. Pasting them back in doesn't work either, and the effects of this in-game are that there's blank space wherever the game would display gender. Is there a way to manually edit the /a/0/7/3 file?

Thanks for reporting, looks like quite an old bug where the special character handling never wrote the data.

Fixed in the latest commit.

Link to comment
Share on other sites

@Kaphotics : You you can add a way to re-import a txt in the text editor ?

Like your Dump to.txt, but with "Import all a txt file"

Can be very useful to make multiples edits. Like for change name.

I want mean :

Pk3DS Text Editor > Dump to txt > Open the txt with a Txt Editor > Ctrl+H "Roxanne -> Asia81" > "Save the Txt" > pk3ds Text Editor > Import all a txt file

Or add this way to make many edits directly in the text editor...

I want make an full hackrom, but i need to make several work, change names take a long time...

Thanks <3

Link to comment
Share on other sites

I was always wondering if anyone wanted that and thought that it'd be nice to have :)

I should have it done by the end of the week, so long as there aren't any other bugs to chase!

Oh my god, an "import from CSV" button would be incredible. I do most of my planning in Excel, so it would be great to be able to just click a button and pull it all into the ROM editor! Also, thanks for fixing the gender thing.

Another request is for an "archive all values" option and an "apply from archive" one to match. I'd like to have PK3DS output a file that contains every single value it CAN modify, and the value of each of those. Then, we can share our ROM hacks without distributing game files themselves!

Also, some "quick scripts" would be nice. I'd like to see one that adds everything from the "egg" and "tutor" list for a Pokémon to its (and its evolution's) Level-Up Movepool at Level 1, so people can access the full movepool from the standard Move Reminder.

Edited by Dio_Vento
Link to comment
Share on other sites

Hmm, so I completed a randomizer nuzlocke runthrough just now (many kudos to you for making your awesome tool that made that possible), but the game soft-locked directly before the cutscene where May/Brendan asks you to battle them in the credits after beating the elite four the first time. I randomized Personal, Level Ups, Wild, Egg Moves, and Trainers. I used some modified May models over her alone however these loaded up correctly 100% of the time where they were observable in the game so I feel its highly unlikely to be that.

Not really sure what might have happened, but if this is an issue with the randomizer I feel like it'd be good to report.

Link to comment
Share on other sites

@Kaphotics : Can you add a way to re-import a txt in the text editor? Thanks
Done! Implemented in latest commit.

Old exports can't be imported; so just re-export and use the new one.

Oh my god, an "import from CSV" button would be incredible. I do most of my planning in Excel, so it would be great to be able to just click a button and pull it all into the ROM editor! Also, thanks for fixing the gender thing.
Importing text would require some text recognition special to each type of export, so it'd get pretty tedious programming and testing all of them. I'd rather people just use the program, it already keeps backups ;)
Another request is for an "archive all values" option and an "apply from archive" one to match. I'd like to have PK3DS output a file that contains every single value it CAN modify, and the value of each of those. Then, we can share our ROM hacks without distributing game files themselves!
I'd rather just tarball all the GARCs and call it a patch, since pk3DS can edit pretty much every GARC it opens to completion (sans moves, etc whatever).
Also, some "quick scripts" would be nice. I'd like to see one that adds everything from the "egg" and "tutor" list for a Pokémon to its (and its evolution's) Level-Up Movepool at Level 1, so people can access the full movepool from the standard Move Reminder.
I usually don't like to load multiple GARCs for one form, and I don't know if there's a hard-coded limit on how many levelup moves a Pokémon can have. It's not too hard to add your requested 'egg-level' memory (tutor-memory would defeat their purpose ingame); just gotta know if it's actually feasible.
Link to comment
Share on other sites

I usually don't like to load multiple GARCs for one form, and I don't know if there's a hard-coded limit on how many levelup moves a Pokémon can have. It's not too hard to add your requested 'egg-level' memory (tutor-memory would defeat their purpose ingame); just gotta know if it's actually feasible.

If you do make this, can you make sure it also adds egg moves to the level-up list of Evolutions? Also, an "import" button for every function that has a "dump" button would be most appreciated.

I know I'm spamming you with requests, but another great feature would be if you could set moves in the Move Editor to perform the functions of other out-of-battle moves. For example, let Slash be selectable as Cut outside of battle.

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