124 lines
4.3 KiB
Lua
124 lines
4.3 KiB
Lua
scenes={
|
|
abad_inici={
|
|
{x=4,y=0,flip=false,text={"Be, millor comence a","buscar... com s'eixia","d'esta habitació???"}},
|
|
{x=4,y=0,flip=true,text={"Perque parles","tu soles?",""}},
|
|
{x=4,y=0,flip=false,text={"Pa que Doc prove","com queden els","diàlegs..."}}
|
|
},
|
|
abad_corfes={
|
|
{x=4,y=0,flip=false,text={"Osti, està ple de","monstruacos.",""}},
|
|
{x=4,y=0,flip=false,text={"Pos al que s'acoste","s'endurà una corfa","de cacau al cap!"}}
|
|
}
|
|
--premiere_intro={x=4,y=0,text={"Be, millor me fique a","buscar... com s'eixia","d'esta habitacio???"}}
|
|
}
|
|
|
|
function start_scene(scene)
|
|
bkg=newsurf(128,96)
|
|
setdest(bkg)
|
|
setsource(0)
|
|
sspr(0,0,128,96,0,0)
|
|
setsource(tiles)
|
|
setdest(0)
|
|
_update=update_scene
|
|
scenes.current_scene=scene
|
|
scenes.dnum=1
|
|
scenes.step=0
|
|
scenes.char=1
|
|
scenes.wait=0
|
|
end
|
|
|
|
function draw_scene()
|
|
local txt_x = not scenes.current_scene[scenes.dnum].flip and 38 or 8
|
|
camera(0,-28)
|
|
if scenes.step==0 then
|
|
rectfill(0,16,128,17,12)
|
|
line(0,15,128,15,16)
|
|
line(0,18,128,18,16)
|
|
elseif scenes.step==1 then
|
|
rectfill(0,8,128,26,12)
|
|
line(0,7,128,7,16)
|
|
line(0,27,128,27,16)
|
|
elseif scenes.step==2 then
|
|
rectfill(0,0,128,34,12)
|
|
line(0,0,128,0,16)
|
|
line(0,34,128,34,16)
|
|
elseif scenes.step==3 then
|
|
if not scenes.current_scene[scenes.dnum].flip then
|
|
rectfill(8,12,31,23,16)
|
|
sspr(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,9,13,20,10)
|
|
else
|
|
rectfill(97,12,120,23,16)
|
|
sspr(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,98,13,20,10,true)
|
|
end
|
|
elseif scenes.step==4 then
|
|
if not scenes.current_scene[scenes.dnum].flip then
|
|
rectfill(8,7,31,28,16)
|
|
sspr(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,9,8,20,20)
|
|
else
|
|
rectfill(97,7,120,28,16)
|
|
sspr(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,98,8,20,20,true)
|
|
end
|
|
elseif scenes.step==5 then
|
|
text(string.sub(scenes.current_scene[scenes.dnum].text[1],1,scenes.char),txt_x,7,2)
|
|
if scenes.char<#scenes.current_scene[scenes.dnum].text[1] then
|
|
scenes.step=scenes.step-1
|
|
scenes.char=scenes.char+1
|
|
else
|
|
scenes.char=1
|
|
end
|
|
elseif scenes.step==6 then
|
|
text(string.sub(scenes.current_scene[scenes.dnum].text[2],1,scenes.char),txt_x,15,2)
|
|
if scenes.char<#scenes.current_scene[scenes.dnum].text[2] then
|
|
scenes.step=scenes.step-1
|
|
scenes.char=scenes.char+1
|
|
else
|
|
scenes.char=1
|
|
end
|
|
elseif scenes.step==7 then
|
|
text(string.sub(scenes.current_scene[scenes.dnum].text[3],1,scenes.char),txt_x,23,2)
|
|
if scenes.char<#scenes.current_scene[scenes.dnum].text[3] then
|
|
scenes.step=scenes.step-1
|
|
scenes.char=scenes.char+1
|
|
else
|
|
scenes.char=1
|
|
end
|
|
elseif scenes.step==8 then
|
|
rectfill(0,0,128,34,12)
|
|
line(0,0,128,0,16)
|
|
line(0,34,128,34,16)
|
|
if not scenes.current_scene[scenes.dnum].flip then
|
|
rectfill(8,7,31,28,16)
|
|
sspr(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,9,8,20,20)
|
|
else
|
|
rectfill(97,7,120,28,16)
|
|
sspr(scenes.current_scene[scenes.dnum].x,scenes.current_scene[scenes.dnum].y,10,10,98,8,20,20,true)
|
|
end
|
|
text(scenes.current_scene[scenes.dnum].text[1],txt_x,7,2)
|
|
text(scenes.current_scene[scenes.dnum].text[2],txt_x,15,2)
|
|
text(scenes.current_scene[scenes.dnum].text[3],txt_x,23,2)
|
|
end
|
|
if scenes.step<=8 then scenes.step=scenes.step+1 end
|
|
camera(0,0)
|
|
end
|
|
|
|
function update_scene()
|
|
scenes.wait=scenes.wait+1
|
|
|
|
if scenes.wait==6 then
|
|
scenes.wait=0
|
|
draw_scene()
|
|
end
|
|
if btnp(KEY_SPACE) then
|
|
if scenes.step>8 then
|
|
if scenes.dnum==#scenes.current_scene then
|
|
freesurf(bkg)
|
|
_update=update_game
|
|
else
|
|
scenes.dnum=scenes.dnum+1
|
|
scenes.step=2
|
|
end
|
|
else
|
|
scenes.step=8
|
|
end
|
|
end
|
|
end
|