-/* Return one by one hex dir characters of walking through a circle of "radius".
- * The circle is initialized by passing a "new_circle" of 1 and the "radius"
- * and only returns non-null hex direction characters if "new_circle" is 0.
- */
-static char next_circle_dir(uint8_t new_circle, uint8_t radius_new);
-
-/* Draw circle of hexes flagged LIMIT "radius" away from "yx" to "fov_map". */
-extern void draw_border_circle(struct yx_uint8 yx, uint8_t radius,
- uint8_t * fov_map);
-
-/* eye_to_cell_dir_ratio() helper. */
-static void geometry_to_char_ratio(uint8_t * n1, uint8_t * n2, uint8_t indent,
- int16_t diff_y, int16_t diff_x,
- uint8_t vertical, uint8_t variant);
-
-/* From the chars in "available_dirs" and the geometry described by the other
- * parameters return a string of hex direction characters representing the
- * approximation of a straight line. "variant" marks the direction as either in
- * the northern, north-eastern or south-western hex neighborhood if 1, or the
- * others if 0.
- */
-static char * eye_to_cell_dir_ratio(char * available_dirs, uint8_t indent,
- int16_t diff_y, int16_t diff_x,
- uint8_t vertical, uint8_t variant,
- uint8_t shift_right);
-
-/* Return string approximating in one or two hex direction chars the direction
- * that a "diff_y" and "diff_x" lead to in the internal half-indented 2D
- * encoding of hexagonal maps, with "indent" the movement's start indentation.
- */
-static char * dir_from_delta(uint8_t indent, int16_t diff_y, int16_t diff_x);