From 2d4afbd1e9a79783ca35eb526e89ee56e239f61a Mon Sep 17 00:00:00 2001 From: KikooDX Date: Thu, 4 Mar 2021 15:31:00 +0100 Subject: [PATCH] A round function that does it's job. Looks good but codewise but probably has terrible performance, we'll see how this goes. --- src/player.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/player.c b/src/player.c index 1e897cd..f51e8f5 100644 --- a/src/player.c +++ b/src/player.c @@ -177,5 +177,12 @@ f32 signf(f32 value) { } i8 round(f32 value) { - return (i8)value; + const i8 value_as_int = (i8)value; + const f32 rest = value - (f32)(value_as_int * sign(value_as_int)); + if (rest >= 0.5) + return value_as_int + 1; + else if (rest <= -0.5) + return value_as_int - 1; + else + return value_as_int; }