From 4d8af9f4cb7102285de2ca6e8ddc89f6e044da75 Mon Sep 17 00:00:00 2001 From: Redo Date: Thu, 10 Nov 2022 11:02:25 -0600 Subject: [PATCH] add optional colorfx to text brick --- bricks/outputs/TextBrick2.cs | 6 +++--- bricks/outputs/text2-update.lua | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bricks/outputs/TextBrick2.cs b/bricks/outputs/TextBrick2.cs index f0e4705..ba3f1b9 100644 --- a/bricks/outputs/TextBrick2.cs +++ b/bricks/outputs/TextBrick2.cs @@ -31,11 +31,11 @@ datablock fxDTSBrickData(LogicGate_TextBrick2_Data){ lualogic_registergatedefinition("LogicGate_TextBrick2_Data"); function LogicGate_TextBrick2_Data::LuaLogic_Callback(%data, %brick, %arg) { - %colorId = getWord(%arg, 0); - if(%colorId != -1) %brick.setColor(%colorId); + %colorId = getWord(%arg, 0); if(%colorId != -1) %brick.setColor (%colorId); + //%colorFx = getWord(%arg, 3); if(%colorFx != -1) %brick.setColorFx(%colorFx); %domain = getWord(%arg, 1); %print = getWord(%arg, 2); - if(%domain !$= "_" && %print !$= "") %brick.setPrint(lualogic_getprint(%print, %domain)); + if(%domain !$= "_" && %print !$= "_") %brick.setPrint(lualogic_getprint(%print, %domain)); } diff --git a/bricks/outputs/text2-update.lua b/bricks/outputs/text2-update.lua index e9b4bd8..6116b64 100644 --- a/bricks/outputs/text2-update.lua +++ b/bricks/outputs/text2-update.lua @@ -20,15 +20,17 @@ local function getBit(gate, val) local iscolor = math.floor(v/256)==1 -- first bit if iscolor then local printdomain = (math.floor(v/128)%2)==1 and "terminalInv" or "terminal" -- 8th lowest bit + local colorfx = (math.floor(v/64)%2)==1 and 3 or 0 -- 7th lowest bit local colorid = v % 64 -- last 6 bits gatedata.printdomain = printdomain gatedata.colorid = colorid + gatedata.colorfx = colorfx else local printid = v % 256 -- last 8 bits local printname = textbrick2_idxToPrint[printid] or "space" gatedata.printname = printname end - Gate.cb(gate, (gatedata.colorid or -1).." "..(gatedata.printdomain or "terminal").." "..(gatedata.printname or "_")) + Gate.cb(gate, (gatedata.colorid or -1).." "..(gatedata.printdomain or "terminal").." "..(gatedata.printname or "_")).." "..(gatedata.colorfx or -1) end gatedata.listenState = "wait"