Community

The PokéCommunity

We are still working on a better slogan!

Visit Index



Advertise here

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Notices

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.

Post Reply
 
Thread Tools
  #1    
Old March 25th, 2013, 01:54 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet

Advertise here
Hey guys, and welcome to my tool showcase!

Battle Script Pro
Spoiler:
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.


Features:
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?
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:
Code:
jumpifhalfword 0x0 0x02023D4A 0x1 @somewhere
But with "keywords", you can do this instead:
Code:
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.
Compiler Directives:
Spoiler:
#org - Defines the start of any script segment or a jump anchor.
#define - Lets you define some text string to have a specific associated value.
#include - Lets you include a header file. The header files themselves are just lists of #defines.
#dynamic - Defines the starting search location for dynamically assigned scripts. Necessary if you have any dynamic offsets anywhere in your script. Note, you can have more than 1 #dynamic to assign different parts of the script to different areas of the ROM. I don't know why you would want to do that, but I digress.
#freespacebyte - This allows you to define what byte is regarded as free space in your ROM. Unless you explicitly tell the tool otherwise, the tool will use 0xFF as the free space byte.



Keywords:
Spoiler:
baselocationbattledata
baselocationpartydata
attacker
target
attackpartner
targetpartner
move
battletype
terrainbyte
weather
weatherturns
numberofpokemon
attackdamage
knockedoffitem
loopcounter
currentposition
outcome
effectchooser
multistringchooser
attackmultiplier
statchange



Here are some screenshots: Note, these screenshots are actually a little out of date, as I've redesigned the interface since I took them.
Spoiler:

The Main Interface


The Main Interface with some scripts open


The Goto Line Interface


The Find Text Interface


The Find and Replace Interface


A decompiled script, with some basic formatting in place


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.


Unnamed Trainer Editor
Spoiler:
A new trainer editor which correctly labels the AI and IV values, as well as supporting reading from an INI to help ensure that it should be future proof!
Attached Files
File Type: zip UnnamedTrainerEditor.zip‎ (37.7 KB, 1077 views) (Save to Dropbox)
File Type: zip BSP.zip‎ (1.23 MB, 661 views) (Save to Dropbox)
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Last edited by Jambo51; September 10th, 2013 at 04:47 AM. Reason: Updating BSP to 0.9.5.0 and Unnamed Trainer Editor to 0.7.0.0
  #2    
Old March 25th, 2013, 02:21 AM
Aryan143's Avatar
Aryan143
The Fennekin Fan!
 
Join Date: Jul 2012
Location: Delhi, India
Age: 14
Gender: Male
Nature: Modest
Wow completely amazing tool. It will help in my hack and others too.

Please click both of these links once in a day and help us grow:

  #3    
Old March 25th, 2013, 03:20 AM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Judging the screenshots, it IS user-friendly, right?
Is it hard to make battle scripts?
Sorry for the noob question but is there a battle script tutorial included?
LET'S PARTY!
  #4    
Old March 25th, 2013, 03:32 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by robin22gongon View Post
Judging the screenshots, it IS user-friendly, right?
Is it hard to make battle scripts?
Sorry for the noob question but is there a battle script tutorial included?
No, but I'm currently waiting on a tutorial thread to be approved. As to user friendliness, you tell me. It looks OK to me, but I'm likely to be biased. Feedback is always appreciated!
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
  #5    
Old March 25th, 2013, 03:51 AM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Oh, I hope that thread gets approved soon. Yep checked it. It's definitely user friendly for those who learned scripting. So for anyone who plans to use this, learn scripting in XSE first. BTW Jambo51, tool's great! It works real smooth. Thanks!
LET'S PARTY!
  #6    
Old March 25th, 2013, 03:55 AM
Spherical Ice's Avatar
Spherical Ice
Community Supporter
 
Join Date: Nov 2007
Location: UK
Send a message via Skype™ to Spherical Ice
whoa, this is really awesome. I'm getting lots of ideas for signature moves for fakemon now...
  #7    
Old March 25th, 2013, 03:58 AM
itari's Avatar
itari
悪魔の妹
Community Supporter
 
Join Date: Mar 2010
Location: 紅魔館
Age: 17
Gender: Female
Nature: Relaxed
This tool looks very nice.
It's good to see a battle script editor finally released!
  #8    
Old March 25th, 2013, 05:58 PM
robin22gongon's Avatar
robin22gongon
 
Join Date: Sep 2012
Location: Want to know? VM me.
Age: 16
Gender: Male
Nature: Quirky
Send a message via Windows Live Messenger to robin22gongon
Oh hey there! Jambo51, can we apply battle scripts on wild Pokemon?
LET'S PARTY!
  #9    
Old March 25th, 2013, 10:26 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Battle scripts can be specifically applied to wild Pokémon, yes. Their most common use is for moves, but realistically, they can be used for several purposes when you manipulate them correctly.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
  #10    
Old March 26th, 2013, 02:54 PM
HyperXhydra's Avatar
HyperXhydra
 
Join Date: Oct 2011
Gender: Male
Wow, I was hoping for a tool to change move effects!, I think I said it in one of the research threads, thanks a lot.
  #11    
Old March 27th, 2013, 04:52 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Hey guys, this is just a post to advise you that you should update the tool and all the data files. I didn't realise when I put together the .RAR before that I was bundling an outdated version of the .exe file. Sorry about that!

I also changed it to a .ZIP file since that tends to be an easier format to decompress.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
  #12    
Old March 27th, 2013, 07:59 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 23
Gender: Male
Nature: Modest
Jambo Jambo Jambo! Can I please import my syntax highlighting in to it? Please oh please?
あなた は しきしゃ です
わたし は ばか です
  #13    
Old March 27th, 2013, 11:14 PM
KennyKid's Avatar
KennyKid
scipter
 
Join Date: Mar 2013
Location: Civiland (Cai Nhum,Vinh Long :D)
Gender: Male
Nature: Quiet
Oh Jambo, it's fantastic! Maybe in future I'll use it for my hack.
Thank again


Quick way to edit palettes, indexing sprites and insert tileset
  #14    
Old March 28th, 2013, 02:49 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by Darthatron View Post
Jambo Jambo Jambo! Can I please import my syntax highlighting in to it? Please oh please?
Uh, speak to me on the IRC when you get a chance, and we can discuss this. I tried to add to add it before, but there were problems with its implementation.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
  #15    
Old April 3rd, 2013, 05:53 PM
destinedjagold's Avatar
destinedjagold
Oh Hai Thar~ 'ω'
Community Supporter
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful
I have a question though.

Quote:
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!
So, basically, this tool will only add effects to already-existing (or newly inserted) moves, right? :3
  #16    
Old April 4th, 2013, 11:12 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Quote:
Originally Posted by destinedjagold View Post
I have a question though.



So, basically, this tool will only add effects to already-existing (or newly inserted) moves, right? :3
Well, yes and no. You can wholesale replace move effects if you so desire, and it's quite happy to insert into new move effect slots if you tell it to.

But the tool itself won't do the hard work of repointing the tables which need to be repointed to add new moves, nor will it insert the necessary asm and movesets for if you want to have more than 0x1FF moves in total.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
  #17    
Old April 19th, 2013, 09:15 PM
MrDollSteak's Avatar
MrDollSteak
Formerly known as 11bayerf1
 
Join Date: Dec 2008
Location: Hong Kong
Age: 19
Gender: Male
I've been having problems with the most recent version. Whenever I want to decompile or compile anything on a rom, it either causes the 'unhandled exception' message, or says the rom is unable to read. I was wondering if anyone else is having this problem?

I have changed the location of the move effect table and have replaced the .ini accordingly. I've even tried using it on a blank fire red rom and couldn't get it to work either.

If anyone knows a solution, I'd greatly appreciate it.

Thanks!
  #18    
Old April 20th, 2013, 11:32 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
Could you be more specific?

Are you getting any other error messages, anywhere?

If nothing else, send me a copy of the "Unhandled Exception" error logs in a PM and I'll see what is causing the issues.

ETA: It looks somewhat like the executable or the inis or something got corrupted in the last upload. I've reuploaded now, with a nice new feature too!
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Last edited by Jambo51; April 23rd, 2013 at 09:43 AM.
  #19    
Old April 23rd, 2013, 05:25 PM
Kurapika's Avatar
Kurapika
Grudgebearer
 
Join Date: Feb 2013
Location: Lavendar Town - Morocco
Gender: Male
Nature: Naughty
Hi Jambo,
I am unable to do anything with BSP, I keep getting this error:
Spoiler:

and, here is the log, sorry it is partly in French: http://pastebin.com/raw.php?i=0fU1akw0
  #20    
Old April 24th, 2013, 02:08 AM
Shadowraze's Avatar
Shadowraze
Love and Peace
 
Join Date: Apr 2013
Location: Philippines
Age: 15
Gender: Male
Nature: Adamant
Send a message via Skype™ to Shadowraze
Quote:
Originally Posted by Kurapika View Post
Hi Jambo,
I am unable to do anything with BSP, I keep getting this error:
Spoiler:

and, here is the log, sorry it is partly in French: http://pastebin.com/raw.php?i=0fU1akw0
Try downloading the tool again. I have that problem a few hours ago and have bugged Jambo to fix it nonstop. It's practically a missing DLL just for you to know. :3
  #21    
Old April 24th, 2013, 02:08 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
To all of you who were having issues, I tracked down the problem, and included the relevant files in the BSP download. I also fixed a minor compiling bug.

Update, and decompile/compile to your heart's content!

Enjoy!
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
  #22    
Old April 24th, 2013, 02:52 AM
MrDollSteak's Avatar
MrDollSteak
Formerly known as 11bayerf1
 
Join Date: Dec 2008
Location: Hong Kong
Age: 19
Gender: Male
Quote:
Originally Posted by Jambo51 View Post
To all of you who were having issues, I tracked down the problem, and included the relevant files in the BSP download. I also fixed a minor compiling bug.

Update, and decompile/compile to your heart's content!

Enjoy!
Thanks Jambo! Great work. I've been playing with it for awhile now and it is just awesome!
  #23    
Old April 24th, 2013, 03:37 AM
Eren Jaeger's Avatar
Eren Jaeger
Pianoist
 
Join Date: Apr 2013
Location: EARTH
Gender: Male
Nature: Serious
This makes some of my work easier. oh life.
Music is art
  #24    
Old April 24th, 2013, 05:33 AM
Kurapika's Avatar
Kurapika
Grudgebearer
 
Join Date: Feb 2013
Location: Lavendar Town - Morocco
Gender: Male
Nature: Naughty
Ugh, now it doesn't even launch for me. ;_; As soon as I execute it this wild crash message shows up:
Spoiler:

Log, (in French sorry): http://pastebin.com/raw.php?i=RcKcTMBa
  #25    
Old April 24th, 2013, 08:38 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
OK, all you guys should re-download, and I have rebuilt the executable to version 0.9.0.0.
This version includes some extra decompiling options, and is, to the best of my knowledge, free of these bugs.

The entire programme, data and all will need updated, since I've added a lot of new stuff. If you have edited your ini in any way, back it up, and after the update, merge it with the new one.
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Post Reply
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 02:08 PM.

About Us
© 2002 - 2014 The PokéCommunity™, pokecommunity.com. Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.

Copyright
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com. PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator. Header artwork by Jordanice of deviantART.

Social Media
If you would like to stay up-to-date with us on the go, when we're down, or other such things, follow us on social media sites--most notibly Twitter, Facebook, and Google Plus--by clicking on the links provided.

Design presented by Peitharchia. Special thanks to Hiroshi Sotomura and Ausaudriel.