34 #ifndef __diguyCharacter_H
35 #define __diguyCharacter_H
40 #define CPLUSPLUS_ONLY
54 class bdiScenarioCharacter;
105 const char* get_name();
116 int set_name(
const char* name);
125 const char* get_type_name();
176 int update(
float t,
int full_update = 1);
191 void set_character_type(
const char* type);
214 const char* get_character_type_string();
239 const char* get_character_class();
275 int set_enabled(
int enabled);
311 int set_drawn_by_scenario_flag(
int flag);
328 int get_drawn_by_scenario_flag();
350 void set_invisible_flag(
int invisible_flag);
357 int get_invisible_flag();
411 int get_is_temporary();
422 int get_is_recycled();
441 int set_t_controlled_by_scenario_t(
int t_controlled_by_scenario_t);
449 int get_t_controlled_by_scenario_t();
478 int set_initial_tin(
float tin,
int override_time_warning = 0);
507 int set_initial_tout(
float tout);
553 int set_current_tin(
float tin);
571 int set_current_tin_to_now();
583 float get_current_tin();
605 int set_current_tout(
float tout,
606 int disable_character_at_tout = 0);
624 int set_current_tout_to_now();
632 float get_current_tout();
641 void set_tout_enabled(
int tout_enabled);
654 int get_tout_enabled();
678 int set_careful_interpolation_threshold(
float threshold);
686 float get_careful_interpolation_threshold();
704 int set_motion_interpolation_flag(
int flag);
712 int get_motion_interpolation_flag();
728 int set_scale(
float scale_x,
747 int get_scale(
float* scale_x,
778 int set_parent(
const char* parent_name,
779 const char* parent_link_name =
"");
807 const char* get_parent_link_name();
832 int get_num_children();
860 int get_is_scene_object();
877 int set_is_scene_object(
int is_scene_object);
890 float get_bounding_radius();
903 float get_default_bounding_radius();
911 void set_bounding_radius(
float f);
932 float get_time_to_transition();
975 int set_t_scale_factor(
float t_scale_factor);
991 int unset_t_scale_factor();
1008 int is_within_distance_n_of_character(
const char* character_name,
1026 int is_within_distance_n_of_member_of_group(
const char* group_name,
1045 int is_group_member(
const char* group_name);
1055 int get_num_group_memberships();
1100 diguyCharacter* get_nearest_active_character(
int check_visibility,
1101 int xy_distance = 0,
1102 float max_distance_to_check = 100000);
1129 diguyCharacter* get_nearest_active_character_in_group(
const char* group_name,
1130 int check_visibility = 1,
1131 int xy_distance = 0,
1132 float max_distance_to_check = 100000);
1161 diguyCharacter* get_random_active_character(
float max_distance = 10.0f,
1162 int check_visibility = 1,
1163 int xy_distance = 0);
1193 diguyCharacter* get_random_active_character_in_group(
const char* group_name,
1194 float max_distance = 10,
1195 int check_visibility = 1,
1196 int xy_distance = 0);
1223 float get_distance_to_impact(
diguyImpact* impact);
1251 float get_random_factor();
1315 #ifdef CPLUSPLUS_ONLY
1344 void* get_graphics_ptr();
1377 int set_graphics_ptr(
void* graphics_ptr);
1400 void set_graphics_api_node_ptr(
void* node_ptr);
1411 void* get_graphics_api_node_ptr();
1433 int set_user_data(
void* user_data);
1444 void* get_user_data();
1503 int set_desired_action(
const char* action_name,
1505 int retain_path_shape = 0);
1516 const char* get_desired_action();
1523 const char* get_current_action();
1581 int force_action(
const char* action_name,
1583 int include_transition_arc = 1,
1584 float max_rampdown_interval = 0.5f,
1585 int retain_path_shape = 0,
1586 float t_offset_into_new_action = 0.0f);
1617 int force_action_with_duration(
const char* action_name,
1619 int include_transition_arc = 1,
1620 float max_rampdown_interval = 0.5f);
1652 int force_action_and_path_shape(
const char* action_name,
1653 const char* path_shape_name,
1654 const char* waypoint_name = NULL,
1655 float distance_into_path = 0.0f);
1669 const char* get_most_recent_forced_action();
1682 float get_most_recent_forced_action_t();
1696 float get_most_recent_forced_action_t_offset();
1722 int add_pending_desired_action(
const char* action,
1724 int remove_existing_pending_actions = 0,
1726 int retain_path_shape = 1);
1742 int add_pending_force_action(
const char* action,
1744 int remove_existing_pending_actions = 0,
1746 int include_transition_arc = 1,
1747 float max_rampdown_interval = 0.5f,
1748 int retain_path_shape = 1,
1749 float first_arc_time_shift = 0.0f);
1757 int is_valid_action(
const char* action);
1795 int die_now(
const char* preferred_dead_action_name =
"(default)");
1814 int revive_now(
const char* preferred_revive_action_name =
"(default)");
1855 int set_speed(
float speed);
1914 int set_position(
float tx,
float ty,
float tz);
1936 int set_position_double(
double tx,
double ty,
double tz);
1956 int get_position(
float* tx,
float* ty,
float* tz);
1980 int get_position_double(
double* tx,
double* ty,
double* tz);
2008 int set_position_relative_to_parent(
float tx,
float ty,
float tz);
2029 int get_position_relative_to_parent(
float* tx,
float* ty,
float* tz);
2063 int set_position_to_other_character_position(
const char* other_character_name,
2064 const char* other_link_name = NULL,
2065 float offset_x = 0.0f,
float offset_y = 0.0f,
float offset_z = 0.0f,
2066 int also_set_orientation = 1);
2089 int set_desired_position(
float tx,
float ty,
float tz,
2090 int force_guide_unacquired = 0);
2112 int set_desired_position_to_current_position(
int also_set_orientation = 1);
2142 int set_desired_position_to_waypoint(
diguyWaypoint* waypoint,
2143 float offset_x = 0.0f,
float offset_y = 0.0f,
float offset_z = 0.0f,
2144 int offset_in_world_coords = 0);
2167 int set_desired_position_to_path_waypoint(
const char* path_name,
2168 const char* waypoint_name);
2191 int set_desired_position_to_path_shape_waypoint(
const char* path_shape_name,
2192 const char* waypoint_name);
2213 int get_desired_position(
float* tx,
float* ty,
float* tz);
2234 int get_delta_to_desired_position(
float* tx,
float* ty,
float* tz);
2253 int set_initial_position(
float tx,
float ty,
float tz);
2276 int get_initial_position(
float* tx,
float* ty,
float* tz);
2308 int set_orientation(
float rz,
float rx,
float ry);
2334 int get_orientation(
float* rz,
float* rx,
float* ry);
2362 int set_orientation_relative_to_parent(
float rz,
float rx,
float ry);
2384 int get_orientation_relative_to_parent(
float* rz,
float* rx,
float* ry);
2434 int set_initial_up_vector(
char axis);
2441 char get_initial_up_vector();
2468 int set_up_vector(
char axis);
2475 char get_up_vector();
2505 int set_custom_orientation_rx_and_ry(
float rx,
2528 int set_desired_orientation(
float rz,
float rx,
float ry,
2529 int force_guide_unacquired = 0);
2551 int get_desired_orientation(
float* rz,
float* rx,
float* ry);
2574 int get_delta_to_desired_orientation(
float* rz,
float* rx,
float* ry);
2591 int set_desired_orientation_to_current_orientation();
2608 int set_desired_orientation_towards_position(
float x,
float y,
float z,
2609 int force_guide_unacquired = 0);
2629 int set_initial_orientation(
float rz,
float rx,
float ry);
2654 int get_initial_orientation(
float* rz,
float* rx,
float* ry);
2676 int get_link_position(
const char* link_name,
2677 float* tx,
float* ty,
float* tz,
2678 float* rz,
float* rx,
float* ry);
2700 int get_link_position_double(
const char* link_name,
2701 double* tx,
double* ty,
double* tz,
2702 double* rz,
double* rx,
double* ry);
2724 int get_link_position_with_offset(
const char* link_name,
2725 float offset_tx,
float offset_ty,
float offset_tz,
2726 float* tx,
float* ty,
float* tz,
2727 float* rz,
float* rx,
float* ry);
2749 int get_link_position_with_offset_double(
const char* link_name,
2750 double offset_tx,
double offset_ty,
double offset_tz,
2751 double* tx,
double* ty,
double* tz,
2752 double* rz,
double* rx,
double* ry);
2776 int get_link_relative_position(
const char* beginning_link_name,
2777 const char* ending_link_name,
2778 float* tx,
float* ty,
float* tz,
2779 float* rz,
float* rx,
float* ry);
2804 int get_link_relative_position_with_offset(
const char* beginning_link_name,
2805 const char* ending_link_name,
2806 float offset_tx,
float offset_ty,
float offset_tz,
2807 float* tx,
float* ty,
float* tz,
2808 float* rz,
float* rx,
float* ry);
2836 void set_apply_actor_scale_to_action_bead_travel(
int apply_scale_flag);
2843 int get_apply_actor_scale_to_action_bead_travel();
2856 int local_to_global(
float x,
float y,
float z,
2857 float* res_x,
float* res_y,
float* res_z);
2870 int global_to_local(
float x,
float y,
float z,
2871 float* res_x,
float* res_y,
float* res_z);
2888 void get_velocity(
float* vel_x,
float* vel_y,
float* vel_z);
2899 void set_desired_velocity(
float vel_x,
float vel_y,
float vel_z);
2917 void get_angular_velocity(
float* vel_rz);
2943 const char* get_appearance();
2964 int set_appearance(
const char* appearance);
3000 int set_current_appearance(
const char* appearance,
3001 int allow_actor_change = 1);
3008 const char* get_current_appearance();
3027 int get_current_appearance_is(
const char* appearance);
3048 int set_current_head_appearance(
const char* head_appearance);
3055 const char* get_current_head_appearance();
3072 int get_current_head_appearance_is(
const char* head_appearance);
3125 int set_lod_ranges(
float* lod_ranges);
3146 int set_graphics_lod(
int lod);
3153 int get_graphics_lod();
3172 int set_shader_lod(
int lod);
3179 int get_shader_lod();
3216 int set_motion_lod(
int motion_lod);
3223 int get_motion_lod();
3230 int get_current_motion_lod();
3293 int set_minimum_cpl(
int minimum_cpl);
3300 int get_minimum_cpl();
3317 int get_maximum_possible_current_cpl();
3339 int maximize_current_cpl();
3360 int set_automatic_cpl_switching_enabled(
int enabled);
3367 int get_automatic_cpl_switching_enabled();
3392 int set_current_cpl(
int current_cpl);
3399 int get_current_cpl();
3436 int set_position_update_rate(
int update_rate);
3444 int get_position_update_rate();
3479 int set_pose_update_rate(
int update_rate);
3487 int get_pose_update_rate();
3513 int set_minimum_full_update_period(
float min_period);
3521 float get_minimum_full_update_period();
3548 int set_position_accumulation_disabled(
int disabled_flag);
3555 int get_position_accumulation_disabled();
3578 int set_all_blends_disabled(
int disabled_flag);
3585 int get_all_blends_disabled();
3614 int set_shape_switches_disabled(
int disabled_flag);
3621 int get_shape_switches_disabled();
3651 int set_shape_callbacks_disabled(
int disabled_flag);
3658 int get_shape_callbacks_disabled();
3679 int set_graphics_api_shape_update_disabled(
int disabled_flag);
3686 int get_graphics_api_shape_update_disabled();
3726 int optimized_update(
float t);
3751 int set_is_load_managed(
int is_load_managed);
3758 int get_is_load_managed();
4197 CALLBACK_ID_CREATE = 1,
4198 CALLBACK_ID_DESTROY,
4199 CALLBACK_ID_PRE_CREATE,
4200 CALLBACK_ID_CURRENT_APPEARANCE_CHANGED,
4201 CALLBACK_ID_CURRENT_HEAD_APPEARANCE_CHANGED,
4202 CALLBACK_ID_PRE_UPDATE,
4203 CALLBACK_ID_POST_UPDATE,
4204 CALLBACK_ID_DONE_SPEAKING,
4205 CALLBACK_ID_GAZE_STATUS,
4206 CALLBACK_ID_LPOINT_STATUS,
4209 CALLBACK_ID_PRE_DIE,
4210 CALLBACK_ID_POST_DIE,
4211 CALLBACK_ID_PRE_FIRE_WEAPON,
4212 CALLBACK_ID_POST_FIRE_WEAPON,
4214 CALLBACK_ID_FIRE_WEAPON_SUCCESS,
4215 CALLBACK_ID_CURRENT_ACTION_CHANGED,
4216 CALLBACK_ID_DESIRED_ACTION_CHANGED,
4217 CALLBACK_ID_DESIRED_ACTION_REACHED,
4218 CALLBACK_ID_MANUALLY_INVOKED,
4219 CALLBACK_ID_USER_SELECTED,
4220 CALLBACK_ID_USER_UNSELECTED,
4221 CALLBACK_ID_IGUY_INTERACT,
4222 CALLBACK_ID_IGUY_INTERACT_WITH_SUBJECT,
4223 CALLBACK_ID_GUIDE_POSITION_ACQUIRED,
4224 CALLBACK_ID_GUIDE_POSITION_UNACQUIRED,
4225 CALLBACK_ID_GUIDE_ORIENTATION_ACQUIRED,
4226 CALLBACK_ID_GUIDE_ORIENTATION_UNACQUIRED,
4227 CALLBACK_ID_GUIDE_ALTITUDE_ACQUIRED,
4228 CALLBACK_ID_GUIDE_ALTITUDE_UNACQUIRED,
4229 CALLBACK_ID_CURRENT_TOUT_REACHED,
4230 CALLBACK_ID_POST_CREATE_GEOMETRY,
4231 CALLBACK_ID_PRE_DESTROY_GEOMETRY,
4232 CALLBACK_ID_END_OF_PATH_REACHED,
4235 CALLBACK_ID_UI_PRE_TRANSLATION,
4236 CALLBACK_ID_UI_POST_TRANSLATION,
4237 CALLBACK_ID_UI_MOUSE_DOWN,
4238 CALLBACK_ID_UI_MOUSE_UP,
4239 CALLBACK_ID_UI_RIGHT_MOUSE_DOWN,
4240 CALLBACK_ID_UI_RIGHT_MOUSE_UP,
4243 CALLBACK_ID_AGENT_NEW_BEHAVIOR,
4244 CALLBACK_ID_AGENT_NEW_PATH_SHAPE,
4245 CALLBACK_ID_AGENT_NEW_FOCUS_CHARACTER,
4246 CALLBACK_ID_AGENT_ATTACK_OUT_OF_TARGETS,
4247 CALLBACK_ID_AGENT_ATTACK_NO_VISIBLE_TARGETS,
4248 CALLBACK_ID_AGENT_PURSUE_TARGET_REACHED,
4249 CALLBACK_ID_AGENT_PURSUE_TARGET_LOST,
4250 CALLBACK_ID_AGENT_MINGLE_TARGET_REACHED,
4251 CALLBACK_ID_AGENT_MINGLE_TARGET_LOST,
4252 CALLBACK_ID_AGENT_WANDER_TARGET_REACHED,
4253 CALLBACK_ID_AGENT_WANDER_TARGET_LOST,
4254 CALLBACK_ID_AGENT_FLEE_AREA_LEFT,
4255 CALLBACK_ID_AGENT_FLEE_AREA_ENTERED,
4256 CALLBACK_ID_AGENT_TRAVEL_WAYPOINT_REACHED,
4257 CALLBACK_ID_AGENT_TRAVEL_FORWARD_DEST_REACHED,
4258 CALLBACK_ID_AGENT_TRAVEL_BACKWARD_DEST_REACHED,
4259 CALLBACK_ID_AGENT_CROWD_MEMBER_KILLED,
4260 CALLBACK_ID_AGENT_CROWD_MEMBER_IMPACT,
4261 CALLBACK_ID_AGENT_NEARBY_SCENE_OBJECT_IMPACT,
4262 CALLBACK_ID_AGENT_NEARBY_WEAPON_FIRED,
4263 CALLBACK_ID_AGENT_VEHICLE_COLLISION,
4264 CALLBACK_ID_AGENT_VEHICLE_NEAR_COLLISION,
4265 CALLBACK_ID_AGENT_PATH_PLAN_COMPLETED,
4266 CALLBACK_ID_AGENT_MIND_CURRENT_STATE_CHANGED,
4267 CALLBACK_ID_AGENT_NON_ZERO_REPULSION,
4268 CALLBACK_ID_AGENT_ZERO_REPULSION
4271 #ifdef CPLUSPLUS_ONLY
4298 int add_callback(
int callback_id,
4300 void* callback_params = 0,
4301 void* callback_user_data = 0);
4323 int remove_callback(
int callback_id,
4347 int remove_callback_with_user_data(
int callback_id,
4348 void* callback_user_data);
4395 int add_callback_script(
int callback_id,
4396 const char* callback_script,
4397 const char* callback_script_type = NULL);
4438 int remove_callback_script(
int callback_id,
4439 const char* callback_script,
4440 const char* callback_script_type = NULL);
4481 int map_event_handler_to_callback_id(
int callback_id,
4482 const char* handler_name);
4501 int unmap_event_handler_from_callback_id(
int callback_id,
4502 const char* handler_name,
4503 int unmap_all_matches = 0);
4634 const char* transition_from_action_name,
4635 const char* fill_action_name,
4636 const char* transition_to_action_name);
4665 const char* transition_from_action_name,
4666 const char* fill_action_name,
4667 const char* transition_to_action_name);
4709 int create_and_force_bridge_path(
const char* destination_path_name,
4710 const char* destination_path_action_bead_name,
4711 const char* via_action_name);
4761 int create_and_force_bridge_path_to_point(
float x,
float y,
float z,
4763 const char* via_action_name,
4764 const char* next_local_path = NULL,
4765 float orientation = 0.0f);
4792 int get_num_paths();
4812 const char* get_path_name_at_index(
int index);
4831 int get_current_path_index();
4868 int get_current_traveled_path_is(
const char* path_name);
4893 int push_path(
const char* path_name);
4922 int force_path(
const char* path_name,
4923 float max_rampdown_interval = 0.5f);
4940 int force_partial_path(
const char* path_name,
4941 const char* beginning_action_bead_name,
4942 float max_rampdown_interval = 0.5f);
4982 int resume_interrupted_path(
float max_rampdown_interval = 0.5f);
5007 int use_character_orientation,
5008 float rotation = 0.0f,
5009 int clamp_path = 1);
5025 int set_initial_path(
const char* name);
5039 const char* get_initial_path();
5051 void translate_all_paths(
float tx,
float ty,
float tz,
5052 int reclamp_waypoints = 1);
5070 int rotate_all_paths_about_point(
float rz,
float rx,
float ry,
5071 float rotation_pt_x,
float rotation_pt_y,
float rotation_pt_z,
5072 int reclamp_waypoints = 1);
5089 int rotate_all_paths_about_current_waypoint(
float rz,
float rx,
float ry,
5090 int reclamp_waypoints = 1);
5112 int jump_to_action_bead(
const char* bead_name,
5113 float max_rampdown_interval = 0.5f);
5150 float how_far = 0.0f);
5171 float how_far = 0.0f);
5192 float how_far = 0.0f);
5213 float how_far = 0.0f);
5237 int set_distance_along_path(
float distance);
5249 float get_distance_along_path();
5283 int get_nearest_waypoint_index_in_path(
const char* path_name);
5290 float get_distance_to_path(
const char* path_name,
5291 const char* action_bead_name = NULL);
5326 int get_num_links();
5364 const char* get_link_name_at_index(
int link_index);
5375 int get_num_link_shapes(
const char* link_name);
5387 const char* get_link_shape_name_at_index(
const char* link_name,
5413 #ifdef CPLUSPLUS_ONLY
5483 int set_altitude_function_enabled_in_free_position_mode(
int enabled);
5492 int get_altitude_function_enabled_in_free_position_mode();
5518 int set_altitude_function_enabled_in_path_position_mode(
int value);
5527 int get_altitude_function_enabled_in_path_position_mode();
5553 int set_altitude_update_rate(
int update_rate);
5561 int get_altitude_update_rate();
5585 void set_altitude_interpolation_rate(
float interpolation_rate);
5593 float get_altitude_interpolation_rate();
5717 int get_pose_array_size();
5719 #ifdef CPLUSPLUS_ONLY
5752 int get_pose_in_radians(
float* pose_array);
5800 int get_num_pose_overrides();
5843 void destroy_complete_pose_override();
5886 int gaze_at_angle(
float azimuth,
5889 int is_new_gaze = 1);
5904 int gaze_at_angle_local(
float azimuth,
5906 float distance = 10000.0f,
5907 int is_new_gaze = 1);
5932 int gaze_at_point(
float tx,
5935 int is_new_gaze = 1);
5947 int gaze_at_point_local(
float tx,
5950 int is_new_gaze = 1);
5990 int gaze_at_character(
const char* target_character_name,
5991 const char* target_character_link_name = NULL,
5992 float offset_tx = 0.0f,
5993 float offset_ty = 0.0f,
5994 float offset_tz = 0.0f);
6001 int get_gaze_is_active();
6009 int get_gaze_point(
float* x,
float* y,
float* z);
6036 int get_gaze_is_acquired();
6063 int get_gaze_is_steady();
6100 int lpoint_at_angle(
float azimuth,
6103 int is_new_lpoint = 1,
6104 const char* base_gesture_name = 0);
6116 int lpoint_at_angle_local(
float azimuth,
6118 float distance = 10000.0f,
6119 int is_new_lpoint = 1,
6120 const char* base_gesture_name = 0);
6153 int lpoint_at_point(
float tx,
6156 int is_new_lpoint = 1,
6157 const char* base_gesture_name = 0);
6169 int lpoint_at_point_local(
float tx,
6172 int is_new_lpoint = 1,
6173 const char* base_gesture_name = 0);
6184 int lpoint_at_character(
const char* target_character_name,
6185 const char* target_character_link_name = NULL,
6186 float offset_tx = 0.0f,
6187 float offset_ty = 0.0f,
6188 float offset_tz = 0.0f);
6196 int get_lpoint_point(
float* x,
float* y,
float* z);
6203 const char* get_lpoint_base_gesture_name();
6210 int get_lpoint_is_active();
6220 int get_lpoint_is_acquired();
6230 int get_lpoint_is_steady();
6262 int set_gaze_params_to_defaults();
6293 int set_gaze_param_desired_locate_time(
float t);
6300 float get_gaze_param_desired_locate_time();
6334 int set_gaze_link_uses_desired_locate_time(
const char* link_name,
6335 int uses_desired_locate_time);
6342 int get_gaze_link_uses_desired_locate_time(
const char* link_name);
6369 int set_gaze_link_azimuth_limits(
const char* link_name,
float min,
float max);
6376 int get_gaze_link_azimuth_limits(
const char* link_name,
6405 int set_gaze_link_elevation_limits(
const char* link_name,
6414 int get_gaze_link_elevation_limits(
const char* link_name,
6453 int set_gaze_link_azimuth_tolerance(
const char* link_name,
6462 int get_gaze_link_azimuth_tolerance(
const char* link_name,
6490 int set_gaze_link_elevation_tolerance(
const char* link_name,
6499 int get_gaze_link_elevation_tolerance(
const char* link_name,
6526 int set_gaze_link_max_angular_vel(
const char* link_name,
float angular_vel);
6533 int get_gaze_link_max_angular_vel(
const char* link_name,
float* angular_vel);
6570 int set_gaze_link_scale_factor(
const char* link_name,
float scale_factor);
6577 int get_gaze_link_scale_factor(
const char* link_name,
float* scale_factor);
6603 int set_link_enabled_for_gaze(
const char* link_name,
int enabled);
6610 int get_link_enabled_for_gaze(
const char* link_name);
6628 int set_gaze_can_change_posture(
int enabled);
6635 int get_gaze_can_change_posture();
6653 int set_gaze_can_change_variant(
int enabled);
6660 int get_gaze_can_change_variant();
6686 int set_link_enabled_for_lpoint(
const char* link_name,
int enabled);
6693 int get_link_enabled_for_lpoint(
const char* link_name);
6719 int set_nod(
float azimuth,
6721 float duration = 0.5f);
6771 int nod_head(
float duration,
6773 float nod_elevation0 = 15.0f,
6774 float nod_elevation1 = 0.0f,
6775 float nod_elevation_out = 0.0f);
6807 int shake_head(
float duration,
6809 float shake_azimuth0 = -20.0f,
6810 float shake_azimuth1 = 20.0f,
6811 float shake_azimuth_out = 0.0f);
6819 float get_nod_azimuth();
6827 float get_nod_elevation();
6876 int set_aim(
float azimuth,
float elevation);
6915 int aim_at_angle(
float azimuth,
6918 int is_new_aim = 1);
6934 int aim_at_angle_local(
float azimuth,
6937 int is_new_aim = 1);
6963 int aim_at_point(
float x,
float y,
float z,
int is_new_aim = 1);
6976 int aim_at_point_local(
float x,
float y,
float z,
int is_new_aim = 1);
7017 int aim_at_character(
const char* target_character_name,
7018 const char* target_character_link_name = NULL,
7019 float offset_tx = 0.0f,
7020 float offset_ty = 0.0f,
7021 float offset_tz = 0.0f);
7052 int aim_converge(
int max_iterations = 30);
7059 float get_aim_azimuth();
7076 int get_aim_trajectory(
float* muzzle_x,
float* muzzle_y,
float* muzzle_z,
7077 float* far_x,
float* far_y,
float* far_z);
7084 float get_aim_elevation();
7097 int get_aim_is_possible();
7104 int get_aim_is_acquired();
7112 int get_aim_is_steady();
7120 void set_aim_algorithm(
int aim_algorithm);
7127 int get_aim_algorithm();
7134 int get_is_aiming();
7185 void set_aim_param_acquire_factor(
float factor);
7192 float get_aim_param_acquire_factor();
7209 void set_aim_param_new_aim_factor(
float factor);
7216 float get_aim_param_new_aim_factor();
7242 void set_aim_param_new_aim_duration(
float duration);
7249 float get_aim_param_new_aim_duration();
7264 void set_aim_param_max_per_frame_adj_factor(
float factor);
7271 float get_aim_param_max_per_frame_adj_factor();
7291 void set_aim_param_azimuth_acquired_range(
float range);
7299 float get_aim_param_azimuth_acquired_range();
7319 void set_aim_param_elevation_acquired_range(
float range);
7327 float get_aim_param_elevation_acquired_range();
7349 void set_aim_converge_every_frame(
int max_iterations = 30);
7358 int get_aim_converge_every_frame();
7440 int fire_weapon_n_times(
int count,
7442 const char* override_sound_name = NULL,
7460 int fire_screen_space_bullet(
diguyView* view,
float x,
float y);
7492 int set_default_weapon_muzzle(
diguyMuzzle muzzle);
7559 const char* get_weapon_muzzle_munition_type(
diguyMuzzle muzzle);
7567 const char* get_default_muzzle_munition_type();
7583 int set_weapon_munition_type_override(
const char* munition_type);
7591 const char* get_weapon_munition_type_override();
7618 int set_weapon_fires_live_rounds(
int weapon_fires_live_rounds);
7632 int get_weapon_fires_live_rounds();
7659 int set_weapon_sound_override(
const char* sound_name);
7674 const char* get_weapon_sound_override();
7699 int set_weapon_sound_gain_override(
float gain);
7707 float get_weapon_sound_gain_override();
7731 void set_weapon_spread(
float spread);
7753 void set_weapon_near_range(
float near_range);
7768 void set_weapon_far_range(
float far_range);
7780 void set_weapon_hit_ratio(
float hit_ratio);
7791 void set_weapon_max_impacts(
int val);
7798 int get_accessory1_state();
7805 int get_rifle_state();
7824 int set_weapon_projectile_is_visible(
diguyMuzzle muzzle,
int is_visible);
7840 int get_weapon_projectile_is_visible(
diguyMuzzle muzzle);
7874 int get_weapon_aim_vector(
float* muzzle_tx,
float* muzzle_ty,
float* muzzle_tz,
7875 float* end_pt_tx = NULL,
float* end_pt_ty = NULL,
float* end_pt_tz = NULL,
7876 float* muzzle_rz = NULL,
float* muzzle_rx = NULL,
float* muzzle_ry = NULL,
7877 int in_character_local_coordinates = 0,
7917 float* offset_x = NULL,
7918 float* offset_y = NULL,
7919 float* offset_z = NULL);
7936 int set_weapon_max_azimuth_error(
float h_error);
7943 float get_weapon_max_azimuth_error();
7950 int set_weapon_max_elevation_error(
float v_error);
7957 float get_weapon_max_elevation_error();
7973 int set_weapon_tracers_enabled(
int enabled);
7980 int get_weapon_tracers_enabled();
7987 int get_weapon_rounds_until_tracer(
diguyMuzzle muzzle);
8003 int set_weapon_shell_eject_enabled(
int enabled);
8010 int get_weapon_shell_eject_enabled();
8026 int set_weapon_smoke_enabled(
int enabled);
8033 int get_weapon_smoke_enabled();
8053 int trigger_detonation_on_character(
const char* munition_name,
8054 const char* attacker_name = NULL,
8055 float radius_override = -1.0f,
8056 int broadcast_on_network = 1);
8117 int set_face_expression(
const char* facex_name,
float blend_duration,
float strength = 1.0f);
8140 int set_orientation_eyes(
float azimuth,
8142 float blend_time = 0.0f);
8152 int get_orientation_eyes(
float* azimuth,
float* elevation);
8174 int set_eye_droop(
float droop_amount,
float blend_time = 0.0f);
8181 float get_eye_droop();
8212 int blink(
float duration_in = 0.1f,
8213 float duration_out = 0.2f,
8214 float target_in = 1.0f,
8215 float target_out = 0.0f,
8256 int set_automatic_blinks_enabled(
int enabled,
8257 float period = 6.0f,
8258 float period_variation = 3.0f);
8266 int get_automatic_blinks_enabled();
8286 void set_automatic_blink_duration_in(
float duration_in);
8293 float get_automatic_blink_duration_in();
8313 void set_automatic_blink_duration_out(
float duration_out);
8320 float get_automatic_blink_duration_out();
8340 void set_automatic_blink_target_in(
float target_in);
8347 float get_automatic_blink_target_in();
8367 void set_automatic_blink_target_out(
float target_out);
8374 float get_automatic_blink_target_out();
8392 int set_current_facefx_animation_group(
const char* anim_group);
8399 const char* get_current_facefx_animation_group();
8407 const char* get_facefx_actor();
8415 int facefx_mount_animset(
const char* file_name);
8425 int play_facefx_animation(
const char* animation,
8426 float magnitude_scale = 1.0f,
8427 float duration_scale = 1.0f,
8428 float blendin_time = 0.1f,
8429 float blendout_time = 0.1f,
8437 int stop_facefx_animations(
float blend_time = 0.25f,
int stop_sounds = 1);
8448 int get_num_facefx_nodes();
8456 const char* get_facefx_node_name(
int index);
8463 int find_facefx_node_index(
const char* node_name);
8472 int set_facefx_node_value(
int node_index,
8474 float blend_time = 0.25f);
8481 float get_facefx_node_value(
int node_index);
8619 int execute_gesture(
const char* gesture_name,
8666 int execute_1stage_gesture(
const char* gesture_name,
8709 int execute_2stage_gesture(
const char* gesture_name,
8760 int execute_3stage_gesture(
const char* gesture_name,
8809 int execute_table_gesture(
const char* gesture_name,
8811 const char* loop_action = NULL,
8812 const char* begin_action = NULL,
8813 const char* end_action = NULL);
8820 int set_executing_table_gesture_desired_action(
const char* gesture_name,
8821 const char* desired_action);
8845 int end_executing_gesture(
const char* gesture_name);
8877 int abort_executing_gesture(
const char* gesture_name,
8878 float max_rampdown_interval);
8898 int end_all_gestures();
8928 int abort_all_gestures(
float max_rampdown_interval);
9000 int play_sound(
const char* sound_name,
9001 float sound_gain = 1.0f,
9002 int sound_loops = 0);
9045 int play_3d_sound(
const char* sound_name,
9046 float sound_gain = 1.0f,
9047 int sound_loops = 0);
9127 int stop_all_sounds(
float rampdown_time = 0.0f);
9158 int stop_sound(
const char* sound_name,
float rampdown_time = 0.0f);
9165 int is_playing_sound(
const char* sound_name);
9236 int set_current_voice_actor(
const char* voice_actor);
9243 const char* get_current_voice_actor();
9315 int get_DIS_lifeform_state();
9336 int get_DIS_primary_weapon_position();
9357 int get_DIS_secondary_weapon_position();
9378 int set_network_marking(
const char* network_marking);
9400 const char* get_network_marking();
9424 int set_is_network_published(
int is_network_published);
9450 int get_is_network_published();
9475 int get_is_network_reflected();
9504 int get_is_network_paused();
9525 int get_network_entity_number();
9589 const char* get_action_from_entity_state(
int damage_state,
9590 int life_form_state,
9591 int primary_weapon_state,
9618 void set_DIS_damage_state(
int state);
9631 int get_DIS_damage_state();
9656 void set_DIS_smoke_state(
int state);
9667 int get_DIS_smoke_state();
9689 void set_DIS_flames_state(
int state);
9700 int get_DIS_flames_state();
9722 void set_DIS_power_plant_state(
int state);
9733 int get_DIS_power_plant_state();
9755 void set_DIS_trailing_effect_state(
int state);
9767 int get_DIS_trailing_effect_state();
9813 int call_formation(
const char* formation_name,
9814 int snap_to_position_flag = 0,
9815 int break_existing_formations_flag = 1);
9838 int break_formation(
const char* formation_name = NULL);
10146 int automatically_disable_when_acquired = 0);
10174 const char* guide_algorithm,
10175 int automatically_disable_when_acquired = 0);
10196 const char* guide_algorithm,
10197 int automatically_disable_when_acquired = 0);
10231 int remove_guide_with_name(
const char* guide_name);
10258 int remove_all_guides();
10269 int remove_all_disabled_guides();
10319 int add_motion_texture(
const char* motex_name =
"default",
10320 float texture_gain = 1.0f,
10321 int end_previous_motex = 1,
10322 float rampup_interval = 0.2f);
10339 int end_motion_texture(
float rampdown_interval = 0.2f);
10364 int set_initial_motion_texture(
const char* motex_name);
10376 const char* get_initial_motion_texture();
10394 int set_initial_motion_texture_gain(
float motex_gain);
10406 float get_initial_motion_texture_gain();
10496 int set_history_size_t(
float t);
10508 float get_history_size_t();
10524 int set_history_size_increment_t(
float t);
10536 float get_history_size_increment_t();
10773 int match_posture_before_variant = 1,
10778 int return_random_match = 0);
10847 int match_posture_before_variant = 1,
10869 int get_num_variables();
10946 int variable_equal_to_int(
const char* varname,
int value);
10965 int variable_greater_than_int(
const char* varname,
int value);
10984 int variable_less_than_int(
const char* varname,
int value);
11003 int variable_equal_to_float(
const char* varname,
float value);
11022 int variable_greater_than_float(
const char* varname,
float value);
11041 int variable_less_than_float(
const char* varname,
float value);
11060 int variable_equal_to_string(
const char* varname,
const char* value);
11079 int variable_greater_than_string(
const char* varname,
const char* value);
11098 int variable_less_than_string(
const char* varname,
const char* value);
11120 int variable_decrement_value_as_int(
const char* varname,
int value = 1);
11142 int variable_increment_value_as_int(
const char* varname,
int value = 1);
11168 int variable_set_value_as_int(
const char* varname,
11170 int create_if_doesnt_exist = 1);
11177 int set_ivar(
const char* varname,
11179 int create_if_doesnt_exist = 1);
11201 int get_ivar(
const char* varname,
11202 int create_if_doesnt_exist = 1);
11210 int variable_set_value_as_float(
const char* varname,
11212 int create_if_doesnt_exist = 1);
11219 int set_fvar(
const char* varname,
11221 int create_if_doesnt_exist = 1);
11232 float get_fvar(
const char* varname,
11233 int create_if_doesnt_exist = 1);
11241 int variable_set_value_as_string(
const char* varname,
11243 int create_if_doesnt_exist = 1);
11250 int set_svar(
const char* varname,
11252 int create_if_doesnt_exist = 1);
11263 const char* get_svar(
const char* varname,
11264 int create_if_doesnt_exist = 1);
11312 int set_label_text(
const char* label_text);
11324 const char* get_label_text();
11344 int set_label_is_visible(
int is_visible);
11356 int get_label_is_visible();
11379 int set_label_text_color(
float r,
float g,
float b,
float a);
11386 int set_label_text_color_vec4(
diguyVec4f color);
11398 int get_label_text_color(
float* r,
float* g,
float* b,
float* a);
11428 int set_label_text_shadow_color(
float r,
float g,
float b,
float a);
11435 int set_label_text_shadow_color_vec4(
diguyVec4f color);
11447 int get_label_text_shadow_color(
float* r,
float* g,
float* b,
float* a);
11454 diguyVec4f get_label_text_shadow_color_vec4();
11469 int set_label_text_shadow_is_visible(
int is_visible);
11476 int get_label_text_shadow_is_visible();
11500 int set_label_background_color(
float r,
float g,
float b,
float a);
11507 int set_label_background_color_vec4(
diguyVec4f color);
11519 int get_label_background_color(
float* r,
float* g,
float* b,
float* a);
11526 diguyVec4f get_label_background_color_vec4();
11538 void set_label_link_offset_override(
float offset);
11545 float get_label_link_offset_override();
11562 int set_label_shows_character_state(
int show_state);
11570 int get_label_shows_character_state();
11599 int get_last_impact_number();
11606 int get_last_impact_been_processed();
11613 void set_last_impact_been_processed();
11627 void set_max_unprocessed_impacts(
int max_unprocessed_impacts);
11634 int get_max_unprocessed_impacts();
11641 const char* get_last_impact_link();
11648 int get_last_impact_link_is(
const char* link_name);
11656 int get_last_impact_is_from_vehicle();
11664 int get_last_impact_speed_is_greater_than(
float impact_speed);
11672 void set_is_immune_to_impacts(
int immune);
11680 int get_is_immune_to_impacts();
11750 int begin_appearance_effect(
const char* effect,
11751 const char* override_link = NULL,
11788 int end_appearance_effect(
const char* effect,
11789 const char* override_link = NULL);
11821 int stop_appearance_effect(
const char* effect,
11822 const char* override_link = NULL);
11829 int stop_all_appearance_effects();
11846 int appearance_effect_is_active(
const char* effect,
11847 const char* override_link = NULL);
11930 int get_vehicle_body_orientation(
float* rz,
float* rx,
float* ry);
11983 int set_render_mode_shader(
const char* shader_name,
11984 const char* render_mode = NULL);
12005 void reset_render_mode_shader_to_default(
const char* render_mode = NULL);
12023 const char* get_render_mode_shader(
const char* render_mode = NULL);
12060 int set_temporary_current_shader(
const char* shader_name);
12072 void reset_current_shader_to_default();
12081 void trigger_shader_refresh();
12107 void reset_shader_instance_variables_to_initial_values();
12115 void reset_shader_instance_variables_to_program_defaults();
12173 int agent_attack_character(
const char* character_name);
12206 int agent_attack_group(
const char* group_name);
12213 int agent_set_attack_zone_enabled(
int use_attack_zone);
12220 int agent_get_attack_zone_enabled();
12227 int agent_set_attack_zone(
float x,
float y,
float z,
float radius);
12234 int agent_get_attack_zone(
float* x,
float* y,
float* z,
float* radius);
12278 int agent_flee_character(
const char* character_name,
12280 int danger_level = 50);
12315 int agent_flee_group(
const char* group_name,
12317 int danger_level = 50);
12326 int agent_flee_crowd(
const char* crowd_name,
12328 int danger_level = 50);
12360 int agent_flee_location(
float x,
float y,
float z,
12362 int danger_level = 50);
12381 void agent_remove_all_flee_objects();
12426 int agent_mingle_in_region(
const char* region_name =
"(current)",
12427 const char* subregion_name =
"base");
12456 int agent_wander_region(
const char* region_name =
"(current)",
12457 const char* subregion_name =
"base");
12500 int agent_pursue_character(
const char* character_name);
12509 int agent_pursue_character_with_offset(
const char* character_name,
12544 int agent_pursue_group(
const char* group_name);
12556 int agent_call_formation(
const char* formation_name,
12596 int agent_travel_behavior_path(
const char* direction = NULL,
12597 const char* at_end = NULL,
12598 int waypoint_index = -1,
12599 float offset_y = 0.5f);
12607 int agent_travel_path_shape(
const char* path_shape_name,
12608 const char* direction = NULL,
12609 const char* at_end = NULL,
12610 int waypoint_index = -1,
12611 float offset_y = 0.5f);
12632 int agent_travel_region_border(
const char* region_name = NULL,
12633 const char* subregion_name =
"base");
12659 int agent_move_to_point(
float x,
float y,
float z,
12660 const char* via_region = NULL,
12661 const char* subregion_name =
"base");
12683 int agent_move_to_point_bg(
float x,
float y,
float z,
12684 const char* via_region = NULL,
12685 const char* subregion_name =
"base");
12752 int agent_move_to_point_via_subregions(
float x,
float y,
float z,
12753 const char* via_region = NULL,
12755 float cost_bias_for_preferred_regions = 0.25f,
12756 float cost_bias_for_neutral_regions = 1.1f,
12758 float cost_bias_for_repulsed_regions = 10.0f,
12759 int cost_rule = 0);
12779 int agent_move_to_point_via_subregions_bg(
float x,
float y,
float z,
12780 const char* via_region = NULL,
12782 float cost_bias_for_preferred_regions = 0.25f,
12783 float cost_bias_for_neutral_regions = 1.1f,
12785 float cost_bias_for_repulsed_regions = 10.0f,
12786 int cost_rule = 0);
12795 int get_path_planning_result();
12803 int get_is_path_planning();
12829 int agent_move_to_region(
const char* region,
12830 const char* subregion_name =
"base",
12831 const char* via_region = NULL);
12855 int agent_move_to_region_via_subregions(
const char* region_name,
12856 const char* subregion_name =
"base",
12857 const char* via_region = NULL,
12858 float cost_bias_for_preferred_regions = 0.25f,
12860 float cost_bias_for_neutral_regions = 1.1f,
12862 float cost_bias_for_repulsed_regions = 10.0f);
12902 int agent_path_follow(
const char* path_name);
12921 int agent_resume_path_follow();
12955 float agent_get_path_follow_path_t();
12962 int agent_get_path_follow_path_t_paused();
12989 int agent_begin_behavior(
const char* behavior_name);
12996 int agent_stop_behavior();
13028 int agent_set_current_focus_character(
const char* character_name);
13072 int agent_set_current_focus_group(
const char* group_name);
13126 const char* agent_get_current_params_profile_name();
13164 int agent_set_current_params_from_profile(
const char* profile_name,
13165 int retain_focus_objects = 1,
13166 int retain_navigation_values = 1,
13167 int retain_behavior = 0);
13175 int agent_set_initial_params_from_profile(
const char* profile_name);
13183 void agent_set_current_params_from_initial_params();
13208 void agent_set_current_behavior_region_border_is_solid(
int is_solid);
13223 void agent_move_on();
13236 int agent_set_auto_variant_selection(
int selection_enabled);
13243 int agent_get_auto_variant_selection();
13246 #ifdef CPLUSPLUS_ONLY
13361 int create_lua_mind(
const char* base_class,
const char* init_arg1 = NULL,
13362 const char* init_arg2 = NULL);
13370 const char *get_mind_name();
13385 const char* get_mind_current_state_name();
13397 void do_mind_current_state_changed_callback();
13411 int set_sleep_timer(
float sleep_length);
13419 float get_sleep_timer();
13432 int set_heartbeat_dt(
float heartbeat_dt);
13451 int add_secondary_heartbeat(
const char* function_name,
13452 float heartbeat_dt);
13469 int remove_secondary_heartbeat(
const char* function_name);
13487 int set_secondary_heartbeat_dt(
const char* function_name,
float heartbeat_dt);
13523 int add_wakeup_callback(
int callback);
13540 int remove_wakeup_callback(
int callback);
13552 int remove_all_wakeup_callbacks();
13564 int has_wakeup_callback(
int callback);
13583 int agent_accept_message(
const char* sender,
13584 const char* message_type,
13585 const char* message,
13586 const char* message_params = NULL);
13609 int agent_broadcast_message(
float radius,
13610 const char* message_type,
13611 const char* message,
13612 const char* message_params = NULL);
13637 int agent_broadcast_message_to_group(
const char* group_name,
13639 const char* message_type,
13640 const char* message,
13641 const char* message_params = NULL);
13650 const char* get_lua_object_name();
13657 void set_mind_field_as_string(
const char* field_name,
13658 const char* field_value);
13675 const char* get_mind_field_as_string(
const char* field_name,
13676 int warn_if_no_field = 1);
13684 void set_mind_field_as_float(
const char* field_name,
float field_value);
13696 float get_mind_field_as_float(
const char* field_name,
13697 int warn_if_no_field = 1,
13698 int* found_field = NULL);
13706 void set_mind_field_as_int(
const char* field_name,
int field_value);
13718 int get_mind_field_as_int(
const char* field_name,
13719 int warn_if_no_field = 1,
13720 int* found_field = NULL);
13747 const char* evaluate_mind_function(
const char* function_name,
13748 const char* argument = NULL,
13749 int has_return_string = 0);
13772 const char* get_ai_state_string(
int include_stack = 1,
int include_locals = 1);
13817 int los_check_type = 0);
13841 int check_point_visibility(
float x,
float y,
float z);
13862 #ifdef CPLUSPLUS_ONLY
14167 void set_stop_physics_sim_at_t(
float t);
14176 void set_stop_physics_sim_in_t_seconds(
float relative_t);
14183 float get_stop_physics_sim_at_t();
14201 void apply_impulse_to_physics_sim(
const char* link,
14202 float impulse_magnitude_x,
14203 float impulse_magnitude_y,
14204 float impulse_magnitude_z,
14205 float link_offset_x = 0.0f,
14206 float link_offset_y = 0.0f,
14207 float link_offset_z = 0.0f,
14208 int set_simulation_drives_character = 1);
14234 void apply_impulse_to_physics_sim_from_world_position(
const char* link,
14235 float impulse_magnitude_x,
14236 float impulse_magnitude_y,
14237 float impulse_magnitude_z,
14238 float impulse_generator_position_x,
14239 float impulse_generator_position_y,
14240 float impulse_generator_position_z,
14241 float max_distance = 20.0f,
14242 float impulse_rolloff = 0.0f,
14243 float link_offset_x = 0.0f,
14244 float link_offset_y = 0.0f,
14245 float link_offset_z = 0.0f,
14246 int set_simulation_drives_character = 1);
14279 int get_has_bump_maps();
14297 int get_action_num_channels(
const char* action_name);
14319 int set_action_channel_weight(
const char* action_name,
14338 float get_action_channel_weight(
const char* action_name,
14354 float get_time_to_reach_desired_action();
14377 const char* get_type_map_field_using_string(
const char* field);
14401 int merge_object(
const char*
object);
14414 int is_active_character_in_group_visible(
const char* group_name,
14415 float max_distance_to_check = 100000.0f);
14432 int get_local_space_bounding_box(
float* x1,
float* y1,
float* z1,
14433 float* x2,
float* y2,
float* z2);
14452 int get_geometry_tag(
int tag,
14454 float* x1,
float* y1,
float* z1,
float* radius);
14466 void set_mind_always_updates(
int force_update);
14473 int get_mind_always_updates();
14481 float get_angle_to_path(
const char* path_name,
14482 const char* action_bead_name = NULL);
14489 const char* get_aim_at_link();
14496 int get_aim_at_link_offset(
float* offset_x,
float* offset_y,
float* offset_z);
14503 const char* get_gaze_at_link();
14510 int get_gaze_at_link_offset(
float* offset_x,
float* offset_y,
float* offset_z);
14516 void set_scene_graph_mask(
unsigned int mask);
14517 unsigned int get_scene_graph_mask();
14525 int set_use_texture_variations(
int value);
14532 int get_use_texture_variations();
14543 int set_emit_light(
int emit_light);
14550 int get_emit_light();
14564 static int set_max_shader_quality_level(
int quality_level);
14571 static int get_max_shader_quality_level();
14600 void set_apply_actor_scale_to_action_bead_xy_travel(
int apply_scale_flag);
14606 int get_apply_actor_scale_to_action_bead_xy_travel();
14615 int set_default_weapon_sound(
const char* sound_name);
14621 const char* get_default_weapon_sound();
14627 int set_default_weapon_sound_gain(
float gain);
14633 float get_default_weapon_sound_gain();
14639 int set_weapon_munition_type(
const char* munition_type);
14645 const char* get_weapon_munition_type();
14651 int set_weapon_horizontal_error(
float h_error);
14657 float get_weapon_horizontal_error();
14663 int set_weapon_vertical_error(
float v_error);
14669 float get_weapon_vertical_error();
14675 int begin_legacy_appearance_effect(
const char* effect,
14676 const char* override_link =
"",
14686 int end_legacy_appearance_effect(
const char* effect);
14692 int legacy_appearance_effect_is_active(
const char* effect);
14707 int merge_asset(
const char* asset);
14713 void set_DIS_smoke_trail_state(
int state);
14719 int get_DIS_smoke_trail_state();
14724 int speak(
const char*
string);
14729 int set_viseme(
const char* viseme_name,
float weight);
14734 float get_viseme(
const char* viseme_name);
14739 int set_orientation_eye_left(
float azimuth,
float elevation);
14744 int set_orientation_eye_right(
float azimuth,
float elevation);
14749 float get_azimuth_eye_left();
14754 float get_elevation_eye_left();
14761 float get_azimuth_eye_right();
14768 float get_elevation_eye_right();
14777 #ifdef CPLUSPLUS_ONLY
14779 bdiScenarioCharacter* get_scripted_object() {
return m_scripted_object;}
14796 bdiScenarioCharacter* m_scripted_object;
14798 friend class bdiPublishedCharacter;
14799 friend class bdiScenarioCharacter;