level = { surf_background = nil, surf_foreground = nil, surf_items = nil, surf_original_items = nil, pos = {x=0, y=0}, init = function() level.pos.x, level.pos.y = 0,0 if level.surf_background ~= nil then surf.free(level.surf_background) end --level.surf_background = surf.load("rooms_background.bin") level.surf_background = surf.new(20*8,12*8) if level.surf_foreground ~= nil then surf.free(level.surf_foreground) end --level.surf_foreground = surf.load("rooms_foreground.bin") level.surf_foreground = surf.new(20*8,12*8) if level.surf_items ~= nil then surf.free(level.surf_items) end --level.surf_items = surf.load("rooms_items.bin") level.surf_items = surf.new(20*8,12*8) level.surf_original_items = surf.new(20*8,12*8) surf.source(level.surf_items) surf.target(level.surf_original_items) draw.surf(0,0,160,96,0,0) map.surf(level.surf_background) for y=0,12*8 do for x=0,20*8 do map.tile(x,y,1) end end map.surf(level.surf_foreground) map.tile(10,10,16) surf.save(level.surf_background, "data/rooms_background.bin") surf.save(level.surf_foreground, "data/rooms_foreground.bin") surf.save(level.surf_items, "data/rooms_items.bin") shader.init("lynx.glsl") shader.enable(); end, draw = function() -- Retallem la pantalla a la zona de joc view.clip(0,8,160,96) -- Movem la càmara a l'habitació on estem view.origin(level.pos.x*8,level.pos.y*8+8) -- Pintem el background surf.source(tiles) map.surf(level.surf_background) map.draw() -- Movem 4x4 pixels la càmara per a pintar les sombres dels sprites i el foreground view.origin(level.pos.x*8+4,level.pos.y*8+12) -- Pintem el foreground de negre map.surf(level.surf_foreground) pal.subpal(0,32,1) map.draw() -- Pintem els sprites de negre -- [TODO] surf.source(sprites) draw.surf(0, 0, 16, 17, 10, 10, 16, 17) -- Movem la càmara al lloc que toca de nou, i tornem la paleta normal view.origin(level.pos.x*8,level.pos.y*8+8) pal.subpal() -- Pintem el foreground surf.source(tiles) map.surf(level.surf_foreground) map.draw() -- Pintem els sprites -- [TODO] surf.source(sprites) draw.surf(0, 0, 16, 17, 10, 10, 16, 17) -- Pintem la rejilla --for y=0,12 do draw.line(0,y*8, 160, y*8, 27) end --for x=0,20 do draw.line(x*8, 0, x*8, 104, 27) end end, peiv = function() pal.color(1, 1, 1, 1) return "HOLA OTHER UNIT" end }