46typedef float (*TCOD_path_func_t)(
int xFrom,
int yFrom,
int xTo,
int yTo,
void* user_data);
48typedef struct TCOD_Path* TCOD_path_t;
50TCODLIB_API TCOD_path_t TCOD_path_new_using_map(
TCOD_Map* map,
float diagonalCost);
51TCODLIB_API TCOD_path_t
52TCOD_path_new_using_function(
int map_width,
int map_height, TCOD_path_func_t func,
void* user_data,
float diagonalCost);
54TCODLIB_API
bool TCOD_path_compute(TCOD_path_t path,
int ox,
int oy,
int dx,
int dy);
55TCODLIB_API
bool TCOD_path_walk(TCOD_path_t path,
int* x,
int* y,
bool recalculate_when_needed);
56TCODLIB_API
bool TCOD_path_is_empty(TCOD_path_t path);
57TCODLIB_API
int TCOD_path_size(TCOD_path_t path);
58TCODLIB_API
void TCOD_path_reverse(TCOD_path_t path);
59TCODLIB_API
void TCOD_path_get(TCOD_path_t path,
int index,
int* x,
int* y);
60TCODLIB_API
void TCOD_path_get_origin(TCOD_path_t path,
int* x,
int* y);
61TCODLIB_API
void TCOD_path_get_destination(TCOD_path_t path,
int* x,
int* y);
62TCODLIB_API
void TCOD_path_delete(TCOD_path_t path);
72 int width, height, nodes_max;
74 TCOD_path_func_t func;
76 unsigned int* distances;
84 int map_width,
int map_height, TCOD_path_func_t func,
void* user_data,
float diagonalCost);
85TCODLIB_API
void TCOD_dijkstra_compute(
TCOD_Dijkstra* dijkstra,
int root_x,
int root_y);
86TCODLIB_API
float TCOD_dijkstra_get_distance(
TCOD_Dijkstra* dijkstra,
int x,
int y);
87TCODLIB_API
bool TCOD_dijkstra_path_set(
TCOD_Dijkstra* dijkstra,
int x,
int y);
91TCODLIB_API
void TCOD_dijkstra_get(
TCOD_Dijkstra* path,
int index,
int* x,
int* y);
92TCODLIB_API
bool TCOD_dijkstra_path_walk(
TCOD_Dijkstra* dijkstra,
int* x,
int* y);
93TCODLIB_API
void TCOD_dijkstra_delete(
TCOD_Dijkstra* dijkstra);
Deprecated libtcod list module.
Miscellaneous tools needed across platforms.
Dijkstra data structure.
Definition path.h:70
Private map struct.
Definition fov_types.h:51