14 #ifndef __diguyCharacter_H
15 #define __diguyCharacter_H
20 #define CPLUSPLUS_ONLY
35 class bdiScenarioCharacter;
66 class DtEntityStateRepository;
103 const char* get_name();
114 int set_name(
const char* name);
122 const char* get_type_name();
173 int update(
float t,
int full_update = 1);
188 void set_character_type(
const char* type);
211 const char* get_character_type_string();
236 const char* get_character_class();
274 int set_enabled(
int enabled);
307 int set_drawn_by_scenario_flag(
int flag);
324 int get_drawn_by_scenario_flag();
342 void set_invisible_flag(
int invisible_flag);
345 int get_invisible_flag();
391 int get_was_drawn_last_frame();
394 int set_was_drawn_last_frame(
int drawn);
404 int set_is_culled(
int culled);
412 int get_is_temporary();
423 int get_is_recycled();
442 int set_t_controlled_by_scenario_t(
int t_controlled_by_scenario_t);
450 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();
1476 int get_is_in_action_transition();
1534 int force_action(
const char* action_name,
1536 int include_transition_arc = 1,
1537 float max_rampdown_interval = 0.5f,
1538 int retain_path_shape = 0,
1539 float t_offset_into_new_action = 0.0f);
1570 int force_action_with_duration(
const char* action_name,
1572 int include_transition_arc = 1,
1573 float max_rampdown_interval = 0.5f);
1605 int force_action_and_path_shape(
const char* action_name,
1606 const char* path_shape_name,
1607 const char* waypoint_name = NULL,
1608 float distance_into_path = 0.0f);
1622 const char* get_most_recent_forced_action();
1635 float get_most_recent_forced_action_t();
1649 float get_most_recent_forced_action_t_offset();
1676 int add_pending_desired_action(
const char* action,
1678 int remove_existing_pending_actions = 0,
1680 int retain_path_shape = 1);
1696 int add_pending_force_action(
const char* action,
1698 int remove_existing_pending_actions = 0,
1700 int include_transition_arc = 1,
1701 float max_rampdown_interval = 0.5f,
1702 int retain_path_shape = 1,
1703 float first_arc_time_shift = 0.0f);
1711 int is_valid_action(
const char* action);
1746 int die_now(
const char* preferred_dead_action_name =
"(default)");
1761 int revive_now(
const char* preferred_revive_action_name =
"(default)");
1802 int set_speed(
float speed);
1821 float get_desired_speed();
1846 int set_animation_target_el(
float elevation,
float ramp_time = .25f);
1849 float get_animation_target_el();
1857 int set_animation_target_az(
float azimuth,
float ramp_time = .25f);
1860 float get_animation_target_az();
1882 void set_animation_velocity(
float vel_x,
float vel_y,
float vel_z,
float ramp_time = .25f);
1885 void get_animation_velocity(
float *vel_x,
float *vel_y,
float *vel_z);
1897 void set_animation_local_velocity(
float vel_x,
float vel_y,
float vel_z,
float ramp_time = .25f);
1900 void get_animation_local_velocity(
float *vel_x,
float *vel_y,
float *vel_z);
1908 void set_animation_angular_velocity(
float vel_rz,
float ramp_time = .25f);
1911 float get_animation_angular_velocity();
1962 int set_position(
float tx,
float ty,
float tz);
1984 int set_position_double(
double tx,
double ty,
double tz);
2004 int get_position(
float* tx,
float* ty,
float* tz);
2028 int get_position_double(
double* tx,
double* ty,
double* tz);
2056 int set_position_relative_to_parent(
float tx,
float ty,
float tz);
2077 int get_position_relative_to_parent(
float* tx,
float* ty,
float* tz);
2111 int set_position_to_other_character_position(
const char* other_character_name,
2112 const char* other_link_name = NULL,
2113 float offset_x = 0.0f,
float offset_y = 0.0f,
float offset_z = 0.0f,
2114 int also_set_orientation = 1);
2137 int set_desired_position(
float tx,
float ty,
float tz,
2138 int force_guide_unacquired = 0);
2140 int set_desired_position_double(
double tx,
double ty,
double tz,
2141 int force_guide_unacquired = 0);
2162 int set_desired_position_to_current_position(
int also_set_orientation = 1);
2192 int set_desired_position_to_waypoint(
diguyWaypoint* waypoint,
2193 float offset_x = 0.0f,
float offset_y = 0.0f,
float offset_z = 0.0f,
2194 int offset_in_world_coords = 0);
2217 int set_desired_position_to_path_waypoint(
const char* path_name,
2218 const char* waypoint_name);
2241 int set_desired_position_to_path_shape_waypoint(
const char* path_shape_name,
2242 const char* waypoint_name);
2263 int get_desired_position(
float* tx,
float* ty,
float* tz);
2264 int get_desired_position_double(
double* tx,
double* ty,
double* tz);
2285 int get_delta_to_desired_position(
float* tx,
float* ty,
float* tz);
2304 int set_initial_position(
float tx,
float ty,
float tz);
2327 int get_initial_position(
float* tx,
float* ty,
float* tz);
2359 int set_orientation(
float rz,
float rx,
float ry);
2385 int get_orientation(
float* rz,
float* rx,
float* ry);
2413 int set_orientation_relative_to_parent(
float rz,
float rx,
float ry);
2435 int get_orientation_relative_to_parent(
float* rz,
float* rx,
float* ry);
2485 int set_initial_up_vector_type(
char axis);
2494 int set_initial_up_vector(
char axis);
2501 char get_initial_up_vector_type();
2510 char get_initial_up_vector();
2533 int set_up_vector_type(
char axis);
2542 int set_up_vector(
char axis);
2549 char get_up_vector_type();
2558 char get_up_vector();
2588 int set_custom_orientation_rx_and_ry(
float rx,
2611 int set_desired_orientation(
float rz,
float rx,
float ry,
2612 int force_guide_unacquired = 0);
2634 int get_desired_orientation(
float* rz,
float* rx,
float* ry);
2657 int get_delta_to_desired_orientation(
float* rz,
float* rx,
float* ry);
2674 int set_desired_orientation_to_current_orientation();
2691 int set_desired_orientation_towards_position(
float x,
float y,
float z,
2692 int force_guide_unacquired = 0);
2712 int set_initial_orientation(
float rz,
float rx,
float ry);
2737 int get_initial_orientation(
float* rz,
float* rx,
float* ry);
2759 int get_link_position(
const char* link_name,
2760 float* tx,
float* ty,
float* tz,
2761 float* rz,
float* rx,
float* ry);
2783 int get_link_position_double(
const char* link_name,
2784 double* tx,
double* ty,
double* tz,
2785 double* rz,
double* rx,
double* ry);
2807 int get_link_position_with_offset(
const char* link_name,
2808 float offset_tx,
float offset_ty,
float offset_tz,
2809 float* tx,
float* ty,
float* tz,
2810 float* rz,
float* rx,
float* ry);
2832 int get_link_position_with_offset_double(
const char* link_name,
2833 double offset_tx,
double offset_ty,
double offset_tz,
2834 double* tx,
double* ty,
double* tz,
2835 double* rz,
double* rx,
double* ry);
2859 int get_link_relative_position(
const char* beginning_link_name,
2860 const char* ending_link_name,
2861 float* tx,
float* ty,
float* tz,
2862 float* rz,
float* rx,
float* ry);
2887 int get_link_relative_position_with_offset(
const char* beginning_link_name,
2888 const char* ending_link_name,
2889 float offset_tx,
float offset_ty,
float offset_tz,
2890 float* tx,
float* ty,
float* tz,
2891 float* rz,
float* rx,
float* ry);
2919 void set_apply_actor_scale_to_action_bead_travel(
int apply_scale_flag);
2926 int get_apply_actor_scale_to_action_bead_travel();
2939 int local_to_global(
float x,
float y,
float z,
2940 float* res_x,
float* res_y,
float* res_z);
2953 int global_to_local(
float x,
float y,
float z,
2954 float* res_x,
float* res_y,
float* res_z);
2971 void get_velocity(
float* vel_x,
float* vel_y,
float* vel_z);
2975 void get_acceleration(
float* accel_x,
float* accel_y,
float* accel_z);
2986 void set_desired_velocity(
float vel_x,
float vel_y,
float vel_z,
float ramp_time = 0.0);
2987 void get_desired_velocity(
float *vel_x,
float *vel_y,
float *vel_z);
3003 void get_angular_velocity(
float* vel_rz);
3011 void set_desired_angular_velocity(
float vel_rz);
3012 void get_desired_angular_velocity(
float* vel_rz);
3037 const char* get_appearance();
3058 int set_appearance(
const char* appearance);
3090 int set_current_appearance(
const char* appearance,
3091 int allow_actor_change = 1);
3094 const char* get_current_appearance();
3109 int get_current_appearance_is(
const char* appearance);
3126 int set_head_appearance(
const char* head_appearance);
3137 int set_current_head_appearance(
const char* head_appearance);
3140 const char* get_current_head_appearance();
3153 int get_current_head_appearance_is(
const char* head_appearance);
3172 int set_hand_item(
const char* hand_item_appearance);
3181 const char* get_hand_item();
3198 int set_current_hand_item(
const char* hand_item_appearance);
3206 const char* get_current_hand_item();
3216 int set_use_texture_variations(
int value);
3223 int get_use_texture_variations();
3226 int get_supports_texture_variations();
3230 int get_supports_weight_variations();
3235 void set_weight_scale(
float weight);
3238 float get_weight_scale();
3315 int set_lod_ranges(
float* lod_ranges);
3317 #ifdef CPLUSPLUS_ONLY
3318 float* get_lod_ranges();
3343 int set_graphics_lod(
int lod);
3346 int get_graphics_lod();
3351 int set_allow_instancing(
int value);
3354 int get_allow_instancing()
const;
3358 int get_is_instanced()
const;
3361 int can_lod_be_instanced(
int lod);
3374 int set_final_tbo_position_matrix(
int include_local_to_global_transform,
3375 float a0,
float a1,
float a2,
float a3,
3376 float b0,
float b1,
float b2,
float b3,
3377 float c0,
float c1,
float c2,
float c3);
3396 int set_shader_lod(
int lod);
3399 int get_shader_lod();
3403 int get_has_bump_maps();
3440 int set_motion_lod(
int motion_lod);
3443 int get_motion_lod();
3446 int get_current_motion_lod();
3509 int set_minimum_cpl(
int minimum_cpl);
3512 int get_minimum_cpl();
3529 int get_maximum_possible_current_cpl();
3551 int maximize_current_cpl();
3572 int set_automatic_cpl_switching_enabled(
int enabled);
3575 int get_automatic_cpl_switching_enabled();
3600 int set_current_cpl(
int current_cpl);
3603 int get_current_cpl();
3640 int set_position_update_rate(
int update_rate);
3643 int get_position_update_rate();
3678 int set_pose_update_rate(
int update_rate);
3681 int get_pose_update_rate();
3707 int set_minimum_full_update_period(
float min_period);
3710 float get_minimum_full_update_period();
3737 int set_position_accumulation_disabled(
int disabled_flag);
3740 int get_position_accumulation_disabled();
3763 int set_all_blends_disabled(
int disabled_flag);
3766 int get_all_blends_disabled();
3795 int set_shape_switches_disabled(
int disabled_flag);
3798 int get_shape_switches_disabled();
3828 int set_shape_callbacks_disabled(
int disabled_flag);
3831 int get_shape_callbacks_disabled();
3852 int set_graphics_api_shape_update_disabled(
int disabled_flag);
3855 int get_graphics_api_shape_update_disabled();
3894 int optimized_update(
float t);
3919 int set_is_load_managed(
int is_load_managed);
3922 int get_is_load_managed();
4374 CALLBACK_ID_CREATE = 1,
4375 CALLBACK_ID_DESTROY,
4376 CALLBACK_ID_PRE_CREATE,
4377 CALLBACK_ID_CURRENT_APPEARANCE_CHANGED,
4378 CALLBACK_ID_CURRENT_HEAD_APPEARANCE_CHANGED,
4379 CALLBACK_ID_CURRENT_HAND_ITEM_APPEARANCE_CHANGED,
4380 CALLBACK_ID_SHAPE_VISIBILITY_CHANGED,
4381 CALLBACK_ID_PRE_UPDATE,
4382 CALLBACK_ID_POST_UPDATE,
4383 CALLBACK_ID_DONE_SPEAKING,
4384 CALLBACK_ID_GAZE_STATUS,
4385 CALLBACK_ID_LPOINT_STATUS,
4388 CALLBACK_ID_PRE_DIE,
4389 CALLBACK_ID_POST_DIE,
4390 CALLBACK_ID_PRE_FIRE_WEAPON,
4391 CALLBACK_ID_POST_FIRE_WEAPON,
4393 CALLBACK_ID_FIRE_WEAPON_SUCCESS,
4394 CALLBACK_ID_CURRENT_ACTION_CHANGED,
4395 CALLBACK_ID_DESIRED_ACTION_CHANGED,
4396 CALLBACK_ID_DESIRED_ACTION_REACHED,
4397 CALLBACK_ID_MANUALLY_INVOKED,
4398 CALLBACK_ID_USER_SELECTED,
4399 CALLBACK_ID_USER_UNSELECTED,
4400 CALLBACK_ID_IGUY_INTERACT,
4401 CALLBACK_ID_IGUY_INTERACT_WITH_SUBJECT,
4402 CALLBACK_ID_GUIDE_POSITION_ACQUIRED,
4403 CALLBACK_ID_GUIDE_POSITION_UNACQUIRED,
4404 CALLBACK_ID_GUIDE_ORIENTATION_ACQUIRED,
4405 CALLBACK_ID_GUIDE_ORIENTATION_UNACQUIRED,
4406 CALLBACK_ID_GUIDE_ALTITUDE_ACQUIRED,
4407 CALLBACK_ID_GUIDE_ALTITUDE_UNACQUIRED,
4408 CALLBACK_ID_GUIDE_TARGET_LOST,
4409 CALLBACK_ID_CURRENT_TOUT_REACHED,
4410 CALLBACK_ID_POST_CREATE_GEOMETRY,
4411 CALLBACK_ID_PRE_DESTROY_GEOMETRY,
4412 CALLBACK_ID_END_OF_PATH_REACHED,
4413 CALLBACK_ID_CHARACTER_CLICKED,
4416 CALLBACK_ID_UI_PRE_TRANSLATION,
4417 CALLBACK_ID_UI_POST_TRANSLATION,
4418 CALLBACK_ID_UI_MOUSE_DOWN,
4419 CALLBACK_ID_UI_MOUSE_UP,
4420 CALLBACK_ID_UI_RIGHT_MOUSE_DOWN,
4421 CALLBACK_ID_UI_RIGHT_MOUSE_UP,
4422 CALLBACK_ID_UI_LEFT_CLICK,
4423 CALLBACK_ID_UI_RIGHT_CLICK,
4424 CALLBACK_ID_UI_DOUBLE_CLICK,
4425 CALLBACK_ID_UI_MIDDLE_CLICK,
4426 CALLBACK_ID_UI_SCROLL_UP,
4427 CALLBACK_ID_UI_SCROLL_DOWN,
4431 CALLBACK_ID_AGENT_NEW_BEHAVIOR,
4432 CALLBACK_ID_AGENT_NEW_PATH_SHAPE,
4433 CALLBACK_ID_AGENT_NEW_FOCUS_CHARACTER,
4434 CALLBACK_ID_AGENT_ATTACK_OUT_OF_TARGETS,
4435 CALLBACK_ID_AGENT_ATTACK_NO_VISIBLE_TARGETS,
4436 CALLBACK_ID_AGENT_PURSUE_TARGET_REACHED,
4437 CALLBACK_ID_AGENT_PURSUE_TARGET_LOST,
4438 CALLBACK_ID_AGENT_MINGLE_TARGET_REACHED,
4439 CALLBACK_ID_AGENT_MINGLE_TARGET_LOST,
4440 CALLBACK_ID_AGENT_WANDER_TARGET_REACHED,
4441 CALLBACK_ID_AGENT_WANDER_TARGET_LOST,
4442 CALLBACK_ID_AGENT_FLEE_AREA_LEFT,
4443 CALLBACK_ID_AGENT_FLEE_AREA_ENTERED,
4444 CALLBACK_ID_AGENT_TRAVEL_WAYPOINT_REACHED,
4445 CALLBACK_ID_AGENT_TRAVEL_FORWARD_DEST_REACHED,
4446 CALLBACK_ID_AGENT_TRAVEL_BACKWARD_DEST_REACHED,
4447 CALLBACK_ID_AGENT_TRAVEL_NEAR_FORWARD_DEST,
4448 CALLBACK_ID_AGENT_CROWD_MEMBER_KILLED,
4449 CALLBACK_ID_AGENT_CROWD_MEMBER_IMPACT,
4450 CALLBACK_ID_AGENT_NEARBY_SCENE_OBJECT_IMPACT,
4451 CALLBACK_ID_AGENT_NEARBY_WEAPON_FIRED,
4452 CALLBACK_ID_AGENT_VEHICLE_COLLISION,
4453 CALLBACK_ID_AGENT_VEHICLE_NEAR_COLLISION,
4454 CALLBACK_ID_AGENT_PATH_PLAN_COMPLETED,
4455 CALLBACK_ID_AGENT_MIND_CURRENT_STATE_CHANGED,
4456 CALLBACK_ID_AGENT_NON_ZERO_REPULSION,
4457 CALLBACK_ID_AGENT_ZERO_REPULSION
4460 #ifdef CPLUSPLUS_ONLY
4488 int add_callback(
int callback_id,
4490 void* callback_params = 0,
4491 void* callback_user_data = 0);
4509 int remove_callback(
int callback_id,
4529 int remove_callback_with_user_data(
int callback_id,
4530 void* callback_user_data);
4582 int add_callback_script(
int callback_id,
4583 const char* callback_script,
4584 const char* callback_script_type = NULL);
4625 int remove_callback_script(
int callback_id,
4626 const char* callback_script,
4627 const char* callback_script_type = NULL);
4668 int map_event_handler_to_callback_id(
int callback_id,
4669 const char* handler_name);
4688 int unmap_event_handler_from_callback_id(
int callback_id,
4689 const char* handler_name,
4690 int unmap_all_matches = 0);
4810 const char* transition_from_action_name,
4811 const char* fill_action_name,
4812 const char* transition_to_action_name);
4837 const char* transition_from_action_name,
4838 const char* fill_action_name,
4839 const char* transition_to_action_name);
4881 int create_and_force_bridge_path(
const char* destination_path_name,
4882 const char* destination_path_action_bead_name,
4883 const char* via_action_name);
4933 int create_and_force_bridge_path_to_point(
float x,
float y,
float z,
4935 const char* via_action_name,
4936 const char* next_local_path = NULL,
4937 float orientation = 0.0f);
4964 int get_num_paths();
4984 const char* get_path_name_at_index(
int index);
5003 int get_current_path_index();
5036 int get_current_traveled_path_is(
const char* path_name);
5057 int push_path(
const char* path_name);
5082 int force_path(
const char* path_name,
5083 float max_rampdown_interval = 0.5f);
5096 int force_partial_path(
const char* path_name,
5097 const char* beginning_action_bead_name,
5098 float max_rampdown_interval = 0.5f);
5134 int resume_interrupted_path(
float max_rampdown_interval = 0.5f);
5159 int use_character_orientation,
5160 float rotation = 0.0f,
5161 int clamp_path = 1);
5177 int set_initial_path(
const char* name);
5191 const char* get_initial_path();
5203 void translate_all_paths(
float tx,
float ty,
float tz,
5204 int reclamp_waypoints = 1);
5222 int rotate_all_paths_about_point(
float rz,
float rx,
float ry,
5223 float rotation_pt_x,
float rotation_pt_y,
float rotation_pt_z,
5224 int reclamp_waypoints = 1);
5241 int rotate_all_paths_about_current_waypoint(
float rz,
float rx,
float ry,
5242 int reclamp_waypoints = 1);
5264 int jump_to_action_bead(
const char* bead_name,
5265 float max_rampdown_interval = 0.5f);
5302 float how_far = 0.0f);
5323 float how_far = 0.0f);
5344 float how_far = 0.0f);
5365 float how_far = 0.0f);
5389 int set_distance_along_path(
float distance);
5401 float get_distance_along_path();
5435 int get_nearest_waypoint_index_in_path(
const char* path_name);
5442 float get_distance_to_path(
const char* path_name,
5443 const char* action_bead_name = NULL);
5478 int get_num_links();
5516 const char* get_link_name_at_index(
int link_index);
5527 int get_num_link_shapes(
const char* link_name);
5539 const char* get_link_shape_name_at_index(
const char* link_name,
5543 int get_num_connection_points();
5547 const char * get_connection_point_name_at_index(
int index);
5558 void set_link_visibility(
const char* link_or_connection_name,
int visible,
int shape_index = -1);
5575 int set_link_translation_override(
const char * link_name,
float x,
float y,
float z,
float ramp_time = .25f);
5579 int set_link_translation_override(
const char * link_name,
float x,
float y,
float z,
float vx,
float vy,
float vz,
float ramp_time = .25f);
5582 int end_link_translation_override(
const char * link_name,
float ramp_time = .25f);
5585 int set_link_rotation_override(
const char * link_name,
float rz,
float rx,
float ry,
float ramp_time = .25f);
5586 int set_link_rotation_override(
const char * link_name,
float rz,
float rx,
float ry,
float vrx,
float vry,
float vrz,
float ramp_time = .25f);
5589 int end_link_rotation_override(
const char * link_name,
float ramp_time = .25f);
5601 int get_num_articulated_parts();
5605 const char * get_articulated_part_link_name(
int index);
5608 int get_articulated_part_id(
int index);
5611 const char * map_articulated_part_id_to_link(
int id);
5636 #ifdef CPLUSPLUS_ONLY
5715 int set_altitude_function_enabled_in_free_position_mode(
int enabled);
5724 int get_altitude_function_enabled_in_free_position_mode();
5750 int set_altitude_function_enabled_in_path_position_mode(
int value);
5759 int get_altitude_function_enabled_in_path_position_mode();
5785 int set_altitude_update_rate(
int update_rate);
5788 int get_altitude_update_rate();
5812 void set_altitude_interpolation_rate(
float interpolation_rate);
5815 float get_altitude_interpolation_rate();
5939 int get_pose_array_size();
5941 #ifdef CPLUSPLUS_ONLY
5974 int get_pose_in_radians(
float* pose_array);
5977 int get_pose_in_quaternions(
float* pose_array);
6025 int get_num_pose_overrides();
6068 void destroy_complete_pose_override();
6109 int gaze_at_angle(
float azimuth,
6112 int is_new_gaze = 1);
6128 int gaze_at_angle_local(
float azimuth,
6130 float distance = 10000.0f,
6131 int is_new_gaze = 1);
6156 int gaze_at_point(
float tx,
6159 int is_new_gaze = 1);
6171 int gaze_at_point_local(
float tx,
6174 int is_new_gaze = 1);
6210 int gaze_at_character(
const char* target_character_name,
6211 const char* target_character_link_name = NULL,
6212 float offset_tx = 0.0f,
6213 float offset_ty = 0.0f,
6214 float offset_tz = 0.0f);
6221 int get_gaze_is_active();
6229 int get_gaze_point(
float* x,
float* y,
float* z);
6256 int get_gaze_is_acquired();
6283 int get_gaze_is_steady();
6320 int lpoint_at_angle(
float azimuth,
6323 int is_new_lpoint = 1,
6324 const char* base_gesture_name = 0);
6336 int lpoint_at_angle_local(
float azimuth,
6338 float distance = 10000.0f,
6339 int is_new_lpoint = 1,
6340 const char* base_gesture_name = 0);
6373 int lpoint_at_point(
float tx,
6376 int is_new_lpoint = 1,
6377 const char* base_gesture_name = 0);
6389 int lpoint_at_point_local(
float tx,
6392 int is_new_lpoint = 1,
6393 const char* base_gesture_name = 0);
6404 int lpoint_at_character(
const char* target_character_name,
6405 const char* target_character_link_name = NULL,
6406 float offset_tx = 0.0f,
6407 float offset_ty = 0.0f,
6408 float offset_tz = 0.0f);
6416 int get_lpoint_point(
float* x,
float* y,
float* z);
6423 const char* get_lpoint_base_gesture_name();
6430 int get_lpoint_is_active();
6440 int get_lpoint_is_acquired();
6450 int get_lpoint_is_steady();
6482 int set_gaze_params_to_defaults();
6513 int set_gaze_param_desired_locate_time(
float t);
6520 float get_gaze_param_desired_locate_time();
6554 int set_gaze_link_uses_desired_locate_time(
const char* link_name,
6555 int uses_desired_locate_time);
6562 int get_gaze_link_uses_desired_locate_time(
const char* link_name);
6589 int set_gaze_link_azimuth_limits(
const char* link_name,
float min,
float max);
6596 int get_gaze_link_azimuth_limits(
const char* link_name,
6625 int set_gaze_link_elevation_limits(
const char* link_name,
6630 int get_gaze_link_elevation_limits(
const char* link_name,
6669 int set_gaze_link_azimuth_tolerance(
const char* link_name,
6674 int get_gaze_link_azimuth_tolerance(
const char* link_name,
6702 int set_gaze_link_elevation_tolerance(
const char* link_name,
6707 int get_gaze_link_elevation_tolerance(
const char* link_name,
6734 int set_gaze_link_max_angular_vel(
const char* link_name,
float angular_vel);
6737 int get_gaze_link_max_angular_vel(
const char* link_name,
float* angular_vel);
6774 int set_gaze_link_scale_factor(
const char* link_name,
float scale_factor);
6777 int get_gaze_link_scale_factor(
const char* link_name,
float* scale_factor);
6803 int set_link_enabled_for_gaze(
const char* link_name,
int enabled);
6806 int get_link_enabled_for_gaze(
const char* link_name);
6824 int set_gaze_can_change_posture(
int enabled);
6827 int get_gaze_can_change_posture();
6845 int set_gaze_can_change_variant(
int enabled);
6848 int get_gaze_can_change_variant();
6874 int set_link_enabled_for_lpoint(
const char* link_name,
int enabled);
6877 int get_link_enabled_for_lpoint(
const char* link_name);
6903 int set_nod(
float azimuth,
6905 float duration = 0.5f);
6951 int nod_head(
float duration,
6953 float nod_elevation0 = 15.0f,
6954 float nod_elevation1 = 0.0f,
6955 float nod_elevation_out = 0.0f);
6983 int shake_head(
float duration,
6985 float shake_azimuth0 = -20.0f,
6986 float shake_azimuth1 = 20.0f,
6987 float shake_azimuth_out = 0.0f);
6995 float get_nod_azimuth();
7003 float get_nod_elevation();
7052 int set_aim(
float azimuth,
float elevation);
7090 int aim_at_angle(
float azimuth,
7093 int is_new_aim = 1);
7110 int aim_at_angle_local(
float azimuth,
7113 int is_new_aim = 1);
7125 int aim_at_angle_with_velocity(
float azimuth,
float elevation,
float az_vel,
float el_vel,
int local,
int is_new_aim = 1);
7151 int aim_at_point(
float x,
float y,
float z,
int is_new_aim = 1);
7164 int aim_at_point_local(
float x,
float y,
float z,
int is_new_aim = 1);
7204 int aim_at_character(
const char* target_character_name,
7205 const char* target_character_link_name = NULL,
7206 float offset_tx = 0.0f,
7207 float offset_ty = 0.0f,
7208 float offset_tz = 0.0f);
7220 const char * get_aim_at_character();
7223 float get_aim_azimuth();
7226 float get_aim_elevation();
7249 int get_aim_trajectory(
float* muzzle_x,
float* muzzle_y,
float* muzzle_z,
7250 float* far_x,
float* far_y,
float* far_z);
7263 int get_aim_is_possible();
7270 int get_aim_is_acquired();
7278 int get_aim_is_steady();
7286 int get_is_aiming();
7328 void set_aim_param_acquire_factor(
float factor);
7335 float get_aim_param_acquire_factor();
7352 void set_aim_param_new_aim_factor(
float factor);
7355 float get_aim_param_new_aim_factor();
7381 void set_aim_param_new_aim_duration(
float duration);
7384 float get_aim_param_new_aim_duration();
7399 void set_aim_param_max_per_frame_adj_factor(
float factor);
7402 float get_aim_param_max_per_frame_adj_factor();
7422 void set_aim_param_azimuth_acquired_range(
float range);
7425 float get_aim_param_azimuth_acquired_range();
7445 void set_aim_param_elevation_acquired_range(
float range);
7448 float get_aim_param_elevation_acquired_range();
7459 void set_aim_converge_every_frame(
int enabled );
7462 int get_aim_converge_every_frame();
7466 int set_aim_variable_interpolation_time(
float time);
7467 float get_aim_variable_interpolation_time();
7473 const char* get_aim_at_link();
7477 int get_aim_at_link_offset(
float* offset_x,
float* offset_y,
float* offset_z);
7480 const char* get_gaze_at_link();
7483 int get_gaze_at_link_offset(
float* offset_x,
float* offset_y,
float* offset_z);
7555 int fire_weapon_n_times(
int count,
7557 const char* override_sound_name = NULL,
7575 int fire_screen_space_bullet(
diguyView* view,
float x,
float y);
7603 int set_default_weapon_muzzle(
diguyMuzzle muzzle);
7670 const char* get_weapon_muzzle_munition_type(
diguyMuzzle muzzle);
7673 const char* get_default_muzzle_munition_type();
7689 int set_weapon_munition_type_override(
const char* munition_type);
7692 const char* get_weapon_munition_type_override();
7715 int set_weapon_fires_live_rounds(
int weapon_fires_live_rounds);
7725 int get_weapon_fires_live_rounds();
7752 int set_weapon_sound_override(
const char* sound_name);
7767 const char* get_weapon_sound_override();
7792 int set_weapon_sound_gain_override(
float gain);
7795 float get_weapon_sound_gain_override();
7819 void set_weapon_spread(
float spread);
7841 void set_weapon_near_range(
float near_range);
7842 float get_weapon_near_range();
7857 void set_weapon_far_range(
float far_range);
7858 float get_weapon_far_range();
7870 void set_weapon_hit_ratio(
float hit_ratio);
7881 void set_weapon_max_impacts(
int val);
7888 int get_accessory1_state();
7895 int get_rifle_state();
7914 int set_weapon_projectile_is_visible(
diguyMuzzle muzzle,
int is_visible);
7930 int get_weapon_projectile_is_visible(
diguyMuzzle muzzle);
7964 int get_weapon_aim_vector(
float* muzzle_tx,
float* muzzle_ty,
float* muzzle_tz,
7965 float* end_pt_tx = NULL,
float* end_pt_ty = NULL,
float* end_pt_tz = NULL,
7966 float* muzzle_rz = NULL,
float* muzzle_rx = NULL,
float* muzzle_ry = NULL,
7967 int in_character_local_coordinates = 0,
8007 float* offset_x = NULL,
8008 float* offset_y = NULL,
8009 float* offset_z = NULL);
8026 int set_weapon_max_azimuth_error(
float h_error);
8029 float get_weapon_max_azimuth_error();
8036 int set_weapon_max_elevation_error(
float v_error);
8039 float get_weapon_max_elevation_error();
8055 int set_weapon_tracers_enabled(
int enabled);
8058 int get_weapon_tracers_enabled();
8065 int get_weapon_rounds_until_tracer(
diguyMuzzle muzzle);
8086 int trigger_detonation_on_character(
const char* munition_name,
8087 const char* attacker_name = NULL,
8088 float radius_override = -1.0f,
8089 int broadcast_on_network = 1);
8146 int set_face_expression(
const char* facex_name,
float blend_duration,
float strength = 1.0f);
8169 int set_orientation_eyes(
float azimuth,
8171 float blend_time = 0.0f);
8181 int get_orientation_eyes(
float* azimuth,
float* elevation);
8199 int set_eye_droop(
float droop_amount,
float blend_time = 0.0f);
8202 float get_eye_droop();
8229 int blink(
float duration_in = 0.1f,
8230 float duration_out = 0.2f,
8231 float target_in = 1.0f,
8232 float target_out = 0.0f,
8269 int set_automatic_blinks_enabled(
int enabled,
8270 float period = 6.0f,
8271 float period_variation = 3.0f);
8274 int get_automatic_blinks_enabled();
8290 void set_automatic_blink_duration_in(
float duration_in);
8293 float get_automatic_blink_duration_in();
8309 void set_automatic_blink_duration_out(
float duration_out);
8312 float get_automatic_blink_duration_out();
8328 void set_automatic_blink_target_in(
float target_in);
8331 float get_automatic_blink_target_in();
8347 void set_automatic_blink_target_out(
float target_out);
8350 float get_automatic_blink_target_out();
8368 int set_current_facefx_animation_group(
const char* anim_group);
8375 const char* get_current_facefx_animation_group();
8383 const char* get_facefx_actor();
8391 int facefx_mount_animset(
const char* file_name);
8401 int play_facefx_animation(
const char* animation,
8402 float magnitude_scale = 1.0f,
8403 float duration_scale = 1.0f,
8404 float blendin_time = 0.1f,
8405 float blendout_time = 0.1f,
8413 int stop_facefx_animations(
float blend_time = 0.25f,
int stop_sounds = 1);
8425 int get_num_facefx_nodes();
8433 const char* get_facefx_node_name(
int index);
8440 int find_facefx_node_index(
const char* node_name);
8449 int set_facefx_node_value(
int node_index,
8451 float blend_time = 0.25f);
8458 float get_facefx_node_value(
int node_index);
8593 int execute_gesture(
const char* gesture_name,
8640 int execute_1stage_gesture(
const char* gesture_name,
8683 int execute_2stage_gesture(
const char* gesture_name,
8734 int execute_3stage_gesture(
const char* gesture_name,
8783 int execute_table_gesture(
const char* gesture_name,
8785 const char* loop_action = NULL,
8786 const char* begin_action = NULL,
8787 const char* end_action = NULL);
8794 int set_executing_table_gesture_desired_action(
const char* gesture_name,
8795 const char* desired_action);
8819 int end_executing_gesture(
const char* gesture_name);
8851 int abort_executing_gesture(
const char* gesture_name,
8852 float max_rampdown_interval = .5f);
8872 int end_all_gestures();
8902 int abort_all_gestures(
float max_rampdown_interval);
8970 int play_sound(
const char* sound_name,
8971 float sound_gain = 1.0f,
8972 int sound_loops = 0);
9011 int play_3d_sound(
const char* sound_name,
9012 float sound_gain = 1.0f,
9013 int sound_loops = 0);
9089 int stop_all_sounds(
float rampdown_time = 0.0f);
9116 int stop_sound(
const char* sound_name,
float rampdown_time = 0.0f);
9123 int is_playing_sound(
const char* sound_name);
9194 int set_current_voice_actor(
const char* voice_actor);
9197 const char* get_current_voice_actor();
9269 int get_DIS_lifeform_state();
9290 int get_DIS_primary_weapon_position();
9311 int get_DIS_secondary_weapon_position();
9332 int set_network_marking(
const char* network_marking);
9354 const char* get_network_marking();
9378 int set_is_network_published(
int is_network_published);
9400 int get_is_network_published();
9409 DtEntityStateRepository * get_vrlink_entity_state_repository();
9430 int get_is_network_reflected();
9455 int get_is_network_paused();
9463 int set_is_network_paused(
int paused);
9484 int get_network_entity_number();
9546 const char* get_action_from_entity_state(
int damage_state,
9547 int life_form_state,
9548 int primary_weapon_state,
9573 void set_DIS_damage_state(
int state);
9577 int get_DIS_damage_state();
9585 const char * get_damage_state_appearance_name(
int state);
9609 void set_DIS_smoke_state(
int state);
9613 int get_DIS_smoke_state();
9634 void set_DIS_flames_state(
int state);
9638 int get_DIS_flames_state();
9659 void set_DIS_power_plant_state(
int state);
9663 int get_DIS_power_plant_state();
9667 void set_emissivity(
float r,
float g,
float b,
float lerp_time = .25);
9671 void get_emissivity(
float *r,
float *g,
float *b);
9693 void set_DIS_trailing_effect_state(
int state);
9697 int get_DIS_trailing_effect_state();
9701 void set_head_lights_state(
int state);
9704 int get_head_lights_state()
const;
9707 void set_tail_lights_state(
int state);
9710 int get_tail_lights_state()
const;
9751 int call_formation(
const char* formation_name,
9752 int snap_to_position_flag = 0,
9753 int break_existing_formations_flag = 1);
9772 int break_formation(
const char* formation_name = NULL);
9813 int automatically_disable_when_acquired = 0);
9841 const char* guide_algorithm,
9842 int automatically_disable_when_acquired = 0);
9863 const char* guide_algorithm,
9864 int automatically_disable_when_acquired = 0);
9898 int remove_guide_with_name(
const char* guide_name);
9925 int remove_all_guides();
9936 int remove_all_disabled_guides();
9986 int add_motion_texture(
const char* motex_name =
"default",
9987 float texture_gain = 1.0f,
9988 int end_previous_motex = 1,
9989 float rampup_interval = 0.2f);
10006 int end_motion_texture(
float rampdown_interval = 0.2f);
10031 int set_initial_motion_texture(
const char* motex_name);
10043 const char* get_initial_motion_texture();
10061 int set_initial_motion_texture_gain(
float motex_gain);
10073 float get_initial_motion_texture_gain();
10163 int set_history_size_t(
float t);
10175 float get_history_size_t();
10191 int set_history_size_increment_t(
float t);
10203 float get_history_size_increment_t();
10436 int match_posture_before_variant = 1,
10441 int return_random_match = 0);
10510 int match_posture_before_variant = 1,
10532 int get_num_variables();
10605 int variable_equal_to_int(
const char* varname,
int value);
10620 int variable_greater_than_int(
const char* varname,
int value);
10635 int variable_less_than_int(
const char* varname,
int value);
10650 int variable_equal_to_float(
const char* varname,
float value);
10665 int variable_greater_than_float(
const char* varname,
float value);
10680 int variable_less_than_float(
const char* varname,
float value);
10695 int variable_equal_to_string(
const char* varname,
const char* value);
10710 int variable_greater_than_string(
const char* varname,
const char* value);
10725 int variable_less_than_string(
const char* varname,
const char* value);
10743 int variable_decrement_value_as_int(
const char* varname,
int value = 1);
10761 int variable_increment_value_as_int(
const char* varname,
int value = 1);
10783 int variable_set_value_as_int(
const char* varname,
10785 int create_if_doesnt_exist = 1);
10792 int set_ivar(
const char* varname,
10794 int create_if_doesnt_exist = 1);
10816 int get_ivar(
const char* varname,
10817 int create_if_doesnt_exist = 1);
10825 int variable_set_value_as_float(
const char* varname,
10827 int create_if_doesnt_exist = 1);
10834 int set_fvar(
const char* varname,
10836 int create_if_doesnt_exist = 1);
10847 float get_fvar(
const char* varname,
10848 int create_if_doesnt_exist = 1);
10856 int variable_set_value_as_string(
const char* varname,
10858 int create_if_doesnt_exist = 1);
10865 int set_svar(
const char* varname,
10867 int create_if_doesnt_exist = 1);
10878 const char* get_svar(
const char* varname,
10879 int create_if_doesnt_exist = 1);
10927 int set_label_text(
const char* label_text);
10939 const char* get_label_text();
10959 int set_label_is_visible(
int is_visible);
10971 int get_label_is_visible();
10994 int set_label_text_color(
float r,
float g,
float b,
float a);
11001 int set_label_text_color_vec4(
const diguyVec4f & color);
11013 int get_label_text_color(
float* r,
float* g,
float* b,
float* a);
11043 int set_label_text_shadow_color(
float r,
float g,
float b,
float a);
11050 int set_label_text_shadow_color_vec4(
const diguyVec4f & color);
11062 int get_label_text_shadow_color(
float* r,
float* g,
float* b,
float* a);
11069 diguyVec4f get_label_text_shadow_color_vec4();
11084 int set_label_text_shadow_is_visible(
int is_visible);
11091 int get_label_text_shadow_is_visible();
11115 int set_label_background_color(
float r,
float g,
float b,
float a);
11122 int set_label_background_color_vec4(
const diguyVec4f & color);
11134 int get_label_background_color(
float* r,
float* g,
float* b,
float* a);
11141 diguyVec4f get_label_background_color_vec4();
11153 void set_label_link_offset_override(
float offset);
11160 float get_label_link_offset_override();
11177 int set_label_shows_character_state(
int show_state);
11185 int get_label_shows_character_state();
11214 int get_last_impact_number();
11221 int get_last_impact_been_processed();
11228 void set_last_impact_been_processed();
11242 void set_max_unprocessed_impacts(
int max_unprocessed_impacts);
11249 int get_max_unprocessed_impacts();
11256 const char* get_last_impact_link();
11263 int get_last_impact_link_is(
const char* link_name);
11271 int get_last_impact_is_from_vehicle();
11279 int get_last_impact_speed_is_greater_than(
float impact_speed);
11287 void set_is_immune_to_impacts(
int immune);
11295 int get_is_immune_to_impacts();
11361 int begin_appearance_effect(
const char* effect,
11362 const char* override_link = NULL,
11395 int end_appearance_effect(
const char* effect,
11396 const char* override_link = NULL);
11424 int stop_appearance_effect(
const char* effect,
11425 const char* override_link = NULL);
11432 int stop_all_appearance_effects();
11449 int appearance_effect_is_active(
const char* effect,
11450 const char* override_link = NULL);
11533 int get_vehicle_body_orientation(
float* rz,
float* rx,
float* ry);
11586 int set_render_mode_shader(
const char* shader_name,
11587 const char* render_mode = NULL);
11608 void reset_render_mode_shader_to_default(
const char* render_mode = NULL);
11626 const char* get_render_mode_shader(
const char* render_mode = NULL);
11676 int set_temporary_current_shader(
const char* shader_name);
11688 void reset_current_shader_to_default();
11697 void trigger_shader_refresh();
11723 void reset_shader_instance_variables_to_initial_values();
11731 void reset_shader_instance_variables_to_program_defaults();
11785 int agent_attack_character(
const char* character_name);
11814 int agent_attack_group(
const char* group_name);
11821 int agent_set_attack_zone_enabled(
int use_attack_zone);
11828 int agent_get_attack_zone_enabled();
11835 int agent_set_attack_zone(
float x,
float y,
float z,
float radius);
11842 int agent_get_attack_zone(
float* x,
float* y,
float* z,
float* radius);
11882 int agent_flee_character(
const char* character_name,
11884 int danger_level = 50);
11915 int agent_flee_group(
const char* group_name,
11917 int danger_level = 50);
11926 int agent_flee_crowd(
const char* crowd_name,
11928 int danger_level = 50);
11960 int agent_flee_location(
float x,
float y,
float z,
11962 int danger_level = 50);
11977 void agent_remove_all_flee_objects();
12018 int agent_mingle_in_region(
const char* region_name =
"(current)",
12019 const char* subregion_name =
"base");
12044 int agent_wander_region(
const char* region_name =
"(current)",
12045 const char* subregion_name =
"base");
12084 int agent_pursue_character(
const char* character_name);
12093 int agent_pursue_character_with_offset(
const char* character_name,
12124 int agent_pursue_group(
const char* group_name);
12136 int agent_call_formation(
const char* formation_name,
12176 int agent_travel_behavior_path(
const char* direction = NULL,
12177 const char* at_end = NULL,
12178 int waypoint_index = -1,
12179 float offset_y = 0.5f);
12187 int agent_travel_path_shape(
const char* path_shape_name,
12188 const char* direction = NULL,
12189 const char* at_end = NULL,
12190 int waypoint_index = -1,
12191 float offset_y = 0.5f);
12212 int agent_travel_region_border(
const char* region_name = NULL,
12213 const char* subregion_name =
"base");
12239 int agent_move_to_point(
float x,
float y,
float z,
12240 const char* via_region = NULL,
12241 const char* subregion_name =
"base");
12263 int agent_move_to_point_bg(
float x,
float y,
float z,
12264 const char* via_region = NULL,
12265 const char* subregion_name =
"base");
12332 int agent_move_to_point_via_subregions(
float x,
float y,
float z,
12333 const char* via_region = NULL,
12335 float cost_bias_for_preferred_regions = 0.25f,
12336 float cost_bias_for_neutral_regions = 1.1f,
12338 float cost_bias_for_repulsed_regions = 10.0f,
12339 int cost_rule = 0);
12359 int agent_move_to_point_via_subregions_bg(
float x,
float y,
float z,
12360 const char* via_region = NULL,
12362 float cost_bias_for_preferred_regions = 0.25f,
12363 float cost_bias_for_neutral_regions = 1.1f,
12365 float cost_bias_for_repulsed_regions = 10.0f,
12366 int cost_rule = 0);
12375 int get_path_planning_result();
12383 int get_is_path_planning();
12405 int agent_move_to_region(
const char* region,
12406 const char* subregion_name =
"base",
12407 const char* via_region = NULL);
12431 int agent_move_to_region_via_subregions(
const char* region_name,
12432 const char* subregion_name =
"base",
12433 const char* via_region = NULL,
12434 float cost_bias_for_preferred_regions = 0.25f,
12436 float cost_bias_for_neutral_regions = 1.1f,
12438 float cost_bias_for_repulsed_regions = 10.0f);
12474 int agent_path_follow(
const char* path_name);
12489 int agent_resume_path_follow();
12523 float agent_get_path_follow_path_t();
12530 int agent_get_path_follow_path_t_paused();
12557 int agent_begin_behavior(
const char* behavior_name);
12564 int agent_stop_behavior();
12592 int agent_set_current_focus_character(
const char* character_name);
12632 int agent_set_current_focus_group(
const char* group_name);
12686 const char* agent_get_current_params_profile_name();
12720 int agent_set_current_params_from_profile(
const char* profile_name,
12721 int retain_focus_objects = 1,
12722 int retain_navigation_values = 1,
12723 int retain_behavior = 0);
12731 int agent_set_initial_params_from_profile(
const char* profile_name);
12739 void agent_set_current_params_from_initial_params();
12760 void agent_set_current_behavior_region_border_is_solid(
int is_solid);
12771 void agent_move_on();
12784 int agent_set_auto_variant_selection(
int selection_enabled);
12791 int agent_get_auto_variant_selection();
12813 void agent_set_use_speed_zones_on_paths(
int enabled);
12820 int agent_get_use_speed_zones_on_paths();
12822 #ifdef CPLUSPLUS_ONLY
12937 int create_lua_mind(
const char* base_class,
const char* init_arg1 = NULL,
12938 const char* init_arg2 = NULL);
12946 const char *get_mind_name();
12961 const char* get_mind_current_state_name();
12973 void do_mind_current_state_changed_callback();
12987 int set_sleep_timer(
float sleep_length);
12995 float get_sleep_timer();
13008 int set_heartbeat_dt(
float heartbeat_dt);
13027 int add_secondary_heartbeat(
const char* function_name,
13028 float heartbeat_dt);
13045 int remove_secondary_heartbeat(
const char* function_name);
13063 int set_secondary_heartbeat_dt(
const char* function_name,
float heartbeat_dt);
13099 int add_wakeup_callback(
int callback);
13116 int remove_wakeup_callback(
int callback);
13128 int remove_all_wakeup_callbacks();
13140 int has_wakeup_callback(
int callback);
13159 int agent_accept_message(
const char* sender,
13160 const char* message_type,
13161 const char* message,
13162 const char* message_params = NULL);
13185 int agent_broadcast_message(
float radius,
13186 const char* message_type,
13187 const char* message,
13188 const char* message_params = NULL);
13213 int agent_broadcast_message_to_group(
const char* group_name,
13215 const char* message_type,
13216 const char* message,
13217 const char* message_params = NULL);
13226 const char* get_lua_object_name();
13233 void set_mind_field_as_string(
const char* field_name,
13234 const char* field_value);
13251 const char* get_mind_field_as_string(
const char* field_name,
13252 int warn_if_no_field = 1);
13260 void set_mind_field_as_float(
const char* field_name,
float field_value);
13272 float get_mind_field_as_float(
const char* field_name,
13273 int warn_if_no_field = 1,
13274 int* found_field = NULL);
13282 void set_mind_field_as_int(
const char* field_name,
int field_value);
13294 int get_mind_field_as_int(
const char* field_name,
13295 int warn_if_no_field = 1,
13296 int* found_field = NULL);
13323 const char* evaluate_mind_function(
const char* function_name,
13324 const char* argument = NULL,
13325 int has_return_string = 0);
13348 const char* get_ai_state_string(
int include_stack = 1,
int include_locals = 1);
13393 int los_check_type = 0);
13417 int check_point_visibility(
float x,
float y,
float z);
13438 #ifdef CPLUSPLUS_ONLY
13559 int get_num_ik_chains();
13563 const char * get_ik_chain_name_at_index(
int index);
13576 int set_ik_target_world(
int ik_chain_target,
float x,
float y,
float z,
float ramp_time = .25f);
13589 int set_ik_target_local(
int ik_chain_target,
float x,
float y,
float z,
float ramp_time = .25f);
13593 int disable_ik_target(
int ik_chain_target,
float ramp_time = .25f);
13600 void set_distance_to_primary_camera(
float camera_dist);
13603 float get_distance_to_primary_camera();
13806 void set_stop_physics_sim_at_t(
float t);
13815 void set_stop_physics_sim_in_t_seconds(
float relative_t);
13822 float get_stop_physics_sim_at_t();
13840 void apply_impulse_to_physics_sim(
const char* link,
13841 float impulse_magnitude_x,
13842 float impulse_magnitude_y,
13843 float impulse_magnitude_z,
13844 float link_offset_x = 0.0f,
13845 float link_offset_y = 0.0f,
13846 float link_offset_z = 0.0f,
13847 int set_simulation_drives_character = 1);
13873 void apply_impulse_to_physics_sim_from_world_position(
const char* link,
13874 float impulse_magnitude_x,
13875 float impulse_magnitude_y,
13876 float impulse_magnitude_z,
13877 float impulse_generator_position_x,
13878 float impulse_generator_position_y,
13879 float impulse_generator_position_z,
13880 float max_distance = 20.0f,
13881 float impulse_rolloff = 0.0f,
13882 float link_offset_x = 0.0f,
13883 float link_offset_y = 0.0f,
13884 float link_offset_z = 0.0f,
13885 int set_simulation_drives_character = 1);
13916 static int set_max_shader_quality_level(
int quality_level);
13919 static int get_max_shader_quality_level();
13934 int set_animation_events_enabled(
int enable);
13935 int get_animation_events_enabled();
13954 int get_action_num_channels(
const char* action_name);
13976 int set_action_channel_weight(
const char* action_name,
13995 float get_action_channel_weight(
const char* action_name,
14011 float get_time_to_reach_desired_action();
14034 const char* get_type_map_field_using_string(
const char* field);
14038 float get_normalized_age()
const;
14062 int merge_object(
const char*
object);
14075 int is_active_character_in_group_visible(
const char* group_name,
14076 float max_distance_to_check = 100000.0f);
14093 int get_local_space_bounding_box(
float* x1,
float* y1,
float* z1,
14094 float* x2,
float* y2,
float* z2);
14106 void set_mind_always_updates(
int force_update);
14109 int get_mind_always_updates();
14115 float get_angle_to_path(
const char* path_name,
14116 const char* action_bead_name = NULL);
14121 void set_scene_graph_mask(
unsigned int mask);
14124 unsigned int get_scene_graph_mask();
14141 int set_local_to_world_orientation_matrix(
float rz,
float rx,
float ry);
14143 int set_local_to_world_orientation_matrix(
14144 float a0,
float a1,
float a2,
14145 float b0,
float b1,
float b2,
14146 float c0,
float c1,
float c2,
int transpose = 0);
14151 int set_always_update_regardless_of_dt(
int val);
14153 int get_always_update_regardless_of_dt();
14174 int aim_converge(
int max_iterations = 30);
14177 void set_aim_algorithm(
int aim_algorithm);
14180 int get_aim_algorithm();
14308 #ifdef CPLUSPLUS_ONLY
14310 bdiScenarioCharacter* get_scripted_object();
14326 bdiScenarioCharacter* m_scripted_object;
14328 friend class bdiPublishedCharacter;
14329 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:370
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:64
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 an agent is currently using to carry out their base behavio...
Definition: diguyAgentParams.h:39
wrapper around a chain simulation
Definition: diguyChainSimulation.h:35
diguyHistoryType
DI-Guy history types.
Definition: diguy_constants.h:280
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:34
Definition: diguyMotionPosture.h:32
diguyConnectionPointType
Definition: diguyConnectionPointType.h:27
Definition: diguy_constants.h:165
#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:74
Definition: diguy_constants.h:183
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:181
A bead that sits on a character's spline path and triggers a new decision.
Definition: diguyCharacterPathDecisionBead.h:34
An interface for manipulating a character's spline path. A path is typically authored in DI-Guy Scena...
Definition: diguyCharacterPath.h:47
diguyCharacterSimulator
This enumeration lists the ways that data can be generated for DI-Guy characters. ...
Definition: diguy_constants.h:1674
diguyCharacterClass
DI-Guy character classes.
Definition: diguy_constants.h:110
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:38
The class that represents a DI-Guy Entity in the world.
Definition: diguyCharacter.h:81
Definition: diguyWaypoint.h:29
Definition: diguySensorRegion.h:38
int diguyPointLOSFunction(diguyCharacter *character, float x, float y, float z)
Definition: diguy_typedefs.h:108
A class that allows end users to override a character's animation on a joint level. this class complements the diguyPoseOverride system with one that is a bit more scriptable and can handle automatic animation effects.
Definition: diguyLinkController.h:44
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:55
Definition: diguy_constants.h:1507
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:163
A class that represents the unique per-character non-shared joint of a character. A diguyCharacter is...
Definition: diguyGraphicsLink.h:47
A class that allows end users to override a character's animation on a joint level.
Definition: diguyCharacterPoseOverride.h:37
diguyCallbackReturn
DI-Guy callbacks return a value of type diguyCallbackReturn, which will be DIGUY_CALLBACK_STOP or DIG...
Definition: diguy_constants.h:96
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:148
A class representing a overlaid performance on a character's base animation.
Definition: diguyCharacterGesture.h:45
A bead that sits on a character's spline path and triggers a new script evaluation.
Definition: diguyCharacterPathScriptBead.h:34
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:132
diguyPhysicsSimulationMode
This enumeration lists the modes that a DI-Guy character physics sim can be in, when the character si...
Definition: diguy_constants.h:1691
diguyPhysicsCollisionGroup
This enumeration lists the collision groups that a DI-Guy physics sim object can be in...
Definition: diguy_constants.h:1707
This class implements shader lod system for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderTechnique.h:152
This class implements shader programs for use with DI-Guy character graphics.
Definition: diguyGraphicsShaderProgram.h:96
The class that represents a DI-Guy Crowd, DI-Guy AI agents can be given orders at an individual level...
Definition: diguyCrowd.h:47
Represents algorithm for steering and maneuvering a character towards a goal point.
Definition: diguyCharacterGuide.h:561
diguyMotionPosture
Definition: diguyMotionPosture.h:26
A bead that sits on a character's spline path and triggers a new aim event.
Definition: diguyCharacterPathAimBead.h:34