local gfx = playdate.graphics local tileTable = gfx.imagetable.new("gfx/tiles") local tilemap = gfx.tilemap.new() tilemap:setImageTable(tileTable) local tiles = {} local x = 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}) x:remove() x = gfx.sprite.new(tilemap) x:setZIndex(-1) x:moveTo(x.width/2,x.height/2) x:add() end