Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tool] [Cross-Platform] Script Editor Advance [WIP]

Notices
For all updates, view the main page.

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.



Reply
 
Thread Tools
  #1    
Old March 24th, 2013 (03:40 PM). Edited September 7th, 2014 by Shiny Quagsire.
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
STOP HIM SAM, HE'S GONNA TELL US A STORY!!!
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
Gender: Male
Nature: Jolly
Posts: 689
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.
__________________



Reply With Quote
  #2    
Old March 24th, 2013 (07:17 PM).
Lost Heart's Avatar
Lost Heart Lost Heart is offline
Pirate Empress
Gold Tier
 
Join Date: Mar 2010
Location: Amazon Lily
Age: 18
Gender: Female
Nature: Naughty
Posts: 1,216
This looks very nice!
The syntax is unique, yet familiar.

All in all, this seems like an updated XSE, which is good. Well done.
Reply With Quote
  #3    
Old March 25th, 2013 (03:45 AM).
Spherical Ice's Avatar
Spherical Ice Spherical Ice is online now
Moderator
CS
 
Join Date: Nov 2007
Location: Leicester, UK
Posts: 3,502
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.
__________________
Reply With Quote
  #4    
Old March 25th, 2013 (10:54 AM).
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
STOP HIM SAM, HE'S GONNA TELL US A STORY!!!
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
Gender: Male
Nature: Jolly
Posts: 689
Quote originally posted by 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.
I certainly could, I'll probably make it configurable or just have it as an either or option.
__________________



Reply With Quote
  #5    
Old July 10th, 2013 (05:31 AM).
samyak's Avatar
samyak samyak is offline
i am awesome
 
Join Date: Jul 2013
Gender: Male
Posts: 3
from where can i download this?
Reply With Quote
  #6    
Old July 10th, 2013 (07:33 PM).
Akiba's Avatar
Akiba Akiba is online now
Crystal Tier
 
Join Date: Mar 2011
Location: 幻想郷
Age: 15
Gender: Female
Nature: Quiet
Posts: 3,270
Send a message via Skype™ to Akiba
Quote originally posted by samyak:
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.
__________________
Reply With Quote
  #7    
Old July 15th, 2013 (09:34 PM). Edited March 27th, 2014 by DarkPsychic.
DarkPsychic's Avatar
DarkPsychic DarkPsychic is offline
 
Join Date: Jul 2012
Gender: Male
Posts: 68
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?
Reply With Quote
  #8    
Old May 7th, 2014 (06:28 AM).
Maglor's Avatar
Maglor Maglor is offline
 
Join Date: Apr 2013
Gender: Male
Posts: 63
Just a heads up, the alpha ETU R3 download is not working anymore.
Reply With Quote
  #9    
Old June 25th, 2014 (12:36 PM).
Turtl3Skulll's Avatar
Turtl3Skulll Turtl3Skulll is offline
Blue Turtl3
 
Join Date: Jun 2013
Location: Utah, U.S.A.
Age: 19
Gender: Male
Nature: Bold
Posts: 48
So, just to make sure, this doesn't compile into a ROM yet correct??
It just dumps out the log saying it did.
Reply With Quote
  #10    
Old June 27th, 2014 (09:40 AM).
xGal's Avatar
xGal xGal is offline
Playing some ESL
 
Join Date: Nov 2011
Location: A tree
Gender: Male
Nature: Bold
Posts: 206
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
Reply With Quote
  #11    
Old August 6th, 2014 (01:01 PM).
kevinin kevinin is offline
 
Join Date: Aug 2014
Gender: Male
Posts: 4
the download doesn't work lol
Reply With Quote
  #12    
Old August 7th, 2014 (03:41 PM).
KillerKrabs's Avatar
KillerKrabs KillerKrabs is offline
 
Join Date: Nov 2013
Location: Arizona
Age: 21
Gender: Male
Nature: Lonely
Posts: 9
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.
Reply With Quote
  #13    
Old August 8th, 2014 (02:04 AM).
Touched's Avatar
Touched Touched is offline
Resident ASMAGICIAN
 
Join Date: Jul 2014
Gender: Male
Posts: 243
Quote originally posted by 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.
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...
Reply With Quote
  #14    
Old September 7th, 2014 (03:31 PM).
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
STOP HIM SAM, HE'S GONNA TELL US A STORY!!!
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
Gender: Male
Nature: Jolly
Posts: 689
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.
__________________



Reply With Quote
  #15    
Old September 9th, 2014 (01:38 PM).
AHMYLEGS's Avatar
AHMYLEGS AHMYLEGS is offline
 
Join Date: Aug 2014
Posts: 25
This popped up when I tried to run it. Anyone know if there's a fix?
__________________
Proudly not affiliated with the Iluminati since 1996.
Reply With Quote
  #16    
Old September 9th, 2014 (03:47 PM).
Gamer2020's Avatar
Gamer2020 Gamer2020 is offline
This love is a sickness...
 
Join Date: Jun 2008
Location: Distant Land
Gender: Male
Nature: Bold
Posts: 796
Send a message via Skype™ to Gamer2020
Quote originally posted by AHMYLEGS:
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/04/how-to-make-a-file-executable-in-ubuntu/
__________________
Pokemon Game Editor Download!
Pokemon TCG Assistant!
Fun Fact: Even though PGE isn't posted on PC anymore it still has the same number of downloads per day.
Accept no imitations!
Reply With Quote
  #17    
Old September 10th, 2014 (03:01 PM).
AHMYLEGS's Avatar
AHMYLEGS AHMYLEGS is offline
 
Join Date: Aug 2014
Posts: 25
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, 10 views) (Save to Dropbox)
__________________
Proudly not affiliated with the Iluminati since 1996.
Reply With Quote
  #18    
Old September 10th, 2014 (07:00 PM).
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
STOP HIM SAM, HE'S GONNA TELL US A STORY!!!
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
Gender: Male
Nature: Jolly
Posts: 689
Quote originally posted by AHMYLEGS:
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.
__________________



Reply With Quote
  #19    
Old September 28th, 2014 (05:17 AM).
PokeBunny's Avatar
PokeBunny PokeBunny is offline
Pokemon Game Maker
 
Join Date: Aug 2012
Location: South Africa
Age: 15
Gender: Male
Nature: Serious
Posts: 34
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!!!!!!!!!
Reply With Quote
  #20    
Old September 30th, 2014 (08:22 AM).
JordanB500's Avatar
JordanB500 JordanB500 is offline
Former Pokemon League Champion
 
Join Date: Jan 2008
Location: Independence MO
Age: 28
Gender: Male
Nature: Gentle
Posts: 69
would this work with advance map if it were a .exe
__________________




Reply With Quote
  #21    
Old September 30th, 2014 (10:09 AM).
Turtl3Skulll's Avatar
Turtl3Skulll Turtl3Skulll is offline
Blue Turtl3
 
Join Date: Jun 2013
Location: Utah, U.S.A.
Age: 19
Gender: Male
Nature: Bold
Posts: 48
Quote originally posted by JordanB500:
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.
Reply With Quote
  #22    
Old October 1st, 2014 (02:19 AM).
JordanB500's Avatar
JordanB500 JordanB500 is offline
Former Pokemon League Champion
 
Join Date: Jan 2008
Location: Independence MO
Age: 28
Gender: Male
Nature: Gentle
Posts: 69
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
__________________




Reply With Quote
  #23    
Old October 1st, 2014 (06:08 PM).
Turtl3Skulll's Avatar
Turtl3Skulll Turtl3Skulll is offline
Blue Turtl3
 
Join Date: Jun 2013
Location: Utah, U.S.A.
Age: 19
Gender: Male
Nature: Bold
Posts: 48
Quote originally posted by JordanB500:
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.
Reply With Quote
  #24    
Old October 4th, 2014 (12:19 PM).
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
STOP HIM SAM, HE'S GONNA TELL US A STORY!!!
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 17
Gender: Male
Nature: Jolly
Posts: 689
Quote originally posted by Turtl3Skulll:
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.
__________________



Reply With Quote
  #25    
Old October 9th, 2014 (04:46 AM).
JordanB500's Avatar
JordanB500 JordanB500 is offline
Former Pokemon League Champion
 
Join Date: Jan 2008
Location: Independence MO
Age: 28
Gender: Male
Nature: Gentle
Posts: 69
how does one run SEA in Wine and where would i find this so called "Wine"
__________________




Reply With Quote
Reply
Quick Reply

Sponsored Links
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

Forum Jump


All times are UTC -8. The time now is 05:33 AM.