- Optimize string logic to reduce unnecessary object churn (~2x faster font load times).
- Add support for multiple font.hex IResources - this allows resource packs to only partially
override the OpenComputers font without removing existing glyphs, opening the door for
non-compatibility-breaking glyph addition packs or partial alternate fonts.
This replaces the forceNativeLibWithName config option with two new ones: forceNativeLibPlatform and forceNativeLibPathFirst. forceNativeLibPlatform allows overriding the normally auto-detected platform string to a custom value, in case the user is on an unsupported platform. forceNativeLibPathFirst allows choosing a directory to check for natives in, instead of always searching in the jar for one. This allows custom natives to be used without packing them into the mod jar first, which should be much easier for end users.
Setting "n" inside a numbered list was only fully supported up until Lua 5.0,
and was fully removed by Lua 5.2 (which is the lowest version we support).
To improve performance and memory usage a little, remove setting it across
the OpenComputers Lua world (including in our fork of LuaJ).
In addition, more unused LuaJ code was removed, saving about ~100-130KB after
JAR compression.
To say that this has been a long time coming would be an understatement.
This commit changes the following:
* Updates LuaJ to 3.0.2 with many third-party patches applied. Not that
it doesn't have obvious breaking bugs still - however, it emulates
Lua 5.2 that little bit better now.
* Updates JNLua in every conceivable way:
* Now compiled with actual optimizations - ~2x better performance!
* Updates Lua 5.2 with gamax92's backported bugfixes.
* Updates Lua 5.3 from 5.3.2 to 5.3.6.
* Adds experimental Lua 5.4 support (Lua 5.4.4).
* Adds proper support for 64-bit integers (longs) in LuaState.
* Adds official support for AArch64 on Linux and macOS.
* Drops support for all architectures on FreeBSD and x86 on macOS.
* Further minor bugfixes here and there.
* Adds a Lua 5.4 architecture (behind a config option for now).
* Updates the Lua copyright date.
Thanks to everyone who has been patient enough to wait over four years
for this to finally get upstreamed.
( No joke! https://github.com/MightyPirates/OpenComputers/pull/2898 )
Let's hope this doesn't break the world. (It probably does, though.)