diff --git a/src/ai/formula/ai.cpp b/src/ai/formula/ai.cpp index ef6b1ab25aa6..23c7ada1f1ce 100644 --- a/src/ai/formula/ai.cpp +++ b/src/ai/formula/ai.cpp @@ -17,33 +17,55 @@ * Defines formula ai candidate actions - headers */ -#include -#include -#include - #include "ai.hpp" -#include "candidates.hpp" -#include "callable_objects.hpp" -#include "function_table.hpp" - -#include "../actions.hpp" -#include "../manager.hpp" - -#include "../../callable_objects.hpp" -#include "../../game_board.hpp" -#include "../../game_display.hpp" -#include "../../formula_debugger.hpp" -#include "../../log.hpp" +#include "global.hpp" + +#include "../../callable_objects.hpp" // for unit_callable, etc +#include "../../chat_events.hpp" // for chat_handler, etc +#include "../../formula_function.hpp" // for formula_expression +#include "../../game_board.hpp" // for game_board +#include "../../game_display.hpp" // for game_display +#include "../../log.hpp" // for LOG_STREAM, logger, etc +#include "../../map.hpp" // for gamemap #include "../../menu_events.hpp" -#include "../../pathfind/teleport.hpp" -#include "../../resources.hpp" -#include "../../terrain_filter.hpp" -#include "../../tod_manager.hpp" -#include "../../unit.hpp" -#include "../../unit_formula_manager.hpp" -#include "../../pathfind/pathfind.hpp" - -#include +#include "../../pathfind/pathfind.hpp" // for plain_route, etc +#include "../../pathfind/teleport.hpp" // for get_teleport_locations, etc +#include "../../recall_list_manager.hpp" // for recall_list_manager +#include "../../resources.hpp" // for gameboard, teams, units, etc +#include "../../serialization/string_utils.hpp" // for split +#include "../../team.hpp" // for team +#include "../../terrain_filter.hpp" // for terrain_filter +#include "../../time_of_day.hpp" // for time_of_day +#include "../../tod_manager.hpp" // for tod_manager +#include "../../tstring.hpp" // for t_string, operator+ +#include "../../unit.hpp" // for unit +#include "../../unit_formula_manager.hpp" // for unit_formula_manager +#include "../../unit_ptr.hpp" // for UnitPtr +#include "../../unit_types.hpp" +#include "../../formula.hpp" // for formula_error, formula, etc +#include "../../map_location.hpp" // for map_location, etc +#include "ai/actions.hpp" // for recall_result, etc +#include "ai/manager.hpp" // for manager +#include "ai/composite/contexts.hpp" +#include "ai/composite/stage.hpp" // for stage +#include "ai/default/contexts.hpp" // for attack_analysis +#include "ai/formula/function_table.hpp" // for ai_function_symbol_table +#include "ai/game_info.hpp" // for move_result_ptr, move_map, etc +#include "ai/interface.hpp" // for interface +#include "callable_objects.hpp" // for safe_call_result, etc +#include "candidates.hpp" // for base_candidate_action, etc + + +#include // for auto_any_base, etc +#include // for intrusive_ptr +#include // for lexical_cast +#include // for shared_ptr +#include // for assert +#include // for NULL, time +#include // for multimap<>::const_iterator, etc +#include // for operator<<, basic_ostream, etc +#include // for stack +#include // for vector, allocator, etc static lg::log_domain log_formula_ai("ai/engine/fai"); #define DBG_AI LOG_STREAM(debug, log_formula_ai) diff --git a/src/ai/formula/ai.hpp b/src/ai/formula/ai.hpp index 6103af01d95d..3f044f5cf6b9 100644 --- a/src/ai/formula/ai.hpp +++ b/src/ai/formula/ai.hpp @@ -21,14 +21,26 @@ #ifndef AI_FORMULA_AI_HPP_INCLUDED #define AI_FORMULA_AI_HPP_INCLUDED -#include "callable_objects.hpp" -#include "candidates.hpp" -#include "function_table.hpp" - -#include "../default/ai.hpp" -#include "../../pathfind/teleport.hpp" - -#include +#include "ai/contexts.hpp" +#include "ai/formula/function_table.hpp" // for ai_function_symbol_table +#include "callable_objects.hpp" // for position_callable, etc +#include "candidates.hpp" // for candidate_action_ptr, etc +#include "config.hpp" // for config +#include "formula_callable.hpp" // for formula_callable, etc +#include "formula_fwd.hpp" // for const_formula_ptr, etc +#include "generic_event.hpp" // for observer +#include "pathfind/teleport.hpp" // for teleport_map +#include "unit_map.hpp" +#include "variant.hpp" // for variant +#include // for noncopyable +#include // for multiset +#include // for string +#include // for pair +#include // for vector +namespace ai { class ai_context; } +namespace game_logic { struct formula_error; } +namespace pathfind { struct plain_route; } // lines 57-57 +struct map_location; #ifdef _MSC_VER #pragma warning(push) diff --git a/src/ai/formula/function_table.cpp b/src/ai/formula/function_table.cpp index 9de5e56c5553..7d828b9f813a 100644 --- a/src/ai/formula/function_table.cpp +++ b/src/ai/formula/function_table.cpp @@ -22,13 +22,14 @@ #include "callable_objects.hpp" #include "function_table.hpp" +#include "ai/default/contexts.hpp" + #include "../../attack_prediction.hpp" #include "../../filesystem.hpp" #include "../../game_board.hpp" -#include "../../game_display.hpp" +#include "../../display.hpp" #include "../../log.hpp" #include "../../map_label.hpp" -#include "../../menu_events.hpp" #include "../../pathfind/teleport.hpp" #include "../../replay.hpp" #include "../../resources.hpp"