From 3dc8a7692f86fabc1adc9e52beeda0c5edade518 Mon Sep 17 00:00:00 2001 From: d Date: Wed, 30 Apr 2025 19:12:44 +0300 Subject: [PATCH] thing --- halyde/lib/raster.lua | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/halyde/lib/raster.lua b/halyde/lib/raster.lua index 5a9a89f..7f6098e 100644 --- a/halyde/lib/raster.lua +++ b/halyde/lib/raster.lua @@ -1,10 +1,6 @@ function drawPixel(x, y, bg, fg) - mergePixels(x, y, bg, fg) -end - -function mergePixels(x, y, bg, fg) -- get original character for "merging" - local original = gpu.get(x, y)[0] + local char = gpu.get(x, y)[0] if bg ~= nil then gpu.setBackground(bg) end if fg ~= nil then gpu.setForeground(fg) end -- convert from braille to char code @@ -13,9 +9,15 @@ function mergePixels(x, y, bg, fg) -- 2 5 -> 3 4 -- 3 6 5 6 -- 7 8 7 8 using complicate bit thingery + -- example would be 171 should be converted to 157 + -- or a more simple one: 16 to 4 -- bitwise or -- unconvert -- print the thing + char = string.byte(char) + ocelot.log(char) + char = formByte({getBit(char, 0), getBit(char, 2), getBit(char, 4), getBit(char, 1), getBit(char, 3), getBit(char, 5), getBit(char, 6), getBit(char, 7)}) + ocelot.log(char) end function XY2Braille(x, y) @@ -23,4 +25,14 @@ function XY2Braille(x, y) end function Braille2XY(x, y) return math.floor(x*2), math.floor(y*4) +end +function getBit(a, which) + return 1 == ((a >> which) & 1); +end +function formByte(a) + local x = 0 + for i = 1, 8 do + x = x+(a[i]<