From 3a99e30f40e4df83d1e153186f8f8043c0978fd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Fri, 27 May 2016 18:00:24 +0200 Subject: [PATCH] Fix tile entity renderers turning other stuff transparent (yay no push/popAttrib .-.) --- .../oc/client/renderer/HighlightRenderer.scala | 1 + .../renderer/font/TextureFontRenderer.scala | 1 + .../renderer/tileentity/AssemblerRenderer.scala | 1 + .../client/renderer/tileentity/CaseRenderer.scala | 2 ++ .../renderer/tileentity/ChargerRenderer.scala | 1 + .../tileentity/DisassemblerRenderer.scala | 1 + .../renderer/tileentity/DiskDriveRenderer.scala | 1 + .../renderer/tileentity/GeolyzerRenderer.scala | 1 + .../renderer/tileentity/HologramRenderer.scala | 2 ++ .../tileentity/MicrocontrollerRenderer.scala | 1 + .../renderer/tileentity/NetSplitterRenderer.scala | 1 + .../tileentity/PowerDistributorRenderer.scala | 1 + .../renderer/tileentity/PrinterRenderer.scala | 4 ---- .../client/renderer/tileentity/RaidRenderer.scala | 1 + .../renderer/tileentity/RobotRenderer.scala | 2 +- .../renderer/tileentity/ScreenRenderer.scala | 1 + .../renderer/tileentity/SwitchRenderer.scala | 1 + .../renderer/tileentity/TransposerRenderer.scala | 1 + .../common/event/RackMountableRenderHandler.scala | 3 +++ src/main/scala/li/cil/oc/util/RenderState.scala | 15 +++++++++++++-- 20 files changed, 35 insertions(+), 7 deletions(-) diff --git a/src/main/scala/li/cil/oc/client/renderer/HighlightRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/HighlightRenderer.scala index 5c2931f7f..259742520 100644 --- a/src/main/scala/li/cil/oc/client/renderer/HighlightRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/HighlightRenderer.scala @@ -102,6 +102,7 @@ object HighlightRenderer { } t.draw() + RenderState.disableBlend() RenderState.popAttrib() GlStateManager.popMatrix() } diff --git a/src/main/scala/li/cil/oc/client/renderer/font/TextureFontRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/font/TextureFontRenderer.scala index b4a6e97b7..5ed2c4b48 100644 --- a/src/main/scala/li/cil/oc/client/renderer/font/TextureFontRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/font/TextureFontRenderer.scala @@ -112,6 +112,7 @@ abstract class TextureFontRenderer { GlStateManager.bindTexture(0) GlStateManager.depthMask(true) GlStateManager.color(1, 1, 1) + RenderState.disableBlend() RenderState.popAttrib() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/AssemblerRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/AssemblerRenderer.scala index 6dc76ee7f..b49866a0d 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/AssemblerRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/AssemblerRenderer.scala @@ -65,6 +65,7 @@ object AssemblerRenderer extends TileEntitySpecialRenderer[Assembler] { GlStateManager.rotate(90, 0, 1, 0) } + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/CaseRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/CaseRenderer.scala index fe7c1e739..23bb968b6 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/CaseRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/CaseRenderer.scala @@ -4,6 +4,7 @@ import li.cil.oc.client.Textures import li.cil.oc.common.tileentity.Case import li.cil.oc.util.RenderState import net.minecraft.client.renderer.GlStateManager +import net.minecraft.client.renderer.RenderHelper import net.minecraft.client.renderer.Tessellator import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer import net.minecraft.client.renderer.vertex.DefaultVertexFormats @@ -45,6 +46,7 @@ object CaseRenderer extends TileEntitySpecialRenderer[Case] { renderFrontOverlay(Textures.Block.CaseFrontError) } + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/ChargerRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/ChargerRenderer.scala index cb5908c99..7a68ec85e 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/ChargerRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/ChargerRenderer.scala @@ -72,6 +72,7 @@ object ChargerRenderer extends TileEntitySpecialRenderer[Charger] { t.draw() + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/DisassemblerRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/DisassemblerRenderer.scala index 76bb2c44a..f7f044b19 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/DisassemblerRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/DisassemblerRenderer.scala @@ -64,6 +64,7 @@ object DisassemblerRenderer extends TileEntitySpecialRenderer[tileentity.Disasse t.draw() + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/DiskDriveRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/DiskDriveRenderer.scala index daa18d581..785137b4e 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/DiskDriveRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/DiskDriveRenderer.scala @@ -73,6 +73,7 @@ object DiskDriveRenderer extends TileEntitySpecialRenderer[DiskDrive] { t.draw() + RenderState.disableBlend() RenderState.enableEntityLighting() } diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/GeolyzerRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/GeolyzerRenderer.scala index 583ab5323..cd148d708 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/GeolyzerRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/GeolyzerRenderer.scala @@ -40,6 +40,7 @@ object GeolyzerRenderer extends TileEntitySpecialRenderer[Geolyzer] { t.draw() + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/HologramRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/HologramRenderer.scala index 263e663d4..b69825c13 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/HologramRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/HologramRenderer.scala @@ -151,6 +151,8 @@ object HologramRenderer extends TileEntitySpecialRenderer[Hologram] with Callabl GlStateManager.depthFunc(GL11.GL_LEQUAL) GlStateManager.popMatrix() + + RenderState.disableBlend() RenderState.popAttrib() GL11.glPopClientAttrib() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/MicrocontrollerRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/MicrocontrollerRenderer.scala index aa2315947..23bd2354c 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/MicrocontrollerRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/MicrocontrollerRenderer.scala @@ -54,6 +54,7 @@ object MicrocontrollerRenderer extends TileEntitySpecialRenderer[Microcontroller t.draw() + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/NetSplitterRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/NetSplitterRenderer.scala index 2a6a6d30b..7dc54cca4 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/NetSplitterRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/NetSplitterRenderer.scala @@ -80,6 +80,7 @@ object NetSplitterRenderer extends TileEntitySpecialRenderer[tileentity.NetSplit t.draw() + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/PowerDistributorRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/PowerDistributorRenderer.scala index 57f1d7fe7..cd6b3bf77 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/PowerDistributorRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/PowerDistributorRenderer.scala @@ -65,6 +65,7 @@ object PowerDistributorRenderer extends TileEntitySpecialRenderer[tileentity.Pow t.draw() + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/PrinterRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/PrinterRenderer.scala index 66c1c2c22..427337e21 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/PrinterRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/PrinterRenderer.scala @@ -25,16 +25,12 @@ object PrinterRenderer extends TileEntitySpecialRenderer[Printer] { GlStateManager.rotate((System.currentTimeMillis() % 20000) / 20000f * 360, 0, 1, 0) GlStateManager.scale(0.75, 0.75, 0.75) - RenderHelper.enableStandardItemLighting() - val brightness = printer.world.getCombinedLight(printer.getPos, 0) OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, brightness % 65536, brightness / 65536) Textures.Block.bind() Minecraft.getMinecraft.getRenderItem.renderItem(stack, ItemCameraTransforms.TransformType.FIXED) - RenderHelper.disableStandardItemLighting() - GlStateManager.popMatrix() RenderState.popAttrib() } diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/RaidRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/RaidRenderer.scala index e0a572515..ad441e11b 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/RaidRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/RaidRenderer.scala @@ -62,6 +62,7 @@ object RaidRenderer extends TileEntitySpecialRenderer[Raid] { t.draw() + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/RobotRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/RobotRenderer.scala index 2b455159a..3f15bf4ea 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/RobotRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/RobotRenderer.scala @@ -489,7 +489,7 @@ object RobotRenderer extends TileEntitySpecialRenderer[tileentity.RobotProxy] { GlStateManager.depthMask(true) GlStateManager.enableLighting() - GlStateManager.disableBlend() + RenderState.disableBlend() GlStateManager.popMatrix() } diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/ScreenRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/ScreenRenderer.scala index 573fdada2..1c2965194 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/ScreenRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/ScreenRenderer.scala @@ -89,6 +89,7 @@ object ScreenRenderer extends TileEntitySpecialRenderer[Screen] { draw() } + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.color(1, 1, 1, 1) // #1648 diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/SwitchRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/SwitchRenderer.scala index db3b18352..eb3f68b10 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/SwitchRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/SwitchRenderer.scala @@ -56,6 +56,7 @@ class SwitchRenderer[T <: tileentity.traits.SwitchLike] extends TileEntitySpecia t.draw() + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/client/renderer/tileentity/TransposerRenderer.scala b/src/main/scala/li/cil/oc/client/renderer/tileentity/TransposerRenderer.scala index 5bc8367ca..c9e738d0e 100644 --- a/src/main/scala/li/cil/oc/client/renderer/tileentity/TransposerRenderer.scala +++ b/src/main/scala/li/cil/oc/client/renderer/tileentity/TransposerRenderer.scala @@ -66,6 +66,7 @@ object TransposerRenderer extends TileEntitySpecialRenderer[tileentity.Transpose t.draw() + RenderState.disableBlend() RenderState.enableEntityLighting() GlStateManager.popMatrix() diff --git a/src/main/scala/li/cil/oc/common/event/RackMountableRenderHandler.scala b/src/main/scala/li/cil/oc/common/event/RackMountableRenderHandler.scala index 42c20339c..e2e4b4527 100644 --- a/src/main/scala/li/cil/oc/common/event/RackMountableRenderHandler.scala +++ b/src/main/scala/li/cil/oc/common/event/RackMountableRenderHandler.scala @@ -61,6 +61,7 @@ object RackMountableRenderHandler { e.renderOverlayFromAtlas(Textures.Block.RackDiskDriveActivity) + RenderState.disableBlend() RenderState.enableEntityLighting() } } @@ -82,6 +83,7 @@ object RackMountableRenderHandler { e.renderOverlayFromAtlas(Textures.Block.RackServerNetworkActivity) } + RenderState.disableBlend() RenderState.enableEntityLighting() } else if (e.data != null && TerminalServer == api.Items.get(e.rack.getStackInSlot(e.mountable))) { @@ -98,6 +100,7 @@ object RackMountableRenderHandler { e.renderOverlayFromAtlas(Textures.Block.RackTerminalServerPresence, u0, u1) } + RenderState.disableBlend() RenderState.enableEntityLighting() } } diff --git a/src/main/scala/li/cil/oc/util/RenderState.scala b/src/main/scala/li/cil/oc/util/RenderState.scala index f32ddca8e..5eb36f76e 100644 --- a/src/main/scala/li/cil/oc/util/RenderState.scala +++ b/src/main/scala/li/cil/oc/util/RenderState.scala @@ -47,12 +47,18 @@ object RenderState { def disableEntityLighting() { Minecraft.getMinecraft.entityRenderer.disableLightmap() - RenderHelper.disableStandardItemLighting() + GlStateManager.disableLighting() + GlStateManager.disableLight(0) + GlStateManager.disableLight(1) + GlStateManager.disableColorMaterial() } def enableEntityLighting() { Minecraft.getMinecraft.entityRenderer.enableLightmap() - RenderHelper.enableStandardItemLighting() + GlStateManager.enableLighting() + GlStateManager.enableLight(0) + GlStateManager.enableLight(1) + GlStateManager.enableColorMaterial() } def makeItBlend() { @@ -61,6 +67,11 @@ object RenderState { GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA) } + def disableBlend() { + GlStateManager.disableBlend() + GL11.glDisable(GL11.GL_BLEND) + } + def setBlendAlpha(alpha: Float) = { GlStateManager.color(1, 1, 1, alpha) GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE)