From 630887169291a480b8e1fd4fe370a0d6e4bc6674 Mon Sep 17 00:00:00 2001 From: Sage Vaillancourt Date: Mon, 3 Feb 2025 20:45:18 -0500 Subject: [PATCH] Correct draw offset for hits to right field. --- src/graphics.lua | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/graphics.lua b/src/graphics.lua index a4d8dba..43ec415 100644 --- a/src/graphics.lua +++ b/src/graphics.lua @@ -1,5 +1,3 @@ -local ballBuffer = 5 - --- Assumes that background image is of size --- XXX --- XOX @@ -9,19 +7,17 @@ function getDrawOffset(screenW, screenH, ballX, ballY) if ballY > screenH then return 0, 0 end - if ballY < ballBuffer then - offsetY = math.max(ballBuffer, -1 * (ballY - ballBuffer)) - else - offsetY = 0 - end - if ballX > 0 and ballX < (screenW - ballBuffer) then + offsetY = math.max(0, -1 * ballY) + + if ballX > 0 and ballX < screenW then offsetX = 0 - elseif ballX < ballBuffer then - offsetX = math.max(-1 * screenW, -1 * (ballX - ballBuffer)) - elseif ballX > (screenW - ballBuffer) then - offsetX = math.min(screenW * 2, -1 * (ballX - ballBuffer)) + elseif ballX < 0 then + offsetX = math.max(-1 * screenW, ballX * -1) + elseif ballX > screenW then + offsetX = math.min(screenW * 2, (ballX * -1) + screenW) end - return offsetX, offsetY + + return offsetX * 1.3, offsetY * 1.5 end -- selene: allow(unscoped_variables)