-static void set_shadow(uint32_t left_angle, uint32_t right_angle,
- struct shadow_angle ** shadows, uint16_t pos_in_map,
- uint8_t * fov_map);
+static uint8_t shade_hex(uint32_t left_angle, uint32_t right_angle,
+ uint32_t middle_angle, struct shadow_angle ** shadows,
+ uint16_t pos_in_map, uint8_t * fov_map);
+
+/* Test whether angle between "left_angle" and "right_angle", or at least
+ * "middle_angle", is captured inside one of the shadow angles in "shadows". If
+ * so, set hex in "fov_map" indexed by "pos_in_map" to HIDDEN. If the whole
+ * angle and not just "middle_angle" is captured, return 1. Any other case: 0.
+ */
+static uint8_t shade_hex(uint32_t left_angle, uint32_t right_angle,
+ uint32_t middle_angle, struct shadow_angle ** shadows,
+ uint16_t pos_in_map, uint8_t * fov_map);