From 9aa19dfa30d12a28b56d653658fd3d553c26bba2 Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Thu, 25 Nov 2021 11:34:25 +0100 Subject: [PATCH] fix: only apply friction if it's > 0 --- .../birb/modules/world/actors/mixins/physics.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sonic-bluestreak.love/birb/modules/world/actors/mixins/physics.lua b/sonic-bluestreak.love/birb/modules/world/actors/mixins/physics.lua index 8b6a143..027fc3c 100644 --- a/sonic-bluestreak.love/birb/modules/world/actors/mixins/physics.lua +++ b/sonic-bluestreak.love/birb/modules/world/actors/mixins/physics.lua @@ -54,10 +54,16 @@ function PhysicalActor:getFuturePosition(dt) end function PhysicalActor:applyFriction(dt) - self.xsp = utils.math.toZero(self.xsp, self.xfrc * dt) - self.ysp = utils.math.toZero(self.ysp, self.yfrc * dt) + if (self.xfrc > 0) then + self.xsp = utils.math.toZero(self.xsp, self.xfrc * dt) + end + if (self.yfrc > 0) then + self.ysp = utils.math.toZero(self.ysp, self.yfrc * dt) + end if (self.z ~= nil) then - self.zsp = utils.math.toZero(self.zsp, self.zfrc * dt) + if (self.zfrc > 0) then + self.zsp = utils.math.toZero(self.zsp, self.zfrc * dt) + end end end