diff --git a/sonic-radiance.love/birb/modules/world/actors/actor2D.lua b/sonic-radiance.love/birb/modules/world/actors/actor2D.lua index b3885d2..9c111bb 100644 --- a/sonic-radiance.love/birb/modules/world/actors/actor2D.lua +++ b/sonic-radiance.love/birb/modules/world/actors/actor2D.lua @@ -92,16 +92,16 @@ end function Actor2D:move(dx, dy) local cols, colNumber = {}, 0 if (self.isDestroyed == false) then - self.x, self.y, cols, colNumber = self.mainHitbox:checkCollision(dx, dy, self.filter) + self.x, self.y, cols, colNumber = self.mainHitbox:checkCollisionAtPoint(dx, dy, self.filter) self.mainHitbox:updatePosition() end return self.x, self.y, cols, colNumber end -function Actor2D:checkCollision(dx, dy) +function Actor2D:checkCollisionAtPoint(dx, dy) local x, y, cols, colNumber = dx, dy, {}, 0 if (self.isDestroyed == false) then - x, y, cols, colNumber = self.mainHitbox:checkCollision(dx, dy, self.filter) + x, y, cols, colNumber = self.mainHitbox:checkCollisionAtPoint(dx, dy, self.filter) end return self.x, self.y, cols, colNumber end @@ -119,7 +119,7 @@ end function Actor2D:checkGround() local dx, dy = self.x, self.y + utils.math.sign(self.grav) - local newx, newy, cols, colNumber = self:checkCollision(dx, dy) + local newx, newy, cols, colNumber = self:checkCollisionAtPoint(dx, dy) for i, col in ipairs(cols) do if (col.type == "touch") or (col.type == "bounce") or (col.type == "slide") then @@ -146,14 +146,14 @@ function Actor2D:packForHitbox() end function Actor2D:checkHitboxCollisions(name, filter) - self:checkHitboxCollisionsAtPoint(name, self.x, self.y, filter) + self:applyHitboxCollisionsAtPoint(name, self.x, self.y, filter) end -function Actor2D:checkHitboxCollisionsAtPoint(name, dx, dy, filter) +function Actor2D:applyHitboxCollisionsAtPoint(name, dx, dy, filter) local x, y, cols, colNumber = dx, dy, {}, 0 local filter = filter or self.filter if (self.isDestroyed == false) and (self.hitboxes[name] ~= nil) then - x, y, cols, colNumber = self.hitboxes[name]:checkCollision(dx, dy, filter) + x, y, cols, colNumber = self.hitboxes[name]:checkCollisionAtPoint(dx, dy, filter) local type = self.hitboxes[name].type for i, col in ipairs(cols) do diff --git a/sonic-radiance.love/birb/modules/world/actors/actor3D.lua b/sonic-radiance.love/birb/modules/world/actors/actor3D.lua index 1f83f19..9348803 100644 --- a/sonic-radiance.love/birb/modules/world/actors/actor3D.lua +++ b/sonic-radiance.love/birb/modules/world/actors/actor3D.lua @@ -107,7 +107,7 @@ function Actor3D:move(dx, dy, dz) local cols, colNumber = {}, 0 local oldx, oldy, oldz = self.x, self.y, self.z if (self.isDestroyed == false) then - self.x, self.y, self.z, cols, colNumber = self.mainHitbox:checkCollision(dx, dy, dz, self.filter) + self.x, self.y, self.z, cols, colNumber = self.mainHitbox:checkCollisionAtPoint(dx, dy, dz, self.filter) self.mainHitbox:updatePosition() self.world:updateShape(self) end @@ -121,10 +121,10 @@ function Actor3D:move(dx, dy, dz) return self.x, self.y, self.z, cols, colNumber end -function Actor3D:checkCollision(dx, dy, dz) +function Actor3D:checkCollisionAtPoint(dx, dy, dz) local x, y, z, cols, colNumber = dx, dy, dz, {}, 0 if (self.isDestroyed == false) then - x, y, z, cols, colNumber = self.mainHitbox:checkCollision(dx, dy, dz, self.filter) + x, y, z, cols, colNumber = self.mainHitbox:checkCollisionAtPoint(dx, dy, dz, self.filter) end return self.x, self.y, self.z, cols, colNumber end @@ -143,7 +143,7 @@ end function Actor3D:checkGround() local dx, dy, dz = self.x, self.y, self.z - utils.math.sign(self.grav) - local newx, newy, newz, cols, colNumber = self:checkCollision(dx, dy, dz) + local newx, newy, newz, cols, colNumber = self:checkCollisionAtPoint(dx, dy, dz) for i, col in ipairs(cols) do if (col.type == "touch") or (col.type == "bounce") or (col.type == "slide") then if not (self.grav == 0) then @@ -169,14 +169,14 @@ function Actor3D:packForHitbox() end function Actor3D:checkHitboxCollisions(name, filter) - self:checkHitboxCollisionsAtPoint(name, self.x, self.y, self.z, filter) + self:applyHitboxCollisionsAtPoint(name, self.x, self.y, self.z, filter) end -function Actor3D:checkHitboxCollisionsAtPoint(name, dx, dy, dz, filter) +function Actor3D:applyHitboxCollisionsAtPoint(name, dx, dy, dz, filter) local x, y, z, cols, colNumber = dx, dy, dz, {}, 0 local filter = filter or self.filter if (self.isDestroyed == false) and (self.hitboxes[name] ~= nil) then - x, y, z, cols, colNumber = self.hitboxes[name]:checkCollision(dx, dy, dz, filter) + x, y, z, cols, colNumber = self.hitboxes[name]:checkCollisionAtPoint(dx, dy, dz, filter) local type = self.hitboxes[name].type for i, col in ipairs(cols) do diff --git a/sonic-radiance.love/birb/modules/world/actors/utils/hitbox2D.lua b/sonic-radiance.love/birb/modules/world/actors/utils/hitbox2D.lua index 9a0710d..a5a23ad 100644 --- a/sonic-radiance.love/birb/modules/world/actors/utils/hitbox2D.lua +++ b/sonic-radiance.love/birb/modules/world/actors/utils/hitbox2D.lua @@ -119,7 +119,7 @@ end -- COLLISION FUNCTIONS -- Handle Hitbox position -function Hitbox2D:checkCollision(dx, dy, filter) +function Hitbox2D:checkCollisionAtPoint(dx, dy, filter) self:updatePosition() local nx, ny = self.ox + dx, self.oy + dy @@ -147,7 +147,7 @@ function Hitbox2D:checkCollision(dx, dy, filter) self.owner.ysp = 0 end end - local x, y, cols, colNumber = self.world:checkCollision(self, nx, ny, filter) + local x, y, cols, colNumber = self.world:checkCollisionAtPoint(self, nx, ny, filter) local newx, newy = self:getNewOwnerPosition(x, y) return newx, newy, cols, colNumber diff --git a/sonic-radiance.love/birb/modules/world/actors/utils/hitbox3D.lua b/sonic-radiance.love/birb/modules/world/actors/utils/hitbox3D.lua index 2fde5cd..8a6b951 100644 --- a/sonic-radiance.love/birb/modules/world/actors/utils/hitbox3D.lua +++ b/sonic-radiance.love/birb/modules/world/actors/utils/hitbox3D.lua @@ -123,11 +123,11 @@ end -- COLLISION FUNCTIONS -- Handle Hitbox position -function Hitbox3D:checkCollision(dx, dy, dz, filter) +function Hitbox3D:checkCollisionAtPoint(dx, dy, dz, filter) self:updatePosition() local dx, dy = self.ox + dx, self.oy + dy, self.oz + dz - local x, y, z, cols, colNumber = self.world:checkCollision(self, dx, dy, dz, filter) + local x, y, z, cols, colNumber = self.world:checkCollisionAtPoint(self, dx, dy, dz, filter) local newx, newy, newz = self:getNewOwnerPosition(x, y, z) return newx, newy, newz, cols, colNumber diff --git a/sonic-radiance.love/birb/modules/world/baseworld.lua b/sonic-radiance.love/birb/modules/world/baseworld.lua index 6e74316..a9374c9 100644 --- a/sonic-radiance.love/birb/modules/world/baseworld.lua +++ b/sonic-radiance.love/birb/modules/world/baseworld.lua @@ -208,7 +208,7 @@ function BaseWorld:moveActor(actor, x, y, filter) return x, y, {}, 0 end -function BaseWorld:checkCollision(actor, x, y, filter) +function BaseWorld:checkCollisionAtPoint(actor, x, y, filter) -- as the baseworld have no collision function, we return empty collision -- datas, but from the same type than bump2D will return return x, y, {}, 0 diff --git a/sonic-radiance.love/birb/modules/world/world2D.lua b/sonic-radiance.love/birb/modules/world/world2D.lua index 189d53a..6a34d2b 100644 --- a/sonic-radiance.love/birb/modules/world/world2D.lua +++ b/sonic-radiance.love/birb/modules/world/world2D.lua @@ -77,7 +77,7 @@ function World2D:removeBody(body) return self.bodies:remove(body) end -function World2D:checkCollision(body, x, y, filter) +function World2D:checkCollisionAtPoint(body, x, y, filter) return self.bodies:check(body, x, y, filter) end diff --git a/sonic-radiance.love/birb/modules/world/world3D.lua b/sonic-radiance.love/birb/modules/world/world3D.lua index 555f4a9..42ee40b 100644 --- a/sonic-radiance.love/birb/modules/world/world3D.lua +++ b/sonic-radiance.love/birb/modules/world/world3D.lua @@ -108,7 +108,7 @@ function World3D:removeBody(body) return self.bodies:remove(body) end -function World3D:checkCollision(body, x, y, z, filter) +function World3D:checkCollisionAtPoint(body, x, y, z, filter) return self.bodies:check(body, x, y, z, filter) end