40 #define CPLUSPLUS_ONLY
105 int get_num_scenarios();
124 int get_num_blend_functions();
136 const char* get_blend_function_name_at_index(
int index);
173 int is_module_enabled(
const char* module_name);
199 static const char* get_diguy_base_dir_path();
213 static const char* get_diguy_subdir_path(
const char* subdir);
245 #ifdef CPLUSPLUS_ONLY
254 int add_default_scenario_callback(
int callback_id,
256 void* callback_params = 0,
257 void* callback_user_data = 0,
258 int remove_on_scenario_load = 1);
271 int remove_default_scenario_callback(
int callback_id,
281 int remove_default_scenario_callback_with_user_data(
int callback_id,
282 void* callback_user_data);
302 int add_default_scenario_callback_script(
int callback_id,
303 const char* callback_script,
304 const char* callback_script_type,
305 int remove_on_scenario_load = 1);
318 int remove_default_scenario_callback_script(
int callback_id,
319 const char* callback_script,
320 const char* callback_script_type);
334 #ifdef CPLUSPLUS_ONLY
354 int register_scenario_event_handler(
const char* handler_name,
356 void* callback_user_data = 0);
374 int register_scenario_event_handler_from_library(
const char* handler_name,
375 const char* library_name,
376 const char* function_name,
377 void* callback_user_data = 0);
393 int register_scenario_event_handler_script(
const char* handler_name,
394 const char* handler_script,
395 const char* handler_script_type = NULL);
404 int has_registered_scenario_event_handler(
const char* handler_name);
413 int unregister_scenario_event_handler(
const char* handler_name);
649 int load_plugin(
const char* plugin_name,
650 int required_by_scenario = 0,
651 int unload_on_scenario_close = 0,
652 int accepts_mouse_input = 1);
670 int unload_plugin(
const char* plugin_name);
677 void unload_all_plugins();
687 int get_num_plugins();
700 const char* get_name_of_plugin(
int index);
746 const char* vertex_shader_filename,
747 const char* pixel_shader_filename);
760 void reload_shader_programs();
784 int get_num_shader_programs();
836 int get_num_shader_techniques();
859 int set_max_character_shader_quality_level(
int quality_level);
860 int get_max_character_shader_quality_level();
870 int set_max_scene_object_shader_quality_level(
int quality_level);
871 int get_max_scene_object_shader_quality_level();
879 int get_use_sRGB_textures();
918 int set_precompute_quaternions_enabled(
int enabled);
926 int get_precompute_quaternions_enabled();
957 int set_num_rendering_passes(
int num_rendering_passes);
965 int get_num_rendering_passes();
973 int get_render_pass_flags();
980 int set_render_pass_flags(
int flags);
1000 int get_ideal_num_threads();
1015 int set_num_threads(
int num_threads);
1022 int get_num_threads();
1039 int reserve_num_threads(
int num_reserve_threads);
1088 int get_last_clicked_xyz(
float* x,
float* y,
float* z);
1103 void set_last_clicked_xyz(
float x,
float y,
float z);
1127 int get_mouse_screen_xy(
float* sx,
float* sy);
1140 int get_xyz_under_mouse(
float* x,
float* y,
float* z);
1164 void set_lua_object_waiting_for_input(
const char* object_name);
1172 const char* get_lua_object_waiting_for_input();
1227 int enable_collisions);
1258 void set_physics_sim_ground_plane_enabled(
int enabled);
1265 int get_physics_sim_ground_plane_enabled();
1278 void set_physics_sim_ground_plane_height(
float height);
1285 float get_physics_sim_ground_plane_height();
1302 static const char* get_standard_bdi_library_suffix();
1309 static const char* get_diguy_version_library_suffix();
1316 static const char* get_compiler_library_suffix();
1334 static void* load_module_library(
const char* module_lib_name,
1335 int include_diguy_standard_library_suffixes = 1,
1336 int* load_status = NULL);
1352 static void* resolve_module_library_symbol(
void* module_handle,
const char* symbol_name);
1360 static void unload_module_library(
void* module_handle);
1367 int get_sound_factory_is_initialized();
1391 int set_munition_type_DIS_impact_septet(
const char* munition_type,
1392 int sep1,
int sep2,
int sep3,
int sep4,
int sep5,
int sep6,
int sep7);
1400 int set_munition_type_DIS_tracer_septet(
const char* munition_type,
1401 int sep1,
int sep2,
int sep3,
int sep4,
int sep5,
int sep6,
int sep7);
1414 const char* get_munition_type_from_DIS_septet(
1415 int sep1,
int sep2,
int sep3,
int sep4,
int sep5,
int sep6,
int sep7,
1416 int include_last_septet_value = 1);
1444 int unload_unreferenced_graphics_files(
int garbage_collect_appearances = 1);
1451 int reload_texture_files();
1458 int set_threshold_to_unload_textures(
int number);
1459 int get_threshold_to_unload_textures();
1466 int set_texture_unload_frequency(
float seconds);
1467 float get_texture_unload_frequency();
1474 int get_unload_unused_after_scenario_load();
1475 int set_unload_unused_after_scenario_load(
int val);
1490 int set_cache_optimized_motion_files(
int enabled = 0);
1497 int get_cache_optimized_motion_files();
1512 int memory_tracker_print_report(
int include_permanent_objects = 0,
int just_markers = 0);
1518 int memory_tracker_drop_marker();
1532 void set_reflected_entity_message_list(
const char* message);
1540 const char* get_reflected_entity_message_list();
1548 const char* get_scene_object_file_name_from_ui();
1555 int show_generate_navmesh_ui();
1587 int get_num_log_channels();
1620 #ifdef CPLUSPLUS_ONLY
1622 void set_no_blend_test(
int flag);
1624 void set_motion_events_log_enabled(
int enabled);
1626 void dump_motion_events_to_file(
const char* filename,
1627 int show_event_id_strings = 0,
1630 bdiScenarioApp* get_scripted_object() {
return m_scripted_object;}
1639 diguyApp(bdiScenarioApp* scenario);
1650 bdiScenarioApp* m_scripted_object;
1652 friend class bdiScenarioApp;