TerrariaCraft / Issues

3 stars 0 forks source link

[BUG] TerrariaCraft force-enables its own splash even though splashes are disabled in splash.properties #33

Closed artdeell closed 3 years ago

artdeell commented 3 years ago

Describe the bug Title explains it good enough, I hope

To Reproduce Steps to reproduce the behavior:

  1. Find a PC which has issues with Forge splash crashing with NullPointerException
  2. Disable Splash
  3. Confirm that modless Forge starts up just fine, but without splash
  4. Add TerrariaCraft, and see the crash

Expected behavior I expected the mod to start without splash

Screenshots If applicable, add screenshots to help explain your problem.

Mod Versions (please complete the following information):

Additional context Running this mod from mobile. Authors of the LWJGL port can't properly implement SharedDrawable, so users have to disable splash. All other mods run just fine (except for the ones that require AWT/X11 windowing)

Crash log
`---- Minecraft Crash Report ----

WARNING: coremods are present:
  TerrariaCraftCoremod (TerrariaCraft-1.12.2-12.3.23.jar)
Contact their authors BEFORE contacting forge

// Daisy, daisy...

Time: 1/31/21 4:25 PM
Description: Initializing game

java.lang.NullPointerException: Initializing game
    at org.lwjgl.opengl.SharedDrawable.(SharedDrawable.java:50)
    at tk.zeitheron.terraria.asm.handled.SplashProgressTC.start(SplashProgressTC.java:216)
    at net.minecraftforge.fml.client.SplashProgress.start(SplashProgress.java)
    at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:217)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:467)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:378)
    at net.minecraft.client.main.Main.main(SourceFile:123)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Client thread
Stacktrace:
    at org.lwjgl.opengl.SharedDrawable.(SharedDrawable.java:50)
    at tk.zeitheron.terraria.asm.handled.SplashProgressTC.start(SplashProgressTC.java:216)
    at net.minecraftforge.fml.client.SplashProgress.start(SplashProgress.java)
    at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:217)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:467)

-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:378)
    at net.minecraft.client.main.Main.main(SourceFile:123)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

-- System Details --
Details:
    Minecraft Version: 1.12.2
    Operating System: Linux (aarch64) version Android-10
    Java Version: 1.8.0-internal, Oracle Corporation
    Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 2353376576 bytes (2244 MB) / 2500329472 bytes (2384 MB) up to 2500329472 bytes (2384 MB)
    JVM Flags: 3 total; -Xms2488M -Xmx2488M -Xbootclasspath/p:/storage/emulated/0/games/PojavLauncher/.minecraft/caciocavallo/cacio-androidnw-1.10-SNAPSHOT.jar:/storage/emulated/0/games/PojavLauncher/.minecraft/caciocavallo/cacio-shared-1.10-SNAPSHOT.jar:/storage/emulated/0/games/PojavLauncher/.minecraft/caciocavallo/SWDrawGlyphList.jar:/storage/emulated/0/games/PojavLauncher/.minecraft/caciocavallo/xml-libs-pack.jar
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: 
    Loaded coremods (and transformers): 
TerrariaCraftCoremod (TerrariaCraft-1.12.2-12.3.23.jar)
  tk.zeitheron.terraria.asm.TerrariaCraftASM
    GL info: ' Vendor: 'ptitSeb' Version: '2.1 gl4es wrapper 1.1.4' Renderer: 'GL4ES wrapper'
    Launched Version: 1.12.2
    LWJGL: 3.2.3 SNAPSHOT
    OpenGL: GL4ES wrapper GL version 2.1 gl4es wrapper 1.1.4, ptitSeb
    GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because ARB_framebuffer_object is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: 
    Current Language: ~~ERROR~~ NullPointerException: null
    Profiler Position: N/A (disabled)
    CPU: 9x null`
Zeitheron commented 3 years ago

Snapdragon is ARM processor, which is mobile. The mod would perform extremely poorly on any ARM-based SoC anyway, so don't even bother trying. Also a typo with first step to reproduce, no PCs in existence (except Macs) use ARM, so we're pretty much out of luck here.

artdeell commented 3 years ago

But will be there at least some sort of way to turn off the splash?

Zeitheron commented 3 years ago

Probably not, sorry.

Zeitheron commented 3 years ago

We might add it to a TODO list, but with extremely low priority. The mod is unplayable in mobile anyway

artdeell commented 3 years ago

Thanks for adding at least

Zeitheron commented 3 years ago

It is now possible to disable the splash screen, although even after doing so, ARM-based machines have lots of other visual artifacts when playing. One noteable issue is skin recolorification, the cause is unknown.