/* * Copyright (C) 2002-2007 The Warp Rogue Team * Part of the Warp Rogue Project * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License. * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY. * * See the license.txt file for more details. */ /* * Module Name: Pathfinder * Description: - */ #define MAX_PATH 128 #define MAX_SHORT_PATH 10 #define path_first_step(path) (&(path)->p) void pathfinder_init(void); void pathfinder_clean_up(void); const PATH_NODE * find_ai_path(const CHARACTER *, const AREA_POINT *); const PATH_NODE * find_safe_ai_path(const CHARACTER *, const AREA_POINT * ); const PATH_NODE * find_bypass_characters_path(const CHARACTER *, const AREA_POINT * ); const PATH_NODE * find_patrol_path(const CHARACTER *, const AREA_POINT * ); const PATH_NODE * find_run_command_path(const CHARACTER *, const AREA_POINT * ); const PATH_NODE * find_jump_path(const CHARACTER *, const AREA_POINT *); AREA_DISTANCE path_length(const PATH_NODE *); bool character_blocks_path(const CHARACTER *, const PATH_NODE * ); bool destructable_obstacle_at(const AREA_POINT *);