local gfx = playdate.graphics local tileTable = gfx.imagetable.new("gfx/tiles") local tilemap = gfx.tilemap.new() tilemap:setImageTable(tileTable) local tiles = {} local sprTiles = gfx.sprite.new(tilemap) function addMapSave(_file) playdate.datastore.delete("savegame.json") playdate.datastore.write({savedLevel=_file,savedDeaths=deaths},"savegame") addMap(_file, false) mode = "game" end function addMap(_file, rs) if rs then deaths = 0 end if #tiles > 0 then for i = 1, #tiles, 1 do tiles[i]:remove() end end local level = json.decodeFile(_file) local width = 0 local height = 0 for i = 1, #level.tiles, 1 do if level.tiles[i].x > width then width = level.tiles[i].x end if level.tiles[i].y > height then height = level.tiles[i].y end end tilemap:setSize(width,height) for i = 1, #level.tiles, 1 do tilemap:setTileAtPosition(level.tiles[i].x,level.tiles[i].y,level.tiles[i].t) end if level.saws then loadBlades(level.saws) end if level.rotators then loadSpins(level.rotators) end addPlayer(level.rocket.x,level.rocket.y, level.bigrocket.x, level.bigrocket.y) tiles = gfx.sprite.addWallSprites(tilemap, {0,1,6,7,8,10,11,12}) sprTiles:remove() sprTiles = gfx.sprite.new(tilemap) sprTiles:setZIndex(-1) sprTiles:moveTo(sprTiles.width/2,sprTiles.height/2) sprTiles:add() end