The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

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.

Reply
 
Thread Tools
  #1    
Old March 24th, 2013, 03:40 PM
Shiny Quagsire's Avatar
Shiny Quagsire
I like .short's because they're comfy and easy to wear.
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
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.
Reply With Quote
  #2    
Old March 24th, 2013, 07:17 PM
itari's Avatar
itari
普通の魔法使い
Community Supporter
 
Join Date: Mar 2010
Location: 魔法の森
Age: 17
Gender: Male
Nature: Relaxed
This looks very nice!
The syntax is unique, yet familiar.

All in all, this seems like an updated XSE, which is good. Well done.
__________________
Pokémon Something Version

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
  #3    
Old March 25th, 2013, 03:45 AM
Spherical Ice's Avatar
Spherical Ice
 
Join Date: Nov 2007
Location: UK
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
I like .short's because they're comfy and easy to wear.
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
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.
__________________



Reply With Quote
  #5    
Old July 10th, 2013, 05:31 AM
samyak's Avatar
samyak
i am awesome
 
Join Date: Jul 2013
Gender: Male
from where can i download this?
Reply With Quote
  #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
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.
__________________
Reply With Quote
  #7    
Old July 15th, 2013, 09:34 PM
DarkPsychic's Avatar
DarkPsychic
 
Join Date: Jul 2012
Gender: Male
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
Reply With Quote
  #8    
Old May 7th, 2014, 06:28 AM
Maglor's Avatar
Maglor
 
Join Date: Apr 2013
Gender: Male
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
Blue Turtl3
 
Join Date: Jun 2013
Location: Utah, U.S.A.
Age: 19
Gender: Male
Nature: Bold
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
Playing some ESL
 
Join Date: Nov 2011
Location: A tree
Gender: Male
Nature: Bold
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
 
Join Date: Aug 2014
Gender: Male
the download doesn't work lol
Reply With Quote
  #12    
Old August 7th, 2014, 03:41 PM
KillerKrabs's Avatar
KillerKrabs
 
Join Date: Nov 2013
Location: Arizona
Age: 21
Gender: Male
Nature: Lonely
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
 
Join Date: Jul 2014
Gender: Male
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...
Reply With Quote
  #14    
Old September 7th, 2014, 03:31 PM
Shiny Quagsire's Avatar
Shiny Quagsire
I like .short's because they're comfy and easy to wear.
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
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
 
Join Date: Aug 2014
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
This love is a sickness...
 
Join Date: Jun 2008
Location: Distant Land
Gender: Male
Nature: Bold
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!
Fun Fact: Even though PGE isn't posted on PC anymore it still has the same number of downloads per day.
Reply With Quote
  #17    
Old September 10th, 2014, 03:01 PM
AHMYLEGS's Avatar
AHMYLEGS
 
Join Date: Aug 2014
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.
Reply With Quote
  #18    
Old September 10th, 2014, 07:00 PM
Shiny Quagsire's Avatar
Shiny Quagsire
I like .short's because they're comfy and easy to wear.
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
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.
__________________



Reply With Quote
  #19    
Old September 28th, 2014, 05:17 AM
PokeBunny's Avatar
PokeBunny
Pokemon Game Maker
 
Join Date: Aug 2012
Location: South Africa
Age: 15
Gender: Male
Nature: Serious
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
Former Pokemon League Champion
 
Join Date: Jan 2008
Location: Independence MO
Age: 28
Gender: Male
Nature: Gentle
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
Blue Turtl3
 
Join Date: Jun 2013
Location: Utah, U.S.A.
Age: 19
Gender: Male
Nature: Bold
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.
Reply With Quote
  #22    
Old October 1st, 2014, 02:19 AM
JordanB500's Avatar
JordanB500
Former Pokemon League Champion
 
Join Date: Jan 2008
Location: Independence MO
Age: 28
Gender: Male
Nature: Gentle
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
Blue Turtl3
 
Join Date: Jun 2013
Location: Utah, U.S.A.
Age: 19
Gender: Male
Nature: Bold
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.
Reply With Quote
  #24    
Old October 4th, 2014, 12:19 PM
Shiny Quagsire's Avatar
Shiny Quagsire
I like .short's because they're comfy and easy to wear.
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
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.
__________________



Reply With Quote
  #25    
Old October 9th, 2014, 04:46 AM
JordanB500's Avatar
JordanB500
Former Pokemon League Champion
 
Join Date: Jan 2008
Location: Independence MO
Age: 28
Gender: Male
Nature: Gentle
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
Minimum Characters Per Post: 25



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


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 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.
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.