34 #ifndef __diguyScenario_H
35 #define __diguyScenario_H
40 #define CPLUSPLUS_ONLY
148 const char* get_name();
160 const char* get_type_name();
167 const char* get_description();
180 #ifdef CPLUSPLUS_ONLY
281 int update2(
float t,
float realtime_t);
306 int set_playback_loop(
int playback_loop);
346 int set_tick_dt(
float tick_dt);
378 float get_realtime_t();
391 float get_desired_t();
408 int set_tout(
float tout);
433 void set_tout_enabled(
int tout_enabled);
446 int get_tout_enabled();
460 int get_playback_loop();
475 int get_ticks_can_be_dropped();
519 void set_ticks_can_be_dropped(
int ticks_can_be_dropped);
527 long get_max_ticks_behind_until_drop();
548 void set_max_ticks_behind_until_drop(
long max_ticks_behind_until_drop);
584 int set_playback_mode_stop();
604 int set_playback_mode_play();
645 float derive_playback_mode_dt(
float dt_in);
666 #ifdef CPLUSPLUS_ONLY
693 int load(
const char* filename);
738 int save_as(
const char* filename);
756 const char* get_filename();
768 const char* get_filename_without_directory();
794 void set_unsaved(
int unsaved);
803 #ifdef CPLUSPLUS_ONLY
869 int draw_pass2(
int also_call_post_draw = 1);
871 #endif // CPLUSPLUS_ONLY
898 int post_draw(
int call_plugins_post_draw = 1,
899 int call_lua_packages_draw = 1,
900 int call_post_draw_callback = 1);
934 int set_graphics_attach_ptr(
void* graphics_attach_ptr);
936 #endif // CPLUSPLUS_ONLY
1099 int merge(
const char* filename,
1127 int merge_object(
const char*
string);
1168 int include_object_library(
const char* library_name);
1184 int uninclude_object_library(
const char* library_name);
1214 void set_base_datetime(
int year = -1,
1228 void set_base_datetime(
const char* datetime_string,
1229 const char* format);
1237 void get_base_datetime(
int* year = NULL,
1257 void set_base_datetime_default_to_now(
int to_now);
1265 int get_base_datetime_default_to_now();
1273 void set_base_datetime_default_to_today(
int to_today);
1281 int get_base_datetime_default_to_today();
1293 void set_current_datetime(
int year = -1,
1307 void set_current_datetime(
const char* datetime_string,
1308 const char* format);
1316 void get_current_datetime(
int* year = NULL,
1334 const char* get_current_datetime_string(
const char* format);
1342 void set_datetimes_are_utc(
int are_utc);
1349 int get_datetimes_are_utc();
1357 void set_utc_offset_hours(
float utc_offset_hours);
1364 float get_utc_offset_hours();
1371 void set_use_local_tz_utc_offset_hours(
int use_local_tz);
1378 int get_use_local_tz_utc_offset_hours();
1399 void set_current_datetime_advance_factor(
float advance_factor);
1406 float get_current_datetime_advance_factor();
1413 void get_network_datetime(
int* year = NULL,
1446 int set_tin_time_of_day(
float t);
1463 float get_tin_time_of_day();
1481 float get_time_of_day();
1494 #ifdef CPLUSPLUS_ONLY
1527 int add_appearance(
const char* appearance,
1528 char** equipment_list,
1529 char** character_types,
1557 int add_appearance_based_on_existing_appearance(
const char* appearance,
1558 const char* existing_appearance,
1559 char** equipment_list);
1587 int remove_appearance(
const char* appearance);
1589 #endif // CPLUSPLUS_ONLY
1605 int get_num_character_types_with_appearance(
const char* appearance_name);
1622 const char *get_character_type_from_appearance(
const char* appearance_name,
int index = 0);
1654 int preload_character_type(
const char* character_type);
1673 int preload_appearance(
const char* appearance);
1694 int preload_gesture(
const char* character_type,
const char* gesture_name);
1720 void set_character_culling_enabled(
int character_culling);
1734 int get_character_culling_enabled();
1744 void set_scene_object_culling_enabled(
int object_culling);
1758 int get_scene_object_culling_enabled();
1768 void set_scene_object_sub_culling_enabled(
int object_culling);
1782 int get_scene_object_sub_culling_enabled();
1793 void set_character_visualize_bounds_enabled(
int visualize_bounds);
1808 int get_character_visualize_bounds_enabled();
1819 void set_scene_object_visualize_bounds_enabled(
int val);
1834 int get_scene_object_visualize_bounds_enabled();
1901 int get_num_character_types();
1912 const char* get_character_type_at_index(
int index);
1925 const char* get_character_type_abbreviation(
const char* character_type);
1954 const char* get_character_type_deprecated_at_version(
const char* character_type);
1985 const char* get_character_type_deprecated_suggested_alternatives(
const char* character_type);
2010 int get_character_type_quality_bias(
const char* character_type);
2043 const char* get_character_type_default_appearance(
const char* character_type);
2055 const char* get_character_type_default_skinned_appearance(
const char* character_type);
2067 int get_character_type_num_appearances(
const char* character_type);
2081 const char* get_character_type_appearance_at_index(
const char* character_type,
2088 int get_character_type_num_head_appearances(
const char* character_type);
2094 const char* get_character_type_head_appearance_at_index(
const char* character_type,
2107 int get_character_type_num_actions(
const char* character_type);
2121 const char* get_character_type_action_at_index(
const char* character_type,
2136 float get_character_type_action_speed(
const char* character_type,
2137 const char* action_name);
2151 float get_character_type_action_duration(
const char* character_type,
2152 const char* action_name);
2166 float get_character_type_action_distance(
const char* character_type,
2167 const char* action_name);
2182 const char* character_type,
2183 const char* action_name);
2197 float get_character_type_action_facing_angle_in(
const char* character_type,
2198 const char* action_name);
2212 float get_character_type_action_facing_angle_out(
const char* character_type,
2213 const char* action_name);
2228 int get_character_type_num_gestures(
const char* character_type);
2244 const char* get_character_type_gesture_at_index(
const char* character_type,
2283 const char* character_type,
2284 const char* appearance = NULL);
2313 const char* character_type,
2314 const char* appearance = NULL);
2401 diguyCharacter* retrieve_character_from_recycle_bin(
const char* name,
2402 const char* character_type,
2403 const char* appearance,
2404 int make_character_temporary = 0);
2411 int get_num_characters();
2489 int get_num_path_shapes();
2621 diguyWaypoint* create_waypoint(
float x = 0.0f,
float y = 0.0f,
float z = 0.0f,
2622 float yaw = 0.0f,
float roll = 0.0f,
float pitch = 0.0f,
2703 const char* field1_string,
const char* field1_value,
const char* field1_alternate_value,
2704 const char* field2_string = NULL,
const char* field2_value = NULL,
const char* field2_alternate_value = NULL,
2705 const char* field3_string = NULL,
const char* field3_value = NULL,
const char* field3_alternate_value = NULL,
2706 const char* field4_string = NULL,
const char* field4_value = NULL,
const char* field4_alternate_value = NULL,
2707 const char* field5_string = NULL,
const char* field5_value = NULL,
const char* field5_alternate_value = NULL,
2708 const char* field6_string = NULL,
const char* field6_value = NULL,
const char* field6_alternate_value = NULL,
2709 const char* field7_string = NULL,
const char* field7_value = NULL,
const char* field7_alternate_value = NULL,
2710 const char* field8_string = NULL,
const char* field8_value = NULL,
const char* field8_alternate_value = NULL);
2736 int get_num_character_type_map_entries();
2759 int get_num_type_map_character_classes();
2767 const char* get_type_map_character_class_at_index(
int index);
2784 int get_num_type_map_categories(
const char* character_class);
2792 const char* get_type_map_category_at_index(
const char* character_class,
2810 int get_num_type_map_subcategories(
const char* character_class,
2811 const char* category);
2819 const char* get_type_map_subcategory_at_index(
const char* character_class,
2820 const char* category,
2839 int get_num_signals();
2904 void reset_signals();
2917 int signal_palette_hide_all(
const char* filter = NULL);
2929 int signal_palette_show_all(
const char* filter = NULL);
2951 int get_num_sounds();
3012 const char* sound_filename = NULL,
3013 const char* phoneme_filename = NULL);
3059 int stop_all_sounds(
float rampdown_time = 0.0f);
3079 int play_3d_sound(
const char* name,
3080 float x,
float y,
float z,
3100 int get_num_groups();
3194 int get_num_sensor_regions();
3239 int get_num_scene_objects();
3275 void set_scene_objects_enabled(
int scene_objects_enabled);
3283 int get_scene_objects_enabled();
3301 const char* filename);
3358 int get_num_secondary_views();
3370 diguyView* get_secondary_view_at_index(
int index);
3437 void set_scenario_camera_affected_by_script_events(
int flag);
3445 int get_scenario_camera_affected_by_script_events();
3463 void set_scenario_camera_affected_by_script_events_when_iguy_active(
int flag);
3471 int get_scenario_camera_affected_by_script_events_when_iguy_active();
3478 int get_num_camera_settings();
3526 int load_camera_settings(
const char* settings_name,
int update_current_camera = 1);
3618 void load_current_fog(
const char* name);
3625 int get_num_fog_settings();
3668 int load_fog_settings(
const char* settings_name);
3716 int get_num_light_settings();
3760 int load_light_settings(
const char* settings_name,
int light_num = 0);
3778 int get_num_info_popups();
3821 int set_info_popup_default_encoding(
const char* info_popup_default_encoding);
3834 const char* get_info_popup_default_encoding();
3852 int get_num_variables();
3928 int get_num_face_expressions();
3973 const char* target_actor =
"exface");
4006 int get_num_chain_settings();
4190 CALLBACK_ID_CREATE = 1,
4191 CALLBACK_ID_DESTROY,
4193 CALLBACK_ID_WAIT_CURSOR_SHOW,
4194 CALLBACK_ID_WAIT_CURSOR_HIDE,
4197 CALLBACK_ID_LOAD_SCENARIO_FILE,
4198 CALLBACK_ID_SAVE_SCENARIO_FILE,
4199 CALLBACK_ID_SCENE_OBJECT_IMPACT,
4200 CALLBACK_ID_TIMED_EVENT,
4201 CALLBACK_ID_MANUALLY_INVOKED,
4202 CALLBACK_ID_POST_DRAW,
4203 CALLBACK_ID_PLAYBACK_MODE_CHANGED,
4204 CALLBACK_ID_INPUT_MODE_CHANGED,
4205 CALLBACK_ID_RENDER_MODE_CHANGED,
4206 CALLBACK_ID_PRE_REINITIALIZE,
4207 CALLBACK_ID_POST_REINITIALIZE,
4208 CALLBACK_ID_POST_LOAD_CHECKPOINT
4211 #ifdef CPLUSPLUS_ONLY
4239 int add_callback(
int callback_id,
4241 void* callback_params = 0,
4242 void* callback_user_data = 0,
4243 int remove_on_scenario_load = 1);
4265 int remove_callback(
int callback_id,
4288 int remove_callback_with_user_data(
int callback_id,
4289 void* callback_user_data);
4302 int add_default_character_callback(
int callback_id,
4304 void* callback_params,
4305 void* callback_user_data,
4306 int add_to_existing_objects_flag = 0,
4307 int remove_on_scenario_load = 1);
4326 int remove_default_character_callback(
int callback_id,
4340 int remove_default_character_callback_with_user_data(
int callback_id,
4341 void* callback_user_data);
4353 int add_default_path_callback(
int callback_id,
4355 void* callback_params,
4356 void* callback_user_data,
4357 int add_to_existing_objects_flag = 0,
4358 int remove_on_scenario_load = 1);
4377 int remove_default_path_callback(
int callback_id,
4396 int remove_default_path_callback_with_user_data(
int callback_id,
4397 void* callback_user_data);
4410 int add_default_sensor_region_callback(
int callback_id,
4412 void* callback_params,
4413 void* callback_user_data,
4414 int add_to_existing_objects_flag = 0,
4415 int remove_on_scenario_load = 1);
4434 int remove_default_sensor_region_callback(
int callback_id,
4453 int remove_default_sensor_region_callback_with_user_data(
int callback_id,
4454 void* callback_user_data);
4466 int add_default_signal_callback(
int callback_id,
4468 void* callback_params,
4469 void* callback_user_data,
4470 int add_to_existing_objects_flag = 0,
4471 int remove_on_scenario_load = 1);
4490 int remove_default_signal_callback(
int callback_id,
4509 int remove_default_signal_callback_with_user_data(
int callback_id,
4510 void* callback_user_data);
4522 int add_default_variable_callback(
int callback_id,
4524 void* callback_params,
4525 void* callback_user_data,
4526 int add_to_existing_objects_flag = 0,
4527 int remove_on_scenario_load = 1);
4546 int remove_default_variable_callback(
int callback_id,
4565 int remove_default_variable_callback_with_user_data(
int callback_id,
4566 void* callback_user_data);
4583 int add_default_view_callback(
int callback_id,
4585 void* callback_params,
4586 void* callback_user_data,
4587 int add_to_existing_objects_flag = 1,
4588 int remove_on_scenario_load = 1);
4607 int remove_default_view_callback(
int callback_id,
4626 int remove_default_view_callback_with_user_data(
int callback_id,
4627 void* callback_user_data);
4639 int add_default_camera_callback(
int callback_id,
4641 void* callback_params,
4642 void* callback_user_data,
4643 int add_to_existing_objects_flag = 0,
4644 int remove_on_scenario_load = 1);
4663 int remove_default_camera_callback(
int callback_id,
4682 int remove_default_camera_callback_with_user_data(
int callback_id,
4683 void* callback_user_data);
4695 int add_default_fog_callback(
int callback_id,
4697 void* callback_params,
4698 void* callback_user_data,
4699 int add_to_existing_objects_flag = 0,
4700 int remove_on_scenario_load = 1);
4719 int remove_default_fog_callback(
int callback_id,
4738 int remove_default_fog_callback_with_user_data(
int callback_id,
4739 void* callback_user_data);
4751 int add_default_light_callback(
int callback_id,
4753 void* callback_params,
4754 void* callback_user_data,
4755 int add_to_existing_objects_flag = 0,
4756 int remove_on_scenario_load = 1);
4775 int remove_default_light_callback(
int callback_id,
4794 int remove_default_light_callback_with_user_data(
int callback_id,
4795 void* callback_user_data);
4809 void manually_invoke_callbacks_now(
int callback_id);
4844 int add_callback_script(
int callback_id,
4845 const char* callback_script,
4846 const char* callback_script_type = NULL,
4847 int remove_on_scenario_load = 1);
4881 int remove_callback_script(
int callback_id,
4882 const char* callback_script,
4883 const char* callback_script_type = NULL);
4897 int add_default_character_callback_script(
int callback_id,
4898 const char* callback_script,
4899 const char* callback_script_type = NULL,
4900 int add_to_existing_objects_flag = 0,
4901 int remove_on_scenario_load = 1);
4914 int remove_default_character_callback_script(
int callback_id,
4915 const char* callback_script,
4916 const char* callback_script_type = NULL);
4930 int add_default_sensor_region_callback_script(
int callback_id,
4931 const char* callback_script,
4932 const char* callback_script_type = NULL,
4933 int add_to_existing_objects_flag = 0,
4934 int remove_on_scenario_load = 1);
4947 int remove_default_sensor_region_callback_script(
int callback_id,
4948 const char* callback_script,
4949 const char* callback_script_type = NULL);
4963 int add_default_signal_callback_script(
int callback_id,
4964 const char* callback_script,
4965 const char* callback_script_type = NULL,
4966 int add_to_existing_objects_flag = 0,
4967 int remove_on_scenario_load = 1);
4980 int remove_default_signal_callback_script(
int callback_id,
4981 const char* callback_script,
4982 const char* callback_script_type = NULL);
4996 int add_default_variable_callback_script(
int callback_id,
4997 const char* callback_script,
4998 const char* callback_script_type = NULL,
4999 int add_to_existing_objects_flag = 0,
5000 int remove_on_scenario_load = 1);
5013 int remove_default_variable_callback_script(
int callback_id,
5014 const char* callback_script,
5015 const char* callback_script_type = NULL);
5029 int add_default_view_callback_script(
int callback_id,
5030 const char* callback_script,
5031 const char* callback_script_type = NULL,
5032 int add_to_existing_objects_flag = 0,
5033 int remove_on_scenario_load = 1);
5046 int remove_default_view_callback_script(
int callback_id,
5047 const char* callback_script,
5048 const char* callback_script_type = NULL);
5062 int add_default_camera_callback_script(
int callback_id,
5063 const char* callback_script,
5064 const char* callback_script_type = NULL,
5065 int add_to_existing_objects_flag = 0,
5066 int remove_on_scenario_load = 1);
5079 int remove_default_camera_callback_script(
int callback_id,
5080 const char* callback_script,
5081 const char* callback_script_type = NULL);
5095 int add_default_fog_callback_script(
int callback_id,
5096 const char* callback_script,
5097 const char* callback_script_type = NULL,
5098 int add_to_existing_objects_flag = 0,
5099 int remove_on_scenario_load = 1);
5112 int remove_default_fog_callback_script(
int callback_id,
5113 const char* callback_script,
5114 const char* callback_script_type = NULL);
5128 int add_default_light_callback_script(
int callback_id,
5129 const char* callback_script,
5130 const char* callback_script_type = NULL,
5131 int add_to_existing_objects_flag = 0,
5132 int remove_on_scenario_load = 1);
5145 int remove_default_light_callback_script(
int callback_id,
5146 const char* callback_script,
5147 const char* callback_script_type = NULL);
5194 int map_event_handler_to_callback_id(
int callback_id,
5195 const char* handler_name);
5214 int unmap_event_handler_from_callback_id(
int callback_id,
5215 const char* handler_name,
5216 int unmap_all_matches = 0);
5255 #ifdef CPLUSPLUS_ONLY
5284 int register_character_event_handler(
const char* handler_name,
5286 void* callback_user_data = 0);
5325 int register_character_event_handler_from_library(
const char* handler_name,
5326 const char* library_name,
5327 const char* function_name,
5328 void* callback_user_data = 0);
5352 int register_character_event_handler_script(
const char* handler_name,
5353 const char* handler_script,
5354 const char* handler_script_type = 0);
5366 int has_registered_character_event_handler(
const char* handler_name);
5383 int unregister_character_event_handler(
const char* handler_name);
5385 #ifdef CPLUSPLUS_ONLY
5398 int register_signal_event_handler(
const char* handler_name,
5400 void* callback_user_data = 0);
5411 int register_signal_event_handler_from_library(
const char* handler_name,
5412 const char* library_name,
5413 const char* function_name,
5414 void* callback_user_data = 0);
5423 int register_signal_event_handler_script(
const char* handler_name,
5424 const char* handler_script,
5425 const char* handler_script_type = 0);
5434 int has_registered_signal_event_handler(
const char* handler_name);
5443 int unregister_signal_event_handler(
const char* handler_name);
5445 #ifdef CPLUSPLUS_ONLY
5458 int register_sensor_region_event_handler(
const char* handler_name,
5460 void* callback_user_data = 0);
5471 int register_sensor_region_event_handler_from_library(
const char* handler_name,
5472 const char* library_name,
5473 const char* function_name,
5474 void* callback_user_data = 0);
5483 int register_sensor_region_event_handler_script(
const char* handler_name,
5484 const char* handler_script,
5485 const char* handler_script_type = 0);
5494 int has_registered_sensor_region_event_handler(
const char* handler_name);
5503 int unregister_sensor_region_event_handler(
const char* handler_name);
5505 #ifdef CPLUSPLUS_ONLY
5518 int register_variable_event_handler(
const char* handler_name,
5520 void* callback_user_data = 0);
5531 int register_variable_event_handler_from_library(
const char* handler_name,
5532 const char* library_name,
5533 const char* function_name,
5534 void* callback_user_data = 0);
5543 int register_variable_event_handler_script(
const char* handler_name,
5544 const char* handler_script,
5545 const char* handler_script_type = 0);
5554 int has_registered_variable_event_handler(
const char* handler_name);
5563 int unregister_variable_event_handler(
const char* handler_name);
5612 int save_review_data(
const char* filename);
5620 int get_loaded_from_review_data();
5711 int get_replaying_history();
5730 void set_history_max_sound_instances(
int num_sound_instances);
5779 void set_automatic_graphics_lod_switching(
int enable_graphics_lod_switching);
5786 int get_automatic_graphics_lod_switching();
5788 #ifdef CPLUSPLUS_ONLY
5834 void set_default_lod_ranges(
const char* character_type,
float* ranges);
5870 void set_scale_graphics_lod_ranges_from_view_settings(
int do_scale);
5878 int get_scale_graphics_lod_ranges_from_view_settings();
5913 void set_automatic_motion_lod_switching(
int enable_motion_lod_switching);
5926 int get_automatic_motion_lod_switching();
5969 int eval_script(
const char* script_text,
5970 int save_as_transient = 0,
5971 const char* script_type = NULL,
5972 const char* script_source = NULL);
5994 int eval_script_file(
const char* filename,
5995 const char* script_type = NULL);
6016 int trigger_script(
const char* script_name);
6035 void trigger_script_delayed(
const char* script_name,
float t_delay);
6056 int trigger_decision(
const char* decision_name);
6075 void trigger_decision_delayed(
const char* decision_name,
float t_delay);
6106 void push_transient_script_event(
float t,
const char* script_text,
const char* script_type);
6113 void clear_transient_script_events();
6130 int save_transient_script_events(
const char* filename);
6147 int load_transient_script_events(
const char* filename);
6159 int load_package(
const char* filename,
6160 const char* language = NULL,
6161 int warn_if_not_found = 1);
6168 int load_package_with_dependancy(
const char* filename,
6169 const char* depends_on_package,
6170 const char* language = NULL,
6171 int warn_if_not_found = 1);
6203 int get_character_type_num_postures(
const char* character_type);
6247 const char* action_name);
6274 int get_character_type_num_variants(
const char* character_type);
6318 diguyMotionVariant get_character_type_action_primary_variant(
const char* character_type,
6319 const char* action_name);
6348 int get_character_type_action_num_variants(
const char* character_type,
6349 const char* action_name);
6376 diguyMotionVariant get_character_type_action_variant_at_index(
const char* character_type,
6377 const char* action_name,
6402 int get_character_type_num_directions(
const char* character_type);
6458 int get_num_interaction_machines();
6596 int show_notification_with_shared_interaction_machine(
const char* heading,
6598 int pause_scenario = 0,
6599 const char* input_text = NULL,
6687 int get_num_labels();
6705 void reset_labels();
6796 int get_num_panels();
6833 int get_num_minds();
6840 const char* get_mind_name_at_index(
int index);
6908 int make_companion_of_all = 1);
6934 int also_destroy_crowd_members = 0,
6935 int also_destroy_path_shapes = 0,
6936 int delay_destruction = 0);
6943 int get_num_crowds();
6965 const char* get_unique_crowd_name(
const char* base_name);
6980 diguyCrowd* find_crowd(
const char* crowd_name);
6999 diguyCrowd* find_or_create_crowd(
const char* crowd_name,
7000 int make_companion_of_all = 1);
7012 void set_create_network_crowds(
int do_create);
7020 int get_create_network_crowds();
7074 int get_num_crowd_profiles();
7139 int force_octtree_generation();
7147 int use_bounding_box_only = 0);
7161 int preload_octtree(
const char* character_type,
const char* appearance);
7173 int check_visibility(
float x1,
float y1,
float z1,
7174 float x2,
float y2,
float z2);
7187 #ifdef CPLUSPLUS_ONLY
7239 void set_altitude_max_climb(
float altitude_max_climb);
7244 float get_altitude_max_climb();
7249 void set_altitude_max_drop(
float altitude_max_drop);
7254 float get_altitude_max_drop();
7298 int trigger_detonation(
const char* munition_name,
7299 float x,
float y,
float z,
7300 const char* attacker_name = NULL,
7301 float radius_override = -1.0f,
7302 int broadcast_on_network = 1);
7377 int use_octtree = 0);
7417 int use_octtree = 0);
7452 int intersect_static_geometry(
7453 float origin_x,
float origin_y,
float origin_z,
7454 float dir_x,
float dir_y,
float dir_z,
7455 float max_distance_to_test,
7456 float* intersection_x,
float* intersection_y,
float* intersection_z,
7457 float* normal_x = NULL,
float* normal_y = NULL,
float* normal_z = NULL,
7458 int use_callback = 1);
7491 float ground_clamp(
float x,
float y,
float z,
7493 int use_altitude_function = 1,
7494 int use_octtree = 0);
7497 #ifdef CPLUSPLUS_ONLY
7584 diguyImpact* map_color_to_impact(
char r,
char g,
char b);
7614 void set_last_impact_been_processed();
7624 void set_last_env_impact_info(
const diguyImpact& impact);
7638 void set_max_unprocessed_impacts(
int max_unprocessed_impacts);
7641 #ifdef CPLUSPLUS_ONLY
7735 float origin_x,
float origin_y,
float origin_z,
7736 float dir_x,
float dir_y,
float dir_z,
7737 float max_distance_to_test,
7738 int use_callback = 1);
7765 diguyRegion* find_or_create_region(
const char* name);
7814 int get_num_regions();
7874 int find_navigation_path(
float x1,
float y1,
float z1,
7875 float x2,
float y2,
float z2,
7876 const char* via_region,
7878 float cost_bias_for_preferred_regions = 0.25f,
7880 float cost_bias_for_neutral_regions = 1.1f,
7882 float cost_bias_for_repulsive_regions = 100.0f);
7897 void set_max_distance_planning_multiplier(
float mul);
7905 float get_max_distance_planning_multiplier();
7918 float get_time_spent_path_planning_this_frame();
7931 void set_multithreaded_path_planning_enabled(
int value);
7938 int get_multithreaded_path_planning_enabled();
7956 int get_num_formations();
8100 void set_hide_author_selection_handles_during_play(
int visible);
8101 int get_hide_author_selection_handles_during_play();
8118 int get_weapon_fire_effects_enabled();
8125 int set_weapon_fire_effects_enabled(
int enabled);
8132 int get_num_active_fire_effects();
8143 int get_weapon_fire_effect_data(
int index,
float * radius,
8144 float * position_x,
float * position_y,
float * position_z,
8145 float * color_r,
float * color_g,
float * color_b,
8147 float * falloff_rsq);
8190 int set_current_crowd(
diguyCrowd* current_crowd);
8218 int set_current_crowd_profile_by_name(
const char* crowd_profile_name);
8235 int set_current_region(
diguyRegion* current_region);
8255 void set_particle_module_disabled(
int disable_particle_module);
8274 int create_particle_system(
const char* description_name,
8275 float x,
float y,
float z,
8276 int record_transient_event = 1,
8277 float duration = -1.0f);
8290 int create_particle_system_with_orientation(
const char* description_name,
8291 float x,
float y,
float z,
8292 float rz,
float rx,
float ry,
8293 int record_transient_event = 1,
8294 float duration = -1.0f);
8302 int has_particle_description(
const char* description_name);
8309 void set_global_wind(
float x,
float y,
float z);
8341 const char* lua_get_object_field_as_string(
const char* lua_object,
8342 const char* field_name);
8369 const char* lua_evaluate_object_function(
const char* lua_object,
8370 const char* function_name,
8371 const char* argument = NULL,
8372 int has_return_string = 0);
8383 const char* lua_evaluate_object_function_2a(
const char* lua_object,
8384 const char* function_name,
8385 const char* argument,
8386 const char* argument2,
8387 int has_return_string = 0);
8398 const char* lua_evaluate_object_function_3a(
const char* lua_object,
8399 const char* function_name,
8400 const char* argument,
8401 const char* argument2,
8402 const char* argument3,
8403 int has_return_string = 0);
8414 const char* lua_evaluate_object_function_4a(
const char* lua_object,
8415 const char* function_name,
8416 const char* argument,
8417 const char* argument2,
8418 const char* argument3,
8419 const char* argument4,
8420 int has_return_string = 0);
8433 int lua_send_message_to_object(
const char* lua_object,
8435 const char* message_type,
8436 const char* message,
8437 const char* message_params = NULL);
8440 #ifdef CPLUSPLUS_ONLY
8464 void* get_lua_state();
8510 int push_qt_pointer_to_lua(
void* lua_state,
8511 const char* class_name,
8558 const char* lua_evaluate_object_function_4a_flex(
const char* lua_object,
8559 const char* function_name,
8560 const char* arg1_type,
void* argument1,
8561 const char* arg2_type,
void* argument2,
8562 const char* arg3_type,
void* argument3,
8563 const char* arg4_type,
void* argument4,
8564 int has_return_string = 0);
8576 const char* lua_evaluate_global_function_4a_flex(
const char* function_name,
8577 const char* arg_type,
void* argument,
8578 const char* arg_type2,
void* argument2,
8579 const char* arg_type3,
void* argument3,
8580 const char* arg_type4,
void* argument4,
8581 int has_return_string = 0);
8593 int lua_log_printf(
int notify_level,
const char*
string);
8601 const char* dump_package_info(
const char* package_name);
8621 int get_eval_decisions_as_scripts();
8629 void set_eval_decisions_as_scripts(
int eval_decisions_as_scripts);
8653 void wait_cursor_push();
8659 void wait_cursor_pop();
8662 #ifdef CPLUSPLUS_ONLY
8679 void set_graphics_api_node_ptr(
void* node_ptr);
8690 void* get_graphics_api_node_ptr();
8700 void set_draw_character_shadow_disks(
int draw_character_shadow_disks);
8707 int get_draw_character_shadow_disks();
8714 int get_shadow_map_size();
8722 int set_shadow_map_size(
int shadow_size);
8730 void set_default_character_scene_graph_mask(
unsigned long mask);
8731 unsigned long get_default_character_scene_graph_mask();
8739 void set_default_scene_object_scene_graph_mask(
unsigned long mask);
8740 unsigned long get_default_scene_object_scene_graph_mask();
8747 void set_internal_int(
int var,
int val);
8748 void set_internal_float(
int var,
float val);
8756 int set_num_active_point_lights(
int active_lights);
8765 int get_num_active_point_lights();
8782 int optimized_update(
float t);
8798 int set_world_bounds(
float x_min,
float y_min,
float z_min,
8799 float x_max,
float y_max,
float z_max);
8815 int get_world_bounds(
float* x_min,
float* y_min,
float* z_min,
8816 float* x_max,
float* y_max,
float* z_max);
8835 void set_checkpoint_frequency(
float freq);
8841 float get_checkpoint_frequency();
8847 void set_checkpointing_enabled(
int enable_checkpointing);
8853 int get_checkpointing_enabled();
8887 void set_initial_render_mode(
const char* render_mode);
8895 const char* get_initial_render_mode();
8903 void set_current_render_mode(
const char* render_mode);
8915 const char* derive_render_mode_from_light_settings(
int set_current_to_derived = 1);
8922 const char* get_current_render_mode();
8937 void set_default_character_shader(
const char* render_mode,
8938 const char* shader_name,
8939 int update_existing_characters = 1);
8946 const char* get_default_character_shader(
const char* render_mode);
8961 void set_default_scene_object_shader(
const char* render_mode,
8962 const char* shader_name,
8963 int update_existing_scene_objects = 1);
8970 const char* get_default_scene_object_shader(
const char* render_mode);
8985 void set_default_particle_system_shader(
const char* render_mode,
8986 const char* shader_name,
8987 int update_existing_particle_systems = 1);
8994 const char* get_default_particle_system_shader(
const char* render_mode);
9006 int facefx_mount_animset(
const char* actor_name,
const char* file_name);
9016 int set_vehicle_smoothing_enabled(
int enable_smoothing);
9017 int get_vehicle_smoothing_enabled();
9024 int set_character_culling_distance(
float dist);
9025 float get_character_culling_distance();
9032 int set_vehicle_culling_distance(
float dist);
9033 float get_vehicle_culling_distance();
9040 int set_prop_culling_distance(
float dist);
9041 float get_prop_culling_distance();
9060 #ifdef CPLUSPLUS_ONLY
9067 static int add_default_callback(
int callback_id,
9069 void* callback_params = 0,
9070 void* callback_user_data = 0);
9078 static int remove_default_callback(
int callback_id,
9090 static int remove_default_callback_with_user_data(
int callback_id,
9091 void* callback_user_data);
9099 static int add_default_callback_script(
int callback_id,
9100 const char* callback_script,
9101 const char* callback_script_type);
9109 static int remove_default_callback_script(
int callback_id,
9110 const char* callback_script,
9111 const char* callback_script_type);
9120 const char* get_character_type_class(
const char* character_type);
9127 int merge_asset(
const char*
string);
9135 void print_to_log(
int notify_level,
const char*
string);
9138 #ifdef CPLUSPLUS_ONLY
9143 diguyCharacter* create_pending_reflected_character(
const char* name,
9144 const char* character_type,
9145 const char* appearance = NULL);
9147 int set_network_translation(
float x,
float y,
float z);
9148 int get_network_translation(
float* x,
float* y,
float* z);
9155 void set_project_filename(
const char* project_filename);
9163 const char* get_project_filename();
9170 bdiScenario* get_scripted_object() {
return m_scenario;}
9190 bdiScenario* m_scenario;
9192 friend class bdiScenario;