From 5248e5ace984bd52aa02be119ee8b813e3cdb460 Mon Sep 17 00:00:00 2001 From: srslyyyy <51768772+srslyyyy@users.noreply.github.com> Date: Tue, 7 Feb 2023 03:47:15 +0100 Subject: [PATCH] Update dxscoreboard_rt.lua --- [gameplay]/scoreboard/dxscoreboard_rt.lua | 25 +++++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/[gameplay]/scoreboard/dxscoreboard_rt.lua b/[gameplay]/scoreboard/dxscoreboard_rt.lua index bfc0b2e70..3c3d1dfe4 100644 --- a/[gameplay]/scoreboard/dxscoreboard_rt.lua +++ b/[gameplay]/scoreboard/dxscoreboard_rt.lua @@ -8,28 +8,35 @@ local rt local lastUpdateTime = 0 local savedRowsNext = {} local savedRows = {} +local cursorCache = {} -- Adjust cursor position if using rt local function getCursorScoreboardPosition(rtPass) - local cX, cY = getCursorPosition() - local sX, sY = SCREEN_X, SCREEN_Y - - cX, cY = cX * sX, cY * sY - - if rtPass then - local x, y = scoreboardGetTopCornerPosition() + if #cursorCache == 0 then + local cX, cY = getCursorPosition() + local sX, sY = SCREEN_X, SCREEN_Y + + cX, cY = cX * sX, cY * sY + + if rtPass then + local x, y = scoreboardGetTopCornerPosition() - cX, cY = cX - x, cY - y + cX, cY = cX - x, cY - y + end + + cursorCache = {cX, cY} end - return cX, cY + return cursorCache[1], cursorCache[2] end -- drawScoreboard -- Do things depending on things function drawScoreboard() + cursorCache = {} + if #savedRowsNext > 0 then savedRows = savedRowsNext savedRowsNext = {}