From 02fc4224670983b4cca28c09cd5a33a82ce169a4 Mon Sep 17 00:00:00 2001 From: Zywl <86253343+opZywl@users.noreply.github.com> Date: Sat, 11 Jan 2025 17:38:00 -0300 Subject: [PATCH] feat: transparency/opacity slider without configuration atm --- .../ccbluex/liquidbounce/ui/client/clickgui/style/Style.kt | 7 +++++++ .../clickgui/style/styles/fdpdropdown/impl/Component.kt | 7 +++++++ .../liquidbounce/utils/extensions/MathExtensions.kt | 1 + 3 files changed, 15 insertions(+) diff --git a/src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/Style.kt b/src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/Style.kt index 6b26fb7be1..50a33d4637 100644 --- a/src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/Style.kt +++ b/src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/Style.kt @@ -113,6 +113,10 @@ abstract class Style : MinecraftInstance { glPushMatrix() glEnable(GL_TEXTURE_2D) + glEnable(GL_BLEND) + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) + glEnable(GL_ALPHA_TEST) + glAlphaFunc(GL_GREATER, 0f) glBindTexture(GL_TEXTURE_2D, textureID) @@ -126,11 +130,14 @@ abstract class Style : MinecraftInstance { glEnd() glDisable(GL_TEXTURE_2D) + glDisable(GL_BLEND) + glDisable(GL_ALPHA_TEST) glPopMatrix() glPopAttrib() } + fun clickSound() { mc.playSound("gui.button.press".asResourceLocation()) } diff --git a/src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/styles/fdpdropdown/impl/Component.kt b/src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/styles/fdpdropdown/impl/Component.kt index 49bbcd159e..8b68cd50ed 100644 --- a/src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/styles/fdpdropdown/impl/Component.kt +++ b/src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/styles/fdpdropdown/impl/Component.kt @@ -109,6 +109,10 @@ abstract class Component { glPushMatrix() glEnable(GL_TEXTURE_2D) + glEnable(GL_BLEND) + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) + glEnable(GL_ALPHA_TEST) + glAlphaFunc(GL_GREATER, 0f) glBindTexture(GL_TEXTURE_2D, textureID) @@ -122,11 +126,14 @@ abstract class Component { glEnd() glDisable(GL_TEXTURE_2D) + glDisable(GL_BLEND) + glDisable(GL_ALPHA_TEST) glPopMatrix() glPopAttrib() } + fun Value.setAndSaveValueOnButtonRelease(new: T) { set(new, false) diff --git a/src/main/java/net/ccbluex/liquidbounce/utils/extensions/MathExtensions.kt b/src/main/java/net/ccbluex/liquidbounce/utils/extensions/MathExtensions.kt index c6ced6f3e1..413be1f44c 100644 --- a/src/main/java/net/ccbluex/liquidbounce/utils/extensions/MathExtensions.kt +++ b/src/main/java/net/ccbluex/liquidbounce/utils/extensions/MathExtensions.kt @@ -123,6 +123,7 @@ fun Float.withGCD() = (this / getFixedAngleDelta()).roundToInt() * getFixedAngle * Prevents possible NaN / (-) Infinity results. */ infix fun Int.safeDiv(b: Int) = if (b == 0) 0f else this.toFloat() / b.toFloat() +infix fun Int.safeDivInt(b: Int) = if (b == 0) 0 else this / b infix fun Float.safeDiv(b: Float) = if (b == 0f) 0f else this / b fun Double.ceilInt() = MathHelper.ceiling_double_int(this)