Open YoshiRulz opened 4 years ago
(reserved because I can imagine this thread getting real long)
edit 2022-05-07: KeraLua is another .NET Standard 2.0 library, but supports Lua 5.4 features, unlike MoonSharp.
To clarify here, KeraLua is the new Lua "backend" for NLua. Our NLua is still when they used KopiLua, and we only are able to use native Lua with a hacky switcharoo to give it our LuaInterface instead of KopiLua.
It would probably be easiest (and best in terms of lua functionality) overall to just update our NLua to upstream and delete our LuaInterface. I tried a bit here: https://github.com/CasualPokePlayer/BizHawk/tree/moonshot and it seems to execute commands within the console without completely crashing, so it doesn't seem so bad to do.
https://github.com/CasualPokePlayer/BizHawk/commit/c41096ac01bc88040b286ceb483e2860dc9fdb7b seems to work on Linux
- Pluto (fork of Lua 5.4, probably no C# bindings)
It would appear the API (as far as bindings are concerned) is identical to Lua 5.4, so simply dropping in a different .dll/.so would suffice to "support" this (hell you could make it literally a switch in the config whether you want Pluto or pure Lua 5.4)
(
going to flesh this out more laterthe can has been kicked down the road now that Lua works under Mono)(see existing discussion in https://github.com/TASVideos/BizHawk/issues/971#issuecomment-549660627, #1415, #1422, and #1491, and also in IRC logs if you have them)
options to choose from:
io
, also I doubt there are C# bindings)