private void initializeMap(String mapFile) {
		String line, temp;
		int xLoc = 0, yLoc = 0;
		int tempx, tempy;
		StringTokenizer st;
		String delimiters = ";";

		// Attempt to read map file
		try {
			BufferedReader in = new BufferedReader(new FileReader("res/maps/"
					+ mapFile + ".txt"));
			line = in.readLine();
			st = new StringTokenizer(line, delimiters, false);

			xLoc = Integer.parseInt(st.nextToken());
			yLoc = Integer.parseInt(st.nextToken());
			floor = new FloorTile[xLoc][yLoc];
			environment = new EnvTile[xLoc][yLoc];

			maxX = xLoc * TILEWIDTH;
			maxY = yLoc * TILEWIDTH;
			
			// Read in regular tiles
			for (int c1 = 0; c1 < yLoc; c1++) {
				line = in.readLine();
				for (int c2 = 0; c2 < xLoc; c2++) {
					floor[c2][c1] = FloorTile.get(line.charAt(c2));
				}
			}

			// Read in special elements
			line = in.readLine();
			while (line != null) {
				st = new StringTokenizer(line, delimiters, false);
				xLoc = Integer.parseInt(st.nextToken());
				yLoc = Integer.parseInt(st.nextToken());
				environment[xLoc][yLoc] = EnvTile.get(st.nextToken().charAt(0));
				if (environment[xLoc][yLoc].name() == "stairup"
						|| environment[xLoc][yLoc].name() == "stairdown") {
					temp = st.nextToken();
					tempx = Integer.parseInt(st.nextToken());
					tempy = Integer.parseInt(st.nextToken());
					environment[xLoc][yLoc].setWarpInfo(temp, tempx, tempy);
				}
				line = in.readLine();
			}

			in.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		bufferMap();
	}