- [NEW] Brymode

- [FIX] El switches no es resetejaven al eixir de una habitació
- [NEW] [EDITOR] Es mostra el tile sobre el que està el cursor
- [NEW] [EDITOR]: Es mostra el nom de l'actor sobre el que està el cursor
- [FIX] Durant una escena es repinta abans de seguir al seguent punt de l'script
- [NEW] [EDITOR] Es mostra la posició dels switches parpadejant
This commit is contained in:
2024-02-13 13:59:39 +01:00
parent db2f988de7
commit 05ebc097d6
7 changed files with 102 additions and 22 deletions

View File

@@ -4,6 +4,7 @@ require "objects"
require "scene"
require "wait"
require "switches"
require "brymode"
levels={}
@@ -19,8 +20,8 @@ game={
restart=function()
flags={}
objects.list={}
actors.main={name="jailer",x=9,y=14,o="u",gfx={x=32,y=0},level="repro"}
game.init("repro")
actors.main={name="jailer",x=8,y=5,o="u",gfx={x=32,y=0},level="prac2"}
game.init("prac2")
end,
init=function(levelname,f,objs)
@@ -30,6 +31,7 @@ game={
game.level=levelname
actors.init()
switches.reset()
if actors.main.level==levelname then
actors.add({name=actors.main.name,x=actors.main.x,y=actors.main.y,o=actors.main.o,gfx=actors.main.gfx})
end
@@ -47,10 +49,11 @@ game={
show_menu=function()
game.pause()
menu.show({ {"GUARDAR PARTIDA", game.save},
{"CARREGAR PARTIDA", game.load},
{"EIXIR", main_init},
}, game.resume)
brymode.show(game.resume)
--menu.show({ {"GUARDAR PARTIDA", game.save},
-- {"CARREGAR PARTIDA", game.load},
-- {"EIXIR", main_init},
-- }, game.resume)
end,
save=function()
@@ -111,6 +114,29 @@ game={
game.init(level_name,new_flags,new_objects)
end,
draw=function()
cls(6)
camera(game.cam.x, game.cam.y)
setsource(tiles)
setmap(mapa.surface)
map(0,0,0,0,mapa.w, mapa.h)
switches.draw();
setsource(sprites)
if btn(KEY_LSHIFT) then subpal(1,16,8) end
actors.draw()
subpal()
if actors.under_cursor~="" then
text(actors.under_cursor,mousex()+8,mousey()+8,9)
end
if mapa.front_layer then
setsource(tiles)
setmap(mapa.front_layer)
map(0,0,0,0,mapa.w, mapa.h)
end
setmap(mapa.surface)
camera(0,0)
end,
update=function()
if game.paused then return end
@@ -123,20 +149,12 @@ game={
if game.cam.y+144 > mapa.h*8 then game.cam.y = mapa.h*8-144 end
if game.cam.y < 0 then game.cam.y=0 end
end
cls(6)
camera(game.cam.x, game.cam.y)
setsource(tiles)
setmap(mapa.surface)
map(0,0,0,0,mapa.w, mapa.h)
setsource(sprites)
actors.draw()
if mapa.front_layer then
setsource(tiles)
setmap(mapa.front_layer)
map(0,0,0,0,mapa.w, mapa.h)
end
setmap(mapa.surface)
camera(0,0)
game.draw()
local mx = math.floor((mousex()-game.cam.x)/8)
local my = math.floor((mousey()-game.cam.y)/8)
text(mx..","..my,1,19,8)
text(game.cam.x..","..game.cam.y,1,1,8)
if hero then