From 83d779a86d93809a3697bdc6b0af0394cc69aafd Mon Sep 17 00:00:00 2001 From: Rachael Date: Sat, 17 Dec 2016 21:43:39 -0800 Subject: [PATCH] Adds simple nom-ing animation --- draw-nom.lua | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 draw-nom.lua diff --git a/draw-nom.lua b/draw-nom.lua new file mode 100644 index 0000000..98aea7e --- /dev/null +++ b/draw-nom.lua @@ -0,0 +1,39 @@ +-- +return function(t,fb,g,r,b) + local ix = 2 -- since we start effectively in state 1... + local c = string.char(g,r,b) + local z = string.char(0,0,0) + local ft = { -- open mouth + [1] = function() fb:set(16,z) fb:set(24,z) fb:set(9,c) fb:set(17,c) fb:set(2,c) fb:set(26,c) end + -- close mouth + , [2] = function() fb:set(10, c) fb:set(18,c) fb:set(2,z) fb:set(26,z) end + -- advance & open mouth + , [3] = function() fb:set(9,z) fb:set(17,z) fb:set(3, c) fb:set(27,c) end + -- close mouth + , [4] = function() fb:set(3,z) fb:set(27,z) fb:set(11,c) fb:set(19,c) end + -- nom + , [5] = function() fb:set(10,z) fb:set(18,z) fb:set(4,c) fb:set(28,c) end + -- nom 1 + , [6] = function() fb:set(4,z) fb:set(28,z) fb:set(12,c) fb:set(20,c) end + -- nom 2 + , [7] = function() fb:set(11,z) fb:set(19,z) fb:set(5,c) fb:set(29,c) end + -- nom 3 + , [8] = function() fb:set(5,z) fb:set(29,z) fb:set(13,c) fb:set(21,c) end + -- nom 4 + , [9] = function() fb:set(12,z) fb:set(20,z) fb:set(6,c) fb:set(30,c) end + , [10] = function() fb:set(6,z) fb:set(30,z) fb:set(14,c) fb:set(22,c) end + , [11] = function() fb:set(13,z) fb:set(21,z) fb:set(7,c) fb:set(31,c) end + , [12] = function() fb:set(7,z) fb:set(31,z) fb:set(15,c) fb:set(23,c) end + , [13] = function() fb:set(14,z) fb:set(22,z) fb:set(8,c) fb:set(32,c) end + , [14] = function() fb:set(8,z) fb:set(32,z) fb:set(16,c) fb:set(24,c) end + , [15] = function() fb:set(15,z) fb:set(23,z) fb:set(1,c) fb:set(25,c) end + , [16] = function() fb:set(1,z) fb:set(25,z) fb:set(9,c) fb:set(17,c) end + } + fb:fill(z) + fb:set(9,c) fb:set(17,c) fb:set(2,c) fb:set(26,c) fb:set(29,c) + t:register(500,tmr.ALARM_AUTO,function() + ft[ix]() + ix = (ix == 16 and 1) or ix + 1 + dodraw() + end) +end -- 2.50.1