several more fixes #2

Open
Ocawesome101 wants to merge 19 commits from Ocawesome101/LuPPC:master into master
Showing only changes of commit 3246aa2d65 - Show all commits

View File

@ -59,10 +59,11 @@ local function set(x, y, text, f, b, safe)
b = b or bg
local len = utf8.len(text)
if x + len > w then
text = unsub(text, 1, -1 - ((x + len) - w))
--len = (x + len) - w
--text = unsub(text, 1, len)
end
tbuffer[y] = tbuffer[y]:sub(1, x - 1) ..
text .. tbuffer[y]:sub(x + len)
tbuffer[y] = unsub(tbuffer[y], 1, x - 1) ..
text .. unsub(tbuffer[y], x + len)
if type(f) == "string" then
fbuffer[y] = fbuffer[y]:sub(1, x - 1) ..
f .. fbuffer[y]:sub(x + len)
@ -81,7 +82,7 @@ local function set(x, y, text, f, b, safe)
bbuffer[y] = bbuffer[y]:sub(1, x - 1) ..
string.rep(string.char(b - 1), len) .. bbuffer[y]:sub(x + len)
end
write("\27[", x, ";", y, "H", text)
write("\27[", y, ";", x, "H", text)
flush()
end
@ -222,6 +223,7 @@ function textgpu.start()
checkArg(2, y, "number")
checkArg(3, text, "string")
checkArg(4, vert, "boolean", "nil")
vert = false
if vert then
local i = 1
local len = utf8.len(text)
@ -251,7 +253,7 @@ function textgpu.start()
c = unsub(c, 1, 1)
if #c == 0 then return true end
local str = c:rep(W)
for i=1, h, 1 do
for i=1, H, 1 do
set(x, y + i - 1, str, nil, nil, true)
end
return true