• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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: HackMew's Tools Factory [A-Ptch released]

Martin™ said:
The Comprehensive Scripting Guide (yes, that isw the official name) is still being worked on. I can tell, I am helping ZodiacDaGreat when I have some spare time. Andrea occassionally shows up on WLM, but his presence is more or less a surprise to each of us as he now attends university and therefore he has a bit less time he would like to have, I suppose. Or he just prefers real life s would do anyone who isn't completely crazy

And that guide will be really worth of all that time, don't worry.
Oh! I see, so he attends university now? I'm surprised! Anyway, I wish him good luck.
 
You're welcome EMUBOY21 ;)




Nice to see someone that write my nickname in the right way :P
Anyway, thanks for the appreciation!




I'm sorry but I've just tried it and it works fine. Try re-dowloanding the attachment.

these are the best tools ever keep it up
 
I need a tutorial explaining the characters' moves. I mean, when you step a tile before going to route 1 on a Fire Red's script and Prof Oak follow you until he reaches you.
 
Fraot said:
I need a tutorial explaining the characters' moves. I mean, when you step a tile before going to route 1 on a Fire Red's script and Prof Oak follow you until he reaches you.
We're currently doing our very best to get a bit more of the guide released for the next XSE update so please bear with us and be a bit more patient. I think you can find one in the mean time at the documents section.
 
I'm back.

Hello everybody! I'm back at work ;)
As a little proof, check the restyled first page. Hope you like it.

For those wondering about XSE not being there... well, not anymore.
Sorry for any possible inconveniences.

Still on XSE, I've been working a bit on it, already getting important improvements in terms of speed, stability and usabilty. More details soon.
 
Uhh.. Hackmew, I was playing around with XSE a bit the other day, and I noticed a little bug. I don't know if you know of this one yet, but I thought I might mention it just in case.
Code:
#include std.rbh

#org 0x805000
lock
faceplayer
msgbox 0x805100
boxset yesno
yesnobox
release
end
'yesnobox' is detected as '0x5box'
 
Uhh.. Hackmew, I was playing around with XSE a bit the other day, and I noticed a little bug. I don't know if you know of this one yet, but I thought I might mention it just in case.
Code:
#include std.rbh

#org 0x805000
lock
faceplayer
msgbox 0x805100
boxset yesno
yesnobox
release
end
'yesnobox' is detected as '0x5box'

Well, thanks for telling me but it's kinda weird. Let's explain a bit more...
Naming a #define is a crucial thing since problems may arise easy and quickly. I'll give you a short example:

Code:
#define B_TRUE 0x1

Now, let's suppose it was defines as:

Code:
#define TRUE 0x1

The second option is the most logical, indeed. Due how the #defines are handled, though, the second one is much more problematic.

Code:
#org 0x80000A
= No, that's not true any more.

Each TRUE (or True or true etc.) would be replaced by 0x1. Now you can sure image what would happen on that little message...

While the new XSE version I'm working at I introduced a big speed improvements regarding the define handling, among other things, define names can be still be problematic from this point of view.

Before I told you the whole thing was kinda weird. Well, I guess you're using an old version or something because the yesnobox has 2 params indeed.
You shouldn't be able to compile it that way.

And that's all, I guess. I hope I was exhaustive enough.
 
Last edited:
I love your tools -HackMew- :-) You're probably the best programmer in the world ;> They're very useful to me.

PS. especially XSE, FSF and APE are the most useful.
 
LOVE these tools HackMew, but I've got a few suggestions for XSE:

Suggestion: Compiling unsaved scripts
Description: Fairly self-explanatory: it would just be the ability to compile a script in an/some open tab(s) including decompiled scripts without having to save it every time. This would work well with the next suggestion.

Suggestion: Decompiled dynamic offsets
Description: This would be when you decompile a script, it shows names rather than offsets after the "#org". These could be: "start", "script1", "script2", "msg1", "msg2", "move1" and "move2". This would be useful because it would mean you could edit and extend a script and recompile it directly from the tab without worrying about it overwriting something else because it would be automatically repointed and the previous script wiped (with FF's). This could be turned on and off.

Suggestion: #org labels
Description: This would be when you hover over an #org/offset (name), a box appears with the length (in bytes) of the script and, for decompiled scripts, it's current location in the ROM.

Suggestion: Hex editor length
Description: The ability to select a series of bytes in the hex editor and to be told immediately how many bytes long that is.

Suggestion: Autocomplete
Description: Something like in PKSV, but less obtrusive; a single command (the most likely one) shown like this:
applym[S-HIGHLIGHT]ovement[/S-HIGHLIGHT]
as you type. Pressing TAB could autocomplete it. This could be turned on and off.

Suggestion: Command help labels
Description: The command help list is really helpful, but it would be even more helpful for a small box to appear after you type a command that shows the parameters needed for that command and the order they come in. Let's say you've typed "applymovement 0x2". A box would appear with:
applymovement
player no., movement offset
Something like in Excel, with the part you're currently on enboldened.

Suggestion: Msgbox maker
Description: Minor thing, but it would save some bother in larger scripts. When you type "msgbox", a box appears at the right hand side with an entry for offset (name) and message (with text adjusting). You type it in and click OK and it puts the script there for you. Would save having to scroll down and type "#org blah/ = (tools => text adjuster => convert => Ctrl+C => close => Ctrl=V)... Yes I'm lazy...

Suggestion: Ability to paste in text adjuster
Description: Self-explanatory

Suggestion: Movement make
Description: Like Msgbox maker, with buttons arranged something like this:

! ? etc...
^
<= <- < . > -> =>
etc...

So you can just click on the buttons and make the movement script without having to look it up everytime. There could even be a playback function to show you what it looks like.



Well... lots of stuff there. Clearly you don't have to do all of them (or any of them), but most of them I think would be welcomed by most hackers. I don't know how feasible all of this would be, but if you can do them, it would help make XSE even more obviously the best scripting program out there!
 
LOVE these tools HackMew, but I've got a few suggestions for XSE:

...........

Well... lots of stuff there. Clearly you don't have to do all of them (or any of them), but most of them I think would be welcomed by most hackers(Nope, just you pal). I don't know how feasible all of this would be, but if you can do them, it would help make XSE even more obviously the best scripting program out there!(already is, my friend, already is...)
Suggestion: Compiling unsaved scripts
Description: Fairly self-explanatory: it would just be the ability to compile a script in an/some open tab(s) including decompiled scripts without having to save it every time. This would work well with the next suggestion.
It can already do that...Did you even use XSE, before suggesting?
Suggestion: Decompiled dynamic offsets
Description: This would be when you decompile a script, it shows names rather than offsets after the "#org". These could be: "start", "script1", "script2", "msg1", "msg2", "move1" and "move2". This would be useful because it would mean you could edit and extend a script and recompile it directly from the tab without worrying about it overwriting something else because it would be automatically repointed and the previous script wiped (with FF's). This could be turned on and off.
Just useless. Stop being lazy, XSE has A "linking offsets" function, which you Ctrl+Click, and it'll take you to the offset you clicked on.
Suggestion: #org labels
Description: This would be when you hover over an #org/offset (name), a box appears with the length (in bytes) of the script and, for decompiled scripts, it's current location in the ROM.
How about you just, press F1, over a command?
Suggestion: Hex editor length
Description: The ability to select a series of bytes in the hex editor and to be told immediately how many bytes long that is.
Not useful, at all...Plus, this'll take a LOOONG time to implement.
Suggestion: Autocomplete
Description: Something like in PKSV, but less obtrusive; a single command (the most likely one) shown like this:
applymovement
as you type. Pressing TAB could autocomplete it. This could be turned on and off.
You want Autocomplete? Then use PKSV! Why would -Hackmew- want to copy Score_under's idea?
Suggestion: Command help labels
Description: The command help list is really helpful, but it would be even more helpful for a small box to appear after you type a command that shows the parameters needed for that command and the order they come in. Let's say you've typed "applymovement 0x2". A box would appear with:
applymovement
player no., movement offset
Something like in Excel, with the part you're currently on enboldened.
That will be featured, in the Comprehensive Scripting Guide, soon to come. But why not experiment? And it gives enough detailed information, in order too. You just have to comprehend it...
Suggestion: Msgbox maker
Description: Minor thing, but it would save some bother in larger scripts. When you type "msgbox", a box appears at the right hand side with an entry for offset (name) and message (with text adjusting). You type it in and click OK and it puts the script there for you. Would save having to scroll down and type "#org blah/ = (tools => text adjuster => convert => Ctrl+C => close => Ctrl=V)... Yes I'm lazy...
You are ... I don't even have a word for you.
That will take more time, than it will take to type in, msgbox 0xOffset

Suggestion: Ability to paste in text adjuster
Description: Self-explanatory
TEXT ADJUSTER CAN ALREADY PASTE!!!!! JUST RIGHT CLICK!!!
Suggestion: Movement make
Description: Like Msgbox maker, with buttons arranged something like this:

! ? etc...
^
<= <- < . > -> =>
etc...

So you can just click on the buttons and make the movement script without having to look it up everytime. There could even be a playback function to show you what it looks like.
-HackMew- Plans on including this in the next release, but I can't tell you much more though...
 
It can already do that...Did you even use XSE, before suggesting?

No, I'm pretty sure you can't do that; I'd be interested how that's done if it can be, though.

Just useless. Stop being lazy, XSE has A "linking offsets" function, which you Ctrl+Click, and it'll take you to the offset you clicked on.

I think you misunderstood me: I meant that when you decompile a script from a ROM, XSE automagically assigns a name to all the offsets (essentially dynamic offsets), so that when you recompile the script, there's no risk of overwriting something else if it becomes too long. It could simply repoint and wipe where the script used to be with FF's.
It's not useless at all; in fact it would be quite helpful.

How about you just, press F1, over a command?

Er... that's not what I meant at all... I meant you put the cursor over an OFFSET/OFFSET NAME, and it tells you the length of the script in bytes. And for decompiled dynamic offsets as discussed above, it could also tell you the current offset in the ROM.

Not useful, at all...Plus, this'll take a LOOONG time to implement.

Well it could be useful, but if it's too difficult to implement, then fine, don't. I'm not a programmer, and don't pretend to be; it seemed to be a fairly simple thing, but if it isn't, then clearly he shouldn't bother. It was only a suggestion.

You want Autocomplete? Then use PKSV! Why would -Hackmew- want to copy Score_under's idea?

Because it's a good idea... There's nothing wrong with using a similar thing, because it's hardly that original: score_under didn't found the concept of autocomplete did he? It's just useful for saving time.
I don't use PKSV because XSE is better in so many other ways, but autocomplete would just make it even better. Also, PKSV's autocomplete is annoying and get's in the way. It could be very simple: just place a highlighted completion of the most likely command result from the input after what you are typing, a bit like what happens when you type in the command help search

That will be featured, in the Comprehensive Scripting Guide, soon to come. But why not experiment? And it gives enough detailed information, in order too. You just have to comprehend it...

Well the F1 thing from above helped: I didn't realise you could do that.

You are ... I don't even have a word for you.

That will take more time, than it will take to type in, msgbox 0xOffset


Well it wouldn't... All I really mean is when you type msgbox, text adjusting appears with a box for putting the offset/offset name, so when you press convert, it just goes straight into a script down below so you can continue with the script.
Again, it's only a suggestion and a minor one at that; if it's too difficult/lengthy to implement then don't. It's just a timesaver.

TEXT ADJUSTER CAN ALREADY PASTE!!!!! JUST RIGHT CLICK!!!

You are mistaken, you cannot paste text into text adjuster.

-HackMew- Plans on including this in the next release, but I can't tell you much more though...

Well great!


I'm sorry if I offended you; I was only trying to help.
 
No, I'm pretty sure you can't do that; I'd be interested how that's done if it can be, though.



I think you misunderstood me: I meant that when you decompile a script from a ROM, XSE automagically assigns a name to all the offsets (essentially dynamic offsets), so that when you recompile the script, there's no risk of overwriting something else if it becomes too long. It could simply repoint and wipe where the script used to be with FF's.
It's not useless at all; in fact it would be quite helpful.



Er... that's not what I meant at all... I meant you put the cursor over an OFFSET/OFFSET NAME, and it tells you the length of the script in bytes. And for decompiled dynamic offsets as discussed above, it could also tell you the current offset in the ROM.



Well it could be useful, but if it's too difficult to implement, then fine, don't. I'm not a programmer, and don't pretend to be; it seemed to be a fairly simple thing, but if it isn't, then clearly he shouldn't bother. It was only a suggestion.



Because it's a good idea... There's nothing wrong with using a similar thing, because it's hardly that original: score_under didn't found the concept of autocomplete did he? It's just useful for saving time.
I don't use PKSV because XSE is better in so many other ways, but autocomplete would just make it even better. Also, PKSV's autocomplete is annoying and get's in the way. It could be very simple: just place a highlighted completion of the most likely command result from the input after what you are typing, a bit like what happens when you type in the command help search



Well the F1 thing from above helped: I didn't realise you could do that.


That will take more time, than it will take to type in, msgbox 0xOffset[/font]

Well it wouldn't... All I really mean is when you type msgbox, text adjusting appears with a box for putting the offset/offset name, so when you press convert, it just goes straight into a script down below so you can continue with the script.
Again, it's only a suggestion and a minor one at that; if it's too difficult/lengthy to implement then don't. It's just a timesaver.



You are mistaken, you cannot paste text into text adjuster.



Well great!


I'm sorry if I offended you; I was only trying to help.
Hey, well it's really not up to me, it's up to -HackMew-

And I didn't realize, most of the things I said are in XSE are the ones that are in the XSE I'm beta testing(Which is far more greater than the one you use)

I can't wait till -HackMew- Releases it to public, then you guys will really know the power of XSE!
 
O.o! Massive argument of whether stuff is useful or not!

Well, I have a problem.
When I open a script, the text in the script is all...well...blank. It's a lot of spaces. Everything else is OK, but not the text. I've tried 4 different FR Roms, even and Emerald ROM but it's still the same problem. Eheheh...I think it's my computer, because thethethethe's Item Editor ha v\h\10203\h\v\10249 and stuff as the item names and descriptions...Any way I can fix this?
 
I use all of these tools almost everyday and I love it!

This is helping me re-make Pokemon Frosty :)
 
these are some nice tools dude.
 
Back
Top