The Battle for Wesnoth  1.13.4+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Namespaces | Variables
registry.cpp File Reference

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

#include "ai/registry.hpp"
#include "global.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/ai.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 <boost/shared_ptr.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< int > > 
ai::attack_depth__composite_aspect_factory ("attack_depth*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< bool > > 
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< bool > > 
ai::passive_leader__composite_aspect_factory ("passive_leader*composite_aspect")
 
static register_aspect_factory
< composite_aspect< bool > > 
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::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< int > > 
ai::attack_depth__standard_aspect_factory ("attack_depth*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< bool > > 
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< bool > > 
ai::passive_leader__standard_aspect_factory ("passive_leader*standard_aspect")
 
static register_aspect_factory
< standard_aspect< bool > > 
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::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< int > > 
ai::attack_depth__standard_aspect_factory2 ("attack_depth*")
 
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< bool > > 
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< bool > > 
ai::passive_leader__standard_aspect_factory2 ("passive_leader*")
 
static register_aspect_factory
< standard_aspect< bool > > 
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::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< int > > 
ai::attack_depth__lua_aspect_factory ("attack_depth*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< bool > > 
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< bool > > 
ai::passive_leader__lua_aspect_factory ("passive_leader*lua_aspect")
 
static
register_lua_aspect_factory
< lua_aspect< bool > > 
ai::passive_leader_shares_keep__lua_aspect_factory ("passive_leader_shares_keep*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.