20 #define CPLUSPLUS_ONLY
85 int get_num_scenarios();
104 int get_num_blend_functions();
116 const char* get_blend_function_name_at_index(
int index);
153 int is_module_enabled(
const char* module_name);
179 static const char* get_diguy_base_dir_path();
193 static const char* get_diguy_subdir_path(
const char* subdir);
225 #ifdef CPLUSPLUS_ONLY
234 int add_default_scenario_callback(
int callback_id,
236 void* callback_params = 0,
237 void* callback_user_data = 0,
238 int remove_on_scenario_load = 1);
251 int remove_default_scenario_callback(
int callback_id,
261 int remove_default_scenario_callback_with_user_data(
int callback_id,
262 void* callback_user_data);
282 int add_default_scenario_callback_script(
int callback_id,
283 const char* callback_script,
284 const char* callback_script_type,
285 int remove_on_scenario_load = 1);
298 int remove_default_scenario_callback_script(
int callback_id,
299 const char* callback_script,
300 const char* callback_script_type);
314 #ifdef CPLUSPLUS_ONLY
334 int register_scenario_event_handler(
const char* handler_name,
336 void* callback_user_data = 0);
354 int register_scenario_event_handler_from_library(
const char* handler_name,
355 const char* library_name,
356 const char* function_name,
357 void* callback_user_data = 0);
373 int register_scenario_event_handler_script(
const char* handler_name,
374 const char* handler_script,
375 const char* handler_script_type = NULL);
384 int has_registered_scenario_event_handler(
const char* handler_name);
393 int unregister_scenario_event_handler(
const char* handler_name);
629 int load_plugin(
const char* plugin_name,
630 int required_by_scenario = 0,
631 int unload_on_scenario_close = 0,
632 int accepts_mouse_input = 1);
650 int unload_plugin(
const char* plugin_name);
657 void unload_all_plugins();
667 int get_num_plugins();
680 const char* get_name_of_plugin(
int index);
726 const char* vertex_shader_filename,
727 const char* pixel_shader_filename,
728 const char* shader_version);
741 void reload_shader_programs();
765 int get_num_shader_programs();
817 int get_num_shader_techniques();
840 int set_max_character_shader_quality_level(
int quality_level);
841 int get_max_character_shader_quality_level();
851 int set_max_scene_object_shader_quality_level(
int quality_level);
852 int get_max_scene_object_shader_quality_level();
860 int get_use_sRGB_textures();
899 int set_precompute_quaternions_enabled(
int enabled);
907 int get_precompute_quaternions_enabled();
938 int set_num_rendering_passes(
int num_rendering_passes);
946 int get_num_rendering_passes();
954 int get_render_pass_flags();
961 int set_render_pass_flags(
int flags);
981 int get_ideal_num_threads();
996 int set_num_threads(
int num_threads);
1003 int get_num_threads();
1020 int reserve_num_threads(
int num_reserve_threads);
1069 int get_last_clicked_xyz(
float* x,
float* y,
float* z);
1084 void set_last_clicked_xyz(
float x,
float y,
float z);
1108 int get_mouse_screen_xy(
float* sx,
float* sy);
1121 int get_xyz_under_mouse(
float* x,
float* y,
float* z);
1145 void set_lua_object_waiting_for_input(
const char* object_name);
1153 const char* get_lua_object_waiting_for_input();
1208 int enable_collisions);
1239 void set_physics_sim_ground_plane_enabled(
int enabled);
1246 int get_physics_sim_ground_plane_enabled();
1259 void set_physics_sim_ground_plane_height(
float height);
1266 float get_physics_sim_ground_plane_height();
1283 static const char* get_standard_bdi_library_suffix();
1290 static const char* get_diguy_version_library_suffix();
1297 static const char* get_compiler_library_suffix();
1315 static void* load_module_library(
const char* module_lib_name,
1316 int include_diguy_standard_library_suffixes = 1,
1317 int* load_status = NULL);
1333 static void* resolve_module_library_symbol(
void* module_handle,
const char* symbol_name);
1341 static void unload_module_library(
void* module_handle);
1348 int get_sound_factory_is_initialized();
1372 int set_munition_type_DIS_impact_septet(
const char* munition_type,
1373 int sep1,
int sep2,
int sep3,
int sep4,
int sep5,
int sep6,
int sep7);
1381 int set_munition_type_DIS_tracer_septet(
const char* munition_type,
1382 int sep1,
int sep2,
int sep3,
int sep4,
int sep5,
int sep6,
int sep7);
1395 const char* get_munition_type_from_DIS_septet(
1396 int sep1,
int sep2,
int sep3,
int sep4,
int sep5,
int sep6,
int sep7,
1397 int include_last_septet_value = 1);
1425 int unload_unreferenced_graphics_files(
int garbage_collect_appearances = 1);
1432 int reload_texture_files();
1439 int set_threshold_to_unload_textures(
int number);
1440 int get_threshold_to_unload_textures();
1447 int set_texture_unload_frequency(
float seconds);
1448 float get_texture_unload_frequency();
1455 int get_unload_unused_after_scenario_load();
1456 int set_unload_unused_after_scenario_load(
int val);
1471 int set_cache_optimized_motion_files(
int enabled = 0);
1478 int get_cache_optimized_motion_files();
1493 int memory_tracker_print_report(
int include_permanent_objects = 0,
int just_markers = 0);
1499 int memory_tracker_drop_marker();
1513 void set_reflected_entity_message_list(
const char* message);
1521 const char* get_reflected_entity_message_list();
1529 const char* get_scene_object_file_name_from_ui();
1536 int show_generate_navmesh_ui();
1538 void print_process_memory_info();
1540 static int decompress_lz4_file(
const char * source,
const char * destination);
1571 int get_num_log_channels();
1604 #ifdef CPLUSPLUS_ONLY
1606 void set_no_blend_test(
int flag);
1608 void set_motion_events_log_enabled(
int enabled);
1610 void dump_motion_events_to_file(
const char* filename,
1611 int show_event_id_strings = 0,
1614 bdiScenarioApp* get_scripted_object() {
return m_scripted_object;}
1634 bdiScenarioApp* m_scripted_object;
1636 friend class bdiScenarioApp;