35 lines
729 B
Lua
35 lines
729 B
Lua
democrap={
|
|
patterns={
|
|
0b1111111111111111,
|
|
0b1111111111111111,
|
|
0b1111111111111111,
|
|
0b1111111111111111,
|
|
0b1111111111111111,
|
|
0b1111111111111111,
|
|
0b1111111111111111,
|
|
0b1111111111111100,
|
|
0b1111111111110000,
|
|
0b1111110011110000,
|
|
0b1111000011110000,
|
|
0b1111000011000000,
|
|
0b1111000000000000,
|
|
0b1100000000000000,
|
|
0b0000000000000000
|
|
}
|
|
}
|
|
function democrap:distort_screen(progress)
|
|
if (progress <= 0) return
|
|
progress=min(progress,1)
|
|
for src=0x6004,0x7fc4,64 do
|
|
dst=src+sin(t()+src/0x800)*(4*progress)+0.5
|
|
memcpy(dst,src,56)
|
|
end
|
|
local ps=democrap.patterns
|
|
local p=ps[1+flr(progress*#ps)] or ps[#ps]
|
|
fillp(p)
|
|
local old=@0x5333
|
|
poke(0x5f33,1)
|
|
rectfill(0,0,127,127,13)
|
|
poke(0x5f33,old)
|
|
fillp()
|
|
end |