14 #ifndef __diguyCharacter_H
15 #define __diguyCharacter_H
20 #define CPLUSPLUS_ONLY
34 class bdiScenarioCharacter;
59 class DtEntityStateRepository;
86 const char* get_name();
97 int set_name(
const char* name);
105 const char* get_type_name();
156 int update(
float t,
int full_update = 1);
171 void set_character_type(
const char* type);
194 const char* get_character_type_string();
219 const char* get_character_class();
254 int set_enabled(
int enabled);
287 int set_drawn_by_scenario_flag(
int flag);
304 int get_drawn_by_scenario_flag();
322 void set_invisible_flag(
int invisible_flag);
329 int get_invisible_flag();
378 int get_is_temporary();
389 int get_is_recycled();
408 int set_t_controlled_by_scenario_t(
int t_controlled_by_scenario_t);
416 int get_t_controlled_by_scenario_t();
445 int set_initial_tin(
float tin,
int override_time_warning = 0);
474 int set_initial_tout(
float tout);
520 int set_current_tin(
float tin);
533 int set_current_tin_to_now();
545 float get_current_tin();
567 int set_current_tout(
float tout,
568 int disable_character_at_tout = 0);
582 int set_current_tout_to_now();
590 float get_current_tout();
599 void set_tout_enabled(
int tout_enabled);
612 int get_tout_enabled();
636 int set_careful_interpolation_threshold(
float threshold);
644 float get_careful_interpolation_threshold();
662 int set_motion_interpolation_flag(
int flag);
670 int get_motion_interpolation_flag();
686 int set_scale(
float scale_x,
float scale_y,
float scale_z);
703 int get_scale(
float* scale_x,
float* scale_y,
float* scale_z);
728 int set_parent(
const char* parent_name,
const char* parent_link_name =
"");
752 const char* get_parent_link_name();
773 int get_num_children();
801 int get_is_scene_object();
818 int set_is_scene_object(
int is_scene_object);
831 float get_bounding_radius();
844 float get_default_bounding_radius();
852 void set_bounding_radius(
float f);
873 float get_time_to_transition();
916 int set_t_scale_factor(
float t_scale_factor);
932 int unset_t_scale_factor();
949 int is_within_distance_n_of_character(
const char* character_name,
967 int is_within_distance_n_of_member_of_group(
const char* group_name,
986 int is_group_member(
const char* group_name);
996 int get_num_group_memberships();
1041 diguyCharacter* get_nearest_active_character(
int check_visibility,
1042 int xy_distance = 0,
1043 float max_distance_to_check = 100000);
1070 diguyCharacter* get_nearest_active_character_in_group(
const char* group_name,
1071 int check_visibility = 1,
1072 int xy_distance = 0,
1073 float max_distance_to_check = 100000);
1102 diguyCharacter* get_random_active_character(
float max_distance = 10.0f,
1103 int check_visibility = 1,
1104 int xy_distance = 0);
1134 diguyCharacter* get_random_active_character_in_group(
const char* group_name,
1135 float max_distance = 10,
1136 int check_visibility = 1,
1137 int xy_distance = 0);
1164 float get_distance_to_impact(
diguyImpact* impact);
1192 float get_random_factor();
1244 #ifdef CPLUSPLUS_ONLY
1265 void* get_graphics_ptr();
1292 int set_graphics_ptr(
void* graphics_ptr);
1310 void set_graphics_api_node_ptr(
void* node_ptr);
1317 void* get_graphics_api_node_ptr();
1335 int set_user_data(
void* user_data);
1342 void* get_user_data();
1401 int set_desired_action(
const char* action_name,
1403 int retain_path_shape = 0);
1409 const char* get_desired_action();
1412 int get_desired_action_index();
1415 const char* get_current_action();
1418 int get_current_action_index();
1479 int force_action(
const char* action_name,
1481 int include_transition_arc = 1,
1482 float max_rampdown_interval = 0.5f,
1483 int retain_path_shape = 0,
1484 float t_offset_into_new_action = 0.0f);
1515 int force_action_with_duration(
const char* action_name,
1517 int include_transition_arc = 1,
1518 float max_rampdown_interval = 0.5f);
1550 int force_action_and_path_shape(
const char* action_name,
1551 const char* path_shape_name,
1552 const char* waypoint_name = NULL,
1553 float distance_into_path = 0.0f);
1567 const char* get_most_recent_forced_action();
1580 float get_most_recent_forced_action_t();
1594 float get_most_recent_forced_action_t_offset();
1621 int add_pending_desired_action(
const char* action,
1623 int remove_existing_pending_actions = 0,
1625 int retain_path_shape = 1);
1641 int add_pending_force_action(
const char* action,
1643 int remove_existing_pending_actions = 0,
1645 int include_transition_arc = 1,
1646 float max_rampdown_interval = 0.5f,
1647 int retain_path_shape = 1,
1648 float first_arc_time_shift = 0.0f);
1656 int is_valid_action(
const char* action);
1690 int die_now(
const char* preferred_dead_action_name =
"(default)");
1705 int revive_now(
const char* preferred_revive_action_name =
"(default)");
1746 int set_speed(
float speed);
1779 int set_animation_target_el(
float elevation,
float ramp_time = .25f);
1782 float get_animation_target_el();
1790 int set_animation_target_az(
float azimuth,
float ramp_time = .25f);
1793 float get_animation_target_az();
1803 void set_animation_velocity(
float vel_x,
float vel_y,
float vel_z,
float ramp_time = .25f);
1806 void get_animation_velocity(
float *vel_x,
float *vel_y,
float *vel_z);
1815 void set_animation_local_velocity(
float vel_x,
float vel_y,
float vel_z,
float ramp_time = .25f);
1818 void get_animation_local_velocity(
float *vel_x,
float *vel_y,
float *vel_z);
1826 void set_animation_angular_velocity(
float vel_rz,
float ramp_time = .25f);
1829 float get_animation_angular_velocity();
1880 int set_position(
float tx,
float ty,
float tz);
1902 int set_position_double(
double tx,
double ty,
double tz);
1922 int get_position(
float* tx,
float* ty,
float* tz);
1946 int get_position_double(
double* tx,
double* ty,
double* tz);
1974 int set_position_relative_to_parent(
float tx,
float ty,
float tz);
1995 int get_position_relative_to_parent(
float* tx,
float* ty,
float* tz);
2029 int set_position_to_other_character_position(
const char* other_character_name,
2030 const char* other_link_name = NULL,
2031 float offset_x = 0.0f,
float offset_y = 0.0f,
float offset_z = 0.0f,
2032 int also_set_orientation = 1);
2055 int set_desired_position(
float tx,
float ty,
float tz,
2056 int force_guide_unacquired = 0);
2078 int set_desired_position_to_current_position(
int also_set_orientation = 1);
2108 int set_desired_position_to_waypoint(
diguyWaypoint* waypoint,
2109 float offset_x = 0.0f,
float offset_y = 0.0f,
float offset_z = 0.0f,
2110 int offset_in_world_coords = 0);
2133 int set_desired_position_to_path_waypoint(
const char* path_name,
2134 const char* waypoint_name);
2157 int set_desired_position_to_path_shape_waypoint(
const char* path_shape_name,
2158 const char* waypoint_name);
2179 int get_desired_position(
float* tx,
float* ty,
float* tz);
2200 int get_delta_to_desired_position(
float* tx,
float* ty,
float* tz);
2219 int set_initial_position(
float tx,
float ty,
float tz);
2242 int get_initial_position(
float* tx,
float* ty,
float* tz);
2274 int set_orientation(
float rz,
float rx,
float ry);
2300 int get_orientation(
float* rz,
float* rx,
float* ry);
2328 int set_orientation_relative_to_parent(
float rz,
float rx,
float ry);
2350 int get_orientation_relative_to_parent(
float* rz,
float* rx,
float* ry);
2400 int set_initial_up_vector(
char axis);
2407 char get_initial_up_vector();
2430 int set_up_vector(
char axis);
2437 char get_up_vector();
2467 int set_custom_orientation_rx_and_ry(
float rx,
2490 int set_desired_orientation(
float rz,
float rx,
float ry,
2491 int force_guide_unacquired = 0);
2513 int get_desired_orientation(
float* rz,
float* rx,
float* ry);
2536 int get_delta_to_desired_orientation(
float* rz,
float* rx,
float* ry);
2553 int set_desired_orientation_to_current_orientation();
2570 int set_desired_orientation_towards_position(
float x,
float y,
float z,
2571 int force_guide_unacquired = 0);
2591 int set_initial_orientation(
float rz,
float rx,
float ry);
2616 int get_initial_orientation(
float* rz,
float* rx,
float* ry);
2638 int get_link_position(
const char* link_name,
2639 float* tx,
float* ty,
float* tz,
2640 float* rz,
float* rx,
float* ry);
2662 int get_link_position_double(
const char* link_name,
2663 double* tx,
double* ty,
double* tz,
2664 double* rz,
double* rx,
double* ry);
2686 int get_link_position_with_offset(
const char* link_name,
2687 float offset_tx,
float offset_ty,
float offset_tz,
2688 float* tx,
float* ty,
float* tz,
2689 float* rz,
float* rx,
float* ry);
2711 int get_link_position_with_offset_double(
const char* link_name,
2712 double offset_tx,
double offset_ty,
double offset_tz,
2713 double* tx,
double* ty,
double* tz,
2714 double* rz,
double* rx,
double* ry);
2738 int get_link_relative_position(
const char* beginning_link_name,
2739 const char* ending_link_name,
2740 float* tx,
float* ty,
float* tz,
2741 float* rz,
float* rx,
float* ry);
2766 int get_link_relative_position_with_offset(
const char* beginning_link_name,
2767 const char* ending_link_name,
2768 float offset_tx,
float offset_ty,
float offset_tz,
2769 float* tx,
float* ty,
float* tz,
2770 float* rz,
float* rx,
float* ry);
2798 void set_apply_actor_scale_to_action_bead_travel(
int apply_scale_flag);
2805 int get_apply_actor_scale_to_action_bead_travel();
2818 int local_to_global(
float x,
float y,
float z,
2819 float* res_x,
float* res_y,
float* res_z);
2832 int global_to_local(
float x,
float y,
float z,
2833 float* res_x,
float* res_y,
float* res_z);
2850 void get_velocity(
float* vel_x,
float* vel_y,
float* vel_z);
2861 void set_desired_velocity(
float vel_x,
float vel_y,
float vel_z,
float ramp_time = 0.0);
2862 void get_desired_velocity(
float *vel_x,
float *vel_y,
float *vel_z);
2878 void get_angular_velocity(
float* vel_rz);
2887 void set_desired_angular_velocity(
float vel_rz);
2888 void get_desired_angular_velocity(
float* vel_rz);
2913 const char* get_appearance();
2934 int set_appearance(
const char* appearance);
2966 int set_current_appearance(
const char* appearance,
2967 int allow_actor_change = 1);
2974 const char* get_current_appearance();
2989 int get_current_appearance_is(
const char* appearance);
3006 int set_current_head_appearance(
const char* head_appearance);
3013 int set_head_appearance(
const char* head_appearance);
3016 const char* get_current_head_appearance();
3029 int get_current_head_appearance_is(
const char* head_appearance);
3048 int set_hand_item(
const char* hand_item_appearance);
3057 const char* get_hand_item();
3074 int set_current_hand_item(
const char* hand_item_appearance);
3082 const char* get_current_hand_item();
3164 int set_lod_ranges(
float* lod_ranges);
3185 int set_graphics_lod(
int lod);
3188 int get_graphics_lod();
3207 int set_shader_lod(
int lod);
3210 int get_shader_lod();
3247 int set_motion_lod(
int motion_lod);
3250 int get_motion_lod();
3253 int get_current_motion_lod();
3316 int set_minimum_cpl(
int minimum_cpl);
3319 int get_minimum_cpl();
3336 int get_maximum_possible_current_cpl();
3358 int maximize_current_cpl();
3379 int set_automatic_cpl_switching_enabled(
int enabled);
3382 int get_automatic_cpl_switching_enabled();
3407 int set_current_cpl(
int current_cpl);
3410 int get_current_cpl();
3447 int set_position_update_rate(
int update_rate);
3450 int get_position_update_rate();
3485 int set_pose_update_rate(
int update_rate);
3488 int get_pose_update_rate();
3514 int set_minimum_full_update_period(
float min_period);
3517 float get_minimum_full_update_period();
3544 int set_position_accumulation_disabled(
int disabled_flag);
3547 int get_position_accumulation_disabled();
3570 int set_all_blends_disabled(
int disabled_flag);
3573 int get_all_blends_disabled();
3602 int set_shape_switches_disabled(
int disabled_flag);
3605 int get_shape_switches_disabled();
3635 int set_shape_callbacks_disabled(
int disabled_flag);
3638 int get_shape_callbacks_disabled();
3659 int set_graphics_api_shape_update_disabled(
int disabled_flag);
3662 int get_graphics_api_shape_update_disabled();
3701 int optimized_update(
float t);
3726 int set_is_load_managed(
int is_load_managed);
3729 int get_is_load_managed();
4169 CALLBACK_ID_CREATE = 1,
4170 CALLBACK_ID_DESTROY,
4171 CALLBACK_ID_PRE_CREATE,
4172 CALLBACK_ID_CURRENT_APPEARANCE_CHANGED,
4173 CALLBACK_ID_CURRENT_HEAD_APPEARANCE_CHANGED,
4174 CALLBACK_ID_CURRENT_HAND_ITEM_APPEARANCE_CHANGED,
4175 CALLBACK_ID_PRE_UPDATE,
4176 CALLBACK_ID_POST_UPDATE,
4177 CALLBACK_ID_DONE_SPEAKING,
4178 CALLBACK_ID_GAZE_STATUS,
4179 CALLBACK_ID_LPOINT_STATUS,
4182 CALLBACK_ID_PRE_DIE,
4183 CALLBACK_ID_POST_DIE,
4184 CALLBACK_ID_PRE_FIRE_WEAPON,
4185 CALLBACK_ID_POST_FIRE_WEAPON,
4187 CALLBACK_ID_FIRE_WEAPON_SUCCESS,
4188 CALLBACK_ID_CURRENT_ACTION_CHANGED,
4189 CALLBACK_ID_DESIRED_ACTION_CHANGED,
4190 CALLBACK_ID_DESIRED_ACTION_REACHED,
4191 CALLBACK_ID_MANUALLY_INVOKED,
4192 CALLBACK_ID_USER_SELECTED,
4193 CALLBACK_ID_USER_UNSELECTED,
4194 CALLBACK_ID_IGUY_INTERACT,
4195 CALLBACK_ID_IGUY_INTERACT_WITH_SUBJECT,
4196 CALLBACK_ID_GUIDE_POSITION_ACQUIRED,
4197 CALLBACK_ID_GUIDE_POSITION_UNACQUIRED,
4198 CALLBACK_ID_GUIDE_ORIENTATION_ACQUIRED,
4199 CALLBACK_ID_GUIDE_ORIENTATION_UNACQUIRED,
4200 CALLBACK_ID_GUIDE_ALTITUDE_ACQUIRED,
4201 CALLBACK_ID_GUIDE_ALTITUDE_UNACQUIRED,
4202 CALLBACK_ID_CURRENT_TOUT_REACHED,
4203 CALLBACK_ID_POST_CREATE_GEOMETRY,
4204 CALLBACK_ID_PRE_DESTROY_GEOMETRY,
4205 CALLBACK_ID_END_OF_PATH_REACHED,
4208 CALLBACK_ID_UI_PRE_TRANSLATION,
4209 CALLBACK_ID_UI_POST_TRANSLATION,
4210 CALLBACK_ID_UI_MOUSE_DOWN,
4211 CALLBACK_ID_UI_MOUSE_UP,
4212 CALLBACK_ID_UI_RIGHT_MOUSE_DOWN,
4213 CALLBACK_ID_UI_RIGHT_MOUSE_UP,
4216 CALLBACK_ID_AGENT_NEW_BEHAVIOR,
4217 CALLBACK_ID_AGENT_NEW_PATH_SHAPE,
4218 CALLBACK_ID_AGENT_NEW_FOCUS_CHARACTER,
4219 CALLBACK_ID_AGENT_ATTACK_OUT_OF_TARGETS,
4220 CALLBACK_ID_AGENT_ATTACK_NO_VISIBLE_TARGETS,
4221 CALLBACK_ID_AGENT_PURSUE_TARGET_REACHED,
4222 CALLBACK_ID_AGENT_PURSUE_TARGET_LOST,
4223 CALLBACK_ID_AGENT_MINGLE_TARGET_REACHED,
4224 CALLBACK_ID_AGENT_MINGLE_TARGET_LOST,
4225 CALLBACK_ID_AGENT_WANDER_TARGET_REACHED,
4226 CALLBACK_ID_AGENT_WANDER_TARGET_LOST,
4227 CALLBACK_ID_AGENT_FLEE_AREA_LEFT,
4228 CALLBACK_ID_AGENT_FLEE_AREA_ENTERED,
4229 CALLBACK_ID_AGENT_TRAVEL_WAYPOINT_REACHED,
4230 CALLBACK_ID_AGENT_TRAVEL_FORWARD_DEST_REACHED,
4231 CALLBACK_ID_AGENT_TRAVEL_BACKWARD_DEST_REACHED,
4232 CALLBACK_ID_AGENT_TRAVEL_NEAR_FORWARD_DEST,
4233 CALLBACK_ID_AGENT_CROWD_MEMBER_KILLED,
4234 CALLBACK_ID_AGENT_CROWD_MEMBER_IMPACT,
4235 CALLBACK_ID_AGENT_NEARBY_SCENE_OBJECT_IMPACT,
4236 CALLBACK_ID_AGENT_NEARBY_WEAPON_FIRED,
4237 CALLBACK_ID_AGENT_VEHICLE_COLLISION,
4238 CALLBACK_ID_AGENT_VEHICLE_NEAR_COLLISION,
4239 CALLBACK_ID_AGENT_PATH_PLAN_COMPLETED,
4240 CALLBACK_ID_AGENT_MIND_CURRENT_STATE_CHANGED,
4241 CALLBACK_ID_AGENT_NON_ZERO_REPULSION,
4242 CALLBACK_ID_AGENT_ZERO_REPULSION
4245 #ifdef CPLUSPLUS_ONLY
4273 int add_callback(
int callback_id,
4275 void* callback_params = 0,
4276 void* callback_user_data = 0);
4294 int remove_callback(
int callback_id,
4314 int remove_callback_with_user_data(
int callback_id,
4315 void* callback_user_data);
4367 int add_callback_script(
int callback_id,
4368 const char* callback_script,
4369 const char* callback_script_type = NULL);
4410 int remove_callback_script(
int callback_id,
4411 const char* callback_script,
4412 const char* callback_script_type = NULL);
4453 int map_event_handler_to_callback_id(
int callback_id,
4454 const char* handler_name);
4473 int unmap_event_handler_from_callback_id(
int callback_id,
4474 const char* handler_name,
4475 int unmap_all_matches = 0);
4595 const char* transition_from_action_name,
4596 const char* fill_action_name,
4597 const char* transition_to_action_name);
4622 const char* transition_from_action_name,
4623 const char* fill_action_name,
4624 const char* transition_to_action_name);
4666 int create_and_force_bridge_path(
const char* destination_path_name,
4667 const char* destination_path_action_bead_name,
4668 const char* via_action_name);
4718 int create_and_force_bridge_path_to_point(
float x,
float y,
float z,
4720 const char* via_action_name,
4721 const char* next_local_path = NULL,
4722 float orientation = 0.0f);
4749 int get_num_paths();
4769 const char* get_path_name_at_index(
int index);
4788 int get_current_path_index();
4821 int get_current_traveled_path_is(
const char* path_name);
4842 int push_path(
const char* path_name);
4867 int force_path(
const char* path_name,
4868 float max_rampdown_interval = 0.5f);
4881 int force_partial_path(
const char* path_name,
4882 const char* beginning_action_bead_name,
4883 float max_rampdown_interval = 0.5f);
4919 int resume_interrupted_path(
float max_rampdown_interval = 0.5f);
4944 int use_character_orientation,
4945 float rotation = 0.0f,
4946 int clamp_path = 1);
4962 int set_initial_path(
const char* name);
4976 const char* get_initial_path();
4988 void translate_all_paths(
float tx,
float ty,
float tz,
4989 int reclamp_waypoints = 1);
5007 int rotate_all_paths_about_point(
float rz,
float rx,
float ry,
5008 float rotation_pt_x,
float rotation_pt_y,
float rotation_pt_z,
5009 int reclamp_waypoints = 1);
5026 int rotate_all_paths_about_current_waypoint(
float rz,
float rx,
float ry,
5027 int reclamp_waypoints = 1);
5049 int jump_to_action_bead(
const char* bead_name,
5050 float max_rampdown_interval = 0.5f);
5087 float how_far = 0.0f);
5108 float how_far = 0.0f);
5129 float how_far = 0.0f);
5150 float how_far = 0.0f);
5174 int set_distance_along_path(
float distance);
5186 float get_distance_along_path();
5220 int get_nearest_waypoint_index_in_path(
const char* path_name);
5227 float get_distance_to_path(
const char* path_name,
5228 const char* action_bead_name = NULL);
5263 int get_num_links();
5301 const char* get_link_name_at_index(
int link_index);
5312 int get_num_link_shapes(
const char* link_name);
5324 const char* get_link_shape_name_at_index(
const char* link_name,
5350 #ifdef CPLUSPLUS_ONLY
5420 int set_altitude_function_enabled_in_free_position_mode(
int enabled);
5429 int get_altitude_function_enabled_in_free_position_mode();
5455 int set_altitude_function_enabled_in_path_position_mode(
int value);
5464 int get_altitude_function_enabled_in_path_position_mode();
5490 int set_altitude_update_rate(
int update_rate);
5493 int get_altitude_update_rate();
5517 void set_altitude_interpolation_rate(
float interpolation_rate);
5520 float get_altitude_interpolation_rate();
5644 int get_pose_array_size();
5646 #ifdef CPLUSPLUS_ONLY
5679 int get_pose_in_radians(
float* pose_array);
5727 int get_num_pose_overrides();
5770 void destroy_complete_pose_override();
5813 int gaze_at_angle(
float azimuth,
5816 int is_new_gaze = 1);
5831 int gaze_at_angle_local(
float azimuth,
5833 float distance = 10000.0f,
5834 int is_new_gaze = 1);
5859 int gaze_at_point(
float tx,
5862 int is_new_gaze = 1);
5874 int gaze_at_point_local(
float tx,
5877 int is_new_gaze = 1);
5913 int gaze_at_character(
const char* target_character_name,
5914 const char* target_character_link_name = NULL,
5915 float offset_tx = 0.0f,
5916 float offset_ty = 0.0f,
5917 float offset_tz = 0.0f);
5924 int get_gaze_is_active();
5932 int get_gaze_point(
float* x,
float* y,
float* z);
5959 int get_gaze_is_acquired();
5986 int get_gaze_is_steady();
6023 int lpoint_at_angle(
float azimuth,
6026 int is_new_lpoint = 1,
6027 const char* base_gesture_name = 0);
6039 int lpoint_at_angle_local(
float azimuth,
6041 float distance = 10000.0f,
6042 int is_new_lpoint = 1,
6043 const char* base_gesture_name = 0);
6076 int lpoint_at_point(
float tx,
6079 int is_new_lpoint = 1,
6080 const char* base_gesture_name = 0);
6092 int lpoint_at_point_local(
float tx,
6095 int is_new_lpoint = 1,
6096 const char* base_gesture_name = 0);
6107 int lpoint_at_character(
const char* target_character_name,
6108 const char* target_character_link_name = NULL,
6109 float offset_tx = 0.0f,
6110 float offset_ty = 0.0f,
6111 float offset_tz = 0.0f);
6119 int get_lpoint_point(
float* x,
float* y,
float* z);
6126 const char* get_lpoint_base_gesture_name();
6133 int get_lpoint_is_active();
6143 int get_lpoint_is_acquired();
6153 int get_lpoint_is_steady();
6185 int set_gaze_params_to_defaults();
6216 int set_gaze_param_desired_locate_time(
float t);
6223 float get_gaze_param_desired_locate_time();
6257 int set_gaze_link_uses_desired_locate_time(
const char* link_name,
6258 int uses_desired_locate_time);
6265 int get_gaze_link_uses_desired_locate_time(
const char* link_name);
6292 int set_gaze_link_azimuth_limits(
const char* link_name,
float min,
float max);
6299 int get_gaze_link_azimuth_limits(
const char* link_name,
6328 int set_gaze_link_elevation_limits(
const char* link_name,
6333 int get_gaze_link_elevation_limits(
const char* link_name,
6372 int set_gaze_link_azimuth_tolerance(
const char* link_name,
6377 int get_gaze_link_azimuth_tolerance(
const char* link_name,
6405 int set_gaze_link_elevation_tolerance(
const char* link_name,
6410 int get_gaze_link_elevation_tolerance(
const char* link_name,
6437 int set_gaze_link_max_angular_vel(
const char* link_name,
float angular_vel);
6440 int get_gaze_link_max_angular_vel(
const char* link_name,
float* angular_vel);
6477 int set_gaze_link_scale_factor(
const char* link_name,
float scale_factor);
6480 int get_gaze_link_scale_factor(
const char* link_name,
float* scale_factor);
6506 int set_link_enabled_for_gaze(
const char* link_name,
int enabled);
6509 int get_link_enabled_for_gaze(
const char* link_name);
6527 int set_gaze_can_change_posture(
int enabled);
6530 int get_gaze_can_change_posture();
6548 int set_gaze_can_change_variant(
int enabled);
6551 int get_gaze_can_change_variant();
6577 int set_link_enabled_for_lpoint(
const char* link_name,
int enabled);
6580 int get_link_enabled_for_lpoint(
const char* link_name);
6606 int set_nod(
float azimuth,
6608 float duration = 0.5f);
6654 int nod_head(
float duration,
6656 float nod_elevation0 = 15.0f,
6657 float nod_elevation1 = 0.0f,
6658 float nod_elevation_out = 0.0f);
6686 int shake_head(
float duration,
6688 float shake_azimuth0 = -20.0f,
6689 float shake_azimuth1 = 20.0f,
6690 float shake_azimuth_out = 0.0f);
6698 float get_nod_azimuth();
6706 float get_nod_elevation();
6755 int set_aim(
float azimuth,
float elevation);
6794 int aim_at_angle(
float azimuth,
6797 int is_new_aim = 1);
6813 int aim_at_angle_local(
float azimuth,
6816 int is_new_aim = 1);
6842 int aim_at_point(
float x,
float y,
float z,
int is_new_aim = 1);
6855 int aim_at_point_local(
float x,
float y,
float z,
int is_new_aim = 1);
6892 int aim_at_character(
const char* target_character_name,
6893 const char* target_character_link_name = NULL,
6894 float offset_tx = 0.0f,
6895 float offset_ty = 0.0f,
6896 float offset_tz = 0.0f);
6908 float get_aim_azimuth();
6911 float get_aim_elevation();
6928 int get_aim_trajectory(
float* muzzle_x,
float* muzzle_y,
float* muzzle_z,
6929 float* far_x,
float* far_y,
float* far_z);
6942 int get_aim_is_possible();
6949 int get_aim_is_acquired();
6957 int get_aim_is_steady();
6965 int get_is_aiming();
7007 void set_aim_param_acquire_factor(
float factor);
7014 float get_aim_param_acquire_factor();
7031 void set_aim_param_new_aim_factor(
float factor);
7034 float get_aim_param_new_aim_factor();
7060 void set_aim_param_new_aim_duration(
float duration);
7063 float get_aim_param_new_aim_duration();
7078 void set_aim_param_max_per_frame_adj_factor(
float factor);
7081 float get_aim_param_max_per_frame_adj_factor();
7101 void set_aim_param_azimuth_acquired_range(
float range);
7104 float get_aim_param_azimuth_acquired_range();
7124 void set_aim_param_elevation_acquired_range(
float range);
7127 float get_aim_param_elevation_acquired_range();
7138 void set_aim_converge_every_frame(
int enabled );
7141 int get_aim_converge_every_frame();
7213 int fire_weapon_n_times(
int count,
7215 const char* override_sound_name = NULL,
7233 int fire_screen_space_bullet(
diguyView* view,
float x,
float y);
7261 int set_default_weapon_muzzle(
diguyMuzzle muzzle);
7328 const char* get_weapon_muzzle_munition_type(
diguyMuzzle muzzle);
7331 const char* get_default_muzzle_munition_type();
7347 int set_weapon_munition_type_override(
const char* munition_type);
7350 const char* get_weapon_munition_type_override();
7373 int set_weapon_fires_live_rounds(
int weapon_fires_live_rounds);
7383 int get_weapon_fires_live_rounds();
7410 int set_weapon_sound_override(
const char* sound_name);
7425 const char* get_weapon_sound_override();
7450 int set_weapon_sound_gain_override(
float gain);
7453 float get_weapon_sound_gain_override();
7477 void set_weapon_spread(
float spread);
7499 void set_weapon_near_range(
float near_range);
7514 void set_weapon_far_range(
float far_range);
7526 void set_weapon_hit_ratio(
float hit_ratio);
7537 void set_weapon_max_impacts(
int val);
7544 int get_accessory1_state();
7551 int get_rifle_state();
7570 int set_weapon_projectile_is_visible(
diguyMuzzle muzzle,
int is_visible);
7586 int get_weapon_projectile_is_visible(
diguyMuzzle muzzle);
7620 int get_weapon_aim_vector(
float* muzzle_tx,
float* muzzle_ty,
float* muzzle_tz,
7621 float* end_pt_tx = NULL,
float* end_pt_ty = NULL,
float* end_pt_tz = NULL,
7622 float* muzzle_rz = NULL,
float* muzzle_rx = NULL,
float* muzzle_ry = NULL,
7623 int in_character_local_coordinates = 0,
7663 float* offset_x = NULL,
7664 float* offset_y = NULL,
7665 float* offset_z = NULL);
7682 int set_weapon_max_azimuth_error(
float h_error);
7685 float get_weapon_max_azimuth_error();
7692 int set_weapon_max_elevation_error(
float v_error);
7695 float get_weapon_max_elevation_error();
7711 int set_weapon_tracers_enabled(
int enabled);
7714 int get_weapon_tracers_enabled();
7721 int get_weapon_rounds_until_tracer(
diguyMuzzle muzzle);
7737 int set_weapon_shell_eject_enabled(
int enabled);
7740 int get_weapon_shell_eject_enabled();
7756 int set_weapon_smoke_enabled(
int enabled);
7759 int get_weapon_smoke_enabled();
7779 int trigger_detonation_on_character(
const char* munition_name,
7780 const char* attacker_name = NULL,
7781 float radius_override = -1.0f,
7782 int broadcast_on_network = 1);
7839 int set_face_expression(
const char* facex_name,
float blend_duration,
float strength = 1.0f);
7862 int set_orientation_eyes(
float azimuth,
7864 float blend_time = 0.0f);
7874 int get_orientation_eyes(
float* azimuth,
float* elevation);
7892 int set_eye_droop(
float droop_amount,
float blend_time = 0.0f);
7895 float get_eye_droop();
7922 int blink(
float duration_in = 0.1f,
7923 float duration_out = 0.2f,
7924 float target_in = 1.0f,
7925 float target_out = 0.0f,
7962 int set_automatic_blinks_enabled(
int enabled,
7963 float period = 6.0f,
7964 float period_variation = 3.0f);
7967 int get_automatic_blinks_enabled();
7983 void set_automatic_blink_duration_in(
float duration_in);
7986 float get_automatic_blink_duration_in();
8002 void set_automatic_blink_duration_out(
float duration_out);
8005 float get_automatic_blink_duration_out();
8021 void set_automatic_blink_target_in(
float target_in);
8024 float get_automatic_blink_target_in();
8040 void set_automatic_blink_target_out(
float target_out);
8043 float get_automatic_blink_target_out();
8061 int set_current_facefx_animation_group(
const char* anim_group);
8068 const char* get_current_facefx_animation_group();
8076 const char* get_facefx_actor();
8084 int facefx_mount_animset(
const char* file_name);
8094 int play_facefx_animation(
const char* animation,
8095 float magnitude_scale = 1.0f,
8096 float duration_scale = 1.0f,
8097 float blendin_time = 0.1f,
8098 float blendout_time = 0.1f,
8106 int stop_facefx_animations(
float blend_time = 0.25f,
int stop_sounds = 1);
8118 int get_num_facefx_nodes();
8126 const char* get_facefx_node_name(
int index);
8133 int find_facefx_node_index(
const char* node_name);
8142 int set_facefx_node_value(
int node_index,
8144 float blend_time = 0.25f);
8151 float get_facefx_node_value(
int node_index);
8285 int execute_gesture(
const char* gesture_name,
8332 int execute_1stage_gesture(
const char* gesture_name,
8375 int execute_2stage_gesture(
const char* gesture_name,
8426 int execute_3stage_gesture(
const char* gesture_name,
8475 int execute_table_gesture(
const char* gesture_name,
8477 const char* loop_action = NULL,
8478 const char* begin_action = NULL,
8479 const char* end_action = NULL);
8486 int set_executing_table_gesture_desired_action(
const char* gesture_name,
8487 const char* desired_action);
8511 int end_executing_gesture(
const char* gesture_name);
8543 int abort_executing_gesture(
const char* gesture_name,
8544 float max_rampdown_interval);
8564 int end_all_gestures();
8594 int abort_all_gestures(
float max_rampdown_interval);
8662 int play_sound(
const char* sound_name,
8663 float sound_gain = 1.0f,
8664 int sound_loops = 0);
8703 int play_3d_sound(
const char* sound_name,
8704 float sound_gain = 1.0f,
8705 int sound_loops = 0);
8781 int stop_all_sounds(
float rampdown_time = 0.0f);
8808 int stop_sound(
const char* sound_name,
float rampdown_time = 0.0f);
8815 int is_playing_sound(
const char* sound_name);
8886 int set_current_voice_actor(
const char* voice_actor);
8889 const char* get_current_voice_actor();
8961 int get_DIS_lifeform_state();
8982 int get_DIS_primary_weapon_position();
9003 int get_DIS_secondary_weapon_position();
9024 int set_network_marking(
const char* network_marking);
9046 const char* get_network_marking();
9070 int set_is_network_published(
int is_network_published);
9092 int get_is_network_published();
9101 DtEntityStateRepository * get_vrlink_entity_state_repository();
9122 int get_is_network_reflected();
9147 int get_is_network_paused();
9168 int get_network_entity_number();
9230 const char* get_action_from_entity_state(
int damage_state,
9231 int life_form_state,
9232 int primary_weapon_state,
9258 void set_DIS_damage_state(
int state);
9271 int get_DIS_damage_state();
9295 void set_DIS_smoke_state(
int state);
9306 int get_DIS_smoke_state();
9327 void set_DIS_flames_state(
int state);
9338 int get_DIS_flames_state();
9359 void set_DIS_power_plant_state(
int state);
9370 int get_DIS_power_plant_state();
9392 void set_DIS_trailing_effect_state(
int state);
9404 int get_DIS_trailing_effect_state();
9446 int call_formation(
const char* formation_name,
9447 int snap_to_position_flag = 0,
9448 int break_existing_formations_flag = 1);
9467 int break_formation(
const char* formation_name = NULL);
9775 int automatically_disable_when_acquired = 0);
9803 const char* guide_algorithm,
9804 int automatically_disable_when_acquired = 0);
9825 const char* guide_algorithm,
9826 int automatically_disable_when_acquired = 0);
9860 int remove_guide_with_name(
const char* guide_name);
9887 int remove_all_guides();
9898 int remove_all_disabled_guides();
9948 int add_motion_texture(
const char* motex_name =
"default",
9949 float texture_gain = 1.0f,
9950 int end_previous_motex = 1,
9951 float rampup_interval = 0.2f);
9968 int end_motion_texture(
float rampdown_interval = 0.2f);
9993 int set_initial_motion_texture(
const char* motex_name);
10005 const char* get_initial_motion_texture();
10023 int set_initial_motion_texture_gain(
float motex_gain);
10035 float get_initial_motion_texture_gain();
10125 int set_history_size_t(
float t);
10137 float get_history_size_t();
10153 int set_history_size_increment_t(
float t);
10165 float get_history_size_increment_t();
10398 int match_posture_before_variant = 1,
10403 int return_random_match = 0);
10472 int match_posture_before_variant = 1,
10494 int get_num_variables();
10567 int variable_equal_to_int(
const char* varname,
int value);
10582 int variable_greater_than_int(
const char* varname,
int value);
10597 int variable_less_than_int(
const char* varname,
int value);
10612 int variable_equal_to_float(
const char* varname,
float value);
10627 int variable_greater_than_float(
const char* varname,
float value);
10642 int variable_less_than_float(
const char* varname,
float value);
10657 int variable_equal_to_string(
const char* varname,
const char* value);
10672 int variable_greater_than_string(
const char* varname,
const char* value);
10687 int variable_less_than_string(
const char* varname,
const char* value);
10705 int variable_decrement_value_as_int(
const char* varname,
int value = 1);
10723 int variable_increment_value_as_int(
const char* varname,
int value = 1);
10745 int variable_set_value_as_int(
const char* varname,
10747 int create_if_doesnt_exist = 1);
10754 int set_ivar(
const char* varname,
10756 int create_if_doesnt_exist = 1);
10778 int get_ivar(
const char* varname,
10779 int create_if_doesnt_exist = 1);
10787 int variable_set_value_as_float(
const char* varname,
10789 int create_if_doesnt_exist = 1);
10796 int set_fvar(
const char* varname,
10798 int create_if_doesnt_exist = 1);
10809 float get_fvar(
const char* varname,
10810 int create_if_doesnt_exist = 1);
10818 int variable_set_value_as_string(
const char* varname,
10820 int create_if_doesnt_exist = 1);
10827 int set_svar(
const char* varname,
10829 int create_if_doesnt_exist = 1);
10840 const char* get_svar(
const char* varname,
10841 int create_if_doesnt_exist = 1);
10889 int set_label_text(
const char* label_text);
10901 const char* get_label_text();
10921 int set_label_is_visible(
int is_visible);
10933 int get_label_is_visible();
10956 int set_label_text_color(
float r,
float g,
float b,
float a);
10963 int set_label_text_color_vec4(
const diguyVec4f & color);
10975 int get_label_text_color(
float* r,
float* g,
float* b,
float* a);
11005 int set_label_text_shadow_color(
float r,
float g,
float b,
float a);
11012 int set_label_text_shadow_color_vec4(
const diguyVec4f & color);
11024 int get_label_text_shadow_color(
float* r,
float* g,
float* b,
float* a);
11031 diguyVec4f get_label_text_shadow_color_vec4();
11046 int set_label_text_shadow_is_visible(
int is_visible);
11053 int get_label_text_shadow_is_visible();
11077 int set_label_background_color(
float r,
float g,
float b,
float a);
11084 int set_label_background_color_vec4(
const diguyVec4f & color);
11096 int get_label_background_color(
float* r,
float* g,
float* b,
float* a);
11103 diguyVec4f get_label_background_color_vec4();
11115 void set_label_link_offset_override(
float offset);
11122 float get_label_link_offset_override();
11139 int set_label_shows_character_state(
int show_state);
11147 int get_label_shows_character_state();
11176 int get_last_impact_number();
11183 int get_last_impact_been_processed();
11190 void set_last_impact_been_processed();
11204 void set_max_unprocessed_impacts(
int max_unprocessed_impacts);
11211 int get_max_unprocessed_impacts();
11218 const char* get_last_impact_link();
11225 int get_last_impact_link_is(
const char* link_name);
11233 int get_last_impact_is_from_vehicle();
11241 int get_last_impact_speed_is_greater_than(
float impact_speed);
11249 void set_is_immune_to_impacts(
int immune);
11257 int get_is_immune_to_impacts();
11323 int begin_appearance_effect(
const char* effect,
11324 const char* override_link = NULL,
11357 int end_appearance_effect(
const char* effect,
11358 const char* override_link = NULL);
11386 int stop_appearance_effect(
const char* effect,
11387 const char* override_link = NULL);
11394 int stop_all_appearance_effects();
11411 int appearance_effect_is_active(
const char* effect,
11412 const char* override_link = NULL);
11495 int get_vehicle_body_orientation(
float* rz,
float* rx,
float* ry);
11548 int set_render_mode_shader(
const char* shader_name,
11549 const char* render_mode = NULL);
11570 void reset_render_mode_shader_to_default(
const char* render_mode = NULL);
11588 const char* get_render_mode_shader(
const char* render_mode = NULL);
11625 int set_temporary_current_shader(
const char* shader_name);
11637 void reset_current_shader_to_default();
11646 void trigger_shader_refresh();
11672 void reset_shader_instance_variables_to_initial_values();
11680 void reset_shader_instance_variables_to_program_defaults();
11734 int agent_attack_character(
const char* character_name);
11763 int agent_attack_group(
const char* group_name);
11770 int agent_set_attack_zone_enabled(
int use_attack_zone);
11777 int agent_get_attack_zone_enabled();
11784 int agent_set_attack_zone(
float x,
float y,
float z,
float radius);
11791 int agent_get_attack_zone(
float* x,
float* y,
float* z,
float* radius);
11831 int agent_flee_character(
const char* character_name,
11833 int danger_level = 50);
11864 int agent_flee_group(
const char* group_name,
11866 int danger_level = 50);
11875 int agent_flee_crowd(
const char* crowd_name,
11877 int danger_level = 50);
11909 int agent_flee_location(
float x,
float y,
float z,
11911 int danger_level = 50);
11926 void agent_remove_all_flee_objects();
11967 int agent_mingle_in_region(
const char* region_name =
"(current)",
11968 const char* subregion_name =
"base");
11993 int agent_wander_region(
const char* region_name =
"(current)",
11994 const char* subregion_name =
"base");
12033 int agent_pursue_character(
const char* character_name);
12042 int agent_pursue_character_with_offset(
const char* character_name,
12073 int agent_pursue_group(
const char* group_name);
12085 int agent_call_formation(
const char* formation_name,
12125 int agent_travel_behavior_path(
const char* direction = NULL,
12126 const char* at_end = NULL,
12127 int waypoint_index = -1,
12128 float offset_y = 0.5f);
12136 int agent_travel_path_shape(
const char* path_shape_name,
12137 const char* direction = NULL,
12138 const char* at_end = NULL,
12139 int waypoint_index = -1,
12140 float offset_y = 0.5f);
12161 int agent_travel_region_border(
const char* region_name = NULL,
12162 const char* subregion_name =
"base");
12188 int agent_move_to_point(
float x,
float y,
float z,
12189 const char* via_region = NULL,
12190 const char* subregion_name =
"base");
12212 int agent_move_to_point_bg(
float x,
float y,
float z,
12213 const char* via_region = NULL,
12214 const char* subregion_name =
"base");
12281 int agent_move_to_point_via_subregions(
float x,
float y,
float z,
12282 const char* via_region = NULL,
12284 float cost_bias_for_preferred_regions = 0.25f,
12285 float cost_bias_for_neutral_regions = 1.1f,
12287 float cost_bias_for_repulsed_regions = 10.0f,
12288 int cost_rule = 0);
12308 int agent_move_to_point_via_subregions_bg(
float x,
float y,
float z,
12309 const char* via_region = NULL,
12311 float cost_bias_for_preferred_regions = 0.25f,
12312 float cost_bias_for_neutral_regions = 1.1f,
12314 float cost_bias_for_repulsed_regions = 10.0f,
12315 int cost_rule = 0);
12324 int get_path_planning_result();
12332 int get_is_path_planning();
12354 int agent_move_to_region(
const char* region,
12355 const char* subregion_name =
"base",
12356 const char* via_region = NULL);
12380 int agent_move_to_region_via_subregions(
const char* region_name,
12381 const char* subregion_name =
"base",
12382 const char* via_region = NULL,
12383 float cost_bias_for_preferred_regions = 0.25f,
12385 float cost_bias_for_neutral_regions = 1.1f,
12387 float cost_bias_for_repulsed_regions = 10.0f);
12423 int agent_path_follow(
const char* path_name);
12438 int agent_resume_path_follow();
12472 float agent_get_path_follow_path_t();
12479 int agent_get_path_follow_path_t_paused();
12506 int agent_begin_behavior(
const char* behavior_name);
12513 int agent_stop_behavior();
12541 int agent_set_current_focus_character(
const char* character_name);
12581 int agent_set_current_focus_group(
const char* group_name);
12635 const char* agent_get_current_params_profile_name();
12669 int agent_set_current_params_from_profile(
const char* profile_name,
12670 int retain_focus_objects = 1,
12671 int retain_navigation_values = 1,
12672 int retain_behavior = 0);
12680 int agent_set_initial_params_from_profile(
const char* profile_name);
12688 void agent_set_current_params_from_initial_params();
12709 void agent_set_current_behavior_region_border_is_solid(
int is_solid);
12720 void agent_move_on();
12733 int agent_set_auto_variant_selection(
int selection_enabled);
12740 int agent_get_auto_variant_selection();
12749 #ifdef CPLUSPLUS_ONLY
12864 int create_lua_mind(
const char* base_class,
const char* init_arg1 = NULL,
12865 const char* init_arg2 = NULL);
12873 const char *get_mind_name();
12888 const char* get_mind_current_state_name();
12900 void do_mind_current_state_changed_callback();
12914 int set_sleep_timer(
float sleep_length);
12922 float get_sleep_timer();
12935 int set_heartbeat_dt(
float heartbeat_dt);
12954 int add_secondary_heartbeat(
const char* function_name,
12955 float heartbeat_dt);
12972 int remove_secondary_heartbeat(
const char* function_name);
12990 int set_secondary_heartbeat_dt(
const char* function_name,
float heartbeat_dt);
13026 int add_wakeup_callback(
int callback);
13043 int remove_wakeup_callback(
int callback);
13055 int remove_all_wakeup_callbacks();
13067 int has_wakeup_callback(
int callback);
13086 int agent_accept_message(
const char* sender,
13087 const char* message_type,
13088 const char* message,
13089 const char* message_params = NULL);
13112 int agent_broadcast_message(
float radius,
13113 const char* message_type,
13114 const char* message,
13115 const char* message_params = NULL);
13140 int agent_broadcast_message_to_group(
const char* group_name,
13142 const char* message_type,
13143 const char* message,
13144 const char* message_params = NULL);
13153 const char* get_lua_object_name();
13160 void set_mind_field_as_string(
const char* field_name,
13161 const char* field_value);
13178 const char* get_mind_field_as_string(
const char* field_name,
13179 int warn_if_no_field = 1);
13187 void set_mind_field_as_float(
const char* field_name,
float field_value);
13199 float get_mind_field_as_float(
const char* field_name,
13200 int warn_if_no_field = 1,
13201 int* found_field = NULL);
13209 void set_mind_field_as_int(
const char* field_name,
int field_value);
13221 int get_mind_field_as_int(
const char* field_name,
13222 int warn_if_no_field = 1,
13223 int* found_field = NULL);
13250 const char* evaluate_mind_function(
const char* function_name,
13251 const char* argument = NULL,
13252 int has_return_string = 0);
13275 const char* get_ai_state_string(
int include_stack = 1,
int include_locals = 1);
13320 int los_check_type = 0);
13344 int check_point_visibility(
float x,
float y,
float z);
13365 #ifdef CPLUSPLUS_ONLY
13487 int get_num_ik_chains();
13490 const char * get_ik_chain_name_at_index(
int index);
13503 int set_ik_target_world(
int ik_chain_target,
float x,
float y,
float z,
float ramp_time = .25f);
13516 int set_ik_target_local(
int ik_chain_target,
float x,
float y,
float z,
float ramp_time = .25f);
13520 int disable_ik_target(
int ik_chain_target,
float ramp_time = .25f);
13527 void set_distance_to_primary_camera(
float camera_dist);
13530 float get_distance_to_primary_camera();
13733 void set_stop_physics_sim_at_t(
float t);
13742 void set_stop_physics_sim_in_t_seconds(
float relative_t);
13749 float get_stop_physics_sim_at_t();
13767 void apply_impulse_to_physics_sim(
const char* link,
13768 float impulse_magnitude_x,
13769 float impulse_magnitude_y,
13770 float impulse_magnitude_z,
13771 float link_offset_x = 0.0f,
13772 float link_offset_y = 0.0f,
13773 float link_offset_z = 0.0f,
13774 int set_simulation_drives_character = 1);
13800 void apply_impulse_to_physics_sim_from_world_position(
const char* link,
13801 float impulse_magnitude_x,
13802 float impulse_magnitude_y,
13803 float impulse_magnitude_z,
13804 float impulse_generator_position_x,
13805 float impulse_generator_position_y,
13806 float impulse_generator_position_z,
13807 float max_distance = 20.0f,
13808 float impulse_rolloff = 0.0f,
13809 float link_offset_x = 0.0f,
13810 float link_offset_y = 0.0f,
13811 float link_offset_z = 0.0f,
13812 int set_simulation_drives_character = 1);
13843 static int set_max_shader_quality_level(
int quality_level);
13850 static int get_max_shader_quality_level();
13864 int set_animation_events_enabled(
int enable);
13865 int get_animation_events_enabled();
13868 int get_has_bump_maps();
13886 int get_action_num_channels(
const char* action_name);
13908 int set_action_channel_weight(
const char* action_name,
13927 float get_action_channel_weight(
const char* action_name,
13943 float get_time_to_reach_desired_action();
13966 const char* get_type_map_field_using_string(
const char* field);
13990 int merge_object(
const char*
object);
14003 int is_active_character_in_group_visible(
const char* group_name,
14004 float max_distance_to_check = 100000.0f);
14021 int get_local_space_bounding_box(
float* x1,
float* y1,
float* z1,
14022 float* x2,
float* y2,
float* z2);
14041 int get_geometry_tag(
int tag,
14043 float* x1,
float* y1,
float* z1,
float* radius);
14055 void set_mind_always_updates(
int force_update);
14058 int get_mind_always_updates();
14064 float get_angle_to_path(
const char* path_name,
14065 const char* action_bead_name = NULL);
14070 const char* get_aim_at_link();
14073 int get_aim_at_link_offset(
float* offset_x,
float* offset_y,
float* offset_z);
14076 const char* get_gaze_at_link();
14079 int get_gaze_at_link_offset(
float* offset_x,
float* offset_y,
float* offset_z);
14085 void set_scene_graph_mask(
unsigned int mask);
14086 unsigned int get_scene_graph_mask();
14094 int set_use_texture_variations(
int value);
14101 int get_use_texture_variations();
14134 int aim_converge(
int max_iterations = 30);
14137 void set_aim_algorithm(
int aim_algorithm);
14140 int get_aim_algorithm();
14191 int begin_legacy_appearance_effect(
const char* effect,
14192 const char* override_link =
"",
14202 int end_legacy_appearance_effect(
const char* effect);
14208 int legacy_appearance_effect_is_active(
const char* effect);
14228 int speak(
const char*
string);
14233 int set_viseme(
const char* viseme_name,
float weight);
14238 float get_viseme(
const char* viseme_name);
14243 int set_orientation_eye_left(
float azimuth,
float elevation);
14248 int set_orientation_eye_right(
float azimuth,
float elevation);
14253 float get_azimuth_eye_left();
14258 float get_elevation_eye_left();
14265 float get_azimuth_eye_right();
14272 float get_elevation_eye_right();
14281 #ifdef CPLUSPLUS_ONLY
14283 bdiScenarioCharacter* get_scripted_object() {
return m_scripted_object;}
14300 bdiScenarioCharacter* m_scripted_object;
14302 friend class bdiPublishedCharacter;
14303 friend class bdiScenarioCharacter;