Shiny Quagsire

I'm Still Alive, Elsewhere

Age 23
Male
Hoenn Safari Zone
Seen August 7th, 2020
Posted April 17th, 2017
700 posts
12.3 Years
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:
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:
...
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.

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 23
Male
Hoenn Safari Zone
Seen August 7th, 2020
Posted April 17th, 2017
700 posts
12.3 Years
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.

Akiba

Age 22
Female
in a gap
Seen April 10th, 2017
Posted December 28th, 2016
4,262 posts
10.5 Years
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.
Male
CO
Seen March 2nd, 2020
Posted July 5th, 2018
144 posts
9.2 Years
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?

KillerKrabs

Age 27
Male
Arizona
Seen June 5th, 2021
Posted August 10th, 2014
9 posts
7.8 Years
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.

Touched

Resident ASMAGICIAN

Male
Seen February 1st, 2018
Posted October 19th, 2017
626 posts
7.2 Years
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...

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 23
Male
Hoenn Safari Zone
Seen August 7th, 2020
Posted April 17th, 2017
700 posts
12.3 Years
Fixed the link in the main post. Hopefully now it stays fixed instead of somehow breaking itself every 3 weeks. :P

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. :)

Gamer2020

Accept no Imitations!

Male
Distant Land
Seen May 23rd, 2021
Posted January 9th, 2021
944 posts
13.3 Years
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/
I don't use this site since the whole pedophile incident. (And honestly didn't really use it before that.)

You can find me on gamer2020.net
Seen September 21st, 2014
Posted September 20th, 2014
25 posts
7.1 Years
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.
Proudly not affiliated with the Iluminati since 1996.

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 23
Male
Hoenn Safari Zone
Seen August 7th, 2020
Posted April 17th, 2017
700 posts
12.3 Years
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.

PokeBunny

Pokemon Game Maker

Age 21
Male
South Africa
Seen April 14th, 2016
Posted November 13th, 2014
34 posts
9.1 Years
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!!!!!!!!!

Turtl3Skulll

Blue Turtl3

Age 25
Male
Utah, U.S.A.
Seen January 22nd, 2021
Posted September 28th, 2019
76 posts
8.2 Years
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.

Turtl3Skulll

Blue Turtl3

Age 25
Male
Utah, U.S.A.
Seen January 22nd, 2021
Posted September 28th, 2019
76 posts
8.2 Years
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.

Shiny Quagsire

I'm Still Alive, Elsewhere

Age 23
Male
Hoenn Safari Zone
Seen August 7th, 2020
Posted April 17th, 2017
700 posts
12.3 Years
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.