aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-07-06 23:34:56 +0200
committerLinnea Gräf <nea@nea.moe>2025-07-06 23:36:31 +0200
commitb09648d71258f8d4012c9b50d679f7c3db9201b2 (patch)
tree76d59ee0ef5cf098e62de287ef263b37f73d20ad
parentb40ae8a455d0f338d6fdb709ec830beae66eb8b2 (diff)
downloadFirmament-b09648d71258f8d4012c9b50d679f7c3db9201b2.tar.gz
Firmament-b09648d71258f8d4012c9b50d679f7c3db9201b2.tar.bz2
Firmament-b09648d71258f8d4012c9b50d679f7c3db9201b2.zip
fix: incorrect macro wheel for two items because of angle lerp near π / 2 defaulting the wrong way
-rw-r--r--gradle/libs.versions.toml2
-rw-r--r--src/main/kotlin/util/render/LerpUtils.kt6
2 files changed, 6 insertions, 2 deletions
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index a5ec658..d4ff2c4 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -73,7 +73,7 @@ jarvis = "1.1.4"
nealisp = "1.1.0"
# Update from https://github.com/NotEnoughUpdates/MoulConfig/tags
-moulconfig = "4.0.0-beta"
+moulconfig = "4.0.1-beta"
# Update from https://repo.nea.moe/#/releases/moe/nea/mc-auto-translations/moe.nea.mc-auto-translations.gradle.plugin
mcAutoTranslations = "0.3.0"
diff --git a/src/main/kotlin/util/render/LerpUtils.kt b/src/main/kotlin/util/render/LerpUtils.kt
index 63a13ec..e7f226c 100644
--- a/src/main/kotlin/util/render/LerpUtils.kt
+++ b/src/main/kotlin/util/render/LerpUtils.kt
@@ -1,11 +1,15 @@
package moe.nea.firmament.util.render
import me.shedaniel.math.Color
+import kotlin.math.absoluteValue
val π = Math.PI
val τ = Math.PI * 2
-fun lerpAngle(a: Float, b: Float, progress: Float): Float {
+fun lerpAngle(a: Float, b: Float, progress: Float): Float {
// TODO: there is at least 10 mods to many in here lol
+ if (((b - a).absoluteValue - π).absoluteValue < 0.0001) {
+ return lerp(a, b, progress)
+ }
val shortestAngle = ((((b.mod(τ) - a.mod(τ)).mod(τ)) + τ + π).mod(τ)) - π
return ((a + (shortestAngle) * progress).mod(τ)).toFloat()
}