Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This implements Auto Splitters. This is still a huge Work in Progress as it's still entirely unclear which scripting language to use. These are the options:
Lua: This is probably one of the most viable options. Unfortunately it adds a C Dependency which can cause compilation / linking issues. I can't compile it on my Windows machine apparently, at least with the GNU Toolchain, which I definitely need to fix, in order to choose Lua. However I might also be able to just use the MSVC Toolchain from now on with livesplit-core. If that works, we probably want Lua. The bindings I would use would either be hlua, which I've used before, or the new rlua bindings.
Dyon: This seems to be the most viable scripting language written in Rust. It should be able to compile anywhere, but its target audience is game development, so it has a very specific style to it and doesn't have any 64-bit integers or hexadecimal literals, which is extremely bad for our purpose. Also it doesn't come with any standard library, so we would need to provide functions for basic things like working with strings, files, network, ...
Rhai: Yeah no. This one doesn't seem to have progressed enough to even be usable in any usecase for anybody, so this seems very much not like an option.
gluon: This is written in Rust and comes with its own standard library. The only problem is that its heavily functional, which might be too hard for most people writing the ASL scripts, so I'm not too sure about this one.
ketos: Seems kind of nice, but is a Lisp Dialect, so it looks pretty ugly to use. I'd prefer gluon's functional style over this.
Operating System Support: