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; }