#ifndef JEFF_LEVEL_H #define JEFF_LEVEL_H #include #include "xtools.h" #include "graph.h" #include "position.h" /* Types */ typedef struct level { graph_t *graph; } level_t; typedef struct node_data { position_t pos; } node_data_t; typedef enum corridor_type { CORR_NORMAL, CORR_TUNNEL, } corridor_type_t; typedef struct edge_data { corridor_type_t type; } edge_data_t; typedef struct { unsigned int dst; position_t pos; pixel_t pixel; } beam_result_t; /* Functions */ level_t *level_create(Dib24 *xi, position_t entry); void level_destroy(level_t *l); beam_result_t send_beam(Dib24 *xi, position_t from, direction_t dir); position_t pill_goto_edge(Dib24 *xi, position_t pos, direction_t dir); #endif /* JEFF_LEVEL_H */