100 lines
1.7 KiB
Lua
100 lines
1.7 KiB
Lua
fade = {
|
|
table={13,15,5,3,12,5,6,7,12,9,10,16,9,13,14},
|
|
pal={},
|
|
old_update=nil,
|
|
wait=0,
|
|
step=0,
|
|
outin=false,
|
|
|
|
init = function()
|
|
for i=1,15 do
|
|
local r,g,b=getcolor(i)
|
|
fade.pal[i]={r,g,b}
|
|
end
|
|
end,
|
|
|
|
getstep=function(num,steps)
|
|
if steps==0 or num==16 then return num end
|
|
for i=1,steps do
|
|
num=fade.table[num]
|
|
if num==16 then return num end
|
|
end
|
|
return num
|
|
end,
|
|
|
|
fadeout = function()
|
|
--print("fading out")
|
|
fade.old_update=game_update
|
|
game_update=fade.update_fadeout
|
|
fade.wait=0
|
|
fade.step=0
|
|
end,
|
|
|
|
fadeoutin = function()
|
|
--print("fading outin")
|
|
fade.old_update=game_update
|
|
game_update=fade.update_fadeout
|
|
fade.wait=0
|
|
fade.step=0
|
|
fade.outin=true
|
|
end,
|
|
|
|
update_fadeout=function()
|
|
--print("out")
|
|
fade.wait=fade.wait+1
|
|
if fade.wait==6 then
|
|
fade.wait=0
|
|
for i=1,15 do
|
|
local v=fade.getstep(i,fade.step)
|
|
--print(v)
|
|
if v==16 then
|
|
setcolor(i,0,0,0)
|
|
else
|
|
setcolor(i,fade.pal[v][1],fade.pal[v][2],fade.pal[v][3])
|
|
end
|
|
end
|
|
fade.step=fade.step+1
|
|
if fade.step==7 then
|
|
game_update = fade.old_update
|
|
if fade.outin then
|
|
fade.outin=false;
|
|
fade.fadein()
|
|
end
|
|
end
|
|
end
|
|
end,
|
|
|
|
fadein = function()
|
|
--print("fading in")
|
|
fade.old_update=game_update
|
|
game_update=fade.update_fadein
|
|
fade.wait=0
|
|
fade.step=6
|
|
for i=1,15 do setcolor(i,0,0,0) end
|
|
end,
|
|
|
|
update_fadein=function()
|
|
--print("in")
|
|
fade.old_update()
|
|
|
|
fade.wait=fade.wait+1
|
|
if fade.wait==6 then
|
|
fade.wait=0
|
|
for i=1,15 do
|
|
local v=fade.getstep(i,fade.step)
|
|
--print(v)
|
|
if v==16 then
|
|
setcolor(i,0,0,0)
|
|
else
|
|
setcolor(i,fade.pal[v][1],fade.pal[v][2],fade.pal[v][3])
|
|
end
|
|
end
|
|
fade.step=fade.step-1
|
|
if fade.step<0 then
|
|
game_update = fade.old_update
|
|
end
|
|
end
|
|
end
|
|
|
|
}
|