diff --git a/chameleonic.p8 b/chameleonic.p8 index 474c43a..2beb87d 100644 --- a/chameleonic.p8 +++ b/chameleonic.p8 @@ -33,6 +33,11 @@ function gsv(s,sep1,sep2) return ret end +function cycle(tbl,period) + period = period or 1 + return tbl[t()%period*#tbl\period+1] +end + mnames={} function names(root) local n=mnames[root] @@ -1774,20 +1779,12 @@ function hints:init() end menuitem(1,"get hint",function() level.hintlevel+=1 end) menuitem(2,"hide hints",function() level.hintlevel=0 end) - -- debug mode: enable mouse - poke(0x5f2d,1) end -hintflicker={7,10,9,8,8,9,10,7} +hintflicker=split"7,10,9,8,8,9,10,7" function hints:draw2() pal() - local c=hintflicker[t()%1*#hintflicker\1+1] - -- debug mode: mouse coord display - if stat(34) != 0 then - local mousex, mousey = stat(32), stat(33) - print("x ("..mousex..", "..mousey..")",mousex,mousey,c) - end - + local c=cycle(hintflicker) local function body() for i,h in ipairs(self[level.ix]) do @@ -1819,6 +1816,37 @@ function hints:draw2() pal() end +-->8 +-- debug mouse support + +debugmouse = {} + +-- comment this out to disable debug mode +add(real_modules, debugmouse) + +function debugmouse:init() + poke(0x5f2d,1) +end + +debugflicker=split"5,6,7,15,14,8,2,4,9,10,11,3,12,13" +debugchs = split" ,□,x" + +function debugmouse:draw3() + if (stat(34) == 0) return + pal(15,cycle(debugflicker,1.5)) + local x, y, c = stat(32), stat(33), debugchs[stat(34) & 0x3] + if not c or c == " " then + spr(50,x,y) + else + print(c,x,y,15) + end + print(x..", "..y, + mid(0,x,97), + mid(0, y > 117 and y - 6 or y + 6, 117), + 15) + pal() +end + __gfx__ 000030000000002200003000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeff1ff1ff1fffffff1ffffff1fffffff1dddddddd111111110005000000000000 003333300000332200333330eeffffffffffffffffffffeee5e555e55e555e5eff1ff1ffffffffffffffffffffffffffdddddddd111111110000500000000000 @@ -1844,10 +1872,10 @@ eeee0000cc04405500444400efeeee5e11111111e5eeeefeeeeeeeeeeeeeeeeeffffffffffffffff 0a000aa4441a91a1bbabbbbbeffeeeeeeeeeeeeeeeeeeffeff1ff1ff11111111ff1111ff00000000000000000000000000000000000000000000000000000000 00a0044449a110a1bbbbbbbbeeffffffffffffffffffffeeff1ff1ffffffffffffffffff00000000000000000000000000000000000000000000000000000000 000aa111991111103bbbbbb3eeeeeeeeeeeeeeeeeeeeeeeeff1ff1ffffffffffffffffff00000000000000000000000000000000000000000000000000000000 -00000000991000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111999999111111111 -00000000990000000000000000000000000000000000000000000000000000000000000000000000000000000000000019911991999999911999999119999999 -00000000990000000000000000000000000000000000000000000000000000000000000000000000000000000000000019977991999999911999999119999999 -00000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000019911991999117111991199111711999 +0000000099100000f765000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111999999111111111 +00000000990000007700000000000000000000000000000000000000000000000000000000000000000000000000000019911991999999911999999119999999 +00000000990000006060000000000000000000000000000000000000000000000000000000000000000000000000000019977991999999911999999119999999 +00000000090000005005000000000000000000000000000000000000000000000000000000000000000000000000000019911991999117111991199111711999 00000000aa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000019911991999117111991199111711999 0000000077a000000000000000000000000000000000000000000000000000000000000000000000000000000000000019999991999999911997799119999999 00000007777a00000000000000000000000000000000000000000000000000000000000000000000000000000000000019999991999999911991199119999999