Android's onTouch and onGenericMotion are only called every screen
refresh. This means it is tied to your hz. So what android does for high
refresh rate devices is it stores them in
MotionEvent.getHistoricalAxisValue() and makes you process them all at
once on the next screen refresh.
See
https://developer.android.com/reference/android/view/MotionEvent#batching
We used to just completely ignore this so high DPI mice didn't work
properly.
Hopefully high DPI everything now works properly.
This just ignored all JSONs that didn't inheritsFrom. It was assumed to
be vanilla if it wasn't inheriting, the problem is that LWJGL3ify and
others exist which don't have an inheritsFrom field yet contain jvm args
that are needed for launch. This simply removes the known problematic
vanilla arguments from being added to the launch rather than nuking the
whole thing.
This happens only on 26.2-snapshots when not using "Prefer OpenGL" as
the backend. This doesn't happen on 26.1.
This doesn't fully stop crashes when people trigger floating window
during resource/texture loading or window creation, that seems to be
more of a driver issue than anything, but at least it won't occur during
post-loading.
com.github.GTNewHorizons:lwjgl3ify:3.0.15:forgePatches should now
install com.github.GTNewHorizons:lwjgl3ify:3.0.15:forgePatches instead
of com.github.GTNewHorizons:lwjgl3ify:3.0.15
- OpenGL fallback for 26.2-snapshot-x (versions with the new Vulkan backend) should now work properly
- Fixed mods using Veil 3.1.0 or lower crashing on arm/arm64 architectures
See
8e0e093650
for when they fixed it. This commit simply edits `setImGuiPath()` to
nothing so we are able to properly override `imgui.library.name` for
older, broken Veil versions.
For some reason b1.7.3 doesn't work with only adding to
`java.library.path`. They appear to override it or something as the
LWJGL debug logs say it only looks through the android native library
dir and no other.
Because we moved the lwjgl natives to another location, it could no
longer find freetype. This fix is a janky solution. We should really
ship freetype itself as they do have a fairly stable ABI.
Forge installers breaks without freetype.
3.3.3 is compatible enough from past experience, they started making
breaking changes after that.
Uses https://github.com/AngelAuraMC/lwjgl3/actions/runs/24239834125 and
https://github.com/AngelAuraMC/lwjgl3/actions/runs/24239000627 for 3.4.1
and 3.3.3 modules respectively
Removed the InfDev mouse stuff because it was moved to the LWJGLX
module.
Removed jemalloc because we don't have jemalloc natives so it's just
useless.
Enabled shaderc,vma,spvc,vulkan bindings for Mojang VK and VulkanMod.
Cinnabar still has the issue of needing to have the built-in lwjgl
classes inside the jar removed else module encapsulation screws it over
and it can't access lwjgl.jar classes.
[FIXME] Added spirv-cross natives as AAR. Using
https://github.com/AngelAuraMC/SPIRV-Cross/actions/runs/24189750259.
Should probably be included in lwjgl natives build but lets worry about
that another time.
This should help reduce apk size.
We still maintain Java 8 due to reasons.
All old legacy code for having internal runtimes were not removed
because we have no reason to.