The Battle for Wesnoth  1.19.5+dev
Namespaces | Variables
registry.cpp File Reference

All known c++ AI parts. More...

#include "ai/registry.hpp"
#include "config.hpp"
#include "terrain/filter.hpp"
#include "ai/composite/engine.hpp"
#include "ai/composite/stage.hpp"
#include "ai/composite/rca.hpp"
#include "ai/game_info.hpp"
#include "ai/composite/aspect.hpp"
#include "ai/default/engine_cpp.hpp"
#include "ai/formula/engine_fai.hpp"
#include "ai/lua/engine_lua.hpp"
#include "ai/composite/goal.hpp"
#include "ai/lua/aspect_advancements.hpp"
#include "ai/default/recruitment.hpp"
#include "ai/default/aspect_attacks.hpp"
#include "ai/default/ca.hpp"
#include "ai/default/ca_move_to_targets.hpp"
#include "ai/default/stage_rca.hpp"
#include <string>
#include <vector>
Include dependency graph for registry.cpp:

Go to the source code of this file.

Namespaces

 ai
 A small explanation about what's going on here: Each action has access to two game_info objects First is 'info' - real information Second is 'subjective info' - AIs perception of what's going on So, when we check_before action, we use 'subjective info' and don't touch real 'info' at all.
 

Variables

static register_engine_factory< engine_cpp > ai::composite_ai_factory_cpp ("cpp")
 
static register_engine_factory< engine_fai > ai::composite_ai_factory_fai ("fai")
 
static register_engine_factory< engine_lua > ai::composite_ai_factory_lua ("lua")
 
static register_stage_factory< ai_default_rca::candidate_action_evaluation_loop > ai::candidate_action_evaluation_loop_factory ("ai_default_rca::candidate_action_evaluation_loop")
 
static register_stage_factory< idle_stage > ai::ai_idle_stage_factory ("empty")
 
static register_stage_factory< ai_default_rca::candidate_action_evaluation_loop > ai::old_candidate_action_evaluation_loop_factory ("testing_ai_default::candidate_action_evaluation_loop")
 
static register_candidate_action_factory< ai_default_rca::goto_phase > ai::goto_phase_factory ("ai_default_rca::goto_phase")
 
static register_candidate_action_factory< ai_default_rca::combat_phase > ai::combat_phase_factory ("ai_default_rca::combat_phase")
 
static register_candidate_action_factory< ai_default_rca::move_leader_to_goals_phase > ai::move_leader_to_goals_phase_factory ("ai_default_rca::move_leader_to_goals_phase")
 
static register_candidate_action_factory< ai_default_rca::move_leader_to_keep_phase > ai::move_leader_to_keep_phase_factory ("ai_default_rca::move_leader_to_keep_phase")
 
static register_candidate_action_factory< ai_default_rca::get_villages_phase > ai::get_villages_phase_factory ("ai_default_rca::get_villages_phase")
 
static register_candidate_action_factory< ai_default_rca::get_healing_phase > ai::get_healing_phase_factory ("ai_default_rca::get_healing_phase")
 
static register_candidate_action_factory< ai_default_rca::retreat_phase > ai::retreat_phase_factory ("ai_default_rca::retreat_phase")
 
static register_candidate_action_factory< ai_default_rca::move_to_targets_phase > ai::default_move_to_targets_phase_factory ("ai_default_rca::move_to_targets_phase")
 
static register_candidate_action_factory< ai_default_rca::leader_control_phase > ai::leader_control_phase_factory ("ai_default_rca::leader_control_phase")
 
static register_candidate_action_factory< ai_default_rca::leader_shares_keep_phase > ai::leader_shares_keep_phase_factory ("ai_default_rca::leader_shares_keep_phase")
 
static register_candidate_action_factory< ai_default_rca::leader_shares_keep_phase > ai::passive_leader_shares_keep_phase_factory ("ai_default_rca::passive_leader_shares_keep_phase")
 
static register_candidate_action_factory< default_recruitment::recruitment > ai::default_recruitment_factory ("default_recruitment::recruitment")
 
static register_candidate_action_factory< ai_default_rca::goto_phase > ai::old_goto_phase_factory ("testing_ai_default::goto_phase")
 
static register_candidate_action_factory< ai_default_rca::combat_phase > ai::old_combat_phase_factory ("testing_ai_default::combat_phase")
 
static register_candidate_action_factory< ai_default_rca::move_leader_to_goals_phase > ai::old_move_leader_to_goals_phase_factory ("testing_ai_default::move_leader_to_goals_phase")
 
static register_candidate_action_factory< ai_default_rca::move_leader_to_keep_phase > ai::old_move_leader_to_keep_phase_factory ("testing_ai_default::move_leader_to_keep_phase")
 
static register_candidate_action_factory< ai_default_rca::get_villages_phase > ai::old_get_villages_phase_factory ("testing_ai_default::get_villages_phase")
 
static register_candidate_action_factory< ai_default_rca::get_healing_phase > ai::old_get_healing_phase_factory ("testing_ai_default::get_healing_phase")
 
static register_candidate_action_factory< ai_default_rca::retreat_phase > ai::old_retreat_phase_factory ("testing_ai_default::retreat_phase")
 
static register_candidate_action_factory< ai_default_rca::move_to_targets_phase > ai::old_default_move_to_targets_phase_factory ("testing_ai_default::default_move_to_targets_phase")
 
static register_candidate_action_factory< ai_default_rca::move_to_targets_phase > ai::old_testing_move_to_targets_phase_factory ("testing_ai_default::testing_move_to_targets_phase")
 
static register_candidate_action_factory< ai_default_rca::leader_control_phase > ai::old_leader_control_phase_factory ("testing_ai_default::leader_control_phase")
 
static register_candidate_action_factory< ai_default_rca::leader_shares_keep_phase > ai::old_passive_leader_shares_keep_phase_factory ("testing_ai_default::passive_leader_shares_keep_phase")
 
static register_goal_factory< target_unit_goal > ai::goal_factory ("")
 
static register_goal_factory< target_unit_goal > ai::goal_factory_target ("target")
 
static register_goal_factory< target_unit_goal > ai::goal_factory_target_unit ("target_unit")
 
static register_goal_factory< target_location_goal > ai::goal_factory_target_location ("target_location")
 
static register_goal_factory< protect_location_goal > ai::goal_factory_protect_location ("protect_location")
 
static register_goal_factory< protect_unit_goal > ai::goal_factory_protect_unit ("protect_unit")
 
static register_goal_factory< lua_goal > ai::goal_factory_lua_goal ("lua_goal")
 
static register_aspect_factory< composite_aspect< unit_advancements_aspect > > ai::advancements__composite_aspect_factory ("advancements*composite_aspect")
 
static register_aspect_factory< composite_aspect< double > > ai::aggression__composite_aspect_factory ("aggression*composite_aspect")
 
static register_aspect_factory< composite_aspect< bool > > ai::allow_ally_villages__composite_aspect_factory ("allow_ally_villages*composite_aspect")
 
static register_aspect_factory< composite_aspect< attacks_vector > > ai::attacks__composite_aspect_factory ("attacks*composite_aspect")
 
static register_aspect_factory< composite_aspect< terrain_filter > > ai::avoid__composite_aspect_factory ("avoid*composite_aspect")
 
static register_aspect_factory< composite_aspect< double > > ai::caution__composite_aspect_factory ("caution*composite_aspect")
 
static register_aspect_factory< composite_aspect< std::string > > ai::grouping__composite_aspect_factory ("grouping*composite_aspect")
 
static register_aspect_factory< composite_aspect< double > > ai::leader_aggression__composite_aspect_factory ("leader_aggression*composite_aspect")
 
static register_aspect_factory< composite_aspect< config > > ai::leader_goal__composite_aspect_factory ("leader_goal*composite_aspect")
 
static register_aspect_factory< composite_aspect< utils::variant< bool, std::vector< std::string > > > > ai::leader_igores_keep__composite_aspect_factory ("leader_ignores_keep*composite_aspect")
 
static register_aspect_factory< composite_aspect< double > > ai::leader_value__composite_aspect_factory ("leader_value*composite_aspect")
 
static register_aspect_factory< composite_aspect< utils::variant< bool, std::vector< std::string > > > > ai::passive_leader__composite_aspect_factory ("passive_leader*composite_aspect")
 
static register_aspect_factory< composite_aspect< utils::variant< bool, std::vector< std::string > > > > ai::passive_leader_shares_keep__composite_aspect_factory ("passive_leader_shares_keep*composite_aspect")
 
static register_aspect_factory< composite_aspect< double > > ai::recruitment_diversity__composite_aspect_factory ("recruitment_diversity*composite_aspect")
 
static register_aspect_factory< composite_aspect< config > > ai::recruitment_instructions__composite_aspect_factory ("recruitment_instructions*composite_aspect")
 
static register_aspect_factory< composite_aspect< std::vector< std::string > > > ai::recruitment_more__composite_aspect_factory ("recruitment_more*composite_aspect")
 
static register_aspect_factory< composite_aspect< std::vector< std::string > > > ai::recruitment_pattern__composite_aspect_factory ("recruitment_pattern*composite_aspect")
 
static register_aspect_factory< composite_aspect< int > > ai::recruitment_randomness__composite_aspect_factory ("recruitment_randomness*composite_aspect")
 
static register_aspect_factory< composite_aspect< config > > ai::recruitment_save_gold__composite_aspect_factory ("recruitment_save_gold*composite_aspect")
 
static register_aspect_factory< composite_aspect< double > > ai::retreat_enemy_weight__composite_aspect_factory ("retreat_enemy_weight*composite_aspect")
 
static register_aspect_factory< composite_aspect< double > > ai::retreat_factor__composite_aspect_factory ("retreat_factor*composite_aspect")
 
static register_aspect_factory< composite_aspect< double > > ai::scout_village_targeting__composite_aspect_factory ("scout_village_targeting*composite_aspect")
 
static register_aspect_factory< composite_aspect< bool > > ai::simple_targeting__composite_aspect_factory ("simple_targeting*composite_aspect")
 
static register_aspect_factory< composite_aspect< bool > > ai::support_villages__composite_aspect_factory ("support_villages*composite_aspect")
 
static register_aspect_factory< composite_aspect< double > > ai::village_value__composite_aspect_factory ("village_value*composite_aspect")
 
static register_aspect_factory< composite_aspect< int > > ai::villages_per_scout__composite_aspect_factory ("villages_per_scout*composite_aspect")
 
static register_aspect_factory< standard_aspect< unit_advancements_aspect > > ai::advancements__standard_aspect_factory ("advancements*standard_aspect")
 
static register_aspect_factory< standard_aspect< double > > ai::aggression__standard_aspect_factory ("aggression*standard_aspect")
 
static register_aspect_factory< standard_aspect< bool > > ai::allow_ally_villages__standard_aspect_factory ("allow_ally_villages*standard_aspect")
 
static register_aspect_factory< ai_default_rca::aspect_attacks > ai::attacks__testing_ai_default_aspect_attacks_factory ("attacks*ai_default_rca::aspect_attacks")
 
static register_aspect_factory< standard_aspect< terrain_filter > > ai::avoid__standard_aspect_factory ("avoid*standard_aspect")
 
static register_aspect_factory< standard_aspect< double > > ai::caution__standard_aspect_factory ("caution*standard_aspect")
 
static register_aspect_factory< standard_aspect< std::string > > ai::grouping__standard_aspect_factory ("grouping*standard_aspect")
 
static register_aspect_factory< standard_aspect< double > > ai::leader_aggression__standard_aspect_factory ("leader_aggression*standard_aspect")
 
static register_aspect_factory< standard_aspect< config > > ai::leader_goal__standard_aspect_factory ("leader_goal*standard_aspect")
 
static register_aspect_factory< standard_aspect< utils::variant< bool, std::vector< std::string > > > > ai::leader_ignores_keep__standard_aspect_factory ("leader_ignores_keep*standard_aspect")
 
static register_aspect_factory< standard_aspect< double > > ai::leader_value__standard_aspect_factory ("leader_value*standard_aspect")
 
static register_aspect_factory< standard_aspect< utils::variant< bool, std::vector< std::string > > > > ai::passive_leader__standard_aspect_factory ("passive_leader*standard_aspect")
 
static register_aspect_factory< standard_aspect< utils::variant< bool, std::vector< std::string > > > > ai::passive_leader_shares_keep__standard_aspect_factory ("passive_leader_shares_keep*standard_aspect")
 
static register_aspect_factory< standard_aspect< double > > ai::recruitment_diversity__standard_aspect_factory ("recruitment_diversity*standard_aspect")
 
static register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment_instructions__standard_aspect_factory ("recruitment_instructions*standard_aspect")
 
static register_aspect_factory< standard_aspect< std::vector< std::string > > > ai::recruitment_more__standard_aspect_factory ("recruitment_more*standard_aspect")
 
static register_aspect_factory< standard_aspect< std::vector< std::string > > > ai::recruitment_pattern__standard_aspect_factory ("recruitment_pattern*standard_aspect")
 
static register_aspect_factory< standard_aspect< int > > ai::recruitment_randomness__standard_aspect_factory ("recruitment_randomness*standard_aspect")
 
static register_aspect_factory< standard_aspect< config > > ai::recruitment_save_gold__standard_aspect_factory ("recruitment_save_gold*standard_aspect")
 
static register_aspect_factory< standard_aspect< double > > ai::retreat_enemy_weight__standard_aspect_factory ("retreat_enemy_weight*standard_aspect")
 
static register_aspect_factory< standard_aspect< double > > ai::retreat_factor__standard_aspect_factory ("retreat_factor*standard_aspect")
 
static register_aspect_factory< standard_aspect< double > > ai::scout_village_targeting__standard_aspect_factory ("scout_village_targeting*standard_aspect")
 
static register_aspect_factory< standard_aspect< bool > > ai::simple_targeting__standard_aspect_factory ("simple_targeting*standard_aspect")
 
static register_aspect_factory< standard_aspect< bool > > ai::support_villages__standard_aspect_factory ("support_villages*standard_aspect")
 
static register_aspect_factory< standard_aspect< double > > ai::village_value__standard_aspect_factory ("village_value*standard_aspect")
 
static register_aspect_factory< standard_aspect< int > > ai::villages_per_scout__standard_aspect_factory ("villages_per_scout*standard_aspect")
 
static register_aspect_factory< ai_default_rca::aspect_attacks > ai::old_attacks__testing_ai_default_aspect_attacks_factory ("attacks*testing_ai_default::aspect_attacks")
 
static register_aspect_factory< standard_aspect< unit_advancements_aspect > > ai::advancements__standard_aspect_factory2 ("advancements*")
 
static register_aspect_factory< standard_aspect< double > > ai::aggression__standard_aspect_factory2 ("aggression*")
 
static register_aspect_factory< standard_aspect< bool > > ai::allow_ally_villages__standard_aspect_factory2 ("allow_ally_villages*")
 
static register_aspect_factory< ai_default_rca::aspect_attacks > ai::attacks__testing_ai_default_aspect_attacks_factory2 ("attacks*")
 
static register_aspect_factory< standard_aspect< terrain_filter > > ai::avoid__standard_aspect_factory2 ("avoid*")
 
static register_aspect_factory< standard_aspect< double > > ai::caution__standard_aspect_factory2 ("caution*")
 
static register_aspect_factory< standard_aspect< std::string > > ai::grouping__standard_aspect_factory2 ("grouping*")
 
static register_aspect_factory< standard_aspect< double > > ai::leader_aggression__standard_aspect_factory2 ("leader_aggression*")
 
static register_aspect_factory< standard_aspect< config > > ai::leader_goal__standard_aspect_factory2 ("leader_goal*")
 
static register_aspect_factory< standard_aspect< utils::variant< bool, std::vector< std::string > > > > ai::leader_ignores_keep__standard_aspect_factory2 ("leader_ignores_keep*")
 
static register_aspect_factory< standard_aspect< double > > ai::leader_value__standard_aspect_factory2 ("leader_value*")
 
static register_aspect_factory< standard_aspect< utils::variant< bool, std::vector< std::string > > > > ai::passive_leader__standard_aspect_factory2 ("passive_leader*")
 
static register_aspect_factory< standard_aspect< utils::variant< bool, std::vector< std::string > > > > ai::passive_leader_shares_keep__standard_aspect_factory2 ("passive_leader_shares_keep*")
 
static register_aspect_factory< standard_aspect< double > > ai::recruitment_diversity__standard_aspect_factory2 ("recruitment_diversity*")
 
static register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment_instructions__standard_aspect_factory2 ("recruitment_instructions*")
 
static register_aspect_factory< standard_aspect< std::vector< std::string > > > ai::recruitment_more__standard_aspect_factory2 ("recruitment_more*")
 
static register_aspect_factory< standard_aspect< std::vector< std::string > > > ai::recruitment_pattern__standard_aspect_factory2 ("recruitment_pattern*")
 
static register_aspect_factory< standard_aspect< int > > ai::recruitment_randomness__standard_aspect_factory2 ("recruitment_randomness*")
 
static register_aspect_factory< standard_aspect< config > > ai::recruitment_save_gold__standard_aspect_factory2 ("recruitment_save_gold*")
 
static register_aspect_factory< standard_aspect< double > > ai::retreat_enemy_weight__standard_aspect_factory2 ("retreat_enemy_weight*")
 
static register_aspect_factory< standard_aspect< double > > ai::retreat_factor__standard_aspect_factory2 ("retreat_factor*")
 
static register_aspect_factory< standard_aspect< double > > ai::scout_village_targeting__standard_aspect_factory2 ("scout_village_targeting*")
 
static register_aspect_factory< standard_aspect< bool > > ai::simple_targeting__standard_aspect_factory2 ("simple_targeting*")
 
static register_aspect_factory< standard_aspect< bool > > ai::support_villages__standard_aspect_factory2 ("support_villages*")
 
static register_aspect_factory< standard_aspect< double > > ai::village_value__standard_aspect_factory2 ("village_value*")
 
static register_aspect_factory< standard_aspect< int > > ai::villages_per_scout__standard_aspect_factory2 ("villages_per_scout*")
 
static register_lua_aspect_factory< lua_aspect< unit_advancements_aspect > > ai::advancements__lua_aspect_factory ("advancements*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< double > > ai::aggression__lua_aspect_factory ("aggression*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< bool > > ai::allow_ally_villages__lua_aspect_factory ("allow_ally_villages*lua_aspect")
 
static register_lua_aspect_factory< aspect_attacks_lua > ai::attacks__lua_aspect_factory ("attacks*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< terrain_filter > > ai::avoid__lua_aspect_factory ("avoid*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< double > > ai::caution__lua_aspect_factory ("caution*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< std::string > > ai::grouping__lua_aspect_factory ("grouping*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< double > > ai::leader_aggression__lua_aspect_factory ("leader_aggression*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< config > > ai::leader_goal__lua_aspect_factory ("leader_goal*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< utils::variant< bool, std::vector< std::string > > > > ai::leader_ignores_keep__lua_aspect_factory ("leader_ignores_keep*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< double > > ai::leader_value__lua_aspect_factory ("leader_value*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< utils::variant< bool, std::vector< std::string > > > > ai::passive_leader__lua_aspect_factory ("passive_leader*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< utils::variant< bool, std::vector< std::string > > > > ai::passive_leader_shares_keep__lua_aspect_factory ("passive_leader_shares_keep*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< double > > ai::retreat_enemy_weight__lua_aspect_factory ("retreat_enemy_weight*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< double > > ai::retreat_factor__lua_aspect_factory ("retreat_factor*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< double > > ai::scout_village_targeting__lua_aspect_factory ("scout_village_targeting*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< bool > > ai::simple_targeting__lua_aspect_factory ("simple_targeting*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< bool > > ai::support_villages__lua_aspect_factory ("support_villages*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< double > > ai::village_value__lua_aspect_factory ("village_value*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< int > > ai::villages_per_scout__lua_aspect_factory ("villages_per_scout*lua_aspect")
 
static register_lua_aspect_factory< lua_aspect< std::vector< std::string > > > ai::recruitment_pattern__lua_aspect_factory ("recruitment_pattern*lua_aspect")
 
static register_aspect_factory< composite_aspect< config > > ai::recruitments__composite_aspect_factory ("recruitment*composite_aspect")
 
static register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment__standard_aspect_factory ("recruitment*standard_aspect")
 
static register_aspect_factory< default_recruitment::recruitment_aspect > ai::recruitment__standard_aspect_factory2 ("recruitment*")
 

Detailed Description

All known c++ AI parts.

Workaround to a linker feature of not including all symbols from files, and including only actually referenced stuff. this is not good for 'static registry' pattern. (other workarounds such as –whole-archive for ld are possible, but require messing with all buildsystems)

Definition in file registry.cpp.