So I made a thing...

Discussion in 'Computer Programming, Emulation, and Game Modding' started by Jhynjhiruu, Mar 3, 2018.

  1. Yes

    0 vote(s)
  2. No

    0 vote(s)
  3. Maybe

    0 vote(s)
  4. What?

    0 vote(s)
  1. Jhynjhiruu

    Jhynjhiruu GBAtemp Advanced Fan

    Dec 31, 2016 Flash. So if you're allergic to Flash, especially ActionScript 2.0, please leave now.

    So this is a project that I've been working on for a while now. I'm not really sure whether it's something GBATemp users are particularly interested in, but I couldn't think of anywhere else to post it. It's a program written in ActionScript 2.0 (which yes, I know is more or less dead at this point) which is useful for modding other AS2 programs/games. I wrote it entirely using JPEXS' Free Flash Decompiler (great piece of software, by the way) mainly because I literally only needed a .swf that would run a single .as file, but also cos the 'recommended' programs for this kind of thing are way too complicated for me to put time into figuring out.

    It's called KoopaShell (because of various reasons), and it's a sort of interpreter/shell thingy for a scripting language (KoopaScript) that I made specifically for this purpose. I've been writing mods for a game called Super Mario 63 for a while now, and a while ago, a few of us thought that having a sort of 'terminal' could be really useful; unfortunately, AS doesn't have an 'eval' function, which would have made everything much easier. So, I created my own scripting language and made an interpreter for it, which can be loaded over the top of other AS2 programs and games.

    You can also load .kss files (KoopaScript script) using one of the functions; these are just renamed text files, with a variable layout that Flash can understand. Upon loading KoopaShell for the first time, an init script will be automatically executed.

    There are two main branches right now: the main branch, which has the basic functionality, and a 'species' called KS63, tailored specifically for SM63 with functionality like warping to levels, the ability to actually see the command you're typing and a few more things. In the future I'd like to make more species but right now there's only one.

    While making something open source when it's literally a single file is somewhat difficult, the .as files for different versions, along with a compiled .swf, are on GitHub. The available commands (pretty extensive at this point) are all on there, so I won't bother explaining those. I am actually developing this, it isn't a finished project, so feedback would be great.