public void saveAllOpenLevels(RandomAccessFile savefile) throws IOException {
    System.out.printf("Entering map saver at %d!\n", savefile.getFilePointer());
    int mapsToSave = loadedMaps.size();
    savefile.writeInt(mapsToSave);

    saveMap(1, savefile);
    saveMap(0, savefile);
    saveMap(-1, savefile);
    saveMap(-2, savefile);
    saveMap(-100, savefile);
  }
 public void saveMap(int layer, RandomAccessFile savefile) throws IOException {
   System.out.printf("Saving map %d at %d!\n", layer, savefile.getFilePointer());
   Level level = loadedMaps.get(layer);
   if (level == null) {
     return;
   }
   savefile.writeInt(layer);
   for (int x = 0; x < level.w; x++) {
     for (int y = 0; y < level.h; y++) {
       if (x == 0 && y == 0) {
         System.out.printf("Entering first tile at %d!\n", savefile.getFilePointer());
       }
       Tile tileToSave = level.getTile(x, y);
       tileToSave.saveTile(savefile);
     }
   }
 }