diff options
author | metamuffin <metamuffin@disroot.org> | 2024-08-17 15:52:28 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-08-17 15:52:28 +0200 |
commit | d0ab45df0d87aefdcf5afd70e80eebf697d9cf0e (patch) | |
tree | e12ec7927430b472eae6a7a0e55d167d7594faf8 /client/global.gd | |
parent | 708cbe2c92b2de53333a293ad4e8b6ba500793d3 (diff) | |
parent | de807e8cd2186286e235808ec1fc1f753e7748f4 (diff) | |
download | hurrycurry-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.gd | 15 |
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: |