14 #ifndef __diguyScenario_H
15 #define __diguyScenario_H
20 #define CPLUSPLUS_ONLY
143 const char* get_name();
155 const char* get_type_name();
162 const char* get_description();
175 #ifdef CPLUSPLUS_ONLY
276 int update2(
float t,
float realtime_t);
301 int set_playback_loop(
int playback_loop);
341 int set_tick_dt(
float tick_dt);
373 float get_realtime_t();
386 float get_desired_t();
403 int set_tout(
float tout);
428 void set_tout_enabled(
int tout_enabled);
441 int get_tout_enabled();
455 int get_playback_loop();
470 int get_ticks_can_be_dropped();
514 void set_ticks_can_be_dropped(
int ticks_can_be_dropped);
522 long get_max_ticks_behind_until_drop();
543 void set_max_ticks_behind_until_drop(
long max_ticks_behind_until_drop);
579 int set_playback_mode_stop();
599 int set_playback_mode_play();
640 float derive_playback_mode_dt(
float dt_in);
661 #ifdef CPLUSPLUS_ONLY
688 int load(
const char* filename);
733 int save_as(
const char* filename);
751 const char* get_filename();
763 const char* get_filename_without_directory();
789 void set_unsaved(
int unsaved);
791 #endif // CPLUSPLUS_ONLY
799 #ifdef CPLUSPLUS_ONLY
863 int draw_pass2(
int also_call_post_draw = 1);
879 void pre_draw_cull_state_reset();
892 void post_draw_cull_state_save();
921 int post_draw(
int call_plugins_post_draw = 1,
922 int call_lua_packages_draw = 1,
923 int call_post_draw_callback = 1);
957 int set_graphics_attach_ptr(
void* graphics_attach_ptr);
959 #endif // CPLUSPLUS_ONLY
1122 int merge(
const char* filename,
1150 int merge_object(
const char*
string);
1191 int include_object_library(
const char* library_name);
1207 int uninclude_object_library(
const char* library_name);
1237 void set_base_datetime(
int year = -1,
1251 void set_base_datetime(
const char* datetime_string,
1252 const char* format);
1260 void get_base_datetime(
int* year = NULL,
1280 void set_base_datetime_default_to_now(
int to_now);
1288 int get_base_datetime_default_to_now();
1296 void set_base_datetime_default_to_today(
int to_today);
1304 int get_base_datetime_default_to_today();
1316 void set_current_datetime(
int year = -1,
1330 void set_current_datetime(
const char* datetime_string,
1331 const char* format);
1339 void get_current_datetime(
int* year = NULL,
1357 const char* get_current_datetime_string(
const char* format);
1365 void set_datetimes_are_utc(
int are_utc);
1372 int get_datetimes_are_utc();
1380 void set_utc_offset_hours(
float utc_offset_hours);
1387 float get_utc_offset_hours();
1394 void set_use_local_tz_utc_offset_hours(
int use_local_tz);
1401 int get_use_local_tz_utc_offset_hours();
1422 void set_current_datetime_advance_factor(
float advance_factor);
1429 float get_current_datetime_advance_factor();
1436 void get_network_datetime(
int* year = NULL,
1469 int set_tin_time_of_day(
float t);
1486 float get_tin_time_of_day();
1504 float get_time_of_day();
1517 #ifdef CPLUSPLUS_ONLY
1550 int add_appearance(
const char* appearance,
1551 char** equipment_list,
1552 char** character_types,
1580 int add_appearance_based_on_existing_appearance(
const char* appearance,
1581 const char* existing_appearance,
1582 char** equipment_list);
1610 int remove_appearance(
const char* appearance);
1612 #endif // CPLUSPLUS_ONLY
1628 int get_num_character_types_with_appearance(
const char* appearance_name);
1645 const char *get_character_type_from_appearance(
const char* appearance_name,
int index = 0);
1673 const char *get_hand_item_class(
const char *char_type_name,
const char *appearance_name = NULL);
1688 int get_num_hand_items_in_class(
const char *hand_item_class);
1705 const char *get_hand_item_from_class(
const char *hand_item_class,
int index);
1736 int preload_character_type(
const char* character_type);
1755 int preload_appearance(
const char* appearance);
1776 int preload_gesture(
const char* character_type,
const char* gesture_name);
1802 void set_character_culling_enabled(
int character_culling);
1816 int get_character_culling_enabled();
1826 void set_scene_object_culling_enabled(
int object_culling);
1840 int get_scene_object_culling_enabled();
1850 void set_scene_object_sub_culling_enabled(
int object_culling);
1864 int get_scene_object_sub_culling_enabled();
1875 void set_character_visualize_bounds_enabled(
int visualize_bounds);
1890 int get_character_visualize_bounds_enabled();
1901 void set_scene_object_visualize_bounds_enabled(
int val);
1916 int get_scene_object_visualize_bounds_enabled();
1983 int get_num_character_types();
1994 const char* get_character_type_at_index(
int index);
2007 const char* get_character_type_abbreviation(
const char* character_type);
2036 const char* get_character_type_deprecated_at_version(
const char* character_type);
2067 const char* get_character_type_deprecated_suggested_alternatives(
const char* character_type);
2092 int get_character_type_quality_bias(
const char* character_type);
2125 const char* get_character_type_default_appearance(
const char* character_type);
2137 const char* get_character_type_default_skinned_appearance(
const char* character_type);
2149 int get_character_type_num_appearances(
const char* character_type);
2163 const char* get_character_type_appearance_at_index(
const char* character_type,
2186 int get_appearance_quality_bias(
const char * appearance);
2197 int get_character_type_num_actions(
const char* character_type);
2211 const char* get_character_type_action_at_index(
const char* character_type,
2226 float get_character_type_action_speed(
const char* character_type,
2227 const char* action_name);
2241 float get_character_type_action_duration(
const char* character_type,
2242 const char* action_name);
2256 float get_character_type_action_distance(
const char* character_type,
2257 const char* action_name);
2272 const char* character_type,
2273 const char* action_name);
2287 float get_character_type_action_facing_angle_in(
const char* character_type,
2288 const char* action_name);
2302 float get_character_type_action_facing_angle_out(
const char* character_type,
2303 const char* action_name);
2318 int get_character_type_num_gestures(
const char* character_type);
2334 const char* get_character_type_gesture_at_index(
const char* character_type,
2375 const char* character_type,
2376 const char* appearance = NULL,
2377 const char* head_appearance = NULL,
2378 const char* hand_item = NULL);
2407 const char* character_type,
2408 const char* appearance = NULL);
2497 diguyCharacter* retrieve_character_from_recycle_bin(
const char* name,
2498 const char* character_type,
2499 const char* appearance,
2500 int make_character_temporary = 0);
2507 int get_num_characters();
2585 int get_num_path_shapes();
2717 diguyWaypoint* create_waypoint(
float x = 0.0f,
float y = 0.0f,
float z = 0.0f,
2718 float yaw = 0.0f,
float roll = 0.0f,
float pitch = 0.0f,
2799 const char* field1_string,
const char* field1_value,
const char* field1_alternate_value,
2800 const char* field2_string = NULL,
const char* field2_value = NULL,
const char* field2_alternate_value = NULL,
2801 const char* field3_string = NULL,
const char* field3_value = NULL,
const char* field3_alternate_value = NULL,
2802 const char* field4_string = NULL,
const char* field4_value = NULL,
const char* field4_alternate_value = NULL,
2803 const char* field5_string = NULL,
const char* field5_value = NULL,
const char* field5_alternate_value = NULL,
2804 const char* field6_string = NULL,
const char* field6_value = NULL,
const char* field6_alternate_value = NULL,
2805 const char* field7_string = NULL,
const char* field7_value = NULL,
const char* field7_alternate_value = NULL,
2806 const char* field8_string = NULL,
const char* field8_value = NULL,
const char* field8_alternate_value = NULL);
2832 int get_num_character_type_map_entries();
2855 int get_num_type_map_character_classes();
2863 const char* get_type_map_character_class_at_index(
int index);
2880 int get_num_type_map_categories(
const char* character_class);
2888 const char* get_type_map_category_at_index(
const char* character_class,
2906 int get_num_type_map_subcategories(
const char* character_class,
2907 const char* category);
2915 const char* get_type_map_subcategory_at_index(
const char* character_class,
2916 const char* category,
2935 int get_num_signals();
3000 void reset_signals();
3013 int signal_palette_hide_all(
const char* filter = NULL);
3025 int signal_palette_show_all(
const char* filter = NULL);
3047 int get_num_sounds();
3106 const char* sound_filename = NULL);
3152 int stop_all_sounds(
float rampdown_time = 0.0f);
3172 int play_3d_sound(
const char* name,
3173 float x,
float y,
float z,
3193 int get_num_groups();
3282 int get_num_sensor_regions();
3318 int get_num_scene_objects();
3354 void set_scene_objects_enabled(
int scene_objects_enabled);
3362 int get_scene_objects_enabled();
3380 const char* filename);
3437 int get_num_secondary_views();
3449 diguyView* get_secondary_view_at_index(
int index);
3516 void set_scenario_camera_affected_by_script_events(
int flag);
3524 int get_scenario_camera_affected_by_script_events();
3542 void set_scenario_camera_affected_by_script_events_when_iguy_active(
int flag);
3550 int get_scenario_camera_affected_by_script_events_when_iguy_active();
3557 int get_num_camera_settings();
3605 int load_camera_settings(
const char* settings_name,
int update_current_camera = 1);
3697 void load_current_fog(
const char* name);
3704 int get_num_fog_settings();
3747 int load_fog_settings(
const char* settings_name);
3795 int get_num_light_settings();
3839 int load_light_settings(
const char* settings_name,
int light_num = 0);
3857 int get_num_info_popups();
3900 int set_info_popup_default_encoding(
const char* info_popup_default_encoding);
3913 const char* get_info_popup_default_encoding();
3931 int get_num_variables();
4007 int get_num_face_expressions();
4052 const char* target_actor =
"exface");
4085 int get_num_chain_settings();
4269 CALLBACK_ID_CREATE = 1,
4270 CALLBACK_ID_DESTROY,
4272 CALLBACK_ID_WAIT_CURSOR_SHOW,
4273 CALLBACK_ID_WAIT_CURSOR_HIDE,
4276 CALLBACK_ID_LOAD_SCENARIO_FILE,
4277 CALLBACK_ID_SAVE_SCENARIO_FILE,
4278 CALLBACK_ID_SCENE_OBJECT_IMPACT,
4279 CALLBACK_ID_LEFT_CLICK_SCENE,
4280 CALLBACK_ID_RIGHT_CLICK_SCENE,
4281 CALLBACK_ID_TIMED_EVENT,
4282 CALLBACK_ID_MANUALLY_INVOKED,
4283 CALLBACK_ID_POST_DRAW,
4284 CALLBACK_ID_PLAYBACK_MODE_CHANGED,
4285 CALLBACK_ID_INPUT_MODE_CHANGED,
4286 CALLBACK_ID_RENDER_MODE_CHANGED,
4287 CALLBACK_ID_PRE_REINITIALIZE,
4288 CALLBACK_ID_POST_REINITIALIZE,
4289 CALLBACK_ID_POST_LOAD_CHECKPOINT
4292 #ifdef CPLUSPLUS_ONLY
4320 int add_callback(
int callback_id,
4322 void* callback_params = 0,
4323 void* callback_user_data = 0,
4324 int remove_on_scenario_load = 1);
4346 int remove_callback(
int callback_id,
4369 int remove_callback_with_user_data(
int callback_id,
4370 void* callback_user_data);
4383 int add_default_character_callback(
int callback_id,
4385 void* callback_params,
4386 void* callback_user_data,
4387 int add_to_existing_objects_flag = 0,
4388 int remove_on_scenario_load = 1);
4407 int remove_default_character_callback(
int callback_id,
4421 int remove_default_character_callback_with_user_data(
int callback_id,
4422 void* callback_user_data);
4436 int add_default_sensor_region_callback(
int callback_id,
4438 void* callback_params,
4439 void* callback_user_data,
4440 int add_to_existing_objects_flag = 0,
4441 int remove_on_scenario_load = 1);
4460 int remove_default_sensor_region_callback(
int callback_id,
4479 int remove_default_sensor_region_callback_with_user_data(
int callback_id,
4480 void* callback_user_data);
4492 int add_default_signal_callback(
int callback_id,
4494 void* callback_params,
4495 void* callback_user_data,
4496 int add_to_existing_objects_flag = 0,
4497 int remove_on_scenario_load = 1);
4516 int remove_default_signal_callback(
int callback_id,
4535 int remove_default_signal_callback_with_user_data(
int callback_id,
4536 void* callback_user_data);
4548 int add_default_variable_callback(
int callback_id,
4550 void* callback_params,
4551 void* callback_user_data,
4552 int add_to_existing_objects_flag = 0,
4553 int remove_on_scenario_load = 1);
4572 int remove_default_variable_callback(
int callback_id,
4591 int remove_default_variable_callback_with_user_data(
int callback_id,
4592 void* callback_user_data);
4609 int add_default_view_callback(
int callback_id,
4611 void* callback_params,
4612 void* callback_user_data,
4613 int add_to_existing_objects_flag = 1,
4614 int remove_on_scenario_load = 1);
4633 int remove_default_view_callback(
int callback_id,
4652 int remove_default_view_callback_with_user_data(
int callback_id,
4653 void* callback_user_data);
4665 int add_default_camera_callback(
int callback_id,
4667 void* callback_params,
4668 void* callback_user_data,
4669 int add_to_existing_objects_flag = 0,
4670 int remove_on_scenario_load = 1);
4689 int remove_default_camera_callback(
int callback_id,
4708 int remove_default_camera_callback_with_user_data(
int callback_id,
4709 void* callback_user_data);
4721 int add_default_fog_callback(
int callback_id,
4723 void* callback_params,
4724 void* callback_user_data,
4725 int add_to_existing_objects_flag = 0,
4726 int remove_on_scenario_load = 1);
4745 int remove_default_fog_callback(
int callback_id,
4764 int remove_default_fog_callback_with_user_data(
int callback_id,
4765 void* callback_user_data);
4777 int add_default_light_callback(
int callback_id,
4779 void* callback_params,
4780 void* callback_user_data,
4781 int add_to_existing_objects_flag = 0,
4782 int remove_on_scenario_load = 1);
4801 int remove_default_light_callback(
int callback_id,
4820 int remove_default_light_callback_with_user_data(
int callback_id,
4821 void* callback_user_data);
4835 void manually_invoke_callbacks_now(
int callback_id);
4870 int add_callback_script(
int callback_id,
4871 const char* callback_script,
4872 const char* callback_script_type = NULL,
4873 int remove_on_scenario_load = 1);
4907 int remove_callback_script(
int callback_id,
4908 const char* callback_script,
4909 const char* callback_script_type = NULL);
4923 int add_default_character_callback_script(
int callback_id,
4924 const char* callback_script,
4925 const char* callback_script_type = NULL,
4926 int add_to_existing_objects_flag = 0,
4927 int remove_on_scenario_load = 1);
4940 int remove_default_character_callback_script(
int callback_id,
4941 const char* callback_script,
4942 const char* callback_script_type = NULL);
4956 int add_default_sensor_region_callback_script(
int callback_id,
4957 const char* callback_script,
4958 const char* callback_script_type = NULL,
4959 int add_to_existing_objects_flag = 0,
4960 int remove_on_scenario_load = 1);
4973 int remove_default_sensor_region_callback_script(
int callback_id,
4974 const char* callback_script,
4975 const char* callback_script_type = NULL);
4989 int add_default_signal_callback_script(
int callback_id,
4990 const char* callback_script,
4991 const char* callback_script_type = NULL,
4992 int add_to_existing_objects_flag = 0,
4993 int remove_on_scenario_load = 1);
5006 int remove_default_signal_callback_script(
int callback_id,
5007 const char* callback_script,
5008 const char* callback_script_type = NULL);
5022 int add_default_variable_callback_script(
int callback_id,
5023 const char* callback_script,
5024 const char* callback_script_type = NULL,
5025 int add_to_existing_objects_flag = 0,
5026 int remove_on_scenario_load = 1);
5039 int remove_default_variable_callback_script(
int callback_id,
5040 const char* callback_script,
5041 const char* callback_script_type = NULL);
5055 int add_default_view_callback_script(
int callback_id,
5056 const char* callback_script,
5057 const char* callback_script_type = NULL,
5058 int add_to_existing_objects_flag = 0,
5059 int remove_on_scenario_load = 1);
5072 int remove_default_view_callback_script(
int callback_id,
5073 const char* callback_script,
5074 const char* callback_script_type = NULL);
5088 int add_default_camera_callback_script(
int callback_id,
5089 const char* callback_script,
5090 const char* callback_script_type = NULL,
5091 int add_to_existing_objects_flag = 0,
5092 int remove_on_scenario_load = 1);
5105 int remove_default_camera_callback_script(
int callback_id,
5106 const char* callback_script,
5107 const char* callback_script_type = NULL);
5121 int add_default_fog_callback_script(
int callback_id,
5122 const char* callback_script,
5123 const char* callback_script_type = NULL,
5124 int add_to_existing_objects_flag = 0,
5125 int remove_on_scenario_load = 1);
5138 int remove_default_fog_callback_script(
int callback_id,
5139 const char* callback_script,
5140 const char* callback_script_type = NULL);
5154 int add_default_light_callback_script(
int callback_id,
5155 const char* callback_script,
5156 const char* callback_script_type = NULL,
5157 int add_to_existing_objects_flag = 0,
5158 int remove_on_scenario_load = 1);
5171 int remove_default_light_callback_script(
int callback_id,
5172 const char* callback_script,
5173 const char* callback_script_type = NULL);
5220 int map_event_handler_to_callback_id(
int callback_id,
5221 const char* handler_name);
5240 int unmap_event_handler_from_callback_id(
int callback_id,
5241 const char* handler_name,
5242 int unmap_all_matches = 0);
5281 #ifdef CPLUSPLUS_ONLY
5310 int register_character_event_handler(
const char* handler_name,
5312 void* callback_user_data = 0);
5351 int register_character_event_handler_from_library(
const char* handler_name,
5352 const char* library_name,
5353 const char* function_name,
5354 void* callback_user_data = 0);
5378 int register_character_event_handler_script(
const char* handler_name,
5379 const char* handler_script,
5380 const char* handler_script_type = 0);
5392 int has_registered_character_event_handler(
const char* handler_name);
5409 int unregister_character_event_handler(
const char* handler_name);
5411 #ifdef CPLUSPLUS_ONLY
5424 int register_signal_event_handler(
const char* handler_name,
5426 void* callback_user_data = 0);
5437 int register_signal_event_handler_from_library(
const char* handler_name,
5438 const char* library_name,
5439 const char* function_name,
5440 void* callback_user_data = 0);
5449 int register_signal_event_handler_script(
const char* handler_name,
5450 const char* handler_script,
5451 const char* handler_script_type = 0);
5460 int has_registered_signal_event_handler(
const char* handler_name);
5469 int unregister_signal_event_handler(
const char* handler_name);
5471 #ifdef CPLUSPLUS_ONLY
5484 int register_sensor_region_event_handler(
const char* handler_name,
5486 void* callback_user_data = 0);
5497 int register_sensor_region_event_handler_from_library(
const char* handler_name,
5498 const char* library_name,
5499 const char* function_name,
5500 void* callback_user_data = 0);
5509 int register_sensor_region_event_handler_script(
const char* handler_name,
5510 const char* handler_script,
5511 const char* handler_script_type = 0);
5520 int has_registered_sensor_region_event_handler(
const char* handler_name);
5529 int unregister_sensor_region_event_handler(
const char* handler_name);
5531 #ifdef CPLUSPLUS_ONLY
5544 int register_variable_event_handler(
const char* handler_name,
5546 void* callback_user_data = 0);
5557 int register_variable_event_handler_from_library(
const char* handler_name,
5558 const char* library_name,
5559 const char* function_name,
5560 void* callback_user_data = 0);
5569 int register_variable_event_handler_script(
const char* handler_name,
5570 const char* handler_script,
5571 const char* handler_script_type = 0);
5580 int has_registered_variable_event_handler(
const char* handler_name);
5589 int unregister_variable_event_handler(
const char* handler_name);
5638 int save_review_data(
const char* filename);
5646 int get_loaded_from_review_data();
5737 int get_replaying_history();
5756 void set_history_max_sound_instances(
int num_sound_instances);
5799 void set_automatic_graphics_lod_switching(
int enable_graphics_lod_switching);
5802 int get_automatic_graphics_lod_switching();
5810 void set_instancing_enabled(
int val);
5813 int get_instancing_enabled()
const;
5820 void set_instancing_min_lod(
int val);
5823 int get_instancing_min_lod()
const;
5825 #ifdef CPLUSPLUS_ONLY
5871 void set_default_lod_ranges(
const char* character_type,
float* ranges);
5907 void set_scale_graphics_lod_ranges_from_view_settings(
int do_scale);
5915 int get_scale_graphics_lod_ranges_from_view_settings();
5950 void set_automatic_motion_lod_switching(
int enable_motion_lod_switching);
5963 int get_automatic_motion_lod_switching();
6006 int eval_script(
const char* script_text,
6007 int save_as_transient = 0,
6008 const char* script_type = NULL,
6009 const char* script_source = NULL);
6031 int eval_script_file(
const char* filename,
6032 const char* script_type = NULL);
6053 int trigger_script(
const char* script_name);
6072 void trigger_script_delayed(
const char* script_name,
float t_delay);
6093 int trigger_decision(
const char* decision_name);
6112 void trigger_decision_delayed(
const char* decision_name,
float t_delay);
6143 void push_transient_script_event(
float t,
const char* script_text,
const char* script_type);
6150 void clear_transient_script_events();
6167 int save_transient_script_events(
const char* filename);
6184 int load_transient_script_events(
const char* filename);
6196 int load_package(
const char* filename,
6197 const char* language = NULL,
6198 int warn_if_not_found = 1);
6205 int load_package_with_dependancy(
const char* filename,
6206 const char* depends_on_package,
6207 const char* language = NULL,
6208 int warn_if_not_found = 1);
6240 int get_character_type_num_postures(
const char* character_type);
6284 const char* action_name);
6311 int get_character_type_num_variants(
const char* character_type);
6355 diguyMotionVariant get_character_type_action_primary_variant(
const char* character_type,
6356 const char* action_name);
6385 int get_character_type_action_num_variants(
const char* character_type,
6386 const char* action_name);
6413 diguyMotionVariant get_character_type_action_variant_at_index(
const char* character_type,
6414 const char* action_name,
6439 int get_character_type_num_directions(
const char* character_type);
6495 int get_num_interaction_machines();
6633 int show_notification_with_shared_interaction_machine(
const char* heading,
6635 int pause_scenario = 0,
6636 const char* input_text = NULL,
6724 int get_num_labels();
6742 void reset_labels();
6781 int draw_character_labels();
6784 void update_character_labels();
6850 int get_num_panels();
6887 int get_num_minds();
6894 const char* get_mind_name_at_index(
int index);
6962 int make_companion_of_all = 1);
6988 int also_destroy_crowd_members = 0,
6989 int also_destroy_path_shapes = 0,
6990 int delay_destruction = 0);
6997 int get_num_crowds();
7019 const char* get_unique_crowd_name(
const char* base_name);
7034 diguyCrowd* find_crowd(
const char* crowd_name);
7053 diguyCrowd* find_or_create_crowd(
const char* crowd_name,
7054 int make_companion_of_all = 1);
7066 void set_create_network_crowds(
int do_create);
7074 int get_create_network_crowds();
7128 int get_num_crowd_profiles();
7192 int force_octtree_generation();
7200 int use_bounding_box_only = 0);
7214 int preload_octtree(
const char* character_type,
const char* appearance);
7226 int check_visibility(
float x1,
float y1,
float z1,
7227 float x2,
float y2,
float z2);
7240 #ifdef CPLUSPLUS_ONLY
7294 void set_altitude_max_climb(
float altitude_max_climb);
7299 float get_altitude_max_climb();
7304 void set_altitude_max_drop(
float altitude_max_drop);
7309 float get_altitude_max_drop();
7353 int trigger_detonation(
const char* munition_name,
7354 float x,
float y,
float z,
7355 const char* attacker_name = NULL,
7356 float radius_override = -1.0f,
7357 int broadcast_on_network = 1);
7432 int use_octtree = 0);
7472 int use_octtree = 0);
7507 int intersect_static_geometry(
7508 float origin_x,
float origin_y,
float origin_z,
7509 float dir_x,
float dir_y,
float dir_z,
7510 float max_distance_to_test,
7511 float* intersection_x,
float* intersection_y,
float* intersection_z,
7512 float* normal_x = NULL,
float* normal_y = NULL,
float* normal_z = NULL,
7513 int use_callback = 1);
7548 float ground_clamp(
float x,
float y,
float z,
7550 int use_altitude_function = 1,
7551 int use_octtree = 0);
7554 #ifdef CPLUSPLUS_ONLY
7641 diguyImpact* map_color_to_impact(
char r,
char g,
char b);
7671 void set_last_impact_been_processed();
7681 void set_last_env_impact_info(
const diguyImpact& impact);
7695 void set_max_unprocessed_impacts(
int max_unprocessed_impacts);
7698 #ifdef CPLUSPLUS_ONLY
7792 float origin_x,
float origin_y,
float origin_z,
7793 float dir_x,
float dir_y,
float dir_z,
7794 float max_distance_to_test,
7795 int use_callback = 1);
7822 diguyRegion* find_or_create_region(
const char* name);
7871 int get_num_regions();
7931 int find_navigation_path(
float x1,
float y1,
float z1,
7932 float x2,
float y2,
float z2,
7933 const char* via_region,
7935 float cost_bias_for_preferred_regions = 0.25f,
7937 float cost_bias_for_neutral_regions = 1.1f,
7939 float cost_bias_for_repulsive_regions = 100.0f);
7954 void set_max_distance_planning_multiplier(
float mul);
7962 float get_max_distance_planning_multiplier();
7975 float get_time_spent_path_planning_this_frame();
7988 void set_multithreaded_path_planning_enabled(
int value);
7995 int get_multithreaded_path_planning_enabled();
8013 int get_num_formations();
8122 void set_draw_authoring_visuals(
int visible);
8124 int get_draw_authoring_visuals();
8160 void set_hide_author_selection_handles_during_play(
int visible);
8161 int get_hide_author_selection_handles_during_play();
8179 int get_weapon_fire_effects_enabled();
8186 int set_weapon_fire_effects_enabled(
int enabled);
8193 int get_num_active_fire_effects();
8204 int get_weapon_fire_effect_data(
int index,
float * radius,
8205 float * position_x,
float * position_y,
float * position_z,
8206 float * color_r,
float * color_g,
float * color_b,
8208 float * falloff_rsq);
8211 int get_num_active_lights();
8214 int sort_active_lights();
8268 int set_current_crowd(
diguyCrowd* current_crowd);
8296 int set_current_crowd_profile_by_name(
const char* crowd_profile_name);
8313 int set_current_region(
diguyRegion* current_region);
8333 void set_particle_module_disabled(
int disable_particle_module);
8352 int create_particle_system(
const char* description_name,
8353 float x,
float y,
float z,
8354 int record_transient_event = 1,
8355 float duration = -1.0f);
8368 int create_particle_system_with_orientation(
const char* description_name,
8369 float x,
float y,
float z,
8370 float rz,
float rx,
float ry,
8371 int record_transient_event = 1,
8372 float duration = -1.0f);
8380 int has_particle_description(
const char* description_name);
8387 void set_global_wind(
float x,
float y,
float z);
8419 const char* lua_get_object_field_as_string(
const char* lua_object,
8420 const char* field_name);
8447 const char* lua_evaluate_object_function(
const char* lua_object,
8448 const char* function_name,
8449 const char* argument = NULL,
8450 int has_return_string = 0);
8461 const char* lua_evaluate_object_function_2a(
const char* lua_object,
8462 const char* function_name,
8463 const char* argument,
8464 const char* argument2,
8465 int has_return_string = 0);
8476 const char* lua_evaluate_object_function_3a(
const char* lua_object,
8477 const char* function_name,
8478 const char* argument,
8479 const char* argument2,
8480 const char* argument3,
8481 int has_return_string = 0);
8492 const char* lua_evaluate_object_function_4a(
const char* lua_object,
8493 const char* function_name,
8494 const char* argument,
8495 const char* argument2,
8496 const char* argument3,
8497 const char* argument4,
8498 int has_return_string = 0);
8511 int lua_send_message_to_object(
const char* lua_object,
8513 const char* message_type,
8514 const char* message,
8515 const char* message_params = NULL);
8518 #ifdef CPLUSPLUS_ONLY
8542 void* get_lua_state();
8588 int push_qt_pointer_to_lua(
void* lua_state,
8589 const char* class_name,
8636 const char* lua_evaluate_object_function_4a_flex(
const char* lua_object,
8637 const char* function_name,
8638 const char* arg1_type,
void* argument1,
8639 const char* arg2_type,
void* argument2,
8640 const char* arg3_type,
void* argument3,
8641 const char* arg4_type,
void* argument4,
8642 int has_return_string = 0);
8654 const char* lua_evaluate_global_function_4a_flex(
const char* function_name,
8655 const char* arg_type,
void* argument,
8656 const char* arg_type2,
void* argument2,
8657 const char* arg_type3,
void* argument3,
8658 const char* arg_type4,
void* argument4,
8659 int has_return_string = 0);
8671 int lua_log_printf(
int notify_level,
const char*
string);
8679 const char* dump_package_info(
const char* package_name);
8714 const char* message_type,
8715 const char* message,
8716 const char* message_params = NULL);
8746 const char* message_type,
8747 const char* message,
8748 const char* message_params = NULL);
8776 const char * group_name,
8778 const char* message_type,
8779 const char* message,
8780 const char* message_params = NULL);
8800 int get_eval_decisions_as_scripts();
8808 void set_eval_decisions_as_scripts(
int eval_decisions_as_scripts);
8832 void wait_cursor_push();
8838 void wait_cursor_pop();
8841 #ifdef CPLUSPLUS_ONLY
8858 void set_graphics_api_node_ptr(
void* node_ptr);
8869 void* get_graphics_api_node_ptr();
8879 void set_draw_character_shadow_disks(
int draw_character_shadow_disks);
8886 int get_draw_character_shadow_disks();
8893 int get_shadow_map_size();
8901 int set_shadow_map_size(
int shadow_size);
8909 void set_default_character_scene_graph_mask(
unsigned long mask);
8910 unsigned long get_default_character_scene_graph_mask();
8918 void set_default_scene_object_scene_graph_mask(
unsigned long mask);
8919 unsigned long get_default_scene_object_scene_graph_mask();
8926 void set_internal_int(
int var,
int val);
8927 void set_internal_float(
int var,
float val);
8935 int set_num_active_point_lights(
int active_lights);
8944 int get_num_active_point_lights();
8970 int set_world_bounds(
float x_min,
float y_min,
float z_min,
8971 float x_max,
float y_max,
float z_max);
8987 int get_world_bounds(
float* x_min,
float* y_min,
float* z_min,
8988 float* x_max,
float* y_max,
float* z_max);
9007 void set_checkpoint_frequency(
float freq);
9013 float get_checkpoint_frequency();
9019 void set_checkpointing_enabled(
int enable_checkpointing);
9025 int get_checkpointing_enabled();
9059 void set_initial_render_mode(
const char* render_mode);
9067 const char* get_initial_render_mode();
9075 void set_current_render_mode(
const char* render_mode);
9088 const char* derive_render_mode_from_light_settings(
int set_current_to_derived = 1);
9091 const char* get_current_render_mode();
9106 void set_default_character_shader(
const char* render_mode,
9107 const char* shader_name,
9108 int update_existing_characters = 1);
9111 const char* get_default_character_shader(
const char* render_mode);
9126 void set_default_scene_object_shader(
const char* render_mode,
9127 const char* shader_name,
9128 int update_existing_scene_objects = 1);
9131 const char* get_default_scene_object_shader(
const char* render_mode);
9146 void set_default_particle_system_shader(
const char* render_mode,
9147 const char* shader_name,
9148 int update_existing_particle_systems = 1);
9151 const char* get_default_particle_system_shader(
const char* render_mode);
9163 int facefx_mount_animset(
const char* actor_name,
const char* file_name);
9173 int set_vehicle_smoothing_enabled(
int enable_smoothing);
9174 int get_vehicle_smoothing_enabled();
9181 int set_character_culling_distance(
float dist);
9182 float get_character_culling_distance();
9189 int set_vehicle_culling_distance(
float dist);
9190 float get_vehicle_culling_distance();
9197 int set_prop_culling_distance(
float dist);
9198 float get_prop_culling_distance();
9205 int set_realtime_ik_enabled(
int val);
9206 int get_realtime_ik_enabled();
9208 int set_draw_ik_visuals(
int val);
9209 int get_draw_ik_visuals();
9211 int set_draw_skeletons(
int val);
9212 int get_draw_skeletons();
9214 float get_last_update_time()
9216 if(m_last_update_time == -9999.0f){
9219 return m_last_update_time;
9222 void set_disable_profiler();
9226 void calculate_character_lods();
9228 const char* get_lua_field_as_string(
const char* object_name,
const char* field_name,
9229 int warn_if_no_field = 1);
9231 float get_lua_field_as_float(
const char* object_name,
const char* field_name,
9232 int warn_if_no_field = 1,
9233 int* found_field = NULL);
9256 int get_character_type_num_head_appearances(
const char* character_type);
9262 const char* get_character_type_head_appearance_at_index(
const char* character_type,
9265 #ifdef CPLUSPLUS_ONLY
9272 static int add_default_callback(
int callback_id,
9274 void* callback_params = 0,
9275 void* callback_user_data = 0);
9283 static int remove_default_callback(
int callback_id,
9295 static int remove_default_callback_with_user_data(
int callback_id,
9296 void* callback_user_data);
9304 static int add_default_callback_script(
int callback_id,
9305 const char* callback_script,
9306 const char* callback_script_type);
9314 static int remove_default_callback_script(
int callback_id,
9315 const char* callback_script,
9316 const char* callback_script_type);
9325 const char* get_character_type_class(
const char* character_type);
9332 int merge_asset(
const char*
string);
9340 void print_to_log(
int notify_level,
const char*
string);
9343 #ifdef CPLUSPLUS_ONLY
9348 diguyCharacter* create_pending_reflected_character(
const char* name,
9349 const char* character_type,
9350 const char* appearance = NULL);
9352 int set_network_translation(
float x,
float y,
float z);
9353 int get_network_translation(
float* x,
float* y,
float* z);
9360 void set_project_filename(
const char* project_filename);
9368 const char* get_project_filename();
9375 bdiScenario* get_scripted_object();
9395 bdiScenario* m_scenario;
9396 float m_last_update_time;
9398 friend class bdiScenario;
int diguyScenarioFindImpactOnLineFunction(diguyImpact *impact, float from_x, float from_y, float from_z, float to_x, float to_y, float to_z, diguyScenario *s)
Definition: diguy_typedefs.h:145
Definition: diguyViewLabel.h:44
A two-and-a-half-dimensional surface that represents either a navigation mesh or an area that's been ...
Definition: diguyRegion.h:50
The diguyViewCameraSettings class holds camera settings data that can be loaded into a diguyViewCamer...
Definition: diguyViewCameraSettings.h:43
#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 diguyScenarioCallback(diguyScenario *scenario, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:158
diguyCallbackReturn diguyViewFogCallback(diguyViewFog *fog, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:216
Summary:
Definition: diguyViewLightSettings.h:45
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
diguyHistoryType
DI-Guy history types.
Definition: diguy_constants.h:284
Definition: diguyPathShape.h:30
Definition: diguyViewLight.h:50
The diguyViewFogSettings class holds camera settings data that can be loaded into a diguyViewFog usin...
Definition: diguyViewFogSettings.h:43
Experimental class for diguyIntersectionResult exp_intersect_geometry.
Definition: diguyImpact.h:630
diguyMotionDirection
Definition: diguyMotionDirection.h:26
Definition: diguyChainSettings.h:34
int diguyScenarioIntersectionFunction(diguyScenario *scenario, 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:77
A class that represents a bullet impact in the world, often used by AIs to make reaction decisions...
Definition: diguyImpact.h:41
Definition: diguyLoadManager.h:30
The class that represents the makeup and base params of a diguyCrowd.
Definition: diguyCrowdProfile.h:37
Interface to base class of event beads, not often used.
Definition: diguyCharacterPathEvent.h:40
float diguyScenarioAltitudeFunction(diguyScenario *scenario, float x, float y, float old_z, int *valid)
Definition: diguy_typedefs.h:133
A view is a graphics window wherein the scenario and its characters are animated. Note that views hav...
Definition: diguyView.h:48
Definition: diguy_constants.h:680
As string: "unknown".
Definition: diguyCharacterTypeMap.h:38
diguyScenarioMergeInitialSettings
This enumeration tells DI-Guy what values to use as defaults when the diguyScenario::create_merge_set...
Definition: diguy_constants.h:678
diguyCallbackReturn diguySensorRegionCallback(diguySensorRegion *sensor_region, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:186
The character type map provides extra information about DI-Guy character types and appearances...
Definition: diguyCharacterTypeMap.h:291
float diguyAltitudeFunction(diguyCharacter *character, float x, float y, float old_z, int *valid)
Definition: diguy_typedefs.h:54
Definition: diguyViewLight.h:35
int diguyCharacterLOSFunction(diguyCharacter *character, diguyCharacter *target_character, int visibility_type)
Definition: diguy_typedefs.h:103
diguyCallbackReturn diguyViewLightCallback(diguyViewLight *light, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:180
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
diguyCallbackReturn diguyViewCallback(diguyView *view, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:210
This class is represents a sound file on disk.
Definition: diguySound.h:39
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
The class that represents a camera in the world.
Definition: diguyViewCamera.h:90
static double t
4 Header files and forward declarations
Definition: simple_playback_ogl.cpp:53
Definition: diguySignal.h:36
Definition: diguy_constants.h:1513
diguyCallbackReturn diguySignalCallback(diguySignal *signal, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:192
Definition: diguyViewFog.h:35
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
A scene object is a static (that is, non-moving) object in the scenario. Scene objects are the basic ...
Definition: diguySceneObject.h:43
diguyVisibleFlag
This enumeration lists the visibility options for various objects in the DI-Guy Scenario environment...
Definition: diguy_constants.h:519
Definition: diguyInteractionMachine.h:328
Definition: diguyVariable.h:38
A class that gives access to IGuy's parameters.
Definition: diguyIGuyController.h:33
diguyScenarioPlaybackMode
This enumeration identifies which playback mode time should follow.
Definition: diguy_constants.h:496
A class representing a facial pose.
Definition: diguyCharacterFaceExpression.h:33
Definition: diguyScenarioMergeSettings.h:37
diguyInteractionMachine objects give DI-Guy Scenario users a way of providing interactive, UI-driven input to a scenario that can change the way a scenario progresses.
Definition: diguyInteractionMachine.h:81
The class that represents a DI-Guy Crowd.
Definition: diguyCrowd.h:48
diguyMotionPosture
Definition: diguyMotionPosture.h:26
diguyDatetimeAdvanceMethod
This enumeration lists the methods in which the datetime of a scenario can advance.
Definition: diguy_constants.h:1605
diguyCallbackReturn diguyVariableCallback(diguyVariable *variable, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:198
static diguyScenario * scenario
Definition: simple_playback_ogl.cpp:54
diguyCallbackReturn diguyViewCameraCallback(diguyViewCamera *camera, int callback_id, void *callback_params, void *callback_user_data)
Definition: diguy_typedefs.h:204