public void resizeMap(int newWidth, int newHeight, int widthOffset, int heightOffset) {
		setMapWidth(newWidth);
		setMapHeight(newHeight);
		
		HashMap<Point, Tile> newMap = new HashMap<Point, Tile>();
		
		for (Point p : tileMap.keySet()) {
			Tile t = tileMap.get(p);
			short newX = (short) (p.getX() + widthOffset);
			short newY = (short) (p.getY() + heightOffset);
			
			if (newX >= 0 && newX < getMapWidth() && newY >= 0 && newY < getMapHeight()) {
				t.setX(newX);
				t.setY(newY);
				newMap.put(new Point(newX, newY), t);
			}
		}
		
		tileMap = newMap;
		
		changes = true;
	}