14 #ifndef __diguyCharacter_H
15 #define __diguyCharacter_H
20 #define CPLUSPLUS_ONLY
35 class bdiScenarioCharacter;
60 class DtEntityStateRepository;
100 const char* get_name();
111 int set_name(
const char* name);
119 const char* get_type_name();
170 int update(
float t,
int full_update = 1);
185 void set_character_type(
const char* type);
208 const char* get_character_type_string();
233 const char* get_character_class();
271 int set_enabled(
int enabled);
304 int set_drawn_by_scenario_flag(
int flag);
321 int get_drawn_by_scenario_flag();
339 void set_invisible_flag(
int invisible_flag);
346 int get_invisible_flag();
392 int get_was_drawn_last_frame();
395 int set_was_drawn_last_frame(
int drawn);
405 int set_is_culled(
int culled);
413 int get_is_temporary();
424 int get_is_recycled();
443 int set_t_controlled_by_scenario_t(
int t_controlled_by_scenario_t);
451 int get_t_controlled_by_scenario_t();
480 int set_initial_tin(
float tin,
int override_time_warning = 0);
509 int set_initial_tout(
float tout);
555 int set_current_tin(
float tin);
568 int set_current_tin_to_now();
580 float get_current_tin();
602 int set_current_tout(
float tout,
603 int disable_character_at_tout = 0);
617 int set_current_tout_to_now();
625 float get_current_tout();
634 void set_tout_enabled(
int tout_enabled);
647 int get_tout_enabled();
671 int set_careful_interpolation_threshold(
float threshold);
679 float get_careful_interpolation_threshold();
697 int set_motion_interpolation_flag(
int flag);
705 int get_motion_interpolation_flag();
721 int set_scale(
float scale_x,
float scale_y,
float scale_z);
738 int get_scale(
float* scale_x,
float* scale_y,
float* scale_z);
763 int set_parent(
const char* parent_name,
const char* parent_link_name =
"");
787 const char* get_parent_link_name();
808 int get_num_children();
836 int get_is_scene_object();
853 int set_is_scene_object(
int is_scene_object);
866 float get_bounding_radius();
879 float get_default_bounding_radius();
887 void set_bounding_radius(
float f);
908 float get_time_to_transition();
951 int set_t_scale_factor(
float t_scale_factor);
967 int unset_t_scale_factor();
984 int is_within_distance_n_of_character(
const char* character_name,
1002 int is_within_distance_n_of_member_of_group(
const char* group_name,
1021 int is_group_member(
const char* group_name);
1031 int get_num_group_memberships();
1076 diguyCharacter* get_nearest_active_character(
int check_visibility,
1077 int xy_distance = 0,
1078 float max_distance_to_check = 100000);
1105 diguyCharacter* get_nearest_active_character_in_group(
const char* group_name,
1106 int check_visibility = 1,
1107 int xy_distance = 0,
1108 float max_distance_to_check = 100000);
1137 diguyCharacter* get_random_active_character(
float max_distance = 10.0f,
1138 int check_visibility = 1,
1139 int xy_distance = 0);
1169 diguyCharacter* get_random_active_character_in_group(
const char* group_name,
1170 float max_distance = 10,
1171 int check_visibility = 1,
1172 int xy_distance = 0);
1199 float get_distance_to_impact(
diguyImpact* impact);
1227 float get_random_factor();
1279 #ifdef CPLUSPLUS_ONLY
1300 void* get_graphics_ptr();
1327 int set_graphics_ptr(
void* graphics_ptr);
1345 void set_graphics_api_node_ptr(
void* node_ptr);
1352 void* get_graphics_api_node_ptr();
1370 int set_user_data(
void* user_data);
1377 void* get_user_data();
1436 int set_desired_action(
const char* action_name,
1438 int retain_path_shape = 0);
1444 const char* get_desired_action();
1447 int get_desired_action_index();
1450 const char* get_current_action();
1453 int get_current_action_index();
1473 int get_is_in_action_transition();
1531 int force_action(
const char* action_name,
1533 int include_transition_arc = 1,
1534 float max_rampdown_interval = 0.5f,
1535 int retain_path_shape = 0,
1536 float t_offset_into_new_action = 0.0f);
1567 int force_action_with_duration(
const char* action_name,
1569 int include_transition_arc = 1,
1570 float max_rampdown_interval = 0.5f);
1602 int force_action_and_path_shape(
const char* action_name,
1603 const char* path_shape_name,
1604 const char* waypoint_name = NULL,
1605 float distance_into_path = 0.0f);
1619 const char* get_most_recent_forced_action();
1632 float get_most_recent_forced_action_t();
1646 float get_most_recent_forced_action_t_offset();
1673 int add_pending_desired_action(
const char* action,
1675 int remove_existing_pending_actions = 0,
1677 int retain_path_shape = 1);
1693 int add_pending_force_action(
const char* action,
1695 int remove_existing_pending_actions = 0,
1697 int include_transition_arc = 1,
1698 float max_rampdown_interval = 0.5f,
1699 int retain_path_shape = 1,
1700 float first_arc_time_shift = 0.0f);
1708 int is_valid_action(
const char* action);
1743 int die_now(
const char* preferred_dead_action_name =
"(default)");
1758 int revive_now(
const char* preferred_revive_action_name =
"(default)");
1799 int set_speed(
float speed);
1818 float get_desired_speed();
1843 int set_animation_target_el(
float elevation,
float ramp_time = .25f);
1846 float get_animation_target_el();
1854 int set_animation_target_az(
float azimuth,
float ramp_time = .25f);
1857 float get_animation_target_az();
1879 void set_animation_velocity(
float vel_x,
float vel_y,
float vel_z,
float ramp_time = .25f);
1882 void get_animation_velocity(
float *vel_x,
float *vel_y,
float *vel_z);
1894 void set_animation_local_velocity(
float vel_x,
float vel_y,
float vel_z,
float ramp_time = .25f);
1897 void get_animation_local_velocity(
float *vel_x,
float *vel_y,
float *vel_z);
1905 void set_animation_angular_velocity(
float vel_rz,
float ramp_time = .25f);
1908 float get_animation_angular_velocity();
1959 int set_position(
float tx,
float ty,
float tz);
1981 int set_position_double(
double tx,
double ty,
double tz);
2001 int get_position(
float* tx,
float* ty,
float* tz);
2025 int get_position_double(
double* tx,
double* ty,
double* tz);
2053 int set_position_relative_to_parent(
float tx,
float ty,
float tz);
2074 int get_position_relative_to_parent(
float* tx,
float* ty,
float* tz);
2108 int set_position_to_other_character_position(
const char* other_character_name,
2109 const char* other_link_name = NULL,
2110 float offset_x = 0.0f,
float offset_y = 0.0f,
float offset_z = 0.0f,
2111 int also_set_orientation = 1);
2134 int set_desired_position(
float tx,
float ty,
float tz,
2135 int force_guide_unacquired = 0);
2137 int set_desired_position_double(
double tx,
double ty,
double tz,
2138 int force_guide_unacquired = 0);
2159 int set_desired_position_to_current_position(
int also_set_orientation = 1);
2189 int set_desired_position_to_waypoint(
diguyWaypoint* waypoint,
2190 float offset_x = 0.0f,
float offset_y = 0.0f,
float offset_z = 0.0f,
2191 int offset_in_world_coords = 0);
2214 int set_desired_position_to_path_waypoint(
const char* path_name,
2215 const char* waypoint_name);
2238 int set_desired_position_to_path_shape_waypoint(
const char* path_shape_name,
2239 const char* waypoint_name);
2260 int get_desired_position(
float* tx,
float* ty,
float* tz);
2261 int get_desired_position_double(
double* tx,
double* ty,
double* tz);
2282 int get_delta_to_desired_position(
float* tx,
float* ty,
float* tz);
2301 int set_initial_position(
float tx,
float ty,
float tz);
2324 int get_initial_position(
float* tx,
float* ty,
float* tz);
2356 int set_orientation(
float rz,
float rx,
float ry);
2382 int get_orientation(
float* rz,
float* rx,
float* ry);
2410 int set_orientation_relative_to_parent(
float rz,
float rx,
float ry);
2432 int get_orientation_relative_to_parent(
float* rz,
float* rx,
float* ry);
2482 int set_initial_up_vector_type(
char axis);
2491 int set_initial_up_vector(
char axis);
2498 char get_initial_up_vector_type();
2507 char get_initial_up_vector();
2530 int set_up_vector_type(
char axis);
2539 int set_up_vector(
char axis);
2546 char get_up_vector_type();
2555 char get_up_vector();
2585 int set_custom_orientation_rx_and_ry(
float rx,
2608 int set_desired_orientation(
float rz,
float rx,
float ry,
2609 int force_guide_unacquired = 0);
2631 int get_desired_orientation(
float* rz,
float* rx,
float* ry);
2654 int get_delta_to_desired_orientation(
float* rz,
float* rx,
float* ry);
2671 int set_desired_orientation_to_current_orientation();
2688 int set_desired_orientation_towards_position(
float x,
float y,
float z,
2689 int force_guide_unacquired = 0);
2709 int set_initial_orientation(
float rz,
float rx,
float ry);
2734 int get_initial_orientation(
float* rz,
float* rx,
float* ry);
2756 int get_link_position(
const char* link_name,
2757 float* tx,
float* ty,
float* tz,
2758 float* rz,
float* rx,
float* ry);
2780 int get_link_position_double(
const char* link_name,
2781 double* tx,
double* ty,
double* tz,
2782 double* rz,
double* rx,
double* ry);
2804 int get_link_position_with_offset(
const char* link_name,
2805 float offset_tx,
float offset_ty,
float offset_tz,
2806 float* tx,
float* ty,
float* tz,
2807 float* rz,
float* rx,
float* ry);
2829 int get_link_position_with_offset_double(
const char* link_name,
2830 double offset_tx,
double offset_ty,
double offset_tz,
2831 double* tx,
double* ty,
double* tz,
2832 double* rz,
double* rx,
double* ry);
2856 int get_link_relative_position(
const char* beginning_link_name,
2857 const char* ending_link_name,
2858 float* tx,
float* ty,
float* tz,
2859 float* rz,
float* rx,
float* ry);
2884 int get_link_relative_position_with_offset(
const char* beginning_link_name,
2885 const char* ending_link_name,
2886 float offset_tx,
float offset_ty,
float offset_tz,
2887 float* tx,
float* ty,
float* tz,
2888 float* rz,
float* rx,
float* ry);
2916 void set_apply_actor_scale_to_action_bead_travel(
int apply_scale_flag);
2923 int get_apply_actor_scale_to_action_bead_travel();
2936 int local_to_global(
float x,
float y,
float z,
2937 float* res_x,
float* res_y,
float* res_z);
2950 int global_to_local(
float x,
float y,
float z,
2951 float* res_x,
float* res_y,
float* res_z);
2968 void get_velocity(
float* vel_x,
float* vel_y,
float* vel_z);
2979 void set_desired_velocity(
float vel_x,
float vel_y,
float vel_z,
float ramp_time = 0.0);
2980 void get_desired_velocity(
float *vel_x,
float *vel_y,
float *vel_z);
2996 void get_angular_velocity(
float* vel_rz);
3005 void set_desired_angular_velocity(
float vel_rz);
3006 void get_desired_angular_velocity(
float* vel_rz);
3031 const char* get_appearance();
3052 int set_appearance(
const char* appearance);
3084 int set_current_appearance(
const char* appearance,
3085 int allow_actor_change = 1);
3092 const char* get_current_appearance();
3107 int get_current_appearance_is(
const char* appearance);
3125 int set_current_head_appearance(
const char* head_appearance);
3132 int set_head_appearance(
const char* head_appearance);
3135 const char* get_current_head_appearance();
3148 int get_current_head_appearance_is(
const char* head_appearance);
3167 int set_hand_item(
const char* hand_item_appearance);
3176 const char* get_hand_item();
3193 int set_current_hand_item(
const char* hand_item_appearance);
3201 const char* get_current_hand_item();
3283 int set_lod_ranges(
float* lod_ranges);
3285 #ifdef CPLUSPLUS_ONLY
3286 float* get_lod_ranges();
3311 int set_graphics_lod(
int lod);
3314 int get_graphics_lod();
3333 int set_shader_lod(
int lod);
3336 int get_shader_lod();
3373 int set_motion_lod(
int motion_lod);
3376 int get_motion_lod();
3379 int get_current_motion_lod();
3442 int set_minimum_cpl(
int minimum_cpl);
3445 int get_minimum_cpl();
3462 int get_maximum_possible_current_cpl();
3484 int maximize_current_cpl();
3505 int set_automatic_cpl_switching_enabled(
int enabled);
3508 int get_automatic_cpl_switching_enabled();
3533 int set_current_cpl(
int current_cpl);
3536 int get_current_cpl();
3573 int set_position_update_rate(
int update_rate);
3576 int get_position_update_rate();
3611 int set_pose_update_rate(
int update_rate);
3614 int get_pose_update_rate();
3640 int set_minimum_full_update_period(
float min_period);
3643 float get_minimum_full_update_period();
3670 int set_position_accumulation_disabled(
int disabled_flag);
3673 int get_position_accumulation_disabled();
3696 int set_all_blends_disabled(
int disabled_flag);
3699 int get_all_blends_disabled();
3728 int set_shape_switches_disabled(
int disabled_flag);
3731 int get_shape_switches_disabled();
3761 int set_shape_callbacks_disabled(
int disabled_flag);
3764 int get_shape_callbacks_disabled();
3785 int set_graphics_api_shape_update_disabled(
int disabled_flag);
3788 int get_graphics_api_shape_update_disabled();
3827 int optimized_update(
float t);
3852 int set_is_load_managed(
int is_load_managed);
3855 int get_is_load_managed();
4307 CALLBACK_ID_CREATE = 1,
4308 CALLBACK_ID_DESTROY,
4309 CALLBACK_ID_PRE_CREATE,
4310 CALLBACK_ID_CURRENT_APPEARANCE_CHANGED,
4311 CALLBACK_ID_CURRENT_HEAD_APPEARANCE_CHANGED,
4312 CALLBACK_ID_CURRENT_HAND_ITEM_APPEARANCE_CHANGED,
4313 CALLBACK_ID_SHAPE_VISIBILITY_CHANGED,
4314 CALLBACK_ID_PRE_UPDATE,
4315 CALLBACK_ID_POST_UPDATE,
4316 CALLBACK_ID_DONE_SPEAKING,
4317 CALLBACK_ID_GAZE_STATUS,
4318 CALLBACK_ID_LPOINT_STATUS,
4321 CALLBACK_ID_PRE_DIE,
4322 CALLBACK_ID_POST_DIE,
4323 CALLBACK_ID_PRE_FIRE_WEAPON,
4324 CALLBACK_ID_POST_FIRE_WEAPON,
4326 CALLBACK_ID_FIRE_WEAPON_SUCCESS,
4327 CALLBACK_ID_CURRENT_ACTION_CHANGED,
4328 CALLBACK_ID_DESIRED_ACTION_CHANGED,
4329 CALLBACK_ID_DESIRED_ACTION_REACHED,
4330 CALLBACK_ID_MANUALLY_INVOKED,
4331 CALLBACK_ID_USER_SELECTED,
4332 CALLBACK_ID_USER_UNSELECTED,
4333 CALLBACK_ID_IGUY_INTERACT,
4334 CALLBACK_ID_IGUY_INTERACT_WITH_SUBJECT,
4335 CALLBACK_ID_GUIDE_POSITION_ACQUIRED,
4336 CALLBACK_ID_GUIDE_POSITION_UNACQUIRED,
4337 CALLBACK_ID_GUIDE_ORIENTATION_ACQUIRED,
4338 CALLBACK_ID_GUIDE_ORIENTATION_UNACQUIRED,
4339 CALLBACK_ID_GUIDE_ALTITUDE_ACQUIRED,
4340 CALLBACK_ID_GUIDE_ALTITUDE_UNACQUIRED,
4341 CALLBACK_ID_GUIDE_TARGET_LOST,
4342 CALLBACK_ID_CURRENT_TOUT_REACHED,
4343 CALLBACK_ID_POST_CREATE_GEOMETRY,
4344 CALLBACK_ID_PRE_DESTROY_GEOMETRY,
4345 CALLBACK_ID_END_OF_PATH_REACHED,
4346 CALLBACK_ID_CHARACTER_CLICKED,
4349 CALLBACK_ID_UI_PRE_TRANSLATION,
4350 CALLBACK_ID_UI_POST_TRANSLATION,
4351 CALLBACK_ID_UI_MOUSE_DOWN,
4352 CALLBACK_ID_UI_MOUSE_UP,
4353 CALLBACK_ID_UI_RIGHT_MOUSE_DOWN,
4354 CALLBACK_ID_UI_RIGHT_MOUSE_UP,
4355 CALLBACK_ID_UI_LEFT_CLICK,
4356 CALLBACK_ID_UI_RIGHT_CLICK,
4357 CALLBACK_ID_UI_DOUBLE_CLICK,
4358 CALLBACK_ID_UI_MIDDLE_CLICK,
4359 CALLBACK_ID_UI_SCROLL_UP,
4360 CALLBACK_ID_UI_SCROLL_DOWN,
4364 CALLBACK_ID_AGENT_NEW_BEHAVIOR,
4365 CALLBACK_ID_AGENT_NEW_PATH_SHAPE,
4366 CALLBACK_ID_AGENT_NEW_FOCUS_CHARACTER,
4367 CALLBACK_ID_AGENT_ATTACK_OUT_OF_TARGETS,
4368 CALLBACK_ID_AGENT_ATTACK_NO_VISIBLE_TARGETS,
4369 CALLBACK_ID_AGENT_PURSUE_TARGET_REACHED,
4370 CALLBACK_ID_AGENT_PURSUE_TARGET_LOST,
4371 CALLBACK_ID_AGENT_MINGLE_TARGET_REACHED,
4372 CALLBACK_ID_AGENT_MINGLE_TARGET_LOST,
4373 CALLBACK_ID_AGENT_WANDER_TARGET_REACHED,
4374 CALLBACK_ID_AGENT_WANDER_TARGET_LOST,
4375 CALLBACK_ID_AGENT_FLEE_AREA_LEFT,
4376 CALLBACK_ID_AGENT_FLEE_AREA_ENTERED,
4377 CALLBACK_ID_AGENT_TRAVEL_WAYPOINT_REACHED,
4378 CALLBACK_ID_AGENT_TRAVEL_FORWARD_DEST_REACHED,
4379 CALLBACK_ID_AGENT_TRAVEL_BACKWARD_DEST_REACHED,
4380 CALLBACK_ID_AGENT_TRAVEL_NEAR_FORWARD_DEST,
4381 CALLBACK_ID_AGENT_CROWD_MEMBER_KILLED,
4382 CALLBACK_ID_AGENT_CROWD_MEMBER_IMPACT,
4383 CALLBACK_ID_AGENT_NEARBY_SCENE_OBJECT_IMPACT,
4384 CALLBACK_ID_AGENT_NEARBY_WEAPON_FIRED,
4385 CALLBACK_ID_AGENT_VEHICLE_COLLISION,
4386 CALLBACK_ID_AGENT_VEHICLE_NEAR_COLLISION,
4387 CALLBACK_ID_AGENT_PATH_PLAN_COMPLETED,
4388 CALLBACK_ID_AGENT_MIND_CURRENT_STATE_CHANGED,
4389 CALLBACK_ID_AGENT_NON_ZERO_REPULSION,
4390 CALLBACK_ID_AGENT_ZERO_REPULSION
4393 #ifdef CPLUSPLUS_ONLY
4421 int add_callback(
int callback_id,
4423 void* callback_params = 0,
4424 void* callback_user_data = 0);
4442 int remove_callback(
int callback_id,
4462 int remove_callback_with_user_data(
int callback_id,
4463 void* callback_user_data);
4515 int add_callback_script(
int callback_id,
4516 const char* callback_script,
4517 const char* callback_script_type = NULL);
4558 int remove_callback_script(
int callback_id,
4559 const char* callback_script,
4560 const char* callback_script_type = NULL);
4601 int map_event_handler_to_callback_id(
int callback_id,
4602 const char* handler_name);
4621 int unmap_event_handler_from_callback_id(
int callback_id,
4622 const char* handler_name,
4623 int unmap_all_matches = 0);
4743 const char* transition_from_action_name,
4744 const char* fill_action_name,
4745 const char* transition_to_action_name);
4770 const char* transition_from_action_name,
4771 const char* fill_action_name,
4772 const char* transition_to_action_name);
4814 int create_and_force_bridge_path(
const char* destination_path_name,
4815 const char* destination_path_action_bead_name,
4816 const char* via_action_name);
4866 int create_and_force_bridge_path_to_point(
float x,
float y,
float z,
4868 const char* via_action_name,
4869 const char* next_local_path = NULL,
4870 float orientation = 0.0f);
4897 int get_num_paths();
4917 const char* get_path_name_at_index(
int index);
4936 int get_current_path_index();
4969 int get_current_traveled_path_is(
const char* path_name);
4990 int push_path(
const char* path_name);
5015 int force_path(
const char* path_name,
5016 float max_rampdown_interval = 0.5f);
5029 int force_partial_path(
const char* path_name,
5030 const char* beginning_action_bead_name,
5031 float max_rampdown_interval = 0.5f);
5067 int resume_interrupted_path(
float max_rampdown_interval = 0.5f);
5092 int use_character_orientation,
5093 float rotation = 0.0f,
5094 int clamp_path = 1);
5110 int set_initial_path(
const char* name);
5124 const char* get_initial_path();
5136 void translate_all_paths(
float tx,
float ty,
float tz,
5137 int reclamp_waypoints = 1);
5155 int rotate_all_paths_about_point(
float rz,
float rx,
float ry,
5156 float rotation_pt_x,
float rotation_pt_y,
float rotation_pt_z,
5157 int reclamp_waypoints = 1);
5174 int rotate_all_paths_about_current_waypoint(
float rz,
float rx,
float ry,
5175 int reclamp_waypoints = 1);
5197 int jump_to_action_bead(
const char* bead_name,
5198 float max_rampdown_interval = 0.5f);
5235 float how_far = 0.0f);
5256 float how_far = 0.0f);
5277 float how_far = 0.0f);
5298 float how_far = 0.0f);
5322 int set_distance_along_path(
float distance);
5334 float get_distance_along_path();
5368 int get_nearest_waypoint_index_in_path(
const char* path_name);
5375 float get_distance_to_path(
const char* path_name,
5376 const char* action_bead_name = NULL);
5411 int get_num_links();
5449 const char* get_link_name_at_index(
int link_index);
5460 int get_num_link_shapes(
const char* link_name);
5472 const char* get_link_shape_name_at_index(
const char* link_name,
5476 int get_num_connection_points();
5480 const char * get_connection_point_name_at_index(
int index);
5491 void set_link_visibility(
const char* link_or_connection_name,
int visible,
int shape_index = -1);
5515 #ifdef CPLUSPLUS_ONLY
5594 int set_altitude_function_enabled_in_free_position_mode(
int enabled);
5603 int get_altitude_function_enabled_in_free_position_mode();
5629 int set_altitude_function_enabled_in_path_position_mode(
int value);
5638 int get_altitude_function_enabled_in_path_position_mode();
5664 int set_altitude_update_rate(
int update_rate);
5667 int get_altitude_update_rate();
5691 void set_altitude_interpolation_rate(
float interpolation_rate);
5694 float get_altitude_interpolation_rate();
5818 int get_pose_array_size();
5820 #ifdef CPLUSPLUS_ONLY
5853 int get_pose_in_radians(
float* pose_array);
5901 int get_num_pose_overrides();
5944 void destroy_complete_pose_override();
5987 int gaze_at_angle(
float azimuth,
5990 int is_new_gaze = 1);
6005 int gaze_at_angle_local(
float azimuth,
6007 float distance = 10000.0f,
6008 int is_new_gaze = 1);
6033 int gaze_at_point(
float tx,
6036 int is_new_gaze = 1);
6048 int gaze_at_point_local(
float tx,
6051 int is_new_gaze = 1);
6087 int gaze_at_character(
const char* target_character_name,
6088 const char* target_character_link_name = NULL,
6089 float offset_tx = 0.0f,
6090 float offset_ty = 0.0f,
6091 float offset_tz = 0.0f);
6098 int get_gaze_is_active();
6106 int get_gaze_point(
float* x,
float* y,
float* z);
6133 int get_gaze_is_acquired();
6160 int get_gaze_is_steady();
6197 int lpoint_at_angle(
float azimuth,
6200 int is_new_lpoint = 1,
6201 const char* base_gesture_name = 0);
6213 int lpoint_at_angle_local(
float azimuth,
6215 float distance = 10000.0f,
6216 int is_new_lpoint = 1,
6217 const char* base_gesture_name = 0);
6250 int lpoint_at_point(
float tx,
6253 int is_new_lpoint = 1,
6254 const char* base_gesture_name = 0);
6266 int lpoint_at_point_local(
float tx,
6269 int is_new_lpoint = 1,
6270 const char* base_gesture_name = 0);
6281 int lpoint_at_character(
const char* target_character_name,
6282 const char* target_character_link_name = NULL,
6283 float offset_tx = 0.0f,
6284 float offset_ty = 0.0f,
6285 float offset_tz = 0.0f);
6293 int get_lpoint_point(
float* x,
float* y,
float* z);
6300 const char* get_lpoint_base_gesture_name();
6307 int get_lpoint_is_active();
6317 int get_lpoint_is_acquired();
6327 int get_lpoint_is_steady();
6359 int set_gaze_params_to_defaults();
6390 int set_gaze_param_desired_locate_time(
float t);
6397 float get_gaze_param_desired_locate_time();
6431 int set_gaze_link_uses_desired_locate_time(
const char* link_name,
6432 int uses_desired_locate_time);
6439 int get_gaze_link_uses_desired_locate_time(
const char* link_name);
6466 int set_gaze_link_azimuth_limits(
const char* link_name,
float min,
float max);
6473 int get_gaze_link_azimuth_limits(
const char* link_name,
6502 int set_gaze_link_elevation_limits(
const char* link_name,
6507 int get_gaze_link_elevation_limits(
const char* link_name,
6546 int set_gaze_link_azimuth_tolerance(
const char* link_name,
6551 int get_gaze_link_azimuth_tolerance(
const char* link_name,
6579 int set_gaze_link_elevation_tolerance(
const char* link_name,
6584 int get_gaze_link_elevation_tolerance(
const char* link_name,
6611 int set_gaze_link_max_angular_vel(
const char* link_name,
float angular_vel);
6614 int get_gaze_link_max_angular_vel(
const char* link_name,
float* angular_vel);
6651 int set_gaze_link_scale_factor(
const char* link_name,
float scale_factor);
6654 int get_gaze_link_scale_factor(
const char* link_name,
float* scale_factor);
6680 int set_link_enabled_for_gaze(
const char* link_name,
int enabled);
6683 int get_link_enabled_for_gaze(
const char* link_name);
6701 int set_gaze_can_change_posture(
int enabled);
6704 int get_gaze_can_change_posture();
6722 int set_gaze_can_change_variant(
int enabled);
6725 int get_gaze_can_change_variant();
6751 int set_link_enabled_for_lpoint(
const char* link_name,
int enabled);
6754 int get_link_enabled_for_lpoint(
const char* link_name);
6780 int set_nod(
float azimuth,
6782 float duration = 0.5f);
6828 int nod_head(
float duration,
6830 float nod_elevation0 = 15.0f,
6831 float nod_elevation1 = 0.0f,
6832 float nod_elevation_out = 0.0f);
6860 int shake_head(
float duration,
6862 float shake_azimuth0 = -20.0f,
6863 float shake_azimuth1 = 20.0f,
6864 float shake_azimuth_out = 0.0f);
6872 float get_nod_azimuth();
6880 float get_nod_elevation();
6929 int set_aim(
float azimuth,
float elevation);
6968 int aim_at_angle(
float azimuth,
6971 int is_new_aim = 1);
6987 int aim_at_angle_local(
float azimuth,
6990 int is_new_aim = 1);
7016 int aim_at_point(
float x,
float y,
float z,
int is_new_aim = 1);
7029 int aim_at_point_local(
float x,
float y,
float z,
int is_new_aim = 1);
7069 int aim_at_character(
const char* target_character_name,
7070 const char* target_character_link_name = NULL,
7071 float offset_tx = 0.0f,
7072 float offset_ty = 0.0f,
7073 float offset_tz = 0.0f);
7085 const char * get_aim_at_character();
7088 float get_aim_azimuth();
7091 float get_aim_elevation();
7108 int get_aim_trajectory(
float* muzzle_x,
float* muzzle_y,
float* muzzle_z,
7109 float* far_x,
float* far_y,
float* far_z);
7122 int get_aim_is_possible();
7129 int get_aim_is_acquired();
7137 int get_aim_is_steady();
7145 int get_is_aiming();
7187 void set_aim_param_acquire_factor(
float factor);
7194 float get_aim_param_acquire_factor();
7211 void set_aim_param_new_aim_factor(
float factor);
7214 float get_aim_param_new_aim_factor();
7240 void set_aim_param_new_aim_duration(
float duration);
7243 float get_aim_param_new_aim_duration();
7258 void set_aim_param_max_per_frame_adj_factor(
float factor);
7261 float get_aim_param_max_per_frame_adj_factor();
7281 void set_aim_param_azimuth_acquired_range(
float range);
7284 float get_aim_param_azimuth_acquired_range();
7304 void set_aim_param_elevation_acquired_range(
float range);
7307 float get_aim_param_elevation_acquired_range();
7318 void set_aim_converge_every_frame(
int enabled );
7321 int get_aim_converge_every_frame();
7328 const char* get_aim_at_link();
7332 int get_aim_at_link_offset(
float* offset_x,
float* offset_y,
float* offset_z);
7335 const char* get_gaze_at_link();
7338 int get_gaze_at_link_offset(
float* offset_x,
float* offset_y,
float* offset_z);
7410 int fire_weapon_n_times(
int count,
7412 const char* override_sound_name = NULL,
7430 int fire_screen_space_bullet(
diguyView* view,
float x,
float y);
7458 int set_default_weapon_muzzle(
diguyMuzzle muzzle);
7525 const char* get_weapon_muzzle_munition_type(
diguyMuzzle muzzle);
7528 const char* get_default_muzzle_munition_type();
7544 int set_weapon_munition_type_override(
const char* munition_type);
7547 const char* get_weapon_munition_type_override();
7570 int set_weapon_fires_live_rounds(
int weapon_fires_live_rounds);
7580 int get_weapon_fires_live_rounds();
7607 int set_weapon_sound_override(
const char* sound_name);
7622 const char* get_weapon_sound_override();
7647 int set_weapon_sound_gain_override(
float gain);
7650 float get_weapon_sound_gain_override();
7674 void set_weapon_spread(
float spread);
7696 void set_weapon_near_range(
float near_range);
7711 void set_weapon_far_range(
float far_range);
7723 void set_weapon_hit_ratio(
float hit_ratio);
7734 void set_weapon_max_impacts(
int val);
7741 int get_accessory1_state();
7748 int get_rifle_state();
7767 int set_weapon_projectile_is_visible(
diguyMuzzle muzzle,
int is_visible);
7783 int get_weapon_projectile_is_visible(
diguyMuzzle muzzle);
7817 int get_weapon_aim_vector(
float* muzzle_tx,
float* muzzle_ty,
float* muzzle_tz,
7818 float* end_pt_tx = NULL,
float* end_pt_ty = NULL,
float* end_pt_tz = NULL,
7819 float* muzzle_rz = NULL,
float* muzzle_rx = NULL,
float* muzzle_ry = NULL,
7820 int in_character_local_coordinates = 0,
7860 float* offset_x = NULL,
7861 float* offset_y = NULL,
7862 float* offset_z = NULL);
7879 int set_weapon_max_azimuth_error(
float h_error);
7882 float get_weapon_max_azimuth_error();
7889 int set_weapon_max_elevation_error(
float v_error);
7892 float get_weapon_max_elevation_error();
7908 int set_weapon_tracers_enabled(
int enabled);
7911 int get_weapon_tracers_enabled();
7918 int get_weapon_rounds_until_tracer(
diguyMuzzle muzzle);
7934 int set_weapon_shell_eject_enabled(
int enabled);
7937 int get_weapon_shell_eject_enabled();
7953 int set_weapon_smoke_enabled(
int enabled);
7956 int get_weapon_smoke_enabled();
7976 int trigger_detonation_on_character(
const char* munition_name,
7977 const char* attacker_name = NULL,
7978 float radius_override = -1.0f,
7979 int broadcast_on_network = 1);
8036 int set_face_expression(
const char* facex_name,
float blend_duration,
float strength = 1.0f);
8059 int set_orientation_eyes(
float azimuth,
8061 float blend_time = 0.0f);
8071 int get_orientation_eyes(
float* azimuth,
float* elevation);
8089 int set_eye_droop(
float droop_amount,
float blend_time = 0.0f);
8092 float get_eye_droop();
8119 int blink(
float duration_in = 0.1f,
8120 float duration_out = 0.2f,
8121 float target_in = 1.0f,
8122 float target_out = 0.0f,
8159 int set_automatic_blinks_enabled(
int enabled,
8160 float period = 6.0f,
8161 float period_variation = 3.0f);
8164 int get_automatic_blinks_enabled();
8180 void set_automatic_blink_duration_in(
float duration_in);
8183 float get_automatic_blink_duration_in();
8199 void set_automatic_blink_duration_out(
float duration_out);
8202 float get_automatic_blink_duration_out();
8218 void set_automatic_blink_target_in(
float target_in);
8221 float get_automatic_blink_target_in();
8237 void set_automatic_blink_target_out(
float target_out);
8240 float get_automatic_blink_target_out();
8258 int set_current_facefx_animation_group(
const char* anim_group);
8265 const char* get_current_facefx_animation_group();
8273 const char* get_facefx_actor();
8281 int facefx_mount_animset(
const char* file_name);
8291 int play_facefx_animation(
const char* animation,
8292 float magnitude_scale = 1.0f,
8293 float duration_scale = 1.0f,
8294 float blendin_time = 0.1f,
8295 float blendout_time = 0.1f,
8303 int stop_facefx_animations(
float blend_time = 0.25f,
int stop_sounds = 1);
8315 int get_num_facefx_nodes();
8323 const char* get_facefx_node_name(
int index);
8330 int find_facefx_node_index(
const char* node_name);
8339 int set_facefx_node_value(
int node_index,
8341 float blend_time = 0.25f);
8348 float get_facefx_node_value(
int node_index);
8482 int execute_gesture(
const char* gesture_name,
8529 int execute_1stage_gesture(
const char* gesture_name,
8572 int execute_2stage_gesture(
const char* gesture_name,
8623 int execute_3stage_gesture(
const char* gesture_name,
8672 int execute_table_gesture(
const char* gesture_name,
8674 const char* loop_action = NULL,
8675 const char* begin_action = NULL,
8676 const char* end_action = NULL);
8683 int set_executing_table_gesture_desired_action(
const char* gesture_name,
8684 const char* desired_action);
8708 int end_executing_gesture(
const char* gesture_name);
8740 int abort_executing_gesture(
const char* gesture_name,
8741 float max_rampdown_interval);
8761 int end_all_gestures();
8791 int abort_all_gestures(
float max_rampdown_interval);
8859 int play_sound(
const char* sound_name,
8860 float sound_gain = 1.0f,
8861 int sound_loops = 0);
8900 int play_3d_sound(
const char* sound_name,
8901 float sound_gain = 1.0f,
8902 int sound_loops = 0);
8978 int stop_all_sounds(
float rampdown_time = 0.0f);
9005 int stop_sound(
const char* sound_name,
float rampdown_time = 0.0f);
9012 int is_playing_sound(
const char* sound_name);
9083 int set_current_voice_actor(
const char* voice_actor);
9086 const char* get_current_voice_actor();
9158 int get_DIS_lifeform_state();
9179 int get_DIS_primary_weapon_position();
9200 int get_DIS_secondary_weapon_position();
9221 int set_network_marking(
const char* network_marking);
9243 const char* get_network_marking();
9267 int set_is_network_published(
int is_network_published);
9289 int get_is_network_published();
9298 DtEntityStateRepository * get_vrlink_entity_state_repository();
9319 int get_is_network_reflected();
9344 int get_is_network_paused();
9352 int set_is_network_paused(
int paused);
9373 int get_network_entity_number();
9435 const char* get_action_from_entity_state(
int damage_state,
9436 int life_form_state,
9437 int primary_weapon_state,
9462 void set_DIS_damage_state(
int state);
9473 int get_DIS_damage_state();
9481 const char * get_damage_state_appearance_name(
int state);
9505 void set_DIS_smoke_state(
int state);
9516 int get_DIS_smoke_state();
9537 void set_DIS_flames_state(
int state);
9548 int get_DIS_flames_state();
9569 void set_DIS_power_plant_state(
int state);
9580 int get_DIS_power_plant_state();
9584 void set_emissivity(
float r,
float g,
float b,
float lerp_time = .25);
9588 void get_emissivity(
float *r,
float *g,
float *b);
9610 void set_DIS_trailing_effect_state(
int state);
9622 int get_DIS_trailing_effect_state();
9625 void set_head_lights_state(
int state);
9628 int get_head_lights_state()
const;
9631 void set_tail_lights_state(
int state);
9634 int get_tail_lights_state()
const;
9675 int call_formation(
const char* formation_name,
9676 int snap_to_position_flag = 0,
9677 int break_existing_formations_flag = 1);
9696 int break_formation(
const char* formation_name = NULL);
9737 int automatically_disable_when_acquired = 0);
9765 const char* guide_algorithm,
9766 int automatically_disable_when_acquired = 0);
9787 const char* guide_algorithm,
9788 int automatically_disable_when_acquired = 0);
9822 int remove_guide_with_name(
const char* guide_name);
9849 int remove_all_guides();
9860 int remove_all_disabled_guides();
9910 int add_motion_texture(
const char* motex_name =
"default",
9911 float texture_gain = 1.0f,
9912 int end_previous_motex = 1,
9913 float rampup_interval = 0.2f);
9930 int end_motion_texture(
float rampdown_interval = 0.2f);
9955 int set_initial_motion_texture(
const char* motex_name);
9967 const char* get_initial_motion_texture();
9985 int set_initial_motion_texture_gain(
float motex_gain);
9997 float get_initial_motion_texture_gain();
10087 int set_history_size_t(
float t);
10099 float get_history_size_t();
10115 int set_history_size_increment_t(
float t);
10127 float get_history_size_increment_t();
10360 int match_posture_before_variant = 1,
10365 int return_random_match = 0);
10434 int match_posture_before_variant = 1,
10456 int get_num_variables();
10529 int variable_equal_to_int(
const char* varname,
int value);
10544 int variable_greater_than_int(
const char* varname,
int value);
10559 int variable_less_than_int(
const char* varname,
int value);
10574 int variable_equal_to_float(
const char* varname,
float value);
10589 int variable_greater_than_float(
const char* varname,
float value);
10604 int variable_less_than_float(
const char* varname,
float value);
10619 int variable_equal_to_string(
const char* varname,
const char* value);
10634 int variable_greater_than_string(
const char* varname,
const char* value);
10649 int variable_less_than_string(
const char* varname,
const char* value);
10667 int variable_decrement_value_as_int(
const char* varname,
int value = 1);
10685 int variable_increment_value_as_int(
const char* varname,
int value = 1);
10707 int variable_set_value_as_int(
const char* varname,
10709 int create_if_doesnt_exist = 1);
10716 int set_ivar(
const char* varname,
10718 int create_if_doesnt_exist = 1);
10740 int get_ivar(
const char* varname,
10741 int create_if_doesnt_exist = 1);
10749 int variable_set_value_as_float(
const char* varname,
10751 int create_if_doesnt_exist = 1);
10758 int set_fvar(
const char* varname,
10760 int create_if_doesnt_exist = 1);
10771 float get_fvar(
const char* varname,
10772 int create_if_doesnt_exist = 1);
10780 int variable_set_value_as_string(
const char* varname,
10782 int create_if_doesnt_exist = 1);
10789 int set_svar(
const char* varname,
10791 int create_if_doesnt_exist = 1);
10802 const char* get_svar(
const char* varname,
10803 int create_if_doesnt_exist = 1);
10851 int set_label_text(
const char* label_text);
10863 const char* get_label_text();
10883 int set_label_is_visible(
int is_visible);
10895 int get_label_is_visible();
10918 int set_label_text_color(
float r,
float g,
float b,
float a);
10925 int set_label_text_color_vec4(
const diguyVec4f & color);
10937 int get_label_text_color(
float* r,
float* g,
float* b,
float* a);
10967 int set_label_text_shadow_color(
float r,
float g,
float b,
float a);
10974 int set_label_text_shadow_color_vec4(
const diguyVec4f & color);
10986 int get_label_text_shadow_color(
float* r,
float* g,
float* b,
float* a);
10993 diguyVec4f get_label_text_shadow_color_vec4();
11008 int set_label_text_shadow_is_visible(
int is_visible);
11015 int get_label_text_shadow_is_visible();
11039 int set_label_background_color(
float r,
float g,
float b,
float a);
11046 int set_label_background_color_vec4(
const diguyVec4f & color);
11058 int get_label_background_color(
float* r,
float* g,
float* b,
float* a);
11065 diguyVec4f get_label_background_color_vec4();
11077 void set_label_link_offset_override(
float offset);
11084 float get_label_link_offset_override();
11101 int set_label_shows_character_state(
int show_state);
11109 int get_label_shows_character_state();
11138 int get_last_impact_number();
11145 int get_last_impact_been_processed();
11152 void set_last_impact_been_processed();
11166 void set_max_unprocessed_impacts(
int max_unprocessed_impacts);
11173 int get_max_unprocessed_impacts();
11180 const char* get_last_impact_link();
11187 int get_last_impact_link_is(
const char* link_name);
11195 int get_last_impact_is_from_vehicle();
11203 int get_last_impact_speed_is_greater_than(
float impact_speed);
11211 void set_is_immune_to_impacts(
int immune);
11219 int get_is_immune_to_impacts();
11285 int begin_appearance_effect(
const char* effect,
11286 const char* override_link = NULL,
11319 int end_appearance_effect(
const char* effect,
11320 const char* override_link = NULL);
11348 int stop_appearance_effect(
const char* effect,
11349 const char* override_link = NULL);
11356 int stop_all_appearance_effects();
11373 int appearance_effect_is_active(
const char* effect,
11374 const char* override_link = NULL);
11457 int get_vehicle_body_orientation(
float* rz,
float* rx,
float* ry);
11510 int set_render_mode_shader(
const char* shader_name,
11511 const char* render_mode = NULL);
11532 void reset_render_mode_shader_to_default(
const char* render_mode = NULL);
11550 const char* get_render_mode_shader(
const char* render_mode = NULL);
11587 int set_temporary_current_shader(
const char* shader_name);
11599 void reset_current_shader_to_default();
11608 void trigger_shader_refresh();
11634 void reset_shader_instance_variables_to_initial_values();
11642 void reset_shader_instance_variables_to_program_defaults();
11696 int agent_attack_character(
const char* character_name);
11725 int agent_attack_group(
const char* group_name);
11732 int agent_set_attack_zone_enabled(
int use_attack_zone);
11739 int agent_get_attack_zone_enabled();
11746 int agent_set_attack_zone(
float x,
float y,
float z,
float radius);
11753 int agent_get_attack_zone(
float* x,
float* y,
float* z,
float* radius);
11793 int agent_flee_character(
const char* character_name,
11795 int danger_level = 50);
11826 int agent_flee_group(
const char* group_name,
11828 int danger_level = 50);
11837 int agent_flee_crowd(
const char* crowd_name,
11839 int danger_level = 50);
11871 int agent_flee_location(
float x,
float y,
float z,
11873 int danger_level = 50);
11888 void agent_remove_all_flee_objects();
11929 int agent_mingle_in_region(
const char* region_name =
"(current)",
11930 const char* subregion_name =
"base");
11955 int agent_wander_region(
const char* region_name =
"(current)",
11956 const char* subregion_name =
"base");
11995 int agent_pursue_character(
const char* character_name);
12004 int agent_pursue_character_with_offset(
const char* character_name,
12035 int agent_pursue_group(
const char* group_name);
12047 int agent_call_formation(
const char* formation_name,
12087 int agent_travel_behavior_path(
const char* direction = NULL,
12088 const char* at_end = NULL,
12089 int waypoint_index = -1,
12090 float offset_y = 0.5f);
12098 int agent_travel_path_shape(
const char* path_shape_name,
12099 const char* direction = NULL,
12100 const char* at_end = NULL,
12101 int waypoint_index = -1,
12102 float offset_y = 0.5f);
12123 int agent_travel_region_border(
const char* region_name = NULL,
12124 const char* subregion_name =
"base");
12150 int agent_move_to_point(
float x,
float y,
float z,
12151 const char* via_region = NULL,
12152 const char* subregion_name =
"base");
12174 int agent_move_to_point_bg(
float x,
float y,
float z,
12175 const char* via_region = NULL,
12176 const char* subregion_name =
"base");
12243 int agent_move_to_point_via_subregions(
float x,
float y,
float z,
12244 const char* via_region = NULL,
12246 float cost_bias_for_preferred_regions = 0.25f,
12247 float cost_bias_for_neutral_regions = 1.1f,
12249 float cost_bias_for_repulsed_regions = 10.0f,
12250 int cost_rule = 0);
12270 int agent_move_to_point_via_subregions_bg(
float x,
float y,
float z,
12271 const char* via_region = NULL,
12273 float cost_bias_for_preferred_regions = 0.25f,
12274 float cost_bias_for_neutral_regions = 1.1f,
12276 float cost_bias_for_repulsed_regions = 10.0f,
12277 int cost_rule = 0);
12286 int get_path_planning_result();
12294 int get_is_path_planning();
12316 int agent_move_to_region(
const char* region,
12317 const char* subregion_name =
"base",
12318 const char* via_region = NULL);
12342 int agent_move_to_region_via_subregions(
const char* region_name,
12343 const char* subregion_name =
"base",
12344 const char* via_region = NULL,
12345 float cost_bias_for_preferred_regions = 0.25f,
12347 float cost_bias_for_neutral_regions = 1.1f,
12349 float cost_bias_for_repulsed_regions = 10.0f);
12385 int agent_path_follow(
const char* path_name);
12400 int agent_resume_path_follow();
12434 float agent_get_path_follow_path_t();
12441 int agent_get_path_follow_path_t_paused();
12468 int agent_begin_behavior(
const char* behavior_name);
12475 int agent_stop_behavior();
12503 int agent_set_current_focus_character(
const char* character_name);
12543 int agent_set_current_focus_group(
const char* group_name);
12597 const char* agent_get_current_params_profile_name();
12631 int agent_set_current_params_from_profile(
const char* profile_name,
12632 int retain_focus_objects = 1,
12633 int retain_navigation_values = 1,
12634 int retain_behavior = 0);
12642 int agent_set_initial_params_from_profile(
const char* profile_name);
12650 void agent_set_current_params_from_initial_params();
12671 void agent_set_current_behavior_region_border_is_solid(
int is_solid);
12682 void agent_move_on();
12695 int agent_set_auto_variant_selection(
int selection_enabled);
12702 int agent_get_auto_variant_selection();
12724 void agent_set_use_speed_zones_on_paths(
int enabled);
12731 int agent_get_use_speed_zones_on_paths();
12733 #ifdef CPLUSPLUS_ONLY
12848 int create_lua_mind(
const char* base_class,
const char* init_arg1 = NULL,
12849 const char* init_arg2 = NULL);
12857 const char *get_mind_name();
12872 const char* get_mind_current_state_name();
12884 void do_mind_current_state_changed_callback();
12898 int set_sleep_timer(
float sleep_length);
12906 float get_sleep_timer();
12919 int set_heartbeat_dt(
float heartbeat_dt);
12938 int add_secondary_heartbeat(
const char* function_name,
12939 float heartbeat_dt);
12956 int remove_secondary_heartbeat(
const char* function_name);
12974 int set_secondary_heartbeat_dt(
const char* function_name,
float heartbeat_dt);
13010 int add_wakeup_callback(
int callback);
13027 int remove_wakeup_callback(
int callback);
13039 int remove_all_wakeup_callbacks();
13051 int has_wakeup_callback(
int callback);
13070 int agent_accept_message(
const char* sender,
13071 const char* message_type,
13072 const char* message,
13073 const char* message_params = NULL);
13096 int agent_broadcast_message(
float radius,
13097 const char* message_type,
13098 const char* message,
13099 const char* message_params = NULL);
13124 int agent_broadcast_message_to_group(
const char* group_name,
13126 const char* message_type,
13127 const char* message,
13128 const char* message_params = NULL);
13137 const char* get_lua_object_name();
13144 void set_mind_field_as_string(
const char* field_name,
13145 const char* field_value);
13162 const char* get_mind_field_as_string(
const char* field_name,
13163 int warn_if_no_field = 1);
13171 void set_mind_field_as_float(
const char* field_name,
float field_value);
13183 float get_mind_field_as_float(
const char* field_name,
13184 int warn_if_no_field = 1,
13185 int* found_field = NULL);
13193 void set_mind_field_as_int(
const char* field_name,
int field_value);
13205 int get_mind_field_as_int(
const char* field_name,
13206 int warn_if_no_field = 1,
13207 int* found_field = NULL);
13234 const char* evaluate_mind_function(
const char* function_name,
13235 const char* argument = NULL,
13236 int has_return_string = 0);
13259 const char* get_ai_state_string(
int include_stack = 1,
int include_locals = 1);
13304 int los_check_type = 0);
13328 int check_point_visibility(
float x,
float y,
float z);
13349 #ifdef CPLUSPLUS_ONLY
13470 int get_num_ik_chains();
13474 const char * get_ik_chain_name_at_index(
int index);
13487 int set_ik_target_world(
int ik_chain_target,
float x,
float y,
float z,
float ramp_time = .25f);
13500 int set_ik_target_local(
int ik_chain_target,
float x,
float y,
float z,
float ramp_time = .25f);
13504 int disable_ik_target(
int ik_chain_target,
float ramp_time = .25f);
13511 void set_distance_to_primary_camera(
float camera_dist);
13514 float get_distance_to_primary_camera();
13717 void set_stop_physics_sim_at_t(
float t);
13726 void set_stop_physics_sim_in_t_seconds(
float relative_t);
13733 float get_stop_physics_sim_at_t();
13751 void apply_impulse_to_physics_sim(
const char* link,
13752 float impulse_magnitude_x,
13753 float impulse_magnitude_y,
13754 float impulse_magnitude_z,
13755 float link_offset_x = 0.0f,
13756 float link_offset_y = 0.0f,
13757 float link_offset_z = 0.0f,
13758 int set_simulation_drives_character = 1);
13784 void apply_impulse_to_physics_sim_from_world_position(
const char* link,
13785 float impulse_magnitude_x,
13786 float impulse_magnitude_y,
13787 float impulse_magnitude_z,
13788 float impulse_generator_position_x,
13789 float impulse_generator_position_y,
13790 float impulse_generator_position_z,
13791 float max_distance = 20.0f,
13792 float impulse_rolloff = 0.0f,
13793 float link_offset_x = 0.0f,
13794 float link_offset_y = 0.0f,
13795 float link_offset_z = 0.0f,
13796 int set_simulation_drives_character = 1);
13827 static int set_max_shader_quality_level(
int quality_level);
13834 static int get_max_shader_quality_level();
13850 int set_animation_events_enabled(
int enable);
13851 int get_animation_events_enabled();
13854 int get_has_bump_maps();
13872 int get_action_num_channels(
const char* action_name);
13894 int set_action_channel_weight(
const char* action_name,
13913 float get_action_channel_weight(
const char* action_name,
13929 float get_time_to_reach_desired_action();
13952 const char* get_type_map_field_using_string(
const char* field);
13976 int merge_object(
const char*
object);
13989 int is_active_character_in_group_visible(
const char* group_name,
13990 float max_distance_to_check = 100000.0f);
14007 int get_local_space_bounding_box(
float* x1,
float* y1,
float* z1,
14008 float* x2,
float* y2,
float* z2);
14020 void set_mind_always_updates(
int force_update);
14023 int get_mind_always_updates();
14029 float get_angle_to_path(
const char* path_name,
14030 const char* action_bead_name = NULL);
14037 void set_scene_graph_mask(
unsigned int mask);
14038 unsigned int get_scene_graph_mask();
14046 int set_use_texture_variations(
int value);
14053 int get_use_texture_variations();
14068 int set_local_to_world_orientation_matrix(
float rz,
float rx,
float ry);
14069 int set_local_to_world_orientation_matrix(
14070 float a0,
float a1,
float a2,
14071 float b0,
float b1,
float b2,
14072 float c0,
float c1,
float c2,
int transpose = 0);
14074 int set_final_position_double(
double x,
double y,
double z);
14075 int set_final_matrix(
14076 float a0,
float a1,
float a2,
float a3,
14077 float b0,
float b1,
float b2,
float b3,
14078 float c0,
float c1,
float c2,
float c3,
14079 float d0,
float d1,
float d2,
float d3);
14099 int aim_converge(
int max_iterations = 30);
14102 void set_aim_algorithm(
int aim_algorithm);
14105 int get_aim_algorithm();
14189 int speak(
const char*
string);
14194 int set_viseme(
const char* viseme_name,
float weight);
14199 float get_viseme(
const char* viseme_name);
14204 int set_orientation_eye_left(
float azimuth,
float elevation);
14209 int set_orientation_eye_right(
float azimuth,
float elevation);
14214 float get_azimuth_eye_left();
14219 float get_elevation_eye_left();
14226 float get_azimuth_eye_right();
14233 float get_elevation_eye_right();
14242 #ifdef CPLUSPLUS_ONLY
14244 bdiScenarioCharacter* get_scripted_object();
14260 bdiScenarioCharacter* m_scripted_object;
14262 friend class bdiPublishedCharacter;
14263 friend class bdiScenarioCharacter;
Definition: diguyViewLabel.h:44
A class that represents the unique per-character shader object.
Definition: diguyGraphicsShaderInstance.h:55
diguyGraphicsTextureLoadingBehavior
Definition: diguy_constants.h:377
Experimental class for helping with multichannel synchronization.
Definition: diguyMotionEngineSnapshot.h:6
#define DIGUY_DEFAULT_FLOAT
This value is a magic number that, when passed to certain functions, means that the function should u...
Definition: diguy_constants.h:79
diguyCallbackReturn diguyCharacterCallback(diguyCharacter *character, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:48
diguyCharacterTypeMapField
This enumeration allows type map fields to be queried using a numerical value rather than a string na...
Definition: diguyCharacterTypeMap.h:33
The class that represents what parameters a agent is currently using to carry out their base behavior...
Definition: diguyAgentParams.h:40
Definition: diguyChainSimulation.h:37
diguyHistoryType
DI-Guy history types.
Definition: diguy_constants.h:284
Definition: diguyPathShape.h:30
diguyMotionDirection
Definition: diguyMotionDirection.h:26
Definition: diguy_vector_classes.h:152
A class that represents a bullet impact in the world, often used by AIs to make reaction decisions...
Definition: diguyImpact.h:41
A bead that sits on a character's spline path and triggers a new gaze.
Definition: diguyCharacterPathGazeBead.h:35
Definition: diguyMotionPosture.h:32
diguyConnectionPointType
Definition: diguyConnectionPointType.h:27
Definition: diguy_constants.h:184
#define DIGUY_DEFAULT_INT
This value is a magic number that, when passed to certain functions, means that the function should u...
Definition: diguy_constants.h:89
Definition: diguy_constants.h:202
A view is a graphics window wherein the scenario and its characters are animated. Note that views hav...
Definition: diguyView.h:48
diguyMuzzle
This is an enumeration of the different muzzles that can be specified to various DI-Guy function call...
Definition: diguy_constants.h:200
A bead that sits on a character's spline path and triggers a new decision.
Definition: diguyCharacterPathDecisionBead.h:35
An interface for manipulating a character's spline path. Path is typically authored in DI-Guy Scenari...
Definition: diguyCharacterPath.h:50
diguyCharacterSimulator
This enumeration lists the ways that data can be generated for DI-Guy characters. ...
Definition: diguy_constants.h:1682
diguyCharacterClass
DI-Guy character classes.
Definition: diguy_constants.h:129
Attached to certain types of more complex vehicles, to manage their behavior.
Definition: diguyVehicleController.h:49
float diguyAltitudeFunction(diguyCharacter *character, float x, float y, float old_z, int *valid)
Definition: diguy_typedefs.h:54
int diguyCharacterLOSFunction(diguyCharacter *character, diguyCharacter *target_character, int visibility_type)
Definition: diguy_typedefs.h:103
Represents the scenario currently being portrayed.
Definition: diguyScenario.h:92
A group of DI-Guy characters, useful for organizing your scenarios.
Definition: diguyCharacterGroup.h:39
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:78
Definition: diguyWaypoint.h:29
Definition: diguySensorRegion.h:38
int diguyPointLOSFunction(diguyCharacter *character, float x, float y, float z)
Definition: diguy_typedefs.h:108
int diguyFeelerFunction(diguyCharacter *character, float origin_x, float origin_y, float origin_z, float dir_x, float dir_y, float dir_z, float max_distance_to_test, float *intersection_x, float *intersection_y, float *intersection_z, float *normal_x, float *normal_y, float *normal_z)
Definition: diguy_typedefs.h:61
static double t
4 Header files and forward declarations
Definition: simple_playback_ogl.cpp:53
Definition: diguy_constants.h:1513
Definition: diguyMotionVariant.h:54
diguyParameterComparison
This is an enumeration of the different parameter comparison options that can be specified to various...
Definition: diguy_constants.h:182
A class that represents the unique per-character non-shared joint of a character. A diguyCharacter is...
Definition: diguyGraphicsLink.h:49
A class that allows end users to override a character's animation on a joint level.
Definition: diguyCharacterPoseOverride.h:38
diguyCallbackReturn
DI-Guy callbacks return a value of type diguyCallbackReturn, which will be DIGUY_CALLBACK_STOP or DIG...
Definition: diguy_constants.h:115
diguyMotionVariant
Definition: diguyMotionVariant.h:26
diguyCharacterMode
This is an enumeration of the different modes a DI-Guy character can be in.
Definition: diguy_constants.h:167
A class representing a overlaid performance on a character's base animation.
Definition: diguyCharacterGesture.h:46
A bead that sits on a character's spline path and triggers a new script evaluation.
Definition: diguyCharacterPathScriptBead.h:36
Definition: diguySoundInstance.h:29
Definition: diguyVariable.h:38
diguyCharacterAppearanceTypes
DI-Guy character appearance query API, this is for diguyCharacter::get_num_appearances_of_type() ...
Definition: diguy_constants.h:151
diguyPhysicsSimulationMode
This enumeration lists the modes that a DI-Guy character physics sim can be in, when the character si...
Definition: diguy_constants.h:1699
diguyPhysicsCollisionGroup
This enumeration lists the collision groups that a DI-Guy physics sim object can be in...
Definition: diguy_constants.h:1715
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:94
The class that represents a DI-Guy Crowd.
Definition: diguyCrowd.h:48
Represents algorithm for steering and maneuvering a character towards a goal point.
Definition: diguyCharacterGuide.h:474
diguyMotionPosture
Definition: diguyMotionPosture.h:26
A bead that sits on a character's spline path and triggers a new aim event.
Definition: diguyCharacterPathAimBead.h:35