diff --git a/client_version b/client_version index dd52d77..4dded42 100644 --- a/client_version +++ b/client_version @@ -1 +1 @@ -u13 \ No newline at end of file +u14 \ No newline at end of file diff --git a/patches/minecraft/net/minecraft/client/gui/GuiIngame.edit.java b/patches/minecraft/net/minecraft/client/gui/GuiIngame.edit.java index 52fe734..ec7d82d 100644 --- a/patches/minecraft/net/minecraft/client/gui/GuiIngame.edit.java +++ b/patches/minecraft/net/minecraft/client/gui/GuiIngame.edit.java @@ -77,7 +77,12 @@ ~ for (Score score1 : (List) arraylist1) { -> INSERT 64 : 65 @ 64 +> INSERT 40 : 42 @ 40 + ++ GlStateManager.enableBlend(); ++ GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0); + +> INSERT 24 : 25 @ 24 + this.mc.getTextureManager().bindTexture(icons); diff --git a/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.edit.java b/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.edit.java index 50315d1..b1191ba 100644 --- a/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.edit.java +++ b/patches/minecraft/net/minecraft/client/renderer/EntityRenderer.edit.java @@ -138,7 +138,7 @@ > DELETE 39 @ 39 : 52 -> CHANGE 4 : 41 @ 4 : 5 +> CHANGE 4 : 43 @ 4 : 5 ~ long framebufferAge = this.overlayFramebuffer.getAge(); ~ if (framebufferAge == -1l || framebufferAge > (Minecraft.getDebugFPS() < 25 ? 125l : 75l)) { @@ -146,7 +146,9 @@ ~ GlStateManager.colorMask(true, true, true, true); ~ GlStateManager.clearColor(0.0f, 0.0f, 0.0f, 0.0f); ~ GlStateManager.clear(16640); +~ GlStateManager.enableOverlayFramebufferBlending(); ~ this.mc.ingameGUI.renderGameOverlay(parFloat1); +~ GlStateManager.disableOverlayFramebufferBlending(); ~ this.overlayFramebuffer.endRender(); ~ } ~ this.setupOverlayRendering(); @@ -158,7 +160,7 @@ ~ GlStateManager.bindTexture(this.overlayFramebuffer.getTexture()); ~ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f); ~ GlStateManager.enableBlend(); -~ GlStateManager.blendFunc(770, 771); +~ GlStateManager.blendFunc(1, 771); ~ GlStateManager.disableAlpha(); ~ GlStateManager.disableDepth(); ~ GlStateManager.depthMask(false); diff --git a/sources/main/java/net/lax1dude/eaglercraft/v1_8/EaglercraftVersion.java b/sources/main/java/net/lax1dude/eaglercraft/v1_8/EaglercraftVersion.java index 2a8fe97..eda0fe6 100644 --- a/sources/main/java/net/lax1dude/eaglercraft/v1_8/EaglercraftVersion.java +++ b/sources/main/java/net/lax1dude/eaglercraft/v1_8/EaglercraftVersion.java @@ -8,7 +8,7 @@ public class EaglercraftVersion { /// Customize these to fit your fork: public static final String projectForkName = "EaglercraftX"; - public static final String projectForkVersion = "u13"; + public static final String projectForkVersion = "u14"; public static final String projectForkVendor = "lax1dude"; public static final String projectForkURL = "https://gitlab.com/lax1dude/eaglercraftx-1.8"; @@ -23,7 +23,7 @@ public class EaglercraftVersion { public static final String projectOriginName = "EaglercraftX"; public static final String projectOriginAuthor = "lax1dude"; public static final String projectOriginRevision = "1.8"; - public static final String projectOriginVersion = "u13"; + public static final String projectOriginVersion = "u14"; public static final String projectOriginURL = "https://gitlab.com/lax1dude/eaglercraftx-1.8"; diff --git a/sources/main/java/net/lax1dude/eaglercraft/v1_8/opengl/GlStateManager.java b/sources/main/java/net/lax1dude/eaglercraft/v1_8/opengl/GlStateManager.java index 5c1a155..2c2ff44 100644 --- a/sources/main/java/net/lax1dude/eaglercraft/v1_8/opengl/GlStateManager.java +++ b/sources/main/java/net/lax1dude/eaglercraft/v1_8/opengl/GlStateManager.java @@ -59,7 +59,8 @@ public class GlStateManager { static int stateBlendEquation = -1; static int stateBlendSRC = -1; static int stateBlendDST = -1; - + static boolean stateEnableOverlayFramebufferBlending = false; + static boolean stateAlphaTest = false; static float stateAlphaTestRef = 0.1f; @@ -336,6 +337,10 @@ public class GlStateManager { } public static final void blendFunc(int srcFactor, int dstFactor) { + if(stateEnableOverlayFramebufferBlending) { + tryBlendFuncSeparate(srcFactor, dstFactor, 0, 1); + return; + } int srcBits = (srcFactor | (srcFactor << 16)); int dstBits = (dstFactor | (dstFactor << 16)); if(srcBits != stateBlendSRC || dstBits != stateBlendDST) { @@ -346,6 +351,10 @@ public class GlStateManager { } public static final void tryBlendFuncSeparate(int srcFactor, int dstFactor, int srcFactorAlpha, int dstFactorAlpha) { + if(stateEnableOverlayFramebufferBlending) { // game overlay framebuffer in EntityRenderer.java + srcFactorAlpha = GL_ONE; + dstFactorAlpha = GL_ONE_MINUS_SRC_ALPHA; + } int srcBits = (srcFactor | (srcFactorAlpha << 16)); int dstBits = (dstFactor | (dstFactorAlpha << 16)); if(srcBits != stateBlendSRC || dstBits != stateBlendDST) { @@ -355,6 +364,14 @@ public class GlStateManager { } } + public static final void enableOverlayFramebufferBlending() { + stateEnableOverlayFramebufferBlending = true; + } + + public static final void disableOverlayFramebufferBlending() { + stateEnableOverlayFramebufferBlending = false; + } + public static final void setShaderBlendSrc(float r, float g, float b, float a) { stateShaderBlendSrcColorR = r; stateShaderBlendSrcColorG = g;