• 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 places on the 'net to talk Pokémon and more! Community members will not see the bottom screen advertisements.
  • Want to share your adventures playing Pokémon?
    Check out our new Travel Journals forum for sharing playthroughs of ROM Hacks, Fan Games, and other Pokémon content!
  • IMPORTANT: Following a takedown request, the following hacks have been delisted from PokéCommunity:

    • Pokémon Glazed
    • Pokémon: Giratina Strikes Back
    • Pokémon Flora Sky
    • Pokémon Stranded
    The downloads and discussion threads for these hacks will no longer be accessible, and staff will be unable to return questions regarding accessing this content.

Tool: Nerketur's Pile of Tools

44
Posts
11
Years
can't wait for the next release.

also I have a question:

when pokemon talk in PMD, their face appears in a square above the textbox. will the tool have the ability to change this picture?
 
Last edited:

Nerketur

PokéScripter
104
Posts
13
Years
when pokemon talk in PMD, their face appears in a square above the textbox. will the tool have the ability to change this picture?
Yes and no. The portrait is controlled via script, yes. However, as you will find out with tinkering, not every pokemon has every type of face. Some pokemon only have the "default face", it really depends. The tool cannot insert a new picture into the ROM, but it will be able to change the pokemon type and/or expression of the pokemon in the photo.

That said, You (the hero) and your partner have every possible expression. (there are apparently 13 in all) Other than that, the other NPCs may or may not have every expression.

I hope I answered your question. =)
 

droomph

weeb
4,285
Posts
12
Years
:D Fantastic tool, though looking at it a little deeper there is a couple of details we could change...

Okay, first up. I'm thinking that we could give some of the command names a facelift. For example, "load" can be fully understood (phonetically, anyways) by "ld" so there's no need to waste two more characters to express the same thing.

And some are really...weird. For example, you use "bot" to refer to "bottom". It's not a big deal, though it was very confusing when I started referring to "bot" as "robot". Of course there are no "robots" in PMD but that's just something that bothered me.

Also some indentation would be nice in the commands but it's fine with me that only the Hex is indented. And some syntax highlighting (nothing big, just color the "command" red or something) would be appreciated, but it's totally understandable even without the colors.

Other than that, it feels completely natural and understandable (and fun!) to use this tool. I hope you make other tools too! Your design techniques are some of the best I've seen! (sorry HackMew)

Overall: 9/10 (10/10 if finished ;P)
UI ease of use: 8/10 (not finished yet so I'll give room for improvement)
Design: 10/10 (love it!)
Actual functionality: 9/10 (many commands aren't parsed, though available commands give 90% control over game)
 
Last edited:

Nerketur

PokéScripter
104
Posts
13
Years
Okay, first up. I'm thinking that we could give some of the command names a facelift. For example, "load" can be fully understood (phonetically, anyways) by "ld" so there's no need to waste two more characters to express the same thing.
That may be true, but I like "load" better. =) It's easier to read and understand. As for the others, once I get the names fixed, we (meaning PC) can decide on good names.
And some are really...weird. For example, you use "bot" to refer to "bottom". It's not a big deal, though it was very confusing when I started referring to "bot" as "robot". Of course there are no "robots" in PMD but that's just something that bothered me.
And why in the world did you think 'bot' meant 'robot'? xD I mean, yes, it is used as such in other places, but that's why you study. =)
Also some indentation would be nice in the commands but it's fine with me that only the Hex is indented. And some syntax highlighting (nothing big, just color the "command" red or something) would be appreciated, but it's totally understandable even without the colors.
This is something I will consider. Indentation and colors. Right now, I'm making it more like XSE, and as you know, Hackmew didn't indent much of anything. But I'm considering it, and my include it in a future release.

As another note... for now, the full descriptive assembly is really only to help me. I may remove it in a future version, and make it like HackMew did where you need to know the codes and stuff to use it, but have a separate box for descriptive, or a checkbox or something.
Other than that, it feels completely natural and understandable (and fun!) to use this tool. I hope you make other tools too! Your design techniques are some of the best I've seen! (sorry HackMew)
=D I'm glad you like it. But, honestly, I made it mainly the way I like it. I'm sure HackMew was the same way. The way he codes, and the way I code are different, and we both have different ideas. That said, a lot of my work stems from how XSE works, so I really have HackMew to thank for a lot of this.

That said... there were always a few thing I thought I could make better than HackMew, and with my own tool, I can! (And had to, really.) His tool works by literally repointing the offset to the script and saving it in a new offset. You can't do that with time/darkness/sky. You have to save it to a file, and load everything based on files. Because of this, the whole "#org" idea wasn't going to work here. So, I devised my own method, and it seems to work quite well. =D

I'm still contemplating only using a single textbox, and having the ability to switch from Hex to text and back. We'll see how well the two boxes idea works out.
 
Last edited:
44
Posts
11
Years

Yes and no. The portrait is controlled via script, yes. However, as you will find out with tinkering, not every pokemon has every type of face. Some pokemon only have the "default face", it really depends. The tool cannot insert a new picture into the ROM, but it will be able to change the pokemon type and/or expression of the pokemon in the photo.

That said, You (the hero) and your partner have every possible expression. (there are apparently 13 in all) Other than that, the other NPCs may or may not have every expression.

I hope I answered your question. =)

Yea, you answered. If I understand correctly, I can, for example, change chatot's picture to his angry picture, right?
 

Nerketur

PokéScripter
104
Posts
13
Years
Yea, you answered. If I understand correctly, I can, for example, change chatot's picture to his angry picture, right?
=D Precisely! And Chatot is a pretty awesome character. =)

In case you're curious... The code for that is as simple as changing a word.

0092 xxxx yyyy zzzz

0092 is the command to set the Pokemon speaking character (Such as chatot) as 'xxxx', and display their portrait (the picture) using expression number 'yyyy', and display that portrait at predefined location number 'zzzz'

So, to change it, all you'd have to do is change the expression number from whatever it is, to the number that represents "anger"

I do have a list of every command I know of in the game, but I'll release it once I know a bit more.
 
Last edited:
44
Posts
11
Years

=D Precisely! And Chatot is a pretty awesome character. =)

In case you're curious... The code for that is as simple as changing a word.

0092 xxxx yyyy zzzz

0092 is the command to set the Pokemon speaking character (Such as chatot) as 'xxxx', and display their portrait (the picture) using expression number 'yyyy', and display that portrait at predefined location number 'zzzz'

So, to change it, all you'd have to do is change the expression number from whatever it is, to the number that represents "anger"

I do have a list of every command I know of in the game, but I'll release it once I know a bit more.

Thank you very much, Nerketur. That will help!

Also, in case you wonder why asked specifially for chatot, it is because me and a friend, one day when we were bored in class, we started what we call "Guild Stories", which is funny dialogs between the pokemon from the guild. And two of the pokemon were arguing (I think Loudred with someone, I don't remember clearly) and Chatot came to separate them and my friend said "Here comes the little plucked bird with the note on the head and when someone farts he wants to smell". Needless to say we were laughing the whole day after that. And now, with your tool, I can make that in the game! Thanks again!
 

Nerketur

PokéScripter
104
Posts
13
Years
Thank you very much, Nerketur. That will help!

Also, in case you wonder why asked specifially for chatot, it is because me and a friend, one day when we were bored in class, we started what we call "Guild Stories", which is funny dialogs between the pokemon from the guild. And two of the pokemon were arguing (I think Loudred with someone, I don't remember clearly) and Chatot came to separate them and my friend said "Here comes the little plucked bird with the note on the head and when someone farts he wants to smell". Needless to say we were laughing the whole day after that. And now, with your tool, I can make that in the game! Thanks again!
You're welcome, and that sounds interesting!

Also... A bit of news. My next release will be next week or later. Not this week. Might even release it a week from today. =) The only promise I can give, is that I'll release it by the beginning of August.
 

Nerketur

PokéScripter
104
Posts
13
Years


I might want to add that all the games are PMD. I think you mean "EoX" instead.

...sorry for being a prick I know
No, I mean what I said. "Of those" refers to all NDS ROMS. So, I'm saying "Out of all NDS ROMS, the tool will only work with the PMD games." =)
 

Nerketur

PokéScripter
104
Posts
13
Years
Small update:

I'm working on the "change as you edit" portion of the program, and it's actually not too bad =D It still needs some work, though, and I may have it be able to be turned off via a setting, because it really does interfere at times, currently. I'm also still working on how it'll work in the long run. So far, a few ideas are coming to mind. =) Just know it's getting worked on. Once I have a working version of it, I'll ask for opinions on how good/bad it is =P I'm sure, though, that people will find it useful. Right now, it's only annoying because it doesn't work in every case =P But, it'll get better! =D
 
44
Posts
11
Years
Well, if what you say about it becoming better is true, then the tool will be spectacular! It's already very good, and if you develop it more, it will be perfect, that's what I think.

Bad thing is that I won't be able to use it soon, since my PC's hard disk was completely wiped out by virus and I'm working to collect again what I had before...
 

dcjboi

With Quiet Courage
427
Posts
13
Years
  • Seen Sep 27, 2022
are movements controllable? and also with this tool can "flags" be set?
 

Nerketur

PokéScripter
104
Posts
13
Years
Long needed update.

First of all, I'd like to give you all a long-needed update. I am still planning to update PMDSE It's just school has severely limited my time on this. My next big update probably won't happen until the start of the new year. I'm very glad I got a working version of the program out before my long absence, because I absolutely knew School would bog me down. I hope everyone is enjoying my program, even if it's a bit hard to use. I'm a Graduate student now, and although Tuesday and Thursday are no class I'm also a Teaching assistant, and do grading at that time. PMDSE has always been a hobby project, so School and family are more important, but I WILL finish this tool. I've gotten used to school by now, and so I'm going to start working on this again, little by little. Thank you everyone for your continued support. I just apologize for taking so long to update everyone on the status.

Secondly, I have a question, for you all. Aside from the features already planned, is there anything any of you think I need to add, or change? I'm not going to be able to do much for my own ideas... but I do have my own plans, regardless. I'd just like to hear a few more. I might even release a special Christmas update. Who knows? =P


I do think I'll just make it all in one window, with the option to change to hex or assembly at the click of a checkbox/button. As awesome as side-by-side is, it takes up space, and they are tricky to allow collaboration. One would make it easier, and less coding as well. Later on, I may release a dual-version, once I get better at coding. I may do a bit of work on it today, even. =D I'm getting motivated on it. But we'll see how long it takes to grade homework.


Again, I apologize for not updating until now, but I will be better about updating this thread in the future.


are movements controllable? and also with this tool can "flags" be set?

Yes, and yes (eventually).

Movements can be controlled, but you currently have to simply play around with the different movements (or "actions") to figure them out yourself. I don't know everything about them yet, so although they can be controlled, you currently have to do your own research as to how.


Flags CAN be set (and read from) but how you do so depends on the type of flag. Just like the regular Pokémon games, there are variables, and there are "flags" or booleans. However, the way each is used is different from the regular Pokémon games. It's not that different, but the bad part is i don't know every command dealing with those, either. So, we will have to see. Currently I only know the most common ones, though I've looked in almost every single script file in the PMD2 games at least once. A lot of commands I know what their length is, but no idea what they do.


Also, it seems that Flags and Variables do NOT come from a single pool in the PMD2 games. They have a type, and a "folder" that they come from. I'm not sure what these folders are, but I know that ones with folder 3 in 0x72 are used to check game progress. It also seems these are variables, but you can apparently use some variables as booleans, or that there is simply a folder hierarchy of booleans. And it seems almost every script checks this progress when loading the game.


I hope that answers your question =)
 
Last edited:
44
Posts
11
Years
That's great news, Nerketur! And don't worry, everyone gets busy with school/work, no need to apologize.

Now, about suggestions. I think it would be great if it could edit things like the bosses of the dungeons, story-obtained items, and so on.

And why not, the dungeons themselves... No wait, that should be a seperate tool...

Ok, disregard that last... Anyway, it would also be awsome if it could do things like adding more story afte the point where the story ends. Yeah, I know it's gonna be LOTS of work...

Whatever you do though, keep it up!
 

Nerketur

PokéScripter
104
Posts
13
Years
That's great news, Nerketur! And don't worry, everyone gets busy with school/work, no need to apologize.

Now, about suggestions. I think it would be great if it could edit things like the bosses of the dungeons, story-obtained items, and so on.

And why not, the dungeons themselves... No wait, that should be a seperate tool...

Ok, disregard that last... Anyway, it would also be awsome if it could do things like adding more story afte the point where the story ends. Yeah, I know it's gonna be LOTS of work...

Whatever you do though, keep it up!

I would adore being able to edit the bosses. If I find out where that info is stored, I will certainly add it to my tool. Might even do a whole plugin idea thing, too. =D.

Key items... are more cutscenes. So that can mostly already be done. Two examples of this are your partner's "Relic Fragment" and Bidoof's "Stash of money" "Key items" are never checked for in-game, because they are only ever used in cutscenes. Though, there ARE items that are checked, like the unown stones. Do you mean like that? That would be theoretically possible. Also, there are ways to check how many of a certain item you have. So, you can theoretically create someone that does different things depending on how many Oran berries you have.

As for adding more story... that's easily done. (Once unionall.ssb is figured out.) Unionall.ssb holds EVERYTHING storywise in the entire game, including saving and loading. Even the title sequence. So, it is certainly possible to add more. (sky already did, in fact)
It can already be done with my tool, if you understand the passing control system, which I do not just yet. I'm now just making the program better, and easier to use =D
 
Last edited:

Nerketur

PokéScripter
104
Posts
13
Years
Small update!

I have decided to put everything in one textbox, with a checkbox for if you ant to see the hex or not. And, I've gotten it to work as expected, visually. I'm still working on a few things, one of which is a little nagging issue with the current setup. Currently, if you want to switch between code and hex, keeping changes, it requires saving. But, saving with invalid assembly simply silently changes your code. I need to change it so it will not allow switching unless errors are fixed, like typos, or whatever. This way, you won't lose a lot of work while editing. Of course, this system will need to be changed in the future, but for now it will suffice. Until I add line numbers and everything, of course =)

That said, I've figured out how to fix that main error I had with the text boxes going out of sync, so I may make it a settings option to use two boxes. I don't know which way I like better. Two boxes make it easy to see what you're doing, one makes it easier to program. Speed verses easy to use, I suppose. xD In any case, I'm getting the UI down at the moment. No updates on scripting stuff, just the tool itself. It's getting better, and I'm making the code cleaner. =D Beta will be here before you know it.
 

Nerketur

PokéScripter
104
Posts
13
Years
Wanted to give a small update. I'm still working on this, just College has severely limited my time to work on this. I can't give a possible completion date, but I am still working on it. I may put it open source soon, too. Just a bit more cleaning up., and all should work.

Aside from that, I've been looking a bit at how the code is parsed... and I think I might be incorrect in a few areas. Especially unionall.ssb. It parses, of course, but I'm almost certain that some of the goto locations are off. I'll figure it out eventually. Might make an AR code that tells me what the next instruction will be. And figure out where it REALLY jumps to.

In any case, I'm still having fun figuring out things. So I guess I'll move on to learning everything I can learn about the commands that I know =P

I'll put a bit more info on my research thread a little later. Just wanted to apologize for all the delays, but that's what you get in Hobby projects. Still, I will see this project through to the end. And, I hope it will help someone out there. =)
 
Last edited:
Back
Top