From 11b74245109d6f0a1a5601f02b668d572eeab14b Mon Sep 17 00:00:00 2001 From: IMS212 Date: Wed, 15 May 2024 09:08:02 -0700 Subject: [PATCH] Port to 24w20a --- build.gradle.kts | 8 ++-- .../mixin/MixinLevelRenderer.java | 13 ++++--- src/main/java/net/irisshaders/iris/Iris.java | 2 +- .../iris/mixin/MixinGameRenderer.java | 10 +++-- .../iris/mixin/MixinLevelRenderer.java | 38 +++++++++---------- .../iris/mixin/MixinModelViewBobbing.java | 11 +++++- .../mixin/fantastic/MixinLevelRenderer.java | 7 +++- .../irisshaders/iris/mixin/gui/MixinGui.java | 3 +- .../mixin/gui/MixinVideoSettingsScreen.java | 4 +- .../statelisteners/MixinRenderSystem.java | 4 +- .../immediate/MixinLevelRenderer.java | 5 ++- .../iris/uniforms/IrisExclusiveUniforms.java | 2 +- src/main/resources/fabric.mod.json | 10 +---- 13 files changed, 62 insertions(+), 55 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index d1cb3622ca..aca0ebd951 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,15 +3,15 @@ import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform object Constants { // https://fabricmc.net/develop/ - const val MINECRAFT_VERSION: String = "1.20.5" - const val FABRIC_LOADER_VERSION: String = "0.15.10" + const val MINECRAFT_VERSION: String = "24w20a" + const val FABRIC_LOADER_VERSION: String = "0.15.11" const val FABRIC_API_VERSION: String = "0.97.5+1.20.5" // https://semver.org/ const val MOD_VERSION: String = "1.7.0" - const val CUSTOM_SODIUM: Boolean = false - const val CUSTOM_SODIUM_NAME: String = "sodium-fabric-0.5.8-snapshot+mc24w14a-local.jar" + const val CUSTOM_SODIUM: Boolean = true + const val CUSTOM_SODIUM_NAME: String = "sodium-fabric-0.5.8-snapshotmc24w20a-local.jar" const val IS_SHARED_BETA: Boolean = false const val ACTIVATE_RENDERDOC: Boolean = false diff --git a/src/main/java/net/irisshaders/batchedentityrendering/mixin/MixinLevelRenderer.java b/src/main/java/net/irisshaders/batchedentityrendering/mixin/MixinLevelRenderer.java index e2719a4a66..e72d31bad0 100644 --- a/src/main/java/net/irisshaders/batchedentityrendering/mixin/MixinLevelRenderer.java +++ b/src/main/java/net/irisshaders/batchedentityrendering/mixin/MixinLevelRenderer.java @@ -8,6 +8,7 @@ import net.irisshaders.batchedentityrendering.impl.TransparencyType; import net.irisshaders.iris.shaderpack.materialmap.WorldRenderingSettings; import net.minecraft.client.Camera; +import net.minecraft.client.DeltaTracker; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.LevelRenderer; @@ -40,7 +41,7 @@ public class MixinLevelRenderer { private Groupable groupable; @Inject(method = "renderLevel", at = @At("HEAD")) - private void batchedentityrendering$beginLevelRender(float f, long l, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { + private void batchedentityrendering$beginLevelRender(DeltaTracker deltaTracker, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { if (renderBuffers instanceof DrawCallTrackingRenderBuffers) { ((DrawCallTrackingRenderBuffers) renderBuffers).resetDrawCounts(); } @@ -54,21 +55,21 @@ public class MixinLevelRenderer { } @Inject(method = "renderLevel", at = @At(value = "INVOKE", target = RENDER_ENTITY)) - private void batchedentityrendering$preRenderEntity(float f, long l, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { + private void batchedentityrendering$preRenderEntity(DeltaTracker deltaTracker, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { if (groupable != null) { groupable.startGroup(); } } @Inject(method = "renderLevel", at = @At(value = "INVOKE", target = RENDER_ENTITY, shift = At.Shift.AFTER)) - private void batchedentityrendering$postRenderEntity(float f, long l, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { + private void batchedentityrendering$postRenderEntity(DeltaTracker deltaTracker, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { if (groupable != null) { groupable.endGroup(); } } @Inject(method = "renderLevel", at = @At(value = "CONSTANT", args = "stringValue=translucent"), locals = LocalCapture.CAPTURE_FAILHARD) - private void batchedentityrendering$beginTranslucents(float f, long l, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { + private void batchedentityrendering$beginTranslucents(DeltaTracker deltaTracker, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { if (renderBuffers.bufferSource() instanceof FullyBufferedMultiBufferSource fullyBufferedMultiBufferSource) { fullyBufferedMultiBufferSource.readyUp(); } @@ -89,14 +90,14 @@ public class MixinLevelRenderer { @Inject(method = "renderLevel", at = @At(value = "CONSTANT", args = "stringValue=translucent", shift = At.Shift.AFTER), locals = LocalCapture.CAPTURE_FAILHARD) - private void batchedentityrendering$endTranslucents(float f, long l, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { + private void batchedentityrendering$endTranslucents(DeltaTracker deltaTracker, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { if (WorldRenderingSettings.INSTANCE.shouldSeparateEntityDraws()) { this.renderBuffers.bufferSource().endBatch(); } } @Inject(method = "renderLevel", at = @At("RETURN")) - private void batchedentityrendering$endLevelRender(float f, long l, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { + private void batchedentityrendering$endLevelRender(DeltaTracker deltaTracker, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { ((RenderBuffersExt) renderBuffers).endLevelRendering(); groupable = null; } diff --git a/src/main/java/net/irisshaders/iris/Iris.java b/src/main/java/net/irisshaders/iris/Iris.java index a384d436f8..da6a57047f 100644 --- a/src/main/java/net/irisshaders/iris/Iris.java +++ b/src/main/java/net/irisshaders/iris/Iris.java @@ -98,7 +98,7 @@ public class Iris { static { if (!BuildConfig.ACTIVATE_RENDERDOC && FabricLoader.getInstance().isDevelopmentEnvironment() && System.getProperty("user.name").contains("ims") && Util.getPlatform() == Util.OS.LINUX) { - Configuration.GLFW_LIBRARY_NAME.set("/usr/lib/libglfw.so"); + //Configuration.GLFW_LIBRARY_NAME.set("/usr/lib/libglfw.so"); } } diff --git a/src/main/java/net/irisshaders/iris/mixin/MixinGameRenderer.java b/src/main/java/net/irisshaders/iris/mixin/MixinGameRenderer.java index 526d7182b8..f2506c34ae 100644 --- a/src/main/java/net/irisshaders/iris/mixin/MixinGameRenderer.java +++ b/src/main/java/net/irisshaders/iris/mixin/MixinGameRenderer.java @@ -16,6 +16,8 @@ import net.irisshaders.iris.api.v0.IrisApi; import net.irisshaders.iris.uniforms.CapturedRenderingState; import net.irisshaders.iris.uniforms.SystemTimeUniforms; +import net.minecraft.Util; +import net.minecraft.client.DeltaTracker; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.GameRenderer; @@ -328,11 +330,11 @@ public class MixinGameRenderer { } @Inject(method = "render", at = @At("HEAD")) - private void iris$startFrame(float tickDelta, long startTime, boolean pBoolean2, CallbackInfo ci) { + private void iris$startFrame(DeltaTracker deltaTracker, boolean bl, CallbackInfo ci) { // This allows certain functions like float smoothing to function outside a world. - CapturedRenderingState.INSTANCE.setRealTickDelta(tickDelta); + CapturedRenderingState.INSTANCE.setRealTickDelta(deltaTracker.getGameTimeDeltaPartialTick(true)); SystemTimeUniforms.COUNTER.beginFrame(); - SystemTimeUniforms.TIMER.beginFrame(startTime); + SystemTimeUniforms.TIMER.beginFrame(Util.getNanos()); } @Inject(method = { @@ -469,7 +471,7 @@ private static void override(ShaderKey key, CallbackInfoReturnable fogEndListener = listener; } - @Inject(method = "_setShaderFogStart", at = @At(value = "FIELD", target = "Lcom/mojang/blaze3d/systems/RenderSystem;shaderFogStart:F", shift = At.Shift.AFTER)) + @Inject(method = "setShaderFogStart", at = @At(value = "FIELD", target = "Lcom/mojang/blaze3d/systems/RenderSystem;shaderFogStart:F", shift = At.Shift.AFTER)) private static void iris$onFogStart(float start, CallbackInfo ci) { if (fogStartListener != null) { fogStartListener.run(); } } - @Inject(method = "_setShaderFogEnd", at = @At(value = "FIELD", target = "Lcom/mojang/blaze3d/systems/RenderSystem;shaderFogEnd:F", shift = At.Shift.AFTER)) + @Inject(method = "setShaderFogEnd", at = @At(value = "FIELD", target = "Lcom/mojang/blaze3d/systems/RenderSystem;shaderFogEnd:F", shift = At.Shift.AFTER)) private static void iris$onFogEnd(float end, CallbackInfo ci) { if (fogEndListener != null) { fogEndListener.run(); diff --git a/src/main/java/net/irisshaders/iris/mixin/vertices/immediate/MixinLevelRenderer.java b/src/main/java/net/irisshaders/iris/mixin/vertices/immediate/MixinLevelRenderer.java index ffaa0f1ea9..4c9e73919a 100644 --- a/src/main/java/net/irisshaders/iris/mixin/vertices/immediate/MixinLevelRenderer.java +++ b/src/main/java/net/irisshaders/iris/mixin/vertices/immediate/MixinLevelRenderer.java @@ -3,6 +3,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.irisshaders.iris.vertices.ImmediateState; import net.minecraft.client.Camera; +import net.minecraft.client.DeltaTracker; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.client.renderer.LightTexture; @@ -16,12 +17,12 @@ @Mixin(value = LevelRenderer.class, priority = 999) public class MixinLevelRenderer { @Inject(method = "renderLevel", at = @At("HEAD")) - private void iris$immediateStateBeginLevelRender(float f, long l, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { + private void iris$immediateStateBeginLevelRender(DeltaTracker deltaTracker, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { ImmediateState.isRenderingLevel = true; } @Inject(method = "renderLevel", at = @At("RETURN")) - private void iris$immediateStateEndLevelRender(float f, long l, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { + private void iris$immediateStateEndLevelRender(DeltaTracker deltaTracker, boolean bl, Camera camera, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f matrix4f, Matrix4f matrix4f2, CallbackInfo ci) { ImmediateState.isRenderingLevel = false; } } diff --git a/src/main/java/net/irisshaders/iris/uniforms/IrisExclusiveUniforms.java b/src/main/java/net/irisshaders/iris/uniforms/IrisExclusiveUniforms.java index 43f294b57f..5caf89ce0d 100644 --- a/src/main/java/net/irisshaders/iris/uniforms/IrisExclusiveUniforms.java +++ b/src/main/java/net/irisshaders/iris/uniforms/IrisExclusiveUniforms.java @@ -64,7 +64,7 @@ public static void addIrisExclusiveUniforms(UniformHolder uniforms) { if (Minecraft.getInstance().level != null) { return StreamSupport.stream(Minecraft.getInstance().level.entitiesForRendering().spliterator(), false).filter(bolt -> bolt instanceof LightningBolt).findAny().map(bolt -> { Vector3d unshiftedCameraPosition = CameraUniforms.getUnshiftedCameraPosition(); - Vec3 vec3 = bolt.getPosition(Minecraft.getInstance().getDeltaFrameTime()); + Vec3 vec3 = bolt.getPosition(Minecraft.getInstance().getTimer().getGameTimeDeltaPartialTick(true)); return new Vector4f((float) (vec3.x - unshiftedCameraPosition.x), (float) (vec3.y - unshiftedCameraPosition.y), (float) (vec3.z - unshiftedCameraPosition.z), 1); }).orElse(zero); } else { diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index c760f74eda..5f86880203 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -36,15 +36,7 @@ ], "accessWidener": "iris.accesswidener", "depends": { - "fabricloader": ">=0.12.3", - "minecraft": [ - "1.20.5", - "1.20.6" - ], - "sodium": [ - "0.5.8", - "0.5.9" - ] + "fabricloader": ">=0.12.3" }, "breaks": { "iris-explorer": "*",