14 #ifndef __diguyScenario_H
15 #define __diguyScenario_H
20 #define CPLUSPLUS_ONLY
128 const char* get_name();
140 const char* get_type_name();
147 const char* get_description();
160 #ifdef CPLUSPLUS_ONLY
261 int update2(
float t,
float realtime_t);
286 int set_playback_loop(
int playback_loop);
326 int set_tick_dt(
float tick_dt);
358 float get_realtime_t();
371 float get_desired_t();
388 int set_tout(
float tout);
413 void set_tout_enabled(
int tout_enabled);
426 int get_tout_enabled();
440 int get_playback_loop();
455 int get_ticks_can_be_dropped();
499 void set_ticks_can_be_dropped(
int ticks_can_be_dropped);
507 long get_max_ticks_behind_until_drop();
528 void set_max_ticks_behind_until_drop(
long max_ticks_behind_until_drop);
564 int set_playback_mode_stop();
584 int set_playback_mode_play();
625 float derive_playback_mode_dt(
float dt_in);
646 #ifdef CPLUSPLUS_ONLY
673 int load(
const char* filename);
718 int save_as(
const char* filename);
736 const char* get_filename();
748 const char* get_filename_without_directory();
774 void set_unsaved(
int unsaved);
783 #ifdef CPLUSPLUS_ONLY
847 int draw_pass2(
int also_call_post_draw = 1);
850 #endif // CPLUSPLUS_ONLY
877 int post_draw(
int call_plugins_post_draw = 1,
878 int call_lua_packages_draw = 1,
879 int call_post_draw_callback = 1);
913 int set_graphics_attach_ptr(
void* graphics_attach_ptr);
915 #endif // CPLUSPLUS_ONLY
1078 int merge(
const char* filename,
1106 int merge_object(
const char*
string);
1147 int include_object_library(
const char* library_name);
1163 int uninclude_object_library(
const char* library_name);
1193 void set_base_datetime(
int year = -1,
1207 void set_base_datetime(
const char* datetime_string,
1208 const char* format);
1216 void get_base_datetime(
int* year = NULL,
1236 void set_base_datetime_default_to_now(
int to_now);
1244 int get_base_datetime_default_to_now();
1252 void set_base_datetime_default_to_today(
int to_today);
1260 int get_base_datetime_default_to_today();
1272 void set_current_datetime(
int year = -1,
1286 void set_current_datetime(
const char* datetime_string,
1287 const char* format);
1295 void get_current_datetime(
int* year = NULL,
1313 const char* get_current_datetime_string(
const char* format);
1321 void set_datetimes_are_utc(
int are_utc);
1328 int get_datetimes_are_utc();
1336 void set_utc_offset_hours(
float utc_offset_hours);
1343 float get_utc_offset_hours();
1350 void set_use_local_tz_utc_offset_hours(
int use_local_tz);
1357 int get_use_local_tz_utc_offset_hours();
1378 void set_current_datetime_advance_factor(
float advance_factor);
1385 float get_current_datetime_advance_factor();
1392 void get_network_datetime(
int* year = NULL,
1425 int set_tin_time_of_day(
float t);
1442 float get_tin_time_of_day();
1460 float get_time_of_day();
1473 #ifdef CPLUSPLUS_ONLY
1506 int add_appearance(
const char* appearance,
1507 char** equipment_list,
1508 char** character_types,
1536 int add_appearance_based_on_existing_appearance(
const char* appearance,
1537 const char* existing_appearance,
1538 char** equipment_list);
1566 int remove_appearance(
const char* appearance);
1568 #endif // CPLUSPLUS_ONLY
1584 int get_num_character_types_with_appearance(
const char* appearance_name);
1601 const char *get_character_type_from_appearance(
const char* appearance_name,
int index = 0);
1629 const char *get_hand_item_class(
const char *char_type_name,
const char *appearance_name = NULL);
1644 int get_num_hand_items_in_class(
const char *hand_item_class);
1661 const char *get_hand_item_from_class(
const char *hand_item_class,
int index);
1692 int preload_character_type(
const char* character_type);
1711 int preload_appearance(
const char* appearance);
1732 int preload_gesture(
const char* character_type,
const char* gesture_name);
1758 void set_character_culling_enabled(
int character_culling);
1772 int get_character_culling_enabled();
1782 void set_scene_object_culling_enabled(
int object_culling);
1796 int get_scene_object_culling_enabled();
1806 void set_scene_object_sub_culling_enabled(
int object_culling);
1820 int get_scene_object_sub_culling_enabled();
1831 void set_character_visualize_bounds_enabled(
int visualize_bounds);
1846 int get_character_visualize_bounds_enabled();
1857 void set_scene_object_visualize_bounds_enabled(
int val);
1872 int get_scene_object_visualize_bounds_enabled();
1939 int get_num_character_types();
1950 const char* get_character_type_at_index(
int index);
1963 const char* get_character_type_abbreviation(
const char* character_type);
1992 const char* get_character_type_deprecated_at_version(
const char* character_type);
2023 const char* get_character_type_deprecated_suggested_alternatives(
const char* character_type);
2048 int get_character_type_quality_bias(
const char* character_type);
2081 const char* get_character_type_default_appearance(
const char* character_type);
2093 const char* get_character_type_default_skinned_appearance(
const char* character_type);
2105 int get_character_type_num_appearances(
const char* character_type);
2119 const char* get_character_type_appearance_at_index(
const char* character_type,
2132 int get_character_type_num_actions(
const char* character_type);
2146 const char* get_character_type_action_at_index(
const char* character_type,
2161 float get_character_type_action_speed(
const char* character_type,
2162 const char* action_name);
2176 float get_character_type_action_duration(
const char* character_type,
2177 const char* action_name);
2191 float get_character_type_action_distance(
const char* character_type,
2192 const char* action_name);
2207 const char* character_type,
2208 const char* action_name);
2222 float get_character_type_action_facing_angle_in(
const char* character_type,
2223 const char* action_name);
2237 float get_character_type_action_facing_angle_out(
const char* character_type,
2238 const char* action_name);
2253 int get_character_type_num_gestures(
const char* character_type);
2269 const char* get_character_type_gesture_at_index(
const char* character_type,
2310 const char* character_type,
2311 const char* appearance = NULL,
2312 const char* head_appearance = NULL,
2313 const char* hand_item = NULL);
2342 const char* character_type,
2343 const char* appearance = NULL);
2430 diguyCharacter* retrieve_character_from_recycle_bin(
const char* name,
2431 const char* character_type,
2432 const char* appearance,
2433 int make_character_temporary = 0);
2440 int get_num_characters();
2518 int get_num_path_shapes();
2650 diguyWaypoint* create_waypoint(
float x = 0.0f,
float y = 0.0f,
float z = 0.0f,
2651 float yaw = 0.0f,
float roll = 0.0f,
float pitch = 0.0f,
2732 const char* field1_string,
const char* field1_value,
const char* field1_alternate_value,
2733 const char* field2_string = NULL,
const char* field2_value = NULL,
const char* field2_alternate_value = NULL,
2734 const char* field3_string = NULL,
const char* field3_value = NULL,
const char* field3_alternate_value = NULL,
2735 const char* field4_string = NULL,
const char* field4_value = NULL,
const char* field4_alternate_value = NULL,
2736 const char* field5_string = NULL,
const char* field5_value = NULL,
const char* field5_alternate_value = NULL,
2737 const char* field6_string = NULL,
const char* field6_value = NULL,
const char* field6_alternate_value = NULL,
2738 const char* field7_string = NULL,
const char* field7_value = NULL,
const char* field7_alternate_value = NULL,
2739 const char* field8_string = NULL,
const char* field8_value = NULL,
const char* field8_alternate_value = NULL);
2765 int get_num_character_type_map_entries();
2788 int get_num_type_map_character_classes();
2796 const char* get_type_map_character_class_at_index(
int index);
2813 int get_num_type_map_categories(
const char* character_class);
2821 const char* get_type_map_category_at_index(
const char* character_class,
2839 int get_num_type_map_subcategories(
const char* character_class,
2840 const char* category);
2848 const char* get_type_map_subcategory_at_index(
const char* character_class,
2849 const char* category,
2868 int get_num_signals();
2933 void reset_signals();
2946 int signal_palette_hide_all(
const char* filter = NULL);
2958 int signal_palette_show_all(
const char* filter = NULL);
2980 int get_num_sounds();
3039 const char* sound_filename = NULL);
3085 int stop_all_sounds(
float rampdown_time = 0.0f);
3105 int play_3d_sound(
const char* name,
3106 float x,
float y,
float z,
3126 int get_num_groups();
3220 int get_num_sensor_regions();
3265 int get_num_scene_objects();
3301 void set_scene_objects_enabled(
int scene_objects_enabled);
3309 int get_scene_objects_enabled();
3327 const char* filename);
3384 int get_num_secondary_views();
3396 diguyView* get_secondary_view_at_index(
int index);
3463 void set_scenario_camera_affected_by_script_events(
int flag);
3471 int get_scenario_camera_affected_by_script_events();
3489 void set_scenario_camera_affected_by_script_events_when_iguy_active(
int flag);
3497 int get_scenario_camera_affected_by_script_events_when_iguy_active();
3504 int get_num_camera_settings();
3552 int load_camera_settings(
const char* settings_name,
int update_current_camera = 1);
3644 void load_current_fog(
const char* name);
3651 int get_num_fog_settings();
3694 int load_fog_settings(
const char* settings_name);
3742 int get_num_light_settings();
3786 int load_light_settings(
const char* settings_name,
int light_num = 0);
3804 int get_num_info_popups();
3847 int set_info_popup_default_encoding(
const char* info_popup_default_encoding);
3860 const char* get_info_popup_default_encoding();
3878 int get_num_variables();
3954 int get_num_face_expressions();
3999 const char* target_actor =
"exface");
4032 int get_num_chain_settings();
4216 CALLBACK_ID_CREATE = 1,
4217 CALLBACK_ID_DESTROY,
4219 CALLBACK_ID_WAIT_CURSOR_SHOW,
4220 CALLBACK_ID_WAIT_CURSOR_HIDE,
4223 CALLBACK_ID_LOAD_SCENARIO_FILE,
4224 CALLBACK_ID_SAVE_SCENARIO_FILE,
4225 CALLBACK_ID_SCENE_OBJECT_IMPACT,
4226 CALLBACK_ID_TIMED_EVENT,
4227 CALLBACK_ID_MANUALLY_INVOKED,
4228 CALLBACK_ID_POST_DRAW,
4229 CALLBACK_ID_PLAYBACK_MODE_CHANGED,
4230 CALLBACK_ID_INPUT_MODE_CHANGED,
4231 CALLBACK_ID_RENDER_MODE_CHANGED,
4232 CALLBACK_ID_PRE_REINITIALIZE,
4233 CALLBACK_ID_POST_REINITIALIZE,
4234 CALLBACK_ID_POST_LOAD_CHECKPOINT
4237 #ifdef CPLUSPLUS_ONLY
4265 int add_callback(
int callback_id,
4267 void* callback_params = 0,
4268 void* callback_user_data = 0,
4269 int remove_on_scenario_load = 1);
4291 int remove_callback(
int callback_id,
4314 int remove_callback_with_user_data(
int callback_id,
4315 void* callback_user_data);
4328 int add_default_character_callback(
int callback_id,
4330 void* callback_params,
4331 void* callback_user_data,
4332 int add_to_existing_objects_flag = 0,
4333 int remove_on_scenario_load = 1);
4352 int remove_default_character_callback(
int callback_id,
4366 int remove_default_character_callback_with_user_data(
int callback_id,
4367 void* callback_user_data);
4381 int add_default_sensor_region_callback(
int callback_id,
4383 void* callback_params,
4384 void* callback_user_data,
4385 int add_to_existing_objects_flag = 0,
4386 int remove_on_scenario_load = 1);
4405 int remove_default_sensor_region_callback(
int callback_id,
4424 int remove_default_sensor_region_callback_with_user_data(
int callback_id,
4425 void* callback_user_data);
4437 int add_default_signal_callback(
int callback_id,
4439 void* callback_params,
4440 void* callback_user_data,
4441 int add_to_existing_objects_flag = 0,
4442 int remove_on_scenario_load = 1);
4461 int remove_default_signal_callback(
int callback_id,
4480 int remove_default_signal_callback_with_user_data(
int callback_id,
4481 void* callback_user_data);
4493 int add_default_variable_callback(
int callback_id,
4495 void* callback_params,
4496 void* callback_user_data,
4497 int add_to_existing_objects_flag = 0,
4498 int remove_on_scenario_load = 1);
4517 int remove_default_variable_callback(
int callback_id,
4536 int remove_default_variable_callback_with_user_data(
int callback_id,
4537 void* callback_user_data);
4554 int add_default_view_callback(
int callback_id,
4556 void* callback_params,
4557 void* callback_user_data,
4558 int add_to_existing_objects_flag = 1,
4559 int remove_on_scenario_load = 1);
4578 int remove_default_view_callback(
int callback_id,
4597 int remove_default_view_callback_with_user_data(
int callback_id,
4598 void* callback_user_data);
4610 int add_default_camera_callback(
int callback_id,
4612 void* callback_params,
4613 void* callback_user_data,
4614 int add_to_existing_objects_flag = 0,
4615 int remove_on_scenario_load = 1);
4634 int remove_default_camera_callback(
int callback_id,
4653 int remove_default_camera_callback_with_user_data(
int callback_id,
4654 void* callback_user_data);
4666 int add_default_fog_callback(
int callback_id,
4668 void* callback_params,
4669 void* callback_user_data,
4670 int add_to_existing_objects_flag = 0,
4671 int remove_on_scenario_load = 1);
4690 int remove_default_fog_callback(
int callback_id,
4709 int remove_default_fog_callback_with_user_data(
int callback_id,
4710 void* callback_user_data);
4722 int add_default_light_callback(
int callback_id,
4724 void* callback_params,
4725 void* callback_user_data,
4726 int add_to_existing_objects_flag = 0,
4727 int remove_on_scenario_load = 1);
4746 int remove_default_light_callback(
int callback_id,
4765 int remove_default_light_callback_with_user_data(
int callback_id,
4766 void* callback_user_data);
4780 void manually_invoke_callbacks_now(
int callback_id);
4815 int add_callback_script(
int callback_id,
4816 const char* callback_script,
4817 const char* callback_script_type = NULL,
4818 int remove_on_scenario_load = 1);
4852 int remove_callback_script(
int callback_id,
4853 const char* callback_script,
4854 const char* callback_script_type = NULL);
4868 int add_default_character_callback_script(
int callback_id,
4869 const char* callback_script,
4870 const char* callback_script_type = NULL,
4871 int add_to_existing_objects_flag = 0,
4872 int remove_on_scenario_load = 1);
4885 int remove_default_character_callback_script(
int callback_id,
4886 const char* callback_script,
4887 const char* callback_script_type = NULL);
4901 int add_default_sensor_region_callback_script(
int callback_id,
4902 const char* callback_script,
4903 const char* callback_script_type = NULL,
4904 int add_to_existing_objects_flag = 0,
4905 int remove_on_scenario_load = 1);
4918 int remove_default_sensor_region_callback_script(
int callback_id,
4919 const char* callback_script,
4920 const char* callback_script_type = NULL);
4934 int add_default_signal_callback_script(
int callback_id,
4935 const char* callback_script,
4936 const char* callback_script_type = NULL,
4937 int add_to_existing_objects_flag = 0,
4938 int remove_on_scenario_load = 1);
4951 int remove_default_signal_callback_script(
int callback_id,
4952 const char* callback_script,
4953 const char* callback_script_type = NULL);
4967 int add_default_variable_callback_script(
int callback_id,
4968 const char* callback_script,
4969 const char* callback_script_type = NULL,
4970 int add_to_existing_objects_flag = 0,
4971 int remove_on_scenario_load = 1);
4984 int remove_default_variable_callback_script(
int callback_id,
4985 const char* callback_script,
4986 const char* callback_script_type = NULL);
5000 int add_default_view_callback_script(
int callback_id,
5001 const char* callback_script,
5002 const char* callback_script_type = NULL,
5003 int add_to_existing_objects_flag = 0,
5004 int remove_on_scenario_load = 1);
5017 int remove_default_view_callback_script(
int callback_id,
5018 const char* callback_script,
5019 const char* callback_script_type = NULL);
5033 int add_default_camera_callback_script(
int callback_id,
5034 const char* callback_script,
5035 const char* callback_script_type = NULL,
5036 int add_to_existing_objects_flag = 0,
5037 int remove_on_scenario_load = 1);
5050 int remove_default_camera_callback_script(
int callback_id,
5051 const char* callback_script,
5052 const char* callback_script_type = NULL);
5066 int add_default_fog_callback_script(
int callback_id,
5067 const char* callback_script,
5068 const char* callback_script_type = NULL,
5069 int add_to_existing_objects_flag = 0,
5070 int remove_on_scenario_load = 1);
5083 int remove_default_fog_callback_script(
int callback_id,
5084 const char* callback_script,
5085 const char* callback_script_type = NULL);
5099 int add_default_light_callback_script(
int callback_id,
5100 const char* callback_script,
5101 const char* callback_script_type = NULL,
5102 int add_to_existing_objects_flag = 0,
5103 int remove_on_scenario_load = 1);
5116 int remove_default_light_callback_script(
int callback_id,
5117 const char* callback_script,
5118 const char* callback_script_type = NULL);
5165 int map_event_handler_to_callback_id(
int callback_id,
5166 const char* handler_name);
5185 int unmap_event_handler_from_callback_id(
int callback_id,
5186 const char* handler_name,
5187 int unmap_all_matches = 0);
5226 #ifdef CPLUSPLUS_ONLY
5255 int register_character_event_handler(
const char* handler_name,
5257 void* callback_user_data = 0);
5296 int register_character_event_handler_from_library(
const char* handler_name,
5297 const char* library_name,
5298 const char* function_name,
5299 void* callback_user_data = 0);
5323 int register_character_event_handler_script(
const char* handler_name,
5324 const char* handler_script,
5325 const char* handler_script_type = 0);
5337 int has_registered_character_event_handler(
const char* handler_name);
5354 int unregister_character_event_handler(
const char* handler_name);
5356 #ifdef CPLUSPLUS_ONLY
5369 int register_signal_event_handler(
const char* handler_name,
5371 void* callback_user_data = 0);
5382 int register_signal_event_handler_from_library(
const char* handler_name,
5383 const char* library_name,
5384 const char* function_name,
5385 void* callback_user_data = 0);
5394 int register_signal_event_handler_script(
const char* handler_name,
5395 const char* handler_script,
5396 const char* handler_script_type = 0);
5405 int has_registered_signal_event_handler(
const char* handler_name);
5414 int unregister_signal_event_handler(
const char* handler_name);
5416 #ifdef CPLUSPLUS_ONLY
5429 int register_sensor_region_event_handler(
const char* handler_name,
5431 void* callback_user_data = 0);
5442 int register_sensor_region_event_handler_from_library(
const char* handler_name,
5443 const char* library_name,
5444 const char* function_name,
5445 void* callback_user_data = 0);
5454 int register_sensor_region_event_handler_script(
const char* handler_name,
5455 const char* handler_script,
5456 const char* handler_script_type = 0);
5465 int has_registered_sensor_region_event_handler(
const char* handler_name);
5474 int unregister_sensor_region_event_handler(
const char* handler_name);
5476 #ifdef CPLUSPLUS_ONLY
5489 int register_variable_event_handler(
const char* handler_name,
5491 void* callback_user_data = 0);
5502 int register_variable_event_handler_from_library(
const char* handler_name,
5503 const char* library_name,
5504 const char* function_name,
5505 void* callback_user_data = 0);
5514 int register_variable_event_handler_script(
const char* handler_name,
5515 const char* handler_script,
5516 const char* handler_script_type = 0);
5525 int has_registered_variable_event_handler(
const char* handler_name);
5534 int unregister_variable_event_handler(
const char* handler_name);
5583 int save_review_data(
const char* filename);
5591 int get_loaded_from_review_data();
5682 int get_replaying_history();
5701 void set_history_max_sound_instances(
int num_sound_instances);
5744 void set_automatic_graphics_lod_switching(
int enable_graphics_lod_switching);
5747 int get_automatic_graphics_lod_switching();
5755 void set_instancing_enabled(
int val);
5758 int get_instancing_enabled()
const;
5765 void set_instancing_min_lod(
int val);
5768 int get_instancing_min_lod()
const;
5770 #ifdef CPLUSPLUS_ONLY
5816 void set_default_lod_ranges(
const char* character_type,
float* ranges);
5852 void set_scale_graphics_lod_ranges_from_view_settings(
int do_scale);
5860 int get_scale_graphics_lod_ranges_from_view_settings();
5895 void set_automatic_motion_lod_switching(
int enable_motion_lod_switching);
5908 int get_automatic_motion_lod_switching();
5951 int eval_script(
const char* script_text,
5952 int save_as_transient = 0,
5953 const char* script_type = NULL,
5954 const char* script_source = NULL);
5976 int eval_script_file(
const char* filename,
5977 const char* script_type = NULL);
5998 int trigger_script(
const char* script_name);
6017 void trigger_script_delayed(
const char* script_name,
float t_delay);
6038 int trigger_decision(
const char* decision_name);
6057 void trigger_decision_delayed(
const char* decision_name,
float t_delay);
6088 void push_transient_script_event(
float t,
const char* script_text,
const char* script_type);
6095 void clear_transient_script_events();
6112 int save_transient_script_events(
const char* filename);
6129 int load_transient_script_events(
const char* filename);
6141 int load_package(
const char* filename,
6142 const char* language = NULL,
6143 int warn_if_not_found = 1);
6150 int load_package_with_dependancy(
const char* filename,
6151 const char* depends_on_package,
6152 const char* language = NULL,
6153 int warn_if_not_found = 1);
6185 int get_character_type_num_postures(
const char* character_type);
6229 const char* action_name);
6256 int get_character_type_num_variants(
const char* character_type);
6300 diguyMotionVariant get_character_type_action_primary_variant(
const char* character_type,
6301 const char* action_name);
6330 int get_character_type_action_num_variants(
const char* character_type,
6331 const char* action_name);
6358 diguyMotionVariant get_character_type_action_variant_at_index(
const char* character_type,
6359 const char* action_name,
6384 int get_character_type_num_directions(
const char* character_type);
6440 int get_num_interaction_machines();
6578 int show_notification_with_shared_interaction_machine(
const char* heading,
6580 int pause_scenario = 0,
6581 const char* input_text = NULL,
6669 int get_num_labels();
6687 void reset_labels();
6726 int draw_character_labels();
6729 void update_character_labels();
6795 int get_num_panels();
6832 int get_num_minds();
6839 const char* get_mind_name_at_index(
int index);
6907 int make_companion_of_all = 1);
6933 int also_destroy_crowd_members = 0,
6934 int also_destroy_path_shapes = 0,
6935 int delay_destruction = 0);
6942 int get_num_crowds();
6964 const char* get_unique_crowd_name(
const char* base_name);
6979 diguyCrowd* find_crowd(
const char* crowd_name);
6998 diguyCrowd* find_or_create_crowd(
const char* crowd_name,
6999 int make_companion_of_all = 1);
7011 void set_create_network_crowds(
int do_create);
7019 int get_create_network_crowds();
7073 int get_num_crowd_profiles();
7137 int force_octtree_generation();
7145 int use_bounding_box_only = 0);
7159 int preload_octtree(
const char* character_type,
const char* appearance);
7171 int check_visibility(
float x1,
float y1,
float z1,
7172 float x2,
float y2,
float z2);
7185 #ifdef CPLUSPLUS_ONLY
7237 void set_altitude_max_climb(
float altitude_max_climb);
7242 float get_altitude_max_climb();
7247 void set_altitude_max_drop(
float altitude_max_drop);
7252 float get_altitude_max_drop();
7296 int trigger_detonation(
const char* munition_name,
7297 float x,
float y,
float z,
7298 const char* attacker_name = NULL,
7299 float radius_override = -1.0f,
7300 int broadcast_on_network = 1);
7375 int use_octtree = 0);
7415 int use_octtree = 0);
7450 int intersect_static_geometry(
7451 float origin_x,
float origin_y,
float origin_z,
7452 float dir_x,
float dir_y,
float dir_z,
7453 float max_distance_to_test,
7454 float* intersection_x,
float* intersection_y,
float* intersection_z,
7455 float* normal_x = NULL,
float* normal_y = NULL,
float* normal_z = NULL,
7456 int use_callback = 1);
7489 float ground_clamp(
float x,
float y,
float z,
7491 int use_altitude_function = 1,
7492 int use_octtree = 0);
7495 #ifdef CPLUSPLUS_ONLY
7582 diguyImpact* map_color_to_impact(
char r,
char g,
char b);
7612 void set_last_impact_been_processed();
7622 void set_last_env_impact_info(
const diguyImpact& impact);
7636 void set_max_unprocessed_impacts(
int max_unprocessed_impacts);
7639 #ifdef CPLUSPLUS_ONLY
7733 float origin_x,
float origin_y,
float origin_z,
7734 float dir_x,
float dir_y,
float dir_z,
7735 float max_distance_to_test,
7736 int use_callback = 1);
7763 diguyRegion* find_or_create_region(
const char* name);
7812 int get_num_regions();
7872 int find_navigation_path(
float x1,
float y1,
float z1,
7873 float x2,
float y2,
float z2,
7874 const char* via_region,
7876 float cost_bias_for_preferred_regions = 0.25f,
7878 float cost_bias_for_neutral_regions = 1.1f,
7880 float cost_bias_for_repulsive_regions = 100.0f);
7895 void set_max_distance_planning_multiplier(
float mul);
7903 float get_max_distance_planning_multiplier();
7916 float get_time_spent_path_planning_this_frame();
7929 void set_multithreaded_path_planning_enabled(
int value);
7936 int get_multithreaded_path_planning_enabled();
7954 int get_num_formations();
8098 void set_hide_author_selection_handles_during_play(
int visible);
8099 int get_hide_author_selection_handles_during_play();
8116 int get_weapon_fire_effects_enabled();
8123 int set_weapon_fire_effects_enabled(
int enabled);
8130 int get_num_active_fire_effects();
8141 int get_weapon_fire_effect_data(
int index,
float * radius,
8142 float * position_x,
float * position_y,
float * position_z,
8143 float * color_r,
float * color_g,
float * color_b,
8145 float * falloff_rsq);
8188 int set_current_crowd(
diguyCrowd* current_crowd);
8216 int set_current_crowd_profile_by_name(
const char* crowd_profile_name);
8233 int set_current_region(
diguyRegion* current_region);
8253 void set_particle_module_disabled(
int disable_particle_module);
8272 int create_particle_system(
const char* description_name,
8273 float x,
float y,
float z,
8274 int record_transient_event = 1,
8275 float duration = -1.0f);
8288 int create_particle_system_with_orientation(
const char* description_name,
8289 float x,
float y,
float z,
8290 float rz,
float rx,
float ry,
8291 int record_transient_event = 1,
8292 float duration = -1.0f);
8300 int has_particle_description(
const char* description_name);
8307 void set_global_wind(
float x,
float y,
float z);
8339 const char* lua_get_object_field_as_string(
const char* lua_object,
8340 const char* field_name);
8367 const char* lua_evaluate_object_function(
const char* lua_object,
8368 const char* function_name,
8369 const char* argument = NULL,
8370 int has_return_string = 0);
8381 const char* lua_evaluate_object_function_2a(
const char* lua_object,
8382 const char* function_name,
8383 const char* argument,
8384 const char* argument2,
8385 int has_return_string = 0);
8396 const char* lua_evaluate_object_function_3a(
const char* lua_object,
8397 const char* function_name,
8398 const char* argument,
8399 const char* argument2,
8400 const char* argument3,
8401 int has_return_string = 0);
8412 const char* lua_evaluate_object_function_4a(
const char* lua_object,
8413 const char* function_name,
8414 const char* argument,
8415 const char* argument2,
8416 const char* argument3,
8417 const char* argument4,
8418 int has_return_string = 0);
8431 int lua_send_message_to_object(
const char* lua_object,
8433 const char* message_type,
8434 const char* message,
8435 const char* message_params = NULL);
8438 #ifdef CPLUSPLUS_ONLY
8462 void* get_lua_state();
8508 int push_qt_pointer_to_lua(
void* lua_state,
8509 const char* class_name,
8556 const char* lua_evaluate_object_function_4a_flex(
const char* lua_object,
8557 const char* function_name,
8558 const char* arg1_type,
void* argument1,
8559 const char* arg2_type,
void* argument2,
8560 const char* arg3_type,
void* argument3,
8561 const char* arg4_type,
void* argument4,
8562 int has_return_string = 0);
8574 const char* lua_evaluate_global_function_4a_flex(
const char* function_name,
8575 const char* arg_type,
void* argument,
8576 const char* arg_type2,
void* argument2,
8577 const char* arg_type3,
void* argument3,
8578 const char* arg_type4,
void* argument4,
8579 int has_return_string = 0);
8591 int lua_log_printf(
int notify_level,
const char*
string);
8599 const char* dump_package_info(
const char* package_name);
8619 int get_eval_decisions_as_scripts();
8627 void set_eval_decisions_as_scripts(
int eval_decisions_as_scripts);
8651 void wait_cursor_push();
8657 void wait_cursor_pop();
8660 #ifdef CPLUSPLUS_ONLY
8677 void set_graphics_api_node_ptr(
void* node_ptr);
8688 void* get_graphics_api_node_ptr();
8698 void set_draw_character_shadow_disks(
int draw_character_shadow_disks);
8705 int get_draw_character_shadow_disks();
8712 int get_shadow_map_size();
8720 int set_shadow_map_size(
int shadow_size);
8728 void set_default_character_scene_graph_mask(
unsigned long mask);
8729 unsigned long get_default_character_scene_graph_mask();
8737 void set_default_scene_object_scene_graph_mask(
unsigned long mask);
8738 unsigned long get_default_scene_object_scene_graph_mask();
8745 void set_internal_int(
int var,
int val);
8746 void set_internal_float(
int var,
float val);
8754 int set_num_active_point_lights(
int active_lights);
8763 int get_num_active_point_lights();
8780 int optimized_update(
float t);
8796 int set_world_bounds(
float x_min,
float y_min,
float z_min,
8797 float x_max,
float y_max,
float z_max);
8813 int get_world_bounds(
float* x_min,
float* y_min,
float* z_min,
8814 float* x_max,
float* y_max,
float* z_max);
8833 void set_checkpoint_frequency(
float freq);
8839 float get_checkpoint_frequency();
8845 void set_checkpointing_enabled(
int enable_checkpointing);
8851 int get_checkpointing_enabled();
8885 void set_initial_render_mode(
const char* render_mode);
8893 const char* get_initial_render_mode();
8901 void set_current_render_mode(
const char* render_mode);
8914 const char* derive_render_mode_from_light_settings(
int set_current_to_derived = 1);
8917 const char* get_current_render_mode();
8932 void set_default_character_shader(
const char* render_mode,
8933 const char* shader_name,
8934 int update_existing_characters = 1);
8937 const char* get_default_character_shader(
const char* render_mode);
8952 void set_default_scene_object_shader(
const char* render_mode,
8953 const char* shader_name,
8954 int update_existing_scene_objects = 1);
8957 const char* get_default_scene_object_shader(
const char* render_mode);
8972 void set_default_particle_system_shader(
const char* render_mode,
8973 const char* shader_name,
8974 int update_existing_particle_systems = 1);
8977 const char* get_default_particle_system_shader(
const char* render_mode);
8989 int facefx_mount_animset(
const char* actor_name,
const char* file_name);
8999 int set_vehicle_smoothing_enabled(
int enable_smoothing);
9000 int get_vehicle_smoothing_enabled();
9007 int set_character_culling_distance(
float dist);
9008 float get_character_culling_distance();
9015 int set_vehicle_culling_distance(
float dist);
9016 float get_vehicle_culling_distance();
9023 int set_prop_culling_distance(
float dist);
9024 float get_prop_culling_distance();
9031 int set_realtime_ik_enabled(
int val);
9032 int get_realtime_ik_enabled();
9034 int set_draw_ik_visuals(
int val);
9035 int get_draw_ik_visuals();
9037 int set_draw_skeletons(
int val);
9038 int get_draw_skeletons();
9040 float get_last_update_time()
9042 if(m_last_update_time == -9999.0f){
9045 return m_last_update_time;
9070 int get_character_type_num_head_appearances(
const char* character_type);
9076 const char* get_character_type_head_appearance_at_index(
const char* character_type,
9079 #ifdef CPLUSPLUS_ONLY
9086 static int add_default_callback(
int callback_id,
9088 void* callback_params = 0,
9089 void* callback_user_data = 0);
9097 static int remove_default_callback(
int callback_id,
9109 static int remove_default_callback_with_user_data(
int callback_id,
9110 void* callback_user_data);
9118 static int add_default_callback_script(
int callback_id,
9119 const char* callback_script,
9120 const char* callback_script_type);
9128 static int remove_default_callback_script(
int callback_id,
9129 const char* callback_script,
9130 const char* callback_script_type);
9139 const char* get_character_type_class(
const char* character_type);
9146 int merge_asset(
const char*
string);
9154 void print_to_log(
int notify_level,
const char*
string);
9157 #ifdef CPLUSPLUS_ONLY
9162 diguyCharacter* create_pending_reflected_character(
const char* name,
9163 const char* character_type,
9164 const char* appearance = NULL);
9166 int set_network_translation(
float x,
float y,
float z);
9167 int get_network_translation(
float* x,
float* y,
float* z);
9174 void set_project_filename(
const char* project_filename);
9182 const char* get_project_filename();
9189 bdiScenario* get_scripted_object() {
return m_scenario;}
9209 bdiScenario* m_scenario;
9210 float m_last_update_time;
9212 friend class bdiScenario;