* Olivier MATZ <zer0@droids-corp.org>
*/
-#define CORN_NB 18
-
-/* enum is better */
-#define TYPE_WAYPOINT 0
-#define TYPE_DANGEROUS 1
-#define TYPE_WHITE_CORN 2
-#define TYPE_BLACK_CORN 3
-#define TYPE_OBSTACLE 4
-
#define LINE_UP 0
-#define LINE_DOWN 1
-#define LINE_R_UP 2
-#define LINE_L_DOWN 3
-#define LINE_L_UP 4
-#define LINE_R_DOWN 5
+#define LINE_L_UP 1
+#define LINE_L_DOWN 2
+#define LINE_DOWN 3
+#define LINE_R_DOWN 4
+#define LINE_R_UP 5
struct line_2pts {
point_t p1;
point_t p2;
};
-extern uint8_t corn_table[CORN_NB];
-
-int8_t ijcoord_to_corn_idx(uint8_t i, uint8_t j);
-int8_t xycoord_to_corn_idx(int16_t *x, int16_t *y);
-void init_corn_table(int8_t conf_side, int8_t conf_center);
+/* there is a corn near */
+int8_t corn_is_near(uint8_t *corn_idx, uint8_t side,
+ int16_t *xspickle, int16_t *yspickle);
-uint8_t line2line(uint8_t dir1, uint8_t num1,
- uint8_t dir2, uint8_t num2);
-void num2line(struct line_2pts *l, uint8_t dir, uint8_t num);
+/* go from line num1,dir1 to line num2,dir2. Uses trjectory flags
+ * specified as argument and return END_xxx condition */
+uint8_t line2line(uint8_t num1, uint8_t dir1, uint8_t num2,
+ uint8_t dir2, uint8_t flags);