aboutsummaryrefslogtreecommitdiff
path: root/client/global.gd
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-08-17 15:52:28 +0200
committermetamuffin <metamuffin@disroot.org>2024-08-17 15:52:28 +0200
commitd0ab45df0d87aefdcf5afd70e80eebf697d9cf0e (patch)
treee12ec7927430b472eae6a7a0e55d167d7594faf8 /client/global.gd
parent708cbe2c92b2de53333a293ad4e8b6ba500793d3 (diff)
parentde807e8cd2186286e235808ec1fc1f753e7748f4 (diff)
downloadhurrycurry-d0ab45df0d87aefdcf5afd70e80eebf697d9cf0e.tar
hurrycurry-d0ab45df0d87aefdcf5afd70e80eebf697d9cf0e.tar.bz2
hurrycurry-d0ab45df0d87aefdcf5afd70e80eebf697d9cf0e.tar.zst
Merge branch 'master' of codeberg.org:hurrycurry/hurrycurry
Diffstat (limited to 'client/global.gd')
-rw-r--r--client/global.gd15
1 files changed, 11 insertions, 4 deletions
diff --git a/client/global.gd b/client/global.gd
index 647cac32..d660173a 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -350,10 +350,17 @@ static func interpolate_angle(current, target, dt):
current = fmod(current, PI * 2)
target = fmod(target, PI * 2)
if abs(target - current) > PI:
- if target < 0:
- target += PI * 2
- else:
- target -= PI * 2
+ if target < 0: target += PI * 2
+ else: target -= PI * 2
+ return target + (current - target) * exp(-dt)
+
+# TODO not working in all cases yet but there was an attempt
+static func interpolate_angle_closest_quarter(current, target, dt):
+ current = fmod(current, PI * 2)
+ target = fmod(target, PI * 2)
+ while abs(target - current) > PI / 4.:
+ if target - current < 0: target += PI / 2
+ else: target -= PI / 2
return target + (current - target) * exp(-dt)
func find_menu(node: Node) -> Menu: