From 3816671207152b4ae0732035ecaec1e9dbc7e287 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Wed, 7 Dec 2022 14:33:27 +0100 Subject: [PATCH] Fix depth export on 1.14.4 --- .../Mixin_PreserveDepthDuringGuiRendering.java | 14 ++++++++++++-- .../Mixin_PreserveDepthDuringHandRendering.java | 4 +++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/replaymod/render/mixin/Mixin_PreserveDepthDuringGuiRendering.java b/src/main/java/com/replaymod/render/mixin/Mixin_PreserveDepthDuringGuiRendering.java index 4e380f62..d23765fa 100644 --- a/src/main/java/com/replaymod/render/mixin/Mixin_PreserveDepthDuringGuiRendering.java +++ b/src/main/java/com/replaymod/render/mixin/Mixin_PreserveDepthDuringGuiRendering.java @@ -1,25 +1,35 @@ package com.replaymod.render.mixin; import com.replaymod.render.hooks.EntityRendererHandler; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.GameRenderer; import org.lwjgl.opengl.GL11; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.ModifyArg; +//#if MC>=11500 @Mixin(GameRenderer.class) +//#elseif MC>=11400 +//$$ @Mixin(net.minecraft.client.util.Window.class) +//#else +//$$ @Mixin(EntityRenderer.class) +//#endif public abstract class Mixin_PreserveDepthDuringGuiRendering { @ModifyArg( - //#if MC>=11400 + //#if MC>=11500 method = "render", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderSystem;clear(IZ)V"), index = 0 + //#elseif MC>=11400 + //$$ method = "method_4493", + //$$ at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform/GlStateManager;clear(IZ)V"), index = 0 //#else //$$ method = "setupOverlayRendering", //$$ at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/GlStateManager;clear(I)V"), index = 0 //#endif ) private int replayModRender_skipClearWhenRecordingDepth(int mask) { - EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) this).replayModRender_getHandler(); + EntityRendererHandler handler = ((EntityRendererHandler.IEntityRenderer) MinecraftClient.getInstance().gameRenderer).replayModRender_getHandler(); if (handler != null && handler.getSettings().isDepthMap()) { mask = mask & ~GL11.GL_DEPTH_BUFFER_BIT; } diff --git a/src/main/java/com/replaymod/render/mixin/Mixin_PreserveDepthDuringHandRendering.java b/src/main/java/com/replaymod/render/mixin/Mixin_PreserveDepthDuringHandRendering.java index 1920db95..948ab355 100644 --- a/src/main/java/com/replaymod/render/mixin/Mixin_PreserveDepthDuringHandRendering.java +++ b/src/main/java/com/replaymod/render/mixin/Mixin_PreserveDepthDuringHandRendering.java @@ -15,8 +15,10 @@ public abstract class Mixin_PreserveDepthDuringHandRendering { //#else //$$ method = "renderWorldPass", //#endif - //#if MC>=11400 + //#if MC>=11500 at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderSystem;clear(IZ)V"), + //#elseif MC>=11400 + //$$ at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform/GlStateManager;clear(IZ)V", ordinal = 1), //#else //$$ at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/GlStateManager;clear(I)V", ordinal = 1), //#endif