From 38a85280de09ba8c08b7b2252b9839ebba015509 Mon Sep 17 00:00:00 2001 From: Lex Manos Date: Wed, 17 Jun 2015 15:16:48 -0700 Subject: [PATCH] Make FML Gui classes use GlStateManager. Closes FML#615 --- .../minecraftforge/fml/client/GuiModList.java | 7 ++- .../fml/client/GuiScrollingList.java | 63 ++++++++++--------- .../fml/client/config/GuiSlider.java | 3 +- .../client/config/GuiUnicodeGlyphButton.java | 7 ++- .../fml/client/config/GuiUtils.java | 8 +-- 5 files changed, 46 insertions(+), 42 deletions(-) diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiModList.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiModList.java index 3539ac838..65cf2c738 100644 --- a/fml/src/main/java/net/minecraftforge/fml/client/GuiModList.java +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiModList.java @@ -30,6 +30,7 @@ import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.client.renderer.texture.DynamicTexture; @@ -287,7 +288,7 @@ public class GuiModList extends GuiScreen int offset = this.listWidth + 20; if (selectedMod != null) { - GL11.glEnable(GL11.GL_BLEND); + GlStateManager.enableBlend(); if (!selectedMod.getMetadata().autogenerated) { configModButton.visible = true; @@ -298,7 +299,7 @@ public class GuiModList extends GuiScreen String logoFile = selectedMod.getMetadata().logoFile; if (!logoFile.isEmpty()) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); TextureManager tm = mc.getTextureManager(); IResourcePack pack = FMLClientHandler.instance().getResourcePackFor(selectedMod.getModId()); try @@ -413,7 +414,7 @@ public class GuiModList extends GuiScreen configModButton.visible = false; disableModButton.visible = false; } - GL11.glDisable(GL11.GL_BLEND); + GlStateManager.disableBlend(); } else { diff --git a/fml/src/main/java/net/minecraftforge/fml/client/GuiScrollingList.java b/fml/src/main/java/net/minecraftforge/fml/client/GuiScrollingList.java index 5810d691c..96c7adf6c 100644 --- a/fml/src/main/java/net/minecraftforge/fml/client/GuiScrollingList.java +++ b/fml/src/main/java/net/minecraftforge/fml/client/GuiScrollingList.java @@ -17,6 +17,7 @@ import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiButton; +import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.WorldRenderer; @@ -272,10 +273,10 @@ public abstract class GuiScrollingList } else { - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_FOG); + GlStateManager.disableLighting(); + GlStateManager.disableFog(); this.client.renderEngine.bindTexture(Gui.optionsBackground); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); float var17 = 32.0F; worldr.startDrawingQuads(); worldr.setColorOpaque_I(2105376); @@ -306,8 +307,8 @@ public abstract class GuiScrollingList { var14 = boxLeft; int var15 = boxRight; - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_TEXTURE_2D); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.disableTexture2D(); worldr.startDrawingQuads(); worldr.setColorOpaque_I(8421504); worldr.addVertexWithUV((double)var14, (double)(var19 + var13 + 2), 0.0D, 0.0D, 1.0D); @@ -320,29 +321,29 @@ public abstract class GuiScrollingList worldr.addVertexWithUV((double)(var15 - 1), (double)(var19 - 1), 0.0D, 1.0D, 0.0D); worldr.addVertexWithUV((double)(var14 + 1), (double)(var19 - 1), 0.0D, 0.0D, 0.0D); tess.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); + GlStateManager.enableTexture2D(); } this.drawSlot(var11, boxRight, var19, var13, tess); } } - GL11.glDisable(GL11.GL_DEPTH_TEST); - byte var20 = 4; + GlStateManager.disableDepth(); + byte border = 4; if (this.client.theWorld == null) { this.overlayBackground(0, this.top, 255, 255); this.overlayBackground(this.bottom, this.listHeight, 255, 255); } - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glDisable(GL11.GL_TEXTURE_2D); + GlStateManager.enableBlend(); + GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GlStateManager.disableAlpha(); + GlStateManager.shadeModel(GL11.GL_SMOOTH); + GlStateManager.disableTexture2D(); worldr.startDrawingQuads(); worldr.setColorRGBA_I(0, 0); - worldr.addVertexWithUV((double)this.left, (double)(this.top + var20), 0.0D, 0.0D, 1.0D); - worldr.addVertexWithUV((double)this.right, (double)(this.top + var20), 0.0D, 1.0D, 1.0D); + worldr.addVertexWithUV((double)this.left, (double)(this.top + border), 0.0D, 0.0D, 1.0D); + worldr.addVertexWithUV((double)this.right, (double)(this.top + border), 0.0D, 1.0D, 1.0D); worldr.setColorRGBA_I(0, 255); worldr.addVertexWithUV((double)this.right, (double)this.top, 0.0D, 1.0D, 0.0D); worldr.addVertexWithUV((double)this.left, (double)this.top, 0.0D, 0.0D, 0.0D); @@ -352,8 +353,8 @@ public abstract class GuiScrollingList worldr.addVertexWithUV((double)this.left, (double)this.bottom, 0.0D, 0.0D, 1.0D); worldr.addVertexWithUV((double)this.right, (double)this.bottom, 0.0D, 1.0D, 1.0D); worldr.setColorRGBA_I(0, 0); - worldr.addVertexWithUV((double)this.right, (double)(this.bottom - var20), 0.0D, 1.0D, 0.0D); - worldr.addVertexWithUV((double)this.left, (double)(this.bottom - var20), 0.0D, 0.0D, 0.0D); + worldr.addVertexWithUV((double)this.right, (double)(this.bottom - border), 0.0D, 1.0D, 0.0D); + worldr.addVertexWithUV((double)this.left, (double)(this.bottom - border), 0.0D, 0.0D, 0.0D); tess.draw(); var19 = this.getContentHeight() - (this.bottom - this.top - 4); @@ -402,10 +403,10 @@ public abstract class GuiScrollingList } this.func_27257_b(mouseX, mouseY); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glDisable(GL11.GL_BLEND); + GlStateManager.enableTexture2D(); + GlStateManager.shadeModel(GL11.GL_FLAT); + GlStateManager.enableAlpha(); + GlStateManager.disableBlend(); } private void overlayBackground(int p_22239_1_, int p_22239_2_, int p_22239_3_, int p_22239_4_) @@ -413,7 +414,7 @@ public abstract class GuiScrollingList Tessellator var5 = Tessellator.getInstance(); WorldRenderer worldr = var5.getWorldRenderer(); this.client.renderEngine.bindTexture(Gui.optionsBackground); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); float var6 = 32.0F; worldr.startDrawingQuads(); worldr.setColorRGBA_I(4210752, p_22239_4_); @@ -435,11 +436,11 @@ public abstract class GuiScrollingList float f5 = (float)(par6 >> 16 & 255) / 255.0F; float f6 = (float)(par6 >> 8 & 255) / 255.0F; float f7 = (float)(par6 & 255) / 255.0F; - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_ALPHA_TEST); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glShadeModel(GL11.GL_SMOOTH); + GlStateManager.disableTexture2D(); + GlStateManager.enableBlend(); + GlStateManager.disableAlpha(); + GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); + GlStateManager.shadeModel(GL11.GL_SMOOTH); Tessellator tessellator = Tessellator.getInstance(); WorldRenderer worldrenderer = tessellator.getWorldRenderer(); worldrenderer.startDrawingQuads(); @@ -450,9 +451,9 @@ public abstract class GuiScrollingList worldrenderer.addVertex((double)par1, (double)par4, 0.0D); worldrenderer.addVertex((double)par3, (double)par4, 0.0D); tessellator.draw(); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_TEXTURE_2D); + GlStateManager.shadeModel(GL11.GL_FLAT); + GlStateManager.disableBlend(); + GlStateManager.enableAlpha(); + GlStateManager.enableTexture2D(); } } diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSlider.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSlider.java index d35c5b597..d698630ad 100644 --- a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSlider.java +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiSlider.java @@ -1,6 +1,7 @@ package net.minecraftforge.fml.client.config; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GlStateManager; import org.lwjgl.opengl.GL11; @@ -96,7 +97,7 @@ public class GuiSlider extends GuiButtonExt updateSlider(); } - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); this.drawTexturedModalRect(this.xPosition + (int)(this.sliderValue * (float)(this.width - 8)), this.yPosition, 0, 66, 4, 20); this.drawTexturedModalRect(this.xPosition + (int)(this.sliderValue * (float)(this.width - 8)) + 4, this.yPosition, 196, 66, 4, 20); } diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUnicodeGlyphButton.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUnicodeGlyphButton.java index 404c20f72..b8b53501b 100644 --- a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUnicodeGlyphButton.java +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUnicodeGlyphButton.java @@ -13,6 +13,7 @@ package net.minecraftforge.fml.client.config; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GlStateManager; import org.lwjgl.opengl.GL11; @@ -69,12 +70,12 @@ public class GuiUnicodeGlyphButton extends GuiButtonExt strWidth = mc.fontRendererObj.getStringWidth(buttonText); totalWidth = glyphWidth + strWidth; - GL11.glPushMatrix(); - GL11.glScalef(glyphScale, glyphScale, 1.0F); + GlStateManager.pushMatrix(); + GlStateManager.scale(glyphScale, glyphScale, 1.0F); this.drawCenteredString(mc.fontRendererObj, glyph, (int) (((this.xPosition + (this.width / 2) - (strWidth / 2)) / glyphScale) - (glyphWidth / (2 * glyphScale)) + 2), (int) (((this.yPosition + ((this.height - 8) / glyphScale) / 2) - 1) / glyphScale), color); - GL11.glPopMatrix(); + GlStateManager.popMatrix(); this.drawCenteredString(mc.fontRendererObj, buttonText, (int) (this.xPosition + (this.width / 2) + (glyphWidth / glyphScale)), this.yPosition + (this.height - 8) / 2, color); diff --git a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java index f874d4e55..c115cfc2d 100644 --- a/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java +++ b/fml/src/main/java/net/minecraftforge/fml/client/config/GuiUtils.java @@ -13,6 +13,7 @@ package net.minecraftforge.fml.client.config; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.WorldRenderer; @@ -133,10 +134,9 @@ public class GuiUtils public static void drawContinuousTexturedBox(int x, int y, int u, int v, int width, int height, int textureWidth, int textureHeight, int topBorder, int bottomBorder, int leftBorder, int rightBorder, float zLevel) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(GL11.GL_BLEND); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); + GlStateManager.enableBlend(); + GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); int fillerWidth = textureWidth - leftBorder - rightBorder; int fillerHeight = textureHeight - topBorder - bottomBorder;