diff options
Diffstat (limited to 'src/map/path.h')
-rw-r--r-- | src/map/path.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/map/path.h b/src/map/path.h index 8d02e6558..4b71f2189 100644 --- a/src/map/path.h +++ b/src/map/path.h @@ -32,6 +32,14 @@ struct shootpath_data { #define distance_blxy(bl, x1, y1) (path->distance((bl)->x - (x1), (bl)->y - (y1))) #define distance_xy(x0, y0, x1, y1) (path->distance((x0) - (x1), (y0) - (y1))) +#define check_distance_client_bl(bl1, bl2, distance) (path->check_distance_client((bl1)->x - (bl2)->x, (bl1)->y - (bl2)->y, distance)) +#define check_distance_client_blxy(bl, x1, y1, distance) (path->check_distance_client((bl)->x-(x1), (bl)->y-(y1), distance)) +#define check_distance_client_xy(x0, y0, x1, y1, distance) (path->check_distance_client((x0)-(x1), (y0)-(y1), distance)) + +#define distance_client_bl(bl1, bl2) (path->distance_client((bl1)->x - (bl2)->x, (bl1)->y - (bl2)->y)) +#define distance_client_blxy(bl, x1, y1) (path->distance_client((bl)->x-(x1), (bl)->y-(y1))) +#define distance_client_xy(x0, y0, x1, y1) (path->distance_client((x0)-(x1), (y0)-(y1))) + struct path_interface { // calculates destination cell for knockback int (*blownpos) (int16 m, int16 x0, int16 y0, int16 dx, int16 dy, int count); @@ -39,8 +47,10 @@ struct path_interface { bool (*search) (struct walkpath_data *wpd, int16 m, int16 x0, int16 y0, int16 x1, int16 y1, int flag, cell_chk cell); // tries to find a shootable path bool (*search_long) (struct shootpath_data *spd, int16 m, int16 x0, int16 y0, int16 x1, int16 y1, cell_chk cell); - int (*check_distance) (int dx, int dy, int distance); + bool (*check_distance) (int dx, int dy, int distance); unsigned int (*distance) (int dx, int dy); + bool (*check_distance_client) (int dx, int dy, int distance); + int (*distance_client) (int dx, int dy); }; struct path_interface *path; |