@@ -527,6 +527,41 @@ def _get_library_crossplatform():
527527void TCOD_noise_delete(TCOD_noise_t noise);
528528
529529
530+ // PATH
531+
532+ typedef float (*TCOD_path_func_t)( int xFrom, int yFrom, int xTo, int yTo, void *user_data );
533+ typedef void *TCOD_path_t;
534+
535+ TCOD_path_t TCOD_path_new_using_map(TCOD_map_t map, float diagonalCost);
536+ TCOD_path_t TCOD_path_new_using_function(int map_width, int map_height, TCOD_path_func_t func, void *user_data, float diagonalCost);
537+
538+ bool TCOD_path_compute(TCOD_path_t path, int ox,int oy, int dx, int dy);
539+ bool TCOD_path_walk(TCOD_path_t path, int *x, int *y, bool recalculate_when_needed);
540+ bool TCOD_path_is_empty(TCOD_path_t path);
541+ int TCOD_path_size(TCOD_path_t path);
542+ void TCOD_path_reverse(TCOD_path_t path);
543+ void TCOD_path_get(TCOD_path_t path, int index, int *x, int *y);
544+ void TCOD_path_get_origin(TCOD_path_t path, int *x, int *y);
545+ void TCOD_path_get_destination(TCOD_path_t path, int *x, int *y);
546+ void TCOD_path_delete(TCOD_path_t path);
547+
548+ /* Dijkstra stuff - by Mingos*/
549+
550+ typedef void *TCOD_dijkstra_t;
551+
552+ TCOD_dijkstra_t TCOD_dijkstra_new (TCOD_map_t map, float diagonalCost);
553+ TCOD_dijkstra_t TCOD_dijkstra_new_using_function(int map_width, int map_height, TCOD_path_func_t func, void *user_data, float diagonalCost);
554+ void TCOD_dijkstra_compute (TCOD_dijkstra_t dijkstra, int root_x, int root_y);
555+ float TCOD_dijkstra_get_distance (TCOD_dijkstra_t dijkstra, int x, int y);
556+ bool TCOD_dijkstra_path_set (TCOD_dijkstra_t dijkstra, int x, int y);
557+ bool TCOD_dijkstra_is_empty(TCOD_dijkstra_t path);
558+ int TCOD_dijkstra_size(TCOD_dijkstra_t path);
559+ void TCOD_dijkstra_reverse(TCOD_dijkstra_t path);
560+ void TCOD_dijkstra_get(TCOD_dijkstra_t path, int index, int *x, int *y);
561+ bool TCOD_dijkstra_path_walk (TCOD_dijkstra_t dijkstra, int *x, int *y);
562+ void TCOD_dijkstra_delete (TCOD_dijkstra_t dijkstra);
563+
564+
530565// CUSTOM FUNCTONS
531566
532567void set_char(TCOD_console_t console, int x, int y,
0 commit comments