1565844357 3 3 10 libpandaai 4 s1eG 10 panda3d.ai 51 55 12 ~AIBehaviors 0 4 106 25 AIBehaviors::~AIBehaviors 0 0 0 32 AIBehaviors::~AIBehaviors(void); 56 4 seek 0 4 106 17 AIBehaviors::seek 0 2 2 3 219 /** * This function activates seek and makes an object of the Seek class. This * is the function we want the user to call for seek to be done. This * function is overloaded to accept a NodePath or an LVecBase3. */ 128 void AIBehaviors::seek(NodePath target_object, float seek_wt = 1.0); void AIBehaviors::seek(LVecBase3 pos, float seek_wt = 1.0); 57 4 flee 0 4 106 17 AIBehaviors::flee 0 2 4 5 159 /** * This function activates flee_activate and creates an object of the Flee * class. This function is overloaded to accept a NodePath or an LVecBase3. */ 248 void AIBehaviors::flee(NodePath target_object, double panic_distance = 10.0, double relax_distance = 10.0, float flee_wt = 1.0); void AIBehaviors::flee(LVecBase3 pos, double panic_distance = 10.0, double relax_distance = 10.0, float flee_wt = 1.0); 58 6 pursue 0 4 106 19 AIBehaviors::pursue 0 1 6 115 /** * This function activates pursue. This is the function we want the user to * call for pursue to be done. */ 72 void AIBehaviors::pursue(NodePath target_object, float pursue_wt = 1.0); 59 5 evade 0 4 106 18 AIBehaviors::evade 0 1 7 50 /** * This function activates evade_activate. */ 130 void AIBehaviors::evade(NodePath target_object, double panic_distance = 10.0, double relax_distance = 10.0, float evade_wt = 1.0); 60 7 arrival 0 4 106 20 AIBehaviors::arrival 0 1 8 117 /** * This function activates arrival. This is the function we want the user to * call for arrival to be done. */ 50 void AIBehaviors::arrival(double distance = 10.0); 61 5 flock 0 4 106 18 AIBehaviors::flock 0 1 9 113 /** * This function activates flock. This is the function we want the user to * call for flock to be done. */ 40 void AIBehaviors::flock(float flock_wt); 62 6 wander 0 4 106 19 AIBehaviors::wander 0 1 10 114 /** * This function activates wander. This is the function we want the user to * call for flock to be done. */ 112 void AIBehaviors::wander(double wander_radius = 5.0, int flag = 0, double aoe = 0.0, float wander_weight = 1.0); 63 18 obstacle_avoidance 0 4 106 31 AIBehaviors::obstacle_avoidance 0 1 11 169 /** * This function activates obstacle avoidance for a given character. This is * the function we want the user to call for obstacle avoidance to be * performed. */ 64 void AIBehaviors::obstacle_avoidance(float feeler_length = 1.0); 64 11 path_follow 0 4 106 24 AIBehaviors::path_follow 0 1 12 120 /** * This function activates path following. This is the function we want the * user to call for path following. */ 47 void AIBehaviors::path_follow(float follow_wt); 65 11 add_to_path 0 4 106 24 AIBehaviors::add_to_path 0 1 13 62 /** * This function adds positions to the path to follow. */ 45 void AIBehaviors::add_to_path(LVecBase3 pos); 66 12 start_follow 0 4 106 25 AIBehaviors::start_follow 0 1 14 0 60 void AIBehaviors::start_follow(std::string type = "normal"); 67 14 init_path_find 0 4 106 27 AIBehaviors::init_path_find 0 1 15 165 // should have different function names. /** * This function activates path finding in the character. This function * accepts the meshdata in .csv format. * */ 63 void AIBehaviors::init_path_find(char const *navmesh_filename); 68 12 path_find_to 0 4 106 25 AIBehaviors::path_find_to 0 2 16 17 452 /** * This function checks for the source and target in the navigation mesh for * its availability and then finds the best path via the A* algorithm Then it * calls the path follower to make the object follow the path. */ /** * This function checks for the source and target in the navigation mesh for * its availability and then finds the best path via the A* algorithm Then it * calls the path follower to make the object follow the path. */ 153 void AIBehaviors::path_find_to(LVecBase3 pos, std::string type = "normal"); void AIBehaviors::path_find_to(NodePath target, std::string type = "normal"); 69 19 add_static_obstacle 0 4 106 32 AIBehaviors::add_static_obstacle 0 1 18 262 /** * This function allows the user to dynamically add obstacles to the game * environment. The function will update the nodes within the bounding volume * of the obstacle as non-traversable. Hence will not be considered by the * pathfinding algorithm. */ 57 void AIBehaviors::add_static_obstacle(NodePath obstacle); 70 20 add_dynamic_obstacle 0 4 106 33 AIBehaviors::add_dynamic_obstacle 0 1 19 98 /** * This function starts the pathfinding obstacle navigation for the passed in * obstacle. */ 58 void AIBehaviors::add_dynamic_obstacle(NodePath obstacle); 71 9 remove_ai 0 4 106 22 AIBehaviors::remove_ai 0 1 20 59 /** * This function removes individual or all the AIs. */ 49 void AIBehaviors::remove_ai(std::string ai_type); 72 8 pause_ai 0 4 106 21 AIBehaviors::pause_ai 0 1 21 58 /** * This function pauses individual or all the AIs. */ 48 void AIBehaviors::pause_ai(std::string ai_type); 73 9 resume_ai 0 4 106 22 AIBehaviors::resume_ai 0 1 22 58 /** * This function resumes individual or all the AIs */ 49 void AIBehaviors::resume_ai(std::string ai_type); 74 15 behavior_status 0 4 106 28 AIBehaviors::behavior_status 0 1 23 149 /** * This function returns the status of an AI Type whether it is active, paused * or disabled. It returns -1 if an invalid string is passed. */ 62 std::string AIBehaviors::behavior_status(std::string ai_type); 75 11 AIBehaviors 0 4 106 24 AIBehaviors::AIBehaviors 0 1 1 0 63 inline AIBehaviors::AIBehaviors(AIBehaviors const &) = default; 76 8 get_mass 0 4 107 21 AICharacter::get_mass 0 1 26 0 35 double AICharacter::get_mass(void); 77 8 set_mass 0 4 107 21 AICharacter::set_mass 0 1 27 0 37 void AICharacter::set_mass(double m); 78 12 get_velocity 0 4 107 25 AICharacter::get_velocity 0 1 28 0 42 LVecBase3 AICharacter::get_velocity(void); 79 13 get_max_force 0 4 107 26 AICharacter::get_max_force 0 1 29 0 40 double AICharacter::get_max_force(void); 80 13 set_max_force 0 4 107 26 AICharacter::set_max_force 0 1 30 0 50 void AICharacter::set_max_force(double max_force); 81 13 get_node_path 0 4 107 26 AICharacter::get_node_path 0 1 31 0 42 NodePath AICharacter::get_node_path(void); 82 13 set_node_path 0 4 107 26 AICharacter::set_node_path 0 1 32 0 45 void AICharacter::set_node_path(NodePath np); 83 16 get_ai_behaviors 0 4 107 29 AICharacter::get_ai_behaviors 0 1 33 0 49 AIBehaviors *AICharacter::get_ai_behaviors(void); 84 12 set_pf_guide 0 4 107 25 AICharacter::set_pf_guide 0 1 34 74 // This function is used to enable or disable the guides for path finding. 46 void AICharacter::set_pf_guide(bool pf_guide); 85 11 AICharacter 0 4 107 24 AICharacter::AICharacter 0 2 24 25 0 191 explicit AICharacter::AICharacter(std::string model_name, NodePath model_np, double mass, double movt_force, double max_force); inline AICharacter::AICharacter(AICharacter const &) = default; 86 6 AINode 0 4 109 14 AINode::AINode 0 2 35 36 0 139 explicit AINode::AINode(int grid_x, int grid_y, LVecBase3 pos, float w, float l, float h); inline AINode::AINode(AINode const &) = default; 87 7 ~AINode 0 4 109 15 AINode::~AINode 0 0 0 22 AINode::~AINode(void); 88 8 contains 0 4 109 16 AINode::contains 0 1 37 113 /** * This is a handy function which returns true if the passed position is * within the node's dimensions. */ 40 bool AINode::contains(float x, float y); 89 5 Flock 0 4 110 12 Flock::Flock 0 2 38 39 0 225 explicit Flock::Flock(unsigned int flock_id, double vcone_angle, double vcone_radius, unsigned int separation_wt = 2, unsigned int cohesion_wt = 4, unsigned int alignment_wt = 1); inline Flock::Flock(Flock const &) = default; 90 6 ~Flock 0 4 110 13 Flock::~Flock 0 0 0 20 Flock::~Flock(void); 91 11 add_ai_char 0 4 110 18 Flock::add_ai_char 0 1 40 113 // Function to add the ai characters to _ai_char_list. /** * This function adds AI characters to the flock. */ 46 void Flock::add_ai_char(AICharacter *ai_char); 92 6 get_id 0 4 110 13 Flock::get_id 0 1 41 50 // Function to access the private member flock_id. 33 unsigned int Flock::get_id(void); 93 7 AIWorld 0 4 111 16 AIWorld::AIWorld 0 2 42 43 0 86 AIWorld::AIWorld(NodePath render); inline AIWorld::AIWorld(AIWorld const &) = default; 94 8 ~AIWorld 0 4 111 17 AIWorld::~AIWorld 0 0 0 24 AIWorld::~AIWorld(void); 95 11 add_ai_char 0 4 111 20 AIWorld::add_ai_char 0 1 44 0 46 void AIWorld::add_ai_char(AICharacter *ai_ch); 96 14 remove_ai_char 0 4 111 23 AIWorld::remove_ai_char 0 1 45 0 47 void AIWorld::remove_ai_char(std::string name); 97 9 add_flock 0 4 111 18 AIWorld::add_flock 0 1 46 163 /** * This function adds all the AI characters in the Flock object to the * AICharPool. This function allows adding the AI characetrs as part of a * flock. */ 38 void AIWorld::add_flock(Flock *flock); 98 9 flock_off 0 4 111 18 AIWorld::flock_off 0 1 47 103 /** * This function turns off the flock behavior temporarily. Similar to pausing * the behavior. */ 47 void AIWorld::flock_off(unsigned int flock_id); 99 8 flock_on 0 4 111 17 AIWorld::flock_on 0 1 48 53 /** * This function turns on the flock behavior. */ 46 void AIWorld::flock_on(unsigned int flock_id); 100 12 remove_flock 0 4 111 21 AIWorld::remove_flock 0 1 49 63 /** * This function removes the flock behavior completely. */ 50 void AIWorld::remove_flock(unsigned int flock_id); 101 9 get_flock 0 4 111 18 AIWorld::get_flock 0 1 50 74 /** * This function returns a handle to the Flock whose id is passed. */ 48 Flock AIWorld::get_flock(unsigned int flock_id); 102 12 add_obstacle 0 4 111 21 AIWorld::add_obstacle 0 1 51 111 /** * This function adds the nodepath as an obstacle that is needed by the * obstacle avoidance behavior. */ 46 void AIWorld::add_obstacle(NodePath obstacle); 103 15 remove_obstacle 0 4 111 24 AIWorld::remove_obstacle 0 1 52 123 /** * This function removes the nodepath from the obstacles list that is needed * by the obstacle avoidance behavior. */ 49 void AIWorld::remove_obstacle(NodePath obstacle); 104 10 print_list 0 4 111 19 AIWorld::print_list 0 1 53 134 /** * This function prints the names of the AI characters that have been added to * the AIWorld. Useful for debugging purposes. */ 31 void AIWorld::print_list(void); 105 6 update 0 4 111 15 AIWorld::update 0 1 54 130 /** * The AIWorld update function calls the update function of all the AI * characters which have been added to the AIWorld. */ 27 void AIWorld::update(void); 54 1 0 0 7 22 114 55 0 0 1 6 param0 0 112 2 0 0 4 3 119 0 0 0 3 4 this 3 114 3 pos 1 115 7 seek_wt 1 118 3 0 0 4 3 119 0 0 219 /** * This function activates seek and makes an object of the Seek class. This * is the function we want the user to call for seek to be done. This * function is overloaded to accept a NodePath or an LVecBase3. */ 3 4 this 3 114 13 target_object 1 120 7 seek_wt 1 118 4 0 0 4 4 119 0 0 0 5 4 this 3 114 3 pos 1 115 14 panic_distance 1 122 14 relax_distance 1 122 7 flee_wt 1 118 5 0 0 4 4 119 0 0 159 /** * This function activates flee_activate and creates an object of the Flee * class. This function is overloaded to accept a NodePath or an LVecBase3. */ 5 4 this 3 114 13 target_object 1 120 14 panic_distance 1 122 14 relax_distance 1 122 7 flee_wt 1 118 6 0 0 4 5 119 0 0 115 /** * This function activates pursue. This is the function we want the user to * call for pursue to be done. */ 3 4 this 3 114 13 target_object 1 120 9 pursue_wt 1 118 7 0 0 4 6 119 0 0 50 /** * This function activates evade_activate. */ 5 4 this 3 114 13 target_object 1 120 14 panic_distance 1 122 14 relax_distance 1 122 8 evade_wt 1 118 8 0 0 4 7 119 0 0 117 /** * This function activates arrival. This is the function we want the user to * call for arrival to be done. */ 2 4 this 3 114 8 distance 1 122 9 0 0 4 8 119 0 0 113 /** * This function activates flock. This is the function we want the user to * call for flock to be done. */ 2 4 this 3 114 8 flock_wt 1 118 10 0 0 4 9 119 0 0 114 /** * This function activates wander. This is the function we want the user to * call for flock to be done. */ 5 4 this 3 114 13 wander_radius 1 122 4 flag 1 123 3 aoe 1 122 13 wander_weight 1 118 11 0 0 4 10 119 0 0 169 /** * This function activates obstacle avoidance for a given character. This is * the function we want the user to call for obstacle avoidance to be * performed. */ 2 4 this 3 114 13 feeler_length 1 118 12 0 0 4 11 119 0 0 120 /** * This function activates path following. This is the function we want the * user to call for path following. */ 2 4 this 3 114 9 follow_wt 1 118 13 0 0 4 12 119 0 0 62 /** * This function adds positions to the path to follow. */ 2 4 this 3 114 3 pos 1 115 14 0 0 4 13 119 0 0 0 2 4 this 3 114 4 type 1 124 15 0 0 4 14 119 0 0 123 /** * This function activates path finding in the character. This function * accepts the meshdata in .csv format. * */ 2 4 this 3 114 16 navmesh_filename 1 124 16 0 0 4 15 119 0 0 225 /** * This function checks for the source and target in the navigation mesh for * its availability and then finds the best path via the A* algorithm Then it * calls the path follower to make the object follow the path. */ 3 4 this 3 114 3 pos 1 115 4 type 1 124 17 0 0 4 15 119 0 0 225 /** * This function checks for the source and target in the navigation mesh for * its availability and then finds the best path via the A* algorithm Then it * calls the path follower to make the object follow the path. */ 3 4 this 3 114 6 target 1 120 4 type 1 124 18 0 0 4 16 119 0 0 262 /** * This function allows the user to dynamically add obstacles to the game * environment. The function will update the nodes within the bounding volume * of the obstacle as non-traversable. Hence will not be considered by the * pathfinding algorithm. */ 2 4 this 3 114 8 obstacle 1 120 19 0 0 4 17 119 0 0 98 /** * This function starts the pathfinding obstacle navigation for the passed in * obstacle. */ 2 4 this 3 114 8 obstacle 1 120 20 0 0 4 18 119 0 0 59 /** * This function removes individual or all the AIs. */ 2 4 this 3 114 7 ai_type 1 124 21 0 0 4 19 119 0 0 58 /** * This function pauses individual or all the AIs. */ 2 4 this 3 114 7 ai_type 1 124 22 0 0 4 20 119 0 0 58 /** * This function resumes individual or all the AIs */ 2 4 this 3 114 7 ai_type 1 124 23 0 0 6 21 124 0 0 149 /** * This function returns the status of an AI Type whether it is active, paused * or disabled. It returns -1 if an invalid string is passed. */ 2 4 this 3 114 7 ai_type 1 124 24 0 0 7 34 127 0 0 0 1 6 param0 0 125 25 0 0 7 34 127 0 0 0 5 10 model_name 1 124 8 model_np 1 120 4 mass 1 122 10 movt_force 1 122 9 max_force 1 122 26 0 0 6 25 122 0 0 0 1 4 this 3 127 27 0 0 4 26 119 0 0 0 2 4 this 3 127 1 m 1 122 28 0 0 7 27 115 0 0 0 1 4 this 3 127 29 0 0 6 28 122 0 0 0 1 4 this 3 127 30 0 0 4 29 119 0 0 0 2 4 this 3 127 9 max_force 1 122 31 0 0 7 30 120 0 0 0 1 4 this 3 127 32 0 0 4 31 119 0 0 0 2 4 this 3 127 2 np 1 120 33 0 0 6 32 114 0 0 0 1 4 this 3 127 34 0 0 4 33 119 0 0 74 // This function is used to enable or disable the guides for path finding. 2 4 this 3 127 8 pf_guide 1 128 35 0 0 7 36 131 87 0 0 1 6 param0 0 129 36 0 0 7 36 131 87 0 0 6 6 grid_x 1 123 6 grid_y 1 123 3 pos 1 115 1 w 1 118 1 l 1 118 1 h 1 118 37 0 0 6 38 128 0 0 113 /** * This is a handy function which returns true if the passed position is * within the node's dimensions. */ 3 4 this 3 131 1 x 1 118 1 y 1 118 38 0 0 7 40 134 90 0 0 1 6 param0 0 132 39 0 0 7 40 134 90 0 0 6 8 flock_id 1 135 11 vcone_angle 1 122 12 vcone_radius 1 122 13 separation_wt 1 135 11 cohesion_wt 1 135 12 alignment_wt 1 135 40 0 0 4 42 119 0 0 57 /** * This function adds AI characters to the flock. */ 2 4 this 3 134 7 ai_char 1 127 41 0 0 6 43 135 0 0 50 // Function to access the private member flock_id. 1 4 this 3 134 42 0 0 7 45 138 94 0 0 1 6 param0 0 136 43 0 0 7 45 138 94 0 0 1 6 render 1 120 44 0 0 4 47 119 0 0 0 2 4 this 3 138 5 ai_ch 1 127 45 0 0 4 48 119 0 0 0 2 4 this 3 138 4 name 1 124 46 0 0 4 49 119 0 0 163 /** * This function adds all the AI characters in the Flock object to the * AICharPool. This function allows adding the AI characetrs as part of a * flock. */ 2 4 this 3 138 5 flock 1 134 47 0 0 4 50 119 0 0 103 /** * This function turns off the flock behavior temporarily. Similar to pausing * the behavior. */ 2 4 this 3 138 8 flock_id 1 135 48 0 0 4 51 119 0 0 53 /** * This function turns on the flock behavior. */ 2 4 this 3 138 8 flock_id 1 135 49 0 0 4 52 119 0 0 63 /** * This function removes the flock behavior completely. */ 2 4 this 3 138 8 flock_id 1 135 50 0 0 7 53 134 90 0 74 /** * This function returns a handle to the Flock whose id is passed. */ 2 4 this 3 138 8 flock_id 1 135 51 0 0 4 54 119 0 0 111 /** * This function adds the nodepath as an obstacle that is needed by the * obstacle avoidance behavior. */ 2 4 this 3 138 8 obstacle 1 120 52 0 0 4 55 119 0 0 123 /** * This function removes the nodepath from the obstacles list that is needed * by the obstacle avoidance behavior. */ 2 4 this 3 138 8 obstacle 1 120 53 0 0 4 56 119 0 0 134 /** * This function prints the names of the AI characters that have been added to * the AIWorld. Useful for debugging purposes. */ 1 4 this 3 138 54 0 0 4 57 119 0 0 130 /** * The AIWorld update function calls the update function of all the AI * characters which have been added to the AIWorld. */ 1 4 this 3 138 33 106 11 AIBehaviors 0 26625 11 AIBehaviors 11 AIBehaviors 0 0 0 1 75 55 0 19 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 0 0 0 0 0 618 /** * This class implements all the steering behaviors of the AI framework, such * as seek, flee, pursue, evade, wander and flock. Each steering behavior has * a weight which is used when more than one type of steering behavior is * acting on the same ai character. The weight decides the contribution of * each type of steering behavior. The AICharacter class has a handle to an * object of this class and this allows to invoke the steering behaviors via * the AICharacter. This class also provides functionality such as pausing, * resuming and removing the AI behaviors of an AI character at anytime. */ 107 11 AICharacter 0 75777 11 AICharacter 11 AICharacter 0 0 0 1 85 0 0 9 76 77 78 79 80 81 82 83 84 0 0 1 0 108 0 0 0 0 0 108 14 ReferenceCount 0 2048 14 ReferenceCount 14 ReferenceCount 0 0 0 0 0 0 0 0 0 0 0 0 203 /** * A base class for all things that want to be reference-counted. * ReferenceCount works in conjunction with PointerTo to automatically delete * objects when the last pointer to them goes away. */ 109 6 AINode 0 26625 6 AINode 6 AINode 0 0 0 1 86 87 0 1 88 0 0 0 0 0 365 /** * This class is used to assign the nodes on the mesh. It holds all the data * necessary to compute A* algorithm. It also maintains a lot of vital * information such as the neighbor nodes of each node and also its position * on the mesh. Note: The Mesh Generator which is a standalone tool makes use * of this class to generate the nodes on the mesh. */ 110 5 Flock 0 26625 5 Flock 5 Flock 0 0 0 1 89 90 0 2 91 92 0 0 0 0 0 114 /** * This class is used to define the flock attributes and the AI characters * which are part of the flock. */ 111 7 AIWorld 0 26625 7 AIWorld 7 AIWorld 0 0 0 1 93 94 0 11 95 96 97 98 99 100 101 102 103 104 105 0 0 0 0 0 329 /** * A class that implements the virtual AI world which keeps track of the AI * characters active at any given time. It contains a linked list of AI * characters, obstactle data and unique name for each character. It also * updates each characters state. The AI characters can also be added to the * world as flocks. */ 112 19 AIBehaviors const * 0 8576 19 AIBehaviors const * 19 AIBehaviors const * 0 0 113 0 0 0 0 0 0 0 0 0 0 113 17 AIBehaviors const 0 8832 17 AIBehaviors const 17 AIBehaviors const 0 0 106 0 0 0 0 0 0 0 0 0 0 114 13 AIBehaviors * 0 8576 13 AIBehaviors * 13 AIBehaviors * 0 0 106 0 0 0 0 0 0 0 0 0 0 115 11 LVecBase3 * 0 8576 11 LVecBase3 * 11 LVecBase3 * 0 0 116 0 0 0 0 0 0 0 0 0 0 116 9 LVecBase3 0 2105344 9 LVecBase3 9 LVecBase3 0 0 117 0 0 0 0 0 0 0 0 0 0 117 10 LVecBase3f 0 2048 10 LVecBase3f 10 LVecBase3f 0 0 0 0 0 0 0 0 0 0 0 0 77 /** * This is the base class for all three-component vectors and points. */ 118 5 float 0 8194 5 float 5 float 0 2 0 0 0 0 0 0 0 0 0 0 0 119 4 void 0 8194 4 void 4 void 0 6 0 0 0 0 0 0 0 0 0 0 0 120 10 NodePath * 0 8576 10 NodePath * 10 NodePath * 0 0 121 0 0 0 0 0 0 0 0 0 0 121 8 NodePath 0 2048 8 NodePath 8 NodePath 0 0 0 0 0 0 0 0 0 0 0 0 762 /** * NodePath is the fundamental system for disambiguating instances, and also * provides a higher-level interface for manipulating the scene graph. * * A NodePath is a list of connected nodes from the root of the graph to any * sub-node. Each NodePath therefore uniquely describes one instance of a * node. * * NodePaths themselves are lightweight objects that may easily be copied and * passed by value. Their data is stored as a series of NodePathComponents * that are stored on the nodes. Holding a NodePath will keep a reference * count to all the nodes in the path. However, if any node in the path is * removed or reparented (perhaps through a different NodePath), the NodePath * will automatically be updated to reflect the changes. */ 122 6 double 0 8194 6 double 6 double 0 3 0 0 0 0 0 0 0 0 0 0 0 123 3 int 0 8194 3 int 3 int 0 1 0 0 0 0 0 0 0 0 0 0 0 124 13 atomic string 0 2 13 atomic string 13 atomic string 0 7 0 0 0 0 0 0 0 0 0 0 0 125 19 AICharacter const * 0 8576 19 AICharacter const * 19 AICharacter const * 0 0 126 0 0 0 0 0 0 0 0 0 0 126 17 AICharacter const 0 8832 17 AICharacter const 17 AICharacter const 0 0 107 0 0 0 0 0 0 0 0 0 0 127 13 AICharacter * 0 8576 13 AICharacter * 13 AICharacter * 0 0 107 0 0 0 0 0 0 0 0 0 0 128 4 bool 0 8194 4 bool 4 bool 0 4 0 0 0 0 0 0 0 0 0 0 0 129 14 AINode const * 0 8576 14 AINode const * 14 AINode const * 0 0 130 0 0 0 0 0 0 0 0 0 0 130 12 AINode const 0 8832 12 AINode const 12 AINode const 0 0 109 0 0 0 0 0 0 0 0 0 0 131 8 AINode * 0 8576 8 AINode * 8 AINode * 0 0 109 0 0 0 0 0 0 0 0 0 0 132 13 Flock const * 0 8576 13 Flock const * 13 Flock const * 0 0 133 0 0 0 0 0 0 0 0 0 0 133 11 Flock const 0 8832 11 Flock const 11 Flock const 0 0 110 0 0 0 0 0 0 0 0 0 0 134 7 Flock * 0 8576 7 Flock * 7 Flock * 0 0 110 0 0 0 0 0 0 0 0 0 0 135 12 unsigned int 0 8198 12 unsigned int 12 unsigned int 0 1 0 0 0 0 0 0 0 0 0 0 0 136 15 AIWorld const * 0 8576 15 AIWorld const * 15 AIWorld const * 0 0 137 0 0 0 0 0 0 0 0 0 0 137 13 AIWorld const 0 8832 13 AIWorld const 13 AIWorld const 0 0 111 0 0 0 0 0 0 0 0 0 0 138 9 AIWorld * 0 8576 9 AIWorld * 9 AIWorld * 0 0 111 0 0 0 0 0 0 0 0 0 0 0 0 0