diff --git a/FCL/src/main/assets/app_runtime/lwjgl/lwjgl.jar b/FCL/src/main/assets/app_runtime/lwjgl/lwjgl.jar index 05d105b5..a6effdd6 100644 Binary files a/FCL/src/main/assets/app_runtime/lwjgl/lwjgl.jar and b/FCL/src/main/assets/app_runtime/lwjgl/lwjgl.jar differ diff --git a/FCL/src/main/assets/app_runtime/lwjgl/version b/FCL/src/main/assets/app_runtime/lwjgl/version index 42342876..035f8c0d 100644 --- a/FCL/src/main/assets/app_runtime/lwjgl/version +++ b/FCL/src/main/assets/app_runtime/lwjgl/version @@ -1 +1 @@ -1690424430137 \ No newline at end of file +1690689922716 \ No newline at end of file diff --git a/FCL/src/main/java/com/tungsten/fcl/game/FCLGameLauncher.java b/FCL/src/main/java/com/tungsten/fcl/game/FCLGameLauncher.java index 2f28a9e1..0253fd19 100644 --- a/FCL/src/main/java/com/tungsten/fcl/game/FCLGameLauncher.java +++ b/FCL/src/main/java/com/tungsten/fcl/game/FCLGameLauncher.java @@ -88,7 +88,7 @@ public final class FCLGameLauncher extends DefaultLauncher { } } - private void modifyIfConfigDetected(String config, String option, String replacement, FCLConfig.Renderer... renderers) { + private void modifyIfConfigDetected(String config, String option, String replacement, boolean overwrite, FCLConfig.Renderer... renderers) { boolean patch = false; if (renderers.length == 0) { patch = true; @@ -106,11 +106,9 @@ public final class FCLGameLauncher extends DefaultLauncher { StringBuilder str = new StringBuilder(); try (BufferedReader bfr = new BufferedReader(new FileReader(configFile))) { String line; - boolean overwrite = false; while ((line = bfr.readLine()) != null) { - if (line.contains(option)) { + if (overwrite && line.contains(option)) { str.append(replacement).append("\n"); - overwrite = true; } else { str.append(line).append("\n"); } @@ -149,7 +147,24 @@ public final class FCLGameLauncher extends DefaultLauncher { public FCLBridge launch() throws IOException, InterruptedException { FileUtils.deleteDirectoryQuietly(new File("/data/user_de/0/com.tungsten.fcl/code_cache")); generateOptionsTxt(); - modifyIfConfigDetected("sodium-mixins.properties", "mixin.features.chunk_rendering=", "mixin.features.chunk_rendering=false", FCLConfig.Renderer.RENDERER_GL4ES, FCLConfig.Renderer.RENDERER_VGPU); + //Sodium + modifyIfConfigDetected("sodium-mixins.properties", "", "mixin.features.chunk_rendering=false", false, FCLConfig.Renderer.RENDERER_GL4ES, FCLConfig.Renderer.RENDERER_VGPU); + //Rubidium + modifyIfConfigDetected("rubidium-mixins.properties", "", "mixin.features.chunk_rendering=false", false, FCLConfig.Renderer.RENDERER_GL4ES, FCLConfig.Renderer.RENDERER_VGPU); + //DraconicEvolution + String config = "brandon3055/DraconicEvolution.cfg"; + modifyIfConfigDetected(config, "B:useShaders=", "B:useShaders=false", true, FCLConfig.Renderer.RENDERER_GL4ES, FCLConfig.Renderer.RENDERER_VGPU); + modifyIfConfigDetected(config, "B:\"crystalShaders\"=", "B:\"crystalShaders\"=false", true, FCLConfig.Renderer.RENDERER_GL4ES, FCLConfig.Renderer.RENDERER_VGPU); + modifyIfConfigDetected(config, "B:\"reactorShaders\"=", "B:\"reactorShaders\"=false", true, FCLConfig.Renderer.RENDERER_GL4ES, FCLConfig.Renderer.RENDERER_VGPU); + modifyIfConfigDetected(config, "B:\"guardianShaders\"=", "B:\"guardianShaders\"=false", true, FCLConfig.Renderer.RENDERER_GL4ES, FCLConfig.Renderer.RENDERER_VGPU); + modifyIfConfigDetected(config, "B:\"otherShaders\"=", "B:\"otherShaders\"=false", true, FCLConfig.Renderer.RENDERER_GL4ES, FCLConfig.Renderer.RENDERER_VGPU); + //Pixelmon + modifyIfConfigDetected("pixelmon/config.yml", "use-discord-rich-presence:", "use-discord-rich-presence: false", true); + //ImmersiveEngineering + modifyIfConfigDetected("immersiveengineering-client.toml", "stencilBufferEnabled", "stencilBufferEnabled = false", true, FCLConfig.Renderer.RENDERER_GL4ES, FCLConfig.Renderer.RENDERER_VGPU); + //Create + modifyIfConfigDetected("flywheel-client.toml", "enabled", "enabled = false", true, FCLConfig.Renderer.RENDERER_GL4ES); + modifyIfConfigDetected("flywheel-client.toml", "backend =", "backend = \"OFF\"", true, FCLConfig.Renderer.RENDERER_GL4ES); return super.launch(); } } diff --git a/LWJGL/src/main/java/org/lwjgl/opengl/ContextCapabilities.java b/LWJGL/src/main/java/org/lwjgl/opengl/ContextCapabilities.java index 3203ca48..80443753 100644 --- a/LWJGL/src/main/java/org/lwjgl/opengl/ContextCapabilities.java +++ b/LWJGL/src/main/java/org/lwjgl/opengl/ContextCapabilities.java @@ -25,6 +25,10 @@ public class ContextCapabilities { } catch (Exception e) { } } + if (name.equals("glGetBufferSubData") || name.equals("glBufferSubData")){ + Field f = this.getClass().getField(name); + f.setLong(this, field.getLong(cap)); + } } } catch (Exception e) { System.out.println(e); @@ -393,6 +397,9 @@ public class ContextCapabilities { public boolean GL_SGIS_generate_mipmap; public boolean GL_SGIS_texture_lod; public boolean GL_SUN_slice_accum; + + public long glGetBufferSubData; + public long glBufferSubData; public static void main(String[] arg) { System.out.println("START!");