public void update(int wx, int wy, int wz, int r) {
		depth = wz;
		visible = new boolean[world.width()][world.height()];
		
		for (int x = -r; x < r; x++) {
			for (int y = -r; y < r; y++) {
				if (x*x + y*y > r*r) 
					continue;
				if (wx + x < 0 || wx + x >= world.width() || wy + y < 0 || wy + y >= world.height())
					continue;
				
				for (Point p : new Line(wx, wy, wx+x, wy+y)) {
					Tile tile = world.tile(p.x, p.y, wz);
					visible[p.x][p.y] = true;
					tiles[p.x][p.y][wz] = tile;
					if (!tile.isGround()) break;
				}
			} // for
		} // for
	}