This helps you to create new effects for moves, and slightly simplifies the actual insertion of a battle script as the tool compiles and inserts it for you!
This thread is ONLY for the tool itself and related discussions. Please do NOT ask questions about the scripting language itself here. Direct your queries about the Scripting Language itself to here.
Please also ensure you have updated to the latest .NET framework.
Dynamic Offsets - Searches for free space to insert into on your behalf
SQLite Database - Uses an SQLite database to store the commands and information related to them. Quick and small in size!
Coded in C#.Net - Simply the language I am most comfortable with. Sorry Mac/Linux users!
Tabbed Interface - Like XSE, you can have several scripts open at any one time. Makes for easier editing, or even copy and pasting!
Decompilation - Decompiles scripts from the ROM. This is known to be a little slow and buggy and is still in development.
Compilation - Compiles scripts. Well, what else would you expect a Script Editor to do? :P
Custom Commands - Allows you to define custom commands using a (hopefully) simple format in the commands header file.
XSE Style Definitions - Allows you to define certain strings to have a certain value. Can make scripting easier.
Currently, it only "supports" BPRE, as I haven't added the necessary data to the INIs to support any other ROM, but if this data were to be added, it would work perfectly well.
Note, what this actually means is that the tool won't be able to decompile battle scripts from the effect table, and you won't be able to use the "keywords" I have defined. It will still be able to insert, and decompile, scripts to any given ROM.
Now, I hear you ask, "What do you mean by 'keywords
Good question, sir/madam! What it actually means is that it allows you commonly used offsets by referencing a "keyword
Eg, I want to check what move is being executed, and jump somewhere if it is this move, say Pound. Normally, you'd have to do this:
jumpifhalfword 0x0 0x02023D4A 0x1 @somewhere
But with "keywords
", you can do this instead:
jumpifhalfword B_== move MOVE_POUND @somewhere
I feel that the latter is easier to understand, since you don't need to remember the various RAM Locations!
So, to the nitty gritty stuff.
Here are some screenshots: Note, these screenshots are actually a little out of date, as I've redesigned the interface since I took them.
So you know, this tool is still in development, so if you have any sensible feature requests, or any ideas, or whatever, let me know! I'll try my best to implement them if I like them!
I've tested this quite thoroughly, but I can't guarantee it's bug free. So do let me know if you encounter any bugs. Note, by bugs, I mean occasions where the tool actually crashes or displays garbage data or something. Not occasions where the tool complains about "Unknown Commands" because I know of these and coded in checks to ensure that the tool wouldn't crash when it hit such a command.
Without any further ado: the tool itself.
After downloading, you must press F5 or Help -> Update Database in order to get the most up to date version of the database available. This way, I can ensure that you can easily access the database.