Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9afc51f9a0 | |||
| 75a1fb95d9 | |||
| 17654b2c82 | |||
| a3ca7bec86 |
@@ -1,4 +1,6 @@
|
||||
|
||||
require "dead"
|
||||
|
||||
abad={x=40,y=24,flip=false,frame=1,wait=0,respawning=0,hab=10,vides=3,energia=40,falling=0,step=0, mustep=1,hurting=0,update=nil,jumpfwd=false,anim={0,1,0,2},bb={x=4,y=0,w=8,h=16},safe={hab=10,x=40,y=24}}
|
||||
|
||||
function abad_nop()
|
||||
@@ -16,8 +18,8 @@ function abad:draw()
|
||||
if abad.update==abad_state_stairs then
|
||||
flip=(((abad.x>>1)+(abad.y>>1))%2)==0
|
||||
end
|
||||
if (abad.respawning==0) or (flr(abad.respawning/15)%2==0) then
|
||||
sspr(abad.frame*16,0,16,16,abad.x,abad.y,16,16,flip)
|
||||
if (abad.respawning==0) or (math.floor(abad.respawning/15)%2==0) then
|
||||
blit(abad.frame*16,0,16,16,abad.x,abad.y,16,16,flip)
|
||||
end
|
||||
|
||||
if abad.respawning > 0 then
|
||||
@@ -224,8 +226,8 @@ function abad_state_jumping()
|
||||
|
||||
if abad.jumpfwd then abad_advance() end
|
||||
|
||||
--local xx=flr((abad.x+4)/8)
|
||||
--local yy=flr(abad.y/8)
|
||||
--local xx=math.floor((abad.x+4)/8)
|
||||
--local yy=math.floor(abad.y/8)
|
||||
--rect(xx*8,yy*8, (xx+2)*8,(yy+1)*8)
|
||||
if abad.step<6 then
|
||||
if abad.y>0 then
|
||||
@@ -234,14 +236,14 @@ function abad_state_jumping()
|
||||
|
||||
if check_tile(abad.hab,abad.x+4,abad.y-2)==tiletype.switch then
|
||||
-- Executar el switch
|
||||
local xx=min(11,max(0,flr((abad.x+4)/8)))
|
||||
local yy=min(5,max(0,flr((abad.y-2)/8)))
|
||||
local xx=math.min(11,math.max(0,math.floor((abad.x+4)/8)))
|
||||
local yy=math.min(5,math.max(0,math.floor((abad.y-2)/8)))
|
||||
switches.start(abad.hab,1+xx+yy*12)
|
||||
--cls(4)
|
||||
elseif (abad.x+4)&7~=0 and check_tile(abad.hab,abad.x+12,abad.y-2)==tiletype.switch then
|
||||
-- Executar el switch
|
||||
local xx=min(11,max(0,flr((abad.x+12)/8)))
|
||||
local yy=min(5,max(0,flr((abad.y-2)/8)))
|
||||
local xx=math.min(11,math.max(0,math.floor((abad.x+12)/8)))
|
||||
local yy=math.min(5,math.max(0,math.floor((abad.y-2)/8)))
|
||||
switches.start(abad.hab,1+xx+yy*12)
|
||||
--cls(4)
|
||||
else
|
||||
@@ -272,8 +274,8 @@ function abad_state_falling()
|
||||
|
||||
if abad.jumpfwd then abad_advance() end
|
||||
|
||||
local xx=flr((abad.x+4)/8)
|
||||
local yy=flr((abad.y+16)/8)
|
||||
local xx=math.floor((abad.x+4)/8)
|
||||
local yy=math.floor((abad.y+16)/8)
|
||||
|
||||
if abad.y<32 then
|
||||
if (abad.y+16)&7==0 and (check_tile(abad.hab,abad.x+4,abad.y+16)>=tiletype.half or ((abad.x+4)&7~=0 and check_tile(abad.hab,abad.x+12,abad.y+16)>=tiletype.half)) then
|
||||
|
||||
@@ -44,7 +44,7 @@ end
|
||||
|
||||
function bambolla.draw_normal()
|
||||
if bambolla.enabled then
|
||||
sspr(112,16,16,16,bambolla.x,bambolla.y,16,16)
|
||||
blit(112,16,16,16,bambolla.x,bambolla.y,16,16)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -77,7 +77,7 @@ function bambolla.update_normal()
|
||||
bambolla.reset()
|
||||
end
|
||||
end
|
||||
bambolla.y=28-abs(sin(bambolla.x*0.1))*24
|
||||
bambolla.y=28-math.abs(math.sin(bambolla.x*0.1))*24
|
||||
if bambolla.hab==abad.hab and bambolla.y>25.2 then
|
||||
playsnd(audio_low)
|
||||
end
|
||||
|
||||
@@ -15,7 +15,7 @@ function batman.draw()
|
||||
if batman.update==batman.update_stairs then
|
||||
flip=(((batman.x>>1)+(batman.y>>1))%2)==0
|
||||
end
|
||||
sspr((batman.frame&7)*16,(batman.frame>>3)*16,16,16,batman.x,batman.y,16,16,flip)
|
||||
blit((batman.frame&7)*16,(batman.frame>>3)*16,16,16,batman.x,batman.y,16,16,flip)
|
||||
end
|
||||
|
||||
function batman.hit()
|
||||
|
||||
@@ -6,7 +6,7 @@ function bol.init()
|
||||
end
|
||||
|
||||
function bol.draw()
|
||||
sspr(112,88,16,8,bol.x,bol.y,16,8)
|
||||
blit(112,88,16,8,bol.x,bol.y,16,8)
|
||||
end
|
||||
|
||||
function bol.update()
|
||||
|
||||
@@ -5,7 +5,7 @@ function caco.new(_hab,_x,_y,_flip)
|
||||
end
|
||||
|
||||
function caco:draw()
|
||||
if self.frame>0 then sspr((self.frame&7)*16,(self.frame>>3)*16,16,16,self.x,self.y,16,16,self.flip) end
|
||||
if self.frame>0 then blit((self.frame&7)*16,(self.frame>>3)*16,16,16,self.x,self.y,16,16,self.flip) end
|
||||
end
|
||||
|
||||
function caco:update_normal()
|
||||
|
||||
@@ -19,7 +19,7 @@ function elalien.draw()
|
||||
if elalien.update==elalien.update_stairs then
|
||||
flip=(((elalien.x>>1)+(elalien.y>>1))%2)==0
|
||||
end
|
||||
sspr((elalien.frame&7)*16,(elalien.frame>>3)*16,16,16,elalien.x,elalien.y,16,16,flip)
|
||||
blit((elalien.frame&7)*16,(elalien.frame>>3)*16,16,16,elalien.x,elalien.y,16,16,flip)
|
||||
end
|
||||
|
||||
function elalien.hit()
|
||||
|
||||
@@ -8,7 +8,7 @@ fade = {
|
||||
|
||||
init = function()
|
||||
for i=1,15 do
|
||||
local r,g,b=getcolor(i)
|
||||
local r,g,b=palcolor(i)
|
||||
fade.pal[i]={r,g,b}
|
||||
end
|
||||
end,
|
||||
@@ -48,9 +48,9 @@ fade = {
|
||||
local v=fade.getstep(i,fade.step)
|
||||
--print(v)
|
||||
if v==16 then
|
||||
setcolor(i,0,0,0)
|
||||
palcolor(i,0,0,0)
|
||||
else
|
||||
setcolor(i,fade.pal[v][1],fade.pal[v][2],fade.pal[v][3])
|
||||
palcolor(i,fade.pal[v][1],fade.pal[v][2],fade.pal[v][3])
|
||||
end
|
||||
end
|
||||
fade.step=fade.step+1
|
||||
@@ -70,7 +70,7 @@ fade = {
|
||||
game_update=fade.update_fadein
|
||||
fade.wait=0
|
||||
fade.step=6
|
||||
for i=1,15 do setcolor(i,0,0,0) end
|
||||
for i=1,15 do palcolor(i,0,0,0) end
|
||||
end,
|
||||
|
||||
update_fadein=function()
|
||||
@@ -84,9 +84,9 @@ fade = {
|
||||
local v=fade.getstep(i,fade.step)
|
||||
--print(v)
|
||||
if v==16 then
|
||||
setcolor(i,0,0,0)
|
||||
palcolor(i,0,0,0)
|
||||
else
|
||||
setcolor(i,fade.pal[v][1],fade.pal[v][2],fade.pal[v][3])
|
||||
palcolor(i,fade.pal[v][1],fade.pal[v][2],fade.pal[v][3])
|
||||
end
|
||||
end
|
||||
fade.step=fade.step-1
|
||||
|
||||
@@ -9,8 +9,8 @@ function final_init()
|
||||
game_update=update_final
|
||||
next_actor()
|
||||
playmus(audio_final)
|
||||
local r,g,b=getcolor(15)
|
||||
setcolor(17,r,g,b)
|
||||
local r,g,b=palcolor(15)
|
||||
palcolor(17,r,g,b)
|
||||
--fade.fadein()
|
||||
end
|
||||
|
||||
@@ -81,7 +81,7 @@ function draw_actor()
|
||||
end
|
||||
end
|
||||
if current_actor==7 then
|
||||
actor.y=28-abs(sin(actor.x*0.1))*24
|
||||
actor.y=28-math.abs(math.sin(actor.x*0.1))*24
|
||||
end
|
||||
|
||||
if actor.x>96 or actor.x<-actor.w or (#actor.anim==1 and actor.center_count==0) then
|
||||
@@ -92,7 +92,7 @@ function draw_actor()
|
||||
end
|
||||
end
|
||||
local tpl=128/actor.w
|
||||
sspr((actor.frame%tpl)*actor.w,flr(actor.frame/tpl)*actor.h,actor.w,actor.h,actor.x,actor.y,actor.w,actor.h,actor.flip)
|
||||
blit((actor.frame%tpl)*actor.w,math.floor(actor.frame/tpl)*actor.h,actor.w,actor.h,actor.x,actor.y,actor.w,actor.h,actor.flip)
|
||||
end
|
||||
|
||||
function next_actor()
|
||||
|
||||
@@ -1,4 +1,22 @@
|
||||
--hab=0
|
||||
require "abad"
|
||||
require "gps"
|
||||
require "gorro"
|
||||
require "peu"
|
||||
require "premiere"
|
||||
require "elalien"
|
||||
require "batman"
|
||||
require "bol"
|
||||
require "gota"
|
||||
require "invisibl"
|
||||
require "zombie"
|
||||
require "caco"
|
||||
require "trigger"
|
||||
require "score"
|
||||
require "imp"
|
||||
require "bambolla"
|
||||
require "cacau"
|
||||
require "fireball"
|
||||
require "switches"
|
||||
|
||||
modes={playing=0,editing=1}
|
||||
--mode=modes.editing
|
||||
@@ -147,20 +165,6 @@ function game_init(menu)
|
||||
--fade.fadein()
|
||||
end
|
||||
|
||||
function text(str,x,y,col)
|
||||
color(16)
|
||||
prnt(str,x-1,y-1)
|
||||
prnt(str,x,y-1)
|
||||
prnt(str,x+1,y-1)
|
||||
prnt(str,x-1,y)
|
||||
prnt(str,x+1,y)
|
||||
prnt(str,x-1,y+1)
|
||||
prnt(str,x,y+1)
|
||||
prnt(str,x+1,y+1)
|
||||
|
||||
prnt(str,x,y,col)
|
||||
end
|
||||
|
||||
function draw_hab(hab,x,y,editing)
|
||||
camera(-x,-y)
|
||||
mapa_draw(hab)
|
||||
@@ -202,14 +206,14 @@ function update_game()
|
||||
draw_hab(abad.hab,0,0,true)
|
||||
text(abad.hab,120,1,2)
|
||||
|
||||
sspr(0,64+scroll*8,128,48,0,48)
|
||||
blit(0,64+scroll*8,128,48,0,48)
|
||||
color(3)
|
||||
local xx=(seltile&15)*8
|
||||
local yy=48+(seltile>>4)*8
|
||||
rect(xx,yy,xx+8,yy+8)
|
||||
text("EDIT",100,1,3)
|
||||
local hx = abad.hab%10
|
||||
local hy = flr(abad.hab/10)
|
||||
local hy = math.floor(abad.hab/10)
|
||||
scroll=0
|
||||
if btnp(KEY_RIGHT) and hx<9 then
|
||||
abad.hab=abad.hab+1
|
||||
@@ -266,7 +270,7 @@ function update_game()
|
||||
prnt("x"..abad.vides,114,13,2)
|
||||
rectfill(102+(abad.energia>>1),30,122,37,16)
|
||||
else
|
||||
sspr(0,0,16,9,50,40,16,9,true)
|
||||
blit(0,0,16,9,50,40,16,9,true)
|
||||
if abad.hurting > 40 then
|
||||
prnt("x"..abad.vides+1,63,43,3)
|
||||
elseif abad.hurting < 20 then
|
||||
@@ -294,7 +298,7 @@ function update_game()
|
||||
switches.update()
|
||||
|
||||
--local hx = abad.hab%10
|
||||
--local hy = flr(abad.hab/10)
|
||||
--local hy = math.floor(abad.hab/10)
|
||||
--if btnp(KEY_RETURN) then
|
||||
-- mode=modes.editing
|
||||
-- mapa_restore_backup()
|
||||
@@ -311,7 +315,7 @@ function update_game()
|
||||
--elseif btnp(KEY_ESCAPE) then
|
||||
-- pause()
|
||||
--end
|
||||
if btnp(KEY_ESCAPE) then
|
||||
if btnp(KEY_ESCAPE) or padp(btnPause) then
|
||||
pause()
|
||||
end
|
||||
if abad.objects.gps~=nil then
|
||||
@@ -326,6 +330,17 @@ function update_game()
|
||||
elseif btnp(KEY_5) then
|
||||
current_camera=5
|
||||
end
|
||||
if padp(btnCycle1) then
|
||||
current_camera=current_camera+1
|
||||
if current_camera==6 then current_camera=1 end
|
||||
if current_camera==1 and (abad.objects.gorro or abad.objects.clau_premiere) then current_camera=2 end
|
||||
if current_camera==2 and (abad.objects.peu or abad.objects.clau_elalien) then current_camera=3 end
|
||||
elseif padp(btnCycle2) then
|
||||
current_camera=current_camera-1
|
||||
if current_camera==0 then current_camera=5 end
|
||||
if current_camera==2 and (abad.objects.peu or abad.objects.clau_elalien) then current_camera=1 end
|
||||
if current_camera==1 and (abad.objects.gorro or abad.objects.clau_premiere) then current_camera=5 end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -395,7 +410,7 @@ function update_menu()
|
||||
else
|
||||
playmus(audio_main_song)
|
||||
end
|
||||
elseif btnp(KEY_ESCAPE) then
|
||||
elseif btnp(KEY_ESCAPE) or padp(btnPause) then
|
||||
quit()
|
||||
end
|
||||
elseif menu_state==1 then
|
||||
@@ -525,9 +540,10 @@ end
|
||||
function pause()
|
||||
setsource(0)
|
||||
setdest(back)
|
||||
sspr(0,0,128,96,0,0)
|
||||
blit(0,0,128,96,0,0)
|
||||
setdest(0)
|
||||
setsource(tiles)
|
||||
pausa_option=1
|
||||
pause_old_update=game_update
|
||||
game_update=update_pause
|
||||
end
|
||||
@@ -536,16 +552,30 @@ function update_pause()
|
||||
rectfill(16,16,112,80,16)
|
||||
rect(16,16,112,80,15)
|
||||
prnt("PAUSA",54,30,15)
|
||||
prnt("ESC torna al joc",30,50,14)
|
||||
prnt("SPACE eixir",30,60,14)
|
||||
if pausa_option==1 then
|
||||
rect(28,48,100,56,13)
|
||||
else
|
||||
rect(28,58,100,66,13)
|
||||
end
|
||||
prnt("CONTINUAR",30,50,14)
|
||||
prnt("EIXIR",30,60,14)
|
||||
|
||||
if btnp(KEY_ESCAPE) then
|
||||
setsource(back)
|
||||
sspr(0,0,128,96,0,0)
|
||||
blit(0,0,128,96,0,0)
|
||||
setsource(tiles)
|
||||
game_update = pause_old_update
|
||||
elseif btnp(keyDown) or btnp(keyUp) or padp(btnDown) or padp(btnUp) then
|
||||
if pausa_option==1 then pausa_option=2 else pausa_option=1 end
|
||||
elseif btnp(keyShoot) or padp(btnShoot) then
|
||||
if pausa_option==1 then
|
||||
setsource(back)
|
||||
blit(0,0,128,96,0,0)
|
||||
setsource(tiles)
|
||||
game_update = pause_old_update
|
||||
else
|
||||
game_exit()
|
||||
game_init(true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -10,7 +10,7 @@ function gorro.init()
|
||||
end
|
||||
|
||||
function gorro.draw()
|
||||
sspr(96,32,16,16,gorro.x,gorro.y,16,16)
|
||||
blit(96,32,16,16,gorro.x,gorro.y,16,16)
|
||||
end
|
||||
|
||||
function gorro.update()
|
||||
|
||||
@@ -5,7 +5,7 @@ function gota.new(_hab,_x,_y,_freq)
|
||||
end
|
||||
|
||||
function gota:draw_normal()
|
||||
sspr(112,0,8,8,self.x,self.y)
|
||||
blit(112,0,8,8,self.x,self.y)
|
||||
end
|
||||
|
||||
function gota:update_normal()
|
||||
|
||||
@@ -10,7 +10,7 @@ function gps.init()
|
||||
end
|
||||
|
||||
function gps.draw()
|
||||
sspr(112,48,16,16,gps.x,gps.y,16,16)
|
||||
blit(112,48,16,16,gps.x,gps.y,16,16)
|
||||
end
|
||||
|
||||
function gps.update()
|
||||
|
||||
@@ -44,7 +44,7 @@ end
|
||||
|
||||
function imp.draw()
|
||||
if imp.enabled then
|
||||
sspr((imp.frame&7)*16,(imp.frame>>3)*16,16,16,imp.x,imp.y,16,16,imp.flip)
|
||||
blit((imp.frame&7)*16,(imp.frame>>3)*16,16,16,imp.x,imp.y,16,16,imp.flip)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
require "fade"
|
||||
require "game"
|
||||
require "mapa"
|
||||
require "scenes"
|
||||
|
||||
intro_wait=40
|
||||
intro_step=0
|
||||
|
||||
@@ -10,7 +15,7 @@ function intro_init()
|
||||
prnt("JAILGAMES",0,0,15)
|
||||
setdest(0)
|
||||
setsource(logo)
|
||||
sspr(0,0,36,5,28,35,72,10)
|
||||
blit(0,0,36,5,28,35,72,10)
|
||||
setsource(tiles)
|
||||
fade.fadein()
|
||||
end
|
||||
@@ -19,7 +24,7 @@ function intro_intro()
|
||||
--text("JAILGAMES",40,30,15)
|
||||
text("presenta",48,50,14)
|
||||
intro_wait=intro_wait-1
|
||||
if intro_wait==0 or btnp(KEY_ESCAPE) or btnp(keyShoot) or padp(btnShoot) then
|
||||
if intro_wait==0 or btnp(KEY_ESCAPE) or btnp(keyShoot) or padp(btnShoot) or padp(btnPause) then
|
||||
intro_wait=1
|
||||
game_update = intro_update
|
||||
fade.fadeoutin()
|
||||
@@ -30,7 +35,7 @@ function intro_intro()
|
||||
end
|
||||
|
||||
function intro_update()
|
||||
if btnp(KEY_ESCAPE) then
|
||||
if btnp(KEY_ESCAPE) or padp(btnPause) then
|
||||
game_init(true)
|
||||
fade.fadeoutin()
|
||||
elseif btnp(KEY_SPACE) then
|
||||
@@ -47,7 +52,7 @@ function intro_update()
|
||||
camera(-16,-4)
|
||||
mapa_draw(10)
|
||||
rectfill(73,24,79,39,16)
|
||||
sspr(0,0,16,16,44,24,16,16,true)
|
||||
blit(0,0,16,16,44,24,16,16,true)
|
||||
camera(0,0)
|
||||
intro_step=intro_step+1
|
||||
elseif intro_step==1 then
|
||||
@@ -59,7 +64,7 @@ function intro_update()
|
||||
camera(-16,-4)
|
||||
mapa_draw(10)
|
||||
rectfill(73,24,79,39,16)
|
||||
sspr(0,0,16,16,44,24,16,16,false)
|
||||
blit(0,0,16,16,44,24,16,16,false)
|
||||
camera(0,0)
|
||||
intro_step=intro_step+1
|
||||
elseif intro_step==3 then
|
||||
@@ -71,9 +76,9 @@ function intro_update()
|
||||
camera(-16,-4)
|
||||
mapa_draw(10)
|
||||
rectfill(73,24,79,39,16)
|
||||
sspr(0,0,16,16,44,24,16,16,false)
|
||||
sspr(112,88,16,8,76,32,16,8,true)
|
||||
sspr(0,48,16,16,82,24,16,16,true)
|
||||
blit(0,0,16,16,44,24,16,16,false)
|
||||
blit(112,88,16,8,76,32,16,8,true)
|
||||
blit(0,48,16,16,82,24,16,16,true)
|
||||
camera(0,0)
|
||||
intro_step=intro_step+1
|
||||
elseif intro_step==5 then
|
||||
@@ -85,7 +90,7 @@ function intro_update()
|
||||
camera(-16,-4)
|
||||
mapa_draw(10)
|
||||
rectfill(73,24,79,39,16)
|
||||
sspr(0,0,16,16,44,24,16,16,false)
|
||||
blit(0,0,16,16,44,24,16,16,false)
|
||||
camera(0,0)
|
||||
intro_step=intro_step+1
|
||||
elseif intro_step==7 then
|
||||
|
||||
@@ -1,3 +1,35 @@
|
||||
require "final"
|
||||
require "fade"
|
||||
require "audio"
|
||||
require "dead"
|
||||
require "scenes"
|
||||
require "trigger"
|
||||
require "score"
|
||||
require "switches"
|
||||
require "map"
|
||||
require "mapa"
|
||||
require "bol"
|
||||
require "invisibl"
|
||||
require "gota"
|
||||
require "fireball"
|
||||
require "cacau"
|
||||
require "bambolla"
|
||||
require "imp"
|
||||
require "gps"
|
||||
require "peu"
|
||||
require "gorro"
|
||||
require "batman"
|
||||
require "elalien"
|
||||
require "premiere"
|
||||
require "caco"
|
||||
require "zombie"
|
||||
require "abad"
|
||||
require "intro"
|
||||
require "game"
|
||||
|
||||
--require "fade"
|
||||
--require "audio"
|
||||
--require "intro"
|
||||
|
||||
function _init()
|
||||
tiles=loadsurf("tiles.gif")
|
||||
@@ -36,8 +68,11 @@ function _init()
|
||||
btnDown = tonumber(getconf("btndown")) or BTN_DOWN
|
||||
btnLeft = tonumber(getconf("btnleft")) or BTN_LEFT
|
||||
btnRight = tonumber(getconf("btnright")) or BTN_RIGHT
|
||||
btnJump = tonumber(getconf("btnjump")) or BTN_UP
|
||||
btnJump = tonumber(getconf("btnjump")) or BTN_B
|
||||
btnShoot = tonumber(getconf("btnshoot")) or BTN_A
|
||||
btnCycle1 = tonumber(getconf("btnCycle1")) or BTN_RIGHTSHOULDER
|
||||
btnCycle2 = tonumber(getconf("btnCycle2")) or BTN_LEFTSHOULDER
|
||||
btnPause = tonumber(getconf("btnPause")) or BTN_START
|
||||
|
||||
--game_init()
|
||||
intro_init()
|
||||
@@ -45,10 +80,10 @@ function _init()
|
||||
end
|
||||
|
||||
function _update()
|
||||
if btnp(KEY_F2) then
|
||||
local val = zoom() + 2
|
||||
if val >= 10 then val = 2 end
|
||||
zoom(val)
|
||||
if btnp(KEY_F1) then
|
||||
zoom(zoom()-1)
|
||||
elseif btnp(KEY_F2) then
|
||||
zoom(zoom()+1)
|
||||
elseif btnp(KEY_F3) then
|
||||
local fs = fullscreen()
|
||||
fullscreen(not fs)
|
||||
@@ -57,3 +92,17 @@ function _update()
|
||||
|
||||
if (game_update) then game_update() end
|
||||
end
|
||||
|
||||
function text(str,x,y,col)
|
||||
color(16)
|
||||
prnt(str,x-1,y-1)
|
||||
prnt(str,x,y-1)
|
||||
prnt(str,x+1,y-1)
|
||||
prnt(str,x-1,y)
|
||||
prnt(str,x+1,y)
|
||||
prnt(str,x-1,y+1)
|
||||
prnt(str,x,y+1)
|
||||
prnt(str,x+1,y+1)
|
||||
|
||||
prnt(str,x,y,col)
|
||||
end
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
--mapa={}
|
||||
require "map"
|
||||
|
||||
tiletype={void=0,nonpc=1,stair=2,switch=3,half=4,block=5}
|
||||
mapa.wait=0
|
||||
mapa.step=0
|
||||
@@ -92,7 +93,7 @@ function mapa_draw(hab)
|
||||
for tx=0,11 do
|
||||
local tile=mapa[1+hab][1+tx+ty*12]
|
||||
if tile~=256 and (tile<126 or mapa.step>4) then
|
||||
sspr((tile&15)*8,64+(tile>>4)*8,8,8,tx*8,ty*8)
|
||||
blit((tile&15)*8,64+(tile>>4)*8,8,8,tx*8,ty*8)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -124,8 +125,8 @@ function mapa_cycle_colors(hab)
|
||||
end
|
||||
|
||||
function check_tile(hab,x,y)
|
||||
local xx=min(11,max(0,flr(x/8)))
|
||||
local yy=min(5,max(0,flr(y/8)))
|
||||
local xx=math.min(11,math.max(0,math.floor(x/8)))
|
||||
local yy=math.min(5,math.max(0,math.floor(y/8)))
|
||||
--rect(xx*8,yy*8,xx*8+8,yy*8+8,3)
|
||||
|
||||
local tile=mapa_get_tile(hab,xx,yy)
|
||||
@@ -157,7 +158,7 @@ function mapa_create_minimap()
|
||||
print(x..","..y.."="..tile)
|
||||
end
|
||||
if tile<64 then
|
||||
pset(x+(h%10)*12,y+flr(h/10)*6,pix[1+tile])
|
||||
pset(x+(h%10)*12,y+math.floor(h/10)*6,pix[1+tile])
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -170,5 +171,5 @@ function mapa_draw_minimap()
|
||||
setsource(minimap)
|
||||
setdest(0)
|
||||
cls(16)
|
||||
sspr(0,0,128,96,0,0)
|
||||
blit(0,0,128,96,0,0)
|
||||
end
|
||||
@@ -10,7 +10,7 @@ function peu.init()
|
||||
end
|
||||
|
||||
function peu.draw()
|
||||
sspr(112,32,16,16,peu.x,peu.y,16,16)
|
||||
blit(112,32,16,16,peu.x,peu.y,16,16)
|
||||
end
|
||||
|
||||
function peu.update()
|
||||
|
||||
@@ -14,7 +14,7 @@ function premiere.init()
|
||||
end
|
||||
|
||||
function premiere.draw()
|
||||
sspr((premiere.frame&7)*16,(premiere.frame>>3)*16,16,16,premiere.x,premiere.y,16,16,premiere.flip)
|
||||
blit((premiere.frame&7)*16,(premiere.frame>>3)*16,16,16,premiere.x,premiere.y,16,16,premiere.flip)
|
||||
end
|
||||
|
||||
function premiere.hit()
|
||||
@@ -145,8 +145,8 @@ function premiere.update_falling()
|
||||
end
|
||||
end
|
||||
|
||||
local xx=flr((premiere.x+4)/8)
|
||||
local yy=flr((premiere.y+16)/8)
|
||||
local xx=math.floor((premiere.x+4)/8)
|
||||
local yy=math.floor((premiere.y+16)/8)
|
||||
|
||||
if premiere.y<32 then
|
||||
if (premiere.y+16)&7==0 and (check_tile(premiere.hab,premiere.x+4,premiere.y+16)>=tiletype.half or ((premiere.x+4)&7~=0 and check_tile(premiere.hab,premiere.x+12,premiere.y+16)>=tiletype.half)) then
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
require "final"
|
||||
require "audio"
|
||||
|
||||
scenes={
|
||||
intro_01= {
|
||||
{x=3,y=0,flip=false,audio="abad",text={"Ah!, què bo!","Nit de Netflix amb","un bon bol de cacaus!"},die=20},
|
||||
@@ -129,7 +132,7 @@ function start_scene(scene,offset)
|
||||
--bkg=newsurf(128,96)
|
||||
--setdest(bkg)
|
||||
--setsource(0)
|
||||
--sspr(0,0,128,96,0,0)
|
||||
--blit(0,0,128,96,0,0)
|
||||
--setsource(tiles)
|
||||
--setdest(0)
|
||||
scenes.current_scene=scene
|
||||
@@ -178,18 +181,18 @@ function draw_scene()
|
||||
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)
|
||||
blit(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)
|
||||
blit(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)
|
||||
blit(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)
|
||||
blit(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)
|
||||
@@ -224,10 +227,10 @@ function draw_scene()
|
||||
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)
|
||||
blit(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)
|
||||
blit(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)
|
||||
@@ -263,8 +266,8 @@ function update_scene()
|
||||
end
|
||||
end
|
||||
else
|
||||
if flr(time()*2)%2==0 then
|
||||
sspr(104,88,7,5,118,56)
|
||||
if math.floor(time()*2)%2==0 then
|
||||
blit(104,88,7,5,118,56)
|
||||
else
|
||||
rectfill(118,56,125,61,12)
|
||||
end
|
||||
@@ -272,7 +275,7 @@ function update_scene()
|
||||
end
|
||||
end
|
||||
|
||||
if btnp(KEY_ESCAPE) and (scenes.current_scene~=scenes.final) then
|
||||
if (btnp(KEY_ESCAPE) or padp(btnPause)) and (scenes.current_scene~=scenes.final) then
|
||||
if scenes.current_scene[scenes.dnum].die then
|
||||
game_init(true)
|
||||
else
|
||||
|
||||
@@ -4,17 +4,17 @@ function score.create()
|
||||
score.surf=newsurf(32,96)
|
||||
setdest(score.surf)
|
||||
cls(16)
|
||||
sspr(0,0,16,9,5,9,16,9,true)
|
||||
spr(132,0,0,1,1) spr(150,8,0,1,1) spr(150,16,0,1,1) spr(133,24,0,1,1)
|
||||
spr(134,0,8,1,1) spr(135,24,8,1,1) spr(134,0,16,1,1) spr(135,24,16,1,1)
|
||||
spr(132,0,24,1,1) spr(150,8,24,1,1) spr(150,16,24,1,1) spr(133,24,24,1,1)
|
||||
spr(134,0,32,1,1) spr(135,24,32,1,1)
|
||||
spr(132,0,40,1,1) spr(150,8,40,1,1) spr(150,16,40,1,1) spr(133,24,40,1,1)
|
||||
blit(0,0,16,9,5,9,16,9,true)
|
||||
blit(32,64,8,8,0,0) blit(48,72,8,8,8,0) blit(48,72,8,8,16,0) blit(40,64,8,8,24,0)
|
||||
blit(48,64,8,8,0,8) blit(56,64,8,8,24,8) blit(48,64,8,8,0,16) blit(56,64,8,8,24,16)
|
||||
blit(32,64,8,8,0,24) blit(48,72,8,8,8,24) blit(48,72,8,8,16,24) blit(40,64,8,8,24,24)
|
||||
blit(48,64,8,8,0,32) blit(56,64,8,8,24,32)
|
||||
blit(32,64,8,8,0,40) blit(48,72,8,8,8,40) blit(48,72,8,8,16,40) blit(40,64,8,8,24,40)
|
||||
|
||||
spr(134,0,48,1,1) spr(135,24,48,1,1) spr(134,0,56,1,1) spr(135,24,56,1,1)
|
||||
spr(134,0,64,1,1) spr(135,24,64,1,1) --spr(134,0,72,1,1) spr(135,24,72,1,1)
|
||||
spr(132,0,72,1,1) spr(150,8,72,1,1) spr(150,16,72,1,1) spr(133,24,72,1,1)
|
||||
spr(134,0,80,1,1) spr(135,24,80,1,1) spr(134,0,88,1,1) spr(135,24,88,1,1)
|
||||
blit(48,64,8,8,0,48) blit(56,64,8,8,24,48) blit(48,64,8,8,0,56) blit(56,64,8,8,24,56)
|
||||
blit(48,64,8,8,0,64) blit(56,64,8,8,24,64) --blit(48,64,8,8,0,72) blit(56,64,8,8,24,72)
|
||||
blit(32,64,8,8,0,72) blit(48,72,8,8,8,72) blit(48,72,8,8,16,72) blit(40,64,8,8,24,72)
|
||||
blit(48,64,8,8,0,80) blit(56,64,8,8,24,80) blit(48,64,8,8,0,88) blit(56,64,8,8,24,88)
|
||||
prnt("jail",6,77,2)
|
||||
prnt("games",8, 82,2)
|
||||
prnt("2023",9,89,1)
|
||||
@@ -30,14 +30,14 @@ end
|
||||
|
||||
function score.draw()
|
||||
setsource(score.surf)
|
||||
sspr(0,0,32,96,96,0)
|
||||
blit(0,0,32,96,96,0)
|
||||
setsource(tiles)
|
||||
if abad.objects.gorro~=nil then sspr(96,32,16,16,99,44) end
|
||||
if abad.objects.peu~=nil then sspr(112,32,16,16,109,44) end
|
||||
if abad.objects.gps~=nil then sspr(112,48,16,16,100,55) end
|
||||
if abad.objects.gorro~=nil then blit(96,32,16,16,99,44) end
|
||||
if abad.objects.peu~=nil then blit(112,32,16,16,109,44) end
|
||||
if abad.objects.gps~=nil then blit(112,48,16,16,100,55) end
|
||||
|
||||
if abad.objects.clau_premiere~=nil then sspr(112,8,8,8,104,48) end
|
||||
if abad.objects.clau_elalien~=nil then sspr(120,8,8,8,112,48) end
|
||||
if abad.objects.clau_premiere~=nil then blit(112,8,8,8,104,48) end
|
||||
if abad.objects.clau_elalien~=nil then blit(120,8,8,8,112,48) end
|
||||
|
||||
if abad.objects.bol~=nil then sspr(112,88,16,8,104,46) end
|
||||
if abad.objects.bol~=nil then blit(112,88,16,8,104,46) end
|
||||
end
|
||||
@@ -5,7 +5,7 @@ function zombie.new(_hab,_x,_y,_flip)
|
||||
end
|
||||
|
||||
function zombie:draw()
|
||||
if self.frame>0 then sspr((self.frame&7)*16,(self.frame>>3)*16,16,16,self.x,self.y,16,16,self.flip) end
|
||||
if self.frame>0 then blit((self.frame&7)*16,(self.frame>>3)*16,16,16,self.x,self.y,16,16,self.flip) end
|
||||
end
|
||||
|
||||
function zombie:update_normal()
|
||||
|
||||
Reference in New Issue
Block a user