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 24th, 2013, 03:40 PM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Tournaments Joined: 0
Tournaments Won: 0

Advertise here
Script Editor Advance
This is the SEA, as you can see...

This is yet another tool made by me, Shiny Quagsire. It's a simple yet powerful script editor designed to be fast, speedy, and cross-platform.


^ That's Linux by the way. ^

Why?
Because the support for Linux, Mac, and BSD's sucks. That's my honest reason for making this (and for porting NSE 2.x to Mono). Also, I prefer working on familiar code, which is why I didn't just port some other scripting editor. Not to mention I wanted to craft an editor from the viewpoint of a programmer/scripter, and thus my editor was born.

How?
SEA is currently written in Java, and uses an SQLite database with information on each individual scripting command available to our current knowledge, which information like it's name, bytecode, description, number of arguments, argument lengths, etc. Using this, it makes compiling, (soon) decompiling, and error checking fast, and efficient. I don't work full time on this obviously because of school, sports, and other activities. I tend to go on and off on my projects. I'll do a ton of work on it, then get bored and switch to something else. I do usually return to these things though if I have some suggestions/goals that people want.

(Planned) Features
  • Cross-Platform using Java
  • Open-Source!
  • Fast Compiling using SQLite
  • Error checking
  • Easy command aliases - Shorten your code to help readability!
  • Intuitive syntax
  • and more!

How's Progress?
Please note that this list is subject to change, and more goals will be added once I get some ideas of what to add.
  • Compiling - [|||||||||-] 90%, just need to check for bugs!
  • Error checking - [||||||||||] 100%
  • Live Error Checking (in text, like a spell checker) [----------] 0%, not too much of a priority, but I'd like some Eclipse/Visual Studio style error checking since I'm going to be using this.
  • Decompiling - [|||||||||-] 95%, Decompiling is pretty much perfect! :D (Subject to bugs though.)
  • Syntax Highlighting - [|||||||||-] 90%, subject to bugs, but pretty much done. Issues with if(...) command
  • ROM Writing - [||||||||||] 100%, done.
  • ROM Reading - [||||||||||] 100%, done.
  • ROM Debugging - [||||||||||] 100%, done.
  • UI - [||||||||--] 80%, still need: command help, log viewer, bytecode dump, built-in guide, etc.
Q&A
Q: That sure looks a lot like XSE...
A Yes, yes it does. I designed it to be as familiar as possible while still providing useful additions.

Q: When will this be available?
A: As soon as I finish the decompiler, and add ROM Writing/Reading

Q: Have you even tested this at all, and how do you test it if you can't write to the rom?
A: Yes, I have. Currently it just dumps some bytecode to the console as well as some debugging informations/errors:

Code:
Code:
Set script search start to 8388608 (0x800000)

Set script start to 0x800000
Added section: start at 0x7fffff

Added section: msg at 0x80000c
Section contains message: Hello, World!

Script length in bytes (Decimal): 26
Compiled Dump:
6a 5a 0f 00 0c 00 80 08 09 02 6c 02 c2 d9 e0 e0 
e3 b8 00 d1 e3 e6 e0 d8 ab ff
then I just copy+paste it into the ROM itself. Here's a pic of the script shown in the screenshot in action!
The newest build supports saving (I think, unless it's bugged...). Just use the Save button and test it in the game.


Q: What's up with the calculator?
A: Copy and paste... Copy and paste...

Q: Your editor sucks. Can I suggest something to fix it?
A: Sure! I'm always open to suggestions, and if you feel that something in my scripting syntax or UI isn't right, I'll be more than happy to fix it.

Source Code
Currently, the source code is hosted on my GitHub account. You can visit it here.

Downloads
The current release is alpha ETU R3.

Reporting Bugs:
Quote:
...
The entire source code has been pushed to the GitHub Repository. Some things you need to know when testing:
  1. This is a DEBUGGING ALPHA. Use at your own risk on your hacks.
  2. Freespace checking has NOT been added yet, so it'll just overwrite at it's pleasure.
  3. Test with a plain Fire Red ROM using generic scripts, or extremely advanced scripts.
  4. Decompiling doesn't support command aliases yet! So in place of your if's and msgbox's you'll get preparemsgs, callstds, and if1's and if2's. Now it does! :D
When submitting a bug, please use the following format:
  • Description (sometimes not needed)
  • Date built (If you didn't build it yourself, just put ETU)
  • Code Inputted (your script)
  • Decompiled Code
  • Log file - Use pastebin!
  • Optional: In-Game screenshot of script. Not really needed, but nice.
Some features that are useful when debugging:
  • The logger - This can save a log with VERY useful information to me or any other bugfixers.
  • The debugger - The little VBA icon will save your ROM with the byte modifications to a temporary location so you can test it without writing. The changes will NOT be written until you press the Save button. It opens it with the default emulator for your system, so you must have it set to VBA by default.
  • The decompiler - This can give some useful output as well. Since the decompiler doesn't have hardly as many bugs as the compiler, you can often determine if the script will work just by decompiling.
And since this is a new script editor, feel free to ask questions! If something confuses you, I'll be happy to help.




Last edited by Shiny Quagsire; September 7th, 2014 at 03:29 PM.
  #2    
Old March 24th, 2013, 07:17 PM
itari's Avatar
itari
悪魔の妹
Community Supporter
 
Join Date: Mar 2010
Location: 紅魔館
Age: 17
Gender: Female
Nature: Relaxed
Tournaments Joined: 0
Tournaments Won: 0
This looks very nice!
The syntax is unique, yet familiar.

All in all, this seems like an updated XSE, which is good. Well done.
  #3    
Old March 25th, 2013, 03:45 AM
Spherical Ice's Avatar
Spherical Ice
Community Supporter
 
Join Date: Nov 2007
Location: UK
Tournaments Joined: 0
Tournaments Won: 0
Send a message via Skype™ to Spherical Ice
Could you please just update the pointers to use @ instead of :? I feel like that's something I'd have to adapt to which is just unnecessary and adds a barrier.
  #4    
Old March 25th, 2013, 10:54 AM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Tournaments Joined: 0
Tournaments Won: 0
Quote:
Originally Posted by Spherical Ice View Post
Could you please just update the pointers to use @ instead of :? I feel like that's something I'd have to adapt to which is just unnecessary and adds a barrier.
I certainly could, I'll probably make it configurable or just have it as an either or option.



  #5    
Old July 10th, 2013, 05:31 AM
samyak's Avatar
samyak
i am awesome
 
Join Date: Jul 2013
Gender: Male
Tournaments Joined: 0
Tournaments Won: 0
from where can i download this?
  #6    
Old July 10th, 2013, 07:33 PM
Synchronous's Avatar
Synchronous
Lying is my forte, you know?
Community Supporter
 
Join Date: Mar 2011
Location: in a「daze」
Age: 15
Gender: Male
Nature: Quiet
Tournaments Joined: 0
Tournaments Won: 0
Send a message via Skype™ to Synchronous
Quote:
Originally Posted by samyak View Post
from where can i download this?
Under Downloads, just click on Alpha ETU R3.

And great job, Shiny Quagsire. Looks like this will be my new scripting IDE.
  #7    
Old July 15th, 2013, 09:34 PM
DarkPsychic's Avatar
DarkPsychic
 
Join Date: Jul 2012
Gender: Male
Tournaments Joined: 0
Tournaments Won: 0
shiny quagsire you are a Beast

It looks great so far.

Questions:
Spoiler:

1.Will it have a Rom Expander function?
2.Is it possible to add the Script Generator from PKSV but with the modder being able to add own
custom scripts?

3.What about adding the move helper thing from PKSV?


An are you still working on this or is all your time going on MEH?

Last edited by DarkPsychic; March 27th, 2014 at 12:32 PM. Reason: New questions
  #8    
Old May 7th, 2014, 06:28 AM
Maglor's Avatar
Maglor
 
Join Date: Apr 2013
Gender: Male
Tournaments Joined: 0
Tournaments Won: 0
Just a heads up, the alpha ETU R3 download is not working anymore.
  #9    
Old June 25th, 2014, 12:36 PM
Turtl3Skulll's Avatar
Turtl3Skulll
Blue Turtl3
 
Join Date: Jun 2013
Location: Utah, U.S.A.
Age: 18
Gender: Male
Nature: Bold
Tournaments Joined: 0
Tournaments Won: 0
So, just to make sure, this doesn't compile into a ROM yet correct??
It just dumps out the log saying it did.
  #10    
Old June 27th, 2014, 09:40 AM
xGal's Avatar
xGal
du bist n00b
 
Join Date: Nov 2011
Location: A tree
Gender: Male
Nature: Bold
Tournaments Joined: 0
Tournaments Won: 0
This is really great... The fact that It's cross-platform, easy to use and open source is really great :D. It should really help the rom hacking community!
Hey guys, I made a soundcloud account not long ago, and I would be very happy if you guys will check it out: https://soundcloud.com/dewombat. Thanks .

Also, if you ever wanted to make a ROM hacking tool, click here: http://www.pokecommunity.com/showthread.php?t=334348
  #11    
Old August 6th, 2014, 01:01 PM
kevinin
 
Join Date: Aug 2014
Gender: Male
Tournaments Joined: 0
Tournaments Won: 0
the download doesn't work lol
  #12    
Old August 7th, 2014, 03:41 PM
KillerKrabs's Avatar
KillerKrabs
 
Join Date: Nov 2013
Location: Arizona
Age: 20
Gender: Male
Nature: Lonely
Tournaments Joined: 0
Tournaments Won: 0
Send a message via Skype™ to KillerKrabs
I have a suggestion, and an off-topic question. I'm loving this due to the fact that you're carefully applying it to Linux, and I've recently switched over to Linux. Easy compatibility is a must for me.

Suggestion: An advanced space finder. Every free space finder requires the script to be compiled already to find the next available space, in the case of multiple pointers in one script. This creates major issues because when a script contains incomplete pointers, you're left with a jumbled mess of "raw" errors. Essentially it would be nice to have it spout off say, five open spaces for easy scripting when lacking dynamic functions. Also, before you ask, I just dislike using dynamic offsets.. so I likely wouldn't use it even if it was available.

Off-topic question: Would you happen to know a good Gen3 trainer editor that works with Linux? I've been searching for a while, and the standard famous ones don't work with Linux.
  #13    
Old August 8th, 2014, 02:04 AM
Touched's Avatar
Touched
 
Join Date: Jul 2014
Gender: Male
Tournaments Joined: 0
Tournaments Won: 0
Quote:
Originally Posted by KillerKrabs View Post
I have a suggestion, and an off-topic question. I'm loving this due to the fact that you're carefully applying it to Linux, and I've recently switched over to Linux. Easy compatibility is a must for me.

Suggestion: An advanced space finder. Every free space finder requires the script to be compiled already to find the next available space, in the case of multiple pointers in one script. This creates major issues because when a script contains incomplete pointers, you're left with a jumbled mess of "raw" errors. Essentially it would be nice to have it spout off say, five open spaces for easy scripting when lacking dynamic functions. Also, before you ask, I just dislike using dynamic offsets.. so I likely wouldn't use it even if it was available.

Off-topic question: Would you happen to know a good Gen3 trainer editor that works with Linux? I've been searching for a while, and the standard famous ones don't work with Linux.
Just fill with nop. I'm pretty sure XSE has a #reserve directive for this. Sadly, you'll have to just use WINE or VirtualBox to run it.

Anyway, as a side note, this project looks to be abandoned, or at least on hiatus - the last commit was 9 months ago...
  #14    
Old September 7th, 2014, 03:31 PM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Tournaments Joined: 0
Tournaments Won: 0
Fixed the link in the main post. Hopefully now it stays fixed instead of somehow breaking itself every 3 weeks.

It should be noted that there's no additional features, just a reupload of the last version. I've been meaning to update both this and MEH but as of now school has started so no free time for me. Maybe once the beginning homework flood stops I'll have a bit of time to work on it though.



  #15    
Old September 9th, 2014, 01:38 PM
AHMYLEGS's Avatar
AHMYLEGS
 
Join Date: Aug 2014
Tournaments Joined: 0
Tournaments Won: 0
This popped up when I tried to run it. Anyone know if there's a fix?
Proudly not affiliated with the Iluminati since 1996.
  #16    
Old September 9th, 2014, 03:47 PM
Gamer2020's Avatar
Gamer2020
This love is a sickness...
 
Join Date: Jun 2008
Location: Violet city!
Gender: Male
Nature: Bold
Tournaments Joined: 0
Tournaments Won: 0
Send a message via AIM to Gamer2020 Send a message via Windows Live Messenger to Gamer2020 Send a message via Yahoo to Gamer2020 Send a message via Skype™ to Gamer2020
Quote:
Originally Posted by AHMYLEGS View Post
This popped up when I tried to run it. Anyone know if there's a fix?
Complicated answer: https://help.ubuntu.com/community/FilePermissions

Simple answer: http://ma65p.wordpress.com/2008/08/0...ble-in-ubuntu/
Pokemon Game Editor Download!
Pokemon TCG Assistant!
  #17    
Old September 10th, 2014, 03:01 PM
AHMYLEGS's Avatar
AHMYLEGS
 
Join Date: Aug 2014
Tournaments Joined: 0
Tournaments Won: 0
This editor seems unusable. If I load a ROM and the name pushes the buttons behind the (hilariously broken) calculator, resizing the window shows that the buttons have vanished permanently so I have to resize the window before I load in a ROM. I put in the offset I wanted, clicked both the floppy disk and the notepad with pencil icon (save and write?), then used the GBA icon to launch my ROM in an emulator. Unfortunately either it didn't write to the ROM or it completely bugged out when I tried to launch the script. The File, Edit, Tools, and Help buttons don't do anything. I can open a ROM with the icon of a file, the gears open up a buggy window as shown in the attachment, the wrench in the square box does nothing and I'm guessing the notepad with pencil icon and floppy disk don't either, and the screwdriver with crossed wrench freezes the program forcing me to have to end the process.

I must be doing something wrong as I'm the only one who seems to be getting this severity in errors. Is there something I'm not getting? Can provide more screenshots if you like.
Attached Images
File Type: png SEAGlitched.png‎ (64.4 KB, 9 views) (Save to Dropbox)
Proudly not affiliated with the Iluminati since 1996.
  #18    
Old September 10th, 2014, 07:00 PM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Tournaments Joined: 0
Tournaments Won: 0
Quote:
Originally Posted by AHMYLEGS View Post
This editor seems unusable. If I load a ROM and the name pushes the buttons behind the (hilariously broken) calculator, resizing the window shows that the buttons have vanished permanently so I have to resize the window before I load in a ROM. I put in the offset I wanted, clicked both the floppy disk and the notepad with pencil icon (save and write?), then used the GBA icon to launch my ROM in an emulator. Unfortunately either it didn't write to the ROM or it completely bugged out when I tried to launch the script. The File, Edit, Tools, and Help buttons don't do anything. I can open a ROM with the icon of a file, the gears open up a buggy window as shown in the attachment, the wrench in the square box does nothing and I'm guessing the notepad with pencil icon and floppy disk don't either, and the screwdriver with crossed wrench freezes the program forcing me to have to end the process.

I must be doing something wrong as I'm the only one who seems to be getting this severity in errors. Is there something I'm not getting? Can provide more screenshots if you like.
Well for one the calculator is just not implemented (ie no functions tied to buttons). But for the most part this entire tool as a whole is a big WIP and is unlikely to be finished any time soon (or at least before MEH is gotten into a good state). Once MEH is situated and I have a good map editor to test this with, I'll likely start work on SEA again and get this thing finished up. But as of now it's horribly, horribly buggy.



  #19    
Old 3 Weeks Ago, 05:17 AM
PokeBunny's Avatar
PokeBunny
Pokemon Game Maker
 
Join Date: Aug 2012
Location: South Africa
Age: 14
Gender: Male
Nature: Serious
Tournaments Joined: 0
Tournaments Won: 0
That was running in Linux but it looked like the Mac OS.
Cool!
special POKeBUNNY

The Pokemon Game Developer
If you are wondering why I'm taking long to make Pokemon Hot Red and Cold Blue... It's because I barely get computer time. Be patient (I'm not!.

My SoundCloud!!!!!!!!!
  #20    
Old 2 Weeks Ago, 08:22 AM
JordanB500's Avatar
JordanB500
Former Pokemon League Champion
 
Join Date: Jan 2008
Location: Independence MO
Age: 28
Gender: Male
Nature: Gentle
Tournaments Joined: 0
Tournaments Won: 0
would this work with advance map if it were a .exe




  #21    
Old 2 Weeks Ago, 10:09 AM
Turtl3Skulll's Avatar
Turtl3Skulll
Blue Turtl3
 
Join Date: Jun 2013
Location: Utah, U.S.A.
Age: 18
Gender: Male
Nature: Bold
Tournaments Joined: 0
Tournaments Won: 0
Quote:
Originally Posted by JordanB500 View Post
would this work with advance map if it were a .exe
It should work either way, even though its a .jar it would still give you an offset which you can add inside advance map.
Being a .jar file allows it to be compatible inside all OS's that support Java, so its (practically) running as a regular program inside of windows.
  #22    
Old 2 Weeks Ago, 02:19 AM
JordanB500's Avatar
JordanB500
Former Pokemon League Champion
 
Join Date: Jan 2008
Location: Independence MO
Age: 28
Gender: Male
Nature: Gentle
Tournaments Joined: 0
Tournaments Won: 0
Advancemap will not allow a .jar file under the "choose script editor" option i already tried it

perhaps when the tool is finished and the bugs are removed an executable could be made atm im using xse




  #23    
Old 2 Weeks Ago, 06:08 PM
Turtl3Skulll's Avatar
Turtl3Skulll
Blue Turtl3
 
Join Date: Jun 2013
Location: Utah, U.S.A.
Age: 18
Gender: Male
Nature: Bold
Tournaments Joined: 0
Tournaments Won: 0
Quote:
Originally Posted by JordanB500 View Post
Advancemap will not allow a .jar file under the "choose script editor" option i already tried it

perhaps when the tool is finished and the bugs are removed an executable could be made atm im using xse
Oh sorry, I understand what you meant now.
You'll have to switch over to MEH for that, I dunno if it has support for a scrip editor, but assuming shinyquagsire made them both, it should work there if he has implemented it.
  #24    
Old 2 Weeks Ago, 12:19 PM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Tournaments Joined: 0
Tournaments Won: 0
Quote:
Originally Posted by Turtl3Skulll View Post
Oh sorry, I understand what you meant now.
You'll have to switch over to MEH for that, I dunno if it has support for a scrip editor, but assuming shinyquagsire made them both, it should work there if he has implemented it.
Being completely honest, but that's one of the reasons I actually made MEH, because in Linux there was no way to pass the scripting info from A-Map to SEA and not have to run SEA in Wine.

Also, for the curious, I've started a tiny bit of work on SEA again, although mostly for my split disassembly. Once (or if) my split disassembly gains a bit of steam, SEA will be the one way to script for split diassemblies. Basically how it will work is SEA will have a script compiler which will convert from scripts to ASM files which can be included into the disassembly, as well as a decompiler which can show you the assembly version as well. At the moment I'm actually working on a linear script decompiler which can output every script in the ROM into one file, but only in ASM for now.



  #25    
Old 1 Week Ago, 04:46 AM
JordanB500's Avatar
JordanB500
Former Pokemon League Champion
 
Join Date: Jan 2008
Location: Independence MO
Age: 28
Gender: Male
Nature: Gentle
Tournaments Joined: 0
Tournaments Won: 0
how does one run SEA in Wine and where would i find this so called "Wine"




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 04:30 AM.

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.