From 2d6970cef9d4a9cf655732db8b7b62dd1d6082c3 Mon Sep 17 00:00:00 2001 From: gamax92 Date: Sat, 7 Jun 2014 14:18:21 -0600 Subject: [PATCH] Lazy --- oci.lua | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/oci.lua b/oci.lua index a3efd38..d4aa93e 100644 --- a/oci.lua +++ b/oci.lua @@ -258,12 +258,21 @@ local function render(data,x,y) s[n]=o return o end}) + local lbg for l1=1,#data,3 do local w=data:byte(l1+1) local h=data:byte(l1+2) -- fill space - gpu.setBackground(c8to24(data:byte(l1))) - gpu.fill(x+cx-1,y+cy-1,w,h," ") + local nbg = c8to24(data:byte(l1)) + if nbg~=lbg then + gpu.setBackground(nbg) + lbg = nbg + end + if w==1 and h==1 then + gpu.set(x+cx-1,y+cy-1," ") + else + gpu.fill(x+cx-1,y+cy-1,w,h," ") + end for sy=cy,cy+h-1 do for sx=cx,cx+w-1 do f[sy][sx]=true