vt100: include pgmspace.h as we use PROGMEM macro
[aversive.git] / projects / microb2010 / mainboard / strat_db.h
index b770b43..e377ceb 100644 (file)
@@ -54,16 +54,19 @@ struct waypoint_db {
        /* visited by opponent */
        uint8_t opp_visited:1;
 
-       uint8_t reserved:3;
+       /* true if the wp is on a circuit */
+       uint8_t on_circuit:1;
 
-       /* absolute position of the waypoint */
-/*     int16_t x; */
-/*     int16_t y; */
+       uint8_t reserved:2;
 
        union {
                struct corn_db corn;
                struct tomato_db tomato;
        };
+
+       /* to monitor time when corn/ball was removed */
+       /* not optimal... but... we have enough ram */
+       int8_t time_removed;
 };
 
 /* database reflecting the status of objects on area */
@@ -87,10 +90,13 @@ struct strat_db {
 /* global structure storing the database */
 extern struct strat_db strat_db;
 
+/* return the nearest waypoint */
+int8_t xycoord_to_ijcoord(int16_t *xp, int16_t *yp, uint8_t *ip, uint8_t *jp);
+
 /* return the nearest waypoint that is not a corn: xp and yp contains
  * the input and output, and ip, jp are only outputs. return 0 on
  * success. */
-int8_t xycoord_to_ijcoord(int16_t *xp, int16_t *yp, uint8_t *ip, uint8_t *jp);
+int8_t xycoord_to_ijcoord_not_corn(int16_t *xp, int16_t *yp, uint8_t *ip, uint8_t *jp);
 
 /* convert i,j coords to x,y coords */
 int8_t ijcoord_to_xycoord(uint8_t i, uint8_t j, int16_t *x, int16_t *y);