• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: Nerketur's Pile of Tools

Nerketur

PokéScripter
104
Posts
13
Years
I thought I'd make this thread to help with showcasing my own tools. Plus, so my tool won't clutter up the research I'm doing on PMD EoT. The tool I'm making isn't finished yet... but Alphas of it are out!. =D

News:
  • BETA 1 still in the works!
  • Wow it's been a while!
  • Download links fixed (again)!
NEWS
So I haven't updated in here in a while, and wanted to provide at least some explanation.

First of all, I finally fixed the download links (again). You can now download the alphas again!

Second, I now have no ETA on when beta and beyond will ever be released. I'm hoping some time in 2018, but that is entirely dependent on my motivation. I've been focusing on my job and on starting to actually make my own new games with Unity, so I haven't had much time at all to work on this. However! I did make a discord and made a hacking server on it so as to be able to collaborate efforts on doing this. So fret not, work is being done, albeit at a much slower rate. I still plan to finish this one day, even though there are now probably better tools that can do the same things. I'm just happy to have started a true want for PMD hacking, as its one of my favorite game series' of all time.

Third, I will still pop on here every so often and check PMs, but don't expect many updates going forward. The bulk of the work of my editor is done, and I'll probably release the source some time before 2020. When I do, I give everyone free permission to look at the source code and create derivative works without need of payment to me or anyone else. All I ask is that you include a link back to the original and give me attribution.

I thank everyone for their support in this process, and truly hope that my tool is and will be of use to many people in the future.

PMDSE
Pokemon Mystery Dungeon Script Editor
Have you ever wanted to hack PMD, but felt discouraged by the lack of tools and info on it? Ever wanted to have your partner say a few choice words to Team Skull? Well, with my tool, you finally can!
Spoiler:

(Image in spoiler shows current screenshot)
Things may change with time... but as of yet, the features are as follows:

Current features:
  • Strings, constants, and groups are shown below the files tree-view, and are editable!
  • SAVING IMPLEMENTED! (for HEX ONLY)
  • Overlap checking. The program will NOT let you save a file that overlaps a pre-existing file.
  • Can read in the entire ROM, and parse the script files inside it.
  • Hex (in words) and partial assembly are shown in the same textbox. A checkbox is used to change between them
  • The file you are looking at in the ROM is Bold in the tree view!
  • Can read .kao files, and limited support for AT4PX files
  • Code database now included as a text file.

Features not fully implemented:
  • ONLY .NDS roms can be parsed (and of those, only the PMD era of games are allowed.)
  • It currently only allows for loading of PMD: EoT, PMD: EoD, PMD: EoS, and PMD: BRT, english versions. Other versions could possibly work, but are not currently supported.
  • Files supported (alpha3): .SSB files
  • Files supported (Beta 1 upcoming): .SSA, .SSB, .SSE, .SSS, .LSD, .KAO
  • (prebeta) limited .at4px support
  • (prebeta) limited .kao support (will only load a portion, and view only)
  • (prebeta) editable names for commands in dict.txt (only change if you know what you're doing)

Known bugs (Prone to change closer to release):
  • PMD: BRT will appear to have no script. This is because of how the script is stored. It's in ARM9.bin and the overlay files, which the program does not currently check.
  • In double textbox mode (if I implement it (unlikely)) scrollboxes get out of sync easily if you use the arrow keys to move around the text boxes. If this happens, click the active scrollbar, and they will re-sync. (I have an idea of how to fix this, now. Might do so later.)
  • In certain rare cases, if the commands don't parse correctly (or key ones are missing) then the strings and "constants" will get messed up which will prevent the script from loading properly. This is currently only fixable by adding the unknown command to the parser. (Later I may make it so it can safely ignore this and still parse strings and constants properly, but for now it's a bug that I don't care to fix, as it helps me to easily identify problem areas. (It's a trivial fix now, but eh.))
  • Some commands are KNOWN incorrect and will be changed before beta.
  • If it can't parse the dict.txt file properly, the program ceases to work.
  • Saving assembly not working yet (will be implemented in full beta).
Planned fixes/tweaks before next release (crossed out when done):
  • UI enhancements (optional)
  • Create documentation (optional)
  • Allow for searching via "goto" (optional)
  • Allow for searching via double/right clicking a string/constant (optional)
  • learn more commands (stalled)
  • remake "actions" to more accurately reflect what I know. (almost complete)
  • make the code more efficient by removing redundancy (working on)
  • filter out files (and folders) in the NDS file that can't be opened (Can do, but now it seems silly)
Download link of alpha: https://www.dropbox.com/s/cx9zk3ww7003yy3/PMDSE.zip?dl=0
Download link of alpha 2: https://www.dropbox.com/s/xrgigc8z673syt4/PMDSE Alpha 2.zip?dl=0
Download link of alpha 3: https://www.dropbox.com/s/f0r29kj5m7r1wdw/PMDSE Alpha 3.zip?dl=0
Dowenload link of pre-beta! https://www.dropbox.com/s/dvauwnulw9qmgko/PMDSE v1.1A.zip?dl=0
(If the link doesn't work, please inform me. Apparently Dropbox has limits. Also, for obvious reasons, there are NO ROMs included with this download. Find them elsewhere. Do not ask for them. =) )

For more info on what I'm doing, exactly, you can check on my research thread, here, or click the link in my signature.

If you find anything wrong, please tell me so I can fix it. If the program crashes, please tell me so I can fix it. If you want the source, please tell me. I'll likely release the source once it gets into beta stage. It's still changing a lot, but I'll put it on GitHub later. Any questions, don't hesitate to ask. =D

Also, one last thing. There are a lot of question-marks. If there's a question mark, that means I'm not positive about the command. Names are prone to change, UI is prone to change, and if there are any needed updates, I'll update the program.

And now, for your viewing pleasure... a video of what I did with the tool:
https://www.dropbox.com/s/8823do6riu4rs74/pmd-eot_36_16350.avi
 
Last edited:

Nerketur

PokéScripter
104
Posts
13
Years
Yay!

Alpha has been released!

Notes:

  • I've only tested on my own machine. It may or may not work in Linux, it works in Windows 7.
  • There are bound to be bugs in the program. I've already found and fixed a lot of them... but if anyone finds more, please inform me.
  • The text box in the top-right currently does nothing, and may soon be removed altogether.
  • Only fully tested with Pokémon Mystery Dungeon: Explorers of Time. (And it DOES check game IDs.)
 
15
Posts
12
Years
  • Seen Jun 2, 2017
YES, I've been counting the days 'til you released this! XD

I'll try it out right away- I'm sure everything works great, though.
 
1,344
Posts
14
Years
  • Seen Dec 10, 2021
Wow, this really looks good. I've always wanted to hack PMD (it is my favorite spin-off), but I think I'll hold off trying it until there's a bit more progress. ;D Good luck!
 

Nerketur

PokéScripter
104
Posts
13
Years
Small update

Right now I'm working on getting Sky fully compatable! So far, so good, too =D The commands are pretty easy to transfer, though they ARE different. It appears quite a few commands were inserted between existing commands, but I'm figuring it out. My program can already parse a lot of Sky (correctly), now, but I plan to have it so it can parse all commands from Time/darkness that I know, before I'm going to work on figuring out what the new commands are/do.

A few other changes, too:

  • More commands known
  • made the program slightly more modular
  • few minor bug-fixes
Other than that, we'll see what happens =P Sky is COOL! I'll leave it at that.
 

droomph

weeb
4,285
Posts
12
Years
Sorry for not helping out :P You should also start working on an image editor once you get that finished - that's about the only part of PMD that we'll need to change in order for full hacks.
 

Nerketur

PokéScripter
104
Posts
13
Years
Sorry for not helping out :P You should also start working on an image editor once you get that finished - that's about the only part of PMD that we'll need to change in order for full hacks.
I have good news and bad news about that.

Good news: Assuming I can create said file, I CAN put it in the ROM properly.

Bad news: In order to figure out how to make the files, I'd have to understand the PKDPX format (and SIR0) enough to re-create them and such. So, if I do make one, it'd be far in the future.

Okay news: You can use YY-CHR to view some of the images, and then put them back in the same way, (kind of like with unLZGBA, which you can probably use as well), but you'd have to understand how the images piece together and everything. This will not work with everything. But it will work with at least Pokemon Sprites, Dungeon Items, Floor Traps, and a select few others.

Basically, I have no plans to make said tool by myself. However, I am willing to work with someone else with figuring out the format, and then coding it together. Of course, this will be after the current tool is done/nearly done.
 
Last edited:

Nerketur

PokéScripter
104
Posts
13
Years
Small updates!

I've been working on integrating Explorers of Sky support, and so far, so good! =D

The commands are all in the same order as Time/Darkness but new ones are added, so they have different numbers. =P Still, this is also helping me to understand beginnings and ends of commands, because the same command will have the same locations, just a different opcode. This makes them a lot easier to spot! I only have 16 more commands to figure out before I can say I've parsed everything known from Time into Sky. But finding places that use these commands is proving a bit tricky.

That said, I think I'll release a new alpha version every week, by Friday. At least, until I decide to make a beta version. At this rate, though, I may be done with this tool by the end of summer. =D
 

Nerketur

PokéScripter
104
Posts
13
Years
Quick update!

Sky and darkness are now parsable!

I'll be releasing the new version soon, prolly in about an hour. Fixing up a few things before I do so!


Alpha 2 is now out! Check the first post for full details and link.

Updates from old version:

  • Sky now will load properly.
  • Lots of commands fixed! (Improper length/name/description)
  • a few sky-only commands known.
  • added ability to load Explorers of Darkness.
  • More commands known!
 
Last edited:

Nerketur

PokéScripter
104
Posts
13
Years
Yay!

Looks like I figured out a lot more things, thanks to adding the ability to save!

KNOWN Features in next version:

  • Ability to save added!
  • Will NOT allow you to save over a different file in the ROM.
  • Works with Time, Darkness, AND Sky!
Possible additional features:

  • Ability to "compact" the rom
  • Ability to somewhat optimize space usage in a single click.
  • smart inserting! (moves other files out of the way)
  • Ability to add/remove files/folders (Folders, less likely.)
 
44
Posts
11
Years
thank youNerketur for this amazing tool! I've been searching for a long time for a tool to hack PMD, and now I found one!

...only problem is that I don't have any PMD ROMs in my PC to hack...

but I'll download one and I'll hack it=)

update: I downloaded a PMD EoD ROM, and opened it with the program.
It showed me the script file, and I changed just one word to try, but it doesn't save it.
Will this be able in the next version? And if yes, when will it be available?

Anyway, great job!=)
 
Last edited by a moderator:

Nerketur

PokéScripter
104
Posts
13
Years
thank youNerketur for this amazing tool! I've been searching for a long time for a tool to hack PMD, and now I found one!

...only problem is that I don't have any PMD ROMs in my PC to hack...

but I'll download one and I'll hack it=)

update: I downloaded a PMD EoD ROM, and opened it with the program.
It showed me the script file, and I changed just one word to try, but it doesn't save it.
Will this be able in the next version? And if yes, when will it be available?

Anyway, great job!=)
Yes, the next version of the tool comes out today. My previous post has most of the info for it =) As for when... Probably in... 4-ish hours. I usually release it around 10:00 PM ET.
 
Last edited:

Nerketur

PokéScripter
104
Posts
13
Years
Alpha 3 and saving! =D

Yay! Alpha three is out!

Features:

  • SAVING IS POSSIBLE!
  • Editing constants/strings is allowed via the box under the treeview.
  • Only hex is editable! (mainly because changing anything but hex and strings/constants will do nothing, currently.)
  • Tool will NOT allow you to accidentally overwrite nearby files in the ROM. It will also tell you exactly how many bytes of overlap there is. (Though it is slightly misleading. It only tells you the overlapping bytes. Not how many bytes you have to remove to get it to save.)
  • See the rest in original post!
Also... I believe the next release will be beta! =D I don't know if it will be ready by Friday, but we'll see. =)
 
44
Posts
11
Years
Allright! I just downloaded alpha 3, and once again opened PMD EoD, and changed a word in the partner's speech. Specifically, when the partner is at the beach and says "This is where I always end up when I'm feeling sorry for myself", I changed the word "sorry" with the word bad. I then played the game on the emulator, and the partner now said "This is where I always end up when I'm feeling bad for myself".

In other words, your tool works perfectly! Great job! I can't wait for the beta.
 

Nerketur

PokéScripter
104
Posts
13
Years
Allright! I just downloaded alpha 3, and once again opened PMD EoD, and changed a word in the partner's speech. Specifically, when the partner is at the beach and says "This is where I always end up when I'm feeling sorry for myself", I changed the word "sorry" with the word bad. I then played the game on the emulator, and the partner now said "This is where I always end up when I'm feeling bad for myself".

In other words, your tool works perfectly! Great job! I can't wait for the beta.

I'm glad you approve! There are going to be a LOT of improvements in the future! I'm already working on the next release =P I've decided next release will be beta... But I haven't decided when to actually release the first beta. Could be Friday as usual, could be next Friday, I don't really know. All I do know, is I will announce the day beforehand. So, check back every so often =D
 

droomph

weeb
4,285
Posts
12
Years
It's a fantastic tool - the addition of the save tool makes it so much more convenient! No longer do I have to copy + paste the commands - it's all laid out neat for me!

It makes me regret not helping ya out more :\ well I hope you can forgive me because the advent of this new tool is the single reason I'm getting back into hacking! It's literally that good. Don't ever stop Nerky or else you will be the reason I leave PC >:(
 

Nerketur

PokéScripter
104
Posts
13
Years
It's a fantastic tool - the addition of the save tool makes it so much more convenient! No longer do I have to copy + paste the commands - it's all laid out neat for me!

It makes me regret not helping ya out more :\ well I hope you can forgive me because the advent of this new tool is the single reason I'm getting back into hacking! It's literally that good. Don't ever stop Nerky or else you will be the reason I leave PC >
:(
=D I'm glad you like it. And, no worries. You're forgiven. =)

And oh? My tool is why you're getting back into it? You must really like it a lot. I have no plans to stop. Slow down a bit, perhaps, but I won't stop until PMD is fully hackable, even if it means I have to do everything myself. =P

That said, though, I'm glad people like my tool. It gives me even more reason to work at it until completion. To be honest, though, I really don't think it's all that impressive yet. I'll only think it's impressive when it can do flashy stuff like update as you edit (which I plan to make it able to do during beta.) Then again... I'm one of those people that isn't satisfied with small stuff. The biggest thing about my program now is saving to/loading from the ROM. The rest is just research, really. Research, tinkering, and experimentation.

Even if, in the end, people never use my tool, I'll still be using it myself to learn the inner workings of the ROM itself. The reason I'm doing this is partly for PC, partly to prove to myself that it can be done, and partly out of pure curiosity. How was it coded? Why was it coded that way? Can I make it better? These questions and more are why I'm making the tool. Mainly so I don't have to write all the hex by hand anymore. =)

Can you believe that's how this tool started? Soley because I thought "Hey... It's far too tedious to keep parsing this hex by hand. I think I'll make a program that can do it for me." Thus, PMDSE was born. =P Ahh, good times.

In any case, I'm having a blast with this, plus I'm learning quite a lot. PMD is such an interesting game. And, although I'll admit some of the magic of PMD is spoiled by looking at the script, the way they put everything together as a finished product amazes me, really. Even when you know exactly what's happening, it's very easy to get lost in how they portray the story.

...I don't know why I wrote such a long post. But... read it if you want to learn more about why I'm doing this. =) For now, I really just need sleep (almost 3 AM). So, fans, I bid you adieu until I get up. <3
 
Back
Top