From 36ce490566507c9782476a07075b5d9aaa5fdd1e Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Thu, 15 Dec 2022 21:24:38 +0000 Subject: [PATCH] Use RenderSystem for setting polygon offsets --- .../monitor/MonitorBlockEntityRenderer.java | 8 ++--- .../gametest/client/WorldOpenFlowsMixin.java | 29 +++++++++++++++++++ .../computercraft-gametest.mixins.json | 3 +- 3 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 projects/common/src/testMod/java/dan200/computercraft/mixin/gametest/client/WorldOpenFlowsMixin.java diff --git a/projects/common/src/client/java/dan200/computercraft/client/render/monitor/MonitorBlockEntityRenderer.java b/projects/common/src/client/java/dan200/computercraft/client/render/monitor/MonitorBlockEntityRenderer.java index 260a2bf6d..10bf44cda 100644 --- a/projects/common/src/client/java/dan200/computercraft/client/render/monitor/MonitorBlockEntityRenderer.java +++ b/projects/common/src/client/java/dan200/computercraft/client/render/monitor/MonitorBlockEntityRenderer.java @@ -208,8 +208,8 @@ private static void renderTerminal( backgroundBuffer.drawWithShader(matrix, RenderSystem.getProjectionMatrix(), RenderTypes.getTerminalShader()); // Render foreground geometry with glPolygonOffset enabled. - GL11.glPolygonOffset(-1.0f, -10.0f); - GL11.glEnable(GL11.GL_POLYGON_OFFSET_FILL); + RenderSystem.polygonOffset(-1.0f, -10.0f); + RenderSystem.enablePolygonOffset(); foregroundBuffer.bind(); foregroundBuffer.drawWithShader( @@ -221,8 +221,8 @@ private static void renderTerminal( ); // Clear state - GL11.glPolygonOffset(0.0f, -0.0f); - GL11.glDisable(GL11.GL_POLYGON_OFFSET_FILL); + RenderSystem.polygonOffset(0.0f, -0.0f); + RenderSystem.disablePolygonOffset(); RenderTypes.TERMINAL.clearRenderState(); VertexBuffer.unbind(); diff --git a/projects/common/src/testMod/java/dan200/computercraft/mixin/gametest/client/WorldOpenFlowsMixin.java b/projects/common/src/testMod/java/dan200/computercraft/mixin/gametest/client/WorldOpenFlowsMixin.java new file mode 100644 index 000000000..fc8dfbe40 --- /dev/null +++ b/projects/common/src/testMod/java/dan200/computercraft/mixin/gametest/client/WorldOpenFlowsMixin.java @@ -0,0 +1,29 @@ +/* + * This file is part of ComputerCraft - http://www.computercraft.info + * Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission. + * Send enquiries to dratcliffe@gmail.com + */ +package dan200.computercraft.mixin.gametest.client; + +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.client.gui.screens.worldselection.WorldOpenFlows; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; + +@Mixin(WorldOpenFlows.class) +public class WorldOpenFlowsMixin { + /** + * Never prompt for backup/experimental options when running tests + * + * @param screen The current menu + * @param level The level to load. + * @param customised Whether this rule uses legacy customised worldgen options. + * @param action The action run to load the world. + * @author SquidDev + * @reason Makes it easier to run tests. We can switch to an @Inject if this becomes a problem. + */ + @Overwrite + private void askForBackup(Screen screen, String level, boolean customised, Runnable action) { + action.run(); + } +} diff --git a/projects/common/src/testMod/resources/computercraft-gametest.mixins.json b/projects/common/src/testMod/resources/computercraft-gametest.mixins.json index f10093924..3be0168ff 100644 --- a/projects/common/src/testMod/resources/computercraft-gametest.mixins.json +++ b/projects/common/src/testMod/resources/computercraft-gametest.mixins.json @@ -15,6 +15,7 @@ "TestCommandAccessor" ], "client": [ - "client.MinecraftMixin" + "client.MinecraftMixin", + "client.WorldOpenFlowsMixin" ] }