1#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage, Align> {
6 storage: Storage,
7 align: [Align; 0],
8}
9impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
10 #[inline]
11 pub const fn new(storage: Storage) -> Self {
12 Self { storage, align: [] }
13 }
14}
15impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
16where
17 Storage: AsRef<[u8]> + AsMut<[u8]>,
18{
19 #[inline]
20 pub fn get_bit(&self, index: usize) -> bool {
21 debug_assert!(index / 8 < self.storage.as_ref().len());
22 let byte_index = index / 8;
23 let byte = self.storage.as_ref()[byte_index];
24 let bit_index = if cfg!(target_endian = "big") {
25 7 - (index % 8)
26 } else {
27 index % 8
28 };
29 let mask = 1 << bit_index;
30 byte & mask == mask
31 }
32 #[inline]
33 pub fn set_bit(&mut self, index: usize, val: bool) {
34 debug_assert!(index / 8 < self.storage.as_ref().len());
35 let byte_index = index / 8;
36 let byte = &mut self.storage.as_mut()[byte_index];
37 let bit_index = if cfg!(target_endian = "big") {
38 7 - (index % 8)
39 } else {
40 index % 8
41 };
42 let mask = 1 << bit_index;
43 if val {
44 *byte |= mask;
45 } else {
46 *byte &= !mask;
47 }
48 }
49 #[inline]
50 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
51 debug_assert!(bit_width <= 64);
52 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
53 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
54 let mut val = 0;
55 for i in 0..(bit_width as usize) {
56 if self.get_bit(i + bit_offset) {
57 let index = if cfg!(target_endian = "big") {
58 bit_width as usize - 1 - i
59 } else {
60 i
61 };
62 val |= 1 << index;
63 }
64 }
65 val
66 }
67 #[inline]
68 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
69 debug_assert!(bit_width <= 64);
70 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
71 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
72 for i in 0..(bit_width as usize) {
73 let mask = 1 << i;
74 let val_bit_is_set = val & mask == mask;
75 let index = if cfg!(target_endian = "big") {
76 bit_width as usize - 1 - i
77 } else {
78 i
79 };
80 self.set_bit(index + bit_offset, val_bit_is_set);
81 }
82 }
83}
84#[repr(C)]
85#[derive(Default)]
86pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
87impl<T> __IncompleteArrayField<T> {
88 #[inline]
89 pub const fn new() -> Self {
90 __IncompleteArrayField(::std::marker::PhantomData, [])
91 }
92 #[inline]
93 pub fn as_ptr(&self) -> *const T {
94 self as *const _ as *const T
95 }
96 #[inline]
97 pub fn as_mut_ptr(&mut self) -> *mut T {
98 self as *mut _ as *mut T
99 }
100 #[inline]
101 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
102 ::std::slice::from_raw_parts(self.as_ptr(), len)
103 }
104 #[inline]
105 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
106 ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
107 }
108}
109impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
110 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
111 fmt.write_str("__IncompleteArrayField")
112 }
113}
114pub const __GNUC_VA_LIST: u32 = 1;
115pub const true_: u32 = 1;
116pub const false_: u32 = 0;
117pub const __bool_true_false_are_defined: u32 = 1;
118pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
119pub const _SAL_VERSION: u32 = 20;
120pub const __SAL_H_VERSION: u32 = 180000000;
121pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
122pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
123pub const _CRT_PACKING: u32 = 8;
124pub const _HAS_EXCEPTIONS: u32 = 1;
125pub const _STL_LANG: u32 = 0;
126pub const _HAS_CXX17: u32 = 0;
127pub const _HAS_CXX20: u32 = 0;
128pub const _HAS_NODISCARD: u32 = 0;
129pub const WCHAR_MIN: u32 = 0;
130pub const WCHAR_MAX: u32 = 65535;
131pub const WINT_MIN: u32 = 0;
132pub const WINT_MAX: u32 = 65535;
133pub const TM_ALLOCATOR_API_NAME: &'static [u8; 17usize] = b"tm_allocator_api\0";
134pub const TM_API_REGISTRY_API_NAME: &'static [u8; 20usize] = b"tm_api_registry_api\0";
135pub const TM_APPLICATION_API_NAME: &'static [u8; 19usize] = b"tm_application_api\0";
136pub const TM_ASSET_DATABASE_API_NAME: &'static [u8; 22usize] = b"tm_asset_database_api\0";
137pub const TM_ASSET_IO_API_NAME: &'static [u8; 16usize] = b"tm_asset_io_api\0";
138pub const TM_BASE_64_API_NAME: &'static [u8; 15usize] = b"tm_base_64_api\0";
139pub const TM_BUDDY_ALLOCATOR_RAW_API_NAME: &'static [u8; 27usize] = b"tm_buddy_allocator_raw_api\0";
140pub const TM_BUDDY_ALLOCATOR_API_NAME: &'static [u8; 23usize] = b"tm_buddy_allocator_api\0";
141pub const TM_BUFFERS_API_NAME: &'static [u8; 15usize] = b"tm_buffers_api\0";
142pub const TM_BUFFER_FORMAT_API_NAME: &'static [u8; 21usize] = b"tm_buffer_format_api\0";
143pub const TM_CAMERA_API_NAME: &'static [u8; 14usize] = b"tm_camera_api\0";
144pub const TM_COLLABORATION_API_NAME: &'static [u8; 21usize] = b"tm_collaboration_api\0";
145pub const TM_COLLABORATION_P2P_API_NAME: &'static [u8; 25usize] = b"tm_collaboration_p2p_api\0";
146pub const TM_CONFIG_API_NAME: &'static [u8; 14usize] = b"tm_config_api\0";
147pub const TM_CORE_ASSET_INTERFACE_NAME: &'static [u8; 16usize] = b"tm_core_asset_i\0";
148pub const TM_CORE_API_NAME: &'static [u8; 12usize] = b"tm_core_api\0";
149pub const TM_CORE_IMPORTER_API_NAME: &'static [u8; 21usize] = b"tm_core_importer_api\0";
150pub const TM_CRASH_RECOVERY_API_NAME: &'static [u8; 22usize] = b"tm_crash_recovery_api\0";
151pub const TM_ERROR_API_NAME: &'static [u8; 13usize] = b"tm_error_api\0";
152pub const TM_FEATURE_FLAGS_API_NAME: &'static [u8; 17usize] = b"tm_feature_flags\0";
153pub const TM_GIT_IGNORE_API_NAME: &'static [u8; 18usize] = b"tm_git_ignore_api\0";
154pub const TM_IMAGE_LOADER_API_NAME: &'static [u8; 20usize] = b"tm_image_loader_api\0";
155pub const TM_INPUT_API_NAME: &'static [u8; 13usize] = b"tm_input_api\0";
156pub const TM_INTEGRATION_TEST_INTERFACE_NAME: &'static [u8; 22usize] = b"tm_integration_test_i\0";
157pub const TM_JOB_SYSTEM_API_NAME: &'static [u8; 18usize] = b"tm_job_system_api\0";
158pub const TM_JSON_ERROR_STRING_LENGTH: u32 = 79;
159pub const TM_JSON_API_NAME: &'static [u8; 12usize] = b"tm_json_api\0";
160pub const TM_LOCALIZER_STRINGS_INTERFACE_NAME: &'static [u8; 23usize] = b"tm_localizer_strings_i\0";
161pub const TM_LOCALIZER_API_NAME: &'static [u8; 17usize] = b"tm_localizer_api\0";
162pub const TM_LOGGER_API_NAME: &'static [u8; 14usize] = b"tm_logger_api\0";
163pub const TM_LZ4_API_NAME: &'static [u8; 11usize] = b"tm_lz4_api\0";
164pub const TM_MATH_API_NAME: &'static [u8; 12usize] = b"tm_math_api\0";
165pub const TM_MEMORY_TRACKER_SCOPE__NONE: u32 = 4294967295;
166pub const TM_MEMORY_TRACKER_API_NAME: &'static [u8; 22usize] = b"tm_memory_tracker_api\0";
167pub const TM_OS_API_NAME: &'static [u8; 10usize] = b"tm_os_api\0";
168pub const TM_DIRECTORY_SEPARATOR: u8 = 47u8;
169pub const TM_PATH_API_NAME: &'static [u8; 12usize] = b"tm_path_api\0";
170pub const TM_PLUGINS_API_NAME: &'static [u8; 15usize] = b"tm_plugins_api\0";
171pub const TM_PLUGIN_INIT_INTERFACE_NAME: &'static [u8; 17usize] = b"tm_plugin_init_i\0";
172pub const TM_PLUGIN_SHUTDOWN_INTERFACE_NAME: &'static [u8; 21usize] = b"tm_plugin_shutdown_i\0";
173pub const TM_PLUGIN_TICK_INTERFACE_NAME: &'static [u8; 17usize] = b"tm_plugin_tick_i\0";
174pub const TM_PLUGIN_SET_THE_TRUTH_INTERFACE_NAME: &'static [u8; 26usize] =
175 b"tm_plugin_set_the_truth_i\0";
176pub const TM_PROFILER_API_NAME: &'static [u8; 16usize] = b"tm_profiler_api\0";
177pub const TM_PROGRESS_REPORT_API_NAME: &'static [u8; 23usize] = b"tm_progress_report_api\0";
178pub const TM_RANDOM_API_NAME: &'static [u8; 14usize] = b"tm_random_api\0";
179pub const TM_RUNTIME_DATA_REPOSITORY_API_NAME: &'static [u8; 31usize] =
180 b"tm_runtime_data_repository_api\0";
181pub const SHA1_DIGEST_SIZE: u32 = 20;
182pub const TM_STRING_REPOSITORY_API_NAME: &'static [u8; 25usize] = b"tm_string_repository_api\0";
183pub const TM_TASK_SYSTEM_API_NAME: &'static [u8; 19usize] = b"tm_task_system_api\0";
184pub const TM_TEMP_ALLOCATOR_API_NAME: &'static [u8; 22usize] = b"tm_temp_allocator_api\0";
185pub const TM_THE_TRUTH_PROPERTY_NAME_LENGTH: u32 = 63;
186pub const TM_THE_TRUTH_CREATE_TYPES_INTERFACE_NAME: &'static [u8; 28usize] =
187 b"tm_the_truth_create_types_i\0";
188pub const TM_THE_TRUTH_API_NAME: &'static [u8; 17usize] = b"tm_the_truth_api\0";
189pub const TM_TT_TYPE__ASSET_ROOT: &'static [u8; 14usize] = b"tm_asset_root\0";
190pub const TM_TT_TYPE__ASSET: &'static [u8; 9usize] = b"tm_asset\0";
191pub const TM_TT_TYPE__ASSET_DIRECTORY: &'static [u8; 19usize] = b"tm_asset_directory\0";
192pub const TM_TT_TYPE__ASSET_TAG: &'static [u8; 13usize] = b"tm_asset_tag\0";
193pub const TM_ASSET_TAG_INTERFACE_NAME: &'static [u8; 23usize] = b"tm_asset_tag_interface\0";
194pub const TM_THE_TRUTH_ASSETS_API_NAME: &'static [u8; 24usize] = b"tm_the_truth_assets_api\0";
195pub const TM_THE_TRUTH_MIGRATION_INTERFACE_NAME: &'static [u8; 25usize] =
196 b"tm_the_truth_migration_i\0";
197pub const TM_THE_TRUTH_MIGRATION_API_NAME: &'static [u8; 27usize] = b"tm_the_truth_migration_api\0";
198pub const TM_TT_TYPE__BOOL: &'static [u8; 8usize] = b"tm_bool\0";
199pub const TM_TT_TYPE__UINT32_T: &'static [u8; 12usize] = b"tm_uint32_t\0";
200pub const TM_TT_TYPE__UINT64_T: &'static [u8; 12usize] = b"tm_uint64_t\0";
201pub const TM_TT_TYPE__FLOAT: &'static [u8; 9usize] = b"tm_float\0";
202pub const TM_TT_TYPE__DOUBLE: &'static [u8; 10usize] = b"tm_double\0";
203pub const TM_TT_TYPE__STRING: &'static [u8; 10usize] = b"tm_string\0";
204pub const TM_TT_TYPE__VEC2: &'static [u8; 10usize] = b"tm_vec2_t\0";
205pub const TM_TT_TYPE__VEC3: &'static [u8; 10usize] = b"tm_vec3_t\0";
206pub const TM_TT_TYPE__VEC4: &'static [u8; 10usize] = b"tm_vec4_t\0";
207pub const TM_TT_TYPE__POSITION: &'static [u8; 12usize] = b"tm_position\0";
208pub const TM_TT_TYPE__ROTATION: &'static [u8; 12usize] = b"tm_rotation\0";
209pub const TM_TT_TYPE__SCALE: &'static [u8; 9usize] = b"tm_scale\0";
210pub const TM_TT_TYPE__COLOR_RGB: &'static [u8; 13usize] = b"tm_color_rgb\0";
211pub const TM_TT_TYPE__COLOR_RGBA: &'static [u8; 14usize] = b"tm_color_rgba\0";
212pub const TM_TT_TYPE__RECT: &'static [u8; 10usize] = b"tm_rect_t\0";
213pub const TM_THE_TRUTH_COMMON_TYPES_API_NAME: &'static [u8; 30usize] =
214 b"tm_the_truth_common_types_api\0";
215pub const TM_UNICODE_API_NAME: &'static [u8; 15usize] = b"tm_unicode_api\0";
216pub const tm_unicode__dotted_cross: &'static [u8; 4usize] = b"\xE2\x81\x9C\0";
217pub const tm_unicode__rightwards_arrow: &'static [u8; 4usize] = b"\xE2\x86\x92\0";
218pub const tm_unicode__empty_set: &'static [u8; 4usize] = b"\xE2\x88\x85\0";
219pub const tm_unicode__black_down_pointing_triangle: &'static [u8; 4usize] = b"\xE2\x96\xBC\0";
220pub const tm_unicode__black_up_pointing_triangle: &'static [u8; 4usize] = b"\xE2\x96\xB2\0";
221pub const tm_unicode__black_right_pointing_triangle: &'static [u8; 4usize] = b"\xE2\x96\xB6\0";
222pub const tm_unicode__black_left_pointing_triangle: &'static [u8; 4usize] = b"\xE2\x97\x80\0";
223pub const tm_unicode__die_face_1: &'static [u8; 4usize] = b"\xE2\x9A\x80\0";
224pub const tm_unicode__neuter: &'static [u8; 4usize] = b"\xE2\x9A\xB2\0";
225pub const tm_unicode__check_mark: &'static [u8; 4usize] = b"\xE2\x9C\x93\0";
226pub const tm_unicode__multiplication_x: &'static [u8; 4usize] = b"\xE2\x9C\x95\0";
227pub const tm_unicode__heavy_multiplication_x: &'static [u8; 4usize] = b"\xE2\x9C\x96\0";
228pub const tm_unicode__earth: &'static [u8; 5usize] = b"\xF0\x9F\x8C\x8F\0";
229pub const tm_unicode__house: &'static [u8; 5usize] = b"\xF0\x9F\x8F\xA0\0";
230pub const tm_unicode__original_of: &'static [u8; 4usize] = b"\xE2\x8A\xB6\0";
231pub const tm_unicode__image_of: &'static [u8; 4usize] = b"\xE2\x8A\xB7\0";
232pub const tm_unicode__circle_dot_operator: &'static [u8; 4usize] = b"\xE2\x8A\x99\0";
233pub const tm_unicode__triangular_ruler: &'static [u8; 5usize] = b"\xF0\x9F\x93\x90\0";
234pub const tm_unicode__straight_ruler: &'static [u8; 5usize] = b"\xF0\x9F\x93\x8F\0";
235pub const tm_unicode__maximize: &'static [u8; 5usize] = b"\xF0\x9F\x97\x96\0";
236pub const tm_unicode__overlap: &'static [u8; 5usize] = b"\xF0\x9F\x97\x97\0";
237pub const tm_unicode__plus_minus: &'static [u8; 3usize] = b"\xC2\xB1\0";
238pub const tm_unicode__camera: &'static [u8; 5usize] = b"\xF0\x9F\x93\xB7\0";
239pub const tm_unicode__electric_light_blub: &'static [u8; 5usize] = b"\xF0\x9F\x92\xA1\0";
240pub const tm_unicode__horizontal_ellipsis: &'static [u8; 4usize] = b"\xE2\x80\xA6\0";
241pub const tm_unicode__heavy_plus_sign: &'static [u8; 4usize] = b"\xE2\x9E\x95\0";
242pub const tm_unicode__rightwards_arrow_to_bar: &'static [u8; 4usize] = b"\xE2\x87\xA5\0";
243pub const tm_unicode__right_angle_with_arc: &'static [u8; 4usize] = b"\xE2\x8A\xBE\0";
244pub const tm_unicode__refresh: &'static [u8; 5usize] = b"\xF0\x9F\x97\x98\0";
245pub const tm_unicode__wrench_hammer: &'static [u8; 5usize] = b"\xF0\x9F\x9B\xA0\0";
246pub const tm_unicode__wrench: &'static [u8; 5usize] = b"\xF0\x9F\x94\xA7\0";
247pub const tm_unicode__zzz: &'static [u8; 5usize] = b"\xF0\x9F\x92\xA4\0";
248pub const tm_unicode__magnifying_glass_left: &'static [u8; 5usize] = b"\xF0\x9F\x94\x8D\0";
249pub const tm_unicode__eye: &'static [u8; 5usize] = b"\xF0\x9F\x91\x81\0";
250pub const tm_unicode__gear: &'static [u8; 4usize] = b"\xE2\x9A\x99\0";
251pub const tm_unicode__copyright: &'static [u8; 3usize] = b"\xC2\xA9\0";
252pub const tm_unicode__leftwards_heavy_arrow: &'static [u8; 5usize] = b"\xF0\x9F\xA1\x84\0";
253pub const tm_unicode__rightwards_heavy_arrow: &'static [u8; 5usize] = b"\xF0\x9F\xA1\x86\0";
254pub const TM_UNIT_TEST_INTERFACE_NAME: &'static [u8; 15usize] = b"tm_unit_test_i\0";
255pub const TM_VISIBILITY_FLAGS_EDITOR_INTERFACE_NAME: &'static [u8; 28usize] =
256 b"tm_visibility_editor_name_i\0";
257pub const TM_VISIBILITY_FLAGS_CONTEXT_INTERFACE_NAME: &'static [u8; 24usize] =
258 b"tm_visibility_context_o\0";
259pub const TM_VISIBILITY_FLAGS_API_NAME: &'static [u8; 24usize] = b"tm_visibility_flags_api\0";
260pub const TM_TT_TYPE__VISIBILITY_FLAG: &'static [u8; 19usize] = b"tm_visibility_flag\0";
261pub const TM_WEB_SOCKET_PROTOCOL_API_NAME: &'static [u8; 27usize] = b"tm_web_socket_protocol_api\0";
262pub const TM_WEB_TALKER_API_NAME: &'static [u8; 18usize] = b"tm_web_talker_api\0";
263pub const TM_ANALYTICS_API_NAME: &'static [u8; 17usize] = b"tm_analytics_api\0";
264pub const TM_ANIMATION_BLENDER_API_NAME: &'static [u8; 25usize] = b"tm_animation_blender_api\0";
265pub const TM_TT_TYPE__ANIMATION_CLIP: &'static [u8; 18usize] = b"tm_animation_clip\0";
266pub const TM_ANIMATION_PLAYER_API_NAME: &'static [u8; 24usize] = b"tm_animation_player_api\0";
267pub const TM_TT_TYPE__ANIMATION_SIMPLE_PLAYER_COMPONENT: &'static [u8; 37usize] =
268 b"tm_animation_simple_player_component\0";
269pub const TM_ANIMATION_SIMPLE_PLAYER_COMPONENT_API_NAME: &'static [u8; 41usize] =
270 b"tm_animation_simple_player_component_api\0";
271pub const TM_TT_TYPE__ASM_REGULAR_STATE: &'static [u8; 21usize] = b"tm_asm_regular_state\0";
272pub const TM_TT_TYPE__ASM_RANDOM_STATE: &'static [u8; 20usize] = b"tm_asm_random_state\0";
273pub const TM_TT_TYPE__ASM_RANDOM_STATE_ANIMATION: &'static [u8; 30usize] =
274 b"tm_asm_random_state_animation\0";
275pub const TM_TT_TYPE__ASM_BLEND_STATE: &'static [u8; 19usize] = b"tm_asm_blend_state\0";
276pub const TM_TT_TYPE__ASM_BLEND_STATE_ANIMATION: &'static [u8; 29usize] =
277 b"tm_asm_blend_state_animation\0";
278pub const TM_TT_TYPE__ASM_EMPTY_STATE: &'static [u8; 19usize] = b"tm_asm_empty_state\0";
279pub const TM_TT_TYPE__ASM_REGULAR_TRANSITION: &'static [u8; 26usize] =
280 b"tm_asm_regular_transition\0";
281pub const TM_TT_TYPE__ASM_LAYER: &'static [u8; 14usize] = b"tm_asm_layer \0";
282pub const TM_TT_TYPE__ASM_EVENT: &'static [u8; 14usize] = b"tm_asm_event \0";
283pub const TM_TT_TYPE__ASM_VARIABLE: &'static [u8; 17usize] = b"tm_asm_variable \0";
284pub const TM_TT_TYPE__ASM_BLEND_SET_WEIGHT: &'static [u8; 24usize] = b"tm_asm_blend_set_weight\0";
285pub const TM_TT_TYPE__ASM_BLEND_SET: &'static [u8; 17usize] = b"tm_asm_blend_set\0";
286pub const TM_TT_TYPE__ASM_MOTION_MIXER: &'static [u8; 20usize] = b"tm_asm_motion_mixer\0";
287pub const TM_TT_TYPE__ASM_MOTION_MIXER_SLIDER: &'static [u8; 27usize] =
288 b"tm_asm_motion_mixer_slider\0";
289pub const TM_TT_TYPE__ASM_MOTION_MIXER_BUTTON: &'static [u8; 27usize] =
290 b"tm_asm_motion_mixer_button\0";
291pub const TM_TT_TYPE__ASM_MOTION_MIXER_VARIABLE_KEY: &'static [u8; 33usize] =
292 b"tm_asm_motion_mixer_variable_key\0";
293pub const TM_TT_TYPE__ASM_MOTION_MIXER_EVENT_KEY: &'static [u8; 30usize] =
294 b"tm_asm_motion_mixer_event_key\0";
295pub const TM_TT_TYPE__ANIMATION_STATE_MACHINE: &'static [u8; 27usize] =
296 b"tm_animation_state_machine\0";
297pub const TM_ANIMATION_STATE_MACHINE_API_NAME: &'static [u8; 31usize] =
298 b"tm_animation_state_machine_api\0";
299pub const TM_TT_TYPE__ANIMATION_STATE_MACHINE_COMPONENT: &'static [u8; 37usize] =
300 b"tm_animation_state_machine_component\0";
301pub const TM_ANIMATION_STATE_MACHINE_COMPONENT_API_NAME: &'static [u8; 41usize] =
302 b"tm_animation_state_machine_component_api\0";
303pub const TM_BONE_TRANSLATION_API_NAME: &'static [u8; 24usize] = b"tm_bone_translation_api\0";
304pub const TM_EXPRESSION_LANGUAGE_API_NAME: &'static [u8; 27usize] = b"tm_expression_language_api\0";
305pub const TM_STATE_GRAPH_API_NAME: &'static [u8; 19usize] = b"tm_state_graph_api\0";
306pub const TM_ASSIMP_API_NAME: &'static [u8; 14usize] = b"tm_assimp_api\0";
307pub const TM_MIXER_API_NAME: &'static [u8; 13usize] = b"tm_mixer_api\0";
308pub const TM_SOUND_BACKEND_API_NAME: &'static [u8; 21usize] = b"tm_sound_backend_api\0";
309pub const TM_TT_TYPE__SOUND_SOURCE_COMPONENT: &'static [u8; 26usize] =
310 b"tm_sound_source_component\0";
311pub const TM_TONE_GENERATOR_API_NAME: &'static [u8; 22usize] = b"tm_tone_generator_api\0";
312pub const TM_TT_TYPE__WAV: &'static [u8; 7usize] = b"tm_wav\0";
313pub const TM_WAV_API_NAME: &'static [u8; 11usize] = b"tm_wav_api\0";
314pub const TM_CACHE_TAG_ALL: u32 = 4294967295;
315pub const TM_CACHE_MANAGER_API_NAME: &'static [u8; 21usize] = b"tm_cache_manager_api\0";
316pub const TM_COLLABORATION_DISCORD_API_NAME: &'static [u8; 29usize] =
317 b"tm_collaboration_discord_api\0";
318pub const TM_CREATION_GRAPH_NODE_INTERFACE_NAME: &'static [u8; 33usize] =
319 b"tm_creation_graph_node_interface\0";
320pub const TM_CREATION_GRAPH_IO_TYPE_INTERFACE_NAME: &'static [u8; 36usize] =
321 b"tm_creation_graph_io_type_interface\0";
322pub const TM_CREATION_GRAPH_OUTPUT_NODE_TYPE_INTERFACE_NAME: &'static [u8; 45usize] =
323 b"tm_creation_graph_output_node_type_interface\0";
324pub const TM_CREATION_GRAPH_COMPILE_DATA_TO_WIRE_INTERFACE_NAME: &'static [u8; 49usize] =
325 b"tm_creation_graph_compile_data_to_wire_interface\0";
326pub const TM_TT_TYPE__CREATION_GRAPH: &'static [u8; 18usize] = b"tm_creation_graph\0";
327pub const TM_TT_TYPE__CREATION_GRAPH__RESOURCE_REFERENCE: &'static [u8; 37usize] =
328 b"tm_creation_graph_resource_reference\0";
329pub const TM_CREATION_GRAPH_API_NAME: &'static [u8; 22usize] = b"tm_creation_graph_api\0";
330pub const TM_CREATION_GRAPH_INTERPRETER_API_NAME: &'static [u8; 34usize] =
331 b"tm_creation_graph_interpreter_api\0";
332pub const TM_TT_TYPE__GRAPH: &'static [u8; 9usize] = b"tm_graph\0";
333pub const TM_TT_TYPE__GRAPH_NODE: &'static [u8; 14usize] = b"tm_graph_node\0";
334pub const TM_TT_TYPE__GRAPH_CONNECTION: &'static [u8; 20usize] = b"tm_graph_connection\0";
335pub const TM_TT_TYPE__GRAPH_DATA: &'static [u8; 14usize] = b"tm_graph_data\0";
336pub const TM_TT_TYPE__GRAPH_COMMENT: &'static [u8; 17usize] = b"tm_graph_comment\0";
337pub const TM_TT_TYPE__GRAPH_INTERFACE: &'static [u8; 19usize] = b"tm_graph_interface\0";
338pub const TM_TT_TYPE__GRAPH_INPUT: &'static [u8; 15usize] = b"tm_graph_input\0";
339pub const TM_TT_TYPE__GRAPH_OUTPUT: &'static [u8; 16usize] = b"tm_graph_output\0";
340pub const TM_TT_TYPE__GRAPH_CACHED_NODE_RESULT: &'static [u8; 28usize] =
341 b"tm_graph_cached_node_result\0";
342pub const TM_TT_TYPE__GRAPH_SETTINGS: &'static [u8; 18usize] = b"tm_graph_settings\0";
343pub const TM_GRAPH_DRAG_AND_DROP_INTERFACE_NAME: &'static [u8; 25usize] =
344 b"tm_graph_drag_and_drop_i\0";
345pub const TM_GRAPH_API_NAME: &'static [u8; 13usize] = b"tm_graph_api\0";
346pub const TM_TT_TYPE__IMAGE_MIPMAP_SETTINGS: &'static [u8; 19usize] = b"tm_mipmap_settings\0";
347pub const TM_TT_TYPE__IMAGE_DESCRIPTION: &'static [u8; 21usize] = b"tm_image_description\0";
348pub const TM_TT_TYPE__IMAGE_ARCHIVE: &'static [u8; 17usize] = b"tm_image_archive\0";
349pub const TM_CREATION_GRAPH__IMAGE__OUTPUT_NODE: &'static [u8; 13usize] = b"image_output\0";
350pub const TM_CREATION_GRAPH__SHADER_INSTANCE_OUTPUT: &'static [u8; 26usize] =
351 b"tm_shader_instance_output\0";
352pub const TM_CREATION_GRAPH__BOUNDING_VOLUME: &'static [u8; 16usize] = b"bounding_volume\0";
353pub const TM_CREATION_GRAPH__DRAW_CALL: &'static [u8; 9usize] = b"drawcall\0";
354pub const TM_CRUNCH_API_NAME: &'static [u8; 14usize] = b"tm_crunch_api\0";
355pub const TM_DCC_ASSET_API_NAME: &'static [u8; 17usize] = b"tm_dcc_asset_api\0";
356pub const TM_TT_TYPE__DCC_ASSET_COMPONENT: &'static [u8; 23usize] = b"tm_dcc_asset_component\0";
357pub const TM_DCC_ASSET_COMPONENT_API_NAME: &'static [u8; 27usize] = b"tm_dcc_asset_component_api\0";
358pub const TM_TT_TYPE__DCC_ASSET_MESH__NODE_SETTINGS: &'static [u8; 32usize] =
359 b"tm_dcc_asset_mesh_node_settings\0";
360pub const TM_TT_TYPE__DCC_ASSET_IMAGE__NODE_SETTINGS: &'static [u8; 33usize] =
361 b"tm_dcc_asset_image_node_settings\0";
362pub const TM_TT_TYPE__DCC_ASSET_MATERIAL__NODE_SETTINGS: &'static [u8; 36usize] =
363 b"tm_dcc_asset_material_node_settings\0";
364pub const TM_DCC_ASSET_CREATION_GRAPH_API_NAME: &'static [u8; 32usize] =
365 b"tm_dcc_asset_creation_graph_api\0";
366pub const TM_DCC_ASSET_RENDERER_API_NAME: &'static [u8; 26usize] = b"tm_dcc_asset_renderer_api\0";
367pub const TM_TT_TYPE__DCC_ASSET_POSITION: &'static [u8; 22usize] = b"tm_dcc_asset_position\0";
368pub const TM_TT_TYPE__DCC_ASSET_ROTATION: &'static [u8; 22usize] = b"tm_dcc_asset_rotation\0";
369pub const TM_TT_TYPE__DCC_ASSET_SCALE: &'static [u8; 19usize] = b"tm_dcc_asset_scale\0";
370pub const TM_TT_TYPE__DCC_ASSET_COLOR_RGB: &'static [u8; 23usize] = b"tm_dcc_asset_color_rgb\0";
371pub const TM_TT_TYPE__DCC_ASSET_COLOR_RGBA: &'static [u8; 24usize] = b"tm_dcc_asset_color_rgba\0";
372pub const TM_TT_TYPE__DCC_ASSET_BUFFER: &'static [u8; 20usize] = b"tm_dcc_asset_buffer\0";
373pub const TM_TT_TYPE__DCC_ASSET_CAMERA: &'static [u8; 20usize] = b"tm_dcc_asset_camera\0";
374pub const TM_TT_TYPE__DCC_ASSET_LIGHT: &'static [u8; 19usize] = b"tm_dcc_asset_light\0";
375pub const TM_TT_TYPE__DCC_ASSET_ACCESSOR: &'static [u8; 22usize] = b"tm_dcc_asset_accessor\0";
376pub const TM_TT_TYPE__DCC_ASSET_ATTRIBUTE: &'static [u8; 23usize] = b"tm_dcc_asset_attribute\0";
377pub const TM_TT_TYPE__DCC_ASSET_IMAGE: &'static [u8; 19usize] = b"tm_dcc_asset_image\0";
378pub const TM_TT_TYPE__DCC_ASSET_TEXTURE: &'static [u8; 21usize] = b"tm_dcc_asset_texture\0";
379pub const TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_MR: &'static [u8; 29usize] =
380 b"tm_dcc_asset_material_pbr_mr\0";
381pub const TM_TT_TYPE__DCC_ASSET_MATERIAL_PBR_SG: &'static [u8; 29usize] =
382 b"tm_dcc_asset_material_pbr_sg\0";
383pub const TM_TT_TYPE__DCC_ASSET_MATERIAL: &'static [u8; 22usize] = b"tm_dcc_asset_material\0";
384pub const TM_TT_TYPE__DCC_ASSET_BONE: &'static [u8; 18usize] = b"tm_dcc_asset_bone\0";
385pub const TM_TT_TYPE__DCC_ASSET_MESH: &'static [u8; 18usize] = b"tm_dcc_asset_mesh\0";
386pub const TM_TT_TYPE__DCC_ASSET_NODE: &'static [u8; 18usize] = b"tm_dcc_asset_node\0";
387pub const TM_TT_TYPE__DCC_ASSET_SCENE: &'static [u8; 19usize] = b"tm_dcc_asset_scene\0";
388pub const TM_TT_TYPE__DCC_ASSET_NODE_ANIMATION: &'static [u8; 28usize] =
389 b"tm_dcc_asset_node_animation\0";
390pub const TM_TT_TYPE__DCC_ASSET_ANIMATION: &'static [u8; 23usize] = b"tm_dcc_asset_animation\0";
391pub const TM_TT_TYPE__DCC_ASSET_EXTRACTED_RESOURCE: &'static [u8; 32usize] =
392 b"tm_dcc_asset_extracted_resource\0";
393pub const TM_TT_TYPE__DCC_ASSET_SETTINGS: &'static [u8; 22usize] = b"tm_dcc_asset_settings\0";
394pub const TM_TT_TYPE__DCC_ASSET: &'static [u8; 13usize] = b"tm_dcc_asset\0";
395pub const TM_TT_TYPE__ENTITY_RIGGER__COMPONENT: &'static [u8; 27usize] =
396 b"tm_entity_rigger_component\0";
397pub const TM_ENTITY_RIGGER_COMPONENT_API_NAME: &'static [u8; 25usize] =
398 b"tm_entitiy_component_api\0";
399pub const TM_TT_TYPE__DCC_IMPORT_SETTINGS: &'static [u8; 23usize] = b"tm_dcc_import_settings\0";
400pub const TM_IMPORT_SETTINGS_API_NAME: &'static [u8; 23usize] = b"tm_import_settings_api\0";
401pub const TM_DDS_IMAGE_LOADER_API_NAME: &'static [u8; 20usize] = b"tm_dds_image_loader\0";
402pub const TM_TT_TYPE__BLOOM_COMPONENT: &'static [u8; 39usize] =
403 b"tm_default_render_pipe_bloom_component\0";
404pub const TM_DEFAULT_RENDER_PIPE_API_NAME: &'static [u8; 27usize] = b"tm_default_render_pipe_api\0";
405pub const TM_DEFAULT_RENDER_PIPELINE_NAME: &'static [u8; 27usize] = b"TM Default Render Pipeline\0";
406pub const TM_TT_TYPE__EXPOSURE_COMPONENT: &'static [u8; 42usize] =
407 b"tm_default_render_pipe_exposure_component\0";
408pub const TM_TT_TYPE__LIGHT_COMPONENT: &'static [u8; 39usize] =
409 b"tm_default_render_pipe_light_component\0";
410pub const TM_VOLUME_COMPONENT_API_NAME: &'static [u8; 24usize] = b"tm_volume_component_api\0";
411pub const TM_TT_TYPE__VOLUME_COMPONENT: &'static [u8; 40usize] =
412 b"tm_default_render_pipe_volume_component\0";
413pub const TM_DXC_SHADER_COMPILER_API_NAME: &'static [u8; 27usize] = b"tm_dxc_shader_compiler_api\0";
414pub const TM_TT_TYPE__ASSET_BROWSER: &'static [u8; 17usize] = b"tm_asset_browser\0";
415pub const TM_ASSET_BROWSER_CREATE_ASSET_INTERFACE_NAME: &'static [u8; 32usize] =
416 b"tm_asset_browser_create_asset_i\0";
417pub const TM_ASSET_BROWSER_OPEN_ASSET_API_NAME: &'static [u8; 32usize] =
418 b"tm_asset_browser_open_asset_api\0";
419pub const TM_ASSET_BROWSER_ADD_ASSET_API_NAME: &'static [u8; 31usize] =
420 b"tm_asset_browser_add_asset_api\0";
421pub const TM_ASSET_BROWSER_SELECT_ASSET_API_NAME: &'static [u8; 34usize] =
422 b"tm_asset_browser_select_asset_api\0";
423pub const TM_ASSET_BROWSER_API_NAME: &'static [u8; 21usize] = b"tm_asset_browser_api\0";
424pub const TM_PROFILER_VIEW_API_NAME: &'static [u8; 21usize] = b"tm_profiler_view_api\0";
425pub const TM_PROPERTIES_VIEW_API_NAME: &'static [u8; 23usize] = b"tm_properties_view_api\0";
426pub const TM_TREE_VIEW_API_NAME: &'static [u8; 17usize] = b"tm_tree_view_api\0";
427pub const TM_UI_POPUP_ITEM_PICKER_API_NAME: &'static [u8; 28usize] =
428 b"tm_ui_popup_item_picker_api\0";
429pub const TM_TT_TYPE__CAMERA_COMPONENT: &'static [u8; 20usize] = b"tm_camera_component\0";
430pub const TM_MAX_COMPONENTS_FOR_ENGINE: u32 = 16;
431pub const TM_TT_TYPE__ENTITY: &'static [u8; 10usize] = b"tm_entity\0";
432pub const TM_MAX_COMPONENTS_IN_CONTEXT: u32 = 1024;
433pub const TM_ENTITY_SIMULATION_INTERFACE_NAME: &'static [u8; 23usize] = b"tm_entity_simulation_i\0";
434pub const TM_ENTITY_CREATE_COMPONENT_INTERFACE_NAME: &'static [u8; 29usize] =
435 b"tm_entity_create_component_i\0";
436pub const TM_ENTITY_HOT_RELOAD_COMPONENT_INTERFACE_NAME: &'static [u8; 33usize] =
437 b"tm_entity_hot_reload_component_i\0";
438pub const TM_ENTITY_HOT_RELOAD_SYSTEM_INTERFACE_NAME: &'static [u8; 30usize] =
439 b"tm_entity_hot_reload_system_i\0";
440pub const TM_ENTITY_API_NAME: &'static [u8; 14usize] = b"tm_entity_api\0";
441pub const TM_TT_TYPE__LINK_COMPONENT: &'static [u8; 18usize] = b"tm_link_component\0";
442pub const TM_LINK_COMPONENT_API_NAME: &'static [u8; 22usize] = b"tm_link_component_api\0";
443pub const TM_TT_TYPE__OWNER_COMPONENT: &'static [u8; 19usize] = b"tm_owner_component\0";
444pub const TM_OWNER_COMPONENT_API_NAME: &'static [u8; 23usize] = b"tm_owner_component_api\0";
445pub const TM_TT_TYPE__SCENE_TREE_COMPONENT: &'static [u8; 24usize] = b"tm_scene_tree_component\0";
446pub const TM_SCENE_TREE_COMPONENT_API_NAME: &'static [u8; 28usize] =
447 b"tm_scene_tree_component_api\0";
448pub const TM_TT_TYPE__TAG_COMPONENT: &'static [u8; 17usize] = b"tm_tag_component\0";
449pub const TM_TT_TYPE__TAG: &'static [u8; 7usize] = b"tm_tag\0";
450pub const TM_TAG_COMPONENT_API_NAME: &'static [u8; 21usize] = b"tm_tag_component_api\0";
451pub const TM_TT_TYPE__TRANSFORM_COMPONENT: &'static [u8; 23usize] = b"tm_transform_component\0";
452pub const TM_TRANSFORM_COMPONENT_API_NAME: &'static [u8; 27usize] = b"tm_transform_component_api\0";
453pub const TM_GAMEPLAY_CONTEXT_API_NAME: &'static [u8; 24usize] = b"tm_gameplay_context_api\0";
454pub const TM_GAMEPLAY_ENTITY_API_NAME: &'static [u8; 23usize] = b"tm_gameplay_entity_api\0";
455pub const TM_GAMEPLAY_PHYSICS_API_NAME: &'static [u8; 24usize] = b"tm_gameplay_physics_api\0";
456pub const TM_GAMEPLAY_API_NAME: &'static [u8; 16usize] = b"tm_gameplay_api\0";
457pub const TM_GLTF_API_NAME: &'static [u8; 12usize] = b"tm_gltf_api\0";
458pub const TM_GRAPH_SUBGRAPH_NODE_TYPE: &'static [u8; 17usize] = b"tm_subgraph_node\0";
459pub const TM_GRAPH_SUBGRAPH_NODE_SETTINGS_TYPE: &'static [u8; 26usize] =
460 b"tm_subgraph_node_settings\0";
461pub const TM_GRAPH_INPUT_NODE_TYPE: &'static [u8; 14usize] = b"tm_input_node\0";
462pub const TM_GRAPH_OUTPUT_NODE_TYPE: &'static [u8; 15usize] = b"tm_output_node\0";
463pub const TM_GRAPH_ADD_INPUT_CONNECTOR: &'static [u8; 23usize] = b"tm_add_input_connector\0";
464pub const TM_GRAPH_ADD_OUTPUT_CONNECTOR: &'static [u8; 24usize] = b"tm_add_output_connector\0";
465pub const TM_GRAPH_IMPORTER_API_NAME: &'static [u8; 22usize] = b"tm_graph_importer_api\0";
466pub const TM_TT_TYPE__GRAPH_COMPONENT: &'static [u8; 19usize] = b"tm_graph_component\0";
467pub const TM_TT_TYPE__ENTITY_GRAPH: &'static [u8; 16usize] = b"tm_entity_graph\0";
468pub const TM_GRAPH_COMPONENT_COMPILE_DATA_INTERFACE_NAME: &'static [u8; 32usize] =
469 b"tm_graph_component_compile_data\0";
470pub const TM_GRAPH_COMPONENT_API_NAME: &'static [u8; 23usize] = b"tm_graph_component_api\0";
471pub const TM_GRAPH_COMPONENT_NODE_INTERFACE_NAME: &'static [u8; 34usize] =
472 b"tm_graph_component_node_interface\0";
473pub const TM_TT_TYPE__KEYBOARD_ITEM: &'static [u8; 17usize] = b"tm_keyboard_item\0";
474pub const TM_TT_TYPE__MOUSE_BUTTON: &'static [u8; 16usize] = b"tm_mouse_button\0";
475pub const TM_TT_TYPE__ENTITY_ASSET_REFERENCE: &'static [u8; 26usize] =
476 b"tm_entity_asset_reference\0";
477pub const TM_TT_TYPE__LOCAL_ENTITY_ASSET_REFERENCE: &'static [u8; 32usize] =
478 b"tm_local_entity_asset_reference\0";
479pub const TM_TT_TYPE__TAG_REFERENCE: &'static [u8; 17usize] = b"tm_tag_reference\0";
480pub const TM_GRAPH_INTERPRETER_API_NAME: &'static [u8; 25usize] = b"tm_graph_interpreter_api\0";
481pub const TM_HTTPS_API_NAME: &'static [u8; 13usize] = b"tm_https_api\0";
482pub const TM_OPENVR_API_NAME: &'static [u8; 14usize] = b"tm_openvr_api\0";
483pub const TM_OS_DISPLAY_API_NAME: &'static [u8; 18usize] = b"tm_os_display_api\0";
484pub const DEFAULT_DISPLAY_DPI: u32 = 96;
485pub const TM_OS_WINDOW_API_NAME: &'static [u8; 17usize] = b"tm_os_window_api\0";
486pub const TM_TT_TYPE__PHYSICS_BODY_COMPONENT: &'static [u8; 26usize] =
487 b"tm_physics_body_component\0";
488pub const TM_PHYSICS_BODY_COMPUTE_INERTIA_TENSOR_INTERFACE_NAME: &'static [u8; 41usize] =
489 b"tm_physics_body_compute_inertia_tensor_i\0";
490pub const TM_TT_TYPE__PHYSICS_COLLISION: &'static [u8; 21usize] = b"tm_physics_collision\0";
491pub const TM_TT_TYPE__PHYSICS_JOINT_COMPONENT: &'static [u8; 27usize] =
492 b"tm_physics_joint_component\0";
493pub const TM_TT_TYPE__PHYSICS_JOINT__FIXED: &'static [u8; 23usize] = b"tm_physics_joint_fixed\0";
494pub const TM_TT_TYPE__PHYSICS_JOINT__DISTANCE: &'static [u8; 26usize] =
495 b"tm_physics_joint_distance\0";
496pub const TM_TT_TYPE__PHYSICS_JOINT__SPHERICAL: &'static [u8; 27usize] =
497 b"tm_physics_joint_spherical\0";
498pub const TM_TT_TYPE__PHYSICS_JOINT__REVOLUTE: &'static [u8; 26usize] =
499 b"tm_physics_joint_revolute\0";
500pub const TM_TT_TYPE__PHYSICS_JOINT__PRISMATIC: &'static [u8; 27usize] =
501 b"tm_physics_joint_prismatic\0";
502pub const TM_TT_TYPE__PHYSICS_JOINT__D6: &'static [u8; 20usize] = b"tm_physics_joint_d6\0";
503pub const TM_TT_TYPE__PHYSICS_MATERIAL: &'static [u8; 20usize] = b"tm_physics_material\0";
504pub const TM_TT_TYPE__PHYSICS_MOVER_COMPONENT: &'static [u8; 27usize] =
505 b"tm_physics_mover_component\0";
506pub const TM_TT_TYPE__PHYSICS_SHAPE_COMPONENT: &'static [u8; 27usize] =
507 b"tm_physics_shape_component\0";
508pub const TM_TT_TYPE__PHYSICS_SHAPE__SPHERE: &'static [u8; 24usize] = b"tm_physics_shape_sphere\0";
509pub const TM_TT_TYPE__PHYSICS_SHAPE__CAPSULE: &'static [u8; 25usize] =
510 b"tm_physics_shape_capsule\0";
511pub const TM_TT_TYPE__PHYSICS_SHAPE__BOX: &'static [u8; 21usize] = b"tm_physics_shape_box\0";
512pub const TM_TT_TYPE__PHYSICS_SHAPE__CONVEX: &'static [u8; 24usize] = b"tm_physics_shape_convex\0";
513pub const TM_TT_TYPE__PHYSICS_SHAPE__MESH: &'static [u8; 22usize] = b"tm_physics_shape_mesh\0";
514pub const TM_PHYSICS_SHAPE_COOKING_INTERFACE_NAME: &'static [u8; 27usize] =
515 b"tm_physics_shape_cooking_i\0";
516pub const TM_PHYSICS_SHAPE_DRAWING_INTERFACE_NAME: &'static [u8; 27usize] =
517 b"tm_physics_shape_drawing_i\0";
518pub const TM_PHYSICS_SHAPE_API_NAME: &'static [u8; 21usize] = b"tm_physics_shape_api\0";
519pub const TM_TT_TYPE__VELOCITY_COMPONENT: &'static [u8; 22usize] = b"tm_velocity_component\0";
520pub const TM_TT_TYPE__PHYSX_RIGID_STATIC_COMPONENT: &'static [u8; 32usize] =
521 b"tm_physx_rigid_static_component\0";
522pub const TM_TT_TYPE__PHYSX_RIGID_BODY_COMPONENT: &'static [u8; 30usize] =
523 b"tm_physx_rigid_body_component\0";
524pub const TM_TT_TYPE__PHYSX_RIGID_BODY_SHAPE_COMPONENT: &'static [u8; 36usize] =
525 b"tm_physx_rigid_body_shape_component\0";
526pub const TM_TT_TYPE__PHYSX_JOINT_COMPONENT: &'static [u8; 25usize] = b"tm_physx_joint_component\0";
527pub const TM_TT_TYPE__PHYSX_MOVER_COMPONENT: &'static [u8; 25usize] = b"tm_physx_mover_component\0";
528pub const TM_PHYSX_SCENE_API_NAME: &'static [u8; 19usize] = b"tm_physx_scene_api\0";
529pub const TM_PHYSX_CONVEX_COOKED_DATA_FORMAT: &'static [u8; 28usize] =
530 b"tm_physx_convex_cooked_data\0";
531pub const TM_PHYSX_MESH_COOKED_DATA_FORMAT: &'static [u8; 26usize] = b"tm_physx_mesh_cooked_data\0";
532pub const TM_PHYSX_RAYCAST__COLLIDES_WITH_ALL: i32 = -1;
533pub const TM_DEVICE_MEMORY_VIEW_API_NAME: &'static [u8; 22usize] = b"tm_device_memory_view\0";
534pub const TM_NIL_RENDER_BACKEND_API_NAME: &'static [u8; 26usize] = b"tm_nil_render_backend_api\0";
535pub const TM_RENDERER_API_NAME: &'static [u8; 16usize] = b"tm_renderer_api\0";
536pub const TM_RENDERER_INIT_API_NAME: &'static [u8; 21usize] = b"tm_renderer_init_api\0";
537pub const TM_RENDERER_MEMORY_STATISTICS_MAX_ALLOCATOR_BLOCKS: u32 = 256;
538pub const TM_RENDERER_DEVICE_AFFINITY_MASK_ALL: u32 = 255;
539pub const TM_RENDER_BACKEND_INTERFACE_NAME: &'static [u8; 20usize] = b"tm_render_backend_i\0";
540pub const TM_RENDER_GRAPH_API_NAME: &'static [u8; 20usize] = b"tm_render_graph_api\0";
541pub const TM_RENDER_GRAPH_MODULE_API_NAME: &'static [u8; 27usize] = b"tm_render_graph_module_api\0";
542pub const TM_RENDER_GRAPH_SETUP_API_NAME: &'static [u8; 26usize] = b"tm_render_graph_setup_api\0";
543pub const TM_RENDER_GRAPH_EXECUTE_API_NAME: &'static [u8; 28usize] =
544 b"tm_render_graph_execute_api\0";
545pub const TM_RENDER_PIPELINE_INTERFACE_NAME: &'static [u8; 23usize] = b"tm_render_pipeline_api\0";
546pub const TM_SHADOW_MAPPING_API_NAME: &'static [u8; 22usize] = b"tm_shadow_mapping_api\0";
547pub const TM_RENDER_GRAPH_TOOLBOX_API_NAME: &'static [u8; 28usize] =
548 b"tm_render_graph_toolbox_api\0";
549pub const TM_DEBUG_VISUALIZATION_MAX_RESOURCE: u32 = 16;
550pub const TM_COMPONENT_SHADER_SYSTEM_INTERFACE_NAME: &'static [u8; 29usize] =
551 b"tm_component_shader_system_i\0";
552pub const TM_COMPONENT_SHADER_SYSTEM_API_NAME: &'static [u8; 31usize] =
553 b"tm_component_shader_system_api\0";
554pub const TM_TT_TYPE__CUBEMAP_CAPTURE_COMPONENT: &'static [u8; 29usize] =
555 b"tm_cubemap_capture_component\0";
556pub const TM_CUBEMAP_CAPTURE_INTERFACE_NAME: &'static [u8; 29usize] =
557 b"tm_cubemap_capture_interface\0";
558pub const TM_GPU_PICKING_API_NAME: &'static [u8; 19usize] = b"tm_gpu_picking_api\0";
559pub const TM_TT_TYPE__GRID_SETTINGS: &'static [u8; 17usize] = b"tm_grid_settings\0";
560pub const TM_GRID_RENDERER_API_NAME: &'static [u8; 21usize] = b"tm_grid_renderer_api\0";
561pub const TM_IMAGE_INSPECTOR_API_NAME: &'static [u8; 23usize] = b"tm_image_inspector_api\0";
562pub const TM_PRIMITIVE_DRAWER_API_NAME: &'static [u8; 24usize] = b"tm_primitive_drawer_api\0";
563pub const TM_PRIMITIVE_RENDERER_API_NAME: &'static [u8; 26usize] = b"tm_primitive_renderer_api\0";
564pub const TM_TT_TYPE__RENDER_COMPONENT: &'static [u8; 20usize] = b"tm_render_component\0";
565pub const TM_RENDER_COMPONENT_API_NAME: &'static [u8; 24usize] = b"tm_render_component_api\0";
566pub const TM_TT_TYPE__SKINNING_COMPONENT: &'static [u8; 22usize] = b"tm_skinning_component\0";
567pub const TM_SKINNING_COMPONENT_API_NAME: &'static [u8; 26usize] = b"tm_skinning_component_api\0";
568pub const TM_TT_TYPE__SCULPT_COMPONENT: &'static [u8; 20usize] = b"tm_sculpt_component\0";
569pub const TM_TT_TYPE__SCULPT_COMPONENT_SELECTION: &'static [u8; 30usize] =
570 b"tm_sculpt_component_selection\0";
571pub const TM_SCULPT_COMPONENT_API_NAME: &'static [u8; 24usize] = b"tm_sculpt_component_api\0";
572pub const TM_SHADER_DECLARATION_API_NAME: &'static [u8; 26usize] = b"tm_shader_declaration_api\0";
573pub const TM_SHADER_SYSTEM_API_NAME: &'static [u8; 21usize] = b"tm_shader_system_api\0";
574pub const TM_SHADER_API_NAME: &'static [u8; 14usize] = b"tm_shader_api\0";
575pub const TM_SHADER_REPOSITORY_INSTANCE_NAME: &'static [u8; 23usize] = b"tm_shader_repository_o\0";
576pub const TM_SHADER_REPOSITORY_API_NAME: &'static [u8; 25usize] = b"tm_shader_repository_api\0";
577pub const TM_SHADER_CREATION_GRAPH_API_NAME: &'static [u8; 29usize] =
578 b"tm_shader_creation_graph_api\0";
579pub const TM_TT_TYPE__SHADER_SYSTEM_REPOSITORY: &'static [u8; 28usize] =
580 b"tm_shader_system_repository\0";
581pub const TM_TT_TYPE__SHADER_SYSTEM_DECLARATION: &'static [u8; 29usize] =
582 b"tm_shader_system_declaration\0";
583pub const TM_TT_TYPE__SHADER_SYSTEM_RENDER_STATE_BLOCK: &'static [u8; 36usize] =
584 b"tm_shader_system_render_state_block\0";
585pub const TM_TT_TYPE__SHADER_SYSTEM_SAMPLER_STATE_BLOCK: &'static [u8; 37usize] =
586 b"tm_shader_system_sampler_state_block\0";
587pub const TM_TT_TYPE__SHADER_SYSTEM_REQUEST: &'static [u8; 25usize] = b"tm_shader_system_request\0";
588pub const TM_TT_TYPE__SHADER_SYSTEM_CONSTANT: &'static [u8; 26usize] =
589 b"tm_shader_system_constant\0";
590pub const TM_TT_TYPE__SHADER_SYSTEM_RESOURCE: &'static [u8; 26usize] =
591 b"tm_shader_system_resource\0";
592pub const TM_TT_TYPE__SHADER_SYSTEM_EXPORT: &'static [u8; 30usize] =
593 b"tm_shader_system_stage_export\0";
594pub const TM_TT_TYPE__SHADER_SYSTEM_INCLUDE: &'static [u8; 25usize] = b"tm_shader_system_include\0";
595pub const TM_TT_TYPE__SHADER_SYSTEM_VARIATION: &'static [u8; 27usize] =
596 b"tm_shader_system_variation\0";
597pub const TM_TT_TYPE__SHADER_SYSTEM_VARIATION_SYSTEM: &'static [u8; 34usize] =
598 b"tm_shader_system_variation_system\0";
599pub const TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONFIGURATION: &'static [u8; 39usize] =
600 b"tm_shader_system_compile_configuration\0";
601pub const TM_TT_TYPE__SHADER_SYSTEM_COMPILE_BRANCH: &'static [u8; 32usize] =
602 b"tm_shader_system_compile_branch\0";
603pub const TM_TT_TYPE__SHADER_SYSTEM_PASS_CONDITION: &'static [u8; 32usize] =
604 b"tm_shader_system_pass_condition\0";
605pub const TM_TT_TYPE__SHADER_SYSTEM_PASS: &'static [u8; 22usize] = b"tm_shader_system_pass\0";
606pub const TM_TT_TYPE__SHADER_SYSTEM_COMPILE_CONTEXT: &'static [u8; 33usize] =
607 b"tm_shader_system_compile_context\0";
608pub const TM_TT_TYPE__SHADER_SYSTEM_COMPILED_RESULT: &'static [u8; 33usize] =
609 b"tm_shader_system_compiled_result\0";
610pub const TM_TT_TYPE__SHADER_SYSTEM__CONSTANT_NODE__SETTINGS: &'static [u8; 40usize] =
611 b"tm_shader_system_constant_node_settings\0";
612pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_RESOURCE_ASPECT: &'static [u8; 53usize] =
613 b"tm_shader_system_creation_graph_node_resource_aspect\0";
614pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_DEFINE: &'static [u8; 44usize] =
615 b"tm_shader_system_creation_graph_node_define\0";
616pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_ACTION: &'static [u8; 44usize] =
617 b"tm_shader_system_creation_graph_node_action\0";
618pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING_OPTION:
619 &'static [u8; 62usize] = b"tm_shader_system_creation_graph_node_connector_setting_option\0";
620pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTING: &'static [u8; 55usize] =
621 b"tm_shader_system_creation_graph_node_connector_setting\0";
622pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_SETTINGS: &'static [u8; 56usize] =
623 b"tm_shader_system_creation_graph_node_connector_settings\0";
624pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR: &'static [u8; 47usize] =
625 b"tm_shader_system_creation_graph_node_connector\0";
626pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE_CONNECTOR_TYPE_OF: &'static [u8; 55usize] =
627 b"tm_shader_system_creation_graph_node_connector_type_of\0";
628pub const TM_TT_TYPE__SHADER_SYSTEM_CREATION_GRAPH_NODE: &'static [u8; 37usize] =
629 b"tm_shader_system_creation_graph_node\0";
630pub const TM_TT_TYPE__RUNNER_SETTINGS: &'static [u8; 19usize] = b"tm_runner_settings\0";
631pub const TM_RUNNER_SETTINGS_API_NAME: &'static [u8; 23usize] = b"tm_runner_settings_api\0";
632pub const TM_SIMULATE_CONTEXT_API_NAME: &'static [u8; 24usize] = b"tm_simulate_context_api\0";
633pub const TM_TT_TYPE__STATISTICS_GRAPH: &'static [u8; 20usize] = b"tm_statistics_graph\0";
634pub const TM_TT_TYPE__STATISTICS_GRAPH_SOURCE: &'static [u8; 27usize] =
635 b"tm_statistics_graph_source\0";
636pub const TM_STATISTICS_GRAPH_API_NAME: &'static [u8; 20usize] = b"tm_statistics_graph\0";
637pub const TM_STATISTICS_SOURCE_API_NAME: &'static [u8; 25usize] = b"tm_statistics_source_api\0";
638pub const TM_STB_IMAGE_LOADER_API_NAME: &'static [u8; 20usize] = b"tm_stb_image_loader\0";
639pub const TYPE__CAMERA_CONTROLLER_COMPONENT: &'static [u8; 42usize] =
640 b"the-machinery/camera_controller_component\0";
641pub const TM_CAMERA_CONTROLLER_COMPONENT_API_NAME: &'static [u8; 35usize] =
642 b"tm_camera_controller_component_api\0";
643pub const TM_MAX_VIEWER_SYSTEMS: u32 = 4;
644pub const TM_MAX_RENDER_COMPONENTS: u32 = 64;
645pub const TM_MAX_SHADER_DATA_COMPONENTS: u32 = 15;
646pub const TM_FRUSTUM_CULLING_API_NAME: &'static [u8; 23usize] = b"tm_frustum_culling_api\0";
647pub const TM_RENDER_CONTEXT_API_NAME: &'static [u8; 22usize] = b"tm_render_context_api\0";
648pub const TM_VIEWPORT_HUD_HEIGHT: f64 = 25.0;
649pub const TM_VIEWPORT_HUD_OUTER_MARGIN_X: f64 = 5.0;
650pub const TM_VIEWPORT_HUD_OUTER_MARGIN_Y: f64 = 5.0;
651pub const TM_VIEWPORT_HUD_INNER_MARGIN: f64 = 5.0;
652pub const TM_LIGHTING_ENVIRONEMENT_SEARCH_BUF_LEN: u32 = 1024;
653pub const TM_SCENE_COMMON_API_NAME: &'static [u8; 20usize] = b"tm_scene_common_api\0";
654pub const TM_VIEWER_API_NAME: &'static [u8; 14usize] = b"tm_viewer_api\0";
655pub const TM_VIEWER_MANAGER_API_NAME: &'static [u8; 22usize] = b"tm_viewer_manager_api\0";
656pub const TM_TT_TYPE__CLIPBOARD: &'static [u8; 13usize] = b"tm_clipboard\0";
657pub const TM_UI_CLIPBOARD_API_NAME: &'static [u8; 20usize] = b"tm_ui_clipboard_api\0";
658pub const TM_TAB_VT_INTERFACE_NAME: &'static [u8; 10usize] = b"tm_tab_vt\0";
659pub const TM_TT_TYPE__DOCKING_SETTINGS: &'static [u8; 20usize] = b"tm_docking_settings\0";
660pub const TM_DOCKING_API_NAME: &'static [u8; 15usize] = b"tm_docking_api\0";
661pub const TM_UI_DRAG_API_NAME: &'static [u8; 15usize] = b"tm_ui_drag_api\0";
662pub const TM_DRAW2D_API_NAME: &'static [u8; 14usize] = b"tm_draw2d_api\0";
663pub const TM_FONT_API_NAME: &'static [u8; 12usize] = b"tm_font_api\0";
664pub const TM_GIZMO_API_NAME: &'static [u8; 13usize] = b"tm_gizmo_api\0";
665pub const TM_MODAL_PROGRESS_DONE: u32 = 4294967295;
666pub const TM_UI_MODAL_API_NAME: &'static [u8; 16usize] = b"tm_ui_modal_api\0";
667pub const TM_SHAPE3D_API_NAME: &'static [u8; 15usize] = b"tm_shape3d_api\0";
668pub const TM_TT_TYPE__TOOLBAR_SETTINGS: &'static [u8; 20usize] = b"tm_toolbar_settings\0";
669pub const TM_TAB_TOOLBAR_STATE_SIZE: u32 = 4096;
670pub const TM_TTF_BAKER_API_NAME: &'static [u8; 17usize] = b"tm_ttf_baker_api\0";
671pub const TM_TT_TYPE__UI_THEME: &'static [u8; 12usize] = b"tm_ui_theme\0";
672pub const TM_TT_TYPE__UI_THEME_COLOR: &'static [u8; 18usize] = b"tm_ui_theme_color\0";
673pub const TM_UI_API_NAME: &'static [u8; 10usize] = b"tm_ui_api\0";
674pub const TM_UI_ICON_API_NAME: &'static [u8; 15usize] = b"tm_ui_icon_api\0";
675pub const TM_UI_RENDERER_API_NAME: &'static [u8; 15usize] = b"tm_ui_renderer\0";
676pub const TM_UI_TREE_API_NAME: &'static [u8; 15usize] = b"tm_ui_tree_api\0";
677pub const TM_UPNP_API_NAME: &'static [u8; 12usize] = b"tm_upnp_api\0";
678pub const TM_VULKAN_BACKEND_INTERFACE_NAME: &'static [u8; 20usize] = b"tm_vulkan_backend_i\0";
679pub const TM_VULKAN_BACKEND_INSTANCE_EXTENSIONS_INTERFACE_NAME: &'static [u8; 48usize] =
680 b"tm_vulkan_backend_instance_extensions_interface\0";
681pub const TM_VULKAN_BACKEND_DEVICE_EXTENSIONS_INTERFACE_NAME: &'static [u8; 46usize] =
682 b"tm_vulkan_backend_device_extensions_interface\0";
683pub const TM_VULKAN_API_NAME: &'static [u8; 14usize] = b"tm_vulkan_api\0";
684pub const TM_ASSET_BROWSER_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_asset_browser_tab\0";
685pub const TM_ASSET_BROWSER_TAB_CUSTOM_MENU_ITEMS_INTERFACE_NAME: &'static [u8; 41usize] =
686 b"tm_asset_browser_tab_custom_menu_items_i\0";
687pub const TM_ASSET_BROWSER_TAB_API_NAME: &'static [u8; 25usize] = b"tm_asset_browser_tab_api\0";
688pub const TM_CACHE_MANAGER_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_cache_manager_tab\0";
689pub const TM_CANVAS_TAB_VT_NAME: &'static [u8; 14usize] = b"tm_canvas_tab\0";
690pub const TM_COLLABORATION_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_collaboration_tab\0";
691pub const TM_CONSOLE_TAB_VT_NAME: &'static [u8; 15usize] = b"tm_console_tab\0";
692pub const TM_DELAUNAY_TAB_VT_NAME: &'static [u8; 16usize] = b"tm_delaunay_tab\0";
693pub const TM_DOWNLOAD_VT_NAME: &'static [u8; 16usize] = b"tm_download_tab\0";
694pub const TM_TT_TYPE__APPLICATION_SETTINGS__UPDATES: &'static [u8; 33usize] =
695 b"tm_application_settings__updates\0";
696pub const TM_TT_TYPE__APPLICATION_SETTINGS__DOWNLOAD: &'static [u8; 34usize] =
697 b"tm_application_settings__download\0";
698pub const TM_OLD_TREE_TAB_VT_NAME: &'static [u8; 12usize] = b"tm_tree_tab\0";
699pub const TM_ENTITY_TREE_VIEW_WIP_TAB_VT_NAME: &'static [u8; 21usize] = b"tm_tree_view_wip_tab\0";
700pub const TM_GRAPH_TAB_VT_NAME: &'static [u8; 13usize] = b"tm_graph_tab\0";
701pub const TM_IMPORT_PROJECT_TAB_VT_NAME: &'static [u8; 22usize] = b"tm_import_project_tab\0";
702pub const TM_INPUT_LOG_TAB_VT_NAME: &'static [u8; 17usize] = b"tm_input_log_tab\0";
703pub const TM_JSON_TAB_VT_NAME: &'static [u8; 12usize] = b"tm_json_tab\0";
704pub const TM_LOGIN_TAB_VT_NAME: &'static [u8; 13usize] = b"tm_login_tab\0";
705pub const TM_MODIFIED_ASSETS_TAB_VT_NAME: &'static [u8; 23usize] = b"tm_modified_assets_tab\0";
706pub const TM_PREVIEW_TAB_VT_NAME: &'static [u8; 15usize] = b"tm_preview_tab\0";
707pub const TM_PROFILER_TAB_VT_NAME: &'static [u8; 16usize] = b"tm_profiler_tab\0";
708pub const TM_PROPERTIES_TAB_VT_NAME: &'static [u8; 18usize] = b"tm_properties_tab\0";
709pub const TM_SCENE_TAB_VT_NAME: &'static [u8; 13usize] = b"tm_scene_tab\0";
710pub const TM_TT_TYPE__SCENE_TAB: &'static [u8; 13usize] = b"tm_scene_tab\0";
711pub const TM_TT_TYPE__SCENE_TAB_SETTINGS: &'static [u8; 22usize] = b"tm_scene_tab_settings\0";
712pub const TM_TT_TYPE__SCENE_SETTINGS: &'static [u8; 18usize] = b"tm_scene_settings\0";
713pub const TM_SIMULATE_TAB_VT_NAME: &'static [u8; 16usize] = b"tm_simulate_tab\0";
714pub const TM_STATE_GRAPH_TAB_VT_NAME: &'static [u8; 19usize] = b"tm_state_graph_tab\0";
715pub const TM_STATISTICS_TAB_VT_NAME: &'static [u8; 18usize] = b"tm_statistics_tab\0";
716pub const TM_TASK_MANAGER_API_NAME: &'static [u8; 20usize] = b"tm_task_manager_api\0";
717pub const TM_TASK_MANAGER_TAB_VT_NAME: &'static [u8; 20usize] = b"tm_task_manager_tab\0";
718pub const THE_MACHINERY_VERSION: &'static [u8; 8usize] = b"2020.11\0";
719pub const TM_TT_TYPE__APPLICATION_SETTINGS: &'static [u8; 24usize] = b"tm_application_settings\0";
720pub const TM_TT_TYPE__WINDOW_LAYOUTS: &'static [u8; 18usize] = b"tm_window_layouts\0";
721pub const TM_TT_TYPE__WINDOW_LAYOUT: &'static [u8; 17usize] = b"tm_window_layout\0";
722pub const TM_TT_TYPE__RECENT_FILE: &'static [u8; 15usize] = b"tm_recent_file\0";
723pub const TM_TT_TYPE__TABWELL: &'static [u8; 11usize] = b"tm_tabwell\0";
724pub const TM_TT_TYPE__TAB_VIEW: &'static [u8; 12usize] = b"tm_tab_view\0";
725pub const TM_TT_TYPE__PROJECT_SETTINGS: &'static [u8; 20usize] = b"tm_project_settings\0";
726pub const TM_TT_TYPE__INTERFACE_SETTINGS: &'static [u8; 22usize] = b"tm_interface_settings\0";
727pub const TM_TT_TYPE__PUBLISH_SETTINGS: &'static [u8; 20usize] = b"tm_publish_settings\0";
728pub const TM_TREE_VIEW_TAB_VT_NAME: &'static [u8; 17usize] = b"tm_tree_view_tab\0";
729pub const TM_UI_SAMPLE_TAB_VT_NAME: &'static [u8; 17usize] = b"tm_ui_sample_tab\0";
730pub type va_list = __builtin_va_list;
731pub type __gnuc_va_list = __builtin_va_list;
732extern "C" {
733 pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
734}
735pub type size_t = ::std::os::raw::c_ulonglong;
736pub type __vcrt_bool = bool;
737pub type wchar_t = ::std::os::raw::c_ushort;
738extern "C" {
739 pub fn __security_init_cookie();
740}
741extern "C" {
742 pub fn __security_check_cookie(_StackCookie: usize);
743}
744extern "C" {
745 pub fn __report_gsfailure(_StackCookie: usize);
746}
747extern "C" {
748 pub static mut __security_cookie: usize;
749}
750pub type int_least8_t = ::std::os::raw::c_schar;
751pub type int_least16_t = ::std::os::raw::c_short;
752pub type int_least32_t = ::std::os::raw::c_int;
753pub type int_least64_t = ::std::os::raw::c_longlong;
754pub type uint_least8_t = ::std::os::raw::c_uchar;
755pub type uint_least16_t = ::std::os::raw::c_ushort;
756pub type uint_least32_t = ::std::os::raw::c_uint;
757pub type uint_least64_t = ::std::os::raw::c_ulonglong;
758pub type int_fast8_t = ::std::os::raw::c_schar;
759pub type int_fast16_t = ::std::os::raw::c_int;
760pub type int_fast32_t = ::std::os::raw::c_int;
761pub type int_fast64_t = ::std::os::raw::c_longlong;
762pub type uint_fast8_t = ::std::os::raw::c_uchar;
763pub type uint_fast16_t = ::std::os::raw::c_uint;
764pub type uint_fast32_t = ::std::os::raw::c_uint;
765pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
766pub type intmax_t = ::std::os::raw::c_longlong;
767pub type uintmax_t = ::std::os::raw::c_ulonglong;
768#[repr(C)]
769#[derive(Copy, Clone)]
770pub struct tm_vec2_t {
771 pub x: f32,
772 pub y: f32,
773}
774#[repr(C)]
775#[derive(Copy, Clone)]
776pub struct tm_vec3_t {
777 pub x: f32,
778 pub y: f32,
779 pub z: f32,
780}
781#[repr(C)]
782#[derive(Copy, Clone)]
783pub struct tm_vec4_t {
784 pub x: f32,
785 pub y: f32,
786 pub z: f32,
787 pub w: f32,
788}
789#[repr(C)]
790#[derive(Copy, Clone)]
791pub struct tm_mat44_t {
792 pub xx: f32,
793 pub xy: f32,
794 pub xz: f32,
795 pub xw: f32,
796 pub yx: f32,
797 pub yy: f32,
798 pub yz: f32,
799 pub yw: f32,
800 pub zx: f32,
801 pub zy: f32,
802 pub zz: f32,
803 pub zw: f32,
804 pub wx: f32,
805 pub wy: f32,
806 pub wz: f32,
807 pub ww: f32,
808}
809#[repr(C)]
810#[derive(Copy, Clone)]
811pub struct tm_transform_t {
812 pub pos: tm_vec3_t,
813 pub rot: tm_vec4_t,
814 pub scl: tm_vec3_t,
815}
816#[repr(C)]
817#[derive(Copy, Clone)]
818pub struct tm_rect_t {
819 pub x: f32,
820 pub y: f32,
821 pub w: f32,
822 pub h: f32,
823}
824#[repr(C)]
825#[derive(Copy, Clone)]
826pub struct tm_clock_o {
827 pub opaque: u64,
828}
829#[repr(C)]
830#[derive(Copy, Clone)]
831pub struct tm_uuid_t {
832 pub a: u64,
833 pub b: u64,
834}
835#[repr(C)]
836#[derive(Copy, Clone)]
837pub struct tm_color_srgb_t {
838 pub r: u8,
839 pub g: u8,
840 pub b: u8,
841 pub a: u8,
842}
843#[repr(C)]
844#[derive(Copy, Clone)]
845pub struct tm_tt_id_t {
846 pub __bindgen_anon_1: tm_tt_id_t__bindgen_ty_1,
847}
848#[repr(C)]
849#[derive(Copy, Clone)]
850pub union tm_tt_id_t__bindgen_ty_1 {
851 pub u64_: u64,
852 pub __bindgen_anon_1: tm_tt_id_t__bindgen_ty_1__bindgen_ty_1,
853 _bindgen_union_align: u64,
854}
855#[repr(C)]
856#[repr(align(8))]
857#[derive(Copy, Clone)]
858pub struct tm_tt_id_t__bindgen_ty_1__bindgen_ty_1 {
859 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u32>,
860}
861impl tm_tt_id_t__bindgen_ty_1__bindgen_ty_1 {
862 #[inline]
863 pub fn type_(&self) -> u64 {
864 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u64) }
865 }
866 #[inline]
867 pub fn set_type(&mut self, val: u64) {
868 unsafe {
869 let val: u64 = ::std::mem::transmute(val);
870 self._bitfield_1.set(0usize, 10u8, val as u64)
871 }
872 }
873 #[inline]
874 pub fn generation(&self) -> u64 {
875 unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u64) }
876 }
877 #[inline]
878 pub fn set_generation(&mut self, val: u64) {
879 unsafe {
880 let val: u64 = ::std::mem::transmute(val);
881 self._bitfield_1.set(10usize, 22u8, val as u64)
882 }
883 }
884 #[inline]
885 pub fn index(&self) -> u64 {
886 unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 32u8) as u64) }
887 }
888 #[inline]
889 pub fn set_index(&mut self, val: u64) {
890 unsafe {
891 let val: u64 = ::std::mem::transmute(val);
892 self._bitfield_1.set(32usize, 32u8, val as u64)
893 }
894 }
895 #[inline]
896 pub fn new_bitfield_1(
897 type_: u64,
898 generation: u64,
899 index: u64,
900 ) -> __BindgenBitfieldUnit<[u8; 8usize], u32> {
901 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u32> =
902 Default::default();
903 __bindgen_bitfield_unit.set(0usize, 10u8, {
904 let type_: u64 = unsafe { ::std::mem::transmute(type_) };
905 type_ as u64
906 });
907 __bindgen_bitfield_unit.set(10usize, 22u8, {
908 let generation: u64 = unsafe { ::std::mem::transmute(generation) };
909 generation as u64
910 });
911 __bindgen_bitfield_unit.set(32usize, 32u8, {
912 let index: u64 = unsafe { ::std::mem::transmute(index) };
913 index as u64
914 });
915 __bindgen_bitfield_unit
916 }
917}
918#[repr(C)]
919#[derive(Copy, Clone)]
920pub struct tm_tt_undo_scope_t {
921 pub u64_: u64,
922}
923#[repr(C)]
924#[derive(Copy, Clone)]
925pub struct tm_allocator_o {
926 _unused: [u8; 0],
927}
928#[repr(C)]
929#[derive(Copy, Clone)]
930pub struct tm_allocator_i {
931 pub inst: *mut tm_allocator_o,
932 pub mem_scope: u32,
933 pub _padding_15: [::std::os::raw::c_char; 4usize],
934 pub realloc: ::std::option::Option<
935 unsafe extern "C" fn(
936 a: *mut tm_allocator_i,
937 ptr: *mut ::std::os::raw::c_void,
938 old_size: u64,
939 new_size: u64,
940 file: *const ::std::os::raw::c_char,
941 line: u32,
942 ) -> *mut ::std::os::raw::c_void,
943 >,
944}
945#[repr(C)]
946#[derive(Copy, Clone)]
947pub struct tm_allocator_statistics_t {
948 pub system_allocation_count: u64,
949 pub system_allocated_bytes: u64,
950 pub vm_reserved: u64,
951 pub vm_committed: u64,
952 pub system_churn_allocation_count: u64,
953 pub system_churn_allocated_bytes: u64,
954 pub vm_churn_committed: u64,
955}
956#[repr(C)]
957#[derive(Copy, Clone)]
958pub struct tm_allocator_api {
959 pub system: *mut tm_allocator_i,
960 pub end_of_page: *mut tm_allocator_i,
961 pub vm: *mut tm_allocator_i,
962 pub statistics: *mut tm_allocator_statistics_t,
963 pub create_child: ::std::option::Option<
964 unsafe extern "C" fn(
965 parent: *const tm_allocator_i,
966 desc: *const ::std::os::raw::c_char,
967 ) -> tm_allocator_i,
968 >,
969 pub destroy_child: ::std::option::Option<unsafe extern "C" fn(child: *const tm_allocator_i)>,
970 pub destroy_child_allowing_leaks: ::std::option::Option<
971 unsafe extern "C" fn(child: *const tm_allocator_i, max_leaked_bytes: u64),
972 >,
973 pub create_leaky_root_scope: ::std::option::Option<
974 unsafe extern "C" fn(
975 parent: *const tm_allocator_i,
976 desc: *const ::std::os::raw::c_char,
977 ) -> tm_allocator_i,
978 >,
979 pub create_fixed_vm: ::std::option::Option<
980 unsafe extern "C" fn(reserve_size: u64, mem_scope: u32) -> tm_allocator_i,
981 >,
982}
983#[repr(C)]
984#[derive(Copy, Clone)]
985pub struct tm_api_registry_listener_i {
986 pub ud: *mut ::std::os::raw::c_void,
987 pub add_implementation: ::std::option::Option<
988 unsafe extern "C" fn(
989 ud: *mut ::std::os::raw::c_void,
990 name: *const ::std::os::raw::c_char,
991 implementation: *mut ::std::os::raw::c_void,
992 ),
993 >,
994}
995#[repr(C)]
996#[derive(Copy, Clone)]
997pub struct tm_api_registry_api {
998 pub set: ::std::option::Option<
999 unsafe extern "C" fn(
1000 name: *const ::std::os::raw::c_char,
1001 api: *mut ::std::os::raw::c_void,
1002 bytes: u32,
1003 ),
1004 >,
1005 pub remove: ::std::option::Option<unsafe extern "C" fn(api: *mut ::std::os::raw::c_void)>,
1006 pub get: ::std::option::Option<
1007 unsafe extern "C" fn(name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_void,
1008 >,
1009 pub get_optional: ::std::option::Option<
1010 unsafe extern "C" fn(name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_void,
1011 >,
1012 pub add_implementation: ::std::option::Option<
1013 unsafe extern "C" fn(
1014 name: *const ::std::os::raw::c_char,
1015 implementation: *mut ::std::os::raw::c_void,
1016 ),
1017 >,
1018 pub remove_implementation: ::std::option::Option<
1019 unsafe extern "C" fn(
1020 name: *const ::std::os::raw::c_char,
1021 implementation: *mut ::std::os::raw::c_void,
1022 ),
1023 >,
1024 pub implementations: ::std::option::Option<
1025 unsafe extern "C" fn(
1026 name: *const ::std::os::raw::c_char,
1027 count: *mut u32,
1028 ) -> *mut *mut ::std::os::raw::c_void,
1029 >,
1030 pub add_listener:
1031 ::std::option::Option<unsafe extern "C" fn(listener: *const tm_api_registry_listener_i)>,
1032 pub static_variable: ::std::option::Option<
1033 unsafe extern "C" fn(
1034 id: u64,
1035 size: u32,
1036 file: *const ::std::os::raw::c_char,
1037 line: u32,
1038 ) -> *mut ::std::os::raw::c_void,
1039 >,
1040 pub log_missing_apis: ::std::option::Option<unsafe extern "C" fn()>,
1041}
1042#[repr(C)]
1043#[derive(Copy, Clone)]
1044pub struct tm_ui_o {
1045 _unused: [u8; 0],
1046}
1047#[repr(C)]
1048#[derive(Copy, Clone)]
1049pub struct tm_viewer_o {
1050 _unused: [u8; 0],
1051}
1052#[repr(C)]
1053#[derive(Copy, Clone)]
1054pub struct tm_application_o {
1055 _unused: [u8; 0],
1056}
1057pub type tm_application_modal_f = ::std::option::Option<
1058 unsafe extern "C" fn(
1059 data: *mut ::std::os::raw::c_void,
1060 ui: *mut tm_ui_o,
1061 rect: tm_rect_t,
1062 font: u32,
1063 font_info: *const tm_font_t,
1064 font_scale: f32,
1065 ui_has_focus: bool,
1066 ) -> bool,
1067>;
1068#[repr(C)]
1069#[derive(Copy, Clone)]
1070pub struct tm_application_api {
1071 pub application: ::std::option::Option<unsafe extern "C" fn() -> *mut tm_application_o>,
1072 pub create: ::std::option::Option<
1073 unsafe extern "C" fn(
1074 argc: ::std::os::raw::c_int,
1075 argv: *mut *mut ::std::os::raw::c_char,
1076 ) -> *mut tm_application_o,
1077 >,
1078 pub tick: ::std::option::Option<unsafe extern "C" fn(app: *mut tm_application_o) -> bool>,
1079 pub destroy: ::std::option::Option<unsafe extern "C" fn(app: *mut tm_application_o)>,
1080 pub set_modal: ::std::option::Option<
1081 unsafe extern "C" fn(
1082 app: *mut tm_application_o,
1083 f: tm_application_modal_f,
1084 data: *mut ::std::os::raw::c_void,
1085 ),
1086 >,
1087 pub is_modal: ::std::option::Option<unsafe extern "C" fn(app: *const tm_application_o) -> bool>,
1088 pub asset_root:
1089 ::std::option::Option<unsafe extern "C" fn(app: *const tm_application_o) -> tm_tt_id_t>,
1090 pub load_core:
1091 ::std::option::Option<unsafe extern "C" fn(app: *const tm_application_o) -> bool>,
1092 pub update_core:
1093 ::std::option::Option<unsafe extern "C" fn(app: *const tm_application_o) -> bool>,
1094 pub set_cursor_hidden:
1095 ::std::option::Option<unsafe extern "C" fn(app: *mut tm_application_o, hidden: bool)>,
1096 pub exit: ::std::option::Option<unsafe extern "C" fn(app: *mut tm_application_o)>,
1097 pub viewer_manager: ::std::option::Option<
1098 unsafe extern "C" fn(app: *mut tm_application_o) -> *mut tm_viewer_manager_o,
1099 >,
1100 pub default_render_pipeline_api: ::std::option::Option<
1101 unsafe extern "C" fn(app: *mut tm_application_o) -> *mut tm_render_pipeline_api,
1102 >,
1103 pub ui_scale_factor: ::std::option::Option<
1104 unsafe extern "C" fn(app: *mut tm_application_o, ui: *mut tm_ui_o) -> f32,
1105 >,
1106}
1107#[repr(C)]
1108#[derive(Copy, Clone)]
1109pub struct tm_the_truth_o {
1110 _unused: [u8; 0],
1111}
1112#[repr(C)]
1113#[derive(Copy, Clone)]
1114pub struct tm_asset_database_config_t {
1115 pub allocator: *mut tm_allocator_i,
1116 pub fs: *mut tm_os_file_system_api,
1117 pub file_io: *mut tm_os_file_io_api,
1118}
1119#[repr(C)]
1120#[derive(Copy, Clone)]
1121pub struct tm_asset_dabase_saved_item_t {
1122 pub uuid: tm_uuid_t,
1123 pub is_directory: bool,
1124 pub _padding_30: [::std::os::raw::c_char; 7usize],
1125}
1126#[repr(C)]
1127#[derive(Copy, Clone)]
1128pub struct tm_asset_database_o {
1129 _unused: [u8; 0],
1130}
1131#[repr(C)]
1132#[derive(Copy, Clone)]
1133pub struct tm_asset_database_api {
1134 pub create: ::std::option::Option<
1135 unsafe extern "C" fn(
1136 file: *const ::std::os::raw::c_char,
1137 tt: *mut tm_the_truth_o,
1138 config: *const tm_asset_database_config_t,
1139 ) -> *mut tm_asset_database_o,
1140 >,
1141 pub open: ::std::option::Option<
1142 unsafe extern "C" fn(
1143 file: *const ::std::os::raw::c_char,
1144 tt: *mut tm_the_truth_o,
1145 config: *const tm_asset_database_config_t,
1146 ) -> *mut tm_asset_database_o,
1147 >,
1148 pub close: ::std::option::Option<unsafe extern "C" fn(db: *mut tm_asset_database_o)>,
1149 pub save_modified: ::std::option::Option<
1150 unsafe extern "C" fn(db: *mut tm_asset_database_o, asset_root: tm_tt_id_t),
1151 >,
1152 pub save_modified_except: ::std::option::Option<
1153 unsafe extern "C" fn(
1154 db: *mut tm_asset_database_o,
1155 asset_root: tm_tt_id_t,
1156 ignore: *mut tm_tt_id_t,
1157 num_ignore: u32,
1158 ),
1159 >,
1160 pub save_asset: ::std::option::Option<
1161 unsafe extern "C" fn(db: *mut tm_asset_database_o, asset: tm_tt_id_t),
1162 >,
1163 pub delete_asset: ::std::option::Option<
1164 unsafe extern "C" fn(db: *mut tm_asset_database_o, asset: tm_tt_id_t),
1165 >,
1166 pub revert_asset: ::std::option::Option<
1167 unsafe extern "C" fn(
1168 db: *mut tm_asset_database_o,
1169 asset: tm_tt_id_t,
1170 undo_scope: tm_tt_undo_scope_t,
1171 ) -> bool,
1172 >,
1173 pub load:
1174 ::std::option::Option<unsafe extern "C" fn(db: *mut tm_asset_database_o) -> tm_tt_id_t>,
1175 pub saved_name: ::std::option::Option<
1176 unsafe extern "C" fn(
1177 db: *mut tm_asset_database_o,
1178 item: tm_uuid_t,
1179 ) -> *const ::std::os::raw::c_char,
1180 >,
1181 pub saved_directory: ::std::option::Option<
1182 unsafe extern "C" fn(db: *mut tm_asset_database_o, item: tm_uuid_t) -> tm_uuid_t,
1183 >,
1184 pub saved_version: ::std::option::Option<
1185 unsafe extern "C" fn(db: *mut tm_asset_database_o, asset: tm_uuid_t) -> u64,
1186 >,
1187 pub all_saved_items: ::std::option::Option<
1188 unsafe extern "C" fn(
1189 db: *mut tm_asset_database_o,
1190 ta: *mut tm_temp_allocator_i,
1191 ) -> *mut tm_asset_dabase_saved_item_t,
1192 >,
1193}
1194#[repr(C)]
1195#[derive(Copy, Clone)]
1196pub struct tm_asset_io_import {
1197 pub allocator: *mut tm_allocator_i,
1198 pub tt: *mut tm_the_truth_o,
1199 pub reimport_into: tm_tt_id_t,
1200 pub target_dir: tm_tt_id_t,
1201 pub asset_root: tm_tt_id_t,
1202 pub ui: *mut tm_ui_o,
1203 pub asset_browser: tm_tt_id_t,
1204 pub asset_browser_version_at_start: u64,
1205 pub undo_scope: tm_tt_undo_scope_t,
1206}
1207#[repr(C)]
1208#[derive(Copy, Clone)]
1209pub struct tm_asset_io_i {
1210 pub inst: *mut tm_asset_io_o,
1211 pub enabled: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_asset_io_o) -> bool>,
1212 pub can_import: ::std::option::Option<
1213 unsafe extern "C" fn(
1214 inst: *mut tm_asset_io_o,
1215 extension: *const ::std::os::raw::c_char,
1216 ) -> bool,
1217 >,
1218 pub can_reimport: ::std::option::Option<
1219 unsafe extern "C" fn(
1220 inst: *mut tm_asset_io_o,
1221 tt: *mut tm_the_truth_o,
1222 asset: tm_tt_id_t,
1223 ) -> bool,
1224 >,
1225 pub importer_extensions_string: ::std::option::Option<
1226 unsafe extern "C" fn(
1227 inst: *mut tm_asset_io_o,
1228 output: *mut *mut ::std::os::raw::c_char,
1229 ta: *mut tm_temp_allocator_i,
1230 separator: *const ::std::os::raw::c_char,
1231 ),
1232 >,
1233 pub importer_description_string: ::std::option::Option<
1234 unsafe extern "C" fn(
1235 inst: *mut tm_asset_io_o,
1236 output: *mut *mut ::std::os::raw::c_char,
1237 ta: *mut tm_temp_allocator_i,
1238 separator: *const ::std::os::raw::c_char,
1239 ),
1240 >,
1241 pub import_asset: ::std::option::Option<
1242 unsafe extern "C" fn(
1243 inst: *mut tm_asset_io_o,
1244 file: *const ::std::os::raw::c_char,
1245 import: *const tm_asset_io_import,
1246 ) -> u64,
1247 >,
1248 pub can_export: ::std::option::Option<
1249 unsafe extern "C" fn(
1250 inst: *mut tm_asset_io_o,
1251 tt: *mut tm_the_truth_o,
1252 asset: tm_tt_id_t,
1253 ) -> bool,
1254 >,
1255 pub exporter_extension: ::std::option::Option<
1256 unsafe extern "C" fn(
1257 inst: *mut tm_asset_io_o,
1258 tt: *mut tm_the_truth_o,
1259 asset: tm_tt_id_t,
1260 ) -> *const ::std::os::raw::c_char,
1261 >,
1262 pub export_asset: ::std::option::Option<
1263 unsafe extern "C" fn(
1264 inst: *mut tm_asset_io_o,
1265 file: *const ::std::os::raw::c_char,
1266 tt: *mut tm_the_truth_o,
1267 asset_root: tm_tt_id_t,
1268 asset: tm_tt_id_t,
1269 ),
1270 >,
1271}
1272#[repr(C)]
1273#[derive(Copy, Clone)]
1274pub struct tm_asset_io_api {
1275 pub add_asset_io: ::std::option::Option<unsafe extern "C" fn(loader: *mut tm_asset_io_i)>,
1276 pub remove_asset_io: ::std::option::Option<unsafe extern "C" fn(loader: *mut tm_asset_io_i)>,
1277 pub importer: ::std::option::Option<
1278 unsafe extern "C" fn(extension: *const ::std::os::raw::c_char) -> *mut tm_asset_io_i,
1279 >,
1280 pub reimporter: ::std::option::Option<
1281 unsafe extern "C" fn(tt: *mut tm_the_truth_o, asset: tm_tt_id_t) -> *mut tm_asset_io_i,
1282 >,
1283 pub exporter: ::std::option::Option<
1284 unsafe extern "C" fn(tt: *mut tm_the_truth_o, asset: tm_tt_id_t) -> *mut tm_asset_io_i,
1285 >,
1286 pub io_interfaces:
1287 ::std::option::Option<unsafe extern "C" fn(interfaces: *mut *mut tm_asset_io_i) -> u32>,
1288}
1289#[repr(C)]
1290#[derive(Copy, Clone)]
1291pub struct tm_base_64_api {
1292 pub encoded_size: ::std::option::Option<unsafe extern "C" fn(raw_size: u64) -> u64>,
1293 pub encode: ::std::option::Option<
1294 unsafe extern "C" fn(
1295 encoded: *mut ::std::os::raw::c_char,
1296 raw: *const u8,
1297 raw_size: u64,
1298 ) -> u64,
1299 >,
1300 pub decoded_size: ::std::option::Option<
1301 unsafe extern "C" fn(encoded: *const ::std::os::raw::c_char, encoded_size: u64) -> u64,
1302 >,
1303 pub decode: ::std::option::Option<
1304 unsafe extern "C" fn(
1305 raw: *mut u8,
1306 encoded: *const ::std::os::raw::c_char,
1307 encoded_size: u64,
1308 ) -> u64,
1309 >,
1310}
1311pub const tm_bounding_volume_type_TM_BOUNDING_VOLUME_TYPE_SPHERE: tm_bounding_volume_type = 0;
1312pub const tm_bounding_volume_type_TM_BOUNDING_VOLUME_TYPE_BOX: tm_bounding_volume_type = 1;
1313pub type tm_bounding_volume_type = ::std::os::raw::c_int;
1314#[repr(C)]
1315#[derive(Copy, Clone)]
1316pub struct tm_bounding_volume_sphere_t {
1317 pub visibility_mask: u64,
1318 pub culling_disabled: bool,
1319 pub _padding_16: [::std::os::raw::c_char; 3usize],
1320 pub position: tm_vec3_t,
1321 pub radius: f32,
1322 pub _padding_19: [::std::os::raw::c_char; 4usize],
1323}
1324#[repr(C)]
1325#[derive(Copy, Clone)]
1326pub struct tm_bounding_volume_box_t {
1327 pub visibility_mask: u64,
1328 pub culling_disabled: bool,
1329 pub _padding_26: [::std::os::raw::c_char; 3usize],
1330 pub tm: tm_mat44_t,
1331 pub min: tm_vec3_t,
1332 pub max: tm_vec3_t,
1333 pub _padding_30: [::std::os::raw::c_char; 4usize],
1334}
1335#[repr(C)]
1336#[derive(Copy, Clone)]
1337pub struct tm_buddy_allocator_raw_api {
1338 pub init:
1339 ::std::option::Option<unsafe extern "C" fn(buffer: *mut u8, size: u32, block_size: u32)>,
1340 pub realloc: ::std::option::Option<
1341 unsafe extern "C" fn(
1342 buffer: *mut u8,
1343 ptr: *mut ::std::os::raw::c_void,
1344 old_size: u64,
1345 new_size: u64,
1346 ) -> *mut ::std::os::raw::c_void,
1347 >,
1348}
1349#[repr(C)]
1350#[derive(Copy, Clone)]
1351pub struct tm_buddy_allocator_api {
1352 pub create: ::std::option::Option<
1353 unsafe extern "C" fn(
1354 backing: *mut tm_allocator_i,
1355 initial_size: u32,
1356 block_size: u32,
1357 ) -> *mut tm_allocator_i,
1358 >,
1359 pub destroy: ::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i)>,
1360}
1361#[repr(C)]
1362#[derive(Copy, Clone)]
1363pub struct tm_buffers_o {
1364 _unused: [u8; 0],
1365}
1366#[repr(C)]
1367#[derive(Copy, Clone)]
1368pub struct tm_buffers_i {
1369 pub inst: *mut tm_buffers_o,
1370 pub allocate: ::std::option::Option<
1371 unsafe extern "C" fn(
1372 inst: *mut tm_buffers_o,
1373 size: u64,
1374 initialize: *const ::std::os::raw::c_void,
1375 ) -> *mut ::std::os::raw::c_void,
1376 >,
1377 pub add: ::std::option::Option<
1378 unsafe extern "C" fn(
1379 inst: *mut tm_buffers_o,
1380 data: *const ::std::os::raw::c_void,
1381 size: u64,
1382 hash: u64,
1383 ) -> u32,
1384 >,
1385 pub retain: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_buffers_o, id: u32)>,
1386 pub release: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_buffers_o, id: u32)>,
1387 pub get: ::std::option::Option<
1388 unsafe extern "C" fn(
1389 inst: *const tm_buffers_o,
1390 id: u32,
1391 size: *mut u64,
1392 ) -> *const ::std::os::raw::c_void,
1393 >,
1394 pub size:
1395 ::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, id: u32) -> u64>,
1396 pub hash:
1397 ::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, id: u32) -> u64>,
1398 pub lookup:
1399 ::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, hash: u64) -> u32>,
1400 pub debug__refcount:
1401 ::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, id: u32) -> u32>,
1402}
1403#[repr(C)]
1404#[derive(Copy, Clone)]
1405pub struct tm_streamable_buffers_i {
1406 pub __bindgen_padding_0: [u64; 10usize],
1407 pub map: ::std::option::Option<
1408 unsafe extern "C" fn(
1409 inst: *mut tm_buffers_o,
1410 path: *const ::std::os::raw::c_char,
1411 offset: u64,
1412 size: u64,
1413 hash: u64,
1414 ) -> u32,
1415 >,
1416 pub map_database: ::std::option::Option<
1417 unsafe extern "C" fn(
1418 inst: *mut tm_buffers_o,
1419 hash: u64,
1420 size: u64,
1421 file: *const tm_file_o,
1422 page_size: u32,
1423 page_header_size: u32,
1424 first_page: u32,
1425 ) -> u32,
1426 >,
1427 pub is_mapped:
1428 ::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, id: u32) -> bool>,
1429 pub is_loaded:
1430 ::std::option::Option<unsafe extern "C" fn(inst: *const tm_buffers_o, id: u32) -> bool>,
1431 pub unload: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_buffers_o, id: u32)>,
1432 pub save: ::std::option::Option<
1433 unsafe extern "C" fn(
1434 inst: *mut tm_buffers_o,
1435 id: u32,
1436 path: *const ::std::os::raw::c_char,
1437 offset: u64,
1438 ),
1439 >,
1440 pub background_load_all: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_buffers_o)>,
1441 pub ensure_all_loaded: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_buffers_o)>,
1442 pub set_io: ::std::option::Option<
1443 unsafe extern "C" fn(inst: *mut tm_buffers_o, io: *mut tm_os_file_io_api),
1444 >,
1445}
1446#[repr(C)]
1447#[derive(Copy, Clone)]
1448pub struct tm_buffers_api {
1449 pub create:
1450 ::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i) -> *mut tm_buffers_i>,
1451 pub destroy: ::std::option::Option<unsafe extern "C" fn(i: *mut tm_buffers_i)>,
1452 pub create_streamable: ::std::option::Option<
1453 unsafe extern "C" fn(
1454 a: *mut tm_allocator_i,
1455 io: *mut tm_os_file_io_api,
1456 ) -> *mut tm_streamable_buffers_i,
1457 >,
1458 pub destroy_streamable:
1459 ::std::option::Option<unsafe extern "C" fn(i: *mut tm_streamable_buffers_i)>,
1460}
1461pub const tm_buffer_component_type_TM_BUFFER_COMPONENT_TYPE_FLOAT: tm_buffer_component_type = 0;
1462pub const tm_buffer_component_type_TM_BUFFER_COMPONENT_TYPE_NORMALIZED_INTEGER:
1463 tm_buffer_component_type = 1;
1464pub const tm_buffer_component_type_TM_BUFFER_COMPONENT_TYPE_INTEGER: tm_buffer_component_type = 2;
1465pub const tm_buffer_component_type_TM_BUFFER_COMPONENT_TYPE_DEPTH_STENCIL:
1466 tm_buffer_component_type = 3;
1467pub type tm_buffer_component_type = ::std::os::raw::c_int;
1468pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC1_RGB:
1469 tm_buffer_compression_format = 0;
1470pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC1_RGBA:
1471 tm_buffer_compression_format = 1;
1472pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC2:
1473 tm_buffer_compression_format = 2;
1474pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC3:
1475 tm_buffer_compression_format = 3;
1476pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC4:
1477 tm_buffer_compression_format = 4;
1478pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC5:
1479 tm_buffer_compression_format = 5;
1480pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC6H_U:
1481 tm_buffer_compression_format = 6;
1482pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC6H_S:
1483 tm_buffer_compression_format = 7;
1484pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_BC7:
1485 tm_buffer_compression_format = 8;
1486pub const tm_buffer_compression_format_TM_BUFFER_COMPRESSION_FORMAT_MAX_FORMATS:
1487 tm_buffer_compression_format = 9;
1488pub type tm_buffer_compression_format = ::std::os::raw::c_int;
1489#[repr(C)]
1490#[derive(Copy, Clone)]
1491pub struct tm_buffer_format_api {
1492 pub encode_uncompressed_format: ::std::option::Option<
1493 unsafe extern "C" fn(
1494 component_type: u32,
1495 sign: bool,
1496 bits_x: u8,
1497 bits_y: u8,
1498 bits_z: u8,
1499 bits_w: u8,
1500 ) -> u32,
1501 >,
1502 pub encode_compressed_format:
1503 ::std::option::Option<unsafe extern "C" fn(compression_type: u32) -> u32>,
1504 pub is_compressed: ::std::option::Option<unsafe extern "C" fn(format: u32) -> bool>,
1505 pub decode_uncompressed: ::std::option::Option<
1506 unsafe extern "C" fn(
1507 format: u32,
1508 component_type: *mut u32,
1509 sign: *mut bool,
1510 bits_x: *mut u8,
1511 bits_y: *mut u8,
1512 bits_z: *mut u8,
1513 bits_w: *mut u8,
1514 ) -> bool,
1515 >,
1516 pub decode_compression_format: ::std::option::Option<
1517 unsafe extern "C" fn(format: u32, compression_format: *mut u32) -> bool,
1518 >,
1519 pub bits_per_element: ::std::option::Option<unsafe extern "C" fn(format: u32) -> u32>,
1520 pub num_components: ::std::option::Option<unsafe extern "C" fn(format: u32) -> u32>,
1521 pub human_readable: ::std::option::Option<
1522 unsafe extern "C" fn(
1523 format: u32,
1524 ta: *mut tm_temp_allocator_i,
1525 ) -> *const ::std::os::raw::c_char,
1526 >,
1527}
1528pub const tm_camera_transform_TM_CAMERA_TRANSFORM_DEFAULT: tm_camera_transform = 0;
1529pub const tm_camera_transform_TM_CAMERA_TRANSFORM_EYE_LEFT: tm_camera_transform = 1;
1530pub const tm_camera_transform_TM_CAMERA_TRANSFORM_EYE_RIGHT: tm_camera_transform = 2;
1531pub const tm_camera_transform_TM_CAMERA_TRANSFORM_MAX_TRANSFORMS: tm_camera_transform = 3;
1532pub type tm_camera_transform = ::std::os::raw::c_int;
1533#[repr(C)]
1534#[derive(Copy, Clone)]
1535pub struct tm_camera_t {
1536 pub projection: [tm_mat44_t; 3usize],
1537 pub view: [tm_mat44_t; 3usize],
1538 pub near_plane: f32,
1539 pub far_plane: f32,
1540 pub vertical_fov: f32,
1541}
1542#[repr(C)]
1543#[derive(Copy, Clone)]
1544pub struct tm_camera_api {
1545 pub view_from_transform: ::std::option::Option<
1546 unsafe extern "C" fn(view: *mut tm_mat44_t, tm: *const tm_transform_t) -> *mut tm_mat44_t,
1547 >,
1548 pub transform_from_view: ::std::option::Option<
1549 unsafe extern "C" fn(
1550 tm: *mut tm_transform_t,
1551 view: *const tm_mat44_t,
1552 ) -> *mut tm_transform_t,
1553 >,
1554 pub projection_from_frustum: ::std::option::Option<
1555 unsafe extern "C" fn(
1556 proj: *mut tm_mat44_t,
1557 left: f32,
1558 right: f32,
1559 bottom: f32,
1560 top: f32,
1561 near: f32,
1562 far: f32,
1563 ) -> *mut tm_mat44_t,
1564 >,
1565 pub projection_from_fov: ::std::option::Option<
1566 unsafe extern "C" fn(
1567 proj: *mut tm_mat44_t,
1568 near_plane: f32,
1569 far_plane: f32,
1570 vertical_fov: f32,
1571 aspect: f32,
1572 ) -> *mut tm_mat44_t,
1573 >,
1574 pub orthographic_from_frustum: ::std::option::Option<
1575 unsafe extern "C" fn(
1576 proj: *mut tm_mat44_t,
1577 left: f32,
1578 right: f32,
1579 bottom: f32,
1580 top: f32,
1581 near: f32,
1582 far: f32,
1583 ) -> *mut tm_mat44_t,
1584 >,
1585 pub update_free_flight: ::std::option::Option<
1586 unsafe extern "C" fn(tm: *mut tm_transform_t, t: tm_vec3_t, r: tm_vec2_t),
1587 >,
1588 pub update_pan: ::std::option::Option<
1589 unsafe extern "C" fn(
1590 tm: *mut tm_transform_t,
1591 focus_position: *mut tm_vec3_t,
1592 pan: tm_vec2_t,
1593 ),
1594 >,
1595 pub update_maya: ::std::option::Option<
1596 unsafe extern "C" fn(
1597 tm: *mut tm_transform_t,
1598 focus_position: tm_vec3_t,
1599 zoom: f32,
1600 rot: tm_vec2_t,
1601 ),
1602 >,
1603 pub world_to_screen: ::std::option::Option<
1604 unsafe extern "C" fn(
1605 camera: *const tm_camera_t,
1606 transform: tm_camera_transform,
1607 viewport: tm_rect_t,
1608 world: *const tm_vec3_t,
1609 screen: *mut tm_vec3_t,
1610 n: u32,
1611 ) -> *mut tm_vec3_t,
1612 >,
1613 pub screen_to_world: ::std::option::Option<
1614 unsafe extern "C" fn(
1615 camera: *const tm_camera_t,
1616 transform: tm_camera_transform,
1617 viewport: tm_rect_t,
1618 screen: *const tm_vec3_t,
1619 world: *mut tm_vec3_t,
1620 n: u32,
1621 ) -> *mut tm_vec3_t,
1622 >,
1623 pub meters_per_pixel: ::std::option::Option<
1624 unsafe extern "C" fn(distance: f32, vertical_fov: f32, viewport_height: f32) -> f32,
1625 >,
1626}
1627pub const tm_collaboration_status_TM_COLLABORATION_STATUS_DISCONNECTED: tm_collaboration_status = 0;
1628pub const tm_collaboration_status_TM_COLLABORATION_STATUS_HOST_STARTING: tm_collaboration_status =
1629 1;
1630pub const tm_collaboration_status_TM_COLLABORATION_STATUS_HOST: tm_collaboration_status = 2;
1631pub const tm_collaboration_status_TM_COLLABORATION_STATUS_CONNECTING: tm_collaboration_status = 3;
1632pub const tm_collaboration_status_TM_COLLABORATION_STATUS_CLIENT: tm_collaboration_status = 4;
1633pub const tm_collaboration_status_TM_COLLABORATION_STATUS_ERROR: tm_collaboration_status = 5;
1634pub type tm_collaboration_status = ::std::os::raw::c_int;
1635#[repr(C)]
1636#[derive(Copy, Clone)]
1637pub struct tm_collaboration_config_t {
1638 pub tt: *mut tm_the_truth_o,
1639 pub ud: *mut ::std::os::raw::c_void,
1640 pub host_save_state: ::std::option::Option<
1641 unsafe extern "C" fn(
1642 ud: *mut ::std::os::raw::c_void,
1643 carray: *mut *mut ::std::os::raw::c_char,
1644 a: *mut tm_allocator_i,
1645 ),
1646 >,
1647 pub client_reset_truth: ::std::option::Option<
1648 unsafe extern "C" fn(ud: *mut ::std::os::raw::c_void) -> *mut tm_the_truth_o,
1649 >,
1650 pub client_decompress_state: ::std::option::Option<
1651 unsafe extern "C" fn(
1652 app_ud: *mut ::std::os::raw::c_void,
1653 state: *const ::std::os::raw::c_char,
1654 size: u64,
1655 allocator: *mut tm_allocator_i,
1656 ) -> *mut ::std::os::raw::c_char,
1657 >,
1658 pub client_buffer_hashes: ::std::option::Option<
1659 unsafe extern "C" fn(
1660 ud: *mut ::std::os::raw::c_void,
1661 state: *const ::std::os::raw::c_char,
1662 size: u64,
1663 count: *mut u64,
1664 ) -> *const u64,
1665 >,
1666 pub client_load_state: ::std::option::Option<
1667 unsafe extern "C" fn(
1668 ud: *mut ::std::os::raw::c_void,
1669 state: *const ::std::os::raw::c_char,
1670 size: u64,
1671 ) -> bool,
1672 >,
1673 pub cache_dir: *const ::std::os::raw::c_char,
1674}
1675pub const tm_collaboration_session_type_TM_COLLABORATION_SESSION_TYPE_NONE:
1676 tm_collaboration_session_type = 0;
1677pub const tm_collaboration_session_type_TM_COLLABORATION_SESSION_TYPE_HOST:
1678 tm_collaboration_session_type = 1;
1679pub const tm_collaboration_session_type_TM_COLLABORATION_SESSION_TYPE_CLIENT:
1680 tm_collaboration_session_type = 2;
1681pub type tm_collaboration_session_type = ::std::os::raw::c_int;
1682pub const tm_collaboration_session_status_TM_COLLABORATION_SESSION_STATUS_DISCONNECTED:
1683 tm_collaboration_session_status = 0;
1684pub const tm_collaboration_session_status_TM_COLLABORATION_SESSION_STATUS_CONNECTING:
1685 tm_collaboration_session_status = 1;
1686pub const tm_collaboration_session_status_TM_COLLABORATION_SESSION_STATUS_CONNECTED:
1687 tm_collaboration_session_status = 2;
1688pub const tm_collaboration_session_status_TM_COLLABORATION_SESSION_STATUS_ERROR:
1689 tm_collaboration_session_status = 3;
1690pub type tm_collaboration_session_status = ::std::os::raw::c_int;
1691#[repr(C)]
1692#[derive(Copy, Clone)]
1693pub struct tm_collaboration_session_o {
1694 _unused: [u8; 0],
1695}
1696#[repr(C)]
1697#[derive(Copy, Clone)]
1698pub struct tm_collaboration_session_i {
1699 pub inst: *mut tm_collaboration_session_o,
1700 pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_session_o)>,
1701 pub architecture:
1702 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_session_o) -> u64>,
1703 pub host_id:
1704 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_session_o) -> u64>,
1705 pub get_client_request: ::std::option::Option<
1706 unsafe extern "C" fn(inst: *mut tm_collaboration_session_o, client_id: *mut u64) -> bool,
1707 >,
1708 pub accept_client: ::std::option::Option<
1709 unsafe extern "C" fn(inst: *mut tm_collaboration_session_o, client_id: u64),
1710 >,
1711 pub send: ::std::option::Option<
1712 unsafe extern "C" fn(
1713 inst: *mut tm_collaboration_session_o,
1714 client_id: u64,
1715 buf: *const u8,
1716 size: u64,
1717 ),
1718 >,
1719 pub flush: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_session_o)>,
1720 pub update: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_session_o)>,
1721 pub get_package_data: ::std::option::Option<
1722 unsafe extern "C" fn(
1723 inst: *mut tm_collaboration_session_o,
1724 client_id: u64,
1725 data: *mut u8,
1726 size: *mut u64,
1727 ) -> bool,
1728 >,
1729 pub close_client: ::std::option::Option<
1730 unsafe extern "C" fn(inst: *mut tm_collaboration_session_o, client_id: u64),
1731 >,
1732 pub send_ping: ::std::option::Option<
1733 unsafe extern "C" fn(inst: *mut tm_collaboration_session_o, client_id: u64),
1734 >,
1735 pub type_: ::std::option::Option<
1736 unsafe extern "C" fn(
1737 inst: *mut tm_collaboration_session_o,
1738 ) -> tm_collaboration_session_type,
1739 >,
1740 pub status: ::std::option::Option<
1741 unsafe extern "C" fn(
1742 inst: *mut tm_collaboration_session_o,
1743 ) -> tm_collaboration_session_status,
1744 >,
1745 pub is_client_alive: ::std::option::Option<
1746 unsafe extern "C" fn(inst: *mut tm_collaboration_session_o, client_id: u64) -> bool,
1747 >,
1748 pub receive_progress: ::std::option::Option<
1749 unsafe extern "C" fn(
1750 inst: *const tm_collaboration_session_o,
1751 bytes: *mut u64,
1752 total: *mut u64,
1753 ) -> bool,
1754 >,
1755 pub status_message: ::std::option::Option<
1756 unsafe extern "C" fn(
1757 inst: *mut tm_collaboration_session_o,
1758 buf: *mut ::std::os::raw::c_char,
1759 max_size: u32,
1760 ),
1761 >,
1762}
1763#[repr(C)]
1764#[derive(Copy, Clone)]
1765pub struct tm_collaboration_o {
1766 _unused: [u8; 0],
1767}
1768#[repr(C)]
1769#[derive(Copy, Clone)]
1770pub struct tm_collaboration_api {
1771 pub create: ::std::option::Option<
1772 unsafe extern "C" fn(
1773 a: *mut tm_allocator_i,
1774 config: *const tm_collaboration_config_t,
1775 ) -> *mut tm_collaboration_o,
1776 >,
1777 pub destroy: ::std::option::Option<unsafe extern "C" fn(coll: *mut tm_collaboration_o)>,
1778 pub status: ::std::option::Option<
1779 unsafe extern "C" fn(coll: *const tm_collaboration_o) -> tm_collaboration_status,
1780 >,
1781 pub is_downloading: ::std::option::Option<
1782 unsafe extern "C" fn(
1783 coll: *const tm_collaboration_o,
1784 bytes: *mut u64,
1785 total: *mut u64,
1786 ) -> bool,
1787 >,
1788 pub set_session: ::std::option::Option<
1789 unsafe extern "C" fn(
1790 coll: *mut tm_collaboration_o,
1791 session: *const tm_collaboration_session_i,
1792 ),
1793 >,
1794 pub session: ::std::option::Option<
1795 unsafe extern "C" fn(coll: *mut tm_collaboration_o) -> *mut tm_collaboration_session_i,
1796 >,
1797 pub disconnect: ::std::option::Option<unsafe extern "C" fn(coll: *mut tm_collaboration_o)>,
1798 pub update: ::std::option::Option<unsafe extern "C" fn(coll: *mut tm_collaboration_o)>,
1799 pub handle: ::std::option::Option<
1800 unsafe extern "C" fn(coll: *const tm_collaboration_o) -> *const ::std::os::raw::c_char,
1801 >,
1802 pub set_handle: ::std::option::Option<
1803 unsafe extern "C" fn(c: *mut tm_collaboration_o, handle: *mut ::std::os::raw::c_char),
1804 >,
1805 pub host_handle: ::std::option::Option<
1806 unsafe extern "C" fn(c: *const tm_collaboration_o) -> *const ::std::os::raw::c_char,
1807 >,
1808 pub num_clients:
1809 ::std::option::Option<unsafe extern "C" fn(coll: *const tm_collaboration_o) -> u32>,
1810 pub client_handle: ::std::option::Option<
1811 unsafe extern "C" fn(
1812 coll: *const tm_collaboration_o,
1813 i: u32,
1814 ) -> *const ::std::os::raw::c_char,
1815 >,
1816 pub all_handles: ::std::option::Option<
1817 unsafe extern "C" fn(
1818 coll: *const tm_collaboration_o,
1819 ta: *mut tm_temp_allocator_i,
1820 ) -> *mut *const ::std::os::raw::c_char,
1821 >,
1822 pub send_chat: ::std::option::Option<
1823 unsafe extern "C" fn(coll: *mut tm_collaboration_o, msg: *const ::std::os::raw::c_char),
1824 >,
1825 pub num_chat_messages:
1826 ::std::option::Option<unsafe extern "C" fn(coll: *const tm_collaboration_o) -> u32>,
1827 pub chat_message: ::std::option::Option<
1828 unsafe extern "C" fn(
1829 coll: *const tm_collaboration_o,
1830 i: u32,
1831 sender: *mut *const ::std::os::raw::c_char,
1832 ) -> *const ::std::os::raw::c_char,
1833 >,
1834 pub resynchronize_state: ::std::option::Option<
1835 unsafe extern "C" fn(coll: *mut tm_collaboration_o, tt: *mut tm_the_truth_o),
1836 >,
1837 pub send_test_packages: ::std::option::Option<
1838 unsafe extern "C" fn(coll: *mut tm_collaboration_o, size: u64, num: u32),
1839 >,
1840}
1841#[repr(C)]
1842#[derive(Copy, Clone)]
1843pub struct tm_collaboration_p2p_o {
1844 _unused: [u8; 0],
1845}
1846#[repr(C)]
1847#[derive(Copy, Clone)]
1848pub struct tm_collaboration_discovered_host_t {
1849 pub address: *const tm_socket_address_t,
1850 pub name: *const ::std::os::raw::c_char,
1851}
1852#[repr(C)]
1853#[derive(Copy, Clone)]
1854pub struct tm_collaboration_p2p_api {
1855 pub create: ::std::option::Option<
1856 unsafe extern "C" fn(
1857 coll: *mut tm_collaboration_o,
1858 allocator: *mut tm_allocator_i,
1859 ) -> *mut tm_collaboration_p2p_o,
1860 >,
1861 pub destroy: ::std::option::Option<unsafe extern "C" fn(coll_p2p: *mut tm_collaboration_p2p_o)>,
1862 pub update: ::std::option::Option<unsafe extern "C" fn(coll_p2p: *mut tm_collaboration_p2p_o)>,
1863 pub host: ::std::option::Option<
1864 unsafe extern "C" fn(coll_p2p: *mut tm_collaboration_p2p_o, port: u32, use_upnp: bool),
1865 >,
1866 pub connect: ::std::option::Option<
1867 unsafe extern "C" fn(
1868 coll_p2p: *mut tm_collaboration_p2p_o,
1869 address: *const tm_socket_address_t,
1870 ),
1871 >,
1872 pub discovered_lan_hosts: ::std::option::Option<
1873 unsafe extern "C" fn(
1874 coll_p2p: *const tm_collaboration_p2p_o,
1875 hosts: *mut tm_collaboration_discovered_host_t,
1876 max_hosts: u32,
1877 ) -> u32,
1878 >,
1879}
1880pub const tm_config_type_TM_CONFIG_TYPE_NULL: tm_config_type = 0;
1881pub const tm_config_type_TM_CONFIG_TYPE_FALSE: tm_config_type = 1;
1882pub const tm_config_type_TM_CONFIG_TYPE_TRUE: tm_config_type = 2;
1883pub const tm_config_type_TM_CONFIG_TYPE_NUMBER: tm_config_type = 3;
1884pub const tm_config_type_TM_CONFIG_TYPE_STRING: tm_config_type = 4;
1885pub const tm_config_type_TM_CONFIG_TYPE_ARRAY: tm_config_type = 5;
1886pub const tm_config_type_TM_CONFIG_TYPE_OBJECT: tm_config_type = 6;
1887pub type tm_config_type = ::std::os::raw::c_int;
1888#[repr(C)]
1889#[repr(align(4))]
1890#[derive(Copy, Clone)]
1891pub struct tm_config_item_t {
1892 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>,
1893}
1894impl tm_config_item_t {
1895 #[inline]
1896 pub fn type_(&self) -> u32 {
1897 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 3u8) as u32) }
1898 }
1899 #[inline]
1900 pub fn set_type(&mut self, val: u32) {
1901 unsafe {
1902 let val: u32 = ::std::mem::transmute(val);
1903 self._bitfield_1.set(0usize, 3u8, val as u64)
1904 }
1905 }
1906 #[inline]
1907 pub fn offset(&self) -> u32 {
1908 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) }
1909 }
1910 #[inline]
1911 pub fn set_offset(&mut self, val: u32) {
1912 unsafe {
1913 let val: u32 = ::std::mem::transmute(val);
1914 self._bitfield_1.set(3usize, 29u8, val as u64)
1915 }
1916 }
1917 #[inline]
1918 pub fn new_bitfield_1(type_: u32, offset: u32) -> __BindgenBitfieldUnit<[u8; 4usize], u32> {
1919 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> =
1920 Default::default();
1921 __bindgen_bitfield_unit.set(0usize, 3u8, {
1922 let type_: u32 = unsafe { ::std::mem::transmute(type_) };
1923 type_ as u64
1924 });
1925 __bindgen_bitfield_unit.set(3usize, 29u8, {
1926 let offset: u32 = unsafe { ::std::mem::transmute(offset) };
1927 offset as u64
1928 });
1929 __bindgen_bitfield_unit
1930 }
1931}
1932#[repr(C)]
1933#[derive(Copy, Clone)]
1934pub struct tm_config_o {
1935 _unused: [u8; 0],
1936}
1937#[repr(C)]
1938#[derive(Copy, Clone)]
1939pub struct tm_config_i {
1940 pub inst: *mut tm_config_o,
1941 pub root:
1942 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_config_o) -> tm_config_item_t>,
1943 pub to_number: ::std::option::Option<
1944 unsafe extern "C" fn(inst: *mut tm_config_o, item: tm_config_item_t) -> f64,
1945 >,
1946 pub to_string: ::std::option::Option<
1947 unsafe extern "C" fn(
1948 inst: *mut tm_config_o,
1949 item: tm_config_item_t,
1950 ) -> *const ::std::os::raw::c_char,
1951 >,
1952 pub to_array: ::std::option::Option<
1953 unsafe extern "C" fn(
1954 inst: *mut tm_config_o,
1955 item: tm_config_item_t,
1956 items: *mut *mut tm_config_item_t,
1957 ) -> u32,
1958 >,
1959 pub to_object: ::std::option::Option<
1960 unsafe extern "C" fn(
1961 inst: *mut tm_config_o,
1962 item: tm_config_item_t,
1963 keys: *mut *mut tm_config_item_t,
1964 values: *mut *mut tm_config_item_t,
1965 ) -> u32,
1966 >,
1967 pub add_number: ::std::option::Option<
1968 unsafe extern "C" fn(inst: *mut tm_config_o, n: f64) -> tm_config_item_t,
1969 >,
1970 pub add_string: ::std::option::Option<
1971 unsafe extern "C" fn(
1972 inst: *mut tm_config_o,
1973 s: *const ::std::os::raw::c_char,
1974 ) -> tm_config_item_t,
1975 >,
1976 pub add_array: ::std::option::Option<
1977 unsafe extern "C" fn(
1978 inst: *mut tm_config_o,
1979 items: *const tm_config_item_t,
1980 size: u32,
1981 ) -> tm_config_item_t,
1982 >,
1983 pub add_object: ::std::option::Option<
1984 unsafe extern "C" fn(
1985 inst: *mut tm_config_o,
1986 keys: *const tm_config_item_t,
1987 values: *const tm_config_item_t,
1988 size: u32,
1989 ) -> tm_config_item_t,
1990 >,
1991 pub add_object_with_string_keys: ::std::option::Option<
1992 unsafe extern "C" fn(
1993 inst: *mut tm_config_o,
1994 keys: *mut *const ::std::os::raw::c_char,
1995 values: *const tm_config_item_t,
1996 size: u32,
1997 ) -> tm_config_item_t,
1998 >,
1999 pub array_set: ::std::option::Option<
2000 unsafe extern "C" fn(
2001 inst: *mut tm_config_o,
2002 array: tm_config_item_t,
2003 i: u32,
2004 item: tm_config_item_t,
2005 ),
2006 >,
2007 pub array_push: ::std::option::Option<
2008 unsafe extern "C" fn(
2009 inst: *mut tm_config_o,
2010 array: tm_config_item_t,
2011 item: tm_config_item_t,
2012 ),
2013 >,
2014 pub object_get: ::std::option::Option<
2015 unsafe extern "C" fn(
2016 inst: *mut tm_config_o,
2017 object: tm_config_item_t,
2018 key_hash: u64,
2019 ) -> tm_config_item_t,
2020 >,
2021 pub object_update: ::std::option::Option<
2022 unsafe extern "C" fn(
2023 inst: *mut tm_config_o,
2024 object: tm_config_item_t,
2025 key_hash: u64,
2026 value: tm_config_item_t,
2027 ),
2028 >,
2029 pub object_add: ::std::option::Option<
2030 unsafe extern "C" fn(
2031 inst: *mut tm_config_o,
2032 object: tm_config_item_t,
2033 key: *const ::std::os::raw::c_char,
2034 value: tm_config_item_t,
2035 ),
2036 >,
2037 pub set_root:
2038 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_config_o, root: tm_config_item_t)>,
2039 pub copy:
2040 ::std::option::Option<unsafe extern "C" fn(dst: *mut tm_config_o, src: *mut tm_config_o)>,
2041 pub allocator:
2042 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_config_o) -> *mut tm_allocator_i>,
2043}
2044#[repr(C)]
2045#[derive(Copy, Clone)]
2046pub struct tm_config_api {
2047 pub create:
2048 ::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i) -> *mut tm_config_i>,
2049 pub destroy: ::std::option::Option<unsafe extern "C" fn(cdi: *mut tm_config_i)>,
2050 pub c_null: tm_config_item_t,
2051 pub c_false: tm_config_item_t,
2052 pub c_true: tm_config_item_t,
2053 pub _padding_153: [::std::os::raw::c_char; 4usize],
2054}
2055pub const tm_core_create_policy_TM_CORE_CREATE_POLICY__CREATE: tm_core_create_policy = 0;
2056pub const tm_core_create_policy_TM_CORE_CREATE_POLICY__REMOVE: tm_core_create_policy = 1;
2057pub const tm_core_create_policy_TM_CORE_CREATE_POLICY__IGNORE: tm_core_create_policy = 2;
2058pub type tm_core_create_policy = ::std::os::raw::c_int;
2059#[repr(C)]
2060#[derive(Copy, Clone)]
2061pub struct tm_core_asset_i {
2062 pub core_id: u64,
2063 pub path: *const ::std::os::raw::c_char,
2064 pub create_policy: tm_core_create_policy,
2065 pub _padding_60: [::std::os::raw::c_char; 4usize],
2066 pub version: u64,
2067 pub user_data: *const ::std::os::raw::c_void,
2068 pub create: ::std::option::Option<
2069 unsafe extern "C" fn(
2070 tt: *mut tm_the_truth_o,
2071 user_data: *const ::std::os::raw::c_void,
2072 ) -> tm_tt_id_t,
2073 >,
2074 pub update: ::std::option::Option<
2075 unsafe extern "C" fn(
2076 tt: *mut tm_the_truth_o,
2077 data_id: tm_tt_id_t,
2078 old_version: u64,
2079 user_data: *const ::std::os::raw::c_void,
2080 ),
2081 >,
2082}
2083#[repr(C)]
2084#[derive(Copy, Clone)]
2085pub struct tm_core_update_result_t {
2086 pub created_assets: *mut tm_tt_id_t,
2087 pub removed_assets: *mut tm_tt_id_t,
2088 pub updated_assets: *mut tm_tt_id_t,
2089}
2090#[repr(C)]
2091#[derive(Copy, Clone)]
2092pub struct tm_core_api {
2093 pub create: ::std::option::Option<
2094 unsafe extern "C" fn(tt: *mut tm_the_truth_o, asset_root_id: tm_tt_id_t),
2095 >,
2096 pub update: ::std::option::Option<
2097 unsafe extern "C" fn(
2098 tt: *mut tm_the_truth_o,
2099 asset_root_id: tm_tt_id_t,
2100 ta: *mut tm_temp_allocator_i,
2101 ) -> tm_core_update_result_t,
2102 >,
2103 pub locate_asset: ::std::option::Option<
2104 unsafe extern "C" fn(
2105 tt: *mut tm_the_truth_o,
2106 asset_root_id: tm_tt_id_t,
2107 core_id: u64,
2108 ) -> tm_tt_id_t,
2109 >,
2110}
2111#[repr(C)]
2112#[derive(Copy, Clone)]
2113pub struct tm_core_importer_asset_t {
2114 pub id: u64,
2115 pub version: u64,
2116 pub path: *const ::std::os::raw::c_char,
2117 pub create_policy: u32,
2118 pub _padding_46: [::std::os::raw::c_char; 4usize],
2119}
2120#[repr(C)]
2121#[derive(Copy, Clone)]
2122pub struct tm_core_importer_state_o {
2123 _unused: [u8; 0],
2124}
2125#[repr(C)]
2126#[derive(Copy, Clone)]
2127pub struct tm_core_importer_api {
2128 pub create: ::std::option::Option<
2129 unsafe extern "C" fn(
2130 a: *mut tm_allocator_i,
2131 user_tt: *mut tm_the_truth_o,
2132 user_asset_root: tm_tt_id_t,
2133 core_project_path: *const ::std::os::raw::c_char,
2134 output_path: *const ::std::os::raw::c_char,
2135 ) -> *mut tm_core_importer_state_o,
2136 >,
2137 pub destroy: ::std::option::Option<unsafe extern "C" fn(state: *mut tm_core_importer_state_o)>,
2138 pub register_assets: ::std::option::Option<
2139 unsafe extern "C" fn(
2140 state: *mut tm_core_importer_state_o,
2141 to_register: *const tm_core_importer_asset_t,
2142 num_to_register: u32,
2143 ),
2144 >,
2145}
2146#[repr(C)]
2147#[derive(Copy, Clone)]
2148pub struct tm_crash_recovery_can_recover_result_t {
2149 pub data: *const ::std::os::raw::c_char,
2150 pub data_bytes: u32,
2151 pub _padding_24: [::std::os::raw::c_char; 4usize],
2152 pub project: *const ::std::os::raw::c_char,
2153 pub root: *const tm_uuid_t,
2154}
2155#[repr(C)]
2156#[derive(Copy, Clone)]
2157pub struct tm_crash_recovery_o {
2158 _unused: [u8; 0],
2159}
2160#[repr(C)]
2161#[derive(Copy, Clone)]
2162pub struct tm_crash_recovery_api {
2163 pub create: ::std::option::Option<
2164 unsafe extern "C" fn(
2165 a: *mut tm_allocator_i,
2166 recovery_path: *const ::std::os::raw::c_char,
2167 ) -> *mut tm_crash_recovery_o,
2168 >,
2169 pub destroy: ::std::option::Option<unsafe extern "C" fn(cr: *mut tm_crash_recovery_o)>,
2170 pub start_recording: ::std::option::Option<
2171 unsafe extern "C" fn(
2172 cr: *mut tm_crash_recovery_o,
2173 project: *const ::std::os::raw::c_char,
2174 tt: *mut tm_the_truth_o,
2175 root: tm_tt_id_t,
2176 ),
2177 >,
2178 pub stop_recording: ::std::option::Option<unsafe extern "C" fn(cr: *mut tm_crash_recovery_o)>,
2179 pub update: ::std::option::Option<unsafe extern "C" fn(cr: *mut tm_crash_recovery_o)>,
2180 pub can_recover: ::std::option::Option<
2181 unsafe extern "C" fn(
2182 cr: *mut tm_crash_recovery_o,
2183 ta: *mut tm_temp_allocator_i,
2184 ) -> tm_crash_recovery_can_recover_result_t,
2185 >,
2186 pub recover: ::std::option::Option<
2187 unsafe extern "C" fn(
2188 cr: *mut tm_crash_recovery_o,
2189 rd: tm_crash_recovery_can_recover_result_t,
2190 ),
2191 >,
2192}
2193#[repr(C)]
2194#[derive(Copy, Clone)]
2195pub struct tm_error_o {
2196 _unused: [u8; 0],
2197}
2198#[repr(C)]
2199#[derive(Copy, Clone)]
2200pub struct tm_error_i {
2201 pub inst: *mut tm_error_o,
2202 pub errorf: ::std::option::Option<
2203 unsafe extern "C" fn(
2204 inst: *mut tm_error_o,
2205 file: *const ::std::os::raw::c_char,
2206 line: u32,
2207 format: *const ::std::os::raw::c_char,
2208 ...
2209 ),
2210 >,
2211 pub fatal: ::std::option::Option<
2212 unsafe extern "C" fn(
2213 inst: *mut tm_error_o,
2214 file: *const ::std::os::raw::c_char,
2215 line: u32,
2216 format: *const ::std::os::raw::c_char,
2217 ...
2218 ),
2219 >,
2220}
2221#[repr(C)]
2222#[derive(Copy, Clone)]
2223pub struct tm_error_api {
2224 pub log: *mut tm_error_i,
2225 pub def: *mut tm_error_i,
2226}
2227#[repr(C)]
2228#[derive(Copy, Clone)]
2229pub struct tm_feature_flags_api {
2230 pub enabled: ::std::option::Option<unsafe extern "C" fn(flag: u64) -> bool>,
2231 pub set_enabled: ::std::option::Option<unsafe extern "C" fn(flag: u64, enabled: bool)>,
2232 pub all_enabled: ::std::option::Option<unsafe extern "C" fn(count: *mut u32) -> *const u64>,
2233}
2234#[repr(C)]
2235#[derive(Copy, Clone)]
2236pub struct tm_git_ignore_api {
2237 pub match_: ::std::option::Option<
2238 unsafe extern "C" fn(
2239 patterns: *const ::std::os::raw::c_char,
2240 path: *const ::std::os::raw::c_char,
2241 ) -> bool,
2242 >,
2243}
2244pub const tm_image_type_TM_IMAGE_TYPE_1D: tm_image_type = 0;
2245pub const tm_image_type_TM_IMAGE_TYPE_2D: tm_image_type = 1;
2246pub const tm_image_type_TM_IMAGE_TYPE_3D: tm_image_type = 2;
2247pub const tm_image_type_TM_IMAGE_TYPE_CUBE: tm_image_type = 3;
2248pub type tm_image_type = ::std::os::raw::c_int;
2249#[repr(C)]
2250#[derive(Copy, Clone)]
2251pub struct tm_image_t {
2252 pub type_: u32,
2253 pub pixel_format: u32,
2254 pub width: u32,
2255 pub height: u32,
2256 pub depth: u32,
2257 pub mip_levels: u32,
2258 pub layers: u32,
2259 pub size: u32,
2260}
2261#[repr(C)]
2262#[derive(Copy, Clone)]
2263pub struct tm_image_archive_o {
2264 _unused: [u8; 0],
2265}
2266#[repr(C)]
2267#[derive(Copy, Clone)]
2268pub struct tm_image_archive_i {
2269 pub inst: *mut tm_image_archive_o,
2270 pub read: ::std::option::Option<
2271 unsafe extern "C" fn(
2272 inst: *mut tm_image_archive_o,
2273 buffer: *mut ::std::os::raw::c_void,
2274 offset: u64,
2275 size: u32,
2276 ) -> u32,
2277 >,
2278 pub size: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_image_archive_o) -> u64>,
2279}
2280#[repr(C)]
2281#[derive(Copy, Clone)]
2282pub struct tm_image_loader_o {
2283 _unused: [u8; 0],
2284}
2285#[repr(C)]
2286#[derive(Copy, Clone)]
2287pub struct tm_image_loader_i {
2288 pub inst: *mut tm_image_loader_o,
2289 pub extensions_string: ::std::option::Option<
2290 unsafe extern "C" fn(
2291 inst: *mut tm_image_loader_o,
2292 output: *mut *mut ::std::os::raw::c_char,
2293 ta: *mut tm_temp_allocator_i,
2294 separator: *const ::std::os::raw::c_char,
2295 ),
2296 >,
2297 pub description_string: ::std::option::Option<
2298 unsafe extern "C" fn(
2299 inst: *mut tm_image_loader_o,
2300 output: *mut *mut ::std::os::raw::c_char,
2301 ta: *mut tm_temp_allocator_i,
2302 separator: *const ::std::os::raw::c_char,
2303 ),
2304 >,
2305 pub support_from_archive: ::std::option::Option<
2306 unsafe extern "C" fn(
2307 inst: *mut tm_image_loader_o,
2308 image_archive: *mut tm_image_archive_i,
2309 ) -> bool,
2310 >,
2311 pub support_from_extension: ::std::option::Option<
2312 unsafe extern "C" fn(
2313 inst: *mut tm_image_loader_o,
2314 extension: *const ::std::os::raw::c_char,
2315 ) -> bool,
2316 >,
2317 pub load_image: ::std::option::Option<
2318 unsafe extern "C" fn(
2319 inst: *mut tm_image_loader_o,
2320 image_archive: *mut tm_image_archive_i,
2321 image: *mut tm_image_t,
2322 bits: *mut u8,
2323 ) -> bool,
2324 >,
2325}
2326#[repr(C)]
2327#[derive(Copy, Clone)]
2328pub struct tm_image_loader_api {
2329 pub add_loader: ::std::option::Option<unsafe extern "C" fn(loader: *mut tm_image_loader_i)>,
2330 pub remove_loader: ::std::option::Option<unsafe extern "C" fn(loader: *mut tm_image_loader_i)>,
2331 pub loader_from_archive: ::std::option::Option<
2332 unsafe extern "C" fn(image_archive: *mut tm_image_archive_i) -> *mut tm_image_loader_i,
2333 >,
2334 pub loader_from_extension: ::std::option::Option<
2335 unsafe extern "C" fn(extension: *const ::std::os::raw::c_char) -> *mut tm_image_loader_i,
2336 >,
2337 pub loaders:
2338 ::std::option::Option<unsafe extern "C" fn(loaders: *mut *mut tm_image_loader_i) -> u32>,
2339}
2340pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_NONE: tm_input_controller_type = 0;
2341pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_KEYBOARD: tm_input_controller_type = 1;
2342pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_MOUSE: tm_input_controller_type = 2;
2343pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_GAMEPAD: tm_input_controller_type = 3;
2344pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_TOUCH: tm_input_controller_type = 4;
2345pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_PEN: tm_input_controller_type = 5;
2346pub const tm_input_controller_type_TM_INPUT_CONTROLLER_TYPE_OTHER: tm_input_controller_type = -1;
2347pub type tm_input_controller_type = ::std::os::raw::c_int;
2348pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_NONE: tm_input_mouse_item = 0;
2349pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_BUTTON_LEFT: tm_input_mouse_item = 1;
2350pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_BUTTON_RIGHT: tm_input_mouse_item = 2;
2351pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_BUTTON_MIDDLE: tm_input_mouse_item = 3;
2352pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_BUTTON_4: tm_input_mouse_item = 4;
2353pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_BUTTON_5: tm_input_mouse_item = 5;
2354pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_WHEEL: tm_input_mouse_item = 6;
2355pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_MOVE: tm_input_mouse_item = 7;
2356pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_POSITION: tm_input_mouse_item = 8;
2357pub const tm_input_mouse_item_TM_INPUT_MOUSE_ITEM_COUNT: tm_input_mouse_item = 9;
2358pub type tm_input_mouse_item = ::std::os::raw::c_int;
2359pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_NONE: tm_input_pen_item = 0;
2360pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_BUTTON_1: tm_input_pen_item = 1;
2361pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_BUTTON_2: tm_input_pen_item = 2;
2362pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_BUTTON_3: tm_input_pen_item = 3;
2363pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_BUTTON_4: tm_input_pen_item = 4;
2364pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_BUTTON_5: tm_input_pen_item = 5;
2365pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_WHEEL: tm_input_pen_item = 6;
2366pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_POSITION: tm_input_pen_item = 7;
2367pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_PRESSURE: tm_input_pen_item = 8;
2368pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_ROTATION: tm_input_pen_item = 9;
2369pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_TILT: tm_input_pen_item = 10;
2370pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_INVERTED: tm_input_pen_item = 11;
2371pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_ERASER: tm_input_pen_item = 12;
2372pub const tm_input_pen_item_TM_INPUT_PEN_ITEM_COUNT: tm_input_pen_item = 13;
2373pub type tm_input_pen_item = ::std::os::raw::c_int;
2374pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_NONE: tm_input_touch_item = 0;
2375pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_TOUCH: tm_input_touch_item = 1;
2376pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_POSITION: tm_input_touch_item = 2;
2377pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_PRESSURE: tm_input_touch_item = 3;
2378pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_ORIENTATION: tm_input_touch_item = 4;
2379pub const tm_input_touch_item_TM_INPUT_TOUCH_ITEM_COUNT: tm_input_touch_item = 5;
2380pub type tm_input_touch_item = ::std::os::raw::c_int;
2381pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NONE: tm_input_keyboard_item = 0;
2382pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LBUTTON: tm_input_keyboard_item = 1;
2383pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RBUTTON: tm_input_keyboard_item = 2;
2384pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CANCEL: tm_input_keyboard_item = 3;
2385pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MBUTTON: tm_input_keyboard_item = 4;
2386pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_XBUTTON1: tm_input_keyboard_item = 5;
2387pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_XBUTTON2: tm_input_keyboard_item = 6;
2388pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BACKSPACE: tm_input_keyboard_item = 8;
2389pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_TAB: tm_input_keyboard_item = 9;
2390pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CLEAR: tm_input_keyboard_item = 12;
2391pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ENTER: tm_input_keyboard_item = 13;
2392pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SHIFT: tm_input_keyboard_item = 16;
2393pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CONTROL: tm_input_keyboard_item = 17;
2394pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MENU: tm_input_keyboard_item = 18;
2395pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PAUSE: tm_input_keyboard_item = 19;
2396pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CAPSLOCK: tm_input_keyboard_item = 20;
2397pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_KANA: tm_input_keyboard_item = 21;
2398pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_JUNJA: tm_input_keyboard_item = 23;
2399pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_FINAL: tm_input_keyboard_item = 24;
2400pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HANJA: tm_input_keyboard_item = 25;
2401pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_KANJI: tm_input_keyboard_item = 25;
2402pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ESCAPE: tm_input_keyboard_item = 27;
2403pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CONVERT: tm_input_keyboard_item = 28;
2404pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NONCONVERT: tm_input_keyboard_item = 29;
2405pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ACCEPT: tm_input_keyboard_item = 30;
2406pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MODECHANGE: tm_input_keyboard_item = 31;
2407pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SPACE: tm_input_keyboard_item = 32;
2408pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PAGEUP: tm_input_keyboard_item = 33;
2409pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PAGEDOWN: tm_input_keyboard_item = 34;
2410pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_END: tm_input_keyboard_item = 35;
2411pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HOME: tm_input_keyboard_item = 36;
2412pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFT: tm_input_keyboard_item = 37;
2413pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_UP: tm_input_keyboard_item = 38;
2414pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHT: tm_input_keyboard_item = 39;
2415pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_DOWN: tm_input_keyboard_item = 40;
2416pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SELECT: tm_input_keyboard_item = 41;
2417pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PRINT: tm_input_keyboard_item = 42;
2418pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_EXECUTE: tm_input_keyboard_item = 43;
2419pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PRINTSCREEN: tm_input_keyboard_item = 44;
2420pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_INSERT: tm_input_keyboard_item = 45;
2421pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_DELETE: tm_input_keyboard_item = 46;
2422pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HELP: tm_input_keyboard_item = 47;
2423pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_0: tm_input_keyboard_item = 48;
2424pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_1: tm_input_keyboard_item = 49;
2425pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_2: tm_input_keyboard_item = 50;
2426pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_3: tm_input_keyboard_item = 51;
2427pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_4: tm_input_keyboard_item = 52;
2428pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_5: tm_input_keyboard_item = 53;
2429pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_6: tm_input_keyboard_item = 54;
2430pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_7: tm_input_keyboard_item = 55;
2431pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_8: tm_input_keyboard_item = 56;
2432pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_9: tm_input_keyboard_item = 57;
2433pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_A: tm_input_keyboard_item = 65;
2434pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_B: tm_input_keyboard_item = 66;
2435pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_C: tm_input_keyboard_item = 67;
2436pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_D: tm_input_keyboard_item = 68;
2437pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_E: tm_input_keyboard_item = 69;
2438pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F: tm_input_keyboard_item = 70;
2439pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_G: tm_input_keyboard_item = 71;
2440pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_H: tm_input_keyboard_item = 72;
2441pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_I: tm_input_keyboard_item = 73;
2442pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_J: tm_input_keyboard_item = 74;
2443pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_K: tm_input_keyboard_item = 75;
2444pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_L: tm_input_keyboard_item = 76;
2445pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_M: tm_input_keyboard_item = 77;
2446pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_N: tm_input_keyboard_item = 78;
2447pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_O: tm_input_keyboard_item = 79;
2448pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_P: tm_input_keyboard_item = 80;
2449pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_Q: tm_input_keyboard_item = 81;
2450pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_R: tm_input_keyboard_item = 82;
2451pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_S: tm_input_keyboard_item = 83;
2452pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_T: tm_input_keyboard_item = 84;
2453pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_U: tm_input_keyboard_item = 85;
2454pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_V: tm_input_keyboard_item = 86;
2455pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_W: tm_input_keyboard_item = 87;
2456pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_X: tm_input_keyboard_item = 88;
2457pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_Y: tm_input_keyboard_item = 89;
2458pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_Z: tm_input_keyboard_item = 90;
2459pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LWIN: tm_input_keyboard_item = 91;
2460pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RWIN: tm_input_keyboard_item = 92;
2461pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_APPS: tm_input_keyboard_item = 93;
2462pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SLEEP: tm_input_keyboard_item = 95;
2463pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD0: tm_input_keyboard_item = 96;
2464pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD1: tm_input_keyboard_item = 97;
2465pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD2: tm_input_keyboard_item = 98;
2466pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD3: tm_input_keyboard_item = 99;
2467pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD4: tm_input_keyboard_item = 100;
2468pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD5: tm_input_keyboard_item = 101;
2469pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD6: tm_input_keyboard_item = 102;
2470pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD7: tm_input_keyboard_item = 103;
2471pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD8: tm_input_keyboard_item = 104;
2472pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPAD9: tm_input_keyboard_item = 105;
2473pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADASTERISK: tm_input_keyboard_item =
2474 106;
2475pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADPLUS: tm_input_keyboard_item = 107;
2476pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADENTER: tm_input_keyboard_item = 108;
2477pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADMINUS: tm_input_keyboard_item = 109;
2478pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADDOT: tm_input_keyboard_item = 110;
2479pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADSLASH: tm_input_keyboard_item = 111;
2480pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F1: tm_input_keyboard_item = 112;
2481pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F2: tm_input_keyboard_item = 113;
2482pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F3: tm_input_keyboard_item = 114;
2483pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F4: tm_input_keyboard_item = 115;
2484pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F5: tm_input_keyboard_item = 116;
2485pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F6: tm_input_keyboard_item = 117;
2486pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F7: tm_input_keyboard_item = 118;
2487pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F8: tm_input_keyboard_item = 119;
2488pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F9: tm_input_keyboard_item = 120;
2489pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F10: tm_input_keyboard_item = 121;
2490pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F11: tm_input_keyboard_item = 122;
2491pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F12: tm_input_keyboard_item = 123;
2492pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F13: tm_input_keyboard_item = 124;
2493pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F14: tm_input_keyboard_item = 125;
2494pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F15: tm_input_keyboard_item = 126;
2495pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F16: tm_input_keyboard_item = 127;
2496pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F17: tm_input_keyboard_item = 128;
2497pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F18: tm_input_keyboard_item = 129;
2498pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F19: tm_input_keyboard_item = 130;
2499pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F20: tm_input_keyboard_item = 131;
2500pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F21: tm_input_keyboard_item = 132;
2501pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F22: tm_input_keyboard_item = 133;
2502pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F23: tm_input_keyboard_item = 134;
2503pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_F24: tm_input_keyboard_item = 135;
2504pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_VIEW: tm_input_keyboard_item =
2505 136;
2506pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_MENU: tm_input_keyboard_item =
2507 137;
2508pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_UP: tm_input_keyboard_item = 138;
2509pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_DOWN: tm_input_keyboard_item =
2510 139;
2511pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_LEFT: tm_input_keyboard_item =
2512 140;
2513pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_RIGHT: tm_input_keyboard_item =
2514 141;
2515pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_ACCEPT: tm_input_keyboard_item =
2516 142;
2517pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NAVIGATION_CANCEL: tm_input_keyboard_item =
2518 143;
2519pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMLOCK: tm_input_keyboard_item = 144;
2520pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SCROLLLOCK: tm_input_keyboard_item = 145;
2521pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADEQUAL: tm_input_keyboard_item = 146;
2522pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FJ_JISHO: tm_input_keyboard_item = 146;
2523pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FJ_MASSHOU: tm_input_keyboard_item =
2524 147;
2525pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FJ_TOUROKU: tm_input_keyboard_item =
2526 148;
2527pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FJ_LOYA: tm_input_keyboard_item = 149;
2528pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FJ_ROYA: tm_input_keyboard_item = 150;
2529pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFTSHIFT: tm_input_keyboard_item = 160;
2530pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHTSHIFT: tm_input_keyboard_item = 161;
2531pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFTCONTROL: tm_input_keyboard_item = 162;
2532pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHTCONTROL: tm_input_keyboard_item = 163;
2533pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFTALT: tm_input_keyboard_item = 164;
2534pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHTALT: tm_input_keyboard_item = 165;
2535pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_BACK: tm_input_keyboard_item = 166;
2536pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_FORWARD: tm_input_keyboard_item =
2537 167;
2538pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_REFRESH: tm_input_keyboard_item =
2539 168;
2540pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_STOP: tm_input_keyboard_item = 169;
2541pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_SEARCH: tm_input_keyboard_item =
2542 170;
2543pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_FAVORITES: tm_input_keyboard_item =
2544 171;
2545pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_HOME: tm_input_keyboard_item = 172;
2546pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_VOLUME_MUTE: tm_input_keyboard_item = 173;
2547pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_VOLUME_DOWN: tm_input_keyboard_item = 174;
2548pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_VOLUME_UP: tm_input_keyboard_item = 175;
2549pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_NEXT_TRACK: tm_input_keyboard_item =
2550 176;
2551pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_PREV_TRACK: tm_input_keyboard_item =
2552 177;
2553pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_STOP: tm_input_keyboard_item = 178;
2554pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_PLAY_PAUSE: tm_input_keyboard_item =
2555 179;
2556pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LAUNCH_MAIL: tm_input_keyboard_item = 180;
2557pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LAUNCH_MEDIA_SELECT:
2558 tm_input_keyboard_item = 181;
2559pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LAUNCH_APP1: tm_input_keyboard_item = 182;
2560pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LAUNCH_APP2: tm_input_keyboard_item = 183;
2561pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SEMICOLON: tm_input_keyboard_item = 186;
2562pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_EQUAL: tm_input_keyboard_item = 187;
2563pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_COMMA: tm_input_keyboard_item = 188;
2564pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MINUS: tm_input_keyboard_item = 189;
2565pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_DOT: tm_input_keyboard_item = 190;
2566pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_SLASH: tm_input_keyboard_item = 191;
2567pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GRAVE: tm_input_keyboard_item = 192;
2568pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_A: tm_input_keyboard_item = 195;
2569pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_B: tm_input_keyboard_item = 196;
2570pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_X: tm_input_keyboard_item = 197;
2571pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_Y: tm_input_keyboard_item = 198;
2572pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_SHOULDER:
2573 tm_input_keyboard_item = 199;
2574pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_SHOULDER:
2575 tm_input_keyboard_item = 200;
2576pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_TRIGGER:
2577 tm_input_keyboard_item = 201;
2578pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_TRIGGER:
2579 tm_input_keyboard_item = 202;
2580pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_DPAD_UP: tm_input_keyboard_item =
2581 203;
2582pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_DPAD_DOWN: tm_input_keyboard_item =
2583 204;
2584pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_DPAD_LEFT: tm_input_keyboard_item =
2585 205;
2586pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_DPAD_RIGHT: tm_input_keyboard_item =
2587 206;
2588pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_MENU: tm_input_keyboard_item = 207;
2589pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_VIEW: tm_input_keyboard_item = 208;
2590pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_THUMBSTICK_BUTTON:
2591 tm_input_keyboard_item = 209;
2592pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_THUMBSTICK_BUTTON:
2593 tm_input_keyboard_item = 210;
2594pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_THUMBSTICK_UP:
2595 tm_input_keyboard_item = 211;
2596pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_THUMBSTICK_DOWN:
2597 tm_input_keyboard_item = 212;
2598pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_THUMBSTICK_RIGHT:
2599 tm_input_keyboard_item = 213;
2600pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_LEFT_THUMBSTICK_LEFT:
2601 tm_input_keyboard_item = 214;
2602pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_THUMBSTICK_UP:
2603 tm_input_keyboard_item = 215;
2604pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_THUMBSTICK_DOWN:
2605 tm_input_keyboard_item = 216;
2606pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_THUMBSTICK_RIGHT:
2607 tm_input_keyboard_item = 217;
2608pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_GAMEPAD_RIGHT_THUMBSTICK_LEFT:
2609 tm_input_keyboard_item = 218;
2610pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFTBRACE: tm_input_keyboard_item = 219;
2611pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BACKSLASH: tm_input_keyboard_item = 220;
2612pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHTBRACE: tm_input_keyboard_item = 221;
2613pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_APOSTROPHE: tm_input_keyboard_item = 222;
2614pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_8: tm_input_keyboard_item = 223;
2615pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_AX: tm_input_keyboard_item = 225;
2616pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_102: tm_input_keyboard_item = 226;
2617pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ICO_HELP: tm_input_keyboard_item = 227;
2618pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ICO_00: tm_input_keyboard_item = 228;
2619pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PROCESSKEY: tm_input_keyboard_item = 229;
2620pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ICO_CLEAR: tm_input_keyboard_item = 230;
2621pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PACKET: tm_input_keyboard_item = 231;
2622pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_RESET: tm_input_keyboard_item = 233;
2623pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_JUMP: tm_input_keyboard_item = 234;
2624pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_PA1: tm_input_keyboard_item = 235;
2625pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_PA2: tm_input_keyboard_item = 236;
2626pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_PA3: tm_input_keyboard_item = 237;
2627pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_WSCTRL: tm_input_keyboard_item = 238;
2628pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_CUSEL: tm_input_keyboard_item = 239;
2629pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_ATTN: tm_input_keyboard_item = 240;
2630pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_FINISH: tm_input_keyboard_item = 241;
2631pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_COPY: tm_input_keyboard_item = 242;
2632pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_AUTO: tm_input_keyboard_item = 243;
2633pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_ENLW: tm_input_keyboard_item = 244;
2634pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_BACKTAB: tm_input_keyboard_item = 245;
2635pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ATTN: tm_input_keyboard_item = 246;
2636pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CRSEL: tm_input_keyboard_item = 247;
2637pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_EXSEL: tm_input_keyboard_item = 248;
2638pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_EREOF: tm_input_keyboard_item = 249;
2639pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PLAY: tm_input_keyboard_item = 250;
2640pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ZOOM: tm_input_keyboard_item = 251;
2641pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NONAME: tm_input_keyboard_item = 252;
2642pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PA1: tm_input_keyboard_item = 253;
2643pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OEM_CLEAR: tm_input_keyboard_item = 254;
2644pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HASHTILDE: tm_input_keyboard_item = 255;
2645pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_102ND: tm_input_keyboard_item = 256;
2646pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_COMPOSE: tm_input_keyboard_item = 257;
2647pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_POWER: tm_input_keyboard_item = 258;
2648pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_OPEN: tm_input_keyboard_item = 259;
2649pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PROPS: tm_input_keyboard_item = 260;
2650pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_FRONT: tm_input_keyboard_item = 261;
2651pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_STOP: tm_input_keyboard_item = 262;
2652pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_AGAIN: tm_input_keyboard_item = 263;
2653pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_UNDO: tm_input_keyboard_item = 264;
2654pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_CUT: tm_input_keyboard_item = 265;
2655pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_PASTE: tm_input_keyboard_item = 266;
2656pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_FIND: tm_input_keyboard_item = 267;
2657pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADCOMMA: tm_input_keyboard_item = 268;
2658pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RO: tm_input_keyboard_item = 269;
2659pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_KATAKANAHIRAGANA: tm_input_keyboard_item =
2660 270;
2661pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_YEN: tm_input_keyboard_item = 271;
2662pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HENKAN: tm_input_keyboard_item = 272;
2663pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MUHENKAN: tm_input_keyboard_item = 273;
2664pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADJPCOMMA: tm_input_keyboard_item = 274;
2665pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_INTERNATIONAL_7: tm_input_keyboard_item =
2666 275;
2667pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_INTERNATIONAL_8: tm_input_keyboard_item =
2668 276;
2669pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_INTERNATIONAL_9: tm_input_keyboard_item =
2670 277;
2671pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HANGEUL: tm_input_keyboard_item = 278;
2672pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_KATAKANA: tm_input_keyboard_item = 279;
2673pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_HIRAGANA: tm_input_keyboard_item = 280;
2674pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_ZENKAKUHANKAKU: tm_input_keyboard_item =
2675 281;
2676pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LANG_6: tm_input_keyboard_item = 282;
2677pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LANG_7: tm_input_keyboard_item = 283;
2678pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LANG_8: tm_input_keyboard_item = 284;
2679pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LANG_9: tm_input_keyboard_item = 285;
2680pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADLEFTPAREN: tm_input_keyboard_item =
2681 286;
2682pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_NUMPADRIGHTPAREN: tm_input_keyboard_item =
2683 287;
2684pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_LEFTMETA: tm_input_keyboard_item = 288;
2685pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_RIGHTMETA: tm_input_keyboard_item = 289;
2686pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_EJECT: tm_input_keyboard_item = 290;
2687pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_VOLUME_UP: tm_input_keyboard_item =
2688 291;
2689pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_VOLUME_DOWN: tm_input_keyboard_item =
2690 292;
2691pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_MEDIA_MUTE: tm_input_keyboard_item = 293;
2692pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_WWW: tm_input_keyboard_item = 294;
2693pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_SCROLLUP: tm_input_keyboard_item =
2694 295;
2695pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_SCROLLDOWN: tm_input_keyboard_item =
2696 296;
2697pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_EDIT: tm_input_keyboard_item = 297;
2698pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_SLEEP: tm_input_keyboard_item = 298;
2699pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_COFFEE: tm_input_keyboard_item =
2700 299;
2701pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_BROWSER_CALC: tm_input_keyboard_item = 300;
2702pub const tm_input_keyboard_item_TM_INPUT_KEYBOARD_ITEM_COUNT: tm_input_keyboard_item = 301;
2703pub type tm_input_keyboard_item = ::std::os::raw::c_int;
2704pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_NONE: tm_input_gamepad_item = 0;
2705pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_A: tm_input_gamepad_item = 1;
2706pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_B: tm_input_gamepad_item = 2;
2707pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_X: tm_input_gamepad_item = 3;
2708pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_Y: tm_input_gamepad_item = 4;
2709pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_LEFT_SHOULDER: tm_input_gamepad_item =
2710 5;
2711pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_RIGHT_SHOULDER: tm_input_gamepad_item =
2712 6;
2713pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_BACK: tm_input_gamepad_item = 7;
2714pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_START: tm_input_gamepad_item = 8;
2715pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_DPAD_LEFT: tm_input_gamepad_item = 9;
2716pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_DPAD_RIGHT: tm_input_gamepad_item = 10;
2717pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_DPAD_UP: tm_input_gamepad_item = 11;
2718pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_DPAD_DOWN: tm_input_gamepad_item = 12;
2719pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_BUTTON_LEFT_THUMB: tm_input_gamepad_item = 13;
2720pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_BUTTON_RIGHT_THUMB: tm_input_gamepad_item = 14;
2721pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_LEFT_TRIGGER: tm_input_gamepad_item =
2722 15;
2723pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_BUTTON_RIGHT_TRIGGER: tm_input_gamepad_item =
2724 16;
2725pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_LEFT_STICK: tm_input_gamepad_item = 17;
2726pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_RIGHT_STICK: tm_input_gamepad_item = 18;
2727pub const tm_input_gamepad_item_TM_INPUT_GAMEPAD_ITEM_COUNT: tm_input_gamepad_item = 19;
2728pub type tm_input_gamepad_item = ::std::os::raw::c_int;
2729pub const tm_input_event_type_TM_INPUT_EVENT_TYPE_NONE: tm_input_event_type = 0;
2730pub const tm_input_event_type_TM_INPUT_EVENT_TYPE_DATA_CHANGE: tm_input_event_type = 1;
2731pub const tm_input_event_type_TM_INPUT_EVENT_TYPE_TEXT: tm_input_event_type = 2;
2732pub type tm_input_event_type = ::std::os::raw::c_int;
2733#[repr(C)]
2734#[derive(Copy, Clone)]
2735pub struct tm_input_item_t {
2736 pub id: u64,
2737 pub name: *const ::std::os::raw::c_char,
2738 pub components: u32,
2739 pub _padding_412: [::std::os::raw::c_char; 4usize],
2740}
2741#[repr(C)]
2742#[derive(Copy, Clone)]
2743pub struct tm_input_data_t {
2744 pub __bindgen_anon_1: tm_input_data_t__bindgen_ty_1,
2745}
2746#[repr(C)]
2747#[derive(Copy, Clone)]
2748pub union tm_input_data_t__bindgen_ty_1 {
2749 pub f: tm_vec4_t,
2750 pub codepoint: u32,
2751 _bindgen_union_align: [u32; 4usize],
2752}
2753#[repr(C)]
2754#[derive(Copy, Clone)]
2755pub struct tm_input_event_t {
2756 pub time: u64,
2757 pub source: *mut tm_input_source_i,
2758 pub controller_id: u64,
2759 pub item_id: u64,
2760 pub type_: u64,
2761 pub data: tm_input_data_t,
2762 pub extra: *mut ::std::os::raw::c_void,
2763}
2764#[repr(C)]
2765#[derive(Copy, Clone)]
2766pub struct tm_input_source_i {
2767 pub controller_name: *const ::std::os::raw::c_char,
2768 pub controller_type: u32,
2769 pub _padding_464: [::std::os::raw::c_char; 4usize],
2770 pub controllers: ::std::option::Option<unsafe extern "C" fn(ids: *mut *mut u64) -> u32>,
2771 pub items: ::std::option::Option<unsafe extern "C" fn(items: *mut *mut tm_input_item_t) -> u32>,
2772 pub events: ::std::option::Option<
2773 unsafe extern "C" fn(start: u64, events: *mut tm_input_event_t, buffer_size: u64) -> u64,
2774 >,
2775 pub state:
2776 ::std::option::Option<unsafe extern "C" fn(controller: u64, item: u64) -> tm_input_data_t>,
2777}
2778#[repr(C)]
2779#[derive(Copy, Clone)]
2780pub struct tm_input_api {
2781 pub add_source: ::std::option::Option<unsafe extern "C" fn(source: *mut tm_input_source_i)>,
2782 pub remove_source: ::std::option::Option<unsafe extern "C" fn(source: *mut tm_input_source_i)>,
2783 pub sources: ::std::option::Option<
2784 unsafe extern "C" fn(sources: *mut *mut *mut tm_input_source_i) -> u32,
2785 >,
2786 pub events: ::std::option::Option<
2787 unsafe extern "C" fn(start: u64, events: *mut tm_input_event_t, buffer_size: u64) -> u64,
2788 >,
2789 pub keyboard_item_names:
2790 ::std::option::Option<unsafe extern "C" fn() -> *mut *const ::std::os::raw::c_char>,
2791}
2792#[repr(C)]
2793#[derive(Copy, Clone)]
2794pub struct tm_integration_test_runner_o {
2795 _unused: [u8; 0],
2796}
2797#[repr(C)]
2798#[derive(Copy, Clone)]
2799pub struct tm_integration_test_runner_i {
2800 pub inst: *mut tm_integration_test_runner_o,
2801 pub context: u64,
2802 pub app: *mut tm_application_o,
2803 pub wait: ::std::option::Option<
2804 unsafe extern "C" fn(inst: *mut tm_integration_test_runner_o, sec: f32, id: u64) -> bool,
2805 >,
2806}
2807#[repr(C)]
2808#[derive(Copy, Clone)]
2809pub struct tm_integration_test_i {
2810 pub name: *const ::std::os::raw::c_char,
2811 pub context: u64,
2812 pub tick: ::std::option::Option<unsafe extern "C" fn(arg1: *mut tm_integration_test_runner_i)>,
2813}
2814#[repr(C)]
2815#[derive(Copy, Clone)]
2816pub struct tm_atomic_counter_o {
2817 _unused: [u8; 0],
2818}
2819#[repr(C)]
2820#[derive(Copy, Clone)]
2821pub struct tm_jobdecl_t {
2822 pub task: ::std::option::Option<unsafe extern "C" fn(data: *mut ::std::os::raw::c_void)>,
2823 pub data: *mut ::std::os::raw::c_void,
2824 pub pin_thread_handle: u32,
2825 pub _padding_20: [::std::os::raw::c_char; 4usize],
2826}
2827#[repr(C)]
2828#[derive(Copy, Clone)]
2829pub struct tm_job_system_api {
2830 pub run_jobs: ::std::option::Option<
2831 unsafe extern "C" fn(jobs: *mut tm_jobdecl_t, num_jobs: u32) -> *mut tm_atomic_counter_o,
2832 >,
2833 pub run_jobs_and_auto_free_counter:
2834 ::std::option::Option<unsafe extern "C" fn(jobs: *mut tm_jobdecl_t, num_jobs: u32)>,
2835 pub wait_for_counter:
2836 ::std::option::Option<unsafe extern "C" fn(counter: *mut tm_atomic_counter_o, value: u32)>,
2837 pub wait_for_counter_and_free:
2838 ::std::option::Option<unsafe extern "C" fn(counter: *mut tm_atomic_counter_o)>,
2839 pub wait_for_counter_and_free_no_fiber:
2840 ::std::option::Option<unsafe extern "C" fn(counter: *mut tm_atomic_counter_o)>,
2841 pub pin_thread_handle:
2842 ::std::option::Option<unsafe extern "C" fn(worker_thread_idx: u32) -> u32>,
2843 pub num_worker_threads: ::std::option::Option<unsafe extern "C" fn() -> u32>,
2844}
2845pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_ALLOW_UNQUOTED_KEYS: tm_json_parse_ext = 1;
2846pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_ALLOW_COMMENTS: tm_json_parse_ext = 2;
2847pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_IMPLICIT_ROOT_OBJECT: tm_json_parse_ext = 4;
2848pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_OPTIONAL_COMMAS: tm_json_parse_ext = 8;
2849pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_EQUALS_FOR_COLON: tm_json_parse_ext = 16;
2850pub const tm_json_parse_ext_TM_JSON_PARSE_EXT_LUA_QUOTING: tm_json_parse_ext = 32;
2851pub type tm_json_parse_ext = ::std::os::raw::c_int;
2852pub const tm_json_generate_ext_TM_JSON_GENERATE_EXT_PREFER_UNQUOTED_KEYS: tm_json_generate_ext = 1;
2853pub const tm_json_generate_ext_TM_JSON_GENERATE_EXT_IMPLICIT_ROOT_OBJECT: tm_json_generate_ext = 4;
2854pub const tm_json_generate_ext_TM_JSON_GENERATE_EXT_NO_COMMAS: tm_json_generate_ext = 8;
2855pub const tm_json_generate_ext_TM_JSON_GENERATE_EXT_USE_EQUALS_INSTEAD_OF_COLON:
2856 tm_json_generate_ext = 16;
2857pub const tm_json_generate_ext_TM_JSON_GENERATE_EXT_USE_LUA_QUOTING: tm_json_generate_ext = 32;
2858pub const tm_json_generate_ext_TM_JSON_GENERATE_INLINE_SMALL_ARRAYS: tm_json_generate_ext = 64;
2859pub const tm_json_generate_ext_TM_JSON_GENERATE_INLINE_SMALL_OBJECTS: tm_json_generate_ext = 128;
2860pub const tm_json_generate_ext_TM_JSON_GENERATE_INDENT_WITH_TABS: tm_json_generate_ext = 256;
2861pub type tm_json_generate_ext = ::std::os::raw::c_int;
2862#[repr(C)]
2863#[derive(Copy, Clone)]
2864pub struct tm_json_line_info_t {
2865 pub config_item: u32,
2866 pub line_number: u32,
2867}
2868#[repr(C)]
2869#[derive(Copy, Clone)]
2870pub struct tm_json_parse_info_t {
2871 pub success: bool,
2872 pub error: [::std::os::raw::c_char; 80usize],
2873 pub _padding_97: [::std::os::raw::c_char; 3usize],
2874 pub num_line_info: u32,
2875 pub allocated_line_info: u32,
2876 pub line_info: [tm_json_line_info_t; 1usize],
2877}
2878#[repr(C)]
2879#[derive(Copy, Clone)]
2880pub struct tm_json_generate_t {
2881 pub s: *mut ::std::os::raw::c_char,
2882 pub len: u32,
2883 pub allocated: u32,
2884}
2885#[repr(C)]
2886#[derive(Copy, Clone)]
2887pub struct tm_json_api {
2888 pub parse: ::std::option::Option<
2889 unsafe extern "C" fn(
2890 s: *const ::std::os::raw::c_char,
2891 config: *mut tm_config_i,
2892 extensions: tm_json_parse_ext,
2893 error: *mut ::std::os::raw::c_char,
2894 ) -> bool,
2895 >,
2896 pub parse_with_line_info: ::std::option::Option<
2897 unsafe extern "C" fn(
2898 s: *const ::std::os::raw::c_char,
2899 config: *mut tm_config_i,
2900 extensions: tm_json_parse_ext,
2901 ta: *mut tm_temp_allocator_i,
2902 ) -> *mut tm_json_parse_info_t,
2903 >,
2904 pub line_number: ::std::option::Option<
2905 unsafe extern "C" fn(pi: *const tm_json_parse_info_t, item: *const tm_config_item_t) -> u32,
2906 >,
2907 pub generate: ::std::option::Option<
2908 unsafe extern "C" fn(
2909 config: *mut tm_config_i,
2910 flags: tm_json_generate_ext,
2911 ta: *mut tm_temp_allocator_i,
2912 ) -> tm_json_generate_t,
2913 >,
2914}
2915#[repr(C)]
2916#[derive(Copy, Clone)]
2917pub struct tm_localizer_strings_t {
2918 pub num_strings: u32,
2919 pub stride_bytes: u32,
2920 pub strings: *const *const ::std::os::raw::c_char,
2921}
2922pub type tm_localizer_strings_i =
2923 ::std::option::Option<unsafe extern "C" fn(language: u64) -> tm_localizer_strings_t>;
2924#[repr(C)]
2925#[derive(Copy, Clone)]
2926pub struct tm_localizer_o {
2927 _unused: [u8; 0],
2928}
2929#[repr(C)]
2930#[derive(Copy, Clone)]
2931pub struct tm_localizer_i {
2932 pub inst: *mut tm_localizer_o,
2933 pub localize: ::std::option::Option<
2934 unsafe extern "C" fn(
2935 inst: *mut tm_localizer_o,
2936 s: *const ::std::os::raw::c_char,
2937 context: *const ::std::os::raw::c_char,
2938 ) -> *const ::std::os::raw::c_char,
2939 >,
2940}
2941#[repr(C)]
2942#[derive(Copy, Clone)]
2943pub struct tm_localizer_api {
2944 pub def: *mut *mut tm_localizer_i,
2945 pub passthrough: *mut tm_localizer_i,
2946}
2947pub const tm_log_type_TM_LOG_TYPE_INFO: tm_log_type = 0;
2948pub const tm_log_type_TM_LOG_TYPE_DEBUG: tm_log_type = 1;
2949pub const tm_log_type_TM_LOG_TYPE_ERROR: tm_log_type = 2;
2950pub type tm_log_type = ::std::os::raw::c_int;
2951#[repr(C)]
2952#[derive(Copy, Clone)]
2953pub struct tm_logger_o {
2954 _unused: [u8; 0],
2955}
2956#[repr(C)]
2957#[derive(Copy, Clone)]
2958pub struct tm_logger_i {
2959 pub inst: *mut tm_logger_o,
2960 pub log: ::std::option::Option<
2961 unsafe extern "C" fn(
2962 inst: *mut tm_logger_o,
2963 log_type: tm_log_type,
2964 msg: *const ::std::os::raw::c_char,
2965 ),
2966 >,
2967}
2968#[repr(C)]
2969#[derive(Copy, Clone)]
2970pub struct tm_logger_api {
2971 pub add_logger: ::std::option::Option<unsafe extern "C" fn(logger: *const tm_logger_i)>,
2972 pub remove_logger: ::std::option::Option<unsafe extern "C" fn(logger: *const tm_logger_i)>,
2973 pub print: ::std::option::Option<
2974 unsafe extern "C" fn(log_type: tm_log_type, msg: *const ::std::os::raw::c_char),
2975 >,
2976 pub printf: ::std::option::Option<
2977 unsafe extern "C" fn(
2978 log_type: tm_log_type,
2979 format: *const ::std::os::raw::c_char,
2980 ...
2981 ) -> ::std::os::raw::c_int,
2982 >,
2983 pub default_logger: *mut tm_logger_i,
2984}
2985#[repr(C)]
2986#[derive(Copy, Clone)]
2987pub struct tm_lz4_api {
2988 pub compress: ::std::option::Option<
2989 unsafe extern "C" fn(
2990 src: *const ::std::os::raw::c_char,
2991 src_size: u32,
2992 dst: *mut ::std::os::raw::c_char,
2993 dst_capacity: u32,
2994 ) -> u32,
2995 >,
2996 pub decompress: ::std::option::Option<
2997 unsafe extern "C" fn(
2998 src: *const ::std::os::raw::c_char,
2999 src_size: u32,
3000 dst: *mut ::std::os::raw::c_char,
3001 dst_capacity: u32,
3002 ) -> u32,
3003 >,
3004 pub compress_bound: ::std::option::Option<unsafe extern "C" fn(src_size: u32) -> u32>,
3005}
3006#[repr(C)]
3007#[derive(Copy, Clone)]
3008pub struct tm_math_api {
3009 pub mat44_multiply: ::std::option::Option<
3010 unsafe extern "C" fn(res: *mut tm_mat44_t, lhs: *const tm_mat44_t, rhs: *const tm_mat44_t),
3011 >,
3012 pub mat44_inverse:
3013 ::std::option::Option<unsafe extern "C" fn(res: *mut tm_mat44_t, m: *const tm_mat44_t)>,
3014 pub mat44_determinant: ::std::option::Option<unsafe extern "C" fn(m: *const tm_mat44_t) -> f32>,
3015 pub mat44_determinant33:
3016 ::std::option::Option<unsafe extern "C" fn(m: *const tm_mat44_t) -> f32>,
3017 pub mat44_to_quaternion:
3018 ::std::option::Option<unsafe extern "C" fn(m: *const tm_mat44_t) -> tm_vec4_t>,
3019 pub mat44_to_translation_quaternion_scale: ::std::option::Option<
3020 unsafe extern "C" fn(
3021 t: *mut tm_vec3_t,
3022 r: *mut tm_vec4_t,
3023 s: *mut tm_vec3_t,
3024 m: *const tm_mat44_t,
3025 ),
3026 >,
3027}
3028#[repr(C)]
3029#[derive(Copy, Clone)]
3030pub struct tm_memory_tracker_scope_data_t {
3031 pub desc: *const ::std::os::raw::c_char,
3032 pub allocated_bytes: u64,
3033 pub allocation_count: u64,
3034 pub parent: u32,
3035 pub num_children: u32,
3036 pub tracing_enabled: bool,
3037 pub _padding_42: [::std::os::raw::c_char; 3usize],
3038 pub trace_count: u32,
3039}
3040#[repr(C)]
3041#[derive(Copy, Clone)]
3042pub struct tm_memory_tracker_trace_data_t {
3043 pub file: *const ::std::os::raw::c_char,
3044 pub line: u32,
3045 pub scope: u32,
3046 pub allocated_bytes: u64,
3047 pub allocation_count: u64,
3048}
3049#[repr(C)]
3050#[derive(Copy, Clone)]
3051pub struct tm_memory_tracker_api {
3052 pub check_for_leaked_scopes: ::std::option::Option<unsafe extern "C" fn()>,
3053 pub create_scope: ::std::option::Option<
3054 unsafe extern "C" fn(desc: *const ::std::os::raw::c_char, parent_scope: u32) -> u32,
3055 >,
3056 pub destroy_scope: ::std::option::Option<unsafe extern "C" fn(s: u32)>,
3057 pub destroy_scope_allowing_leaks:
3058 ::std::option::Option<unsafe extern "C" fn(scope: u32, max_leaked_bytes: u64)>,
3059 pub record_realloc: ::std::option::Option<
3060 unsafe extern "C" fn(
3061 old_ptr: *mut ::std::os::raw::c_void,
3062 old_size: u64,
3063 new_ptr: *mut ::std::os::raw::c_void,
3064 new_size: u64,
3065 file: *const ::std::os::raw::c_char,
3066 line: u32,
3067 scope: u32,
3068 ),
3069 >,
3070 pub allocated_bytes: ::std::option::Option<unsafe extern "C" fn(scope: u32) -> u64>,
3071 pub allocation_count: ::std::option::Option<unsafe extern "C" fn(scope: u32) -> u64>,
3072 pub set_scope_tracing: ::std::option::Option<unsafe extern "C" fn(scope: u32, enabled: bool)>,
3073 pub scope_data_snapshot: ::std::option::Option<
3074 unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *mut tm_memory_tracker_scope_data_t,
3075 >,
3076 pub trace_data_snapshot: ::std::option::Option<
3077 unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *mut tm_memory_tracker_trace_data_t,
3078 >,
3079}
3080#[repr(C)]
3081#[derive(Copy, Clone)]
3082pub struct tm_file_o {
3083 pub opaque: u64,
3084}
3085#[repr(C)]
3086#[derive(Copy, Clone)]
3087pub struct tm_file_system_watcher_o {
3088 pub opaque: u64,
3089}
3090#[repr(C)]
3091#[derive(Copy, Clone)]
3092pub struct tm_dll_o {
3093 pub opaque: u64,
3094}
3095#[repr(C)]
3096#[derive(Copy, Clone)]
3097pub struct tm_socket_o {
3098 pub opaque: u64,
3099}
3100#[repr(C)]
3101#[derive(Copy, Clone)]
3102pub struct tm_file_time_o {
3103 pub opaque: u64,
3104}
3105#[repr(C)]
3106#[derive(Copy, Clone)]
3107pub struct tm_critical_section_o {
3108 pub opaque: [u8; 64usize],
3109}
3110#[repr(C)]
3111#[derive(Copy, Clone)]
3112pub struct tm_semaphore_o {
3113 pub opaque: u64,
3114}
3115#[repr(C)]
3116#[derive(Copy, Clone)]
3117pub struct tm_thread_o {
3118 pub opaque: [u64; 2usize],
3119}
3120#[repr(C)]
3121#[derive(Copy, Clone)]
3122pub struct tm_fiber_o {
3123 pub opaque: u64,
3124}
3125#[repr(C)]
3126#[derive(Copy, Clone)]
3127pub struct tm_socket_address_t {
3128 pub __bindgen_anon_1: tm_socket_address_t__bindgen_ty_1,
3129 pub port: u32,
3130}
3131#[repr(C)]
3132#[derive(Copy, Clone)]
3133pub union tm_socket_address_t__bindgen_ty_1 {
3134 pub ip: u32,
3135 pub ip_byte: [u8; 4usize],
3136 _bindgen_union_align: u32,
3137}
3138#[repr(C)]
3139#[derive(Copy, Clone)]
3140pub struct tm_file_stat_t {
3141 pub exists: bool,
3142 pub is_directory: bool,
3143 pub _padding_106: [::std::os::raw::c_char; 6usize],
3144 pub last_modified_time: tm_file_time_o,
3145 pub size: u64,
3146}
3147#[repr(C)]
3148#[derive(Copy, Clone)]
3149pub struct tm_strings_t {
3150 pub count: u32,
3151 pub bytes: u32,
3152}
3153pub type tm_thread_entry_f =
3154 ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>;
3155pub type tm_fiber_entry_f =
3156 ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>;
3157#[repr(C)]
3158#[derive(Copy, Clone)]
3159pub struct tm_os_virtual_memory_api {
3160 pub map: ::std::option::Option<unsafe extern "C" fn(size: u64) -> *mut ::std::os::raw::c_void>,
3161 pub unmap:
3162 ::std::option::Option<unsafe extern "C" fn(p: *mut ::std::os::raw::c_void, size: u64)>,
3163 pub reserve:
3164 ::std::option::Option<unsafe extern "C" fn(size: u64) -> *mut ::std::os::raw::c_void>,
3165 pub commit:
3166 ::std::option::Option<unsafe extern "C" fn(p: *mut ::std::os::raw::c_void, size: u64)>,
3167}
3168#[repr(C)]
3169#[derive(Copy, Clone)]
3170pub struct tm_os_file_io_api {
3171 pub open_input: ::std::option::Option<
3172 unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> tm_file_o,
3173 >,
3174 pub open_output: ::std::option::Option<
3175 unsafe extern "C" fn(path: *const ::std::os::raw::c_char, append: bool) -> tm_file_o,
3176 >,
3177 pub set_position: ::std::option::Option<unsafe extern "C" fn(file: tm_file_o, pos: u64)>,
3178 pub size: ::std::option::Option<unsafe extern "C" fn(file: tm_file_o) -> u64>,
3179 pub read: ::std::option::Option<
3180 unsafe extern "C" fn(
3181 file: tm_file_o,
3182 buffer: *mut ::std::os::raw::c_void,
3183 size: u64,
3184 ) -> i64,
3185 >,
3186 pub write: ::std::option::Option<
3187 unsafe extern "C" fn(
3188 file: tm_file_o,
3189 buffer: *const ::std::os::raw::c_void,
3190 size: u64,
3191 ) -> bool,
3192 >,
3193 pub read_at: ::std::option::Option<
3194 unsafe extern "C" fn(
3195 file: tm_file_o,
3196 offset: u64,
3197 buffer: *mut ::std::os::raw::c_void,
3198 size: u64,
3199 ) -> i64,
3200 >,
3201 pub write_at: ::std::option::Option<
3202 unsafe extern "C" fn(
3203 file: tm_file_o,
3204 offset: u64,
3205 buffer: *const ::std::os::raw::c_void,
3206 size: u64,
3207 ) -> bool,
3208 >,
3209 pub close: ::std::option::Option<unsafe extern "C" fn(file: tm_file_o)>,
3210 pub is_valid: ::std::option::Option<unsafe extern "C" fn(file: tm_file_o) -> bool>,
3211 pub invalid_file: tm_file_o,
3212}
3213#[repr(C)]
3214#[derive(Copy, Clone)]
3215pub struct tm_os_file_system_api {
3216 pub stat: ::std::option::Option<
3217 unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> tm_file_stat_t,
3218 >,
3219 pub directory_entries: ::std::option::Option<
3220 unsafe extern "C" fn(
3221 path: *const ::std::os::raw::c_char,
3222 ta: *mut tm_temp_allocator_i,
3223 ) -> *mut tm_strings_t,
3224 >,
3225 pub make_directory:
3226 ::std::option::Option<unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> bool>,
3227 pub remove_file:
3228 ::std::option::Option<unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> bool>,
3229 pub remove_directory:
3230 ::std::option::Option<unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> bool>,
3231 pub rename: ::std::option::Option<
3232 unsafe extern "C" fn(
3233 old_name: *const ::std::os::raw::c_char,
3234 new_name: *const ::std::os::raw::c_char,
3235 ) -> bool,
3236 >,
3237 pub copy_file: ::std::option::Option<
3238 unsafe extern "C" fn(
3239 from: *const ::std::os::raw::c_char,
3240 to: *const ::std::os::raw::c_char,
3241 ) -> bool,
3242 >,
3243 pub getcwd: ::std::option::Option<
3244 unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *const ::std::os::raw::c_char,
3245 >,
3246 pub chdir:
3247 ::std::option::Option<unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> bool>,
3248 pub is_absolute:
3249 ::std::option::Option<unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> bool>,
3250 pub absolute: ::std::option::Option<
3251 unsafe extern "C" fn(
3252 path: *const ::std::os::raw::c_char,
3253 ta: *mut tm_temp_allocator_i,
3254 ) -> *const ::std::os::raw::c_char,
3255 >,
3256 pub temp_directory: ::std::option::Option<
3257 unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *const ::std::os::raw::c_char,
3258 >,
3259 pub create_watcher: ::std::option::Option<
3260 unsafe extern "C" fn(dir_path: *const ::std::os::raw::c_char) -> tm_file_system_watcher_o,
3261 >,
3262 pub any_changes:
3263 ::std::option::Option<unsafe extern "C" fn(watcher: tm_file_system_watcher_o) -> bool>,
3264 pub destroy_watcher:
3265 ::std::option::Option<unsafe extern "C" fn(watcher: tm_file_system_watcher_o)>,
3266 pub app_folder: ::std::option::Option<
3267 unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *const ::std::os::raw::c_char,
3268 >,
3269}
3270#[repr(C)]
3271#[derive(Copy, Clone)]
3272pub struct tm_os_dll_api {
3273 pub open: ::std::option::Option<
3274 unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> tm_dll_o,
3275 >,
3276 pub is_valid: ::std::option::Option<unsafe extern "C" fn(handle: tm_dll_o) -> bool>,
3277 pub sym: ::std::option::Option<
3278 unsafe extern "C" fn(
3279 handle: tm_dll_o,
3280 name: *const ::std::os::raw::c_char,
3281 ) -> *mut ::std::os::raw::c_void,
3282 >,
3283 pub close: ::std::option::Option<unsafe extern "C" fn(handle: tm_dll_o)>,
3284}
3285pub const tm_os_socket_type_TM_OS_SOCKET_TYPE_TCP: tm_os_socket_type = 1;
3286pub const tm_os_socket_type_TM_OS_SOCKET_TYPE_UDP: tm_os_socket_type = 2;
3287pub const tm_os_socket_type_TM_OS_SOCKET_TYPE_INVALID: tm_os_socket_type = 3;
3288pub type tm_os_socket_type = ::std::os::raw::c_int;
3289pub const tm_os_socket_error_TM_OS_SOCKET_ERROR_WOULD_BLOCK: tm_os_socket_error = -1000;
3290pub const tm_os_socket_error_TM_OS_SOCKET_ERROR_CLOSED: tm_os_socket_error = -1001;
3291pub const tm_os_socket_error_TM_OS_SOCKET_ERROR_OTHER: tm_os_socket_error = -1;
3292pub type tm_os_socket_error = ::std::os::raw::c_int;
3293pub const tm_os_socket_connect_TM_OS_SOCKET_CONNECT_PENDING: tm_os_socket_connect = 0;
3294pub const tm_os_socket_connect_TM_OS_SOCKET_CONNECT_ESTABLISHED: tm_os_socket_connect = 1;
3295pub const tm_os_socket_connect_TM_OS_SOCKET_CONNECT_FAILED: tm_os_socket_connect = 2;
3296pub type tm_os_socket_connect = ::std::os::raw::c_int;
3297pub const tm_os_socket_getaddrinfo_TM_OS_SOCKET_GETADDRINFO_IN_PROGRESS: tm_os_socket_getaddrinfo =
3298 0;
3299pub const tm_os_socket_getaddrinfo_TM_OS_SOCKET_GETADDRINFO_SUCCESS: tm_os_socket_getaddrinfo = 1;
3300pub const tm_os_socket_getaddrinfo_TM_OS_SOCKET_GETADDRINFO_ERROR: tm_os_socket_getaddrinfo = 2;
3301pub type tm_os_socket_getaddrinfo = ::std::os::raw::c_int;
3302pub const tm_os_socket_option_TM_SOCKET_OPTION__NODELAY: tm_os_socket_option = 0;
3303pub const tm_os_socket_option_TM_SOCKET_OPTION__NONBLOCK: tm_os_socket_option = 1;
3304pub type tm_os_socket_option = ::std::os::raw::c_int;
3305#[repr(C)]
3306#[derive(Copy, Clone)]
3307pub struct tm_os_socket_api {
3308 pub init: ::std::option::Option<unsafe extern "C" fn()>,
3309 pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
3310 pub socket:
3311 ::std::option::Option<unsafe extern "C" fn(type_: tm_os_socket_type) -> tm_socket_o>,
3312 pub set_option: ::std::option::Option<
3313 unsafe extern "C" fn(socket: tm_socket_o, option: tm_os_socket_option, enabled: bool),
3314 >,
3315 pub is_valid: ::std::option::Option<unsafe extern "C" fn(socket: tm_socket_o) -> bool>,
3316 pub bind: ::std::option::Option<
3317 unsafe extern "C" fn(socket: tm_socket_o, address: tm_socket_address_t) -> bool,
3318 >,
3319 pub getsockname: ::std::option::Option<
3320 unsafe extern "C" fn(socket: tm_socket_o, address: *mut tm_socket_address_t) -> bool,
3321 >,
3322 pub listen:
3323 ::std::option::Option<unsafe extern "C" fn(socket: tm_socket_o, queue_size: u32) -> bool>,
3324 pub accept: ::std::option::Option<
3325 unsafe extern "C" fn(socket: tm_socket_o, address: *mut tm_socket_address_t) -> tm_socket_o,
3326 >,
3327 pub connect: ::std::option::Option<
3328 unsafe extern "C" fn(
3329 socket: tm_socket_o,
3330 target: tm_socket_address_t,
3331 ) -> tm_os_socket_connect,
3332 >,
3333 pub send: ::std::option::Option<
3334 unsafe extern "C" fn(
3335 socket: tm_socket_o,
3336 buffer: *const ::std::os::raw::c_void,
3337 size: u32,
3338 ) -> i32,
3339 >,
3340 pub recv: ::std::option::Option<
3341 unsafe extern "C" fn(
3342 socket: tm_socket_o,
3343 buffer: *mut ::std::os::raw::c_void,
3344 size: u32,
3345 ) -> i32,
3346 >,
3347 pub sendto: ::std::option::Option<
3348 unsafe extern "C" fn(
3349 socket: tm_socket_o,
3350 buffer: *const ::std::os::raw::c_void,
3351 size: u32,
3352 target: tm_socket_address_t,
3353 ) -> i32,
3354 >,
3355 pub recvfrom: ::std::option::Option<
3356 unsafe extern "C" fn(
3357 socket: tm_socket_o,
3358 buffer: *mut ::std::os::raw::c_void,
3359 size: u32,
3360 source: *mut tm_socket_address_t,
3361 ) -> i32,
3362 >,
3363 pub close: ::std::option::Option<unsafe extern "C" fn(socket: tm_socket_o) -> bool>,
3364 pub getaddrinfo: ::std::option::Option<
3365 unsafe extern "C" fn(
3366 name: *const ::std::os::raw::c_char,
3367 service: *const ::std::os::raw::c_char,
3368 addresses: *mut tm_socket_address_t,
3369 size: u32,
3370 ) -> u32,
3371 >,
3372 pub getaddrinfo_async: ::std::option::Option<
3373 unsafe extern "C" fn(
3374 name: *const ::std::os::raw::c_char,
3375 service: *const ::std::os::raw::c_char,
3376 ) -> *mut ::std::os::raw::c_void,
3377 >,
3378 pub getaddrinfo_result: ::std::option::Option<
3379 unsafe extern "C" fn(
3380 query: *mut ::std::os::raw::c_void,
3381 addresses: *mut tm_socket_address_t,
3382 count: *mut u32,
3383 ) -> tm_os_socket_getaddrinfo,
3384 >,
3385}
3386pub const tm_os_thread__priority_TM_OS_THREAD__PRIORITY__LOWEST: tm_os_thread__priority = 0;
3387pub const tm_os_thread__priority_TM_OS_THREAD__PRIOIRTY__LOW: tm_os_thread__priority = 1;
3388pub const tm_os_thread__priority_TM_OS_THREAD__PRIORITY__NORMAL: tm_os_thread__priority = 2;
3389pub const tm_os_thread__priority_TM_OS_THREAD__PRIORITY__HIGH: tm_os_thread__priority = 3;
3390pub const tm_os_thread__priority_TM_OS_THREAD__PRIORITY__HIGHEST: tm_os_thread__priority = 4;
3391pub const tm_os_thread__priority_TM_OS_THREAD__PRIORITY__TIME_CRITICAL: tm_os_thread__priority = 5;
3392pub type tm_os_thread__priority = ::std::os::raw::c_int;
3393#[repr(C)]
3394#[derive(Copy, Clone)]
3395pub struct tm_os_thread_api {
3396 pub create_critical_section:
3397 ::std::option::Option<unsafe extern "C" fn(cs: *mut tm_critical_section_o)>,
3398 pub enter_critical_section:
3399 ::std::option::Option<unsafe extern "C" fn(cs: *mut tm_critical_section_o)>,
3400 pub leave_critical_section:
3401 ::std::option::Option<unsafe extern "C" fn(cs: *mut tm_critical_section_o)>,
3402 pub destroy_critical_section:
3403 ::std::option::Option<unsafe extern "C" fn(cs: *mut tm_critical_section_o)>,
3404 pub create_semaphore:
3405 ::std::option::Option<unsafe extern "C" fn(initial_count: u32) -> tm_semaphore_o>,
3406 pub semaphore_add: ::std::option::Option<unsafe extern "C" fn(sem: tm_semaphore_o, count: u32)>,
3407 pub semaphore_wait: ::std::option::Option<unsafe extern "C" fn(sem: tm_semaphore_o)>,
3408 pub semaphore_poll: ::std::option::Option<unsafe extern "C" fn(sem: tm_semaphore_o) -> bool>,
3409 pub destroy_semaphore: ::std::option::Option<unsafe extern "C" fn(sem: tm_semaphore_o)>,
3410 pub thread_id: ::std::option::Option<unsafe extern "C" fn() -> u32>,
3411 pub processor_id: ::std::option::Option<unsafe extern "C" fn() -> u32>,
3412 pub create_thread: ::std::option::Option<
3413 unsafe extern "C" fn(
3414 entry: tm_thread_entry_f,
3415 user_data: *mut ::std::os::raw::c_void,
3416 stack_size: u32,
3417 debug_name: *const ::std::os::raw::c_char,
3418 ) -> tm_thread_o,
3419 >,
3420 pub set_thread_priority: ::std::option::Option<
3421 unsafe extern "C" fn(thread: tm_thread_o, priority: tm_os_thread__priority),
3422 >,
3423 pub wait_for_thread: ::std::option::Option<unsafe extern "C" fn(thread: tm_thread_o)>,
3424 pub thread_id_from_tm_thread:
3425 ::std::option::Option<unsafe extern "C" fn(thread: tm_thread_o) -> u32>,
3426 pub convert_thread_to_fiber: ::std::option::Option<
3427 unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void) -> tm_fiber_o,
3428 >,
3429 pub convert_fiber_to_thread: ::std::option::Option<unsafe extern "C" fn()>,
3430 pub create_fiber: ::std::option::Option<
3431 unsafe extern "C" fn(
3432 entry: tm_fiber_entry_f,
3433 user_data: *mut ::std::os::raw::c_void,
3434 stack_size: u32,
3435 ) -> tm_fiber_o,
3436 >,
3437 pub destroy_fiber: ::std::option::Option<unsafe extern "C" fn(fiber: tm_fiber_o)>,
3438 pub switch_to_fiber: ::std::option::Option<unsafe extern "C" fn(fiber: tm_fiber_o)>,
3439 pub fiber_user_data:
3440 ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>,
3441 pub yield_processor: ::std::option::Option<unsafe extern "C" fn()>,
3442 pub sleep: ::std::option::Option<unsafe extern "C" fn(seconds: f64)>,
3443}
3444#[repr(C)]
3445#[derive(Copy, Clone)]
3446pub struct tm_os_time_api {
3447 pub now: ::std::option::Option<unsafe extern "C" fn() -> tm_clock_o>,
3448 pub delta: ::std::option::Option<unsafe extern "C" fn(to: tm_clock_o, from: tm_clock_o) -> f64>,
3449 pub add:
3450 ::std::option::Option<unsafe extern "C" fn(from: tm_clock_o, delta: f64) -> tm_clock_o>,
3451 pub file_time_now: ::std::option::Option<unsafe extern "C" fn() -> tm_file_time_o>,
3452 pub file_time_delta: ::std::option::Option<
3453 unsafe extern "C" fn(to: tm_file_time_o, from: tm_file_time_o) -> f64,
3454 >,
3455}
3456#[repr(C)]
3457#[derive(Copy, Clone)]
3458pub struct tm_os_dialogs_open_t {
3459 pub extensions: *const ::std::os::raw::c_char,
3460 pub description: *const ::std::os::raw::c_char,
3461 pub allow_multi_select: bool,
3462 pub _padding_571: [::std::os::raw::c_char; 7usize],
3463}
3464#[repr(C)]
3465#[derive(Copy, Clone)]
3466pub struct tm_os_dialogs_open_res_t {
3467 pub num_files: u32,
3468 pub _padding_579: [::std::os::raw::c_char; 4usize],
3469 pub files: *mut *mut ::std::os::raw::c_char,
3470}
3471#[repr(C)]
3472#[derive(Copy, Clone)]
3473pub struct tm_os_dialogs_save_t {
3474 pub default_name: *const ::std::os::raw::c_char,
3475}
3476#[repr(C)]
3477#[derive(Copy, Clone)]
3478pub struct tm_os_dialogs_api {
3479 pub open: ::std::option::Option<
3480 unsafe extern "C" fn(
3481 s: *const tm_os_dialogs_open_t,
3482 ta: *mut tm_temp_allocator_i,
3483 ) -> tm_os_dialogs_open_res_t,
3484 >,
3485 pub open_folder: ::std::option::Option<
3486 unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> *mut ::std::os::raw::c_char,
3487 >,
3488 pub save: ::std::option::Option<
3489 unsafe extern "C" fn(
3490 s: *const tm_os_dialogs_save_t,
3491 ta: *mut tm_temp_allocator_i,
3492 ) -> *mut ::std::os::raw::c_char,
3493 >,
3494 pub message_box: ::std::option::Option<
3495 unsafe extern "C" fn(
3496 title: *const ::std::os::raw::c_char,
3497 text: *const ::std::os::raw::c_char,
3498 ),
3499 >,
3500 pub show_count: ::std::option::Option<unsafe extern "C" fn() -> u64>,
3501}
3502#[repr(C)]
3503#[derive(Copy, Clone)]
3504pub struct tm_os_info_api {
3505 pub num_logical_processors: ::std::option::Option<unsafe extern "C" fn() -> u32>,
3506 pub avx_support: ::std::option::Option<unsafe extern "C" fn() -> bool>,
3507}
3508#[repr(C)]
3509#[derive(Copy, Clone)]
3510pub struct tm_os_clipboard_item_t {
3511 pub format: *const ::std::os::raw::c_char,
3512 pub data: *const ::std::os::raw::c_char,
3513 pub size: u32,
3514 pub _padding_639: [::std::os::raw::c_char; 4usize],
3515}
3516#[repr(C)]
3517#[derive(Copy, Clone)]
3518pub struct tm_os_clipboard_api {
3519 pub get: ::std::option::Option<
3520 unsafe extern "C" fn(
3521 format: *const ::std::os::raw::c_char,
3522 ta: *mut tm_temp_allocator_i,
3523 ) -> tm_os_clipboard_item_t,
3524 >,
3525 pub set:
3526 ::std::option::Option<unsafe extern "C" fn(items: *mut tm_os_clipboard_item_t, n: u32)>,
3527}
3528#[repr(C)]
3529#[derive(Copy, Clone)]
3530pub struct tm_os_debugger_api {
3531 pub is_debugger_present: ::std::option::Option<unsafe extern "C" fn() -> bool>,
3532 pub debug_break: ::std::option::Option<unsafe extern "C" fn()>,
3533}
3534#[repr(C)]
3535#[derive(Copy, Clone)]
3536pub struct tm_os_system_api {
3537 pub open_url: ::std::option::Option<unsafe extern "C" fn(url: *const ::std::os::raw::c_char)>,
3538 pub open_file:
3539 ::std::option::Option<unsafe extern "C" fn(file: *const ::std::os::raw::c_char) -> bool>,
3540 pub exe_path: ::std::option::Option<
3541 unsafe extern "C" fn(
3542 argv_0: *const ::std::os::raw::c_char,
3543 ) -> *const ::std::os::raw::c_char,
3544 >,
3545 pub execute: ::std::option::Option<
3546 unsafe extern "C" fn(command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int,
3547 >,
3548}
3549#[repr(C)]
3550#[derive(Copy, Clone)]
3551pub struct tm_os_api {
3552 pub virtual_memory: *mut tm_os_virtual_memory_api,
3553 pub file_io: *mut tm_os_file_io_api,
3554 pub file_system: *mut tm_os_file_system_api,
3555 pub dll: *mut tm_os_dll_api,
3556 pub socket: *mut tm_os_socket_api,
3557 pub thread: *mut tm_os_thread_api,
3558 pub time: *mut tm_os_time_api,
3559 pub dialogs: *mut tm_os_dialogs_api,
3560 pub info: *mut tm_os_info_api,
3561 pub clipboard: *mut tm_os_clipboard_api,
3562 pub debugger: *mut tm_os_debugger_api,
3563 pub system: *mut tm_os_system_api,
3564}
3565#[repr(C)]
3566#[derive(Copy, Clone)]
3567pub struct tm_path_api {
3568 pub split: ::std::option::Option<
3569 unsafe extern "C" fn(
3570 path: *const ::std::os::raw::c_char,
3571 ext: *mut *const ::std::os::raw::c_char,
3572 ) -> *const ::std::os::raw::c_char,
3573 >,
3574 pub split_dir: ::std::option::Option<
3575 unsafe extern "C" fn(path: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char,
3576 >,
3577}
3578pub type tm_plugin_load_f =
3579 ::std::option::Option<unsafe extern "C" fn(reg: *mut tm_api_registry_api, load: bool)>;
3580#[repr(C)]
3581#[derive(Copy, Clone)]
3582pub struct tm_plugins_api {
3583 pub load: ::std::option::Option<
3584 unsafe extern "C" fn(path: *const ::std::os::raw::c_char, hot_reload: bool) -> u64,
3585 >,
3586 pub unload: ::std::option::Option<unsafe extern "C" fn(plugin: u64)>,
3587 pub reload: ::std::option::Option<unsafe extern "C" fn(plugin: u64)>,
3588 pub check_hot_reload: ::std::option::Option<unsafe extern "C" fn() -> bool>,
3589 pub reload_count: ::std::option::Option<unsafe extern "C" fn() -> u64>,
3590 pub enumerate: ::std::option::Option<
3591 unsafe extern "C" fn(
3592 dir: *const ::std::os::raw::c_char,
3593 ta: *mut tm_temp_allocator_i,
3594 ) -> *mut *const ::std::os::raw::c_char,
3595 >,
3596 pub load_plugin_context:
3597 ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
3598 pub plugin_dllpath: ::std::option::Option<
3599 unsafe extern "C" fn(
3600 ta: *mut tm_temp_allocator_i,
3601 exe: *const ::std::os::raw::c_char,
3602 name: *const ::std::os::raw::c_char,
3603 ) -> *const ::std::os::raw::c_char,
3604 >,
3605 pub app_dllpath: ::std::option::Option<
3606 unsafe extern "C" fn(
3607 ta: *mut tm_temp_allocator_i,
3608 exe: *const ::std::os::raw::c_char,
3609 name: *const ::std::os::raw::c_char,
3610 ) -> *const ::std::os::raw::c_char,
3611 >,
3612}
3613#[repr(C)]
3614#[derive(Copy, Clone)]
3615pub struct tm_plugin_init_i {
3616 pub inst: *mut tm_plugin_o,
3617 pub init: ::std::option::Option<
3618 unsafe extern "C" fn(inst: *mut tm_plugin_o, allocator: *mut tm_allocator_i),
3619 >,
3620}
3621#[repr(C)]
3622#[derive(Copy, Clone)]
3623pub struct tm_plugin_shutdown_i {
3624 pub inst: *mut tm_plugin_o,
3625 pub shutdown: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_plugin_o)>,
3626}
3627#[repr(C)]
3628#[derive(Copy, Clone)]
3629pub struct tm_plugin_tick_i {
3630 pub inst: *mut tm_plugin_o,
3631 pub tick: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_plugin_o, dt: f32)>,
3632}
3633#[repr(C)]
3634#[derive(Copy, Clone)]
3635pub struct tm_plugin_set_the_truth_i {
3636 pub inst: *mut tm_plugin_o,
3637 pub set_the_truth: ::std::option::Option<
3638 unsafe extern "C" fn(inst: *mut tm_plugin_o, tt: *mut tm_the_truth_o),
3639 >,
3640}
3641pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_BEGIN: tm_profiler_event_type = 0;
3642pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_END: tm_profiler_event_type = 1;
3643pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_INSTANT: tm_profiler_event_type = 2;
3644pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_START: tm_profiler_event_type = 3;
3645pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_FINISH: tm_profiler_event_type = 4;
3646pub const tm_profiler_event_type_TM_PROFILER_EVENT_TYPE_FIBER_SWITCH: tm_profiler_event_type = 5;
3647pub type tm_profiler_event_type = ::std::os::raw::c_int;
3648#[repr(C)]
3649#[derive(Copy, Clone)]
3650pub struct tm_profiler_event_t {
3651 pub type_: u32,
3652 pub thread_id: u32,
3653 pub time_stamp: u64,
3654 pub __bindgen_anon_1: tm_profiler_event_t__bindgen_ty_1,
3655}
3656#[repr(C)]
3657#[derive(Copy, Clone)]
3658pub union tm_profiler_event_t__bindgen_ty_1 {
3659 pub __bindgen_anon_1: tm_profiler_event_t__bindgen_ty_1__bindgen_ty_1,
3660 pub __bindgen_anon_2: tm_profiler_event_t__bindgen_ty_1__bindgen_ty_2,
3661 _bindgen_union_align: [u64; 4usize],
3662}
3663#[repr(C)]
3664#[derive(Copy, Clone)]
3665pub struct tm_profiler_event_t__bindgen_ty_1__bindgen_ty_1 {
3666 pub id: u32,
3667 pub _padding_51: [::std::os::raw::c_char; 4usize],
3668 pub category: *const ::std::os::raw::c_char,
3669 pub name: *const ::std::os::raw::c_char,
3670 pub object: *const ::std::os::raw::c_char,
3671}
3672#[repr(C)]
3673#[derive(Copy, Clone)]
3674pub struct tm_profiler_event_t__bindgen_ty_1__bindgen_ty_2 {
3675 pub from_fiber: u32,
3676 pub to_fiber: u32,
3677}
3678#[repr(C)]
3679#[derive(Copy, Clone)]
3680pub struct tm_profiler_buffer_t {
3681 pub total_recorded: u64,
3682 pub start: [u64; 2usize],
3683 pub events: [*const tm_profiler_event_t; 2usize],
3684 pub count: [u32; 2usize],
3685}
3686pub const TM_PROFILER_THREAD_BUFFER_SIZE: ::std::os::raw::c_int = 256;
3687pub type _bindgen_ty_1 = ::std::os::raw::c_int;
3688#[repr(C)]
3689#[derive(Copy, Clone)]
3690pub struct tm_profiler_api {
3691 pub init: ::std::option::Option<
3692 unsafe extern "C" fn(allocator: *mut tm_allocator_i, event_buffer_size: u32),
3693 >,
3694 pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
3695 pub enabled: *mut bool,
3696 pub begin: ::std::option::Option<
3697 unsafe extern "C" fn(
3698 name: *const ::std::os::raw::c_char,
3699 category: *const ::std::os::raw::c_char,
3700 object: *const ::std::os::raw::c_char,
3701 ) -> u64,
3702 >,
3703 pub end: ::std::option::Option<unsafe extern "C" fn(begin_id: u64)>,
3704 pub instant: ::std::option::Option<
3705 unsafe extern "C" fn(
3706 name: *const ::std::os::raw::c_char,
3707 category: *const ::std::os::raw::c_char,
3708 object: *const ::std::os::raw::c_char,
3709 ),
3710 >,
3711 pub start: ::std::option::Option<
3712 unsafe extern "C" fn(
3713 name: *const ::std::os::raw::c_char,
3714 category: *const ::std::os::raw::c_char,
3715 object: *const ::std::os::raw::c_char,
3716 ) -> u64,
3717 >,
3718 pub finish: ::std::option::Option<unsafe extern "C" fn(start_id: u64)>,
3719 pub intern: ::std::option::Option<
3720 unsafe extern "C" fn(s: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char,
3721 >,
3722 pub fiber_switch: ::std::option::Option<unsafe extern "C" fn(from_fiber: u32, to_fiber: u32)>,
3723 pub submit:
3724 ::std::option::Option<unsafe extern "C" fn(events: *mut tm_profiler_event_t, count: u32)>,
3725 pub copy: ::std::option::Option<
3726 unsafe extern "C" fn(
3727 dest: *mut tm_profiler_event_t,
3728 start: u64,
3729 count: u32,
3730 actual_start: *mut u64,
3731 actual_count: *mut u32,
3732 ),
3733 >,
3734 pub buffer: ::std::option::Option<unsafe extern "C" fn() -> tm_profiler_buffer_t>,
3735}
3736#[repr(C)]
3737#[derive(Copy, Clone)]
3738pub struct tm_task_progress_t {
3739 pub num_tasks: u32,
3740 pub task_index: u32,
3741 pub text: *const ::std::os::raw::c_char,
3742 pub fraction: f32,
3743 pub _padding_21: [::std::os::raw::c_char; 4usize],
3744}
3745#[repr(C)]
3746#[derive(Copy, Clone)]
3747pub struct tm_task_status_t {
3748 pub task_id: *mut u64,
3749 pub text: *mut *const ::std::os::raw::c_char,
3750 pub fraction: *mut f32,
3751 pub num_tasks: u32,
3752 pub _padding_30: [::std::os::raw::c_char; 4usize],
3753}
3754#[repr(C)]
3755#[derive(Copy, Clone)]
3756pub struct tm_progress_report_api {
3757 pub create:
3758 ::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i, task_display_time: f32)>,
3759 pub destroy: ::std::option::Option<unsafe extern "C" fn()>,
3760 pub update: ::std::option::Option<
3761 unsafe extern "C" fn(dt: f64, ta: *mut tm_temp_allocator_i) -> tm_task_progress_t,
3762 >,
3763 pub status: ::std::option::Option<
3764 unsafe extern "C" fn(ta: *mut tm_temp_allocator_i) -> tm_task_status_t,
3765 >,
3766 pub idle: ::std::option::Option<unsafe extern "C" fn() -> bool>,
3767 pub set_task_progress: ::std::option::Option<
3768 unsafe extern "C" fn(task: u64, text: *const ::std::os::raw::c_char, fraction: f32),
3769 >,
3770}
3771#[repr(C)]
3772#[derive(Copy, Clone)]
3773pub struct tm_random_api {
3774 pub next: ::std::option::Option<unsafe extern "C" fn() -> u64>,
3775 pub next_n: ::std::option::Option<unsafe extern "C" fn(res: *mut u64, n: u32)>,
3776 pub seed_new_state: ::std::option::Option<unsafe extern "C" fn(s: *mut u64)>,
3777}
3778#[repr(C)]
3779#[derive(Copy, Clone)]
3780pub struct tm_runtime_data_repository_o {
3781 _unused: [u8; 0],
3782}
3783#[repr(C)]
3784#[derive(Copy, Clone)]
3785pub struct tm_runtime_data_t {
3786 pub version: u64,
3787 pub data: *mut ::std::os::raw::c_void,
3788}
3789#[repr(C)]
3790#[derive(Copy, Clone)]
3791pub struct tm_runtime_data_io_i {
3792 pub load: ::std::option::Option<
3793 unsafe extern "C" fn(
3794 io_context: *mut ::std::os::raw::c_void,
3795 tt: *mut tm_the_truth_o,
3796 asset_id: tm_tt_id_t,
3797 result_runtime_data: *mut ::std::os::raw::c_void,
3798 ) -> bool,
3799 >,
3800 pub unload: ::std::option::Option<
3801 unsafe extern "C" fn(
3802 io_context: *mut ::std::os::raw::c_void,
3803 runtime_data: *mut ::std::os::raw::c_void,
3804 ),
3805 >,
3806}
3807#[repr(C)]
3808#[derive(Copy, Clone)]
3809pub struct tm_runtime_data_repository_api {
3810 pub create: ::std::option::Option<
3811 unsafe extern "C" fn(
3812 allocator: *mut tm_allocator_i,
3813 tt: *mut tm_the_truth_o,
3814 type_: u64,
3815 runtime_data_size: u32,
3816 io_interface: *mut tm_runtime_data_io_i,
3817 ) -> *mut tm_runtime_data_repository_o,
3818 >,
3819 pub destroy: ::std::option::Option<
3820 unsafe extern "C" fn(
3821 inst: *mut tm_runtime_data_repository_o,
3822 io_context: *mut ::std::os::raw::c_void,
3823 ),
3824 >,
3825 pub lookup: ::std::option::Option<
3826 unsafe extern "C" fn(
3827 inst: *mut tm_runtime_data_repository_o,
3828 asset_id: tm_tt_id_t,
3829 wanted_version: u64,
3830 io_context: *mut ::std::os::raw::c_void,
3831 ) -> tm_runtime_data_t,
3832 >,
3833 pub garbage_collect: ::std::option::Option<
3834 unsafe extern "C" fn(
3835 inst: *mut tm_runtime_data_repository_o,
3836 io_context: *mut ::std::os::raw::c_void,
3837 ),
3838 >,
3839}
3840#[repr(C)]
3841#[derive(Copy, Clone)]
3842pub struct SHA1_CTX {
3843 pub state: [u32; 5usize],
3844 pub count: [u32; 2usize],
3845 pub buffer: [u8; 64usize],
3846}
3847#[repr(C)]
3848#[derive(Copy, Clone)]
3849pub struct tm_string_repository_i {
3850 pub inst: *mut tm_string_repository_o,
3851 pub add: ::std::option::Option<
3852 unsafe extern "C" fn(
3853 inst: *mut tm_string_repository_o,
3854 s: *const ::std::os::raw::c_char,
3855 ) -> u64,
3856 >,
3857 pub retain:
3858 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_string_repository_o, hash: u64)>,
3859 pub remove:
3860 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_string_repository_o, hash: u64)>,
3861 pub lookup: ::std::option::Option<
3862 unsafe extern "C" fn(
3863 inst: *mut tm_string_repository_o,
3864 hash: u64,
3865 ) -> *const ::std::os::raw::c_char,
3866 >,
3867 pub intern: ::std::option::Option<
3868 unsafe extern "C" fn(
3869 inst: *mut tm_string_repository_o,
3870 s: *const ::std::os::raw::c_char,
3871 ) -> *const ::std::os::raw::c_char,
3872 >,
3873}
3874#[repr(C)]
3875#[derive(Copy, Clone)]
3876pub struct tm_string_repository_api {
3877 pub create: ::std::option::Option<
3878 unsafe extern "C" fn(a: *mut tm_allocator_i) -> *mut tm_string_repository_i,
3879 >,
3880 pub destroy: ::std::option::Option<unsafe extern "C" fn(i: *mut tm_string_repository_i)>,
3881}
3882#[repr(C)]
3883#[derive(Copy, Clone)]
3884pub struct tm_task_system_api {
3885 pub run_task: ::std::option::Option<
3886 unsafe extern "C" fn(
3887 f: ::std::option::Option<
3888 unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, id: u64),
3889 >,
3890 data: *mut ::std::os::raw::c_void,
3891 debug_name: *const ::std::os::raw::c_char,
3892 ) -> u64,
3893 >,
3894 pub is_task_done: ::std::option::Option<unsafe extern "C" fn(id: u64) -> bool>,
3895 pub is_task_done_else_assist: ::std::option::Option<unsafe extern "C" fn(id: u64) -> bool>,
3896 pub cancel_task: ::std::option::Option<unsafe extern "C" fn(id: u64)>,
3897 pub is_task_canceled: ::std::option::Option<unsafe extern "C" fn(id: u64) -> bool>,
3898}
3899#[repr(C)]
3900#[derive(Copy, Clone)]
3901pub struct tm_temp_allocator_i {
3902 pub inst: *mut tm_temp_allocator_o,
3903 pub realloc: ::std::option::Option<
3904 unsafe extern "C" fn(
3905 inst: *mut tm_temp_allocator_o,
3906 ptr: *mut ::std::os::raw::c_void,
3907 old_size: u64,
3908 new_size: u64,
3909 ) -> *mut ::std::os::raw::c_void,
3910 >,
3911}
3912#[repr(C)]
3913#[derive(Copy, Clone)]
3914pub struct tm_temp_allocator_1024_o {
3915 pub ta: tm_temp_allocator_i,
3916 pub buffer: [::std::os::raw::c_char; 1024usize],
3917 pub backing: *mut tm_allocator_i,
3918 pub first_block: *mut ::std::os::raw::c_void,
3919}
3920#[repr(C)]
3921#[derive(Copy, Clone)]
3922pub struct tm_temp_allocator_statistics_t {
3923 pub temp_allocation_blocks: u64,
3924 pub temp_allocation_bytes: u64,
3925 pub frame_allocation_blocks: u64,
3926 pub frame_allocation_bytes: u64,
3927}
3928#[repr(C)]
3929#[derive(Copy, Clone)]
3930pub struct tm_temp_allocator_api {
3931 pub init_1024: ::std::option::Option<
3932 unsafe extern "C" fn(ta: *mut tm_temp_allocator_1024_o, backing: *mut tm_allocator_i),
3933 >,
3934 pub shutdown_1024:
3935 ::std::option::Option<unsafe extern "C" fn(ta: *mut tm_temp_allocator_1024_o)>,
3936 pub create: ::std::option::Option<
3937 unsafe extern "C" fn(backing: *mut tm_allocator_i) -> *mut tm_temp_allocator_i,
3938 >,
3939 pub destroy: ::std::option::Option<unsafe extern "C" fn(ta: *mut tm_temp_allocator_i)>,
3940 pub allocator: ::std::option::Option<
3941 unsafe extern "C" fn(a: *mut tm_allocator_i, ta: *mut tm_temp_allocator_i),
3942 >,
3943 pub frame_alloc:
3944 ::std::option::Option<unsafe extern "C" fn(size: u64) -> *mut ::std::os::raw::c_void>,
3945 pub frame_allocator: ::std::option::Option<unsafe extern "C" fn() -> *mut tm_allocator_i>,
3946 pub tick_frame: ::std::option::Option<unsafe extern "C" fn()>,
3947 pub vprintf: ::std::option::Option<
3948 unsafe extern "C" fn(
3949 ta: *mut tm_temp_allocator_i,
3950 format: *const ::std::os::raw::c_char,
3951 args: va_list,
3952 ) -> *mut ::std::os::raw::c_char,
3953 >,
3954 pub printf: ::std::option::Option<
3955 unsafe extern "C" fn(
3956 ta: *mut tm_temp_allocator_i,
3957 format: *const ::std::os::raw::c_char,
3958 ...
3959 ) -> *mut ::std::os::raw::c_char,
3960 >,
3961 pub frame_vprintf: ::std::option::Option<
3962 unsafe extern "C" fn(
3963 format: *const ::std::os::raw::c_char,
3964 args: va_list,
3965 ) -> *mut ::std::os::raw::c_char,
3966 >,
3967 pub frame_printf: ::std::option::Option<
3968 unsafe extern "C" fn(
3969 format: *const ::std::os::raw::c_char,
3970 ...
3971 ) -> *mut ::std::os::raw::c_char,
3972 >,
3973 pub statistics: *mut tm_temp_allocator_statistics_t,
3974}
3975#[repr(C)]
3976#[derive(Copy, Clone)]
3977pub struct tm_hash_id_to_id_t {
3978 _unused: [u8; 0],
3979}
3980#[repr(C)]
3981#[derive(Copy, Clone)]
3982pub struct tm_set_t {
3983 _unused: [u8; 0],
3984}
3985pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_NONE: tm_the_truth_property_type =
3986 0;
3987pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_BOOL: tm_the_truth_property_type =
3988 1;
3989pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_UINT32_T:
3990 tm_the_truth_property_type = 2;
3991pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_UINT64_T:
3992 tm_the_truth_property_type = 3;
3993pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_FLOAT: tm_the_truth_property_type =
3994 4;
3995pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_DOUBLE: tm_the_truth_property_type =
3996 5;
3997pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_STRING: tm_the_truth_property_type =
3998 6;
3999pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_BUFFER: tm_the_truth_property_type =
4000 7;
4001pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_REFERENCE:
4002 tm_the_truth_property_type = 8;
4003pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_SUBOBJECT:
4004 tm_the_truth_property_type = 9;
4005pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_REFERENCE_SET:
4006 tm_the_truth_property_type = 10;
4007pub const tm_the_truth_property_type_TM_THE_TRUTH_PROPERTY_TYPE_SUBOBJECT_SET:
4008 tm_the_truth_property_type = 11;
4009pub const tm_the_truth_property_type_TM_THE_TRUTH_NUM_PROPERTY_TYPES: tm_the_truth_property_type =
4010 12;
4011pub type tm_the_truth_property_type = ::std::os::raw::c_int;
4012pub const tm_the_truth_editor_TM_THE_TRUTH__EDITOR__DEFAULT: tm_the_truth_editor = 0;
4013pub const tm_the_truth_editor_TM_THE_TRUTH__EDITOR__HIDDEN: tm_the_truth_editor = 1;
4014pub const tm_the_truth_editor_TM_THE_TRUTH__EDITOR__UINT32_T__ENUM: tm_the_truth_editor = 2;
4015pub const tm_the_truth_editor_TM_THE_TRUTH__EDITOR__STRING__OPEN_PATH: tm_the_truth_editor = 3;
4016pub const tm_the_truth_editor_TM_THE_TRUTH__EDITOR__STRING__SAVE_PATH: tm_the_truth_editor = 4;
4017pub type tm_the_truth_editor = ::std::os::raw::c_int;
4018#[repr(C)]
4019#[derive(Copy, Clone)]
4020pub struct tm_the_truth_editor_enum_t {
4021 pub count: u32,
4022 pub _padding_363: [::std::os::raw::c_char; 4usize],
4023 pub names: *const *const ::std::os::raw::c_char,
4024 pub tooltips: *const *const ::std::os::raw::c_char,
4025}
4026#[repr(C)]
4027#[derive(Copy, Clone)]
4028pub struct tm_the_truth_editor_string_open_path_t {
4029 pub extensions: *const ::std::os::raw::c_char,
4030 pub description: *const ::std::os::raw::c_char,
4031}
4032#[repr(C)]
4033#[derive(Copy, Clone)]
4034pub struct tm_the_truth_editor_string_save_path_t {
4035 pub default_file_name: *const ::std::os::raw::c_char,
4036}
4037#[repr(C)]
4038#[derive(Copy, Clone)]
4039pub struct tm_the_truth_object_o {
4040 _unused: [u8; 0],
4041}
4042#[repr(C)]
4043#[derive(Copy, Clone)]
4044pub struct tm_the_truth_property_definition_t {
4045 pub name: *const ::std::os::raw::c_char,
4046 pub type_: u32,
4047 pub editor: u32,
4048 pub __bindgen_anon_1: tm_the_truth_property_definition_t__bindgen_ty_1,
4049 pub type_hash: u64,
4050 pub buffer_extension: *const ::std::os::raw::c_char,
4051 pub buffer_extension_f: ::std::option::Option<
4052 unsafe extern "C" fn(
4053 tt: *const tm_the_truth_o,
4054 object: tm_tt_id_t,
4055 property: u32,
4056 ) -> *const ::std::os::raw::c_char,
4057 >,
4058 pub tooltip: *const ::std::os::raw::c_char,
4059 pub not_serialized: bool,
4060 pub _padding_454: [::std::os::raw::c_char; 7usize],
4061 pub ui_name: *const ::std::os::raw::c_char,
4062}
4063#[repr(C)]
4064#[derive(Copy, Clone)]
4065pub union tm_the_truth_property_definition_t__bindgen_ty_1 {
4066 pub enum_editor: tm_the_truth_editor_enum_t,
4067 pub string_open_path_editor: tm_the_truth_editor_string_open_path_t,
4068 pub string_save_path_editor: tm_the_truth_editor_string_save_path_t,
4069 _bindgen_union_align: [u64; 3usize],
4070}
4071pub type tm_the_truth_create_types_i =
4072 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>;
4073pub const tm_the_truth_create_types_TM_THE_TRUTH_CREATE_TYPES_NONE: tm_the_truth_create_types = 0;
4074pub const tm_the_truth_create_types_TM_THE_TRUTH_CREATE_TYPES_ALL: tm_the_truth_create_types = 1;
4075pub type tm_the_truth_create_types = ::std::os::raw::c_int;
4076#[repr(C)]
4077#[derive(Copy, Clone)]
4078pub struct tm_the_truth_get_types_with_aspect_t {
4079 pub type_: u64,
4080 pub data: *mut ::std::os::raw::c_void,
4081}
4082#[repr(C)]
4083#[derive(Copy, Clone)]
4084pub struct tm_the_truth_get_aspects_t {
4085 pub id: u64,
4086 pub data: *mut ::std::os::raw::c_void,
4087}
4088#[repr(C)]
4089#[derive(Copy, Clone)]
4090pub struct tm_the_truth_local_set_t {
4091 pub num_added: u32,
4092 pub _padding_501: [::std::os::raw::c_char; 4usize],
4093 pub added: *const tm_tt_id_t,
4094 pub num_removed: u32,
4095 pub _padding_506: [::std::os::raw::c_char; 4usize],
4096 pub removed: *const tm_tt_id_t,
4097 pub num_instantiated: u32,
4098 pub _padding_511: [::std::os::raw::c_char; 4usize],
4099 pub instantiated: *const tm_tt_id_t,
4100}
4101#[repr(C)]
4102#[derive(Copy, Clone)]
4103pub struct tm_the_truth_set_local_subobject_set_t {
4104 pub num_added: u32,
4105 pub _padding_520: [::std::os::raw::c_char; 4usize],
4106 pub added: *mut *mut tm_the_truth_object_o,
4107 pub num_removed: u32,
4108 pub _padding_525: [::std::os::raw::c_char; 4usize],
4109 pub removed: *const tm_tt_id_t,
4110 pub num_instantiated: u32,
4111 pub _padding_530: [::std::os::raw::c_char; 4usize],
4112 pub instantiated: *mut *mut tm_the_truth_object_o,
4113}
4114#[repr(C)]
4115#[derive(Copy, Clone)]
4116pub struct tm_the_truth_changed_objects_t {
4117 pub overflow: bool,
4118 pub _padding_540: [::std::os::raw::c_char; 3usize],
4119 pub num_objects: u32,
4120 pub objects: *mut tm_tt_id_t,
4121 pub version: u64,
4122}
4123#[repr(C)]
4124#[derive(Copy, Clone)]
4125pub struct tm_hash_u64_to_id_t {
4126 _unused: [u8; 0],
4127}
4128#[repr(C)]
4129#[derive(Copy, Clone)]
4130pub struct tm_the_truth_interop_context_t {
4131 pub to_tt: *mut tm_the_truth_o,
4132 pub from_tt: *mut tm_the_truth_o,
4133 pub type_lookup: *mut tm_hash32_t,
4134 pub property_lookup: *mut tm_hash32_t,
4135 pub buffer_lookup: *mut tm_hash32_t,
4136 pub object_lookup: *mut tm_hash_u64_to_id_t,
4137}
4138pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_ADDED:
4139 tm_the_truth_prototype_relation = 0;
4140pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_ASSET:
4141 tm_the_truth_prototype_relation = 1;
4142pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_INHERITED:
4143 tm_the_truth_prototype_relation = 2;
4144pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_INSTANTIATED:
4145 tm_the_truth_prototype_relation = 3;
4146pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_REMOVED:
4147 tm_the_truth_prototype_relation = 4;
4148pub const tm_the_truth_prototype_relation_TM_TT_PROTOTYPE_RELATION_NONE:
4149 tm_the_truth_prototype_relation = 5;
4150pub type tm_the_truth_prototype_relation = ::std::os::raw::c_int;
4151#[repr(C)]
4152#[derive(Copy, Clone)]
4153pub struct tm_tt_buffer_t {
4154 pub id: u32,
4155 pub _padding_604: [::std::os::raw::c_char; 4usize],
4156 pub size: u64,
4157 pub data: *const ::std::os::raw::c_void,
4158 pub hash: u64,
4159}
4160#[repr(C)]
4161#[derive(Copy, Clone)]
4162pub struct tm_tt_prop_value_t {
4163 pub type_: tm_the_truth_property_type,
4164 pub _padding_620: [::std::os::raw::c_char; 4usize],
4165 pub __bindgen_anon_1: tm_tt_prop_value_t__bindgen_ty_1,
4166}
4167#[repr(C)]
4168#[derive(Copy, Clone)]
4169pub union tm_tt_prop_value_t__bindgen_ty_1 {
4170 pub b: bool,
4171 pub u32_: u32,
4172 pub u64_: u64,
4173 pub f32_: f32,
4174 pub f64_: f64,
4175 pub string: *const ::std::os::raw::c_char,
4176 pub buffer: tm_tt_buffer_t,
4177 pub object: tm_tt_id_t,
4178 pub set: *const tm_tt_id_t,
4179 _bindgen_union_align: [u64; 4usize],
4180}
4181#[repr(C)]
4182#[derive(Copy, Clone)]
4183pub struct tm_tt_undo_action_t {
4184 pub before: *const tm_the_truth_object_o,
4185 pub after: *const tm_the_truth_object_o,
4186}
4187#[repr(C)]
4188#[derive(Copy, Clone)]
4189pub struct tm_tt_serialize_options_t {
4190 pub serialize_buffers_as_hashes: bool,
4191 pub skip_type_index: bool,
4192 pub _padding_661: [::std::os::raw::c_char; 6usize],
4193 pub types: *mut tm_set_t,
4194}
4195pub const TM_THE_TRUTH_MAX_PROPERTIES: ::std::os::raw::c_int = 64;
4196pub type _bindgen_ty_2 = ::std::os::raw::c_int;
4197#[repr(C)]
4198#[derive(Copy, Clone)]
4199pub struct tm_the_truth_serialized_type_info_t {
4200 pub runtime_type: u64,
4201 pub properties_differ: bool,
4202 pub _padding_681: [::std::os::raw::c_char; 3usize],
4203 pub num_properties: u32,
4204 pub serialized_property_to_runtime_property: [u32; 64usize],
4205 pub serialized_property_type: [u32; 64usize],
4206}
4207#[repr(C)]
4208#[derive(Copy, Clone)]
4209pub struct tm_tt_deserialize_options_t {
4210 pub buffers_preloaded: bool,
4211 pub skip_type_index: bool,
4212 pub _padding_704: [::std::os::raw::c_char; 6usize],
4213 pub type_infos: *const tm_the_truth_serialized_type_info_t,
4214}
4215#[repr(C)]
4216#[derive(Copy, Clone)]
4217pub struct tm_tt_serialize_changes_options_t {
4218 pub no_header: bool,
4219}
4220#[repr(C)]
4221#[derive(Copy, Clone)]
4222pub struct tm_tt_deserialize_changes_options_t {
4223 pub header: *const ::std::os::raw::c_char,
4224}
4225#[repr(C)]
4226#[derive(Copy, Clone)]
4227pub struct tm_tt_memory_use_t {
4228 pub resident: u64,
4229 pub unloaded: u64,
4230}
4231#[repr(C)]
4232#[derive(Copy, Clone)]
4233pub struct tm_the_truth_api {
4234 pub allocator:
4235 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> *mut tm_allocator_i>,
4236 pub buffers:
4237 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> *mut tm_buffers_i>,
4238 pub streamable_buffers: ::std::option::Option<
4239 unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> *mut tm_streamable_buffers_i,
4240 >,
4241 pub create_object_type: ::std::option::Option<
4242 unsafe extern "C" fn(
4243 tt: *mut tm_the_truth_o,
4244 name: *const ::std::os::raw::c_char,
4245 properties: *const tm_the_truth_property_definition_t,
4246 num_properties: u32,
4247 ) -> u64,
4248 >,
4249 pub set_default_object: ::std::option::Option<
4250 unsafe extern "C" fn(tt: *mut tm_the_truth_o, object_type: u64, object: tm_tt_id_t),
4251 >,
4252 pub set_default_object_to_create_subobjects:
4253 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o, object_type: u64)>,
4254 pub default_object: ::std::option::Option<
4255 unsafe extern "C" fn(tt: *const tm_the_truth_o, object_type: u64) -> tm_tt_id_t,
4256 >,
4257 pub is_default: ::std::option::Option<
4258 unsafe extern "C" fn(
4259 tt: *const tm_the_truth_o,
4260 obj: *const tm_the_truth_object_o,
4261 property: u32,
4262 ) -> bool,
4263 >,
4264 pub set_aspect: ::std::option::Option<
4265 unsafe extern "C" fn(
4266 tt: *mut tm_the_truth_o,
4267 object_type: u64,
4268 aspect: u64,
4269 data: *mut ::std::os::raw::c_void,
4270 ),
4271 >,
4272 pub set_default_aspect: ::std::option::Option<
4273 unsafe extern "C" fn(
4274 tt: *mut tm_the_truth_o,
4275 aspect: u64,
4276 data: *mut ::std::os::raw::c_void,
4277 ),
4278 >,
4279 pub set_property_aspect: ::std::option::Option<
4280 unsafe extern "C" fn(
4281 tt: *mut tm_the_truth_o,
4282 object_type: u64,
4283 property: u32,
4284 aspect: u64,
4285 data: *mut ::std::os::raw::c_void,
4286 ),
4287 >,
4288 pub reload_aspects: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
4289 pub set_dont_propagate_version_tick: ::std::option::Option<
4290 unsafe extern "C" fn(tt: *mut tm_the_truth_o, object_type: u64, state: bool),
4291 >,
4292 pub object_type_from_name_hash: ::std::option::Option<
4293 unsafe extern "C" fn(tt: *const tm_the_truth_o, name_hash: u64) -> u64,
4294 >,
4295 pub optional_object_type_from_name_hash: ::std::option::Option<
4296 unsafe extern "C" fn(tt: *const tm_the_truth_o, name_hash: u64) -> u64,
4297 >,
4298 pub num_types: ::std::option::Option<unsafe extern "C" fn(tt: *const tm_the_truth_o) -> u32>,
4299 pub type_name: ::std::option::Option<
4300 unsafe extern "C" fn(
4301 tt: *const tm_the_truth_o,
4302 object_type: u64,
4303 ) -> *const ::std::os::raw::c_char,
4304 >,
4305 pub type_name_hash: ::std::option::Option<
4306 unsafe extern "C" fn(tt: *const tm_the_truth_o, object_type: u64) -> u64,
4307 >,
4308 pub num_properties: ::std::option::Option<
4309 unsafe extern "C" fn(tt: *const tm_the_truth_o, object_type: u64) -> u32,
4310 >,
4311 pub properties: ::std::option::Option<
4312 unsafe extern "C" fn(
4313 tt: *const tm_the_truth_o,
4314 object_type: u64,
4315 ) -> *const tm_the_truth_property_definition_t,
4316 >,
4317 pub find_property: ::std::option::Option<
4318 unsafe extern "C" fn(
4319 tt: *const tm_the_truth_o,
4320 object_type: u64,
4321 name_hash: u64,
4322 type_: u32,
4323 res: *mut u32,
4324 ) -> bool,
4325 >,
4326 pub property_index: ::std::option::Option<
4327 unsafe extern "C" fn(tt: *const tm_the_truth_o, type_: u64, name_hash: u64) -> u32,
4328 >,
4329 pub has_property: ::std::option::Option<
4330 unsafe extern "C" fn(tt: *const tm_the_truth_o, type_: u64, name_hash: u64) -> u32,
4331 >,
4332 pub get_aspect: ::std::option::Option<
4333 unsafe extern "C" fn(
4334 tt: *const tm_the_truth_o,
4335 object_type: u64,
4336 aspect: u64,
4337 ) -> *mut ::std::os::raw::c_void,
4338 >,
4339 pub get_types_with_aspect: ::std::option::Option<
4340 unsafe extern "C" fn(
4341 tt: *const tm_the_truth_o,
4342 aspect: u64,
4343 ta: *mut tm_temp_allocator_i,
4344 ) -> *mut tm_the_truth_get_types_with_aspect_t,
4345 >,
4346 pub get_aspects: ::std::option::Option<
4347 unsafe extern "C" fn(
4348 tt: *const tm_the_truth_o,
4349 object_type: u64,
4350 ) -> *const tm_the_truth_get_aspects_t,
4351 >,
4352 pub get_property_aspect: ::std::option::Option<
4353 unsafe extern "C" fn(
4354 tt: *const tm_the_truth_o,
4355 object_type: u64,
4356 property: u32,
4357 aspect: u64,
4358 ) -> *mut ::std::os::raw::c_void,
4359 >,
4360 pub all_objects_of_type: ::std::option::Option<
4361 unsafe extern "C" fn(
4362 tt: *const tm_the_truth_o,
4363 object_type: u64,
4364 ta: *mut tm_temp_allocator_i,
4365 ) -> *mut tm_tt_id_t,
4366 >,
4367 pub create_undo_scope: ::std::option::Option<
4368 unsafe extern "C" fn(
4369 tt: *mut tm_the_truth_o,
4370 name: *const ::std::os::raw::c_char,
4371 ) -> tm_tt_undo_scope_t,
4372 >,
4373 pub create_thread_safe_undo_scope: ::std::option::Option<
4374 unsafe extern "C" fn(
4375 tt: *mut tm_the_truth_o,
4376 name: *const ::std::os::raw::c_char,
4377 ) -> tm_tt_undo_scope_t,
4378 >,
4379 pub clear_undo_scopes: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
4380 pub undo_scope_name: ::std::option::Option<
4381 unsafe extern "C" fn(
4382 tt: *mut tm_the_truth_o,
4383 scope: tm_tt_undo_scope_t,
4384 ) -> *const ::std::os::raw::c_char,
4385 >,
4386 pub undo_scope_objects: ::std::option::Option<
4387 unsafe extern "C" fn(
4388 tt: *mut tm_the_truth_o,
4389 scope: tm_tt_undo_scope_t,
4390 ta: *mut tm_temp_allocator_i,
4391 ) -> *mut tm_tt_id_t,
4392 >,
4393 pub undo_scope_actions: ::std::option::Option<
4394 unsafe extern "C" fn(
4395 tt: *mut tm_the_truth_o,
4396 scope: tm_tt_undo_scope_t,
4397 ta: *mut tm_temp_allocator_i,
4398 ) -> *mut tm_tt_undo_action_t,
4399 >,
4400 pub undo: ::std::option::Option<
4401 unsafe extern "C" fn(tt: *mut tm_the_truth_o, scope: tm_tt_undo_scope_t),
4402 >,
4403 pub redo: ::std::option::Option<
4404 unsafe extern "C" fn(tt: *mut tm_the_truth_o, scope: tm_tt_undo_scope_t),
4405 >,
4406 pub create_object_of_type: ::std::option::Option<
4407 unsafe extern "C" fn(
4408 tt: *mut tm_the_truth_o,
4409 type_: u64,
4410 undo_scope: tm_tt_undo_scope_t,
4411 ) -> tm_tt_id_t,
4412 >,
4413 pub create_object_from_prototype: ::std::option::Option<
4414 unsafe extern "C" fn(
4415 tt: *mut tm_the_truth_o,
4416 prototype: tm_tt_id_t,
4417 undo_scope: tm_tt_undo_scope_t,
4418 ) -> tm_tt_id_t,
4419 >,
4420 pub clone_object: ::std::option::Option<
4421 unsafe extern "C" fn(
4422 tt: *mut tm_the_truth_o,
4423 object: tm_tt_id_t,
4424 undo_scope: tm_tt_undo_scope_t,
4425 ) -> tm_tt_id_t,
4426 >,
4427 pub instantiate_subobject: ::std::option::Option<
4428 unsafe extern "C" fn(
4429 tt: *mut tm_the_truth_o,
4430 obj: *mut tm_the_truth_object_o,
4431 property: u32,
4432 undo_scope: tm_tt_undo_scope_t,
4433 ) -> tm_tt_id_t,
4434 >,
4435 pub remove_instantiated_subobject: ::std::option::Option<
4436 unsafe extern "C" fn(
4437 tt: *mut tm_the_truth_o,
4438 obj: *mut tm_the_truth_object_o,
4439 property: u32,
4440 undo_scope: tm_tt_undo_scope_t,
4441 ),
4442 >,
4443 pub instantiate_subobject_from_set: ::std::option::Option<
4444 unsafe extern "C" fn(
4445 tt: *mut tm_the_truth_o,
4446 obj: *mut tm_the_truth_object_o,
4447 property: u32,
4448 subobject: tm_tt_id_t,
4449 undo_scope: tm_tt_undo_scope_t,
4450 ) -> tm_tt_id_t,
4451 >,
4452 pub remove_instantiated_subobject_from_set: ::std::option::Option<
4453 unsafe extern "C" fn(
4454 tt: *mut tm_the_truth_o,
4455 obj: *mut tm_the_truth_object_o,
4456 property: u32,
4457 subobject: tm_tt_id_t,
4458 undo_scope: tm_tt_undo_scope_t,
4459 ),
4460 >,
4461 pub add_instantiated_subobject_back_to_set: ::std::option::Option<
4462 unsafe extern "C" fn(
4463 tt: *mut tm_the_truth_o,
4464 obj: *mut tm_the_truth_object_o,
4465 property: u32,
4466 subobject: tm_tt_id_t,
4467 ),
4468 >,
4469 pub id: ::std::option::Option<
4470 unsafe extern "C" fn(obj: *const tm_the_truth_object_o) -> tm_tt_id_t,
4471 >,
4472 pub destroy_object: ::std::option::Option<
4473 unsafe extern "C" fn(
4474 tt: *mut tm_the_truth_o,
4475 object: tm_tt_id_t,
4476 undo_scope: tm_tt_undo_scope_t,
4477 ),
4478 >,
4479 pub destroy_objects: ::std::option::Option<
4480 unsafe extern "C" fn(
4481 tt: *mut tm_the_truth_o,
4482 object: *const tm_tt_id_t,
4483 n: u32,
4484 undo_scope: tm_tt_undo_scope_t,
4485 ),
4486 >,
4487 pub garbage_collect: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
4488 pub is_alive: ::std::option::Option<
4489 unsafe extern "C" fn(tt: *const tm_the_truth_o, object: tm_tt_id_t) -> bool,
4490 >,
4491 pub interop_ensure_compatibility:
4492 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_the_truth_interop_context_t)>,
4493 pub interop_clone_object: ::std::option::Option<
4494 unsafe extern "C" fn(
4495 ctx: *mut tm_the_truth_interop_context_t,
4496 object: tm_tt_id_t,
4497 ) -> tm_tt_id_t,
4498 >,
4499 pub deep_clone_assets: ::std::option::Option<
4500 unsafe extern "C" fn(
4501 to_tt: *mut tm_the_truth_o,
4502 from_tt: *const tm_the_truth_o,
4503 assets: *const tm_tt_id_t,
4504 n: u32,
4505 undo_scope: tm_tt_undo_scope_t,
4506 ta: *mut tm_temp_allocator_i,
4507 ) -> *mut tm_tt_id_t,
4508 >,
4509 pub uuid: ::std::option::Option<
4510 unsafe extern "C" fn(tt: *const tm_the_truth_o, object: tm_tt_id_t) -> tm_uuid_t,
4511 >,
4512 pub read: ::std::option::Option<
4513 unsafe extern "C" fn(
4514 tt: *const tm_the_truth_o,
4515 object: tm_tt_id_t,
4516 ) -> *const tm_the_truth_object_o,
4517 >,
4518 pub get_bool: ::std::option::Option<
4519 unsafe extern "C" fn(
4520 tt: *const tm_the_truth_o,
4521 obj: *const tm_the_truth_object_o,
4522 property: u32,
4523 ) -> bool,
4524 >,
4525 pub get_uint32_t: ::std::option::Option<
4526 unsafe extern "C" fn(
4527 tt: *const tm_the_truth_o,
4528 obj: *const tm_the_truth_object_o,
4529 property: u32,
4530 ) -> u32,
4531 >,
4532 pub get_uint64_t: ::std::option::Option<
4533 unsafe extern "C" fn(
4534 tt: *const tm_the_truth_o,
4535 obj: *const tm_the_truth_object_o,
4536 property: u32,
4537 ) -> u64,
4538 >,
4539 pub get_float: ::std::option::Option<
4540 unsafe extern "C" fn(
4541 tt: *const tm_the_truth_o,
4542 obj: *const tm_the_truth_object_o,
4543 property: u32,
4544 ) -> f32,
4545 >,
4546 pub get_double: ::std::option::Option<
4547 unsafe extern "C" fn(
4548 tt: *const tm_the_truth_o,
4549 obj: *const tm_the_truth_object_o,
4550 property: u32,
4551 ) -> f64,
4552 >,
4553 pub get_string: ::std::option::Option<
4554 unsafe extern "C" fn(
4555 tt: *const tm_the_truth_o,
4556 obj: *const tm_the_truth_object_o,
4557 property: u32,
4558 ) -> *const ::std::os::raw::c_char,
4559 >,
4560 pub get_string_hash: ::std::option::Option<
4561 unsafe extern "C" fn(
4562 tt: *const tm_the_truth_o,
4563 obj: *const tm_the_truth_object_o,
4564 property: u32,
4565 ) -> u64,
4566 >,
4567 pub get_buffer: ::std::option::Option<
4568 unsafe extern "C" fn(
4569 tt: *const tm_the_truth_o,
4570 obj: *const tm_the_truth_object_o,
4571 property: u32,
4572 ) -> tm_tt_buffer_t,
4573 >,
4574 pub get_reference: ::std::option::Option<
4575 unsafe extern "C" fn(
4576 tt: *const tm_the_truth_o,
4577 obj: *const tm_the_truth_object_o,
4578 property: u32,
4579 ) -> tm_tt_id_t,
4580 >,
4581 pub get_subobject: ::std::option::Option<
4582 unsafe extern "C" fn(
4583 tt: *const tm_the_truth_o,
4584 obj: *const tm_the_truth_object_o,
4585 property: u32,
4586 ) -> tm_tt_id_t,
4587 >,
4588 pub get_property_value: ::std::option::Option<
4589 unsafe extern "C" fn(
4590 tt: *const tm_the_truth_o,
4591 obj: *const tm_the_truth_object_o,
4592 property: u32,
4593 ta: *mut tm_temp_allocator_i,
4594 ) -> tm_tt_prop_value_t,
4595 >,
4596 pub property_value_equal: ::std::option::Option<
4597 unsafe extern "C" fn(a: tm_tt_prop_value_t, b: tm_tt_prop_value_t) -> bool,
4598 >,
4599 pub get_reference_set: ::std::option::Option<
4600 unsafe extern "C" fn(
4601 tt: *const tm_the_truth_o,
4602 obj: *const tm_the_truth_object_o,
4603 property: u32,
4604 ta: *mut tm_temp_allocator_i,
4605 ) -> *const tm_tt_id_t,
4606 >,
4607 pub get_subobject_set: ::std::option::Option<
4608 unsafe extern "C" fn(
4609 tt: *const tm_the_truth_o,
4610 obj: *const tm_the_truth_object_o,
4611 property: u32,
4612 ta: *mut tm_temp_allocator_i,
4613 ) -> *const tm_tt_id_t,
4614 >,
4615 pub get_reference_set_size: ::std::option::Option<
4616 unsafe extern "C" fn(
4617 tt: *const tm_the_truth_o,
4618 obj: *const tm_the_truth_object_o,
4619 property: u32,
4620 ) -> u64,
4621 >,
4622 pub get_subobject_set_size: ::std::option::Option<
4623 unsafe extern "C" fn(
4624 tt: *const tm_the_truth_o,
4625 obj: *const tm_the_truth_object_o,
4626 property: u32,
4627 ) -> u64,
4628 >,
4629 pub get_subobject_set_locally_removed: ::std::option::Option<
4630 unsafe extern "C" fn(
4631 tt: *const tm_the_truth_o,
4632 obj: *const tm_the_truth_object_o,
4633 property: u32,
4634 ta: *mut tm_temp_allocator_i,
4635 ) -> *const tm_tt_id_t,
4636 >,
4637 pub find_subobject_of_type: ::std::option::Option<
4638 unsafe extern "C" fn(
4639 tt: *const tm_the_truth_o,
4640 obj: *const tm_the_truth_object_o,
4641 property: u32,
4642 type_: u64,
4643 ) -> tm_tt_id_t,
4644 >,
4645 pub is_subobject_of: ::std::option::Option<
4646 unsafe extern "C" fn(
4647 tt: *const tm_the_truth_o,
4648 obj: *const tm_the_truth_object_o,
4649 property: u32,
4650 subobject: tm_tt_id_t,
4651 ) -> bool,
4652 >,
4653 pub property_index_of_subobject: ::std::option::Option<
4654 unsafe extern "C" fn(
4655 tt: *const tm_the_truth_o,
4656 object: tm_tt_id_t,
4657 subobject: tm_tt_id_t,
4658 ) -> u32,
4659 >,
4660 pub write: ::std::option::Option<
4661 unsafe extern "C" fn(
4662 tt: *mut tm_the_truth_o,
4663 object: tm_tt_id_t,
4664 ) -> *mut tm_the_truth_object_o,
4665 >,
4666 pub commit: ::std::option::Option<
4667 unsafe extern "C" fn(
4668 tt: *mut tm_the_truth_o,
4669 obj: *mut tm_the_truth_object_o,
4670 undo_scope: tm_tt_undo_scope_t,
4671 ),
4672 >,
4673 pub commit_range: ::std::option::Option<
4674 unsafe extern "C" fn(
4675 tt: *mut tm_the_truth_o,
4676 obj: *mut *mut tm_the_truth_object_o,
4677 n: u32,
4678 undo_scope: tm_tt_undo_scope_t,
4679 ),
4680 >,
4681 pub retarget_write: ::std::option::Option<
4682 unsafe extern "C" fn(
4683 tt: *mut tm_the_truth_o,
4684 obj: *mut tm_the_truth_object_o,
4685 object: tm_tt_id_t,
4686 ),
4687 >,
4688 pub try_write: ::std::option::Option<
4689 unsafe extern "C" fn(
4690 tt: *mut tm_the_truth_o,
4691 object: tm_tt_id_t,
4692 original: *mut *const tm_the_truth_object_o,
4693 ) -> *mut tm_the_truth_object_o,
4694 >,
4695 pub try_commit: ::std::option::Option<
4696 unsafe extern "C" fn(
4697 tt: *mut tm_the_truth_o,
4698 obj: *mut tm_the_truth_object_o,
4699 original: *const tm_the_truth_object_o,
4700 undo_scope: tm_tt_undo_scope_t,
4701 ) -> bool,
4702 >,
4703 pub set_bool: ::std::option::Option<
4704 unsafe extern "C" fn(
4705 tt: *mut tm_the_truth_o,
4706 obj: *mut tm_the_truth_object_o,
4707 property: u32,
4708 value: bool,
4709 ),
4710 >,
4711 pub set_uint32_t: ::std::option::Option<
4712 unsafe extern "C" fn(
4713 tt: *mut tm_the_truth_o,
4714 obj: *mut tm_the_truth_object_o,
4715 property: u32,
4716 value: u32,
4717 ),
4718 >,
4719 pub set_uint64_t: ::std::option::Option<
4720 unsafe extern "C" fn(
4721 tt: *mut tm_the_truth_o,
4722 obj: *mut tm_the_truth_object_o,
4723 property: u32,
4724 value: u64,
4725 ),
4726 >,
4727 pub set_float: ::std::option::Option<
4728 unsafe extern "C" fn(
4729 tt: *mut tm_the_truth_o,
4730 obj: *mut tm_the_truth_object_o,
4731 property: u32,
4732 value: f32,
4733 ),
4734 >,
4735 pub set_double: ::std::option::Option<
4736 unsafe extern "C" fn(
4737 tt: *mut tm_the_truth_o,
4738 obj: *mut tm_the_truth_object_o,
4739 property: u32,
4740 value: f64,
4741 ),
4742 >,
4743 pub set_string: ::std::option::Option<
4744 unsafe extern "C" fn(
4745 tt: *mut tm_the_truth_o,
4746 obj: *mut tm_the_truth_object_o,
4747 property: u32,
4748 value: *const ::std::os::raw::c_char,
4749 ),
4750 >,
4751 pub set_buffer: ::std::option::Option<
4752 unsafe extern "C" fn(
4753 tt: *mut tm_the_truth_o,
4754 obj: *mut tm_the_truth_object_o,
4755 property: u32,
4756 value: u32,
4757 ),
4758 >,
4759 pub set_reference: ::std::option::Option<
4760 unsafe extern "C" fn(
4761 tt: *mut tm_the_truth_o,
4762 obj: *mut tm_the_truth_object_o,
4763 property: u32,
4764 value: tm_tt_id_t,
4765 ),
4766 >,
4767 pub set_subobject: ::std::option::Option<
4768 unsafe extern "C" fn(
4769 tt: *mut tm_the_truth_o,
4770 obj: *mut tm_the_truth_object_o,
4771 property: u32,
4772 value: *mut tm_the_truth_object_o,
4773 ),
4774 >,
4775 pub set_subobject_id: ::std::option::Option<
4776 unsafe extern "C" fn(
4777 tt: *mut tm_the_truth_o,
4778 obj: *mut tm_the_truth_object_o,
4779 property: u32,
4780 value: tm_tt_id_t,
4781 undo_scope: tm_tt_undo_scope_t,
4782 ),
4783 >,
4784 pub set_property_value: ::std::option::Option<
4785 unsafe extern "C" fn(
4786 tt: *mut tm_the_truth_o,
4787 obj: *mut tm_the_truth_object_o,
4788 property: u32,
4789 value: tm_tt_prop_value_t,
4790 undo_scope: tm_tt_undo_scope_t,
4791 ),
4792 >,
4793 pub clear: ::std::option::Option<
4794 unsafe extern "C" fn(
4795 tt: *mut tm_the_truth_o,
4796 obj: *mut tm_the_truth_object_o,
4797 property: u32,
4798 ),
4799 >,
4800 pub clear_object: ::std::option::Option<
4801 unsafe extern "C" fn(tt: *mut tm_the_truth_o, obj: *mut tm_the_truth_object_o),
4802 >,
4803 pub propagate_property: ::std::option::Option<
4804 unsafe extern "C" fn(
4805 tt: *mut tm_the_truth_o,
4806 object: tm_tt_id_t,
4807 property: u32,
4808 undo_scope: tm_tt_undo_scope_t,
4809 ),
4810 >,
4811 pub propagate_object: ::std::option::Option<
4812 unsafe extern "C" fn(
4813 tt: *mut tm_the_truth_o,
4814 object: tm_tt_id_t,
4815 undo_scope: tm_tt_undo_scope_t,
4816 ),
4817 >,
4818 pub propagate_object_except: ::std::option::Option<
4819 unsafe extern "C" fn(
4820 tt: *mut tm_the_truth_o,
4821 object: tm_tt_id_t,
4822 skip: *const tm_tt_id_t,
4823 num_skip: u32,
4824 undo_scope: tm_tt_undo_scope_t,
4825 ),
4826 >,
4827 pub add_to_reference_set: ::std::option::Option<
4828 unsafe extern "C" fn(
4829 tt: *mut tm_the_truth_o,
4830 obj: *mut tm_the_truth_object_o,
4831 property: u32,
4832 items: *const tm_tt_id_t,
4833 count: u32,
4834 ),
4835 >,
4836 pub remove_from_reference_set: ::std::option::Option<
4837 unsafe extern "C" fn(
4838 tt: *mut tm_the_truth_o,
4839 obj: *mut tm_the_truth_object_o,
4840 property: u32,
4841 items: *const tm_tt_id_t,
4842 count: u32,
4843 ),
4844 >,
4845 pub clear_reference_set: ::std::option::Option<
4846 unsafe extern "C" fn(
4847 tt: *mut tm_the_truth_o,
4848 obj: *mut tm_the_truth_object_o,
4849 property: u32,
4850 ),
4851 >,
4852 pub remove_from_prototype_reference_set: ::std::option::Option<
4853 unsafe extern "C" fn(
4854 tt: *mut tm_the_truth_o,
4855 obj: *mut tm_the_truth_object_o,
4856 property: u32,
4857 items: *const tm_tt_id_t,
4858 count: u32,
4859 ),
4860 >,
4861 pub cancel_remove_from_prototype_reference_set: ::std::option::Option<
4862 unsafe extern "C" fn(
4863 tt: *mut tm_the_truth_o,
4864 obj: *mut tm_the_truth_object_o,
4865 property: u32,
4866 items: *const tm_tt_id_t,
4867 count: u32,
4868 ),
4869 >,
4870 pub add_to_subobject_set: ::std::option::Option<
4871 unsafe extern "C" fn(
4872 tt: *mut tm_the_truth_o,
4873 obj: *mut tm_the_truth_object_o,
4874 property: u32,
4875 items: *mut *mut tm_the_truth_object_o,
4876 count: u32,
4877 ),
4878 >,
4879 pub remove_from_subobject_set: ::std::option::Option<
4880 unsafe extern "C" fn(
4881 tt: *mut tm_the_truth_o,
4882 obj: *mut tm_the_truth_object_o,
4883 property: u32,
4884 items: *const tm_tt_id_t,
4885 count: u32,
4886 ),
4887 >,
4888 pub clear_subobject_set: ::std::option::Option<
4889 unsafe extern "C" fn(
4890 tt: *mut tm_the_truth_o,
4891 obj: *mut tm_the_truth_object_o,
4892 property: u32,
4893 ),
4894 >,
4895 pub remove_from_prototype_subobject_set: ::std::option::Option<
4896 unsafe extern "C" fn(
4897 tt: *mut tm_the_truth_o,
4898 obj: *mut tm_the_truth_object_o,
4899 property: u32,
4900 items: *const tm_tt_id_t,
4901 count: u32,
4902 ),
4903 >,
4904 pub cancel_remove_from_prototype_subobject_set: ::std::option::Option<
4905 unsafe extern "C" fn(
4906 tt: *mut tm_the_truth_o,
4907 obj: *mut tm_the_truth_object_o,
4908 property: u32,
4909 items: *const tm_tt_id_t,
4910 count: u32,
4911 ),
4912 >,
4913 pub prototype: ::std::option::Option<
4914 unsafe extern "C" fn(tt: *const tm_the_truth_o, object: tm_tt_id_t) -> tm_tt_id_t,
4915 >,
4916 pub owner: ::std::option::Option<
4917 unsafe extern "C" fn(tt: *const tm_the_truth_o, object: tm_tt_id_t) -> tm_tt_id_t,
4918 >,
4919 pub is_currently_owner_of: ::std::option::Option<
4920 unsafe extern "C" fn(
4921 tt: *const tm_the_truth_o,
4922 object: tm_tt_id_t,
4923 subobject: tm_tt_id_t,
4924 ) -> bool,
4925 >,
4926 pub is_overridden: ::std::option::Option<
4927 unsafe extern "C" fn(
4928 tt: *const tm_the_truth_o,
4929 obj: *const tm_the_truth_object_o,
4930 property: u32,
4931 ) -> bool,
4932 >,
4933 pub has_data: ::std::option::Option<
4934 unsafe extern "C" fn(
4935 tt: *const tm_the_truth_o,
4936 obj: *const tm_the_truth_object_o,
4937 property: u32,
4938 ) -> bool,
4939 >,
4940 pub prototype_relation: ::std::option::Option<
4941 unsafe extern "C" fn(
4942 tt: *const tm_the_truth_o,
4943 parent: tm_tt_id_t,
4944 property: u32,
4945 object: tm_tt_id_t,
4946 ) -> tm_the_truth_prototype_relation,
4947 >,
4948 pub version: ::std::option::Option<
4949 unsafe extern "C" fn(tt: *const tm_the_truth_o, object: tm_tt_id_t) -> u32,
4950 >,
4951 pub changed_objects: ::std::option::Option<
4952 unsafe extern "C" fn(
4953 tt: *const tm_the_truth_o,
4954 type_: u64,
4955 since_version: u64,
4956 ta: *mut tm_temp_allocator_i,
4957 ) -> tm_the_truth_changed_objects_t,
4958 >,
4959 pub request_changelog:
4960 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> u64>,
4961 pub relinquish_changelog:
4962 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o, h: u64)>,
4963 pub disable_changelog_start_scope:
4964 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
4965 pub disable_changelog_end_scope:
4966 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
4967 pub changelog_size: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> u64>,
4968 pub serialize: ::std::option::Option<
4969 unsafe extern "C" fn(
4970 tt: *mut tm_the_truth_o,
4971 o: tm_tt_id_t,
4972 carray: *mut *mut ::std::os::raw::c_char,
4973 a: *mut tm_allocator_i,
4974 opt: *const tm_tt_serialize_options_t,
4975 ),
4976 >,
4977 pub deserialize: ::std::option::Option<
4978 unsafe extern "C" fn(
4979 tt: *mut tm_the_truth_o,
4980 buffer: *mut *const ::std::os::raw::c_char,
4981 opt: *const tm_tt_deserialize_options_t,
4982 ) -> tm_tt_id_t,
4983 >,
4984 pub buffer_hashes: ::std::option::Option<
4985 unsafe extern "C" fn(
4986 buffer: *mut *const ::std::os::raw::c_char,
4987 count: *mut u64,
4988 ) -> *const u64,
4989 >,
4990 pub deserialize_from_file: ::std::option::Option<
4991 unsafe extern "C" fn(
4992 tt: *mut tm_the_truth_o,
4993 file: *const ::std::os::raw::c_char,
4994 ) -> tm_tt_id_t,
4995 >,
4996 pub migration_ids: ::std::option::Option<
4997 unsafe extern "C" fn(tt: *const tm_the_truth_o, n: *mut u32) -> *mut u64,
4998 >,
4999 pub serialize_changes_header: ::std::option::Option<
5000 unsafe extern "C" fn(
5001 tt: *mut tm_the_truth_o,
5002 carray: *mut *mut ::std::os::raw::c_char,
5003 a: *mut tm_allocator_i,
5004 ),
5005 >,
5006 pub serialize_changes: ::std::option::Option<
5007 unsafe extern "C" fn(
5008 tt: *mut tm_the_truth_o,
5009 begin: u64,
5010 end: u64,
5011 carray: *mut *mut ::std::os::raw::c_char,
5012 a: *mut tm_allocator_i,
5013 opt: *const tm_tt_serialize_changes_options_t,
5014 ),
5015 >,
5016 pub deserialize_changes: ::std::option::Option<
5017 unsafe extern "C" fn(
5018 tt: *mut tm_the_truth_o,
5019 buffer: *mut *const ::std::os::raw::c_char,
5020 opt: *const tm_tt_deserialize_changes_options_t,
5021 ),
5022 >,
5023 pub serialize_patch: ::std::option::Option<
5024 unsafe extern "C" fn(
5025 from_tt: *mut tm_the_truth_o,
5026 from_o: tm_tt_id_t,
5027 to_tt: *mut tm_the_truth_o,
5028 to_o: tm_tt_id_t,
5029 carray: *mut *mut ::std::os::raw::c_char,
5030 a: *mut tm_allocator_i,
5031 ),
5032 >,
5033 pub deserialize_patch: ::std::option::Option<
5034 unsafe extern "C" fn(tt: *mut tm_the_truth_o, buffer: *mut *const ::std::os::raw::c_char),
5035 >,
5036 pub deserialize_patch_from_file: ::std::option::Option<
5037 unsafe extern "C" fn(tt: *mut tm_the_truth_o, file: *const ::std::os::raw::c_char),
5038 >,
5039 pub serialize_type: ::std::option::Option<
5040 unsafe extern "C" fn(
5041 tt: *mut tm_the_truth_o,
5042 type_: u32,
5043 ta: *mut tm_temp_allocator_i,
5044 ) -> *mut ::std::os::raw::c_char,
5045 >,
5046 pub deserialize_type: ::std::option::Option<
5047 unsafe extern "C" fn(
5048 tt: *mut tm_the_truth_o,
5049 buf: *mut *const ::std::os::raw::c_char,
5050 type_info: *mut tm_the_truth_serialized_type_info_t,
5051 ),
5052 >,
5053 pub memory_use: ::std::option::Option<
5054 unsafe extern "C" fn(
5055 tt: *mut tm_the_truth_o,
5056 id: tm_tt_id_t,
5057 buffers: *mut tm_set_t,
5058 ) -> tm_tt_memory_use_t,
5059 >,
5060 pub add_properties: ::std::option::Option<
5061 unsafe extern "C" fn(
5062 tt: *mut tm_the_truth_o,
5063 type_: u64,
5064 properties: *const tm_the_truth_property_definition_t,
5065 num_properties: u32,
5066 ),
5067 >,
5068 pub resolve_or_create_placeholder: ::std::option::Option<
5069 unsafe extern "C" fn(
5070 tt: *mut tm_the_truth_o,
5071 uuid: tm_uuid_t,
5072 type_: u64,
5073 default_initialize: bool,
5074 ) -> tm_tt_id_t,
5075 >,
5076 pub resolve_or_fail: ::std::option::Option<
5077 unsafe extern "C" fn(tt: *mut tm_the_truth_o, uuid: tm_uuid_t, type_: u64) -> tm_tt_id_t,
5078 >,
5079 pub set_uuid: ::std::option::Option<
5080 unsafe extern "C" fn(tt: *mut tm_the_truth_o, id: tm_tt_id_t, uuid: tm_uuid_t),
5081 >,
5082 pub set_prototype: ::std::option::Option<
5083 unsafe extern "C" fn(
5084 tt: *mut tm_the_truth_o,
5085 obj: *mut tm_the_truth_object_o,
5086 id: tm_tt_id_t,
5087 ),
5088 >,
5089 pub detach_from_prototype: ::std::option::Option<
5090 unsafe extern "C" fn(
5091 tt: *mut tm_the_truth_o,
5092 id: tm_tt_id_t,
5093 lookup: *mut tm_hash_id_to_id_t,
5094 undo_scope: tm_tt_undo_scope_t,
5095 ),
5096 >,
5097 pub detach_all_instances: ::std::option::Option<
5098 unsafe extern "C" fn(
5099 tt: *mut tm_the_truth_o,
5100 id: tm_tt_id_t,
5101 undo_scope: tm_tt_undo_scope_t,
5102 ),
5103 >,
5104 pub get_local_reference_set: ::std::option::Option<
5105 unsafe extern "C" fn(
5106 tt: *const tm_the_truth_o,
5107 obj: *const tm_the_truth_object_o,
5108 property: u32,
5109 ) -> tm_the_truth_local_set_t,
5110 >,
5111 pub get_local_subobject_set: ::std::option::Option<
5112 unsafe extern "C" fn(
5113 tt: *const tm_the_truth_o,
5114 obj: *const tm_the_truth_object_o,
5115 property: u32,
5116 ) -> tm_the_truth_local_set_t,
5117 >,
5118 pub set_local_reference_set: ::std::option::Option<
5119 unsafe extern "C" fn(
5120 tt: *mut tm_the_truth_o,
5121 obj: *mut tm_the_truth_object_o,
5122 property: u32,
5123 set: tm_the_truth_local_set_t,
5124 ),
5125 >,
5126 pub set_local_subobject_set: ::std::option::Option<
5127 unsafe extern "C" fn(
5128 tt: *mut tm_the_truth_o,
5129 obj: *mut tm_the_truth_object_o,
5130 property: u32,
5131 set: tm_the_truth_set_local_subobject_set_t,
5132 ),
5133 >,
5134 pub string_repository: ::std::option::Option<
5135 unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> *mut tm_string_repository_i,
5136 >,
5137 pub set_migration_ids:
5138 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o, ids: *mut u64, n: u32)>,
5139 pub set_properties_to_default: ::std::option::Option<
5140 unsafe extern "C" fn(tt: *mut tm_the_truth_o, obj: *mut tm_the_truth_object_o, mask: u64),
5141 >,
5142 pub instantiate_subobjects_recursively: ::std::option::Option<
5143 unsafe extern "C" fn(
5144 tt: *mut tm_the_truth_o,
5145 object: tm_tt_id_t,
5146 undo_scope: tm_tt_undo_scope_t,
5147 ),
5148 >,
5149 pub quick_set_properties: ::std::option::Option<
5150 unsafe extern "C" fn(
5151 tt: *mut tm_the_truth_o,
5152 undo_scope: tm_tt_undo_scope_t,
5153 id: tm_tt_id_t,
5154 ...
5155 ),
5156 >,
5157 pub quick_create_object: ::std::option::Option<
5158 unsafe extern "C" fn(
5159 tt: *mut tm_the_truth_o,
5160 undo_scope: tm_tt_undo_scope_t,
5161 type_hash: u64,
5162 ...
5163 ) -> tm_tt_id_t,
5164 >,
5165 pub quick_get_property: ::std::option::Option<
5166 unsafe extern "C" fn(
5167 tt: *const tm_the_truth_o,
5168 id: tm_tt_id_t,
5169 prop_1: u32,
5170 ...
5171 ) -> tm_tt_prop_value_t,
5172 >,
5173 pub internal__set_owner: ::std::option::Option<
5174 unsafe extern "C" fn(
5175 tt: *mut tm_the_truth_o,
5176 obj: *mut tm_the_truth_object_o,
5177 object: tm_tt_id_t,
5178 ),
5179 >,
5180 pub debug_inspect: ::std::option::Option<
5181 unsafe extern "C" fn(
5182 tt: *const tm_the_truth_o,
5183 object: tm_tt_id_t,
5184 ) -> *const ::std::os::raw::c_char,
5185 >,
5186 pub internal__detect_overlapping_writes:
5187 ::std::option::Option<unsafe extern "C" fn(tt: *const tm_the_truth_o) -> bool>,
5188 pub create: ::std::option::Option<
5189 unsafe extern "C" fn(
5190 a: *mut tm_allocator_i,
5191 types: tm_the_truth_create_types,
5192 ) -> *mut tm_the_truth_o,
5193 >,
5194 pub destroy: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
5195}
5196pub const TM_TT_PROP__ASSET_ROOT__ASSETS: ::std::os::raw::c_int = 0;
5197pub const TM_TT_PROP__ASSET_ROOT__DIRECTORIES: ::std::os::raw::c_int = 1;
5198pub type _bindgen_ty_3 = ::std::os::raw::c_int;
5199pub const TM_TT_PROP__ASSET__NAME: ::std::os::raw::c_int = 0;
5200pub const TM_TT_PROP__ASSET__DIRECTORY: ::std::os::raw::c_int = 1;
5201pub const TM_TT_PROP__ASSET__UUID_TAGS: ::std::os::raw::c_int = 2;
5202pub const TM_TT_PROP__ASSET__OBJECT: ::std::os::raw::c_int = 3;
5203pub type _bindgen_ty_4 = ::std::os::raw::c_int;
5204pub const TM_TT_PROP__ASSET_DIRECTORY__NAME: ::std::os::raw::c_int = 0;
5205pub const TM_TT_PROP__ASSET_DIRECTORY__PARENT: ::std::os::raw::c_int = 1;
5206pub type _bindgen_ty_5 = ::std::os::raw::c_int;
5207pub const TM_TT_PROP__ASSET_TAG__UUID: ::std::os::raw::c_int = 0;
5208pub const TM_TT_PROP__ASSET_TAG__NAME: ::std::os::raw::c_int = 0;
5209pub type _bindgen_ty_6 = ::std::os::raw::c_int;
5210#[repr(C)]
5211#[derive(Copy, Clone)]
5212pub struct tm_asset_tag_t {
5213 pub uuid: u64,
5214 pub name: *const ::std::os::raw::c_char,
5215}
5216pub type tm_tt_assets_file_extension_aspect_i = ::std::os::raw::c_char;
5217#[repr(C)]
5218#[derive(Copy, Clone)]
5219pub struct tm_tt_assets_buffer_write_t {
5220 pub id: u32,
5221 pub _padding_74: [::std::os::raw::c_char; 4usize],
5222 pub hash: u64,
5223 pub ext: *const ::std::os::raw::c_char,
5224}
5225#[repr(C)]
5226#[derive(Copy, Clone)]
5227pub struct tm_tt_assets_buffer_t {
5228 pub object_id: tm_tt_id_t,
5229 pub property_index: u32,
5230 pub _padding_91: [::std::os::raw::c_char; 4usize],
5231 pub hash: u64,
5232}
5233#[repr(C)]
5234#[derive(Copy, Clone)]
5235pub struct tm_saved_truth_data_o {
5236 _unused: [u8; 0],
5237}
5238#[repr(C)]
5239#[derive(Copy, Clone)]
5240pub struct tm_the_truth_assets_api {
5241 pub create_asset_truth_types:
5242 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
5243 pub get_asset_path: ::std::option::Option<
5244 unsafe extern "C" fn(
5245 tt: *const tm_the_truth_o,
5246 asset: tm_tt_id_t,
5247 path: *mut ::std::os::raw::c_char,
5248 n: u32,
5249 ) -> u32,
5250 >,
5251 pub get_directory_path: ::std::option::Option<
5252 unsafe extern "C" fn(
5253 tt: *const tm_the_truth_o,
5254 directory: tm_tt_id_t,
5255 path: *mut ::std::os::raw::c_char,
5256 n: u32,
5257 ) -> u32,
5258 >,
5259 pub get_asset_path_with_extension: ::std::option::Option<
5260 unsafe extern "C" fn(
5261 tt: *const tm_the_truth_o,
5262 asset: tm_tt_id_t,
5263 path: *mut ::std::os::raw::c_char,
5264 n: u32,
5265 ) -> u32,
5266 >,
5267 pub asset_from_path: ::std::option::Option<
5268 unsafe extern "C" fn(
5269 tt: *const tm_the_truth_o,
5270 root: tm_tt_id_t,
5271 path: *const ::std::os::raw::c_char,
5272 ) -> tm_tt_id_t,
5273 >,
5274 pub asset_from_path_with_type: ::std::option::Option<
5275 unsafe extern "C" fn(
5276 tt: *const tm_the_truth_o,
5277 root: tm_tt_id_t,
5278 path: *const ::std::os::raw::c_char,
5279 type_: u64,
5280 ) -> tm_tt_id_t,
5281 >,
5282 pub directory_from_path: ::std::option::Option<
5283 unsafe extern "C" fn(
5284 tt: *const tm_the_truth_o,
5285 root: tm_tt_id_t,
5286 path: *const ::std::os::raw::c_char,
5287 ) -> tm_tt_id_t,
5288 >,
5289 pub find_subdirectory_by_name: ::std::option::Option<
5290 unsafe extern "C" fn(
5291 tt: *const tm_the_truth_o,
5292 root: tm_tt_id_t,
5293 parent_dir: tm_tt_id_t,
5294 subdir_name: *const ::std::os::raw::c_char,
5295 ) -> tm_tt_id_t,
5296 >,
5297 pub unique_asset_name: ::std::option::Option<
5298 unsafe extern "C" fn(
5299 tt: *mut tm_the_truth_o,
5300 root: tm_tt_id_t,
5301 asset_r: *const tm_the_truth_object_o,
5302 desired_name: *const ::std::os::raw::c_char,
5303 ) -> *const ::std::os::raw::c_char,
5304 >,
5305 pub unique_directory_name: ::std::option::Option<
5306 unsafe extern "C" fn(
5307 tt: *mut tm_the_truth_o,
5308 root: tm_tt_id_t,
5309 directory_r: *const tm_the_truth_object_o,
5310 desired_name: *const ::std::os::raw::c_char,
5311 ) -> *const ::std::os::raw::c_char,
5312 >,
5313 pub object_asset_name: ::std::option::Option<
5314 unsafe extern "C" fn(
5315 tt: *mut tm_the_truth_o,
5316 object: tm_tt_id_t,
5317 ) -> *const ::std::os::raw::c_char,
5318 >,
5319 pub object_to_config: ::std::option::Option<
5320 unsafe extern "C" fn(
5321 tt: *const tm_the_truth_o,
5322 object: tm_tt_id_t,
5323 config: *mut tm_config_i,
5324 buffers: *mut *mut tm_tt_assets_buffer_write_t,
5325 buffers_ta: *mut tm_temp_allocator_i,
5326 save_uuid: bool,
5327 ),
5328 >,
5329 pub create_object_from_config: ::std::option::Option<
5330 unsafe extern "C" fn(
5331 tt: *mut tm_the_truth_o,
5332 config: *mut tm_config_i,
5333 buffers: *mut *mut tm_tt_assets_buffer_t,
5334 buffers_ta: *mut tm_temp_allocator_i,
5335 ) -> tm_tt_id_t,
5336 >,
5337 pub read_object_from_config: ::std::option::Option<
5338 unsafe extern "C" fn(
5339 tt: *mut tm_the_truth_o,
5340 config: *mut tm_config_i,
5341 buffers: *mut *mut tm_tt_assets_buffer_t,
5342 buffers_ta: *mut tm_temp_allocator_i,
5343 id: tm_tt_id_t,
5344 ),
5345 >,
5346 pub save_to_directory: ::std::option::Option<
5347 unsafe extern "C" fn(
5348 tt: *mut tm_the_truth_o,
5349 asset_root: tm_tt_id_t,
5350 dir: *const ::std::os::raw::c_char,
5351 ignore: *mut tm_tt_id_t,
5352 num_ignore: u32,
5353 old_std: *mut tm_saved_truth_data_o,
5354 allocator: *mut tm_allocator_i,
5355 ) -> *mut tm_saved_truth_data_o,
5356 >,
5357 pub load_from_directory: ::std::option::Option<
5358 unsafe extern "C" fn(
5359 tt: *mut tm_the_truth_o,
5360 dir: *const ::std::os::raw::c_char,
5361 allocator: *mut tm_allocator_i,
5362 asset_root: *mut tm_tt_id_t,
5363 ) -> *mut tm_saved_truth_data_o,
5364 >,
5365 pub current_truth_data: ::std::option::Option<
5366 unsafe extern "C" fn(
5367 tt: *mut tm_the_truth_o,
5368 asset_root: tm_tt_id_t,
5369 allocator: *mut tm_allocator_i,
5370 ) -> *mut tm_saved_truth_data_o,
5371 >,
5372 pub revert_asset: ::std::option::Option<
5373 unsafe extern "C" fn(
5374 sd: *mut tm_saved_truth_data_o,
5375 asset: tm_tt_id_t,
5376 undo_scope: tm_tt_undo_scope_t,
5377 ) -> bool,
5378 >,
5379 pub save_asset: ::std::option::Option<
5380 unsafe extern "C" fn(sd: *mut tm_saved_truth_data_o, asset: tm_tt_id_t) -> bool,
5381 >,
5382 pub saved_name: ::std::option::Option<
5383 unsafe extern "C" fn(
5384 sd: *mut tm_saved_truth_data_o,
5385 item: tm_tt_id_t,
5386 ) -> *const ::std::os::raw::c_char,
5387 >,
5388 pub saved_directory: ::std::option::Option<
5389 unsafe extern "C" fn(sd: *mut tm_saved_truth_data_o, item: tm_tt_id_t) -> tm_tt_id_t,
5390 >,
5391 pub saved_version: ::std::option::Option<
5392 unsafe extern "C" fn(sd: *mut tm_saved_truth_data_o, item: tm_tt_id_t) -> u64,
5393 >,
5394 pub all_saved_items: ::std::option::Option<
5395 unsafe extern "C" fn(
5396 sd: *mut tm_saved_truth_data_o,
5397 ta: *mut tm_temp_allocator_i,
5398 ) -> *mut tm_tt_id_t,
5399 >,
5400 pub free_saved_data:
5401 ::std::option::Option<unsafe extern "C" fn(sd: *mut tm_saved_truth_data_o)>,
5402 pub set_mock_file_system: ::std::option::Option<
5403 unsafe extern "C" fn(fs: *mut tm_os_file_system_api, file_io: *mut tm_os_file_io_api),
5404 >,
5405}
5406#[repr(C)]
5407#[derive(Copy, Clone)]
5408pub struct tm_the_truth_migration_o {
5409 _unused: [u8; 0],
5410}
5411#[repr(C)]
5412#[derive(Copy, Clone)]
5413pub struct tm_the_truth_migration_i {
5414 pub inst: *mut tm_the_truth_migration_o,
5415 pub id: u64,
5416 pub num_prerequisites: u32,
5417 pub _padding_81: [::std::os::raw::c_char; 4usize],
5418 pub prerequisites: *mut u64,
5419 pub migrate: ::std::option::Option<
5420 unsafe extern "C" fn(inst: *mut tm_the_truth_migration_o, tt: *mut tm_the_truth_o) -> bool,
5421 >,
5422}
5423#[repr(C)]
5424#[derive(Copy, Clone)]
5425pub struct tm_the_truth_migration_api {
5426 pub migrate: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> bool>,
5427}
5428pub const TM_TT_PROP__VEC2__X: ::std::os::raw::c_int = 0;
5429pub const TM_TT_PROP__VEC2__Y: ::std::os::raw::c_int = 1;
5430pub type _bindgen_ty_7 = ::std::os::raw::c_int;
5431pub const TM_TT_PROP__VEC3__X: ::std::os::raw::c_int = 0;
5432pub const TM_TT_PROP__VEC3__Y: ::std::os::raw::c_int = 1;
5433pub const TM_TT_PROP__VEC3__Z: ::std::os::raw::c_int = 2;
5434pub type _bindgen_ty_8 = ::std::os::raw::c_int;
5435pub const TM_TT_PROP__VEC4__X: ::std::os::raw::c_int = 0;
5436pub const TM_TT_PROP__VEC4__Y: ::std::os::raw::c_int = 1;
5437pub const TM_TT_PROP__VEC4__Z: ::std::os::raw::c_int = 2;
5438pub const TM_TT_PROP__VEC4__W: ::std::os::raw::c_int = 3;
5439pub type _bindgen_ty_9 = ::std::os::raw::c_int;
5440pub const TM_TT_PROP__POSITION__X: ::std::os::raw::c_int = 0;
5441pub const TM_TT_PROP__POSITION__Y: ::std::os::raw::c_int = 1;
5442pub const TM_TT_PROP__POSITION__Z: ::std::os::raw::c_int = 2;
5443pub type _bindgen_ty_10 = ::std::os::raw::c_int;
5444pub const TM_TT_PROP__ROTATION__X: ::std::os::raw::c_int = 0;
5445pub const TM_TT_PROP__ROTATION__Y: ::std::os::raw::c_int = 1;
5446pub const TM_TT_PROP__ROTATION__Z: ::std::os::raw::c_int = 2;
5447pub const TM_TT_PROP__ROTATION__W: ::std::os::raw::c_int = 3;
5448pub type _bindgen_ty_11 = ::std::os::raw::c_int;
5449pub const TM_TT_PROP__SCALE__X: ::std::os::raw::c_int = 0;
5450pub const TM_TT_PROP__SCALE__Y: ::std::os::raw::c_int = 1;
5451pub const TM_TT_PROP__SCALE__Z: ::std::os::raw::c_int = 2;
5452pub type _bindgen_ty_12 = ::std::os::raw::c_int;
5453pub const TM_TT_PROP__COLOR_RGB__R: ::std::os::raw::c_int = 0;
5454pub const TM_TT_PROP__COLOR_RGB__G: ::std::os::raw::c_int = 1;
5455pub const TM_TT_PROP__COLOR_RGB__B: ::std::os::raw::c_int = 2;
5456pub type _bindgen_ty_13 = ::std::os::raw::c_int;
5457pub const TM_TT_PROP__COLOR_RGBA__R: ::std::os::raw::c_int = 0;
5458pub const TM_TT_PROP__COLOR_RGBA__G: ::std::os::raw::c_int = 1;
5459pub const TM_TT_PROP__COLOR_RGBA__B: ::std::os::raw::c_int = 2;
5460pub const TM_TT_PROP__COLOR_RGBA__A: ::std::os::raw::c_int = 3;
5461pub type _bindgen_ty_14 = ::std::os::raw::c_int;
5462pub const TM_TT_PROP__RECT__X: ::std::os::raw::c_int = 0;
5463pub const TM_TT_PROP__RECT__Y: ::std::os::raw::c_int = 1;
5464pub const TM_TT_PROP__RECT__W: ::std::os::raw::c_int = 2;
5465pub const TM_TT_PROP__RECT__H: ::std::os::raw::c_int = 3;
5466pub type _bindgen_ty_15 = ::std::os::raw::c_int;
5467#[repr(C)]
5468#[derive(Copy, Clone)]
5469pub struct tm_the_truth_common_types_api {
5470 pub create_common_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
5471 pub read_floats: ::std::option::Option<
5472 unsafe extern "C" fn(
5473 tt: *const tm_the_truth_o,
5474 obj: *const tm_the_truth_object_o,
5475 res: *mut f32,
5476 n: u32,
5477 ) -> *mut f32,
5478 >,
5479 pub write_floats: ::std::option::Option<
5480 unsafe extern "C" fn(
5481 tt: *mut tm_the_truth_o,
5482 obj: *mut tm_the_truth_object_o,
5483 values: *const f32,
5484 n: u32,
5485 ),
5486 >,
5487 pub get_vec2: ::std::option::Option<
5488 unsafe extern "C" fn(
5489 tt: *const tm_the_truth_o,
5490 parent_r: *const tm_the_truth_object_o,
5491 property: u32,
5492 ) -> tm_vec2_t,
5493 >,
5494 pub get_vec3: ::std::option::Option<
5495 unsafe extern "C" fn(
5496 tt: *const tm_the_truth_o,
5497 parent_r: *const tm_the_truth_object_o,
5498 property: u32,
5499 ) -> tm_vec3_t,
5500 >,
5501 pub get_vec4: ::std::option::Option<
5502 unsafe extern "C" fn(
5503 tt: *const tm_the_truth_o,
5504 parent_r: *const tm_the_truth_object_o,
5505 property: u32,
5506 ) -> tm_vec4_t,
5507 >,
5508 pub get_rect: ::std::option::Option<
5509 unsafe extern "C" fn(
5510 tt: *const tm_the_truth_o,
5511 parent_r: *const tm_the_truth_object_o,
5512 property: u32,
5513 ) -> tm_rect_t,
5514 >,
5515 pub get_position: ::std::option::Option<
5516 unsafe extern "C" fn(
5517 tt: *const tm_the_truth_o,
5518 parent_r: *const tm_the_truth_object_o,
5519 property: u32,
5520 ) -> tm_vec3_t,
5521 >,
5522 pub get_rotation: ::std::option::Option<
5523 unsafe extern "C" fn(
5524 tt: *const tm_the_truth_o,
5525 parent_r: *const tm_the_truth_object_o,
5526 property: u32,
5527 ) -> tm_vec4_t,
5528 >,
5529 pub get_scale: ::std::option::Option<
5530 unsafe extern "C" fn(
5531 tt: *const tm_the_truth_o,
5532 parent_r: *const tm_the_truth_object_o,
5533 property: u32,
5534 ) -> tm_vec3_t,
5535 >,
5536 pub get_color_rgb: ::std::option::Option<
5537 unsafe extern "C" fn(
5538 tt: *const tm_the_truth_o,
5539 parent_r: *const tm_the_truth_object_o,
5540 property: u32,
5541 ) -> tm_vec3_t,
5542 >,
5543 pub get_color_rgba: ::std::option::Option<
5544 unsafe extern "C" fn(
5545 tt: *const tm_the_truth_o,
5546 parent_r: *const tm_the_truth_object_o,
5547 property: u32,
5548 ) -> tm_vec4_t,
5549 >,
5550 pub get_color_srgb: ::std::option::Option<
5551 unsafe extern "C" fn(
5552 tt: *const tm_the_truth_o,
5553 parent_r: *const tm_the_truth_object_o,
5554 property: u32,
5555 ) -> tm_color_srgb_t,
5556 >,
5557 pub get_color_srgba: ::std::option::Option<
5558 unsafe extern "C" fn(
5559 tt: *const tm_the_truth_o,
5560 parent_r: *const tm_the_truth_object_o,
5561 property: u32,
5562 ) -> tm_color_srgb_t,
5563 >,
5564 pub set_vec2: ::std::option::Option<
5565 unsafe extern "C" fn(
5566 tt: *mut tm_the_truth_o,
5567 parent_w: *mut tm_the_truth_object_o,
5568 property: u32,
5569 vec2: tm_vec2_t,
5570 undo_scope: tm_tt_undo_scope_t,
5571 ),
5572 >,
5573 pub set_vec3: ::std::option::Option<
5574 unsafe extern "C" fn(
5575 tt: *mut tm_the_truth_o,
5576 parent_w: *mut tm_the_truth_object_o,
5577 property: u32,
5578 vec3: tm_vec3_t,
5579 undo_scope: tm_tt_undo_scope_t,
5580 ),
5581 >,
5582 pub set_vec4: ::std::option::Option<
5583 unsafe extern "C" fn(
5584 tt: *mut tm_the_truth_o,
5585 parent_w: *mut tm_the_truth_object_o,
5586 property: u32,
5587 vec4: tm_vec4_t,
5588 undo_scope: tm_tt_undo_scope_t,
5589 ),
5590 >,
5591 pub set_rect: ::std::option::Option<
5592 unsafe extern "C" fn(
5593 tt: *mut tm_the_truth_o,
5594 parent_w: *mut tm_the_truth_object_o,
5595 property: u32,
5596 rect: tm_rect_t,
5597 undo_scope: tm_tt_undo_scope_t,
5598 ),
5599 >,
5600 pub set_position: ::std::option::Option<
5601 unsafe extern "C" fn(
5602 tt: *mut tm_the_truth_o,
5603 parent_w: *mut tm_the_truth_object_o,
5604 property: u32,
5605 vec3: tm_vec3_t,
5606 undo_scope: tm_tt_undo_scope_t,
5607 ),
5608 >,
5609 pub set_rotation: ::std::option::Option<
5610 unsafe extern "C" fn(
5611 tt: *mut tm_the_truth_o,
5612 parent_w: *mut tm_the_truth_object_o,
5613 property: u32,
5614 vec4: tm_vec4_t,
5615 undo_scope: tm_tt_undo_scope_t,
5616 ),
5617 >,
5618 pub set_scale: ::std::option::Option<
5619 unsafe extern "C" fn(
5620 tt: *mut tm_the_truth_o,
5621 parent_w: *mut tm_the_truth_object_o,
5622 property: u32,
5623 vec3: tm_vec3_t,
5624 undo_scope: tm_tt_undo_scope_t,
5625 ),
5626 >,
5627 pub set_color_rgb: ::std::option::Option<
5628 unsafe extern "C" fn(
5629 tt: *mut tm_the_truth_o,
5630 parent_w: *mut tm_the_truth_object_o,
5631 property: u32,
5632 vec3: tm_vec3_t,
5633 undo_scope: tm_tt_undo_scope_t,
5634 ),
5635 >,
5636 pub set_color_rgba: ::std::option::Option<
5637 unsafe extern "C" fn(
5638 tt: *mut tm_the_truth_o,
5639 parent_w: *mut tm_the_truth_object_o,
5640 property: u32,
5641 vec4: tm_vec4_t,
5642 undo_scope: tm_tt_undo_scope_t,
5643 ),
5644 >,
5645 pub set_color_srgb: ::std::option::Option<
5646 unsafe extern "C" fn(
5647 tt: *mut tm_the_truth_o,
5648 parent_w: *mut tm_the_truth_object_o,
5649 property: u32,
5650 col: tm_color_srgb_t,
5651 undo_scope: tm_tt_undo_scope_t,
5652 ),
5653 >,
5654 pub set_color_srgba: ::std::option::Option<
5655 unsafe extern "C" fn(
5656 tt: *mut tm_the_truth_o,
5657 parent_w: *mut tm_the_truth_object_o,
5658 property: u32,
5659 col: tm_color_srgb_t,
5660 undo_scope: tm_tt_undo_scope_t,
5661 ),
5662 >,
5663}
5664#[repr(C)]
5665#[derive(Copy, Clone)]
5666pub struct tm_undo_stack_o {
5667 _unused: [u8; 0],
5668}
5669#[repr(C)]
5670#[derive(Copy, Clone)]
5671pub struct tm_undo_stack_i {
5672 pub inst: *mut tm_undo_stack_o,
5673 pub add: ::std::option::Option<
5674 unsafe extern "C" fn(
5675 inst: *mut tm_undo_stack_o,
5676 tt: *mut tm_the_truth_o,
5677 scope: tm_tt_undo_scope_t,
5678 ),
5679 >,
5680 pub add_to_document: ::std::option::Option<
5681 unsafe extern "C" fn(
5682 inst: *mut tm_undo_stack_o,
5683 tt: *mut tm_the_truth_o,
5684 scope: tm_tt_undo_scope_t,
5685 document_object: tm_tt_id_t,
5686 ),
5687 >,
5688}
5689#[repr(C)]
5690#[derive(Copy, Clone)]
5691pub struct tm_unicode_api {
5692 pub utf8_encode:
5693 ::std::option::Option<unsafe extern "C" fn(utf8: *mut u8, codepoint: u32) -> *mut u8>,
5694 pub utf8_decode: ::std::option::Option<unsafe extern "C" fn(utf8: *mut *const u8) -> u32>,
5695 pub utf8_num_codepoints: ::std::option::Option<unsafe extern "C" fn(utf8: *const u8) -> u32>,
5696 pub utf8_decode_n: ::std::option::Option<
5697 unsafe extern "C" fn(codepoints: *mut u32, n: u32, utf8: *mut *const u8) -> u32,
5698 >,
5699 pub utf8_to_utf32: ::std::option::Option<
5700 unsafe extern "C" fn(utf8: *const u8, ta: *mut tm_temp_allocator_i) -> *mut u32,
5701 >,
5702 pub utf8_to_utf32_n: ::std::option::Option<
5703 unsafe extern "C" fn(utf8: *const u8, n: u32, ta: *mut tm_temp_allocator_i) -> *mut u32,
5704 >,
5705 pub utf32_to_utf8: ::std::option::Option<
5706 unsafe extern "C" fn(utf32: *const u32, ta: *mut tm_temp_allocator_i) -> *mut u8,
5707 >,
5708 pub utf32_to_utf8_n: ::std::option::Option<
5709 unsafe extern "C" fn(utf32: *const u32, n: u32, ta: *mut tm_temp_allocator_i) -> *mut u8,
5710 >,
5711 pub utf16_encode:
5712 ::std::option::Option<unsafe extern "C" fn(utf16: *mut u16, codepoint: u32) -> *mut u16>,
5713 pub utf16_decode: ::std::option::Option<unsafe extern "C" fn(utf16: *mut *const u16) -> u32>,
5714 pub utf8_to_utf16: ::std::option::Option<
5715 unsafe extern "C" fn(utf8: *const u8, ta: *mut tm_temp_allocator_i) -> *mut u16,
5716 >,
5717 pub utf8_to_utf16_n: ::std::option::Option<
5718 unsafe extern "C" fn(utf8: *const u8, n: u32, ta: *mut tm_temp_allocator_i) -> *mut u16,
5719 >,
5720 pub utf16_to_utf8: ::std::option::Option<
5721 unsafe extern "C" fn(utf16: *const u16, ta: *mut tm_temp_allocator_i) -> *mut u8,
5722 >,
5723 pub utf16_to_utf8_n: ::std::option::Option<
5724 unsafe extern "C" fn(utf16: *const u16, n: u32, ta: *mut tm_temp_allocator_i) -> *mut u8,
5725 >,
5726}
5727pub const TM_UNICODE__DOTTED_CROSS: ::std::os::raw::c_int = 8284;
5728pub const TM_UNICODE__RIGHTWARDS_ARROW: ::std::os::raw::c_int = 8594;
5729pub const TM_UNICODE__EMPTY_SET: ::std::os::raw::c_int = 8709;
5730pub const TM_UNICODE__BLACK_DOWN_POINTING_TRIANGLE: ::std::os::raw::c_int = 9660;
5731pub const TM_UNICODE__BLACK_UP_POINTING_TRIANGLE: ::std::os::raw::c_int = 9650;
5732pub const TM_UNICODE__BLACK_RIGHT_POINTING_TRIANGLE: ::std::os::raw::c_int = 9654;
5733pub const TM_UNICODE__BLACK_LEFT_POINTING_TRIANGLE: ::std::os::raw::c_int = 9664;
5734pub const TM_UNICODE__DIE_FACE_1: ::std::os::raw::c_int = 9856;
5735pub const TM_UNICODE__NEUTER: ::std::os::raw::c_int = 9906;
5736pub const TM_UNICODE__CHECK_MARK: ::std::os::raw::c_int = 10003;
5737pub const TM_UNICODE__MULTIPLICATION_X: ::std::os::raw::c_int = 10005;
5738pub const TM_UNICODE__HEAVY_MULTIPLICATION_X: ::std::os::raw::c_int = 10006;
5739pub const TM_UNICODE__EARTH: ::std::os::raw::c_int = 127759;
5740pub const TM_UNICODE__HOUSE: ::std::os::raw::c_int = 127968;
5741pub const TM_UNICODE__ORIGINAL_OF: ::std::os::raw::c_int = 8886;
5742pub const TM_UNICODE__IMAGE_OF: ::std::os::raw::c_int = 8887;
5743pub const TM_UNICODE__CIRCLE_DOT_OPERATOR: ::std::os::raw::c_int = 8857;
5744pub const TM_UNICODE__MAXIMIZE: ::std::os::raw::c_int = 128470;
5745pub const TM_UNICODE__OVERLAP: ::std::os::raw::c_int = 128471;
5746pub const TM_UNICODE__PLUS_MINUS: ::std::os::raw::c_int = 49841;
5747pub const TM_UNICODE__CAMERA: ::std::os::raw::c_int = 128247;
5748pub const TM_UNICODE__ELECTRIC_LIGHT_BLUB: ::std::os::raw::c_int = 128161;
5749pub const TM_UNICODE__HORIZONTAL_ELLIPSIS: ::std::os::raw::c_int = 8230;
5750pub const TM_UNICODE__HEAVY_PLUS_SIGN: ::std::os::raw::c_int = 10133;
5751pub const TM_UNICODE__RIGHTWARDS_ARROW_TO_BAR: ::std::os::raw::c_int = 8677;
5752pub const TM_UNICODE__RIGHT_ANGLE_WITH_ARC: ::std::os::raw::c_int = 8894;
5753pub const TM_UNICODE__REFRESH: ::std::os::raw::c_int = 128472;
5754pub const TM_UNICODE__WRENCH_HAMMER: ::std::os::raw::c_int = 128736;
5755pub const TM_UNICODE__WRENCH: ::std::os::raw::c_int = 128295;
5756pub const TM_UNICODE__ZZZ: ::std::os::raw::c_int = 128164;
5757pub const TM_UNICODE__MAGNIFYING_GLASS_LEFT: ::std::os::raw::c_int = 128269;
5758pub const TM_UNICODE__EYE: ::std::os::raw::c_int = 128065;
5759pub const TM_UNICODE__GEAR: ::std::os::raw::c_int = 9881;
5760pub const TM_UNICODE__COPYRIGHT: ::std::os::raw::c_int = 169;
5761pub const TM_UNICODE__LEFTWARDS_HEAVY_ARROW: ::std::os::raw::c_int = 129092;
5762pub const TM_UNICODE__RIGHTWARDS_HEAVY_ARROW: ::std::os::raw::c_int = 129094;
5763pub type _bindgen_ty_16 = ::std::os::raw::c_int;
5764#[repr(C)]
5765#[derive(Copy, Clone)]
5766pub struct tm_unit_test_runner_o {
5767 _unused: [u8; 0],
5768}
5769#[repr(C)]
5770#[derive(Copy, Clone)]
5771pub struct tm_unit_test_runner_i {
5772 pub inst: *mut tm_unit_test_runner_o,
5773 pub test_file: ::std::option::Option<
5774 unsafe extern "C" fn(
5775 inst: *mut tm_unit_test_runner_o,
5776 name: *const ::std::os::raw::c_char,
5777 ) -> bool,
5778 >,
5779 pub test_custom: ::std::option::Option<
5780 unsafe extern "C" fn(
5781 inst: *mut tm_unit_test_runner_o,
5782 name: *const ::std::os::raw::c_char,
5783 ) -> bool,
5784 >,
5785 pub test_disk:
5786 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_unit_test_runner_o) -> bool>,
5787 pub test_network:
5788 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_unit_test_runner_o) -> bool>,
5789 pub test_slow_paths:
5790 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_unit_test_runner_o) -> bool>,
5791 pub record: ::std::option::Option<
5792 unsafe extern "C" fn(
5793 inst: *mut tm_unit_test_runner_o,
5794 pass: bool,
5795 test_str: *const ::std::os::raw::c_char,
5796 file: *const ::std::os::raw::c_char,
5797 line: u32,
5798 ) -> bool,
5799 >,
5800 pub expect_error: ::std::option::Option<
5801 unsafe extern "C" fn(
5802 inst: *mut tm_unit_test_runner_o,
5803 err: *const ::std::os::raw::c_char,
5804 file: *const ::std::os::raw::c_char,
5805 line: u32,
5806 ),
5807 >,
5808}
5809#[repr(C)]
5810#[derive(Copy, Clone)]
5811pub struct tm_unit_test_i {
5812 pub name: *const ::std::os::raw::c_char,
5813 pub test: ::std::option::Option<
5814 unsafe extern "C" fn(tr: *mut tm_unit_test_runner_i, a: *mut tm_allocator_i),
5815 >,
5816}
5817pub const tm_visibility_flag_behaviour_TM_VISIBILITY_FLAG_OPT_IN: tm_visibility_flag_behaviour = 0;
5818pub const tm_visibility_flag_behaviour_TM_VISIBILITY_FLAG_OPT_OUT: tm_visibility_flag_behaviour = 1;
5819pub type tm_visibility_flag_behaviour = ::std::os::raw::c_int;
5820#[repr(C)]
5821#[derive(Copy, Clone)]
5822pub struct tm_visibility_flag_desc_t {
5823 pub name: u64,
5824 pub description: *const ::std::os::raw::c_char,
5825 pub tooltip: *const ::std::os::raw::c_char,
5826 pub uuid: u32,
5827 pub behaviour: tm_visibility_flag_behaviour,
5828}
5829#[repr(C)]
5830#[derive(Copy, Clone)]
5831pub struct tm_visibility_context_o {
5832 _unused: [u8; 0],
5833}
5834#[repr(C)]
5835#[derive(Copy, Clone)]
5836pub struct tm_visibility_flags_api {
5837 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
5838 pub create_context: ::std::option::Option<
5839 unsafe extern "C" fn(
5840 allocator: *mut tm_allocator_i,
5841 name: u64,
5842 ) -> *mut tm_visibility_context_o,
5843 >,
5844 pub context_name:
5845 ::std::option::Option<unsafe extern "C" fn(context: *mut tm_visibility_context_o) -> u64>,
5846 pub destroy_context:
5847 ::std::option::Option<unsafe extern "C" fn(context: *mut tm_visibility_context_o)>,
5848 pub register_visibility_flag: ::std::option::Option<
5849 unsafe extern "C" fn(
5850 context: *mut tm_visibility_context_o,
5851 desc: *const tm_visibility_flag_desc_t,
5852 ) -> u64,
5853 >,
5854 pub name_from_visibility_flag: ::std::option::Option<
5855 unsafe extern "C" fn(context: *mut tm_visibility_context_o, visibility_flag: u64) -> u64,
5856 >,
5857 pub visibility_flag_from_name: ::std::option::Option<
5858 unsafe extern "C" fn(context: *mut tm_visibility_context_o, name: u64) -> u64,
5859 >,
5860 pub unregister_visibility_flag: ::std::option::Option<
5861 unsafe extern "C" fn(context: *mut tm_visibility_context_o, uuid: u32),
5862 >,
5863 pub enumerate_flags: ::std::option::Option<
5864 unsafe extern "C" fn(
5865 context: *mut tm_visibility_context_o,
5866 flags: *mut tm_visibility_flag_desc_t,
5867 num_flags: *mut u32,
5868 ),
5869 >,
5870 pub build_visibility_mask: ::std::option::Option<
5871 unsafe extern "C" fn(
5872 context: *mut tm_visibility_context_o,
5873 uuids: *const u32,
5874 num_uuids: u32,
5875 ) -> u64,
5876 >,
5877}
5878pub const TM_TT_PROP__VISIBILITY_FLAG__UUID: ::std::os::raw::c_int = 0;
5879pub type _bindgen_ty_17 = ::std::os::raw::c_int;
5880pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_CONTINUATION: tm_web_socket_opcode = 0;
5881pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_TEXT: tm_web_socket_opcode = 1;
5882pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_BINARY: tm_web_socket_opcode = 2;
5883pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_CLOSE: tm_web_socket_opcode = 8;
5884pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_PING: tm_web_socket_opcode = 9;
5885pub const tm_web_socket_opcode_TM_WEB_SOCKET_OPCODE_PONG: tm_web_socket_opcode = 10;
5886pub type tm_web_socket_opcode = ::std::os::raw::c_int;
5887#[repr(C)]
5888#[derive(Copy, Clone)]
5889pub struct tm_web_socket_protocol_api {
5890 pub make_client_handshake: ::std::option::Option<
5891 unsafe extern "C" fn(
5892 buffer: *mut ::std::os::raw::c_char,
5893 size: u32,
5894 host: *const ::std::os::raw::c_char,
5895 port: u32,
5896 request: *const ::std::os::raw::c_char,
5897 key: *const ::std::os::raw::c_char,
5898 ),
5899 >,
5900 pub make_server_handshake: ::std::option::Option<
5901 unsafe extern "C" fn(
5902 buffer: *mut ::std::os::raw::c_char,
5903 size: u32,
5904 key: *const ::std::os::raw::c_char,
5905 key_size: u32,
5906 ),
5907 >,
5908 pub make_frame_header: ::std::option::Option<
5909 unsafe extern "C" fn(buffer: *mut u8, fin: bool, opcode: u8, size: u64, mask: u32) -> u32,
5910 >,
5911 pub parse_frame_header: ::std::option::Option<
5912 unsafe extern "C" fn(
5913 buffer: *mut u8,
5914 buf_size: u64,
5915 fin: *mut bool,
5916 opcode: *mut u8,
5917 size: *mut u64,
5918 mask: *mut u32,
5919 ) -> u32,
5920 >,
5921 pub mask_data: ::std::option::Option<
5922 unsafe extern "C" fn(data: *mut u8, size: u64, offset: u64, mask: u32),
5923 >,
5924 pub mask_segmented_buffer: ::std::option::Option<
5925 unsafe extern "C" fn(seg: *mut tm_segmented_buffer_t, size: u64, mask: u32),
5926 >,
5927}
5928pub const tm_http_request_status_TM_HTTP_REQUEST_STATUS_IN_PROGRESS: tm_http_request_status = 0;
5929pub const tm_http_request_status_TM_HTTP_REQUEST_STATUS_SUCCESS: tm_http_request_status = 1;
5930pub const tm_http_request_status_TM_HTTP_REQUEST_STATUS_ERROR: tm_http_request_status = 2;
5931pub const tm_http_request_status_TM_HTTP_REQUEST_STATUS_CLOSED: tm_http_request_status = 3;
5932pub type tm_http_request_status = ::std::os::raw::c_int;
5933#[repr(C)]
5934#[derive(Copy, Clone)]
5935pub struct tm_http_request_t {
5936 pub id: u64,
5937 pub request_target: *const ::std::os::raw::c_char,
5938}
5939#[repr(C)]
5940#[derive(Copy, Clone)]
5941pub struct tm_segmented_buffer_t {
5942 pub data: *mut ::std::os::raw::c_void,
5943 pub size: u64,
5944 pub next: *mut tm_segmented_buffer_t,
5945}
5946pub const tm_web_socket_pseudo_opcode_TM_WEB_SOCKET_PSEUDO_OPCODE_OPEN:
5947 tm_web_socket_pseudo_opcode = 16;
5948pub const tm_web_socket_pseudo_opcode_TM_WEB_SOCKET_PSEUDO_OPCODE_ERROR:
5949 tm_web_socket_pseudo_opcode = 17;
5950pub type tm_web_socket_pseudo_opcode = ::std::os::raw::c_int;
5951pub const tm_web_socket_status_TM_WEB_SOCKET_STATUS_CONNECTING: tm_web_socket_status = 0;
5952pub const tm_web_socket_status_TM_WEB_SOCKET_STATUS_OPEN: tm_web_socket_status = 1;
5953pub const tm_web_socket_status_TM_WEB_SOCKET_STATUS_CLOSING: tm_web_socket_status = 2;
5954pub const tm_web_socket_status_TM_WEB_SOCKET_STATUS_CLOSED: tm_web_socket_status = 3;
5955pub const tm_web_socket_status_TM_WEB_SOCKET_STATUS_ERROR: tm_web_socket_status = 4;
5956pub type tm_web_socket_status = ::std::os::raw::c_int;
5957#[repr(C)]
5958#[derive(Copy, Clone)]
5959pub struct tm_web_socket_request_t {
5960 pub id: u64,
5961 pub request_target: *const ::std::os::raw::c_char,
5962}
5963#[repr(C)]
5964#[derive(Copy, Clone)]
5965pub struct tm_web_socket_event_t {
5966 pub opcode: u32,
5967 pub _padding_103: [::std::os::raw::c_char; 4usize],
5968 pub payload_size: u64,
5969 pub payload: tm_segmented_buffer_t,
5970 pub payload_reference: *mut ::std::os::raw::c_void,
5971}
5972#[repr(C)]
5973#[derive(Copy, Clone)]
5974pub struct tm_web_talker_o {
5975 _unused: [u8; 0],
5976}
5977#[repr(C)]
5978#[derive(Copy, Clone)]
5979pub struct tm_web_talker_api {
5980 pub listening_address: ::std::option::Option<
5981 unsafe extern "C" fn(inst: *mut tm_web_talker_o, address: *mut tm_socket_address_t) -> bool,
5982 >,
5983 pub receive: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_web_talker_o)>,
5984 pub send: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_web_talker_o)>,
5985 pub http_get_requests: ::std::option::Option<
5986 unsafe extern "C" fn(
5987 inst: *mut tm_web_talker_o,
5988 buffer: *mut tm_http_request_t,
5989 capacity: u32,
5990 ) -> u32,
5991 >,
5992 pub http_respond_raw: ::std::option::Option<
5993 unsafe extern "C" fn(
5994 inst: *mut tm_web_talker_o,
5995 id: u64,
5996 response: *const ::std::os::raw::c_char,
5997 ),
5998 >,
5999 pub http_respond_html: ::std::option::Option<
6000 unsafe extern "C" fn(
6001 inst: *mut tm_web_talker_o,
6002 id: u64,
6003 html: *const ::std::os::raw::c_char,
6004 ),
6005 >,
6006 pub http_request: ::std::option::Option<
6007 unsafe extern "C" fn(
6008 inst: *mut tm_web_talker_o,
6009 address: tm_socket_address_t,
6010 headers: *const ::std::os::raw::c_char,
6011 ) -> u64,
6012 >,
6013 pub http_request_status: ::std::option::Option<
6014 unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64) -> tm_http_request_status,
6015 >,
6016 pub http_response: ::std::option::Option<
6017 unsafe extern "C" fn(
6018 inst: *mut tm_web_talker_o,
6019 id: u64,
6020 size: *mut u64,
6021 ) -> tm_segmented_buffer_t,
6022 >,
6023 pub http_close:
6024 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64)>,
6025 pub ws_get_requests: ::std::option::Option<
6026 unsafe extern "C" fn(
6027 inst: *mut tm_web_talker_o,
6028 buffer: *mut tm_web_socket_request_t,
6029 capacity: u32,
6030 ) -> u32,
6031 >,
6032 pub ws_connect: ::std::option::Option<
6033 unsafe extern "C" fn(
6034 inst: *mut tm_web_talker_o,
6035 address: tm_socket_address_t,
6036 host: *const ::std::os::raw::c_char,
6037 request: *const ::std::os::raw::c_char,
6038 ) -> u64,
6039 >,
6040 pub ws_status: ::std::option::Option<
6041 unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64) -> tm_web_socket_status,
6042 >,
6043 pub ws_recv_progress: ::std::option::Option<
6044 unsafe extern "C" fn(
6045 inst: *mut tm_web_talker_o,
6046 id: u64,
6047 bytes: *mut u64,
6048 total: *mut u64,
6049 ) -> bool,
6050 >,
6051 pub ws_get_events: ::std::option::Option<
6052 unsafe extern "C" fn(
6053 inst: *mut tm_web_talker_o,
6054 id: u64,
6055 buffer: *mut tm_web_socket_event_t,
6056 capacity: u32,
6057 ) -> u32,
6058 >,
6059 pub ws_send_text_frame: ::std::option::Option<
6060 unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64, s: *const ::std::os::raw::c_char),
6061 >,
6062 pub ws_send_binary_frame: ::std::option::Option<
6063 unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64, data: *const u8, size: u64),
6064 >,
6065 pub ws_send_segmented_binary_frame: ::std::option::Option<
6066 unsafe extern "C" fn(
6067 inst: *mut tm_web_talker_o,
6068 id: u64,
6069 buf: *const tm_segmented_buffer_t,
6070 size: u64,
6071 ),
6072 >,
6073 pub ws_send_ping:
6074 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64)>,
6075 pub ws_close: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_web_talker_o, id: u64)>,
6076 pub copy_segmented_buffer: ::std::option::Option<
6077 unsafe extern "C" fn(
6078 buffer: *mut ::std::os::raw::c_void,
6079 segments: *const tm_segmented_buffer_t,
6080 size: u64,
6081 ),
6082 >,
6083 pub create: ::std::option::Option<
6084 unsafe extern "C" fn(
6085 a: *mut tm_allocator_i,
6086 socket: *mut tm_os_socket_api,
6087 port: u32,
6088 ) -> *mut tm_web_talker_o,
6089 >,
6090 pub create_no_server: ::std::option::Option<
6091 unsafe extern "C" fn(
6092 a: *mut tm_allocator_i,
6093 socket: *mut tm_os_socket_api,
6094 ) -> *mut tm_web_talker_o,
6095 >,
6096 pub destroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut tm_web_talker_o)>,
6097}
6098#[repr(C)]
6099#[derive(Copy, Clone)]
6100pub struct tm_analytics_o {
6101 _unused: [u8; 0],
6102}
6103#[repr(C)]
6104#[derive(Copy, Clone)]
6105pub struct tm_analytics_api {
6106 pub create: ::std::option::Option<
6107 unsafe extern "C" fn(
6108 parent: *mut tm_allocator_i,
6109 property_id: *const ::std::os::raw::c_char,
6110 client_id: *const ::std::os::raw::c_char,
6111 ) -> *mut tm_analytics_o,
6112 >,
6113 pub destroy: ::std::option::Option<unsafe extern "C" fn(ana: *mut tm_analytics_o)>,
6114 pub update: ::std::option::Option<unsafe extern "C" fn(ana: *mut tm_analytics_o)>,
6115 pub pageview: ::std::option::Option<
6116 unsafe extern "C" fn(
6117 ana: *mut tm_analytics_o,
6118 hostname: *const ::std::os::raw::c_char,
6119 page: *const ::std::os::raw::c_char,
6120 title: *const ::std::os::raw::c_char,
6121 ),
6122 >,
6123 pub event: ::std::option::Option<
6124 unsafe extern "C" fn(
6125 ana: *mut tm_analytics_o,
6126 category: *const ::std::os::raw::c_char,
6127 action: *const ::std::os::raw::c_char,
6128 label: *const ::std::os::raw::c_char,
6129 value: f64,
6130 ),
6131 >,
6132 pub exception: ::std::option::Option<
6133 unsafe extern "C" fn(
6134 ana: *mut tm_analytics_o,
6135 description: *const ::std::os::raw::c_char,
6136 fatal: bool,
6137 ),
6138 >,
6139 pub timing: ::std::option::Option<
6140 unsafe extern "C" fn(
6141 ana: *mut tm_analytics_o,
6142 category: *const ::std::os::raw::c_char,
6143 variable: *const ::std::os::raw::c_char,
6144 time: f64,
6145 label: *mut ::std::os::raw::c_char,
6146 ),
6147 >,
6148 pub screenview: ::std::option::Option<
6149 unsafe extern "C" fn(
6150 ana: *mut tm_analytics_o,
6151 application_name: *const ::std::os::raw::c_char,
6152 application_version: *const ::std::os::raw::c_char,
6153 application_id: *const ::std::os::raw::c_char,
6154 screen_name: *const ::std::os::raw::c_char,
6155 ),
6156 >,
6157 pub vcustom:
6158 ::std::option::Option<unsafe extern "C" fn(ana: *mut tm_analytics_o, args: va_list)>,
6159 pub custom: ::std::option::Option<unsafe extern "C" fn(ana: *mut tm_analytics_o, ...)>,
6160 pub to_s: ::std::option::Option<
6161 unsafe extern "C" fn(
6162 value: f64,
6163 buffer: *mut ::std::os::raw::c_char,
6164 ) -> *const ::std::os::raw::c_char,
6165 >,
6166}
6167#[repr(C)]
6168#[derive(Copy, Clone)]
6169pub struct tm_animation_blender_o {
6170 _unused: [u8; 0],
6171}
6172#[repr(C)]
6173#[derive(Copy, Clone)]
6174pub struct tm_animation_blend_o {
6175 _unused: [u8; 0],
6176}
6177#[repr(C)]
6178#[derive(Copy, Clone)]
6179pub struct tm_animation_blend_playing_o {
6180 _unused: [u8; 0],
6181}
6182#[repr(C)]
6183#[derive(Copy, Clone)]
6184pub struct tm_animation_blender_playing_o {
6185 _unused: [u8; 0],
6186}
6187pub const TM_ANIMATION_BLENDER_MAX_LAYERS: ::std::os::raw::c_int = 16;
6188pub type _bindgen_ty_18 = ::std::os::raw::c_int;
6189pub const TM_ANIMATION_BLENDER_MAX_MIX: ::std::os::raw::c_int = 32;
6190pub type _bindgen_ty_19 = ::std::os::raw::c_int;
6191#[repr(C)]
6192#[derive(Copy, Clone)]
6193pub struct tm_animation_pose_t {
6194 pub hash: u64,
6195 pub n: u32,
6196 pub _padding_30: [::std::os::raw::c_char; 4usize],
6197 pub bone_names: *mut u64,
6198 pub pos: *mut tm_vec3_t,
6199 pub rot: *mut tm_vec4_t,
6200 pub scl: *mut tm_vec3_t,
6201}
6202#[repr(C)]
6203#[derive(Copy, Clone)]
6204pub struct tm_bone_weights_t {
6205 pub default_weight: f32,
6206 pub _padding_52: [::std::os::raw::c_char; 4usize],
6207 pub hash: u64,
6208 pub n: u32,
6209 pub _padding_60: [::std::os::raw::c_char; 4usize],
6210 pub bone_names: *mut u64,
6211 pub weights: *mut f32,
6212}
6213#[repr(C)]
6214#[derive(Copy, Clone)]
6215pub struct tm_animation_blender_api {
6216 pub blend: ::std::option::Option<
6217 unsafe extern "C" fn(
6218 p1: *mut tm_animation_pose_t,
6219 p1_weight: f32,
6220 p2: *const tm_animation_pose_t,
6221 p2_weight: f32,
6222 ),
6223 >,
6224 pub offset_blend: ::std::option::Option<
6225 unsafe extern "C" fn(
6226 p1: *mut tm_animation_pose_t,
6227 p2: *const tm_animation_pose_t,
6228 p2_weight: f32,
6229 bone_weights: *const tm_bone_weights_t,
6230 ),
6231 >,
6232 pub mix: ::std::option::Option<
6233 unsafe extern "C" fn(
6234 p: *mut tm_animation_pose_t,
6235 poses: *mut *const tm_animation_pose_t,
6236 weights: *const f32,
6237 n: u32,
6238 ),
6239 >,
6240 pub create_blender: ::std::option::Option<
6241 unsafe extern "C" fn(a: *mut tm_allocator_i) -> *mut tm_animation_blender_o,
6242 >,
6243 pub destroy_blender:
6244 ::std::option::Option<unsafe extern "C" fn(blender: *mut tm_animation_blender_o)>,
6245 pub create_blend: ::std::option::Option<
6246 unsafe extern "C" fn(
6247 blender: *mut tm_animation_blender_o,
6248 num_layers: u32,
6249 ) -> *mut tm_animation_blend_o,
6250 >,
6251 pub destroy_blend:
6252 ::std::option::Option<unsafe extern "C" fn(blend: *mut tm_animation_blend_o)>,
6253 pub tick: ::std::option::Option<
6254 unsafe extern "C" fn(
6255 blender: *mut tm_animation_blender_o,
6256 dt: f32,
6257 ) -> *mut tm_atomic_counter_o,
6258 >,
6259 pub play_animation: ::std::option::Option<
6260 unsafe extern "C" fn(
6261 blend: *mut tm_animation_blend_o,
6262 layer: u32,
6263 animation: *mut tm_animation_player_playing_o,
6264 crossfade_time: f32,
6265 ) -> *mut tm_animation_blender_playing_o,
6266 >,
6267 pub play_empty: ::std::option::Option<
6268 unsafe extern "C" fn(blend: *mut tm_animation_blend_o, layer: u32, crossfade_time: f32),
6269 >,
6270 pub play_pose: ::std::option::Option<
6271 unsafe extern "C" fn(
6272 blend: *mut tm_animation_blend_o,
6273 layer: u32,
6274 pose: *const tm_animation_pose_t,
6275 crossfade_time: f32,
6276 ) -> *mut tm_animation_blender_playing_o,
6277 >,
6278 pub update_pose: ::std::option::Option<
6279 unsafe extern "C" fn(
6280 playing: *mut tm_animation_blender_playing_o,
6281 pose: *const tm_animation_pose_t,
6282 ),
6283 >,
6284 pub play_mix: ::std::option::Option<
6285 unsafe extern "C" fn(
6286 blend: *mut tm_animation_blend_o,
6287 layer: u32,
6288 animations: *mut *mut tm_animation_player_playing_o,
6289 weights: *const f32,
6290 n: u32,
6291 crossfade_time: f32,
6292 ) -> *mut tm_animation_blender_playing_o,
6293 >,
6294 pub update_mix_weights: ::std::option::Option<
6295 unsafe extern "C" fn(playing: *mut tm_animation_blender_playing_o, weights: *const f32),
6296 >,
6297 pub set_bone_weights: ::std::option::Option<
6298 unsafe extern "C" fn(
6299 playing: *mut tm_animation_blender_playing_o,
6300 bone_weights: *const tm_bone_weights_t,
6301 ),
6302 >,
6303 pub blend_step:
6304 ::std::option::Option<unsafe extern "C" fn(blend: *mut tm_animation_blend_o, dt: f32)>,
6305 pub blend_compute_pose: ::std::option::Option<
6306 unsafe extern "C" fn(b: *mut tm_animation_blend_o) -> *mut tm_animation_pose_t,
6307 >,
6308 pub blend_pose: ::std::option::Option<
6309 unsafe extern "C" fn(b: *mut tm_animation_blend_o) -> *mut tm_animation_pose_t,
6310 >,
6311 pub locomotion_delta:
6312 ::std::option::Option<unsafe extern "C" fn(b: *mut tm_animation_blend_o) -> tm_transform_t>,
6313}
6314pub const tm_tt_value__animation_clip__locomotion_TM_TT_VALUE__ANIMATION_CLIP__LOCOMOTION__TRANSLATION_XZ : tm_tt_value__animation_clip__locomotion = 0 ;
6315pub const tm_tt_value__animation_clip__locomotion_TM_TT_VALUE__ANIMATION_CLIP__LOCOMOTION__TRANSLATION_XYZ : tm_tt_value__animation_clip__locomotion = 1 ;
6316pub const tm_tt_value__animation_clip__locomotion_TM_TT_VALUE__ANIMATION_CLIP__LOCOMOTION__FULL_TRANSFORM : tm_tt_value__animation_clip__locomotion = 2 ;
6317pub type tm_tt_value__animation_clip__locomotion = ::std::os::raw::c_int;
6318pub const TM_TT_PROP__ANIMATION_CLIP__NAME: ::std::os::raw::c_int = 0;
6319pub const TM_TT_PROP__ANIMATION_CLIP__ANIMATION: ::std::os::raw::c_int = 1;
6320pub const TM_TT_PROP__ANIMATION_CLIP__LOOP: ::std::os::raw::c_int = 2;
6321pub const TM_TT_PROP__ANIMATION_CLIP__SPEED: ::std::os::raw::c_int = 3;
6322pub const TM_TT_PROP__ANIMATION_CLIP__CUSTOM_RANGE: ::std::os::raw::c_int = 4;
6323pub const TM_TT_PROP__ANIMATION_CLIP__BEGIN: ::std::os::raw::c_int = 5;
6324pub const TM_TT_PROP__ANIMATION_CLIP__END: ::std::os::raw::c_int = 6;
6325pub const TM_TT_PROP__ANIMATION_CLIP__LOCOMOTION_NODE: ::std::os::raw::c_int = 7;
6326pub const TM_TT_PROP__ANIMATION_CLIP__LOCOMOTION: ::std::os::raw::c_int = 8;
6327pub type _bindgen_ty_20 = ::std::os::raw::c_int;
6328#[repr(C)]
6329#[derive(Copy, Clone)]
6330pub struct tm_animation_float_key_t {
6331 pub time: f32,
6332 pub v: f32,
6333}
6334#[repr(C)]
6335#[derive(Copy, Clone)]
6336pub struct tm_animation_vec3_key_t {
6337 pub time: f32,
6338 pub v: tm_vec3_t,
6339}
6340#[repr(C)]
6341#[derive(Copy, Clone)]
6342pub struct tm_animation_quat_key_t {
6343 pub time: f32,
6344 pub q: tm_vec4_t,
6345}
6346pub const tm_animation_extrapolation_TM_ANIMATION_EXTRAPOLATION__CONSTANT:
6347 tm_animation_extrapolation = 0;
6348pub const tm_animation_extrapolation_TM_ANIMATION_EXTRAPOLATION__LINEAR:
6349 tm_animation_extrapolation = 1;
6350pub const tm_animation_extrapolation_TM_ANIMATION_EXTRAPOLATION__REPEAT:
6351 tm_animation_extrapolation = 2;
6352pub type tm_animation_extrapolation = ::std::os::raw::c_int;
6353#[repr(C)]
6354#[derive(Copy, Clone)]
6355pub struct tm_animation_raw_t {
6356 pub buffers: *const tm_buffers_i,
6357 pub buffer: u32,
6358 pub _padding_60: [::std::os::raw::c_char; 4usize],
6359 pub ticks_per_second: f64,
6360 pub duration: f64,
6361 pub num_bones: u32,
6362 pub _padding_70: [::std::os::raw::c_char; 4usize],
6363 pub bone_names: *mut u64,
6364 pub num_pos_keys: *mut u32,
6365 pub pos_keys: *mut *const tm_animation_vec3_key_t,
6366 pub num_rot_keys: *mut u32,
6367 pub rot_keys: *mut *const tm_animation_quat_key_t,
6368 pub num_scl_keys: *mut u32,
6369 pub scl_keys: *mut *const tm_animation_vec3_key_t,
6370 pub bone_pre_extrapolation: *mut u16,
6371 pub bone_post_extrapolation: *mut u16,
6372 pub num_curves: u32,
6373 pub _padding_91: [::std::os::raw::c_char; 4usize],
6374 pub curve_names: *mut u64,
6375 pub num_curve_keys: *mut u32,
6376 pub curve_keys: *mut *mut tm_animation_float_key_t,
6377 pub curve_pre_extrapolation: *mut u16,
6378 pub curve_post_extrapolation: *mut u16,
6379}
6380pub const tm_animation_player_loop_TM_ANIMATION_PLAYER_LOOP__NONE: tm_animation_player_loop = 0;
6381pub const tm_animation_player_loop_TM_ANIMATION_PLAYER_LOOP__LOOP: tm_animation_player_loop = 1;
6382pub const tm_animation_player_loop_TM_ANIMATION_PLAYER_LOOP__PING_PONG: tm_animation_player_loop =
6383 2;
6384pub type tm_animation_player_loop = ::std::os::raw::c_int;
6385pub const tm_animation_player_locomotion_TM_ANIMATION_PLAYER_LOCOMOTION__NONE:
6386 tm_animation_player_locomotion = 0;
6387pub const tm_animation_player_locomotion_TM_ANIMATION_PLAYER_LOCOMOTION__TRANSLATION_XZ:
6388 tm_animation_player_locomotion = 1;
6389pub const tm_animation_player_locomotion_TM_ANIMATION_PLAYER_LOCOMOTION__TRANSLATION_XYZ:
6390 tm_animation_player_locomotion = 2;
6391pub const tm_animation_player_locomotion_TM_ANIMATION_PLAYER_LOCOMOTION__FULL_TRANSFORM:
6392 tm_animation_player_locomotion = 3;
6393pub type tm_animation_player_locomotion = ::std::os::raw::c_int;
6394#[repr(C)]
6395#[derive(Copy, Clone)]
6396pub struct tm_animation_player_playing_o {
6397 pub animation_player: *mut tm_animation_player_o,
6398 pub generation: u64,
6399 pub time: f64,
6400 pub eval_time: f64,
6401 pub length: f64,
6402 pub ticks_per_second: f32,
6403 pub speed: f32,
6404 pub base_speed: f32,
6405 pub loop_: tm_animation_player_loop,
6406 pub loop_range_begin: f64,
6407 pub loop_range_end: f64,
6408 pub loop_count: i32,
6409 pub num_bones: u32,
6410 pub bone_names: *mut u64,
6411 pub bone_pos: *mut tm_vec3_t,
6412 pub bone_rot: *mut tm_vec4_t,
6413 pub bone_scl: *mut tm_vec3_t,
6414 pub bone_hash: u64,
6415 pub num_curves: u32,
6416 pub _padding_179: [::std::os::raw::c_char; 4usize],
6417 pub curve_names: *mut u64,
6418 pub curve_values: *mut f32,
6419 pub curve_hash: u64,
6420 pub locomotion: u32,
6421 pub locomotion_bone: u32,
6422 pub locomotion_delta: tm_transform_t,
6423}
6424#[repr(C)]
6425#[derive(Copy, Clone)]
6426pub struct tm_animation_player_api {
6427 pub create: ::std::option::Option<
6428 unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_animation_player_o,
6429 >,
6430 pub destroy: ::std::option::Option<unsafe extern "C" fn(player: *mut tm_animation_player_o)>,
6431 pub parse_raw: ::std::option::Option<
6432 unsafe extern "C" fn(
6433 ap: *mut tm_animation_player_o,
6434 tt: *const tm_the_truth_o,
6435 animation: tm_tt_id_t,
6436 ta: *mut tm_temp_allocator_i,
6437 ) -> *mut tm_animation_raw_t,
6438 >,
6439 pub play_raw: ::std::option::Option<
6440 unsafe extern "C" fn(
6441 ap: *mut tm_animation_player_o,
6442 raw: *const tm_animation_raw_t,
6443 ) -> *mut tm_animation_player_playing_o,
6444 >,
6445 pub play: ::std::option::Option<
6446 unsafe extern "C" fn(
6447 ap: *mut tm_animation_player_o,
6448 tt: *const tm_the_truth_o,
6449 animation: tm_tt_id_t,
6450 ) -> *mut tm_animation_player_playing_o,
6451 >,
6452 pub stop:
6453 ::std::option::Option<unsafe extern "C" fn(playing: *mut tm_animation_player_playing_o)>,
6454 pub set_time: ::std::option::Option<
6455 unsafe extern "C" fn(playing: *mut tm_animation_player_playing_o, t: f64),
6456 >,
6457 pub tick: ::std::option::Option<
6458 unsafe extern "C" fn(ap: *mut tm_animation_player_o, dt: f32) -> *mut tm_atomic_counter_o,
6459 >,
6460}
6461#[repr(C)]
6462#[derive(Copy, Clone)]
6463pub struct tm_scene_tree_component_t {
6464 _unused: [u8; 0],
6465}
6466pub const TM_TT_PROP__ANIMATION_SIMPLE_PLAYER__ANIMATION: ::std::os::raw::c_int = 0;
6467pub type _bindgen_ty_21 = ::std::os::raw::c_int;
6468pub const tm_animation_simple_player__locomotion_TM_ANIMATION_SIMPLE_PLAYER__LOCOMOTION__DRIVE:
6469 tm_animation_simple_player__locomotion = 0;
6470pub const tm_animation_simple_player__locomotion_TM_ANIMATION_SIMPLE_PLAYER__LOCOMOTION__EXTERNAL : tm_animation_simple_player__locomotion = 1 ;
6471pub type tm_animation_simple_player__locomotion = ::std::os::raw::c_int;
6472#[repr(C)]
6473#[derive(Copy, Clone)]
6474pub struct tm_animation_simple_player_component_t {
6475 pub animation: tm_tt_id_t,
6476 pub playing: *mut tm_animation_player_playing_o,
6477 pub locomotion: u32,
6478 pub locomotion_delta: tm_transform_t,
6479 pub _padding_44: [::std::os::raw::c_char; 4usize],
6480}
6481#[repr(C)]
6482#[derive(Copy, Clone)]
6483pub struct tm_animation_simple_player_component_manager_o {
6484 _unused: [u8; 0],
6485}
6486#[repr(C)]
6487#[derive(Copy, Clone)]
6488pub struct tm_animation_simple_player_component_api {
6489 pub update: ::std::option::Option<
6490 unsafe extern "C" fn(man: *mut tm_animation_simple_player_component_manager_o, dt: f32),
6491 >,
6492 pub play: ::std::option::Option<
6493 unsafe extern "C" fn(
6494 man: *mut tm_animation_simple_player_component_manager_o,
6495 c: *mut tm_animation_simple_player_component_t,
6496 animation: tm_tt_id_t,
6497 st: *mut tm_scene_tree_component_t,
6498 ),
6499 >,
6500}
6501pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__NAME:
6502 tm_asm_state_interface_properties = 0;
6503pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__SORT_ORDER:
6504 tm_asm_state_interface_properties = 1;
6505pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__POSITION_X:
6506 tm_asm_state_interface_properties = 2;
6507pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__POSITION_Y:
6508 tm_asm_state_interface_properties = 3;
6509pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__BLEND_SET:
6510 tm_asm_state_interface_properties = 4;
6511pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__SPEED:
6512 tm_asm_state_interface_properties = 5;
6513pub const tm_asm_state_interface_properties_TM_TT_PROP__ASM_STATE__FIRST_CUSTOM:
6514 tm_asm_state_interface_properties = 6;
6515pub type tm_asm_state_interface_properties = ::std::os::raw::c_int;
6516pub const TM_TT_PROP__ASM_REGULAR_STATE__ANIMATION: ::std::os::raw::c_int = 6;
6517pub type _bindgen_ty_22 = ::std::os::raw::c_int;
6518pub const TM_TT_VALUE__ASM_RANDOM_STATE__STRATEGY__DONT_REPEAT: ::std::os::raw::c_int = 0;
6519pub const TM_TT_VALUE__ASM_RANDOM_STATE__STRATEGY__INDEPENDENT_PICK: ::std::os::raw::c_int = 1;
6520pub const TM_TT_VALUE__ASM_RANDOM_STATE__STRATEGY__SHUFFLE: ::std::os::raw::c_int = 2;
6521pub type _bindgen_ty_23 = ::std::os::raw::c_int;
6522pub const TM_TT_PROP__ASM_RANDOM_STATE__STRATEGY: ::std::os::raw::c_int = 6;
6523pub const TM_TT_PROP__ASM_RANDOM_STATE__LOOP_CROSSFADE_TIME: ::std::os::raw::c_int = 7;
6524pub const TM_TT_PROP__ASM_RANDOM_STATE__ANIMATIONS: ::std::os::raw::c_int = 8;
6525pub type _bindgen_ty_24 = ::std::os::raw::c_int;
6526pub const TM_TT_PROP__ASM_RANDOM_STATE_ANIMATION__ANIMATION: ::std::os::raw::c_int = 0;
6527pub const TM_TT_PROP__ASM_RANDOM_STATE_ANIMATION__WEIGHT: ::std::os::raw::c_int = 1;
6528pub type _bindgen_ty_25 = ::std::os::raw::c_int;
6529pub const tm_tt_value__asm_blend_state__dimensions_TM_TT_VALUE__ASM_BLEND_STATE__DIMENSIONS__1D:
6530 tm_tt_value__asm_blend_state__dimensions = 0;
6531pub const tm_tt_value__asm_blend_state__dimensions_TM_TT_VALUE__ASM_BLEND_STATE__DIMENSIONS__2D:
6532 tm_tt_value__asm_blend_state__dimensions = 1;
6533pub type tm_tt_value__asm_blend_state__dimensions = ::std::os::raw::c_int;
6534pub const TM_TT_PROP__ASM_BLEND_STATE__DIMENSIONS: ::std::os::raw::c_int = 6;
6535pub const TM_TT_PROP__ASM_BLEND_STATE__VARIABLE_X: ::std::os::raw::c_int = 7;
6536pub const TM_TT_PROP__ASM_BLEND_STATE__VARIABLE_Y: ::std::os::raw::c_int = 8;
6537pub const TM_TT_PROP__ASM_BLEND_STATE__ANIMATIONS: ::std::os::raw::c_int = 9;
6538pub type _bindgen_ty_26 = ::std::os::raw::c_int;
6539pub const TM_TT_PROP__ASM_BLEND_STATE_ANIMATION__ANIMATION: ::std::os::raw::c_int = 0;
6540pub const TM_TT_PROP__ASM_BLEND_STATE_ANIMATION__X: ::std::os::raw::c_int = 1;
6541pub const TM_TT_PROP__ASM_BLEND_STATE_ANIMATION__Y: ::std::os::raw::c_int = 2;
6542pub type _bindgen_ty_27 = ::std::os::raw::c_int;
6543pub const tm_asm_transition_interface_properties_TM_TT_PROP__ASM_TRANSITION__NAME:
6544 tm_asm_transition_interface_properties = 0;
6545pub const tm_asm_transition_interface_properties_TM_TT_PROP__ASM_TRANSITION__SORT_ORDER:
6546 tm_asm_transition_interface_properties = 1;
6547pub const tm_asm_transition_interface_properties_TM_TT_PROP__ASM_TRANSITION__FROM_STATE:
6548 tm_asm_transition_interface_properties = 2;
6549pub const tm_asm_transition_interface_properties_TM_TT_PROP__ASM_TRANSITION__TO_STATE:
6550 tm_asm_transition_interface_properties = 3;
6551pub const tm_asm_transition_interface_properties_TM_TT_PROP__ASM_TRANSITION__FIRST_CUSTOM:
6552 tm_asm_transition_interface_properties = 4;
6553pub type tm_asm_transition_interface_properties = ::std::os::raw::c_int;
6554pub const tm_tt_value__asm_regular_transition__on_TM_TT_VALUE__ASM_REGULAR_TRANSITION__ON__EVENT:
6555 tm_tt_value__asm_regular_transition__on = 0;
6556pub const tm_tt_value__asm_regular_transition__on_TM_TT_VALUE__ASM_REGULAR_TRANSITION__ON__ANIMATION_FINISHED : tm_tt_value__asm_regular_transition__on = 1 ;
6557pub const tm_tt_value__asm_regular_transition__on_TM_TT_VALUE__ASM_REGULAR_TRANSITION__ON__CONDITION : tm_tt_value__asm_regular_transition__on = 2 ;
6558pub type tm_tt_value__asm_regular_transition__on = ::std::os::raw::c_int;
6559pub const TM_TT_PROP__ASM_REGULAR_TRANSITION__ON: ::std::os::raw::c_int = 4;
6560pub const TM_TT_PROP__ASM_REGULAR_TRANSITION__EVENT: ::std::os::raw::c_int = 5;
6561pub const TM_TT_PROP__ASM_REGULAR_TRANSITION__CONDITION: ::std::os::raw::c_int = 6;
6562pub const TM_TT_PROP__ASM_REGULAR_TRANSITION__CROSSFADE_TIME: ::std::os::raw::c_int = 7;
6563pub type _bindgen_ty_28 = ::std::os::raw::c_int;
6564pub const TM_TT_PROP__ASM_LAYER__NAME: ::std::os::raw::c_int = 0;
6565pub const TM_TT_PROP__ASM_LAYER__SORT_ORDER: ::std::os::raw::c_int = 1;
6566pub const TM_TT_PROP__ASM_LAYER__DEFAULT_STATE: ::std::os::raw::c_int = 2;
6567pub const TM_TT_PROP__ASM_LAYER__STATES: ::std::os::raw::c_int = 3;
6568pub const TM_TT_PROP__ASM_LAYER__TRANSITIONS: ::std::os::raw::c_int = 4;
6569pub type _bindgen_ty_29 = ::std::os::raw::c_int;
6570pub const TM_TT_PROP__ASM_EVENT__NAME: ::std::os::raw::c_int = 0;
6571pub const TM_TT_PROP__ASM_EVENT__SORT_ORDER: ::std::os::raw::c_int = 1;
6572pub type _bindgen_ty_30 = ::std::os::raw::c_int;
6573pub const TM_TT_PROP__ASM_VARIABLE__NAME: ::std::os::raw::c_int = 0;
6574pub const TM_TT_PROP__ASM_VARIABLE__SORT_ORDER: ::std::os::raw::c_int = 1;
6575pub const TM_TT_PROP__ASM_VARIABLE__DEFAULT: ::std::os::raw::c_int = 2;
6576pub const TM_TT_PROP__ASM_VARIABLE__MIN: ::std::os::raw::c_int = 3;
6577pub const TM_TT_PROP__ASM_VARIABLE__MAX: ::std::os::raw::c_int = 4;
6578pub const TM_TT_PROP__ASM_VARAIBLE__COMPUTED: ::std::os::raw::c_int = 5;
6579pub const TM_TT_PROP__ASM_VARIABLE__EXPRESSION: ::std::os::raw::c_int = 6;
6580pub type _bindgen_ty_31 = ::std::os::raw::c_int;
6581pub const TM_TT_PROP__ASM_BLEND_SET_WEIGHT__NAME: ::std::os::raw::c_int = 0;
6582pub const TM_TT_PROP__ASM_BLEND_SET_WEIGHT__WEIGHT: ::std::os::raw::c_int = 1;
6583pub type _bindgen_ty_32 = ::std::os::raw::c_int;
6584pub const TM_TT_PROP__ASM_BLEND_SET__NAME: ::std::os::raw::c_int = 0;
6585pub const TM_TT_PROP__ASM_BLEND_SET__SORT_ORDER: ::std::os::raw::c_int = 1;
6586pub const TM_TT_PROP__ASM_BLEND_SET__DEFAULT_WEIGHT: ::std::os::raw::c_int = 2;
6587pub const TM_TT_PROP__ASM_BLEND_SET__WEIGHTS: ::std::os::raw::c_int = 3;
6588pub type _bindgen_ty_33 = ::std::os::raw::c_int;
6589pub const TM_TT_PROP__ASM_MOTION_MIXER__SLIDERS: ::std::os::raw::c_int = 0;
6590pub const TM_TT_PROP__ASM_MOTION_MIXER__BUTTONS: ::std::os::raw::c_int = 1;
6591pub const TM_TT_PROP__ASM_MOTION_MIXER__VARIABLE_KEYS: ::std::os::raw::c_int = 2;
6592pub const TM_TT_PROP__ASM_MOTION_MIXER__EVENT_KEYS: ::std::os::raw::c_int = 3;
6593pub type _bindgen_ty_34 = ::std::os::raw::c_int;
6594pub const TM_TT_PROP__ASM_MOTION_MIXER_SLIDER__VARIABLE: ::std::os::raw::c_int = 0;
6595pub const TM_TT_PROP__ASM_MOTION_MIXER_SLIDER__SORT_ORDER: ::std::os::raw::c_int = 1;
6596pub type _bindgen_ty_35 = ::std::os::raw::c_int;
6597pub const TM_TT_PROP__ASM_MOTION_MIXER_BUTTON__EVENT: ::std::os::raw::c_int = 0;
6598pub const TM_TT_PROP__ASM_MOTION_MIXER_BUTTON__SORT_ORDER: ::std::os::raw::c_int = 1;
6599pub type _bindgen_ty_36 = ::std::os::raw::c_int;
6600pub const TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__SORT_ORDER: ::std::os::raw::c_int = 0;
6601pub const TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__KEY: ::std::os::raw::c_int = 1;
6602pub const TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__VARIABLE: ::std::os::raw::c_int = 2;
6603pub const TM_TT_PROP__ASM_MOTION_MIXER_VARIABLE_KEY__LERP_TIME: ::std::os::raw::c_int = 3;
6604pub type _bindgen_ty_37 = ::std::os::raw::c_int;
6605pub const TM_TT_PROP__ASM_MOTION_MIXER_EVENT_KEY__SORT_ORDER: ::std::os::raw::c_int = 0;
6606pub const TM_TT_PROP__ASM_MOTION_MIXER_EVENT_KEY__KEY: ::std::os::raw::c_int = 1;
6607pub const TM_TT_PROP__ASM_MOTION_MIXER_EVENT_KEY__EVENT: ::std::os::raw::c_int = 2;
6608pub type _bindgen_ty_38 = ::std::os::raw::c_int;
6609pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__NAME: ::std::os::raw::c_int = 0;
6610pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__PREVIEW_ENTITY: ::std::os::raw::c_int = 1;
6611pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__LAYERS: ::std::os::raw::c_int = 2;
6612pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__EVENTS: ::std::os::raw::c_int = 3;
6613pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__VARIABLES: ::std::os::raw::c_int = 4;
6614pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__BLEND_SETS: ::std::os::raw::c_int = 5;
6615pub const TM_TT_PROP__ANIMATION_STATE_MACHINE__MOTION_MIXER: ::std::os::raw::c_int = 6;
6616pub type _bindgen_ty_39 = ::std::os::raw::c_int;
6617#[repr(C)]
6618#[derive(Copy, Clone)]
6619pub struct tm_animation_state_machine_manager_o {
6620 _unused: [u8; 0],
6621}
6622#[repr(C)]
6623#[derive(Copy, Clone)]
6624pub struct tm_animation_state_machine_o {
6625 _unused: [u8; 0],
6626}
6627pub const TM_STATE_MACHINE__MAX_LAYERS: ::std::os::raw::c_int = 16;
6628pub type _bindgen_ty_40 = ::std::os::raw::c_int;
6629pub const TM_STATE_MACHINE__MAX_VARIABLES: ::std::os::raw::c_int = 64;
6630pub type _bindgen_ty_41 = ::std::os::raw::c_int;
6631#[repr(C)]
6632#[derive(Copy, Clone)]
6633pub struct tm_animation_state_machine_state_t {
6634 pub num_layers: u32,
6635 pub _padding_239: [::std::os::raw::c_char; 4usize],
6636 pub layer_uuid: [tm_uuid_t; 16usize],
6637 pub state_uuid: [tm_uuid_t; 16usize],
6638 pub state_type_hash: [u64; 16usize],
6639 pub state_name_hash: [u64; 16usize],
6640 pub state_animation_time: [f64; 16usize],
6641 pub num_variables: u32,
6642 pub _padding_247: [::std::os::raw::c_char; 4usize],
6643 pub variable_names: [u64; 64usize],
6644 pub variable_values: [f32; 64usize],
6645}
6646#[repr(C)]
6647#[derive(Copy, Clone)]
6648pub struct tm_animation_state_machine_api {
6649 pub compile: ::std::option::Option<
6650 unsafe extern "C" fn(
6651 tt: *const tm_the_truth_o,
6652 sm_id: tm_tt_id_t,
6653 vm: *mut ::std::os::raw::c_char,
6654 allocator: *mut tm_allocator_i,
6655 ),
6656 >,
6657 pub create_manager: ::std::option::Option<
6658 unsafe extern "C" fn(
6659 allocator: *mut tm_allocator_i,
6660 ) -> *mut tm_animation_state_machine_manager_o,
6661 >,
6662 pub destroy_manager: ::std::option::Option<
6663 unsafe extern "C" fn(manager: *mut tm_animation_state_machine_manager_o),
6664 >,
6665 pub create_state_machine: ::std::option::Option<
6666 unsafe extern "C" fn(
6667 manager: *mut tm_animation_state_machine_manager_o,
6668 tt: *mut tm_the_truth_o,
6669 data: *mut ::std::os::raw::c_void,
6670 ) -> *mut tm_animation_state_machine_o,
6671 >,
6672 pub destroy_state_machine:
6673 ::std::option::Option<unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o)>,
6674 pub state: ::std::option::Option<
6675 unsafe extern "C" fn(
6676 sm: *const tm_animation_state_machine_o,
6677 ) -> tm_animation_state_machine_state_t,
6678 >,
6679 pub set_state: ::std::option::Option<
6680 unsafe extern "C" fn(
6681 sm: *mut tm_animation_state_machine_o,
6682 state: *const tm_animation_state_machine_state_t,
6683 ),
6684 >,
6685 pub event: ::std::option::Option<
6686 unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o, name_hash: u64),
6687 >,
6688 pub tick_state_machine:
6689 ::std::option::Option<unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o, dt: f32)>,
6690 pub tick: ::std::option::Option<
6691 unsafe extern "C" fn(manager: *mut tm_animation_state_machine_manager_o, dt: f32),
6692 >,
6693 pub pose: ::std::option::Option<
6694 unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o) -> *mut tm_animation_pose_t,
6695 >,
6696 pub locomotion_delta: ::std::option::Option<
6697 unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o) -> tm_transform_t,
6698 >,
6699 pub get_variable: ::std::option::Option<
6700 unsafe extern "C" fn(sm: *const tm_animation_state_machine_o, name: u64) -> f32,
6701 >,
6702 pub set_variable: ::std::option::Option<
6703 unsafe extern "C" fn(sm: *mut tm_animation_state_machine_o, name: u64, value: f32),
6704 >,
6705 pub is_state_playing: ::std::option::Option<
6706 unsafe extern "C" fn(sm: *const tm_animation_state_machine_o, name_hash: u64) -> bool,
6707 >,
6708}
6709#[repr(C)]
6710#[derive(Copy, Clone)]
6711pub union tm_entity_t {
6712 pub __bindgen_anon_1: tm_entity_t__bindgen_ty_1,
6713 pub u64_: u64,
6714 _bindgen_union_align: u64,
6715}
6716#[repr(C)]
6717#[derive(Copy, Clone)]
6718pub struct tm_entity_t__bindgen_ty_1 {
6719 pub index: u32,
6720 pub generation: u32,
6721}
6722#[repr(C)]
6723#[derive(Copy, Clone)]
6724pub struct tm_set_entity_t {
6725 _unused: [u8; 0],
6726}
6727#[repr(C)]
6728#[derive(Copy, Clone)]
6729pub struct tm_component_manager_o {
6730 _unused: [u8; 0],
6731}
6732pub const TM_TT_PROP__ANIMATION_STATE_MACHINE_COMPONENT__STATE_MACHINE: ::std::os::raw::c_int = 0;
6733pub type _bindgen_ty_42 = ::std::os::raw::c_int;
6734pub const tm_animation_state_machine__locomotion_TM_ANIMATION_STATE_MACHINE__LOCOMOTION__DRIVE:
6735 tm_animation_state_machine__locomotion = 0;
6736pub const tm_animation_state_machine__locomotion_TM_ANIMATION_STATE_MACHINE__LOCOMOTION__EXTERNAL : tm_animation_state_machine__locomotion = 1 ;
6737pub type tm_animation_state_machine__locomotion = ::std::os::raw::c_int;
6738#[repr(C)]
6739#[derive(Copy, Clone)]
6740pub struct tm_animation_state_machine_component_t {
6741 pub state_machine_id: tm_tt_id_t,
6742 pub state_machine: *mut tm_animation_state_machine_o,
6743 pub state_machine_data: *mut ::std::os::raw::c_char,
6744 pub locomotion: u32,
6745 pub locomotion_delta: tm_transform_t,
6746 pub _padding_36: [::std::os::raw::c_char; 4usize],
6747}
6748#[repr(C)]
6749#[derive(Copy, Clone)]
6750pub struct tm_animation_state_machine_component_api {
6751 pub update:
6752 ::std::option::Option<unsafe extern "C" fn(man: *mut tm_component_manager_o, dt: f32)>,
6753 pub reload: ::std::option::Option<
6754 unsafe extern "C" fn(
6755 man: *mut tm_component_manager_o,
6756 e: tm_entity_t,
6757 c: *mut tm_animation_state_machine_component_t,
6758 ),
6759 >,
6760}
6761#[repr(C)]
6762#[derive(Copy, Clone)]
6763pub struct tm_bone_translation_api {
6764 pub get_bone_translation_table: ::std::option::Option<
6765 unsafe extern "C" fn(
6766 hash_1: u64,
6767 bone_names_1: *const u64,
6768 n_1: u16,
6769 hash_2: u64,
6770 bone_names_2: *const u64,
6771 n_2: u16,
6772 ) -> *mut u16,
6773 >,
6774}
6775#[repr(C)]
6776#[derive(Copy, Clone)]
6777pub struct tm_expression_language_api {
6778 pub compile: ::std::option::Option<
6779 unsafe extern "C" fn(
6780 source: *const ::std::os::raw::c_char,
6781 variables: *const u64,
6782 num_variables: u16,
6783 ta: *mut tm_temp_allocator_i,
6784 ) -> *mut ::std::os::raw::c_char,
6785 >,
6786 pub is_error: ::std::option::Option<
6787 unsafe extern "C" fn(
6788 byte_code: *const ::std::os::raw::c_char,
6789 ) -> *const ::std::os::raw::c_char,
6790 >,
6791 pub is_constant: ::std::option::Option<
6792 unsafe extern "C" fn(byte_code: *const ::std::os::raw::c_char, value: *mut f32) -> bool,
6793 >,
6794 pub used_variables: ::std::option::Option<
6795 unsafe extern "C" fn(
6796 byte_code: *const ::std::os::raw::c_char,
6797 ta: *mut tm_temp_allocator_i,
6798 ) -> *mut u16,
6799 >,
6800 pub size: ::std::option::Option<
6801 unsafe extern "C" fn(byte_code: *const ::std::os::raw::c_char) -> u32,
6802 >,
6803 pub run: ::std::option::Option<
6804 unsafe extern "C" fn(
6805 byte_code: *const ::std::os::raw::c_char,
6806 variables: *const f32,
6807 ) -> f32,
6808 >,
6809}
6810#[repr(C)]
6811#[derive(Copy, Clone)]
6812pub struct tm_state_graph_aspect_i {
6813 pub prop_graph__nodes: u32,
6814 pub prop_graph__transitions: u32,
6815 pub prop_node__pos_x: u32,
6816 pub prop_node__pos_y: u32,
6817 pub prop_transition__from_node: u32,
6818 pub prop_transition__to_node: u32,
6819 pub node_aspect: u64,
6820 pub transition_aspect: u64,
6821}
6822#[repr(C)]
6823#[derive(Copy, Clone)]
6824pub struct tm_state_graph_setup_t {
6825 pub tt: *mut tm_the_truth_o,
6826 pub undo_stack: *mut tm_undo_stack_i,
6827 pub root_object: tm_tt_id_t,
6828 pub aspect: *const tm_state_graph_aspect_i,
6829}
6830#[repr(C)]
6831#[derive(Copy, Clone)]
6832pub struct tm_state_graph_node_aspect_i {
6833 pub graph_title: ::std::option::Option<
6834 unsafe extern "C" fn(
6835 tt: *const tm_the_truth_o,
6836 id: tm_tt_id_t,
6837 buffer: *mut ::std::os::raw::c_char,
6838 size: u32,
6839 ) -> *const ::std::os::raw::c_char,
6840 >,
6841 pub spawn_title: ::std::option::Option<
6842 unsafe extern "C" fn(
6843 tt: *const tm_the_truth_o,
6844 type_: u64,
6845 buffer: *mut ::std::os::raw::c_char,
6846 size: u32,
6847 ) -> *const ::std::os::raw::c_char,
6848 >,
6849 pub spawn_category: ::std::option::Option<
6850 unsafe extern "C" fn(
6851 tt: *const tm_the_truth_o,
6852 type_: u64,
6853 buffer: *mut ::std::os::raw::c_char,
6854 size: u32,
6855 ) -> *const ::std::os::raw::c_char,
6856 >,
6857 pub draw: ::std::option::Option<
6858 unsafe extern "C" fn(
6859 tt: *const tm_the_truth_o,
6860 id: tm_tt_id_t,
6861 ui: *mut tm_ui_o,
6862 uistyle: *const tm_ui_style_t,
6863 rect: tm_rect_t,
6864 ),
6865 >,
6866}
6867#[repr(C)]
6868#[derive(Copy, Clone)]
6869pub struct tm_state_graph_transition_aspect_i {
6870 pub graph_title: ::std::option::Option<
6871 unsafe extern "C" fn(
6872 tt: *const tm_the_truth_o,
6873 id: tm_tt_id_t,
6874 buffer: *mut ::std::os::raw::c_char,
6875 size: u32,
6876 ) -> *const ::std::os::raw::c_char,
6877 >,
6878}
6879#[repr(C)]
6880#[derive(Copy, Clone)]
6881pub struct tm_state_graph_o {
6882 _unused: [u8; 0],
6883}
6884#[repr(C)]
6885#[derive(Copy, Clone)]
6886pub struct tm_state_graph_ui_res_t {
6887 pub focus_changed: bool,
6888 pub _padding_98: [::std::os::raw::c_char; 7usize],
6889 pub focus: tm_tt_id_t,
6890 pub selection_changed: bool,
6891 pub _padding_105: [::std::os::raw::c_char; 7usize],
6892}
6893#[repr(C)]
6894#[derive(Copy, Clone)]
6895pub struct tm_state_graph_api {
6896 pub create_graph: ::std::option::Option<
6897 unsafe extern "C" fn(
6898 parent_allocator: *mut tm_allocator_i,
6899 setup: *const tm_state_graph_setup_t,
6900 ) -> *mut tm_state_graph_o,
6901 >,
6902 pub destroy_graph: ::std::option::Option<unsafe extern "C" fn(graph: *mut tm_state_graph_o)>,
6903 pub ui: ::std::option::Option<
6904 unsafe extern "C" fn(
6905 inst: *mut tm_state_graph_o,
6906 ui: *mut tm_ui_o,
6907 style: *const tm_ui_style_t,
6908 rect: tm_rect_t,
6909 tab_id: u64,
6910 ) -> tm_state_graph_ui_res_t,
6911 >,
6912 pub selected_objects: ::std::option::Option<
6913 unsafe extern "C" fn(
6914 inst: *mut tm_state_graph_o,
6915 ta: *mut tm_temp_allocator_i,
6916 ) -> *const tm_tt_id_t,
6917 >,
6918}
6919#[repr(C)]
6920#[derive(Copy, Clone)]
6921pub struct tm_assimp_api {
6922 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(truth: *mut tm_the_truth_o)>,
6923 pub import: ::std::option::Option<
6924 unsafe extern "C" fn(
6925 file: *const ::std::os::raw::c_char,
6926 import: *const tm_asset_io_import,
6927 ),
6928 >,
6929 pub io_interface: ::std::option::Option<unsafe extern "C" fn() -> *mut tm_asset_io_i>,
6930 pub migrate_from_assimp_to_dcc_asset:
6931 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> bool>,
6932}
6933#[repr(C)]
6934#[derive(Copy, Clone)]
6935pub struct tm_mixer_o {
6936 _unused: [u8; 0],
6937}
6938#[repr(C)]
6939#[derive(Copy, Clone)]
6940pub struct tm_mixer_item_o {
6941 _unused: [u8; 0],
6942}
6943pub const tm_mixer_positioning_enum_TM_MIXER_POSITIONING__2D: tm_mixer_positioning_enum = 0;
6944pub const tm_mixer_positioning_enum_TM_MIXER_POSITIONING__3D: tm_mixer_positioning_enum = 1;
6945pub const tm_mixer_positioning_enum_TM_MIXER_POSITIONING__MATRIX: tm_mixer_positioning_enum = 2;
6946pub type tm_mixer_positioning_enum = ::std::os::raw::c_int;
6947#[repr(C)]
6948#[derive(Copy, Clone)]
6949pub struct tm_mixer_positioning_2d_t {
6950 pub pan: f32,
6951 pub channel_mask: u32,
6952}
6953#[repr(C)]
6954#[derive(Copy, Clone)]
6955pub struct tm_mixer_positioning_3d_t {
6956 pub pos: tm_vec3_t,
6957 pub min_distance: f32,
6958 pub max_distance: f32,
6959 pub spread: f32,
6960}
6961#[repr(C)]
6962#[derive(Copy, Clone)]
6963pub struct tm_mixer_positioning_matrix_t {
6964 pub matrix: *const f32,
6965}
6966#[repr(C)]
6967#[derive(Copy, Clone)]
6968pub struct tm_mixer_positioning_t {
6969 pub type_: tm_mixer_positioning_enum,
6970 pub _padding_142: [::std::os::raw::c_char; 4usize],
6971 pub __bindgen_anon_1: tm_mixer_positioning_t__bindgen_ty_1,
6972}
6973#[repr(C)]
6974#[derive(Copy, Clone)]
6975pub union tm_mixer_positioning_t__bindgen_ty_1 {
6976 pub pos_2d: tm_mixer_positioning_2d_t,
6977 pub pos_3d: tm_mixer_positioning_3d_t,
6978 pub pos_matrix: tm_mixer_positioning_matrix_t,
6979 _bindgen_union_align: [u64; 3usize],
6980}
6981#[repr(C)]
6982#[derive(Copy, Clone)]
6983pub struct tm_mixer_settings_t {
6984 pub world: *mut ::std::os::raw::c_void,
6985 pub volume: f32,
6986 pub pitch: f32,
6987 pub pos: tm_mixer_positioning_t,
6988}
6989pub const TM_MIXER_MAX_CHANNELS: ::std::os::raw::c_int = 8;
6990pub type _bindgen_ty_43 = ::std::os::raw::c_int;
6991#[repr(C)]
6992#[derive(Copy, Clone)]
6993pub struct tm_mixer_render_t {
6994 pub channels: [*const f32; 8usize],
6995}
6996pub const TM_MIXER_MAX_SAMPLER_USER_DATA_BYTES: ::std::os::raw::c_int = 256;
6997pub type _bindgen_ty_44 = ::std::os::raw::c_int;
6998pub type tm_mixer_sampler_f = ::std::option::Option<
6999 unsafe extern "C" fn(
7000 ud: *const ::std::os::raw::c_void,
7001 offset: f64,
7002 buffer: *mut f32,
7003 num_samples: u32,
7004 sample_frequency: f32,
7005 ) -> u32,
7006>;
7007#[repr(C)]
7008#[derive(Copy, Clone)]
7009pub struct tm_mixer_api {
7010 pub create: ::std::option::Option<
7011 unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_mixer_o,
7012 >,
7013 pub destroy: ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o)>,
7014 pub default_mixer: ::std::option::Option<unsafe extern "C" fn() -> *mut tm_mixer_o>,
7015 pub set_default_mixer: ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o)>,
7016 pub play: ::std::option::Option<
7017 unsafe extern "C" fn(
7018 mixer: *mut tm_mixer_o,
7019 sampler: tm_mixer_sampler_f,
7020 ud: *const ::std::os::raw::c_void,
7021 ud_bytes: u32,
7022 settings: *const tm_mixer_settings_t,
7023 channel_mask: u32,
7024 ) -> *mut tm_mixer_item_o,
7025 >,
7026 pub play_sine_wave: ::std::option::Option<
7027 unsafe extern "C" fn(
7028 mixer: *mut tm_mixer_o,
7029 tone: *const tm_tone_t,
7030 settings: *const tm_mixer_settings_t,
7031 ) -> *mut tm_mixer_item_o,
7032 >,
7033 pub play_wav: ::std::option::Option<
7034 unsafe extern "C" fn(
7035 mixer: *mut tm_mixer_o,
7036 tt: *mut tm_the_truth_o,
7037 id: tm_tt_id_t,
7038 loop_: bool,
7039 settings: *const tm_mixer_settings_t,
7040 ) -> *mut tm_mixer_item_o,
7041 >,
7042 pub volume: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> f32>,
7043 pub set_volume:
7044 ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o, volume: f32)>,
7045 pub pitch: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> f32>,
7046 pub set_pitch:
7047 ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o, pitch: f32)>,
7048 pub offset: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> f64>,
7049 pub set_offset:
7050 ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o, offset: f64)>,
7051 pub positioning: ::std::option::Option<
7052 unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> *const tm_mixer_positioning_t,
7053 >,
7054 pub set_positioning: ::std::option::Option<
7055 unsafe extern "C" fn(mi: *mut tm_mixer_item_o, pos: *const tm_mixer_positioning_t),
7056 >,
7057 pub listener:
7058 ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o) -> tm_transform_t>,
7059 pub set_listener:
7060 ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o, tm: tm_transform_t)>,
7061 pub generation: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> u64>,
7062 pub is_alive: ::std::option::Option<
7063 unsafe extern "C" fn(mi: *mut tm_mixer_item_o, generation: u64) -> bool,
7064 >,
7065 pub pause: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o)>,
7066 pub unpause: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o)>,
7067 pub is_paused: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o) -> bool>,
7068 pub stop: ::std::option::Option<unsafe extern "C" fn(mi: *mut tm_mixer_item_o)>,
7069 pub stop_world: ::std::option::Option<
7070 unsafe extern "C" fn(mixer: *mut tm_mixer_o, world: *mut ::std::os::raw::c_void),
7071 >,
7072 pub pause_world: ::std::option::Option<
7073 unsafe extern "C" fn(mixer: *mut tm_mixer_o, world: *mut ::std::os::raw::c_void),
7074 >,
7075 pub unpause_world: ::std::option::Option<
7076 unsafe extern "C" fn(mixer: *mut tm_mixer_o, world: *mut ::std::os::raw::c_void),
7077 >,
7078 pub stop_all_sound: ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o)>,
7079 pub commit: ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o)>,
7080 pub render: ::std::option::Option<
7081 unsafe extern "C" fn(
7082 mixer: *mut tm_mixer_o,
7083 num_samples: u32,
7084 channel_mask: u32,
7085 ) -> tm_mixer_render_t,
7086 >,
7087 pub start_render_thread: ::std::option::Option<unsafe extern "C" fn(mixer: *mut tm_mixer_o)>,
7088}
7089pub const TM_SOUND_BACKEND_MAX_CHANNELS: ::std::os::raw::c_int = 8;
7090pub type _bindgen_ty_45 = ::std::os::raw::c_int;
7091#[repr(C)]
7092#[derive(Copy, Clone)]
7093pub struct tm_sound_backend_api {
7094 pub num_speakers: ::std::option::Option<unsafe extern "C" fn() -> u32>,
7095 pub channel_mask: ::std::option::Option<unsafe extern "C" fn() -> u32>,
7096 pub remaining_samples: ::std::option::Option<unsafe extern "C" fn() -> u32>,
7097 pub feed: ::std::option::Option<unsafe extern "C" fn(samples: *mut f32, num_samples: u32)>,
7098 pub wait: ::std::option::Option<unsafe extern "C" fn(seconds: f32)>,
7099 pub signal: ::std::option::Option<unsafe extern "C" fn()>,
7100}
7101pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__SOUND: ::std::os::raw::c_int = 0;
7102pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__VOLUME: ::std::os::raw::c_int = 1;
7103pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__PITCH: ::std::os::raw::c_int = 2;
7104pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__MIN_DISTANCE: ::std::os::raw::c_int = 3;
7105pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__MAX_DISTANCE: ::std::os::raw::c_int = 4;
7106pub const TM_TT_PROP__SOUND_SOURCE_COMPONENT__SPREAD: ::std::os::raw::c_int = 5;
7107pub type _bindgen_ty_46 = ::std::os::raw::c_int;
7108#[repr(C)]
7109#[derive(Copy, Clone)]
7110pub struct tm_sound_source_component_t {
7111 pub sound_id: tm_tt_id_t,
7112 pub volume_db: f32,
7113 pub pitch_octaves: f32,
7114 pub min_distance: f32,
7115 pub max_distance: f32,
7116 pub spread: f32,
7117 pub _padding_42: [::std::os::raw::c_char; 4usize],
7118 pub mixer_item: *mut tm_mixer_item_o,
7119}
7120pub const tm_speaker_TM_SPEAKER__FRONT_LEFT: tm_speaker = 1;
7121pub const tm_speaker_TM_SPEAKER__FRONT_RIGHT: tm_speaker = 2;
7122pub const tm_speaker_TM_SPEAKER__FRONT_CENTER: tm_speaker = 4;
7123pub const tm_speaker_TM_SPEAKER__LOW_FREQUENCY: tm_speaker = 8;
7124pub const tm_speaker_TM_SPEAKER__BACK_LEFT: tm_speaker = 16;
7125pub const tm_speaker_TM_SPEAKER__BACK_RIGHT: tm_speaker = 32;
7126pub const tm_speaker_TM_SPEAKER__FRONT_LEFT_OF_CENTER: tm_speaker = 64;
7127pub const tm_speaker_TM_SPEAKER__FRONT_RIGHT_OF_CENTER: tm_speaker = 128;
7128pub const tm_speaker_TM_SPEAKER__BACK_CENTER: tm_speaker = 256;
7129pub const tm_speaker_TM_SPEAKER__SIDE_LEFT: tm_speaker = 512;
7130pub const tm_speaker_TM_SPEAKER__SIDE_RIGHT: tm_speaker = 1024;
7131pub const tm_speaker_TM_SPEAKER__TOP_CENTER: tm_speaker = 2048;
7132pub const tm_speaker_TM_SPEAKER__TOP_FRONT_LEFT: tm_speaker = 4096;
7133pub const tm_speaker_TM_SPEAKER__TOP_FRONT_CENTER: tm_speaker = 8192;
7134pub const tm_speaker_TM_SPEAKER__TOP_FRONT_RIGHT: tm_speaker = 16384;
7135pub const tm_speaker_TM_SPEAKER__TOP_BACK_LEFT: tm_speaker = 32768;
7136pub const tm_speaker_TM_SPEAKER__TOP_BACK_CENTER: tm_speaker = 65536;
7137pub const tm_speaker_TM_SPEAKER__TOP_BACK_RIGHT: tm_speaker = 131072;
7138pub const tm_speaker_TM_SPEAKER__END: tm_speaker = 262144;
7139pub type tm_speaker = ::std::os::raw::c_int;
7140pub const tm_speakers_TM_SPEAKERS__MONO: tm_speakers = 4;
7141pub const tm_speakers_TM_SPEAKERS__1POINT1: tm_speakers = 12;
7142pub const tm_speakers_TM_SPEAKERS__STEREO: tm_speakers = 3;
7143pub const tm_speakers_TM_SPEAKERS__2POINT1: tm_speakers = 11;
7144pub const tm_speakers_TM_SPEAKERS__3POINT0: tm_speakers = 7;
7145pub const tm_speakers_TM_SPEAKERS__3POINT1: tm_speakers = 15;
7146pub const tm_speakers_TM_SPEAKERS__QUAD: tm_speakers = 51;
7147pub const tm_speakers_TM_SPEAKERS__SURROUND: tm_speakers = 263;
7148pub const tm_speakers_TM_SPEAKERS__5POINT0: tm_speakers = 1543;
7149pub const tm_speakers_TM_SPEAKERS__5POINT1: tm_speakers = 63;
7150pub const tm_speakers_TM_SPEAKERS__7POINT0: tm_speakers = 1591;
7151pub const tm_speakers_TM_SPEAKERS__6POINT1: tm_speakers = 319;
7152pub const tm_speakers_TM_SPEAKERS__7POINT1: tm_speakers = 255;
7153pub type tm_speakers = ::std::os::raw::c_int;
7154extern "C" {
7155 pub static tm_speakers_default_channel_mask: [u32; 9usize];
7156}
7157pub const tm_speaker_log_TM_SPEAKER_LOG__FRONT_LEFT: tm_speaker_log = 0;
7158pub const tm_speaker_log_TM_SPEAKER_LOG__FRONT_RIGHT: tm_speaker_log = 1;
7159pub const tm_speaker_log_TM_SPEAKER_LOG__FRONT_CENTER: tm_speaker_log = 2;
7160pub const tm_speaker_log_TM_SPEAKER_LOG__LOW_FREQUENCY: tm_speaker_log = 3;
7161pub const tm_speaker_log_TM_SPEAKER_LOG__BACK_LEFT: tm_speaker_log = 4;
7162pub const tm_speaker_log_TM_SPEAKER_LOG__BACK_RIGHT: tm_speaker_log = 5;
7163pub const tm_speaker_log_TM_SPEAKER_LOG__FRONT_LEFT_OF_CENTER: tm_speaker_log = 6;
7164pub const tm_speaker_log_TM_SPEAKER_LOG__FRONT_RIGHT_OF_CENTER: tm_speaker_log = 7;
7165pub const tm_speaker_log_TM_SPEAKER_LOG__BACK_CENTER: tm_speaker_log = 8;
7166pub const tm_speaker_log_TM_SPEAKER_LOG__SIDE_LEFT: tm_speaker_log = 9;
7167pub const tm_speaker_log_TM_SPEAKER_LOG__SIDE_RIGHT: tm_speaker_log = 10;
7168pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_CENTER: tm_speaker_log = 11;
7169pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_FRONT_LEFT: tm_speaker_log = 12;
7170pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_FRONT_CENTER: tm_speaker_log = 13;
7171pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_FRONT_RIGHT: tm_speaker_log = 14;
7172pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_BACK_LEFT: tm_speaker_log = 15;
7173pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_BACK_CENTER: tm_speaker_log = 16;
7174pub const tm_speaker_log_TM_SPEAKER_LOG__TOP_BACK_RIGHT: tm_speaker_log = 17;
7175pub const tm_speaker_log_TM_SPEAKER_LOG__END: tm_speaker_log = 18;
7176pub type tm_speaker_log = ::std::os::raw::c_int;
7177#[repr(C)]
7178#[derive(Copy, Clone)]
7179pub struct tm_tone_t {
7180 pub frequency: f32,
7181 pub attack_time: f32,
7182 pub decay_time: f32,
7183 pub sustain_time: f32,
7184 pub release_time: f32,
7185 pub sustain_level: f32,
7186}
7187#[repr(C)]
7188#[derive(Copy, Clone)]
7189pub struct tm_tone_generator_api {
7190 pub sample_sine_wave: ::std::option::Option<
7191 unsafe extern "C" fn(
7192 tone: *const tm_tone_t,
7193 offset: f64,
7194 buffer: *mut f32,
7195 num_samples: u32,
7196 buffer_frequency: f32,
7197 ) -> u32,
7198 >,
7199}
7200pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__NONE: tm_tt_value__wav__format = 0;
7201pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__UNSIGNED_8BIT_PCM:
7202 tm_tt_value__wav__format = 1;
7203pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__SIGNED_16BIT_PCM:
7204 tm_tt_value__wav__format = 2;
7205pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__SIGNED_24BIT_PCM:
7206 tm_tt_value__wav__format = 3;
7207pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__32BIT_FLOAT_PCM:
7208 tm_tt_value__wav__format = 4;
7209pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__SIGNED_32BIT_PCM:
7210 tm_tt_value__wav__format = 5;
7211pub const tm_tt_value__wav__format_TM_TT_VALUE__WAV__FORMAT__16BIT_FLOAT_PCM:
7212 tm_tt_value__wav__format = 6;
7213pub type tm_tt_value__wav__format = ::std::os::raw::c_int;
7214pub const TM_TT_PROP__WAV__FREQUENCY: ::std::os::raw::c_int = 0;
7215pub const TM_TT_PROP__WAV__NUM_CHANNELS: ::std::os::raw::c_int = 1;
7216pub const TM_TT_PROP__WAV__FORMAT: ::std::os::raw::c_int = 2;
7217pub const TM_TT_PROP__WAV__CHANNEL_MASK: ::std::os::raw::c_int = 3;
7218pub const TM_TT_PROP__WAV__DATA: ::std::os::raw::c_int = 4;
7219pub type _bindgen_ty_47 = ::std::os::raw::c_int;
7220#[repr(C)]
7221#[derive(Copy, Clone)]
7222pub struct tm_wav_t {
7223 pub frequency: u32,
7224 pub num_channels: u32,
7225 pub format: tm_tt_value__wav__format,
7226 pub channel_mask: u32,
7227 pub data: *const ::std::os::raw::c_void,
7228 pub data_bytes: u64,
7229 pub num_samples: u64,
7230 pub loop_: bool,
7231 pub _padding_41: [::std::os::raw::c_char; 7usize],
7232}
7233#[repr(C)]
7234#[derive(Copy, Clone)]
7235pub struct tm_wav_api {
7236 pub read: ::std::option::Option<
7237 unsafe extern "C" fn(tt: *mut tm_the_truth_o, id: tm_tt_id_t) -> tm_wav_t,
7238 >,
7239 pub sample: ::std::option::Option<
7240 unsafe extern "C" fn(
7241 wav: *const tm_wav_t,
7242 offset: f64,
7243 buffer: *mut f32,
7244 num_samples: u32,
7245 sample_frequency: f32,
7246 ) -> u32,
7247 >,
7248 pub read_samples: ::std::option::Option<
7249 unsafe extern "C" fn(wav: *const tm_wav_t, offset: u64, buffer: *mut f32, num_samples: u32),
7250 >,
7251}
7252#[repr(C)]
7253#[derive(Copy, Clone)]
7254pub struct tm_cache_manager_o {
7255 _unused: [u8; 0],
7256}
7257pub const tm_cache_invalidation_type_TM_CACHE_INVALIDATION_TYPE_UPDATE: tm_cache_invalidation_type =
7258 0;
7259pub const tm_cache_invalidation_type_TM_CACHE_INVALIDATION_TYPE_REBUILD:
7260 tm_cache_invalidation_type = 1;
7261pub type tm_cache_invalidation_type = ::std::os::raw::c_int;
7262pub type tm_cache_invalidation_callback = ::std::option::Option<
7263 unsafe extern "C" fn(
7264 tt: *mut tm_the_truth_o,
7265 type_: tm_cache_invalidation_type,
7266 user_data: *mut ::std::os::raw::c_void,
7267 tag: u64,
7268 ),
7269>;
7270#[repr(C)]
7271#[derive(Copy, Clone)]
7272pub struct tm_cache_manager_api {
7273 pub init: ::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i)>,
7274 pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
7275 pub register_tag: ::std::option::Option<
7276 unsafe extern "C" fn(
7277 tag: u64,
7278 display_name: *const ::std::os::raw::c_char,
7279 callback: tm_cache_invalidation_callback,
7280 ),
7281 >,
7282 pub unregister_tag: ::std::option::Option<unsafe extern "C" fn(tag: u64)>,
7283 pub update_tag: ::std::option::Option<
7284 unsafe extern "C" fn(
7285 tag: u64,
7286 tt: *mut tm_the_truth_o,
7287 user_data: *mut ::std::os::raw::c_void,
7288 ),
7289 >,
7290 pub rebuild_tag: ::std::option::Option<
7291 unsafe extern "C" fn(
7292 tag: u64,
7293 tt: *mut tm_the_truth_o,
7294 user_data: *mut ::std::os::raw::c_void,
7295 ),
7296 >,
7297 pub ui: ::std::option::Option<
7298 unsafe extern "C" fn(
7299 tt: *mut tm_the_truth_o,
7300 ui: *mut tm_ui_o,
7301 style: *const tm_ui_style_t,
7302 rect: tm_rect_t,
7303 ),
7304 >,
7305}
7306#[repr(C)]
7307#[derive(Copy, Clone)]
7308pub struct tm_collaboration_discord_o {
7309 _unused: [u8; 0],
7310}
7311#[repr(C)]
7312#[derive(Copy, Clone)]
7313pub struct tm_discord_friend_t {
7314 pub user_id: u64,
7315 pub username: *const ::std::os::raw::c_char,
7316}
7317#[repr(C)]
7318#[derive(Copy, Clone)]
7319pub struct tm_collaboration_discord_api {
7320 pub create: ::std::option::Option<
7321 unsafe extern "C" fn(
7322 coll: *mut tm_collaboration_o,
7323 a: *mut tm_allocator_i,
7324 ) -> *mut tm_collaboration_discord_o,
7325 >,
7326 pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_discord_o)>,
7327 pub check_available:
7328 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_discord_o) -> bool>,
7329 pub update: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_collaboration_discord_o)>,
7330 pub host: ::std::option::Option<
7331 unsafe extern "C" fn(inst: *mut tm_collaboration_discord_o, use_p2p_upnp: bool),
7332 >,
7333 pub invite: ::std::option::Option<
7334 unsafe extern "C" fn(inst: *mut tm_collaboration_discord_o, user_id: u64),
7335 >,
7336 pub username: ::std::option::Option<
7337 unsafe extern "C" fn(
7338 inst: *mut tm_collaboration_discord_o,
7339 ) -> *const ::std::os::raw::c_char,
7340 >,
7341 pub get_friends_with_the_machinery_running: ::std::option::Option<
7342 unsafe extern "C" fn(
7343 inst: *mut tm_collaboration_discord_o,
7344 ta: *mut tm_temp_allocator_i,
7345 num: *mut u32,
7346 ) -> *mut tm_discord_friend_t,
7347 >,
7348}
7349#[repr(C)]
7350#[derive(Copy, Clone)]
7351pub struct tm_creation_graph_output_node_type_t {
7352 pub node_name_hash: u64,
7353 pub display_name: *const ::std::os::raw::c_char,
7354 pub asset_tag: *const tm_asset_tag_t,
7355 pub size: u64,
7356 pub write_wire: ::std::option::Option<
7357 unsafe extern "C" fn(
7358 ctx: *mut tm_creation_graph_interpreter_context_t,
7359 wire: u32,
7360 data: *const ::std::os::raw::c_void,
7361 ),
7362 >,
7363}
7364#[repr(C)]
7365#[derive(Copy, Clone)]
7366pub struct tm_creation_graph_instance_t {
7367 pub graph: tm_tt_id_t,
7368 pub version: u64,
7369 pub interpreter: *mut tm_creation_graph_interpreter_o,
7370 pub data: *mut tm_creation_graph_instance_data_o,
7371 pub output: *mut tm_creation_graph_output_data_t,
7372}
7373#[repr(C)]
7374#[derive(Copy, Clone)]
7375pub struct tm_creation_graph_output_data_t {
7376 pub allocator: *mut tm_allocator_i,
7377 pub output_node_types: *mut tm_creation_graph_output_node_type_t,
7378 pub output_data: *mut *mut u8,
7379 pub consumer: tm_creation_graph_instance_t,
7380 pub dirty: bool,
7381 pub _padding_48: [::std::os::raw::c_char; 7usize],
7382}
7383#[repr(C)]
7384#[derive(Copy, Clone)]
7385pub struct tm_creation_graph_node_cache_t {
7386 _unused: [u8; 0],
7387}
7388#[repr(C)]
7389#[derive(Copy, Clone)]
7390pub struct tm_creation_graph_draw_call_data_t {
7391 _unused: [u8; 0],
7392}
7393#[repr(C)]
7394#[derive(Copy, Clone)]
7395pub struct tm_creation_graph_bounding_volume_data_t {
7396 _unused: [u8; 0],
7397}
7398#[repr(C)]
7399#[derive(Copy, Clone)]
7400pub struct tm_creation_graph_image_data_t {
7401 _unused: [u8; 0],
7402}
7403#[repr(C)]
7404#[derive(Copy, Clone)]
7405pub struct tm_renderer_resource_command_buffer_o {
7406 _unused: [u8; 0],
7407}
7408#[repr(C)]
7409#[derive(Copy, Clone)]
7410pub struct tm_creation_graph_interpreter_o {
7411 _unused: [u8; 0],
7412}
7413#[repr(C)]
7414#[derive(Copy, Clone)]
7415pub struct tm_shader_system_context_o {
7416 _unused: [u8; 0],
7417}
7418pub type tm_compile_data_to_wire_f = ::std::option::Option<
7419 unsafe extern "C" fn(
7420 rc: *mut tm_creation_graph_instance_t,
7421 wire: u32,
7422 tt: *const tm_the_truth_o,
7423 data_id: tm_tt_id_t,
7424 to_type_hash: u64,
7425 ) -> bool,
7426>;
7427pub const TM_TT_PROP__CREATION_GRAPH__GRAPH: ::std::os::raw::c_int = 0;
7428pub type _bindgen_ty_48 = ::std::os::raw::c_int;
7429pub const TM_TT_PROP__CREATION_GRAPH__RESOURCE_REFERENCE__CREATION_GRAPH: ::std::os::raw::c_int = 0;
7430pub const TM_TT_PROP__CREATION_GRAPH__RESOURCE_REFERENCE__OUTPUT_NODE_TYPE_HASH:
7431 ::std::os::raw::c_int = 1;
7432pub const TM_TT_PROP__CREATION_GRAPH__RESOURCE_REFERENCE__OUTPUT_NODE_NAME: ::std::os::raw::c_int =
7433 2;
7434pub type _bindgen_ty_49 = ::std::os::raw::c_int;
7435#[repr(C)]
7436#[derive(Copy, Clone)]
7437pub struct tm_creation_graph_destroy_instance_context_t {
7438 pub manager_shutdown: bool,
7439}
7440#[repr(C)]
7441#[derive(Copy, Clone)]
7442pub struct tm_creation_graph_tick_context_t {
7443 pub dt: f32,
7444 pub _padding_85: [::std::os::raw::c_char; 4usize],
7445 pub shader_context: *mut tm_shader_system_context_o,
7446}
7447#[repr(C)]
7448#[derive(Copy, Clone)]
7449pub struct tm_creation_graph_viewport_interact_context_t {
7450 pub viewport: tm_rect_t,
7451 pub transform: *const tm_transform_t,
7452 pub input: *const tm_ui_input_state_t,
7453 pub camera: *const tm_camera_t,
7454 pub render_graph: *const tm_render_graph_o,
7455 pub shader_context: *const tm_shader_system_context_o,
7456 pub undo_stack: *mut tm_undo_stack_i,
7457}
7458#[repr(C)]
7459#[derive(Copy, Clone)]
7460pub struct tm_creation_graph_output_t {
7461 pub version: u64,
7462 pub num_output_objects: u32,
7463 pub _padding_122: [::std::os::raw::c_char; 4usize],
7464 pub output: *const ::std::os::raw::c_void,
7465}
7466pub const TM_CREATION_GRAPH_MAX_OUTPUT_NODE_TYPES: ::std::os::raw::c_int = 32;
7467pub type _bindgen_ty_50 = ::std::os::raw::c_int;
7468#[repr(C)]
7469#[derive(Copy, Clone)]
7470pub struct tm_creation_graph_all_outputs_t {
7471 pub version: u64,
7472 pub num_output_node_types: u32,
7473 pub _padding_136: [::std::os::raw::c_char; 4usize],
7474 pub output_node_type_hashes: [u64; 32usize],
7475 pub output_node_type_display_names: [*const ::std::os::raw::c_char; 32usize],
7476}
7477#[repr(C)]
7478#[derive(Copy, Clone)]
7479pub struct tm_creation_graph_blackboard_value_t {
7480 _unused: [u8; 0],
7481}
7482pub const TM_CREATION_GRAPH_PRE_CMD: ::std::os::raw::c_int = 0;
7483pub const TM_CREATION_GRAPH_POST_CMD: ::std::os::raw::c_int = 1;
7484pub const TM_CREATION_GRAPH_MAX_RESOURCE_BUFFERS: ::std::os::raw::c_int = 2;
7485pub type _bindgen_ty_51 = ::std::os::raw::c_int;
7486#[repr(C)]
7487#[derive(Copy, Clone)]
7488pub struct tm_creation_graph_task_t {
7489 pub f: ::std::option::Option<unsafe extern "C" fn(data: *mut ::std::os::raw::c_void, id: u64)>,
7490 pub data: *mut ::std::os::raw::c_void,
7491 pub debug_name: *const ::std::os::raw::c_char,
7492}
7493#[repr(C)]
7494#[derive(Copy, Clone)]
7495pub struct tm_creation_graph_context_t {
7496 pub rb: *mut tm_renderer_backend_i,
7497 pub device_affinity_mask: u32,
7498 pub _padding_167: [::std::os::raw::c_char; 4usize],
7499 pub ta: *mut tm_temp_allocator_i,
7500 pub requested_tasks: *mut *mut tm_creation_graph_task_t,
7501 pub res_buf: [*mut tm_renderer_resource_command_buffer_o; 2usize],
7502 pub cmd_buf: *mut tm_renderer_command_buffer_o,
7503 pub event_context: *mut ::std::os::raw::c_void,
7504 pub entity_id: u64,
7505 pub entity_ctx: *mut tm_entity_context_o,
7506 pub invalidate_node: tm_tt_id_t,
7507 pub invalidate_cache_tag: u64,
7508 pub shader_repository: *mut tm_shader_repository_o,
7509 pub event_id: u64,
7510 pub tt: *mut tm_the_truth_o,
7511 pub shader_context: *mut tm_shader_system_context_o,
7512}
7513#[repr(C)]
7514#[derive(Copy, Clone)]
7515pub struct tm_creation_graph_o {
7516 _unused: [u8; 0],
7517}
7518#[repr(C)]
7519#[derive(Copy, Clone)]
7520pub struct tm_cached_node_result_t {
7521 pub object: tm_tt_id_t,
7522 pub validity_hash: u64,
7523}
7524#[repr(C)]
7525#[derive(Copy, Clone)]
7526pub struct tm_creation_graph_api {
7527 pub create_manager: ::std::option::Option<unsafe extern "C" fn(allocator: *mut tm_allocator_i)>,
7528 pub update_manager: ::std::option::Option<unsafe extern "C" fn()>,
7529 pub destroy_manager: ::std::option::Option<unsafe extern "C" fn()>,
7530 pub set_the_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
7531 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
7532 pub register_graph_nodes:
7533 ::std::option::Option<unsafe extern "C" fn(reg: *mut tm_api_registry_api, load: bool)>,
7534 pub asset_browser_create_interface:
7535 ::std::option::Option<unsafe extern "C" fn() -> *mut tm_asset_browser_create_asset_i>,
7536 pub create_instance: ::std::option::Option<
7537 unsafe extern "C" fn(
7538 asset: tm_tt_id_t,
7539 context: *mut tm_creation_graph_context_t,
7540 ) -> tm_creation_graph_instance_t,
7541 >,
7542 pub destroy_instance: ::std::option::Option<
7543 unsafe extern "C" fn(
7544 instance: *mut tm_creation_graph_instance_t,
7545 context: *mut tm_creation_graph_context_t,
7546 ),
7547 >,
7548 pub invalidate: ::std::option::Option<unsafe extern "C" fn(asset: tm_tt_id_t)>,
7549 pub write_blackboard: ::std::option::Option<
7550 unsafe extern "C" fn(
7551 asset: tm_tt_id_t,
7552 key_name: u64,
7553 value: *const tm_creation_graph_blackboard_value_t,
7554 ),
7555 >,
7556 pub read_blackboard: ::std::option::Option<
7557 unsafe extern "C" fn(
7558 asset: tm_tt_id_t,
7559 key_name: u64,
7560 value: *mut tm_creation_graph_blackboard_value_t,
7561 ) -> bool,
7562 >,
7563 pub remove_blackboard:
7564 ::std::option::Option<unsafe extern "C" fn(asset: tm_tt_id_t, key_name: u64)>,
7565 pub lock_resource_cache: ::std::option::Option<
7566 unsafe extern "C" fn(
7567 graph_id: tm_tt_id_t,
7568 node_id: tm_tt_id_t,
7569 ) -> *mut tm_creation_graph_node_cache_t,
7570 >,
7571 pub unlock_resource_cache:
7572 ::std::option::Option<unsafe extern "C" fn(cache: *mut tm_creation_graph_node_cache_t)>,
7573 pub add_listener:
7574 ::std::option::Option<unsafe extern "C" fn(asset: tm_tt_id_t, object: tm_tt_id_t)>,
7575 pub tick_queue: ::std::option::Option<
7576 unsafe extern "C" fn(
7577 instance: *mut tm_creation_graph_instance_t,
7578 dt: f32,
7579 context: *mut tm_creation_graph_context_t,
7580 ),
7581 >,
7582 pub has_event: ::std::option::Option<
7583 unsafe extern "C" fn(instance: *mut tm_creation_graph_instance_t, event_id: u64) -> bool,
7584 >,
7585 pub trigger_event: ::std::option::Option<
7586 unsafe extern "C" fn(
7587 instance: *mut tm_creation_graph_instance_t,
7588 event_id: u64,
7589 context: *mut tm_creation_graph_context_t,
7590 ),
7591 >,
7592 pub update_interface: ::std::option::Option<
7593 unsafe extern "C" fn(
7594 instance: *mut tm_creation_graph_instance_t,
7595 event_id: u64,
7596 context: *mut tm_creation_graph_context_t,
7597 ),
7598 >,
7599 pub lookup_cached_node_result: ::std::option::Option<
7600 unsafe extern "C" fn(graph_id: tm_tt_id_t, node_id: tm_tt_id_t) -> tm_cached_node_result_t,
7601 >,
7602 pub set_cached_node_result: ::std::option::Option<
7603 unsafe extern "C" fn(
7604 graph_id: tm_tt_id_t,
7605 node_id: tm_tt_id_t,
7606 validity_hash: u64,
7607 object: tm_tt_id_t,
7608 ),
7609 >,
7610 pub output: ::std::option::Option<
7611 unsafe extern "C" fn(
7612 instance: *mut tm_creation_graph_instance_t,
7613 node_name_hash: u64,
7614 context: *mut tm_creation_graph_context_t,
7615 output_node_type: *mut *const tm_creation_graph_output_node_type_t,
7616 ) -> tm_creation_graph_output_t,
7617 >,
7618 pub all_outputs: ::std::option::Option<
7619 unsafe extern "C" fn(
7620 instance: *mut tm_creation_graph_instance_t,
7621 context: *mut tm_creation_graph_context_t,
7622 ) -> tm_creation_graph_all_outputs_t,
7623 >,
7624}
7625#[repr(C)]
7626#[derive(Copy, Clone)]
7627pub struct tm_creation_graph_interpreter_wire_content_t {
7628 pub type_info: u64,
7629 pub n: u32,
7630 pub size: u32,
7631 pub data: *mut ::std::os::raw::c_void,
7632}
7633#[repr(C)]
7634#[derive(Copy, Clone)]
7635pub struct tm_creation_graph_interpreter_context_t {
7636 pub instance: *mut tm_creation_graph_instance_t,
7637 pub node: u32,
7638 pub _padding_54: [::std::os::raw::c_char; 4usize],
7639 pub graph_id: tm_tt_id_t,
7640 pub node_id: tm_tt_id_t,
7641 pub node_type: *const tm_graph_node_type_i,
7642 pub wires: *const u32,
7643}
7644pub type tm_creation_graph_interpreter_run_node_f =
7645 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_creation_graph_interpreter_context_t)>;
7646#[repr(C)]
7647#[derive(Copy, Clone)]
7648pub struct tm_creation_graph_interpreter_node_t {
7649 pub f: tm_creation_graph_interpreter_run_node_f,
7650 pub wires_index: u32,
7651 pub _padding_91: [::std::os::raw::c_char; 4usize],
7652 pub node_type: *const tm_graph_node_type_i,
7653 pub graph_id: tm_tt_id_t,
7654 pub node_id: tm_tt_id_t,
7655 pub dependencies_index: u32,
7656 pub _padding_108: [::std::os::raw::c_char; 4usize],
7657}
7658#[repr(C)]
7659#[derive(Copy, Clone)]
7660pub struct tm_creation_graph_interpreter_api {
7661 pub create_graph_interpreter: ::std::option::Option<
7662 unsafe extern "C" fn(
7663 allocator: *mut tm_allocator_i,
7664 ) -> *mut tm_creation_graph_interpreter_o,
7665 >,
7666 pub destroy_graph_interpreter:
7667 ::std::option::Option<unsafe extern "C" fn(gr: *mut tm_creation_graph_interpreter_o)>,
7668 pub set_graph: ::std::option::Option<
7669 unsafe extern "C" fn(
7670 gr: *mut tm_creation_graph_interpreter_o,
7671 nodes: *const tm_creation_graph_interpreter_node_t,
7672 num_nodes: u32,
7673 num_wires: u32,
7674 node_wires: *mut u32,
7675 num_node_wires: u32,
7676 dependencies: *mut u32,
7677 num_dependencies: u32,
7678 ),
7679 >,
7680 pub default_instance: ::std::option::Option<
7681 unsafe extern "C" fn(
7682 gr: *mut tm_creation_graph_interpreter_o,
7683 ) -> tm_creation_graph_instance_t,
7684 >,
7685 pub active_instances: ::std::option::Option<
7686 unsafe extern "C" fn(
7687 gr: *mut tm_creation_graph_interpreter_o,
7688 count: *mut u32,
7689 ) -> *mut *mut tm_creation_graph_instance_data_o,
7690 >,
7691 pub create_instance: ::std::option::Option<
7692 unsafe extern "C" fn(
7693 gr: *mut tm_creation_graph_interpreter_o,
7694 ) -> tm_creation_graph_instance_t,
7695 >,
7696 pub destroy_instance:
7697 ::std::option::Option<unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t)>,
7698 pub run_node_at_index: ::std::option::Option<
7699 unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t, node: u32),
7700 >,
7701 pub add_event_node: ::std::option::Option<
7702 unsafe extern "C" fn(gr: *mut tm_creation_graph_interpreter_o, e: u64, node: u32),
7703 >,
7704 pub has_event: ::std::option::Option<
7705 unsafe extern "C" fn(gr: *mut tm_creation_graph_interpreter_o, e: u64) -> bool,
7706 >,
7707 pub trigger_event:
7708 ::std::option::Option<unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t, e: u64)>,
7709 pub trigger_wire: ::std::option::Option<
7710 unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t, wire: u32),
7711 >,
7712 pub queue_wire: ::std::option::Option<
7713 unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t, wire: u32, delay: f32),
7714 >,
7715 pub tick_queue:
7716 ::std::option::Option<unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t, dt: f32)>,
7717 pub get_node_run_context: ::std::option::Option<
7718 unsafe extern "C" fn(
7719 inst: *mut tm_creation_graph_instance_t,
7720 node: u32,
7721 ) -> tm_creation_graph_interpreter_context_t,
7722 >,
7723 pub read_wire: ::std::option::Option<
7724 unsafe extern "C" fn(
7725 inst: *mut tm_creation_graph_instance_t,
7726 wire: u32,
7727 ) -> tm_creation_graph_interpreter_wire_content_t,
7728 >,
7729 pub read_wires: ::std::option::Option<
7730 unsafe extern "C" fn(
7731 inst: *mut tm_creation_graph_instance_t,
7732 content: *mut tm_creation_graph_interpreter_wire_content_t,
7733 wires: *const u32,
7734 n: u32,
7735 ),
7736 >,
7737 pub read_wires_indirect: ::std::option::Option<
7738 unsafe extern "C" fn(
7739 inst: *mut tm_creation_graph_instance_t,
7740 content: *mut *mut tm_creation_graph_interpreter_wire_content_t,
7741 wires: *const u32,
7742 n: u32,
7743 ),
7744 >,
7745 pub write_wire: ::std::option::Option<
7746 unsafe extern "C" fn(
7747 inst: *mut tm_creation_graph_instance_t,
7748 wire: u32,
7749 type_info: u64,
7750 n: u32,
7751 size: u32,
7752 ) -> *mut ::std::os::raw::c_void,
7753 >,
7754 pub read_variable: ::std::option::Option<
7755 unsafe extern "C" fn(
7756 inst: *mut tm_creation_graph_instance_t,
7757 variable: u64,
7758 ) -> tm_creation_graph_interpreter_wire_content_t,
7759 >,
7760 pub write_variable: ::std::option::Option<
7761 unsafe extern "C" fn(
7762 inst: *mut tm_creation_graph_instance_t,
7763 variable: u64,
7764 n: u32,
7765 size: u32,
7766 ) -> *mut ::std::os::raw::c_void,
7767 >,
7768 pub random_float:
7769 ::std::option::Option<unsafe extern "C" fn(rc: *mut tm_creation_graph_instance_t) -> f32>,
7770}
7771#[repr(C)]
7772#[derive(Copy, Clone)]
7773pub struct tm_shader_repository_o {
7774 _unused: [u8; 0],
7775}
7776#[repr(C)]
7777#[derive(Copy, Clone)]
7778pub struct tm_creation_graph_runtime_data_t {
7779 _unused: [u8; 0],
7780}
7781#[repr(C)]
7782#[derive(Copy, Clone)]
7783pub struct tm_graph_aspect_i {
7784 pub node_interface_name: *const ::std::os::raw::c_char,
7785 pub io_type_interface_name: *const ::std::os::raw::c_char,
7786 pub graph_object: ::std::option::Option<
7787 unsafe extern "C" fn(tt: *const tm_the_truth_o, root_object: tm_tt_id_t) -> tm_tt_id_t,
7788 >,
7789 pub subgraph_type_hash: u64,
7790}
7791#[repr(C)]
7792#[derive(Copy, Clone)]
7793pub struct tm_graph_io_type_t {
7794 pub type_hash: u64,
7795 pub display_name: *const ::std::os::raw::c_char,
7796}
7797pub const TM_TT_PROP__GRAPH__NODES: ::std::os::raw::c_int = 0;
7798pub const TM_TT_PROP__GRAPH__CONNECTIONS: ::std::os::raw::c_int = 1;
7799pub const TM_TT_PROP__GRAPH__DATA: ::std::os::raw::c_int = 2;
7800pub const TM_TT_PROP__GRAPH__COMMENTS: ::std::os::raw::c_int = 3;
7801pub const TM_TT_PROP__GRAPH__INTERFACE: ::std::os::raw::c_int = 4;
7802pub type _bindgen_ty_52 = ::std::os::raw::c_int;
7803pub const TM_TT_PROP__GRAPH_NODE__TYPE: ::std::os::raw::c_int = 0;
7804pub const TM_TT_PROP__GRAPH_NODE__LABEL: ::std::os::raw::c_int = 1;
7805pub const TM_TT_PROP__GRAPH_NODE__POSITION_X: ::std::os::raw::c_int = 2;
7806pub const TM_TT_PROP__GRAPH_NODE__POSITION_Y: ::std::os::raw::c_int = 3;
7807pub const TM_TT_PROP__GRAPH_NODE__WIDTH: ::std::os::raw::c_int = 4;
7808pub const TM_TT_PROP__GRAPH_NODE__SETTINGS: ::std::os::raw::c_int = 5;
7809pub type _bindgen_ty_53 = ::std::os::raw::c_int;
7810pub const TM_TT_PROP__GRAPH_CONNECTION__FROM_NODE: ::std::os::raw::c_int = 0;
7811pub const TM_TT_PROP__GRAPH_CONNECTION__TO_NODE: ::std::os::raw::c_int = 1;
7812pub const TM_TT_PROP__GRAPH_CONNECTION__FROM_CONNECTOR_HASH: ::std::os::raw::c_int = 2;
7813pub const TM_TT_PROP__GRAPH_CONNECTION__TO_CONNECTOR_HASH: ::std::os::raw::c_int = 3;
7814pub type _bindgen_ty_54 = ::std::os::raw::c_int;
7815pub const TM_TT_PROP__GRAPH_DATA__TO_NODE: ::std::os::raw::c_int = 0;
7816pub const TM_TT_PROP__GRAPH_DATA__TO_CONNECTOR_HASH: ::std::os::raw::c_int = 1;
7817pub const TM_TT_PROP__GRAPH_DATA__DATA: ::std::os::raw::c_int = 2;
7818pub type _bindgen_ty_55 = ::std::os::raw::c_int;
7819pub const TM_TT_PROP__GRAPH_COMMENT__TEXT: ::std::os::raw::c_int = 0;
7820pub const TM_TT_PROP__GRAPH_COMMENT__POSITION_X: ::std::os::raw::c_int = 1;
7821pub const TM_TT_PROP__GRAPH_COMMENT__POSITION_Y: ::std::os::raw::c_int = 2;
7822pub const TM_TT_PROP__GRAPH_COMMENT__FONT_SCALE: ::std::os::raw::c_int = 3;
7823pub const TM_TT_PROP__GRAPH_COMMENT__COLOR: ::std::os::raw::c_int = 4;
7824pub type _bindgen_ty_56 = ::std::os::raw::c_int;
7825pub const TM_TT_PROP__GRAPH_INTERFACE__INPUTS: ::std::os::raw::c_int = 0;
7826pub const TM_TT_PROP__GRAPH_INTERFACE__OUTPUTS: ::std::os::raw::c_int = 1;
7827pub const TM_TT_PROP__GRAPH_INTERFACE__LAST_ID: ::std::os::raw::c_int = 2;
7828pub const TM_TT_PROP__GRAPH_INTERFACE__CACHED_NODE_RESULT: ::std::os::raw::c_int = 3;
7829pub type _bindgen_ty_57 = ::std::os::raw::c_int;
7830pub const TM_TT_PROP__GRAPH_INPUT__DISPLAY_NAME: ::std::os::raw::c_int = 0;
7831pub const TM_TT_PROP__GRAPH_INPUT__ID: ::std::os::raw::c_int = 1;
7832pub const TM_TT_PROP__GRAPH_INPUT__TYPE_HASH: ::std::os::raw::c_int = 2;
7833pub const TM_TT_PROP__GRAPH_INPUT__VALUE_SET_BY_USER: ::std::os::raw::c_int = 3;
7834pub const TM_TT_PROP__GRAPH_INPUT__VALUE: ::std::os::raw::c_int = 4;
7835pub const TM_TT_PROP__GRAPH_INPUT__TOOLTIP: ::std::os::raw::c_int = 5;
7836pub const TM_TT_PROP__GRAPH_INPUT__PUBLIC: ::std::os::raw::c_int = 6;
7837pub type _bindgen_ty_58 = ::std::os::raw::c_int;
7838pub const TM_TT_PROP__GRAPH_OUTPUT__DISPLAY_NAME: ::std::os::raw::c_int = 0;
7839pub const TM_TT_PROP__GRAPH_OUTPUT__ID: ::std::os::raw::c_int = 1;
7840pub const TM_TT_PROP__GRAPH_OUTPUT__TYPE_HASH: ::std::os::raw::c_int = 2;
7841pub type _bindgen_ty_59 = ::std::os::raw::c_int;
7842pub const TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__NODE: ::std::os::raw::c_int = 0;
7843pub const TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__VALIDITY_HASH: ::std::os::raw::c_int = 1;
7844pub const TM_TT_PROP__GRAPH_CACHED_NODE_RESULT__OBJECT: ::std::os::raw::c_int = 2;
7845pub type _bindgen_ty_60 = ::std::os::raw::c_int;
7846pub const TM_TT_PROP__GRAPH_SETTINGS__GRAPH_UUID_A: ::std::os::raw::c_int = 0;
7847pub const TM_TT_PROP__GRAPH_SETTINGS__VIEW_POSITION: ::std::os::raw::c_int = 1;
7848pub const TM_TT_PROP__GRAPH_SETTINGS__VIEW_SCALE: ::std::os::raw::c_int = 2;
7849pub const TM_TT_PROP__GRAPH_SETTINGS__GRID_SNAPPING: ::std::os::raw::c_int = 3;
7850pub const TM_TT_PROP__GRAPH_SETTINGS__GRID_SIZE: ::std::os::raw::c_int = 4;
7851pub type _bindgen_ty_61 = ::std::os::raw::c_int;
7852pub const TM_GRAPH_MAX_CONNECTORS: ::std::os::raw::c_int = 16;
7853pub type _bindgen_ty_62 = ::std::os::raw::c_int;
7854#[repr(C)]
7855#[derive(Copy, Clone)]
7856pub struct tm_graph_connector_t {
7857 pub name: *const ::std::os::raw::c_char,
7858 pub type_hash: u64,
7859 pub edit_type_hash: u64,
7860 pub display_name: *const ::std::os::raw::c_char,
7861 pub optional: bool,
7862 pub _padding_227: [::std::os::raw::c_char; 7usize],
7863 pub tooltip: *mut ::std::os::raw::c_char,
7864 pub hidden: bool,
7865 pub _padding_236: [::std::os::raw::c_char; 7usize],
7866}
7867#[repr(C)]
7868#[derive(Copy, Clone)]
7869pub struct tm_graph_node_connectors_t {
7870 pub in_: [tm_graph_connector_t; 16usize],
7871 pub out: [tm_graph_connector_t; 16usize],
7872 pub num_in: u32,
7873 pub num_out: u32,
7874}
7875#[repr(C)]
7876#[derive(Copy, Clone)]
7877pub struct tm_graph_node_type_i {
7878 pub name: *const ::std::os::raw::c_char,
7879 pub display_name: *const ::std::os::raw::c_char,
7880 pub category: *const ::std::os::raw::c_char,
7881 pub static_connectors: tm_graph_node_connectors_t,
7882 pub settings_type_hash: u64,
7883 pub cache_tag: u64,
7884 pub dynamic_connectors: ::std::option::Option<
7885 unsafe extern "C" fn(
7886 tt: *const tm_the_truth_o,
7887 graph_id: tm_tt_id_t,
7888 node_data: *const tm_tt_id_t,
7889 node_settings: tm_tt_id_t,
7890 connectors: *mut tm_graph_node_connectors_t,
7891 ),
7892 >,
7893 pub render_background_callback: ::std::option::Option<
7894 unsafe extern "C" fn(
7895 nt: *const tm_graph_node_type_i,
7896 bg_rect: tm_rect_t,
7897 title_rect: tm_rect_t,
7898 title_bg_color: tm_color_srgb_t,
7899 ui: *mut tm_ui_o,
7900 uistyle: *const tm_ui_style_t,
7901 graph_scale: f32,
7902 vbuffer: *mut tm_draw2d_vbuffer_t,
7903 ibuffer: *mut tm_draw2d_ibuffer_t,
7904 ),
7905 >,
7906}
7907#[repr(C)]
7908#[derive(Copy, Clone)]
7909pub struct tm_graph_node_cache_invalidation_context_t {
7910 pub graph_id: tm_tt_id_t,
7911 pub node_id: tm_tt_id_t,
7912}
7913#[repr(C)]
7914#[derive(Copy, Clone)]
7915pub struct tm_graph_drag_and_drop_i {
7916 pub type_name: *const ::std::os::raw::c_char,
7917 pub can_create_from: ::std::option::Option<
7918 unsafe extern "C" fn(
7919 tt: *mut tm_the_truth_o,
7920 graph_id: tm_tt_id_t,
7921 dragged_object: tm_tt_id_t,
7922 ) -> bool,
7923 >,
7924 pub setup_graph_node_from_dragged_object: ::std::option::Option<
7925 unsafe extern "C" fn(
7926 tt: *mut tm_the_truth_o,
7927 graph_id: tm_tt_id_t,
7928 node_id: tm_tt_id_t,
7929 dragged_object: tm_tt_id_t,
7930 undo_scope: tm_tt_undo_scope_t,
7931 ),
7932 >,
7933}
7934#[repr(C)]
7935#[derive(Copy, Clone)]
7936pub struct tm_graph_ui_res_t {
7937 pub focus_changed: bool,
7938 pub selection_changed: bool,
7939 pub _padding_338: [::std::os::raw::c_char; 6usize],
7940 pub focus: tm_tt_id_t,
7941}
7942#[repr(C)]
7943#[derive(Copy, Clone)]
7944pub struct tm_graph_o {
7945 _unused: [u8; 0],
7946}
7947#[repr(C)]
7948#[derive(Copy, Clone)]
7949pub struct tm_graph_api {
7950 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
7951 pub create_graph: ::std::option::Option<
7952 unsafe extern "C" fn(
7953 allocator: *mut tm_allocator_i,
7954 tt: *mut tm_the_truth_o,
7955 graph_id: tm_tt_id_t,
7956 node_interface_name: *const ::std::os::raw::c_char,
7957 undo_stack: *mut tm_undo_stack_i,
7958 asset_root: tm_tt_id_t,
7959 settings_tt: *mut tm_the_truth_o,
7960 settings_object: tm_tt_id_t,
7961 ) -> *mut tm_graph_o,
7962 >,
7963 pub destroy_graph:
7964 ::std::option::Option<unsafe extern "C" fn(graph: *mut tm_graph_o, truth_destroyed: bool)>,
7965 pub set_settings_object: ::std::option::Option<
7966 unsafe extern "C" fn(
7967 graph: *mut tm_graph_o,
7968 settings_tt: *mut tm_the_truth_o,
7969 settings_object: tm_tt_id_t,
7970 ),
7971 >,
7972 pub id: ::std::option::Option<unsafe extern "C" fn(graph: *mut tm_graph_o) -> tm_tt_id_t>,
7973 pub ui: ::std::option::Option<
7974 unsafe extern "C" fn(
7975 inst: *mut tm_graph_o,
7976 ui: *mut tm_ui_o,
7977 style: *const tm_ui_style_t,
7978 rect: tm_rect_t,
7979 tab: *mut tm_tab_i,
7980 ) -> tm_graph_ui_res_t,
7981 >,
7982 pub menu: ::std::option::Option<
7983 unsafe extern "C" fn(
7984 inst: *mut tm_graph_o,
7985 ui: *mut tm_ui_o,
7986 style: *const tm_ui_style_t,
7987 pos: tm_vec2_t,
7988 ),
7989 >,
7990 pub selected_objects: ::std::option::Option<
7991 unsafe extern "C" fn(
7992 inst: *mut tm_graph_o,
7993 ta: *mut tm_temp_allocator_i,
7994 ) -> *const tm_tt_id_t,
7995 >,
7996 pub migrate_to_connector_hash: ::std::option::Option<
7997 unsafe extern "C" fn(
7998 tt: *mut tm_the_truth_o,
7999 graphs: *mut tm_tt_id_t,
8000 num_graphs: u32,
8001 node_types: *const *const tm_graph_node_type_i,
8002 num_node_types: u32,
8003 ) -> bool,
8004 >,
8005 pub needs_migrate_to_connector_hash:
8006 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> bool>,
8007 pub migrate_to_instantiated_connections: ::std::option::Option<
8008 unsafe extern "C" fn(
8009 tt: *mut tm_the_truth_o,
8010 graphs: *mut tm_tt_id_t,
8011 num_graphs: u32,
8012 ) -> bool,
8013 >,
8014 pub refresh_node_types: ::std::option::Option<
8015 unsafe extern "C" fn(
8016 inst: *mut tm_graph_o,
8017 node_interface_name: *const ::std::os::raw::c_char,
8018 ),
8019 >,
8020}
8021pub const TM_CREATION_GRAPH__STATIC_WIRE__SINK: ::std::os::raw::c_int = 0;
8022pub const TM_CREATION_GRAPH__STATIC_WIRE__CONTEXT: ::std::os::raw::c_int = 1;
8023pub const TM_CREATION_GRAPH__STATIC_WIRE__COUNT: ::std::os::raw::c_int = 2;
8024pub type _bindgen_ty_63 = ::std::os::raw::c_int;
8025#[repr(C)]
8026#[derive(Copy, Clone)]
8027pub struct tm_creation_graph_compile_context_t {
8028 pub tt: *mut tm_the_truth_o,
8029 pub graph_id: tm_tt_id_t,
8030 pub settings_id: tm_tt_id_t,
8031 pub instanced_settings_id: tm_tt_id_t,
8032 pub asset_tag_uuid: u64,
8033}
8034#[repr(C)]
8035#[derive(Copy, Clone)]
8036pub struct tm_creation_graph_node_type_i {
8037 pub __bindgen_padding_0: [u64; 232usize],
8038 pub user_data: *mut ::std::os::raw::c_void,
8039 pub run: ::std::option::Option<
8040 unsafe extern "C" fn(ctx: *mut tm_creation_graph_interpreter_context_t),
8041 >,
8042 pub compile: ::std::option::Option<
8043 unsafe extern "C" fn(
8044 ctx: *mut tm_creation_graph_interpreter_context_t,
8045 compile_ctx: *mut tm_creation_graph_compile_context_t,
8046 ),
8047 >,
8048}
8049#[repr(C)]
8050#[derive(Copy, Clone)]
8051pub struct tm_gpu_vertex_channel_t {
8052 pub offset: u32,
8053 pub stride: u16,
8054 pub _padding_13: [::std::os::raw::c_char; 2usize],
8055 pub format: u32,
8056 pub buffer_handle: u32,
8057}
8058pub const TM_VERTEX_BUFFER_CHANNEL_POSITION: ::std::os::raw::c_int = 0;
8059pub const TM_VERTEX_BUFFER_CHANNEL_NORMAL0: ::std::os::raw::c_int = 1;
8060pub const TM_VERTEX_BUFFER_CHANNEL_NORMAL1: ::std::os::raw::c_int = 2;
8061pub const TM_VERTEX_BUFFER_CHANNEL_TANGENT0: ::std::os::raw::c_int = 3;
8062pub const TM_VERTEX_BUFFER_CHANNEL_TANGENT1: ::std::os::raw::c_int = 4;
8063pub const TM_VERTEX_BUFFER_CHANNEL_SKIN_INDICES0: ::std::os::raw::c_int = 5;
8064pub const TM_VERTEX_BUFFER_CHANNEL_SKIN_INDICES1: ::std::os::raw::c_int = 6;
8065pub const TM_VERTEX_BUFFER_CHANNEL_SKIN_BONES0: ::std::os::raw::c_int = 7;
8066pub const TM_VERTEX_BUFFER_CHANNEL_SKIN_BONES1: ::std::os::raw::c_int = 8;
8067pub const TM_VERTEX_BUFFER_CHANNEL_TEXCOORD0: ::std::os::raw::c_int = 9;
8068pub const TM_VERTEX_BUFFER_CHANNEL_TEXCOORD1: ::std::os::raw::c_int = 10;
8069pub const TM_VERTEX_BUFFER_CHANNEL_TEXCOORD2: ::std::os::raw::c_int = 11;
8070pub const TM_VERTEX_BUFFER_CHANNEL_TEXCOORD3: ::std::os::raw::c_int = 12;
8071pub const TM_VERTEX_BUFFER_CHANNEL_COLOR0: ::std::os::raw::c_int = 13;
8072pub const TM_VERTEX_BUFFER_CHANNEL_COLOR1: ::std::os::raw::c_int = 14;
8073pub const TM_VERTEX_BUFFER_CHANNEL_MAX_CHANNELS: ::std::os::raw::c_int = 16;
8074pub type _bindgen_ty_64 = ::std::os::raw::c_int;
8075#[repr(C)]
8076#[derive(Copy, Clone)]
8077pub struct tm_gpu_vertex_buffer_t {
8078 pub active_channels_flag: u32,
8079 pub num_vertices: u32,
8080 pub num_vertex_sets: u32,
8081 pub channels: [tm_gpu_vertex_channel_t; 16usize],
8082}
8083#[repr(C)]
8084#[derive(Copy, Clone)]
8085pub struct tm_gpu_geometry_t {
8086 pub vfetch_system: *mut tm_shader_system_o,
8087 pub vfetch_system_cbuffer: u32,
8088 pub vfetch_system_rbinder: u32,
8089}
8090pub const TM_TT_PROP__IMAGE_FILTER_SETTINGS__COLOR_SPACE: ::std::os::raw::c_int = 0;
8091pub const TM_TT_PROP__IMAGE_FILTER_SETTINGS__FILTER: ::std::os::raw::c_int = 1;
8092pub const TM_TT_PROP__IMAGE_FILTER_SETTINGS__OVERRIDE_EXISTING_MIPS: ::std::os::raw::c_int = 2;
8093pub type _bindgen_ty_65 = ::std::os::raw::c_int;
8094pub const TM_TT_PROP__IMAGE_DESCRIPTION__TYPE: ::std::os::raw::c_int = 0;
8095pub const TM_TT_PROP__IMAGE_DESCRIPTION__PIXEL_FORMAT: ::std::os::raw::c_int = 1;
8096pub const TM_TT_PROP__IMAGE_DESCRIPTION__WIDTH: ::std::os::raw::c_int = 2;
8097pub const TM_TT_PROP__IMAGE_DESCRIPTION__HEIGHT: ::std::os::raw::c_int = 3;
8098pub const TM_TT_PROP__IMAGE_DESCRIPTION__DEPTH: ::std::os::raw::c_int = 4;
8099pub const TM_TT_PROP__IMAGE_DESCRIPTION__MIP_LEVELS: ::std::os::raw::c_int = 5;
8100pub const TM_TT_PROP__IMAGE_DESCRIPTION__LAYER_COUNT: ::std::os::raw::c_int = 6;
8101pub const TM_TT_PROP__IMAGE_DESCRIPTION__SAMPLE_COUNT: ::std::os::raw::c_int = 7;
8102pub type _bindgen_ty_66 = ::std::os::raw::c_int;
8103pub const TM_TT_PROP__IMAGE_ACRCHIVE__FILENAME: ::std::os::raw::c_int = 0;
8104pub const TM_TT_PROP__IMAGE_ACRCHIVE__VALIDITY_HASH: ::std::os::raw::c_int = 1;
8105pub const TM_TT_PROP__IMAGE_ACRCHIVE__DESCRIPTION: ::std::os::raw::c_int = 2;
8106pub const TM_TT_PROP__IMAGE_ACRCHIVE__BUFFER: ::std::os::raw::c_int = 3;
8107pub type _bindgen_ty_67 = ::std::os::raw::c_int;
8108#[repr(C)]
8109#[derive(Copy, Clone)]
8110pub struct tm_gpu_buffer_t {
8111 pub validity_hash: u64,
8112 pub size: u32,
8113 pub usage_flags: u32,
8114 pub handle: u32,
8115 pub resource_state: u16,
8116 pub _padding_14: [::std::os::raw::c_char; 2usize],
8117}
8118#[repr(C)]
8119#[derive(Copy, Clone)]
8120pub struct tm_shader_o {
8121 _unused: [u8; 0],
8122}
8123#[repr(C)]
8124#[derive(Copy, Clone)]
8125pub struct tm_creation_graph_shader_instance_t {
8126 pub shader: *mut tm_shader_o,
8127 pub cbuf: u32,
8128 pub rbinder: u32,
8129}
8130#[repr(C)]
8131#[derive(Copy, Clone)]
8132pub struct tm_renderer_command_buffer_o {
8133 _unused: [u8; 0],
8134}
8135#[repr(C)]
8136#[derive(Copy, Clone)]
8137pub struct tm_crunch_result_t {
8138 pub data: *mut ::std::os::raw::c_void,
8139 pub data_size: u32,
8140 pub _padding_18: [::std::os::raw::c_char; 4usize],
8141}
8142pub type tm_crunch_progress = ::std::option::Option<
8143 unsafe extern "C" fn(
8144 phase_index: u32,
8145 total_phases: u32,
8146 subphase_index: u32,
8147 total_subphases: u32,
8148 user_data: *mut ::std::os::raw::c_void,
8149 ) -> bool,
8150>;
8151#[repr(C)]
8152#[derive(Copy, Clone)]
8153pub struct tm_crunch_api {
8154 pub compress: ::std::option::Option<
8155 unsafe extern "C" fn(
8156 data: *mut ::std::os::raw::c_void,
8157 width: u32,
8158 height: u32,
8159 srgb: bool,
8160 format: u32,
8161 ta: *mut tm_temp_allocator_i,
8162 progress_func: tm_crunch_progress,
8163 progress_func_data: *mut ::std::os::raw::c_void,
8164 ) -> tm_crunch_result_t,
8165 >,
8166}
8167#[repr(C)]
8168#[derive(Copy, Clone)]
8169pub struct tm_dcc_asset_geometry_t {
8170 pub vertices: *mut tm_vec3_t,
8171 pub indices: *mut u32,
8172}
8173#[repr(C)]
8174#[derive(Copy, Clone)]
8175pub struct tm_dcc_asset_api {
8176 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
8177 pub truth_type_info:
8178 ::std::option::Option<unsafe extern "C" fn() -> *const dcc_asset_type_info_t>,
8179 pub bounds: ::std::option::Option<
8180 unsafe extern "C" fn(
8181 tt: *const tm_the_truth_o,
8182 asset: tm_tt_id_t,
8183 bounds: *mut tm_vec3_t,
8184 include_node_positions: bool,
8185 ),
8186 >,
8187 pub geometry: ::std::option::Option<
8188 unsafe extern "C" fn(
8189 tt: *const tm_the_truth_o,
8190 asset: tm_tt_id_t,
8191 ta: *mut tm_temp_allocator_i,
8192 ) -> tm_dcc_asset_geometry_t,
8193 >,
8194}
8195#[repr(C)]
8196#[derive(Copy, Clone)]
8197pub struct tm_entity_context_o {
8198 _unused: [u8; 0],
8199}
8200pub const TM_TT_PROP__DCC_ASSET_COMPONENT__DCC_ASSET: ::std::os::raw::c_int = 0;
8201pub const TM_TT_PROP__DCC_ASSET_COMPONENT__VISIBILITY_FLAGS: ::std::os::raw::c_int = 1;
8202pub type _bindgen_ty_68 = ::std::os::raw::c_int;
8203#[repr(C)]
8204#[derive(Copy, Clone)]
8205pub struct tm_dcc_asset_component_api {
8206 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
8207 pub create: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
8208 pub set_component_dcc_asset: ::std::option::Option<
8209 unsafe extern "C" fn(component_data: *mut ::std::os::raw::c_void, dcc_asset: tm_tt_id_t),
8210 >,
8211 pub create_dcc_asset_scene_manager:
8212 ::std::option::Option<unsafe extern "C" fn(allocator: *mut tm_allocator_i)>,
8213 pub update_dcc_asset_scene_manager: ::std::option::Option<unsafe extern "C" fn()>,
8214 pub destroy_dcc_asset_scene_manager: ::std::option::Option<unsafe extern "C" fn()>,
8215 pub set_the_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
8216 pub animation_scrubber_ui: ::std::option::Option<
8217 unsafe extern "C" fn(
8218 tt: *mut tm_the_truth_o,
8219 asset: tm_tt_id_t,
8220 entity_ctx: *mut tm_entity_context_o,
8221 e: *const tm_entity_t,
8222 p: *mut tm_animation_player_playing_o,
8223 tab_id: u64,
8224 ui: *mut tm_ui_o,
8225 uistyle: *const tm_ui_style_t,
8226 content_r: tm_rect_t,
8227 toolbar_direction: u32,
8228 ),
8229 >,
8230}
8231#[repr(C)]
8232#[derive(Copy, Clone)]
8233pub struct tm_dcc_asset_gpu_resource_cache_o {
8234 _unused: [u8; 0],
8235}
8236pub const TM_TT_PROP__DCC_ASSET_MESH__DCC_ASSET: ::std::os::raw::c_int = 0;
8237pub const TM_TT_PROP__DCC_ASSET_MESH__MESH: ::std::os::raw::c_int = 1;
8238pub type _bindgen_ty_69 = ::std::os::raw::c_int;
8239pub const TM_TT_PROP__DCC_ASSET_IMAGE__DCC_ASSET: ::std::os::raw::c_int = 0;
8240pub const TM_TT_PROP__DCC_ASSET_IMAGE__IMAGE: ::std::os::raw::c_int = 1;
8241pub type _bindgen_ty_70 = ::std::os::raw::c_int;
8242pub const TM_TT_PROP__DCC_ASSET_MATERIAL__DCC_ASSET: ::std::os::raw::c_int = 0;
8243pub const TM_TT_PROP__DCC_ASSET_MATERIAL__MATERIAL: ::std::os::raw::c_int = 1;
8244pub type _bindgen_ty_71 = ::std::os::raw::c_int;
8245#[repr(C)]
8246#[derive(Copy, Clone)]
8247pub struct tm_dcc_asset_creation_graph_api {
8248 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
8249 pub compile_data_to_wire: ::std::option::Option<
8250 unsafe extern "C" fn(
8251 inst: *mut tm_creation_graph_instance_t,
8252 wire: u32,
8253 tt: *const tm_the_truth_o,
8254 data_id: tm_tt_id_t,
8255 to_type_hash: u64,
8256 ) -> bool,
8257 >,
8258 pub register_graph_nodes:
8259 ::std::option::Option<unsafe extern "C" fn(reg: *mut tm_api_registry_api, load: bool)>,
8260 pub create_resource_manager:
8261 ::std::option::Option<unsafe extern "C" fn(allocator: *mut tm_allocator_i)>,
8262 pub update_resource_manager: ::std::option::Option<unsafe extern "C" fn()>,
8263 pub destroy_resource_manager: ::std::option::Option<unsafe extern "C" fn()>,
8264 pub set_the_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
8265 pub resource_cache: ::std::option::Option<
8266 unsafe extern "C" fn(
8267 tt: *const tm_the_truth_o,
8268 asset: tm_tt_id_t,
8269 wanted_version: u64,
8270 ) -> *mut tm_dcc_asset_gpu_resource_cache_o,
8271 >,
8272 pub buffer_handle: ::std::option::Option<
8273 unsafe extern "C" fn(
8274 resource_cache: *mut tm_dcc_asset_gpu_resource_cache_o,
8275 tt: *const tm_the_truth_o,
8276 object: tm_tt_id_t,
8277 additional_usage_flags: u32,
8278 backend: *mut tm_renderer_backend_i,
8279 device_affinity_mask: u32,
8280 res_buf: *mut tm_renderer_resource_command_buffer_o,
8281 validity_hash: *mut u64,
8282 ) -> u32,
8283 >,
8284 pub image_handle: ::std::option::Option<
8285 unsafe extern "C" fn(
8286 resource_cache: *mut tm_dcc_asset_gpu_resource_cache_o,
8287 tt: *const tm_the_truth_o,
8288 object: tm_tt_id_t,
8289 additional_usage_flags: u32,
8290 backend: *mut tm_renderer_backend_i,
8291 device_affinity_mask: u32,
8292 res_buf: *mut tm_renderer_resource_command_buffer_o,
8293 image_desc: *mut tm_renderer_image_buffer_t,
8294 validity_hash: *mut u64,
8295 context: *mut tm_creation_graph_context_t,
8296 instance: *mut tm_creation_graph_instance_t,
8297 ) -> u32,
8298 >,
8299}
8300#[repr(C)]
8301#[derive(Copy, Clone)]
8302pub struct tm_dcc_asset_scene_o {
8303 _unused: [u8; 0],
8304}
8305#[repr(C)]
8306#[derive(Copy, Clone)]
8307pub struct tm_dcc_asset_scene_instance_o {
8308 pub instance_idx: u32,
8309 pub _padding_24: [::std::os::raw::c_char; 4usize],
8310 pub entity_id: u64,
8311 pub transform_version: u32,
8312 pub scene_to_world: tm_mat44_t,
8313 pub front_face_cw: bool,
8314 pub _padding_30: [::std::os::raw::c_char; 3usize],
8315 pub last_transform_version: u32,
8316 pub _padding_32: [::std::os::raw::c_char; 4usize],
8317 pub shader: *mut tm_shader_o,
8318 pub cbufs: *mut tm_shader_constant_buffer_instance_t,
8319}
8320#[repr(C)]
8321#[derive(Copy, Clone)]
8322pub struct tm_dcc_asset_renderer_shader_system_t {
8323 pub systems: [*mut tm_shader_system_o; 2usize],
8324}
8325pub const TM_DCC_ASSET_RENDERER_SHADER_SYSTEM_OPAQUE: ::std::os::raw::c_int = 0;
8326pub const TM_DCC_ASSET_RENDERER_SHADER_SYSTEM_MASKED: ::std::os::raw::c_int = 1;
8327pub const TM_DCC_ASSET_RENDERER_SHADER_SYSTEM_TRANSPARENCY: ::std::os::raw::c_int = 2;
8328pub const TM_DCC_ASSET_RENDERER_SHADER_SYSTEM_MAX_SYSTEMS: ::std::os::raw::c_int = 3;
8329pub type _bindgen_ty_72 = ::std::os::raw::c_int;
8330#[repr(C)]
8331#[derive(Copy, Clone)]
8332pub struct tm_dcc_asset_renderer_frame_memory_thread_context_t {
8333 pub p: *mut u8,
8334 pub used: u64,
8335 pub block_size: u64,
8336}
8337#[repr(C)]
8338#[derive(Copy, Clone)]
8339pub struct tm_dcc_asset_renderer_api {
8340 pub create: ::std::option::Option<
8341 unsafe extern "C" fn(
8342 rb: *mut tm_renderer_backend_i,
8343 allocator: *mut tm_allocator_i,
8344 shader_repository: *mut tm_shader_repository_o,
8345 tt: *mut tm_the_truth_o,
8346 asset: tm_tt_id_t,
8347 ) -> *mut tm_dcc_asset_scene_o,
8348 >,
8349 pub destroy: ::std::option::Option<
8350 unsafe extern "C" fn(
8351 scene: *mut tm_dcc_asset_scene_o,
8352 res_buf: *mut tm_renderer_resource_command_buffer_o,
8353 ),
8354 >,
8355 pub refresh_instance: ::std::option::Option<
8356 unsafe extern "C" fn(
8357 scene: *mut tm_dcc_asset_scene_o,
8358 instance: *mut tm_dcc_asset_scene_instance_o,
8359 tt: *const tm_the_truth_o,
8360 res_buf: *mut tm_renderer_resource_command_buffer_o,
8361 allocator: *mut tm_allocator_i,
8362 ),
8363 >,
8364 pub update_instance_parameters: ::std::option::Option<
8365 unsafe extern "C" fn(
8366 scene: *mut tm_dcc_asset_scene_o,
8367 instance: *mut tm_dcc_asset_scene_instance_o,
8368 mem_context: *mut tm_dcc_asset_renderer_frame_memory_thread_context_t,
8369 res_buf: *mut tm_renderer_resource_command_buffer_o,
8370 entity_id: u64,
8371 scene_to_world: *const tm_mat44_t,
8372 last_scene_to_world: *const tm_mat44_t,
8373 ),
8374 >,
8375 pub render: ::std::option::Option<
8376 unsafe extern "C" fn(
8377 scene: *mut tm_dcc_asset_scene_o,
8378 instance: *mut tm_dcc_asset_scene_instance_o,
8379 tt: *const tm_the_truth_o,
8380 context: *mut tm_shader_system_context_o,
8381 res_buf: *mut tm_renderer_resource_command_buffer_o,
8382 cmd_buf: *mut tm_renderer_command_buffer_o,
8383 viewer: *const tm_ci_render_viewer_t,
8384 systems: *const tm_dcc_asset_renderer_shader_system_t,
8385 ),
8386 >,
8387}
8388pub const TM_TT_PROP__DCC_ASSET_POSITION__X: ::std::os::raw::c_int = 0;
8389pub const TM_TT_PROP__DCC_ASSET_POSITION__Y: ::std::os::raw::c_int = 1;
8390pub const TM_TT_PROP__DCC_ASSET_POSITION__Z: ::std::os::raw::c_int = 2;
8391pub type _bindgen_ty_73 = ::std::os::raw::c_int;
8392pub const TM_TT_PROP__DCC_ASSET_ROTATION__X: ::std::os::raw::c_int = 0;
8393pub const TM_TT_PROP__DCC_ASSET_ROTATION__Y: ::std::os::raw::c_int = 1;
8394pub const TM_TT_PROP__DCC_ASSET_ROTATION__Z: ::std::os::raw::c_int = 2;
8395pub const TM_TT_PROP__DCC_ASSET_ROTATION__W: ::std::os::raw::c_int = 3;
8396pub type _bindgen_ty_74 = ::std::os::raw::c_int;
8397pub const TM_TT_PROP__DCC_ASSET_SCALE__X: ::std::os::raw::c_int = 0;
8398pub const TM_TT_PROP__DCC_ASSET_SCALE__Y: ::std::os::raw::c_int = 1;
8399pub const TM_TT_PROP__DCC_ASSET_SCALE__Z: ::std::os::raw::c_int = 2;
8400pub type _bindgen_ty_75 = ::std::os::raw::c_int;
8401pub const TM_TT_PROP__DCC_ASSET_COLOR__R: ::std::os::raw::c_int = 0;
8402pub const TM_TT_PROP__DCC_ASSET_COLOR__G: ::std::os::raw::c_int = 1;
8403pub const TM_TT_PROP__DCC_ASSET_COLOR__B: ::std::os::raw::c_int = 2;
8404pub const TM_TT_PROP__DCC_ASSET_COLOR__A: ::std::os::raw::c_int = 3;
8405pub type _bindgen_ty_76 = ::std::os::raw::c_int;
8406pub const TM_TT_PROP__DCC_ASSET_BUFFER__NAME: ::std::os::raw::c_int = 0;
8407pub const TM_TT_PROP__DCC_ASSET_BUFFER__DATA: ::std::os::raw::c_int = 1;
8408pub const TM_TT_PROP__DCC_ASSET_BUFFER__STRIDE: ::std::os::raw::c_int = 2;
8409pub type _bindgen_ty_77 = ::std::os::raw::c_int;
8410pub const TM_TT_VALUE__DCC_ASSET_CAMERA__TYPE__NONE: ::std::os::raw::c_int = 0;
8411pub const TM_TT_VALUE__DCC_ASSET_CAMERA__TYPE__PERSPECTIVE: ::std::os::raw::c_int = 1;
8412pub const TM_TT_VALUE__DCC_ASSET_CAMERA__TYPE__ORTHOGRAPHIC: ::std::os::raw::c_int = 2;
8413pub type _bindgen_ty_78 = ::std::os::raw::c_int;
8414pub const TM_TT_PROP__DCC_ASSET_CAMERA__NAME: ::std::os::raw::c_int = 0;
8415pub const TM_TT_PROP__DCC_ASSET_CAMERA__TYPE: ::std::os::raw::c_int = 1;
8416pub const TM_TT_PROP__DCC_ASSET_CAMERA__ASPECT_RATIO: ::std::os::raw::c_int = 2;
8417pub const TM_TT_PROP__DCC_ASSET_CAMERA__YFOV: ::std::os::raw::c_int = 3;
8418pub const TM_TT_PROP__DCC_ASSET_CAMERA__ZNEAR: ::std::os::raw::c_int = 4;
8419pub const TM_TT_PROP__DCC_ASSET_CAMERA__ZFAR: ::std::os::raw::c_int = 5;
8420pub type _bindgen_ty_79 = ::std::os::raw::c_int;
8421pub const TM_TT_PROP__DCC_ASSET_LIGHT__NAME: ::std::os::raw::c_int = 0;
8422pub type _bindgen_ty_80 = ::std::os::raw::c_int;
8423pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__BUFFER: ::std::os::raw::c_int = 0;
8424pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__OFFSET: ::std::os::raw::c_int = 1;
8425pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__COUNT: ::std::os::raw::c_int = 2;
8426pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__IS_FLOAT: ::std::os::raw::c_int = 3;
8427pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__IS_SIGNED: ::std::os::raw::c_int = 4;
8428pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__IS_NORMALIZED: ::std::os::raw::c_int = 5;
8429pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__BITS: ::std::os::raw::c_int = 6;
8430pub const TM_TT_PROP__DCC_ASSET_ACCESSOR__COMPONENT_COUNT: ::std::os::raw::c_int = 7;
8431pub type _bindgen_ty_81 = ::std::os::raw::c_int;
8432pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__NONE: ::std::os::raw::c_int = 0;
8433pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__POSITION: ::std::os::raw::c_int = 1;
8434pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__NORMAL: ::std::os::raw::c_int = 2;
8435pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__TANGENT: ::std::os::raw::c_int = 3;
8436pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__BINORMAL: ::std::os::raw::c_int = 4;
8437pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__TEXCOORD: ::std::os::raw::c_int = 5;
8438pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__COLOR: ::std::os::raw::c_int = 6;
8439pub const TM_TT_VALUE__DCC_ASSET_VERTEX__SEMANTIC__SKIN_DATA: ::std::os::raw::c_int = 7;
8440pub type _bindgen_ty_82 = ::std::os::raw::c_int;
8441pub const TM_TT_PROP__DCC_ASSET_ATTRIBUTE__SEMANTIC: ::std::os::raw::c_int = 0;
8442pub const TM_TT_PROP__DCC_ASSET_ATTRIBUTE__SET: ::std::os::raw::c_int = 1;
8443pub const TM_TT_PROP__DCC_ASSET_ATTRIBUTE__ACCESSOR: ::std::os::raw::c_int = 2;
8444pub type _bindgen_ty_83 = ::std::os::raw::c_int;
8445#[repr(C)]
8446#[derive(Copy, Clone)]
8447pub struct tm_dcc_asset_raw_image_header_t {
8448 pub format: u32,
8449 pub width: u32,
8450 pub height: u32,
8451}
8452pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__NONE: ::std::os::raw::c_int = 0;
8453pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__JPEG: ::std::os::raw::c_int = 1;
8454pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__TIFF: ::std::os::raw::c_int = 2;
8455pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__PNG: ::std::os::raw::c_int = 3;
8456pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__DDS: ::std::os::raw::c_int = 4;
8457pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__EXR: ::std::os::raw::c_int = 5;
8458pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__DCC_ASSET_RAW: ::std::os::raw::c_int = 6;
8459pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__TGA: ::std::os::raw::c_int = 7;
8460pub const TM_TT_VALUE__DCC_ASSET_IMAGE__TYPE__UNKNOWN: ::std::os::raw::c_int = 8;
8461pub type _bindgen_ty_84 = ::std::os::raw::c_int;
8462pub const TM_TT_PROP__DCC_ASSET_IMAGE__NAME: ::std::os::raw::c_int = 0;
8463pub const TM_TT_PROP__DCC_ASSET_IMAGE__BUFFER: ::std::os::raw::c_int = 1;
8464pub const TM_TT_PROP__DCC_ASSET_IMAGE__TYPE: ::std::os::raw::c_int = 2;
8465pub type _bindgen_ty_85 = ::std::os::raw::c_int;
8466pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__UV: ::std::os::raw::c_int = 0;
8467pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__SPHERE: ::std::os::raw::c_int = 1;
8468pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__CYLINDER: ::std::os::raw::c_int = 2;
8469pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__BOX: ::std::os::raw::c_int = 3;
8470pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__PLANE: ::std::os::raw::c_int = 4;
8471pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__MAPPING__OTHER: ::std::os::raw::c_int = 5;
8472pub type _bindgen_ty_86 = ::std::os::raw::c_int;
8473pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__ADDRESS_MODE__WRAP: ::std::os::raw::c_int = 0;
8474pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__ADDRESS_MODE__CLAMP: ::std::os::raw::c_int = 1;
8475pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__ADDRESS_MODE__DECAL: ::std::os::raw::c_int = 2;
8476pub const TM_TT_VALUE__DCC_ASSET_TEXTURE__ADDRESS_MODE__MIRROR: ::std::os::raw::c_int = 3;
8477pub type _bindgen_ty_87 = ::std::os::raw::c_int;
8478pub const TM_TT_PROP__DCC_ASSET_TEXTURE__IMAGE: ::std::os::raw::c_int = 0;
8479pub const TM_TT_PROP__DCC_ASSET_TEXTURE__MAPPING: ::std::os::raw::c_int = 1;
8480pub const TM_TT_PROP__DCC_ASSET_TEXTURE__UV_SET: ::std::os::raw::c_int = 2;
8481pub const TM_TT_PROP__DCC_ASSET_TEXTURE__ADDRESS_MODE: ::std::os::raw::c_int = 3;
8482pub type _bindgen_ty_88 = ::std::os::raw::c_int;
8483pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_MR__METALLIC_FACTOR: ::std::os::raw::c_int = 0;
8484pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_MR__ROUGHNESS_FACTOR: ::std::os::raw::c_int = 1;
8485pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_MR__METALLIC_ROUGHNESS_TEXTURE: ::std::os::raw::c_int =
8486 2;
8487pub type _bindgen_ty_89 = ::std::os::raw::c_int;
8488pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_SG__GLOSSINESS_FACTOR: ::std::os::raw::c_int = 0;
8489pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_SG__SPECULAR_FACTOR: ::std::os::raw::c_int = 1;
8490pub const TM_TT_PROP__DCC_ASSET_MATERIAL_PBR_SG__SPECULAR_GLOSSINESS_TEXTURE:
8491 ::std::os::raw::c_int = 2;
8492pub type _bindgen_ty_90 = ::std::os::raw::c_int;
8493pub const TM_TT_VALUE__DCC_ASSET_MATERIAL__ALPHA_MODE__OPAQUE: ::std::os::raw::c_int = 0;
8494pub const TM_TT_VALUE__DCC_ASSET_MATERIAL__ALPHA_MODE__MASK: ::std::os::raw::c_int = 1;
8495pub const TM_TT_VALUE__DCC_ASSET_MATERIAL__ALPHA_MODE__BLEND: ::std::os::raw::c_int = 2;
8496pub type _bindgen_ty_91 = ::std::os::raw::c_int;
8497pub const TM_TT_PROP__DCC_ASSET_MATERIAL__NAME: ::std::os::raw::c_int = 0;
8498pub const TM_TT_PROP__DCC_ASSET_MATERIAL__BASE_COLOR_FACTOR: ::std::os::raw::c_int = 1;
8499pub const TM_TT_PROP__DCC_ASSET_MATERIAL__BASE_COLOR_TEXTURE: ::std::os::raw::c_int = 2;
8500pub const TM_TT_PROP__DCC_ASSET_MATERIAL__NORMAL_TEXTURE: ::std::os::raw::c_int = 3;
8501pub const TM_TT_PROP__DCC_ASSET_MATERIAL__OCCLUSION_TEXTURE: ::std::os::raw::c_int = 4;
8502pub const TM_TT_PROP__DCC_ASSET_MATERIAL__EMISSIVE_FACTOR: ::std::os::raw::c_int = 5;
8503pub const TM_TT_PROP__DCC_ASSET_MATERIAL__EMISSIVE_TEXTURE: ::std::os::raw::c_int = 6;
8504pub const TM_TT_PROP__DCC_ASSET_MATERIAL__PBR_METALLIC_ROUGHNESS: ::std::os::raw::c_int = 7;
8505pub const TM_TT_PROP__DCC_ASSET_MATERIAL__PBR_SPECULAR_GLOSSINESS: ::std::os::raw::c_int = 8;
8506pub const TM_TT_PROP__DCC_ASSET_MATERIAL__ALPHA_MODE: ::std::os::raw::c_int = 9;
8507pub const TM_TT_PROP__DCC_ASSET_MATERIAL__ALPHA_CUTOFF: ::std::os::raw::c_int = 10;
8508pub const TM_TT_PROP__DCC_ASSET_MATERIAL__DOUBLE_SIDED: ::std::os::raw::c_int = 11;
8509pub type _bindgen_ty_92 = ::std::os::raw::c_int;
8510pub const TM_TT_PROP__DCC_ASSET_BONE__INDEX: ::std::os::raw::c_int = 0;
8511pub const TM_TT_PROP__DCC_ASSET_BONE__NODE_NAME: ::std::os::raw::c_int = 1;
8512pub const TM_TT_PROP__DCC_ASSET_BONE__INVERSE_BIND_POSITION: ::std::os::raw::c_int = 2;
8513pub const TM_TT_PROP__DCC_ASSET_BONE__INVERSE_BIND_ROTATION: ::std::os::raw::c_int = 3;
8514pub const TM_TT_PROP__DCC_ASSET_BONE__INVERSE_BIND_SCALE: ::std::os::raw::c_int = 4;
8515pub type _bindgen_ty_93 = ::std::os::raw::c_int;
8516pub const TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE__POINTS: ::std::os::raw::c_int = 0;
8517pub const TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE__LINES: ::std::os::raw::c_int = 1;
8518pub const TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE__TRIANGLES: ::std::os::raw::c_int = 2;
8519pub const TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE__POLYGON: ::std::os::raw::c_int = 3;
8520pub const TM_TT_VALUE__DCC_ASSET_MESH__PRIMITIVE_TYPE__MIXED_OR_UNKNOWN: ::std::os::raw::c_int =
8521 255;
8522pub type _bindgen_ty_94 = ::std::os::raw::c_int;
8523pub const TM_TT_PROP__DCC_ASSET_MESH__NAME: ::std::os::raw::c_int = 0;
8524pub const TM_TT_PROP__DCC_ASSET_MESH__PRIMITIVE_TYPE: ::std::os::raw::c_int = 1;
8525pub const TM_TT_PROP__DCC_ASSET_MESH__MATERIAL: ::std::os::raw::c_int = 2;
8526pub const TM_TT_PROP__DCC_ASSET_MESH__ATTRIBUTES: ::std::os::raw::c_int = 3;
8527pub const TM_TT_PROP__DCC_ASSET_MESH__INDICES: ::std::os::raw::c_int = 4;
8528pub const TM_TT_PROP__DCC_ASSET_MESH__BOUNDS_MIN: ::std::os::raw::c_int = 5;
8529pub const TM_TT_PROP__DCC_ASSET_MESH__BOUNDS_MAX: ::std::os::raw::c_int = 6;
8530pub const TM_TT_PROP__DCC_ASSET_MESH__BONES: ::std::os::raw::c_int = 7;
8531pub type _bindgen_ty_95 = ::std::os::raw::c_int;
8532pub const TM_TT_PROP__DCC_ASSET_NODE__NAME: ::std::os::raw::c_int = 0;
8533pub const TM_TT_PROP__DCC_ASSET_NODE__POSITION: ::std::os::raw::c_int = 1;
8534pub const TM_TT_PROP__DCC_ASSET_NODE__ROTATION: ::std::os::raw::c_int = 2;
8535pub const TM_TT_PROP__DCC_ASSET_NODE__SCALE: ::std::os::raw::c_int = 3;
8536pub const TM_TT_PROP__DCC_ASSET_NODE__CHILDREN: ::std::os::raw::c_int = 4;
8537pub const TM_TT_PROP__DCC_ASSET_NODE__MESHES: ::std::os::raw::c_int = 5;
8538pub const TM_TT_PROP__DCC_ASSET_NODE__CAMERAS: ::std::os::raw::c_int = 6;
8539pub const TM_TT_PROP__DCC_ASSET_NODE__LIGHTS: ::std::os::raw::c_int = 7;
8540pub type _bindgen_ty_96 = ::std::os::raw::c_int;
8541pub const TM_TT_PROP__DCC_ASSET_SCENE__NAME: ::std::os::raw::c_int = 0;
8542pub const TM_TT_PROP__DCC_ASSET_SCENE__ROOT_NODES: ::std::os::raw::c_int = 1;
8543pub type _bindgen_ty_97 = ::std::os::raw::c_int;
8544#[repr(C)]
8545#[derive(Copy, Clone)]
8546pub struct tm_tt_prop__dcc_asset_node_animation__float_key_t {
8547 pub time: f32,
8548 pub v: f32,
8549}
8550#[repr(C)]
8551#[derive(Copy, Clone)]
8552pub struct tm_tt_prop__dcc_asset_node_animation__vec3_key_t {
8553 pub time: f32,
8554 pub v: tm_vec3_t,
8555}
8556#[repr(C)]
8557#[derive(Copy, Clone)]
8558pub struct tm_tt_prop__dcc_asset_node_animation__quat_key_t {
8559 pub time: f32,
8560 pub q: tm_vec4_t,
8561}
8562pub const tm_tt_value__dcc_asset_node_animation__pre_post_state_TM_TT_VALUE__DCC_ASSET_NODE_ANIMATION__PRE_POST_STATE__DEFAULT : tm_tt_value__dcc_asset_node_animation__pre_post_state = 0 ;
8563pub const tm_tt_value__dcc_asset_node_animation__pre_post_state_TM_TT_VALUE__DCC_ASSET_NODE_ANIMATION__PRE_POST_STATE__CONSTANT : tm_tt_value__dcc_asset_node_animation__pre_post_state = 1 ;
8564pub const tm_tt_value__dcc_asset_node_animation__pre_post_state_TM_TT_VALUE__DCC_ASSET_NODE_ANIMATION__PRE_POST_STATE__LINEAR : tm_tt_value__dcc_asset_node_animation__pre_post_state = 2 ;
8565pub const tm_tt_value__dcc_asset_node_animation__pre_post_state_TM_TT_VALUE__DCC_ASSET_NODE_ANIMATION__PRE_POST_STATE__REPEAT : tm_tt_value__dcc_asset_node_animation__pre_post_state = 3 ;
8566pub type tm_tt_value__dcc_asset_node_animation__pre_post_state = ::std::os::raw::c_int;
8567pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__NAME: ::std::os::raw::c_int = 0;
8568pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__NODE: ::std::os::raw::c_int = 1;
8569pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__POSITION_KEYS: ::std::os::raw::c_int = 2;
8570pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__ROTATION_KEYS: ::std::os::raw::c_int = 3;
8571pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__SCALING_KEYS: ::std::os::raw::c_int = 4;
8572pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__PRE_STATE: ::std::os::raw::c_int = 5;
8573pub const TM_TT_PROP__DCC_ASSET_NODE_ANIMATION__POST_STATE: ::std::os::raw::c_int = 6;
8574pub type _bindgen_ty_98 = ::std::os::raw::c_int;
8575pub const TM_TT_PROP__DCC_ASSET_ANIMATION__NAME: ::std::os::raw::c_int = 0;
8576pub const TM_TT_PROP__DCC_ASSET_ANIMATION__DURATION: ::std::os::raw::c_int = 1;
8577pub const TM_TT_PROP__DCC_ASSET_ANIMATION__TICKS_PER_SECOND: ::std::os::raw::c_int = 2;
8578pub const TM_TT_PROP__DCC_ASSET_ANIMATION__NODE_ANIMATIONS: ::std::os::raw::c_int = 3;
8579pub type _bindgen_ty_99 = ::std::os::raw::c_int;
8580pub const TM_TT_PROP__DCC_ASSET_EXTRACTED_RESOURCE__OBJECT: ::std::os::raw::c_int = 0;
8581pub const TM_TT_PROP__DCC_ASSET_EXTRACTED_RESOURCE__RESOURCE: ::std::os::raw::c_int = 1;
8582pub type _bindgen_ty_100 = ::std::os::raw::c_int;
8583pub const TM_TT_PROP__DCC_ASSET_SETTINGS__IMPORT_SETTINGS: ::std::os::raw::c_int = 0;
8584pub const TM_TT_PROP__DCC_ASSET_SETTINGS__EXTRACT_IMAGES: ::std::os::raw::c_int = 1;
8585pub const TM_TT_PROP__DCC_ASSET_SETTINGS__EXTRACTED_IMAGES: ::std::os::raw::c_int = 2;
8586pub const TM_TT_PROP__DCC_ASSET_SETTINGS__EXTRACT_MATERIALS: ::std::os::raw::c_int = 3;
8587pub const TM_TT_PROP__DCC_ASSET_SETTINGS__EXTRACTED_MATERIALS: ::std::os::raw::c_int = 4;
8588pub const TM_TT_PROP__DCC_ASSET_SETTINGS__RIG_ENTITY: ::std::os::raw::c_int = 5;
8589pub const TM_TT_PROP__DCC_ASSET_SETTINGS__ENTITY: ::std::os::raw::c_int = 6;
8590pub type _bindgen_ty_101 = ::std::os::raw::c_int;
8591pub const TM_TT_PROP__DCC_ASSET__SCENE: ::std::os::raw::c_int = 0;
8592pub const TM_TT_PROP__DCC_ASSET__ACCESSORS: ::std::os::raw::c_int = 1;
8593pub const TM_TT_PROP__DCC_ASSET__BUFFERS: ::std::os::raw::c_int = 2;
8594pub const TM_TT_PROP__DCC_ASSET__CAMERAS: ::std::os::raw::c_int = 3;
8595pub const TM_TT_PROP__DCC_ASSET__LIGHTS: ::std::os::raw::c_int = 4;
8596pub const TM_TT_PROP__DCC_ASSET__IMAGES: ::std::os::raw::c_int = 5;
8597pub const TM_TT_PROP__DCC_ASSET__MATERIALS: ::std::os::raw::c_int = 6;
8598pub const TM_TT_PROP__DCC_ASSET__MESHES: ::std::os::raw::c_int = 7;
8599pub const TM_TT_PROP__DCC_ASSET__NODES: ::std::os::raw::c_int = 8;
8600pub const TM_TT_PROP__DCC_ASSET__SCENES: ::std::os::raw::c_int = 9;
8601pub const TM_TT_PROP__DCC_ASSET__ANIMATIONS: ::std::os::raw::c_int = 10;
8602pub const TM_TT_PROP__DCC_ASSET__SETTINGS: ::std::os::raw::c_int = 11;
8603pub type _bindgen_ty_102 = ::std::os::raw::c_int;
8604#[repr(C)]
8605#[derive(Copy, Clone)]
8606pub struct dcc_asset_type_info_t {
8607 pub position_type: u64,
8608 pub rotation_type: u64,
8609 pub scale_type: u64,
8610 pub color_rgba_type: u64,
8611 pub color_rgb_type: u64,
8612 pub attribute_type: u64,
8613 pub accessor_type: u64,
8614 pub buffer_type: u64,
8615 pub camera_type: u64,
8616 pub light_type: u64,
8617 pub bone_type: u64,
8618 pub mesh_type: u64,
8619 pub image_type: u64,
8620 pub texture_type: u64,
8621 pub pbr_mr_type: u64,
8622 pub pbr_sg_type: u64,
8623 pub material_type: u64,
8624 pub node_type: u64,
8625 pub scene_type: u64,
8626 pub node_animation_type: u64,
8627 pub animation_type: u64,
8628 pub asset_type: u64,
8629 pub extracted_resource_type: u64,
8630 pub settings_type: u64,
8631}
8632pub const TM_TT_PROP__ENTITY_RIGGER_COMPONENT__DCC_ASSET: ::std::os::raw::c_int = 0;
8633pub const TM_TT_PROP__ENTITY_RIGGER_COMPONENT__MESH_CREATION_GRAPH: ::std::os::raw::c_int = 1;
8634pub type _bindgen_ty_103 = ::std::os::raw::c_int;
8635#[repr(C)]
8636#[derive(Copy, Clone)]
8637pub struct tm_entity_rigger_component_t {
8638 pub dcc_asset: tm_tt_id_t,
8639}
8640#[repr(C)]
8641#[derive(Copy, Clone)]
8642pub struct tm_entity_rigger_component_api {
8643 pub parse_scene_tree: ::std::option::Option<
8644 unsafe extern "C" fn(
8645 tt: *mut tm_the_truth_o,
8646 dcc_asset: tm_tt_id_t,
8647 ta: *mut tm_temp_allocator_i,
8648 ) -> *mut tm_scene_tree_node_t,
8649 >,
8650 pub rig_from_dcc_asset: ::std::option::Option<
8651 unsafe extern "C" fn(
8652 tt: *mut tm_the_truth_o,
8653 parent_entity: tm_tt_id_t,
8654 dcc_asset: tm_tt_id_t,
8655 mesh_cg: tm_tt_id_t,
8656 task_id: u64,
8657 undo_scope: tm_tt_undo_scope_t,
8658 ) -> bool,
8659 >,
8660}
8661pub const TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__IMAGE_CG: ::std::os::raw::c_int = 0;
8662pub const TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__MATERIAL_CG: ::std::os::raw::c_int = 1;
8663pub const TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__MESH_CG: ::std::os::raw::c_int = 2;
8664pub const TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__IMAGE_DIRECTORY: ::std::os::raw::c_int = 3;
8665pub const TM_TT_PROP__IMPORT_SETTINGS__DCC_ASSET__MATERIAL_DIRECTORY: ::std::os::raw::c_int = 4;
8666pub const TM_TT_PROP__IMPORT_SETTINGS__IMPORT__IMAGE_CG: ::std::os::raw::c_int = 5;
8667pub const TM_TT_PROP__IMPORT_SETTINGS__DROP__IMAGE_CG: ::std::os::raw::c_int = 6;
8668pub type _bindgen_ty_104 = ::std::os::raw::c_int;
8669#[repr(C)]
8670#[derive(Copy, Clone)]
8671pub struct tm_import_settings_api {
8672 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
8673 pub asset_browser_create_interface:
8674 ::std::option::Option<unsafe extern "C" fn() -> *mut tm_asset_browser_create_asset_i>,
8675 pub find_import_settings_for_asset: ::std::option::Option<
8676 unsafe extern "C" fn(
8677 tt: *mut tm_the_truth_o,
8678 asset_root: tm_tt_id_t,
8679 asset: tm_tt_id_t,
8680 ) -> tm_tt_id_t,
8681 >,
8682 pub find_import_settings_for_dir: ::std::option::Option<
8683 unsafe extern "C" fn(
8684 tt: *mut tm_the_truth_o,
8685 asset_root: tm_tt_id_t,
8686 dir: tm_tt_id_t,
8687 ) -> tm_tt_id_t,
8688 >,
8689}
8690pub const TM_TT_PROP__BLOOM_COMPONENT__ENABLED: ::std::os::raw::c_int = 0;
8691pub const TM_TT_PROP__BLOOM_COMPONENT__THRESHOLD: ::std::os::raw::c_int = 1;
8692pub const TM_TT_PROP__BLOOM_COMPONENT__FALLOFF: ::std::os::raw::c_int = 2;
8693pub const TM_TT_PROP__BLOOM_COMPONENT__TINT: ::std::os::raw::c_int = 3;
8694pub type _bindgen_ty_105 = ::std::os::raw::c_int;
8695#[repr(C)]
8696#[derive(Copy, Clone)]
8697pub struct tm_bloom_component_t {
8698 pub enabled: bool,
8699 pub _padding_19: [::std::os::raw::c_char; 3usize],
8700 pub threshold: f32,
8701 pub falloff: f32,
8702 pub tint: tm_vec3_t,
8703}
8704#[repr(C)]
8705#[derive(Copy, Clone)]
8706pub struct tm_shader_system_o {
8707 _unused: [u8; 0],
8708}
8709pub const tm_default_render_pipe_module_TM_DEFAULT_RENDER_PIPE_MODULE_DEBUG:
8710 tm_default_render_pipe_module = 0;
8711pub type tm_default_render_pipe_module = ::std::os::raw::c_int;
8712pub const tm_default_render_pipe_image_filter_content_TM_DEFAULT_RENDER_PIPE_FILTER_CONTENT_LINEAR : tm_default_render_pipe_image_filter_content = 0 ;
8713pub const tm_default_render_pipe_image_filter_content_TM_DEFAULT_RENDER_PIPE_FILTER_CONTENT_SRGB:
8714 tm_default_render_pipe_image_filter_content = 1;
8715pub const tm_default_render_pipe_image_filter_content_TM_DEFAULT_RENDER_PIPE_FILTER_CONTENT_NORMAL_MAP : tm_default_render_pipe_image_filter_content = 2 ;
8716pub type tm_default_render_pipe_image_filter_content = ::std::os::raw::c_int;
8717pub const tm_default_render_pipe_image_filter_TM_DEFAULT_RENDER_PIPE_GENERATE_IMAGE_FILTER_MIPMAP_BOX : tm_default_render_pipe_image_filter = 0 ;
8718pub const tm_default_render_pipe_image_filter_TM_DEFAULT_RENDER_PIPE_GENERATE_IMAGE_FILTER_SPECULAR_IBL : tm_default_render_pipe_image_filter = 1 ;
8719pub const tm_default_render_pipe_image_filter_TM_DEFAULT_RENDER_PIPE_GENERATE_IMAGE_FILTER_DIFFUSE_IBL : tm_default_render_pipe_image_filter = 2 ;
8720pub type tm_default_render_pipe_image_filter = ::std::os::raw::c_int;
8721pub const TM_FILTER_IMAGE_PRE_CMD: ::std::os::raw::c_int = 0;
8722pub const TM_FILTER_IMAGE_POST_CMD: ::std::os::raw::c_int = 1;
8723pub const TM_FILTER_IMAGE_MAX_RESOURCE_BUFFERS: ::std::os::raw::c_int = 2;
8724pub type _bindgen_ty_106 = ::std::os::raw::c_int;
8725#[repr(C)]
8726#[derive(Copy, Clone)]
8727pub struct tm_default_render_pipe_api {
8728 pub create_module: ::std::option::Option<
8729 unsafe extern "C" fn(
8730 pipe_module: tm_default_render_pipe_module,
8731 allocator: *mut tm_allocator_i,
8732 res_buf: *mut tm_renderer_resource_command_buffer_o,
8733 ) -> *mut tm_render_graph_module_o,
8734 >,
8735 pub destroy_module: ::std::option::Option<
8736 unsafe extern "C" fn(
8737 mod_: *mut tm_render_graph_module_o,
8738 allocator: *mut tm_allocator_i,
8739 res_buf: *mut tm_renderer_resource_command_buffer_o,
8740 ),
8741 >,
8742 pub filter_image: ::std::option::Option<
8743 unsafe extern "C" fn(
8744 backend: *mut tm_renderer_backend_i,
8745 device_affinity_mask: u32,
8746 res_buf: *mut *mut tm_renderer_resource_command_buffer_o,
8747 cmd_buf: *mut tm_renderer_command_buffer_o,
8748 shader_repository: *mut tm_shader_repository_o,
8749 allocator: *mut tm_allocator_i,
8750 input_image_description: *const tm_renderer_image_buffer_t,
8751 input_resource: u32,
8752 input_resource_state: u16,
8753 output_resource: *mut u32,
8754 output_image_description: *mut tm_renderer_image_buffer_t,
8755 filter: tm_default_render_pipe_image_filter,
8756 content: tm_default_render_pipe_image_filter_content,
8757 release_input: bool,
8758 ),
8759 >,
8760}
8761pub const TM_TT_PROP__EXPOSURE_COMPONENT__ENABLED: ::std::os::raw::c_int = 0;
8762pub const TM_TT_PROP__EXPOSURE_COMPONENT__METERING: ::std::os::raw::c_int = 1;
8763pub const TM_TT_PROP__EXPOSURE_COMPONENT__EXPOSURE_COMPENSATION: ::std::os::raw::c_int = 2;
8764pub const TM_TT_PROP__EXPOSURE_COMPONENT__MASK: ::std::os::raw::c_int = 3;
8765pub const TM_TT_PROP__EXPOSURE_COMPONENT__MIN_EV100: ::std::os::raw::c_int = 4;
8766pub const TM_TT_PROP__EXPOSURE_COMPONENT__MAX_EV100: ::std::os::raw::c_int = 5;
8767pub const TM_TT_PROP__EXPOSURE_COMPONENT__SPEED_UP: ::std::os::raw::c_int = 6;
8768pub const TM_TT_PROP__EXPOSURE_COMPONENT__SPEED_DOWN: ::std::os::raw::c_int = 7;
8769pub type _bindgen_ty_107 = ::std::os::raw::c_int;
8770pub const tm_exposure_metering_mode_TM_EXPOSURE_METERING_MODE_MANUAL: tm_exposure_metering_mode = 0;
8771pub const tm_exposure_metering_mode_TM_EXPOSURE_METERING_MODE_AUTOMATIC: tm_exposure_metering_mode =
8772 1;
8773pub type tm_exposure_metering_mode = ::std::os::raw::c_int;
8774pub const tm_exposure_mask_mode_TM_EXPOSURE_MASK_CONSTANT: tm_exposure_mask_mode = 0;
8775pub const tm_exposure_mask_mode_TM_EXPOSURE_MASK_FAVOUR_CENTER: tm_exposure_mask_mode = 1;
8776pub type tm_exposure_mask_mode = ::std::os::raw::c_int;
8777#[repr(C)]
8778#[derive(Copy, Clone)]
8779pub struct tm_exposure_component_t {
8780 pub enabled: bool,
8781 pub _padding_33: [::std::os::raw::c_char; 3usize],
8782 pub metering_mode: tm_exposure_metering_mode,
8783 pub exposure_compensation: f32,
8784 pub mask_mode: tm_exposure_mask_mode,
8785 pub min_ev100: f32,
8786 pub max_ev100: f32,
8787 pub speed_up: f32,
8788 pub speed_down: f32,
8789}
8790#[repr(C)]
8791#[derive(Copy, Clone)]
8792pub struct tm_image_handle_t {
8793 _unused: [u8; 0],
8794}
8795pub const TM_TT_PROP__LIGHT_COMPONENT__TYPE: ::std::os::raw::c_int = 0;
8796pub const TM_TT_PROP__LIGHT_COMPONENT__COLOR: ::std::os::raw::c_int = 1;
8797pub const TM_TT_PROP__LIGHT_COMPONENT__INTENSITY: ::std::os::raw::c_int = 2;
8798pub const TM_TT_PROP__LIGHT_COMPONENT__SPOT_ANGLE_INNER: ::std::os::raw::c_int = 3;
8799pub const TM_TT_PROP__LIGHT_COMPONENT__SPOT_ANGLE_OUTER: ::std::os::raw::c_int = 4;
8800pub const TM_TT_PROP__LIGHT_COMPONENT__CAST_SHADOWS: ::std::os::raw::c_int = 5;
8801pub const TM_TT_PROP__LIGHT_COMPONENT__SHADOW_DEPTH_BIAS: ::std::os::raw::c_int = 6;
8802pub const TM_TT_PROP__LIGHT_COMPONENT__NUM_CASCADES: ::std::os::raw::c_int = 7;
8803pub const TM_TT_PROP__LIGHT_COMPONENT__SHADOW_DISTANCE: ::std::os::raw::c_int = 8;
8804pub const TM_TT_PROP__LIGHT_COMPONENT__UNIFORM_LOG_WEIGHT: ::std::os::raw::c_int = 9;
8805pub const TM_TT_PROP__LIGHT_COMPONENT__IBL_DIFFUSE: ::std::os::raw::c_int = 10;
8806pub const TM_TT_PROP__LIGHT_COMPONENT__IBL_SPECULAR: ::std::os::raw::c_int = 11;
8807pub const TM_TT_PROP__LIGHT_COMPONENT__AREA_EXTENT: ::std::os::raw::c_int = 12;
8808pub const TM_TT_PROP__LIGHT_COMPONENT__AREA_RADIUS: ::std::os::raw::c_int = 13;
8809pub type _bindgen_ty_108 = ::std::os::raw::c_int;
8810pub const TM_LIGHT_TYPE_POINT: ::std::os::raw::c_int = 0;
8811pub const TM_LIGHT_TYPE_SPOT: ::std::os::raw::c_int = 1;
8812pub const TM_LIGHT_TYPE_DIRECTIONAL: ::std::os::raw::c_int = 2;
8813pub const TM_LIGHT_TYPE_IBL: ::std::os::raw::c_int = 3;
8814pub const TM_LIGHT_TYPE_AREA_SPHERE: ::std::os::raw::c_int = 4;
8815pub const TM_LIGHT_TYPE_AREA_RECT: ::std::os::raw::c_int = 5;
8816pub const TM_LIGHT_TYPE_AREA_DISK: ::std::os::raw::c_int = 6;
8817pub type _bindgen_ty_109 = ::std::os::raw::c_int;
8818#[repr(C)]
8819#[derive(Copy, Clone)]
8820pub struct tm_light_component_t {
8821 pub type_: u32,
8822 pub color_rgb: tm_vec3_t,
8823 pub intensity: f32,
8824 pub spot_angle_inner: f32,
8825 pub spot_angle_outer: f32,
8826 pub extent: tm_vec2_t,
8827 pub radius: f32,
8828 pub cast_shadows: bool,
8829 pub _padding_55: [::std::os::raw::c_char; 7usize],
8830 pub shadow_depth_bias: f32,
8831 pub shadow_distance: f32,
8832 pub uniform_log_weight: f32,
8833 pub num_cascades: u8,
8834 pub _padding_60: [::std::os::raw::c_char; 3usize],
8835 pub ibl_diffuse: tm_light_component_t__bindgen_ty_1,
8836 pub ibl_specular: tm_light_component_t__bindgen_ty_2,
8837}
8838#[repr(C)]
8839#[derive(Copy, Clone)]
8840pub struct tm_light_component_t__bindgen_ty_1 {
8841 pub asset: tm_tt_id_t,
8842 pub version: u64,
8843}
8844#[repr(C)]
8845#[derive(Copy, Clone)]
8846pub struct tm_light_component_t__bindgen_ty_2 {
8847 pub asset: tm_tt_id_t,
8848 pub version: u64,
8849}
8850pub const TM_TT_PROP__VOLUME_COMPONENT__TYPE: ::std::os::raw::c_int = 0;
8851pub const TM_TT_PROP__VOLUME_COMPONENT__BLEND_DISTANCE: ::std::os::raw::c_int = 1;
8852pub const TM_TT_PROP__VOLUME_COMPONENT__SPHERE_RADIUS: ::std::os::raw::c_int = 2;
8853pub const TM_TT_PROP__VOLUME_COMPONENT__BOX_LOWERBOUND: ::std::os::raw::c_int = 3;
8854pub const TM_TT_PROP__VOLUME_COMPONENT__BOX_UPPERBOUND: ::std::os::raw::c_int = 4;
8855pub type _bindgen_ty_110 = ::std::os::raw::c_int;
8856pub const tm_tt_volume_type_TM_TT_VOLUME_TYPE_SPHERE: tm_tt_volume_type = 0;
8857pub const tm_tt_volume_type_TM_TT_VOLUME_TYPE_BOX: tm_tt_volume_type = 1;
8858pub const tm_tt_volume_type_TM_TT_VOLUME_TYPE_BOX_EXTENT: tm_tt_volume_type = 2;
8859pub type tm_tt_volume_type = ::std::os::raw::c_int;
8860pub const tm_volume_type_TM_VOLUME_TYPE_SPHERE: tm_volume_type = 0;
8861pub const tm_volume_type_TM_VOLUME_TYPE_BOX: tm_volume_type = 1;
8862pub type tm_volume_type = ::std::os::raw::c_int;
8863#[repr(C)]
8864#[derive(Copy, Clone)]
8865pub struct tm_volume_component_t {
8866 pub type_: tm_volume_type,
8867 pub blend_distance: f32,
8868 pub sphere_radius: f32,
8869 pub box_lower_bound: tm_vec3_t,
8870 pub box_upper_bound: tm_vec3_t,
8871}
8872#[repr(C)]
8873#[derive(Copy, Clone)]
8874pub struct tm_volume_component_api {
8875 pub contains: ::std::option::Option<
8876 unsafe extern "C" fn(
8877 inst: *const tm_volume_component_t,
8878 transform: *const tm_transform_t,
8879 points: *const tm_vec3_t,
8880 result: *mut bool,
8881 count: u32,
8882 ),
8883 >,
8884 pub contains_with_blend: ::std::option::Option<
8885 unsafe extern "C" fn(
8886 inst: *const tm_volume_component_t,
8887 transform: *const tm_transform_t,
8888 points: *const tm_vec3_t,
8889 result: *mut f32,
8890 count: u32,
8891 ),
8892 >,
8893 pub distance: ::std::option::Option<
8894 unsafe extern "C" fn(
8895 inst: *const tm_volume_component_t,
8896 transform: *const tm_transform_t,
8897 points: *const tm_vec3_t,
8898 result: *mut f32,
8899 count: u32,
8900 ),
8901 >,
8902 pub get_volume: ::std::option::Option<
8903 unsafe extern "C" fn(
8904 inst: *const tm_volume_component_t,
8905 transform: *const tm_transform_t,
8906 ) -> f32,
8907 >,
8908 pub sort_volumes_from_point: ::std::option::Option<
8909 unsafe extern "C" fn(
8910 ctx: *mut tm_entity_context_o,
8911 entities: *const tm_entity_t,
8912 entity_transforms: *const tm_transform_component_t,
8913 entity_indices: *const u32,
8914 num_objects: u32,
8915 point: tm_vec3_t,
8916 volume_result: *mut *mut u32,
8917 volume_weights: *mut *mut f32,
8918 global_result: *mut *mut u32,
8919 allocator: *mut tm_allocator_i,
8920 ),
8921 >,
8922}
8923pub const tm_dxc_output_format_TM_DXC_OUTPUT_FORMAT_DXIL: tm_dxc_output_format = 0;
8924pub const tm_dxc_output_format_TM_DXC_OUTPUT_FORMAT_SPIRV: tm_dxc_output_format = 1;
8925pub type tm_dxc_output_format = ::std::os::raw::c_int;
8926#[repr(C)]
8927#[derive(Copy, Clone)]
8928pub struct tm_dxc_shader_compiler_api {
8929 pub load: ::std::option::Option<
8930 unsafe extern "C" fn(dll_path: *const ::std::os::raw::c_char) -> bool,
8931 >,
8932 pub unload: ::std::option::Option<unsafe extern "C" fn()>,
8933 pub compile: ::std::option::Option<
8934 unsafe extern "C" fn(
8935 source: *const ::std::os::raw::c_char,
8936 entry_point: *const ::std::os::raw::c_char,
8937 stage: u32,
8938 output_format: tm_dxc_output_format,
8939 result: *mut tm_renderer_shader_blob_t,
8940 allocator: *mut tm_allocator_i,
8941 ) -> bool,
8942 >,
8943 pub preprocess: ::std::option::Option<
8944 unsafe extern "C" fn(
8945 source: *const ::std::os::raw::c_char,
8946 preprocessed_source_blob: *mut tm_renderer_shader_blob_t,
8947 allocator: *mut tm_allocator_i,
8948 ) -> bool,
8949 >,
8950}
8951pub const TM_TT_PROP__ASSET_BROWSER__SELECTION: ::std::os::raw::c_int = 0;
8952pub const TM_TT_PROP__ASSET_BROWSER__CURRENT_DIRECTORY: ::std::os::raw::c_int = 1;
8953pub const TM_TT_PROP__ASSET_BROWSER__FOCUS: ::std::os::raw::c_int = 2;
8954pub type _bindgen_ty_111 = ::std::os::raw::c_int;
8955pub const tm_asset_save_status_TM_ASSET_SAVE_STATUS__SAVED: tm_asset_save_status = 0;
8956pub const tm_asset_save_status_TM_ASSET_SAVE_STATUS__MODIFIED: tm_asset_save_status = 1;
8957pub const tm_asset_save_status_TM_ASSET_SAVE_STATUS__CREATED: tm_asset_save_status = 2;
8958pub type tm_asset_save_status = ::std::os::raw::c_int;
8959pub const tm_asset_save_file_tree_modification_type_TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__CREATED : tm_asset_save_file_tree_modification_type = 0 ;
8960pub const tm_asset_save_file_tree_modification_type_TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__DELETED : tm_asset_save_file_tree_modification_type = 1 ;
8961pub const tm_asset_save_file_tree_modification_type_TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__MOVED : tm_asset_save_file_tree_modification_type = 2 ;
8962pub const tm_asset_save_file_tree_modification_type_TM_ASSET_SAVE_FILE_TREE_MODIFICATION_TYPE__RENAMED : tm_asset_save_file_tree_modification_type = 3 ;
8963pub type tm_asset_save_file_tree_modification_type = ::std::os::raw::c_int;
8964#[repr(C)]
8965#[derive(Copy, Clone)]
8966pub struct tm_asset_save_file_tree_modification_t {
8967 pub item: tm_tt_id_t,
8968 pub type_: tm_asset_save_file_tree_modification_type,
8969 pub _padding_54: [::std::os::raw::c_char; 4usize],
8970 pub original_name: *const ::std::os::raw::c_char,
8971 pub original_directory: tm_tt_id_t,
8972}
8973#[repr(C)]
8974#[derive(Copy, Clone)]
8975pub struct tm_asset_save_o {
8976 _unused: [u8; 0],
8977}
8978#[repr(C)]
8979#[derive(Copy, Clone)]
8980pub struct tm_asset_save_i {
8981 pub inst: *mut tm_asset_save_o,
8982 pub can_save_individual_assets:
8983 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_asset_save_o) -> bool>,
8984 pub file_tree_modifications: ::std::option::Option<
8985 unsafe extern "C" fn(
8986 inst: *mut tm_asset_save_o,
8987 ta: *mut tm_temp_allocator_i,
8988 n: *mut u32,
8989 ) -> *mut tm_asset_save_file_tree_modification_t,
8990 >,
8991 pub status: ::std::option::Option<
8992 unsafe extern "C" fn(inst: *mut tm_asset_save_o, asset: tm_tt_id_t) -> tm_asset_save_status,
8993 >,
8994 pub save_asset:
8995 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_asset_save_o, asset: tm_tt_id_t)>,
8996 pub revert_asset: ::std::option::Option<
8997 unsafe extern "C" fn(
8998 inst: *mut tm_asset_save_o,
8999 asset: tm_tt_id_t,
9000 undo_scope: tm_tt_undo_scope_t,
9001 ),
9002 >,
9003 pub save_all: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_asset_save_o)>,
9004 pub save_all_except: ::std::option::Option<
9005 unsafe extern "C" fn(inst: *mut tm_asset_save_o, ignore: *mut tm_tt_id_t, num_ignore: u32),
9006 >,
9007 pub asset_root_path: ::std::option::Option<
9008 unsafe extern "C" fn(inst: *const tm_asset_save_o) -> *const ::std::os::raw::c_char,
9009 >,
9010}
9011#[repr(C)]
9012#[derive(Copy, Clone)]
9013pub struct tm_asset_browser_o {
9014 _unused: [u8; 0],
9015}
9016#[repr(C)]
9017#[derive(Copy, Clone)]
9018pub struct tm_asset_browser_create_asset_i {
9019 pub inst: *mut tm_asset_browser_create_asset_o,
9020 pub menu_name: *const ::std::os::raw::c_char,
9021 pub asset_name: *const ::std::os::raw::c_char,
9022 pub create: ::std::option::Option<
9023 unsafe extern "C" fn(
9024 inst: *mut tm_asset_browser_create_asset_o,
9025 tt: *mut tm_the_truth_o,
9026 undo_scope: tm_tt_undo_scope_t,
9027 ) -> tm_tt_id_t,
9028 >,
9029}
9030#[repr(C)]
9031#[derive(Copy, Clone)]
9032pub struct tm_asset_browser_open_asset_api {
9033 pub inst: *mut tm_asset_browser_open_asset_o,
9034 pub open: ::std::option::Option<
9035 unsafe extern "C" fn(
9036 inst: *mut tm_asset_browser_open_asset_o,
9037 ui: *mut tm_ui_o,
9038 tab: *mut tm_tab_i,
9039 object: tm_tt_id_t,
9040 ),
9041 >,
9042 pub can_open: ::std::option::Option<
9043 unsafe extern "C" fn(
9044 inst: *mut tm_asset_browser_open_asset_o,
9045 ui: *mut tm_ui_o,
9046 object: tm_tt_id_t,
9047 ) -> bool,
9048 >,
9049}
9050#[repr(C)]
9051#[derive(Copy, Clone)]
9052pub struct tm_asset_browser_add_asset_api {
9053 pub inst: *mut tm_asset_browser_add_asset_o,
9054 pub current_directory: ::std::option::Option<
9055 unsafe extern "C" fn(
9056 inst: *mut tm_asset_browser_add_asset_o,
9057 ui: *mut tm_ui_o,
9058 ) -> tm_tt_id_t,
9059 >,
9060 pub exists: ::std::option::Option<
9061 unsafe extern "C" fn(
9062 inst: *mut tm_asset_browser_add_asset_o,
9063 directory: tm_tt_id_t,
9064 name: *const ::std::os::raw::c_char,
9065 ) -> tm_tt_id_t,
9066 >,
9067 pub add: ::std::option::Option<
9068 unsafe extern "C" fn(
9069 inst: *mut tm_asset_browser_add_asset_o,
9070 directory: tm_tt_id_t,
9071 object: tm_tt_id_t,
9072 name: *const ::std::os::raw::c_char,
9073 undo_scope: tm_tt_undo_scope_t,
9074 select: bool,
9075 ui: *mut tm_ui_o,
9076 ),
9077 >,
9078 pub add_directory: ::std::option::Option<
9079 unsafe extern "C" fn(
9080 inst: *mut tm_asset_browser_add_asset_o,
9081 parent_directory: tm_tt_id_t,
9082 name: *const ::std::os::raw::c_char,
9083 undo_scope: tm_tt_undo_scope_t,
9084 select: bool,
9085 ui: *mut tm_ui_o,
9086 ) -> tm_tt_id_t,
9087 >,
9088}
9089#[repr(C)]
9090#[derive(Copy, Clone)]
9091pub struct tm_asset_browser_select_asset_api {
9092 pub inst: *mut tm_asset_browser_select_asset_o,
9093 pub select_asset: ::std::option::Option<
9094 unsafe extern "C" fn(
9095 inst: *mut tm_asset_browser_select_asset_o,
9096 tab: *mut tm_tab_i,
9097 ui: *mut tm_ui_o,
9098 asset: tm_tt_id_t,
9099 ),
9100 >,
9101 pub find_asset: ::std::option::Option<
9102 unsafe extern "C" fn(
9103 inst: *mut tm_asset_browser_select_asset_o,
9104 ui: *mut tm_ui_o,
9105 asset: tm_tt_id_t,
9106 ),
9107 >,
9108}
9109#[repr(C)]
9110#[derive(Copy, Clone)]
9111pub struct tm_asset_browser_custom_menu_item_t {
9112 pub ud: *mut ::std::os::raw::c_void,
9113 pub menu_item: ::std::option::Option<
9114 unsafe extern "C" fn(
9115 item: *mut tm_ui_menu_item_t,
9116 ud: *mut ::std::os::raw::c_void,
9117 ab: *mut tm_asset_browser_o,
9118 tt: *mut tm_the_truth_o,
9119 asset_browser_object: tm_tt_id_t,
9120 ),
9121 >,
9122 pub menu_select: ::std::option::Option<
9123 unsafe extern "C" fn(
9124 ud: *mut ::std::os::raw::c_void,
9125 ab: *mut tm_asset_browser_o,
9126 ui: *mut tm_ui_o,
9127 tt: *mut tm_the_truth_o,
9128 asset_browser_object: tm_tt_id_t,
9129 undo_stack: *mut tm_undo_stack_i,
9130 ),
9131 >,
9132}
9133#[repr(C)]
9134#[derive(Copy, Clone)]
9135pub struct tm_asset_browser_config_t {
9136 pub tt: *mut tm_the_truth_o,
9137 pub asset_browser: tm_tt_id_t,
9138 pub undo_stack: *mut tm_undo_stack_i,
9139 pub tab: *mut tm_tab_i,
9140 pub open_ud: *mut ::std::os::raw::c_void,
9141 pub open: ::std::option::Option<
9142 unsafe extern "C" fn(
9143 open_ud: *mut ::std::os::raw::c_void,
9144 ui: *mut tm_ui_o,
9145 tab: *mut tm_tab_i,
9146 asset: tm_tt_id_t,
9147 ),
9148 >,
9149 pub num_custom_menu_items: u32,
9150 pub _padding_227: [::std::os::raw::c_char; 4usize],
9151 pub custom_menu_items: *const tm_asset_browser_custom_menu_item_t,
9152 pub save_interface: *mut tm_asset_save_i,
9153}
9154#[repr(C)]
9155#[derive(Copy, Clone)]
9156pub struct tm_asset_browser_ui_res_t {
9157 pub focus_changed: bool,
9158}
9159#[repr(C)]
9160#[derive(Copy, Clone)]
9161pub struct tm_asset_browser_api {
9162 pub create_asset_browser: ::std::option::Option<
9163 unsafe extern "C" fn(
9164 allocator: *mut tm_allocator_i,
9165 config: *const tm_asset_browser_config_t,
9166 ) -> *mut tm_asset_browser_o,
9167 >,
9168 pub destroy_asset_browser:
9169 ::std::option::Option<unsafe extern "C" fn(asset_browser: *mut tm_asset_browser_o)>,
9170 pub ui: ::std::option::Option<
9171 unsafe extern "C" fn(
9172 inst: *mut tm_asset_browser_o,
9173 asset_root: tm_tt_id_t,
9174 ui: *mut tm_ui_o,
9175 style: *const tm_ui_style_t,
9176 rect: tm_rect_t,
9177 tab_id: u64,
9178 ) -> tm_asset_browser_ui_res_t,
9179 >,
9180 pub set_new_truth: ::std::option::Option<
9181 unsafe extern "C" fn(
9182 inst: *mut tm_asset_browser_o,
9183 tt: *mut tm_the_truth_o,
9184 asset_browser: tm_tt_id_t,
9185 ),
9186 >,
9187 pub menu: ::std::option::Option<
9188 unsafe extern "C" fn(
9189 inst: *mut tm_asset_browser_o,
9190 asset_root: tm_tt_id_t,
9191 ui: *mut tm_ui_o,
9192 style: *const tm_ui_style_t,
9193 pos: tm_vec2_t,
9194 ),
9195 >,
9196 pub process_dropped_os_files: ::std::option::Option<
9197 unsafe extern "C" fn(
9198 inst: *mut tm_asset_browser_o,
9199 ui: *mut tm_ui_o,
9200 asset_root: tm_tt_id_t,
9201 files: *mut *mut ::std::os::raw::c_char,
9202 num_files: u32,
9203 ),
9204 >,
9205 pub focused_object:
9206 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_asset_browser_o) -> tm_tt_id_t>,
9207 pub selected_objects: ::std::option::Option<
9208 unsafe extern "C" fn(
9209 inst: *mut tm_asset_browser_o,
9210 ta: *mut tm_temp_allocator_i,
9211 ) -> *const tm_tt_id_t,
9212 >,
9213}
9214#[repr(C)]
9215#[derive(Copy, Clone)]
9216pub struct tm_profiler_view_o {
9217 _unused: [u8; 0],
9218}
9219#[repr(C)]
9220#[derive(Copy, Clone)]
9221pub struct tm_profiler_view_api {
9222 pub create_profiler_view: ::std::option::Option<
9223 unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_profiler_view_o,
9224 >,
9225 pub destroy_profiler_view:
9226 ::std::option::Option<unsafe extern "C" fn(profiler_view: *mut tm_profiler_view_o)>,
9227 pub ui: ::std::option::Option<
9228 unsafe extern "C" fn(
9229 inst: *mut tm_profiler_view_o,
9230 ui: *mut tm_ui_o,
9231 style: *const tm_ui_style_t,
9232 rect: tm_rect_t,
9233 tab_id: u64,
9234 ),
9235 >,
9236 pub start_recording: ::std::option::Option<
9237 unsafe extern "C" fn(inst: *mut tm_profiler_view_o, with_history: bool),
9238 >,
9239 pub stop_recording: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_profiler_view_o)>,
9240 pub is_recording:
9241 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_profiler_view_o) -> bool>,
9242 pub menu: ::std::option::Option<
9243 unsafe extern "C" fn(
9244 inst: *mut tm_profiler_view_o,
9245 ui: *mut tm_ui_o,
9246 style: *const tm_ui_style_t,
9247 pos: tm_vec2_t,
9248 ),
9249 >,
9250}
9251#[repr(C)]
9252#[derive(Copy, Clone)]
9253pub struct tm_properties_view_o {
9254 _unused: [u8; 0],
9255}
9256#[repr(C)]
9257#[derive(Copy, Clone)]
9258pub struct tm_properties_ui_info_t {
9259 pub last_hovered_focusable_control: u64,
9260 pub last_hovered_context_menu_rect: tm_rect_t,
9261}
9262pub const tm_properties_metric_TM_PROPERTIES_METRIC_LABEL_WIDTH: tm_properties_metric = 0;
9263pub const tm_properties_metric_TM_PROPERTIES_METRIC_MARGIN: tm_properties_metric = 1;
9264pub const tm_properties_metric_TM_PROPERTIES_METRIC_ITEM_HEIGHT: tm_properties_metric = 2;
9265pub const tm_properties_metric_TM_PROPERTIES_METRIC_INDENT: tm_properties_metric = 3;
9266pub const tm_properties_metric_TM_PROPERTIES_METRIC_EDIT_WIDTH: tm_properties_metric = 4;
9267pub const tm_properties_metric_TM_PROPERTIES_METRIC_SUBOBJECT_LABEL_MARGIN: tm_properties_metric =
9268 5;
9269pub const tm_properties_metric_TM_PROPERTIES_METRIC_CHECKBOX_CONTROL_WIDTH: tm_properties_metric =
9270 6;
9271pub const tm_properties_metric_TM_PROPERTIES_METRIC_GROUP_RECT_PADDING: tm_properties_metric = 7;
9272pub const tm_properties_metric_TM_PROPERTIES_METRIC_GROUP_LABEL_LEFT_MARGIN: tm_properties_metric =
9273 8;
9274pub const tm_properties_metric_TM_PROPERTIES_METRIC_MENU_WIDTH: tm_properties_metric = 9;
9275pub const tm_properties_metric_TM_PROPERTIES_METRIC_COLOR_PICKER_RGB_LABEL_SIZE:
9276 tm_properties_metric = 10;
9277pub const tm_properties_metric_TM_PROPERTIES_METRIC_COLOR_PICKER_INPUT_SIZE: tm_properties_metric =
9278 11;
9279pub const tm_properties_metric_TM_PROPERTIES_METRIC_COLOR_PICKER_HSV_LABEL_SIZE:
9280 tm_properties_metric = 12;
9281pub const tm_properties_metric_TM_PROPERTIES_METRIC_COLOR_PICKER_SLIDER_MARGIN:
9282 tm_properties_metric = 13;
9283pub const tm_properties_metric_TM_PROPERTIES_METRIC_COLOR_PICKER_SLIDER_KNOB_SIZE:
9284 tm_properties_metric = 14;
9285pub const tm_properties_metric_TM_PROPERTIES_METRIC_NUM: tm_properties_metric = 15;
9286pub type tm_properties_metric = ::std::os::raw::c_int;
9287#[repr(C)]
9288#[derive(Copy, Clone)]
9289pub struct tm_properties_ui_args_t {
9290 pub pv: *mut tm_properties_view_o,
9291 pub ui: *mut tm_ui_o,
9292 pub uistyle: *mut tm_ui_style_t,
9293 pub tab: *mut tm_tab_i,
9294 pub tt: *mut tm_the_truth_o,
9295 pub asset_root: tm_tt_id_t,
9296 pub undo_stack: *mut tm_undo_stack_i,
9297 pub metrics: *mut f32,
9298 pub last_undo_scope: tm_tt_undo_scope_t,
9299}
9300#[repr(C)]
9301#[derive(Copy, Clone)]
9302pub struct tm_properties_float_display_converter_i {
9303 pub inst: *mut ::std::os::raw::c_void,
9304 pub model_to_display: ::std::option::Option<
9305 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: f32) -> f32,
9306 >,
9307 pub display_to_model: ::std::option::Option<
9308 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: f32) -> f32,
9309 >,
9310 pub get_spinner_settings: ::std::option::Option<
9311 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, spinner: *mut tm_ui_spinner_t),
9312 >,
9313}
9314#[repr(C)]
9315#[derive(Copy, Clone)]
9316pub struct tm_properties_uint32_display_converter_i {
9317 pub inst: *mut ::std::os::raw::c_void,
9318 pub model_to_display: ::std::option::Option<
9319 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: u32) -> u32,
9320 >,
9321 pub display_to_model: ::std::option::Option<
9322 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, v: u32) -> u32,
9323 >,
9324}
9325#[repr(C)]
9326#[derive(Copy, Clone)]
9327pub struct tm_propeties_reference_picker_args_t {
9328 pub tags: *const u64,
9329 pub excludes: *const tm_tt_id_t,
9330 pub num_tags: u32,
9331 pub num_excludes: u32,
9332}
9333#[repr(C)]
9334#[derive(Copy, Clone)]
9335pub struct tm_properties_aspect_i {
9336 pub custom_ui: ::std::option::Option<
9337 unsafe extern "C" fn(
9338 args: *mut tm_properties_ui_args_t,
9339 item_rect: tm_rect_t,
9340 object: tm_tt_id_t,
9341 indent: u32,
9342 ) -> f32,
9343 >,
9344 pub prototype_asset_picker_type_name:
9345 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o, o: tm_tt_id_t) -> u64>,
9346 pub custom_subobject_ui: ::std::option::Option<
9347 unsafe extern "C" fn(
9348 args: *mut tm_properties_ui_args_t,
9349 item_rect: tm_rect_t,
9350 name: *const ::std::os::raw::c_char,
9351 tooltip: *const ::std::os::raw::c_char,
9352 subobject: tm_tt_id_t,
9353 indent: u32,
9354 ) -> f32,
9355 >,
9356 pub custom_child_ui: ::std::option::Option<
9357 unsafe extern "C" fn(
9358 args: *mut tm_properties_ui_args_t,
9359 item_rect: tm_rect_t,
9360 parent: tm_tt_id_t,
9361 child: tm_tt_id_t,
9362 indent: u32,
9363 ) -> f32,
9364 >,
9365 pub get_type_display_name:
9366 ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
9367 pub get_display_name: ::std::option::Option<
9368 unsafe extern "C" fn(
9369 tt: *const tm_the_truth_o,
9370 object: tm_tt_id_t,
9371 buffer: *mut ::std::os::raw::c_char,
9372 size: u32,
9373 ),
9374 >,
9375}
9376pub type tm_tt_prop_aspect__properties__asset_picker = *mut ::std::os::raw::c_char;
9377pub type tm_tt_prop_aspect__properties__custom_ui = ::std::option::Option<
9378 unsafe extern "C" fn(
9379 args: *mut tm_properties_ui_args_t,
9380 item_rect: tm_rect_t,
9381 name: *const ::std::os::raw::c_char,
9382 tooltip: *const ::std::os::raw::c_char,
9383 object: tm_tt_id_t,
9384 indent: u32,
9385 property: u32,
9386 ) -> f32,
9387>;
9388pub type tm_validate_aspect_i = ::std::option::Option<
9389 unsafe extern "C" fn(
9390 tt: *mut tm_the_truth_o,
9391 o: tm_tt_id_t,
9392 property: u32,
9393 value: *const ::std::os::raw::c_void,
9394 ) -> bool,
9395>;
9396#[repr(C)]
9397#[derive(Copy, Clone)]
9398pub struct tm_properties_view_config_t {
9399 pub tt: *mut tm_the_truth_o,
9400 pub undo_stack: *mut tm_undo_stack_i,
9401}
9402#[repr(C)]
9403#[derive(Copy, Clone)]
9404pub struct tm_properties_float_slider_t {
9405 pub min: f32,
9406 pub max: f32,
9407 pub step: f32,
9408 pub show_edit_box: bool,
9409 pub _padding_310: [::std::os::raw::c_char; 3usize],
9410 pub edit_min: f32,
9411 pub edit_max: f32,
9412 pub converter: *mut tm_properties_float_display_converter_i,
9413}
9414#[repr(C)]
9415#[derive(Copy, Clone)]
9416pub struct tm_properties_view_api {
9417 pub create_properties_view: ::std::option::Option<
9418 unsafe extern "C" fn(
9419 allocator: *mut tm_allocator_i,
9420 config: *const tm_properties_view_config_t,
9421 ) -> *mut tm_properties_view_o,
9422 >,
9423 pub destroy_properties_view:
9424 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_properties_view_o)>,
9425 pub set_object: ::std::option::Option<
9426 unsafe extern "C" fn(inst: *mut tm_properties_view_o, object: tm_tt_id_t) -> bool,
9427 >,
9428 pub set_object_with_mask: ::std::option::Option<
9429 unsafe extern "C" fn(
9430 inst: *mut tm_properties_view_o,
9431 object: tm_tt_id_t,
9432 property_mask: u64,
9433 ) -> bool,
9434 >,
9435 pub set_objects: ::std::option::Option<
9436 unsafe extern "C" fn(
9437 inst: *mut tm_properties_view_o,
9438 objects: *const tm_tt_id_t,
9439 n: u32,
9440 ) -> bool,
9441 >,
9442 pub objects: ::std::option::Option<
9443 unsafe extern "C" fn(inst: *mut tm_properties_view_o) -> *const tm_tt_id_t,
9444 >,
9445 pub ui: ::std::option::Option<
9446 unsafe extern "C" fn(
9447 inst: *mut tm_properties_view_o,
9448 asset_root: tm_tt_id_t,
9449 ui: *mut tm_ui_o,
9450 style: *const tm_ui_style_t,
9451 rect: tm_rect_t,
9452 tab: *mut tm_tab_i,
9453 ),
9454 >,
9455 pub ui_info: ::std::option::Option<
9456 unsafe extern "C" fn(inst: *mut tm_properties_view_o) -> *mut tm_properties_ui_info_t,
9457 >,
9458 pub metrics:
9459 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_properties_view_o) -> *mut f32>,
9460 pub get_type_display_name: ::std::option::Option<
9461 unsafe extern "C" fn(
9462 tt: *const tm_the_truth_o,
9463 object_type: u64,
9464 buffer: *mut ::std::os::raw::c_char,
9465 size: u32,
9466 ),
9467 >,
9468 pub get_display_name: ::std::option::Option<
9469 unsafe extern "C" fn(
9470 tt: *const tm_the_truth_o,
9471 object: tm_tt_id_t,
9472 buffer: *mut ::std::os::raw::c_char,
9473 size: u32,
9474 ),
9475 >,
9476 pub ui_object: ::std::option::Option<
9477 unsafe extern "C" fn(
9478 args: *mut tm_properties_ui_args_t,
9479 item_rect: tm_rect_t,
9480 object: tm_tt_id_t,
9481 indent: u32,
9482 ) -> f32,
9483 >,
9484 pub ui_object_default: ::std::option::Option<
9485 unsafe extern "C" fn(
9486 args: *mut tm_properties_ui_args_t,
9487 item_rect: tm_rect_t,
9488 object: tm_tt_id_t,
9489 indent: u32,
9490 ) -> f32,
9491 >,
9492 pub ui_property: ::std::option::Option<
9493 unsafe extern "C" fn(
9494 args: *mut tm_properties_ui_args_t,
9495 item_rect: tm_rect_t,
9496 object: tm_tt_id_t,
9497 indent: u32,
9498 property: u32,
9499 ) -> f32,
9500 >,
9501 pub ui_property_with_name: ::std::option::Option<
9502 unsafe extern "C" fn(
9503 args: *mut tm_properties_ui_args_t,
9504 item_rect: tm_rect_t,
9505 name: *const ::std::os::raw::c_char,
9506 tooltip: *const ::std::os::raw::c_char,
9507 object: tm_tt_id_t,
9508 indent: u32,
9509 property: u32,
9510 ) -> f32,
9511 >,
9512 pub ui_property_default: ::std::option::Option<
9513 unsafe extern "C" fn(
9514 args: *mut tm_properties_ui_args_t,
9515 item_rect: tm_rect_t,
9516 object: tm_tt_id_t,
9517 indent: u32,
9518 property: u32,
9519 ) -> f32,
9520 >,
9521 pub ui_property_default_with_name: ::std::option::Option<
9522 unsafe extern "C" fn(
9523 args: *mut tm_properties_ui_args_t,
9524 item_rect: tm_rect_t,
9525 name: *const ::std::os::raw::c_char,
9526 tooltip: *const ::std::os::raw::c_char,
9527 object: tm_tt_id_t,
9528 indent: u32,
9529 property: u32,
9530 ) -> f32,
9531 >,
9532 pub ui_tree_item: ::std::option::Option<
9533 unsafe extern "C" fn(
9534 args: *mut tm_properties_ui_args_t,
9535 key: u64,
9536 rect: tm_rect_t,
9537 indent: u32,
9538 expanded_default: bool,
9539 tooltip: *const ::std::os::raw::c_char,
9540 ) -> bool,
9541 >,
9542 pub ui_group: ::std::option::Option<
9543 unsafe extern "C" fn(
9544 args: *mut tm_properties_ui_args_t,
9545 item_rect: tm_rect_t,
9546 name: *const ::std::os::raw::c_char,
9547 tooltip: *const ::std::os::raw::c_char,
9548 object: tm_tt_id_t,
9549 indent: u32,
9550 expanded_default: bool,
9551 is_expanded: *mut bool,
9552 ) -> f32,
9553 >,
9554 pub show_subobject_menu: ::std::option::Option<
9555 unsafe extern "C" fn(
9556 tt: *mut tm_the_truth_o,
9557 undo_stack: *mut tm_undo_stack_i,
9558 ui: *mut tm_ui_o,
9559 uistyle: *mut tm_ui_style_t,
9560 object: tm_tt_id_t,
9561 property: u32,
9562 sub: tm_tt_id_t,
9563 pos: tm_vec2_t,
9564 ) -> tm_tt_undo_scope_t,
9565 >,
9566 pub begin_context_menu_scope:
9567 ::std::option::Option<unsafe extern "C" fn(pv: *mut tm_properties_view_o, rect: tm_rect_t)>,
9568 pub end_context_menu_scope: ::std::option::Option<
9569 unsafe extern "C" fn(
9570 pv: *mut tm_properties_view_o,
9571 out_id: *mut u64,
9572 out_text: *mut *mut ::std::os::raw::c_char,
9573 ),
9574 >,
9575 pub selected_context_menu_item: ::std::option::Option<
9576 unsafe extern "C" fn(
9577 pv: *mut tm_properties_view_o,
9578 out_id: *mut u64,
9579 out_text: *mut *mut ::std::os::raw::c_char,
9580 ),
9581 >,
9582 pub add_context_menu_items: ::std::option::Option<
9583 unsafe extern "C" fn(
9584 pv: *mut tm_properties_view_o,
9585 items: *const tm_ui_menu_item_t,
9586 num_items: u32,
9587 ),
9588 >,
9589 pub context_menu:
9590 ::std::option::Option<unsafe extern "C" fn(args: *mut tm_properties_ui_args_t)>,
9591 pub ui_bool: ::std::option::Option<
9592 unsafe extern "C" fn(
9593 args: *mut tm_properties_ui_args_t,
9594 item_rect: tm_rect_t,
9595 name: *const ::std::os::raw::c_char,
9596 tooltip: *const ::std::os::raw::c_char,
9597 object: tm_tt_id_t,
9598 property: u32,
9599 ) -> f32,
9600 >,
9601 pub ui_uint32: ::std::option::Option<
9602 unsafe extern "C" fn(
9603 args: *mut tm_properties_ui_args_t,
9604 item_rect: tm_rect_t,
9605 name: *const ::std::os::raw::c_char,
9606 tooltip: *const ::std::os::raw::c_char,
9607 object: tm_tt_id_t,
9608 property: u32,
9609 converter: *mut tm_properties_uint32_display_converter_i,
9610 ) -> f32,
9611 >,
9612 pub ui_uint64: ::std::option::Option<
9613 unsafe extern "C" fn(
9614 args: *mut tm_properties_ui_args_t,
9615 item_rect: tm_rect_t,
9616 name: *const ::std::os::raw::c_char,
9617 tooltip: *const ::std::os::raw::c_char,
9618 object: tm_tt_id_t,
9619 property: u32,
9620 ) -> f32,
9621 >,
9622 pub ui_float: ::std::option::Option<
9623 unsafe extern "C" fn(
9624 args: *mut tm_properties_ui_args_t,
9625 item_rect: tm_rect_t,
9626 name: *const ::std::os::raw::c_char,
9627 tooltip: *const ::std::os::raw::c_char,
9628 object: tm_tt_id_t,
9629 property: u32,
9630 converter: *const tm_properties_float_display_converter_i,
9631 ) -> f32,
9632 >,
9633 pub ui_double: ::std::option::Option<
9634 unsafe extern "C" fn(
9635 args: *mut tm_properties_ui_args_t,
9636 item_rect: tm_rect_t,
9637 name: *const ::std::os::raw::c_char,
9638 tooltip: *const ::std::os::raw::c_char,
9639 object: tm_tt_id_t,
9640 property: u32,
9641 ) -> f32,
9642 >,
9643 pub ui_string: ::std::option::Option<
9644 unsafe extern "C" fn(
9645 args: *mut tm_properties_ui_args_t,
9646 item_rect: tm_rect_t,
9647 name: *const ::std::os::raw::c_char,
9648 tooltip: *const ::std::os::raw::c_char,
9649 object: tm_tt_id_t,
9650 property: u32,
9651 ) -> f32,
9652 >,
9653 pub ui_reference: ::std::option::Option<
9654 unsafe extern "C" fn(
9655 args: *mut tm_properties_ui_args_t,
9656 item_rect: tm_rect_t,
9657 name: *const ::std::os::raw::c_char,
9658 tooltip: *const ::std::os::raw::c_char,
9659 object: tm_tt_id_t,
9660 property: u32,
9661 ) -> f32,
9662 >,
9663 pub ui_reference_args: ::std::option::Option<
9664 unsafe extern "C" fn(
9665 args: *mut tm_properties_ui_args_t,
9666 item_rect: tm_rect_t,
9667 name: *const ::std::os::raw::c_char,
9668 tooltip: *const ::std::os::raw::c_char,
9669 object: tm_tt_id_t,
9670 property: u32,
9671 picker_args: *const tm_propeties_reference_picker_args_t,
9672 ) -> f32,
9673 >,
9674 pub ui_subobject: ::std::option::Option<
9675 unsafe extern "C" fn(
9676 args: *mut tm_properties_ui_args_t,
9677 item_rect: tm_rect_t,
9678 name: *const ::std::os::raw::c_char,
9679 tooltip: *const ::std::os::raw::c_char,
9680 object: tm_tt_id_t,
9681 property: u32,
9682 indent: u32,
9683 expanded_by_default: bool,
9684 ) -> f32,
9685 >,
9686 pub ui_reference_set: ::std::option::Option<
9687 unsafe extern "C" fn(
9688 args: *mut tm_properties_ui_args_t,
9689 item_rect: tm_rect_t,
9690 name: *const ::std::os::raw::c_char,
9691 tooltip: *const ::std::os::raw::c_char,
9692 object: tm_tt_id_t,
9693 property: u32,
9694 indent: u32,
9695 ) -> f32,
9696 >,
9697 pub ui_subobject_set: ::std::option::Option<
9698 unsafe extern "C" fn(
9699 args: *mut tm_properties_ui_args_t,
9700 item_rect: tm_rect_t,
9701 name: *const ::std::os::raw::c_char,
9702 tooltip: *const ::std::os::raw::c_char,
9703 object: tm_tt_id_t,
9704 property: u32,
9705 indent: u32,
9706 ) -> f32,
9707 >,
9708 pub ui_subobject_set_item_header: ::std::option::Option<
9709 unsafe extern "C" fn(
9710 args: *mut tm_properties_ui_args_t,
9711 item_rect: tm_rect_t,
9712 object: tm_tt_id_t,
9713 property: u32,
9714 sub: tm_tt_id_t,
9715 indent: u32,
9716 expanded_by_default: bool,
9717 ) -> bool,
9718 >,
9719 pub ui_subobject_set_item: ::std::option::Option<
9720 unsafe extern "C" fn(
9721 args: *mut tm_properties_ui_args_t,
9722 item_rect: tm_rect_t,
9723 object: tm_tt_id_t,
9724 property: u32,
9725 sub: tm_tt_id_t,
9726 indent: u32,
9727 expanded_by_default: bool,
9728 ) -> f32,
9729 >,
9730 pub ui_subobject_direct: ::std::option::Option<
9731 unsafe extern "C" fn(
9732 args: *mut tm_properties_ui_args_t,
9733 item_rect: tm_rect_t,
9734 name: *const ::std::os::raw::c_char,
9735 tooltip: *const ::std::os::raw::c_char,
9736 parent: tm_tt_id_t,
9737 subobject: tm_tt_id_t,
9738 indent: u32,
9739 expanded_by_default: bool,
9740 ) -> f32,
9741 >,
9742 pub ui_uint32_popup_picker: ::std::option::Option<
9743 unsafe extern "C" fn(
9744 args: *mut tm_properties_ui_args_t,
9745 item_rect: tm_rect_t,
9746 name: *const ::std::os::raw::c_char,
9747 tooltip: *const ::std::os::raw::c_char,
9748 object: tm_tt_id_t,
9749 property: u32,
9750 items: *mut *const ::std::os::raw::c_char,
9751 num_items: u32,
9752 ) -> f32,
9753 >,
9754 pub ui_uint64_popup_picker: ::std::option::Option<
9755 unsafe extern "C" fn(
9756 args: *mut tm_properties_ui_args_t,
9757 item_rect: tm_rect_t,
9758 name: *const ::std::os::raw::c_char,
9759 tooltip: *const ::std::os::raw::c_char,
9760 object: tm_tt_id_t,
9761 property: u32,
9762 items: *mut *const ::std::os::raw::c_char,
9763 items_values: *const u64,
9764 num_items: u32,
9765 ) -> f32,
9766 >,
9767 pub ui_reference_popup_picker: ::std::option::Option<
9768 unsafe extern "C" fn(
9769 args: *mut tm_properties_ui_args_t,
9770 item_rect: tm_rect_t,
9771 name: *const ::std::os::raw::c_char,
9772 tooltip: *const ::std::os::raw::c_char,
9773 object: tm_tt_id_t,
9774 property: u32,
9775 items: *mut *const ::std::os::raw::c_char,
9776 items_references: *const tm_tt_id_t,
9777 num_items: u32,
9778 ) -> f32,
9779 >,
9780 pub ui_string_popup_picker: ::std::option::Option<
9781 unsafe extern "C" fn(
9782 args: *mut tm_properties_ui_args_t,
9783 item_rect: tm_rect_t,
9784 name: *const ::std::os::raw::c_char,
9785 tooltip: *const ::std::os::raw::c_char,
9786 object: tm_tt_id_t,
9787 property: u32,
9788 items: *mut *const ::std::os::raw::c_char,
9789 num_items: u32,
9790 ) -> f32,
9791 >,
9792 pub ui_uint32_dropdown: ::std::option::Option<
9793 unsafe extern "C" fn(
9794 args: *mut tm_properties_ui_args_t,
9795 item_rect: tm_rect_t,
9796 name: *const ::std::os::raw::c_char,
9797 tooltip: *const ::std::os::raw::c_char,
9798 object: tm_tt_id_t,
9799 property: u32,
9800 items: *mut *const ::std::os::raw::c_char,
9801 item_tooltips: *mut *const ::std::os::raw::c_char,
9802 items_uint32: *const u32,
9803 num_items: u32,
9804 ) -> f32,
9805 >,
9806 pub ui_uint64_dropdown: ::std::option::Option<
9807 unsafe extern "C" fn(
9808 args: *mut tm_properties_ui_args_t,
9809 item_rect: tm_rect_t,
9810 name: *const ::std::os::raw::c_char,
9811 tooltip: *const ::std::os::raw::c_char,
9812 object: tm_tt_id_t,
9813 property: u32,
9814 items: *mut *const ::std::os::raw::c_char,
9815 item_tooltips: *mut *const ::std::os::raw::c_char,
9816 items_uint64: *const u64,
9817 num_items: u32,
9818 ) -> f32,
9819 >,
9820 pub ui_float_slider: ::std::option::Option<
9821 unsafe extern "C" fn(
9822 args: *mut tm_properties_ui_args_t,
9823 item_rect: tm_rect_t,
9824 name: *const ::std::os::raw::c_char,
9825 tooltip: *const ::std::os::raw::c_char,
9826 object: tm_tt_id_t,
9827 property: u32,
9828 slider: *const tm_properties_float_slider_t,
9829 ) -> f32,
9830 >,
9831 pub ui_vec2: ::std::option::Option<
9832 unsafe extern "C" fn(
9833 args: *mut tm_properties_ui_args_t,
9834 item_rect: tm_rect_t,
9835 name: *const ::std::os::raw::c_char,
9836 tooltip: *const ::std::os::raw::c_char,
9837 position: tm_tt_id_t,
9838 ) -> f32,
9839 >,
9840 pub ui_vec3: ::std::option::Option<
9841 unsafe extern "C" fn(
9842 args: *mut tm_properties_ui_args_t,
9843 item_rect: tm_rect_t,
9844 name: *const ::std::os::raw::c_char,
9845 tooltip: *const ::std::os::raw::c_char,
9846 position: tm_tt_id_t,
9847 ) -> f32,
9848 >,
9849 pub ui_vec4: ::std::option::Option<
9850 unsafe extern "C" fn(
9851 args: *mut tm_properties_ui_args_t,
9852 item_rect: tm_rect_t,
9853 name: *const ::std::os::raw::c_char,
9854 tooltip: *const ::std::os::raw::c_char,
9855 position: tm_tt_id_t,
9856 ) -> f32,
9857 >,
9858 pub ui_color_picker: ::std::option::Option<
9859 unsafe extern "C" fn(
9860 args: *mut tm_properties_ui_args_t,
9861 item_rect: tm_rect_t,
9862 name: *const ::std::os::raw::c_char,
9863 tooltip: *const ::std::os::raw::c_char,
9864 color: tm_tt_id_t,
9865 ) -> f32,
9866 >,
9867 pub ui_rotation: ::std::option::Option<
9868 unsafe extern "C" fn(
9869 args: *mut tm_properties_ui_args_t,
9870 item_rect: tm_rect_t,
9871 name: *const ::std::os::raw::c_char,
9872 tooltip: *const ::std::os::raw::c_char,
9873 rotation: tm_tt_id_t,
9874 ) -> f32,
9875 >,
9876 pub ui_visibility_flags: ::std::option::Option<
9877 unsafe extern "C" fn(
9878 args: *mut tm_properties_ui_args_t,
9879 item_rect: tm_rect_t,
9880 name: *const ::std::os::raw::c_char,
9881 tooltip: *const ::std::os::raw::c_char,
9882 object: tm_tt_id_t,
9883 property: u32,
9884 indent: u32,
9885 ) -> f32,
9886 >,
9887 pub ui_label: ::std::option::Option<
9888 unsafe extern "C" fn(
9889 args: *mut tm_properties_ui_args_t,
9890 item_rect: tm_rect_t,
9891 name: *const ::std::os::raw::c_char,
9892 tooltip: *const ::std::os::raw::c_char,
9893 ) -> f32,
9894 >,
9895 pub ui_horizontal_line: ::std::option::Option<
9896 unsafe extern "C" fn(args: *mut tm_properties_ui_args_t, item_rect: tm_rect_t) -> f32,
9897 >,
9898 pub ui_static_text: ::std::option::Option<
9899 unsafe extern "C" fn(
9900 args: *mut tm_properties_ui_args_t,
9901 item_rect: tm_rect_t,
9902 name: *const ::std::os::raw::c_char,
9903 tooltip: *const ::std::os::raw::c_char,
9904 text: *const ::std::os::raw::c_char,
9905 ) -> f32,
9906 >,
9907 pub ui_prototype: ::std::option::Option<
9908 unsafe extern "C" fn(
9909 args: *mut tm_properties_ui_args_t,
9910 item_rect: tm_rect_t,
9911 name: *const ::std::os::raw::c_char,
9912 tooltip: *const ::std::os::raw::c_char,
9913 parent: tm_tt_id_t,
9914 property: u32,
9915 subobject: tm_tt_id_t,
9916 pick_type_hash: u64,
9917 ) -> f32,
9918 >,
9919 pub ui_open_path: ::std::option::Option<
9920 unsafe extern "C" fn(
9921 args: *mut tm_properties_ui_args_t,
9922 item_rect: tm_rect_t,
9923 name: *const ::std::os::raw::c_char,
9924 tooltip: *const ::std::os::raw::c_char,
9925 object: tm_tt_id_t,
9926 property: u32,
9927 extensions: *const ::std::os::raw::c_char,
9928 description: *const ::std::os::raw::c_char,
9929 ) -> f32,
9930 >,
9931 pub ui_save_path: ::std::option::Option<
9932 unsafe extern "C" fn(
9933 args: *mut tm_properties_ui_args_t,
9934 item_rect: tm_rect_t,
9935 name: *const ::std::os::raw::c_char,
9936 tooltip: *const ::std::os::raw::c_char,
9937 object: tm_tt_id_t,
9938 property: u32,
9939 extensions: *const ::std::os::raw::c_char,
9940 description: *const ::std::os::raw::c_char,
9941 ) -> f32,
9942 >,
9943 pub ui_color_button: ::std::option::Option<
9944 unsafe extern "C" fn(
9945 args: *mut tm_properties_ui_args_t,
9946 color_button: *const tm_ui_button_t,
9947 color: tm_tt_id_t,
9948 ) -> bool,
9949 >,
9950 pub ui_expanded_color_picker: ::std::option::Option<
9951 unsafe extern "C" fn(
9952 args: *mut tm_properties_ui_args_t,
9953 item_rect: tm_rect_t,
9954 color: tm_tt_id_t,
9955 ) -> f32,
9956 >,
9957 pub internal__copy_expanded_state: ::std::option::Option<
9958 unsafe extern "C" fn(
9959 pv: *mut tm_properties_view_o,
9960 from_key: tm_tt_id_t,
9961 to_key: tm_tt_id_t,
9962 ),
9963 >,
9964 pub ui_multi_object: ::std::option::Option<
9965 unsafe extern "C" fn(
9966 args: *mut tm_properties_ui_args_t,
9967 item_rect: tm_rect_t,
9968 parent_proxy: tm_tt_id_t,
9969 property: u32,
9970 objects: *const tm_tt_id_t,
9971 n: u32,
9972 indent: u32,
9973 ) -> f32,
9974 >,
9975 pub proxy_to_objects: ::std::option::Option<
9976 unsafe extern "C" fn(pv: *mut tm_properties_view_o, proxy: tm_tt_id_t) -> *const tm_tt_id_t,
9977 >,
9978 pub multi_proxy: ::std::option::Option<
9979 unsafe extern "C" fn(
9980 pv: *mut tm_properties_view_o,
9981 parent_proxy: tm_tt_id_t,
9982 property: u32,
9983 objects: *const tm_tt_id_t,
9984 n: u32,
9985 ) -> tm_tt_id_t,
9986 >,
9987 pub get_property_value: ::std::option::Option<
9988 unsafe extern "C" fn(
9989 pv: *mut tm_properties_view_o,
9990 object: tm_tt_id_t,
9991 property: u32,
9992 ta: *mut tm_temp_allocator_i,
9993 ) -> *const tm_tt_prop_value_t,
9994 >,
9995 pub was_changed: ::std::option::Option<
9996 unsafe extern "C" fn(
9997 args: *mut tm_properties_ui_args_t,
9998 object: tm_tt_id_t,
9999 property: u32,
10000 ) -> bool,
10001 >,
10002 pub popup_pick_with_categories: ::std::option::Option<
10003 unsafe extern "C" fn(
10004 args: *mut tm_properties_ui_args_t,
10005 ui_id: u64,
10006 pos: tm_vec2_t,
10007 strings: *const *const ::std::os::raw::c_char,
10008 categories: *const *const ::std::os::raw::c_char,
10009 num_strings: u32,
10010 pick_index: *mut u32,
10011 ) -> bool,
10012 >,
10013}
10014#[repr(C)]
10015#[derive(Copy, Clone)]
10016pub struct tm_tree_view_o {
10017 _unused: [u8; 0],
10018}
10019#[repr(C)]
10020#[derive(Copy, Clone)]
10021pub struct tm_tree_view_children_t {
10022 pub children: *const tm_tt_id_t,
10023 pub child_count: u32,
10024 pub property: u32,
10025 pub aspect_reference_type: u32,
10026 pub _padding_29: [::std::os::raw::c_char; 4usize],
10027}
10028#[repr(C)]
10029#[derive(Copy, Clone)]
10030pub struct tm_tree_view_aspect_i {
10031 pub setup: ::std::option::Option<
10032 unsafe extern "C" fn(
10033 state: *mut ::std::os::raw::c_void,
10034 tree: *mut tm_tree_view_o,
10035 tt: *const tm_the_truth_o,
10036 root: tm_tt_id_t,
10037 ),
10038 >,
10039 pub context_menu: ::std::option::Option<
10040 unsafe extern "C" fn(
10041 state: *mut ::std::os::raw::c_void,
10042 tree: *mut tm_tree_view_o,
10043 tt: *mut tm_the_truth_o,
10044 undo_stack: *mut tm_undo_stack_i,
10045 ui: *mut tm_ui_o,
10046 uistyle: *const tm_ui_style_t,
10047 pos: tm_vec2_t,
10048 parent: *mut tm_tree_view_parent_t,
10049 object: tm_tt_id_t,
10050 object_property: u32,
10051 ),
10052 >,
10053 pub compute_node_properties: ::std::option::Option<
10054 unsafe extern "C" fn(
10055 state: *mut ::std::os::raw::c_void,
10056 tree: *mut tm_tree_view_o,
10057 tt: *mut tm_the_truth_o,
10058 parent: *const tm_tree_view_parent_t,
10059 object: tm_tt_id_t,
10060 can_expand: *mut bool,
10061 can_select: *mut bool,
10062 can_drop: *mut bool,
10063 can_drag: *mut bool,
10064 expanded_key: *mut u64,
10065 ta: *mut tm_temp_allocator_i,
10066 ),
10067 >,
10068 pub ui: ::std::option::Option<
10069 unsafe extern "C" fn(
10070 state: *mut ::std::os::raw::c_void,
10071 tree: *mut tm_tree_view_o,
10072 tt: *mut tm_the_truth_o,
10073 ui: *mut tm_ui_o,
10074 uistyle: *mut tm_ui_style_t,
10075 object: tm_tt_id_t,
10076 tree_has_focus: bool,
10077 res: *mut tm_ui_tree_item_res_t,
10078 can_drop: bool,
10079 ),
10080 >,
10081 pub icon: ::std::option::Option<
10082 unsafe extern "C" fn(
10083 state: *mut ::std::os::raw::c_void,
10084 tree: *mut tm_tree_view_o,
10085 tt: *mut tm_the_truth_o,
10086 ui: *mut tm_ui_o,
10087 uistyle: *const tm_ui_style_t,
10088 object: tm_tt_id_t,
10089 rect: tm_rect_t,
10090 res: *mut tm_ui_tree_item_res_t,
10091 ) -> tm_rect_t,
10092 >,
10093 pub additional_elements: ::std::option::Option<
10094 unsafe extern "C" fn(
10095 state: *mut ::std::os::raw::c_void,
10096 tree: *mut tm_tree_view_o,
10097 tt: *mut tm_the_truth_o,
10098 ui: *mut tm_ui_o,
10099 uistyle: *const tm_ui_style_t,
10100 object: tm_tt_id_t,
10101 parent: *mut tm_tree_view_parent_t,
10102 rect: tm_rect_t,
10103 res: *mut tm_ui_tree_item_res_t,
10104 metrics: *mut tm_ui_tree_item_metrics_t,
10105 ),
10106 >,
10107 pub display_name: ::std::option::Option<
10108 unsafe extern "C" fn(
10109 state: *mut ::std::os::raw::c_void,
10110 tree: *mut tm_tree_view_o,
10111 tt: *mut tm_the_truth_o,
10112 object: tm_tt_id_t,
10113 buffer: *mut ::std::os::raw::c_char,
10114 buffer_size: u32,
10115 ),
10116 >,
10117 pub tooltip: ::std::option::Option<
10118 unsafe extern "C" fn(
10119 state: *mut ::std::os::raw::c_void,
10120 tree: *mut tm_tree_view_o,
10121 tt: *mut tm_the_truth_o,
10122 ui: *mut tm_ui_o,
10123 uistyle: *const tm_ui_style_t,
10124 object: tm_tt_id_t,
10125 ),
10126 >,
10127 pub get_node_children: ::std::option::Option<
10128 unsafe extern "C" fn(
10129 state: *mut ::std::os::raw::c_void,
10130 tree: *mut tm_tree_view_o,
10131 tt: *mut tm_the_truth_o,
10132 parent: *mut tm_tree_view_parent_t,
10133 object: tm_tt_id_t,
10134 ta: *mut tm_temp_allocator_i,
10135 ) -> *mut tm_tree_view_children_t,
10136 >,
10137}
10138#[repr(C)]
10139#[derive(Copy, Clone)]
10140pub struct tm_tree_view_setup_t {
10141 pub allocator: *mut tm_allocator_i,
10142 pub undo_stack: *mut tm_undo_stack_i,
10143 pub tt: *mut tm_the_truth_o,
10144 pub keyboard_interaction: ::std::option::Option<
10145 unsafe extern "C" fn(
10146 state: *mut ::std::os::raw::c_void,
10147 tree: *mut tm_tree_view_o,
10148 ui: *mut tm_ui_o,
10149 is_first_responder: bool,
10150 ),
10151 >,
10152 pub toolbar: ::std::option::Option<
10153 unsafe extern "C" fn(
10154 state: *mut ::std::os::raw::c_void,
10155 tree: *mut tm_tree_view_o,
10156 tt: *mut tm_the_truth_o,
10157 ui: *mut tm_ui_o,
10158 uistyle: *const tm_ui_style_t,
10159 rect: tm_rect_t,
10160 is_first_responder: bool,
10161 ) -> tm_rect_t,
10162 >,
10163 pub root: tm_tt_id_t,
10164 pub cache_tree_heights: bool,
10165 pub _padding_103: [::std::os::raw::c_char; 7usize],
10166 pub state: *mut ::std::os::raw::c_void,
10167}
10168#[repr(C)]
10169#[derive(Copy, Clone)]
10170pub struct tm_tree_view_ui_res_t {
10171 pub focus_changed: bool,
10172 pub _padding_114: [::std::os::raw::c_char; 7usize],
10173 pub focus: tm_tt_id_t,
10174 pub selection_changed: bool,
10175 pub focus_on_tree_background: bool,
10176 pub _padding_124: [::std::os::raw::c_char; 6usize],
10177}
10178#[repr(C)]
10179#[derive(Copy, Clone)]
10180pub struct tm_tree_view_parent_t {
10181 pub id: tm_tt_id_t,
10182 pub property: u32,
10183 pub aspect_reference_type: u32,
10184 pub parent: *mut tm_tree_view_parent_t,
10185 pub pr: u32,
10186 pub _padding_148: [::std::os::raw::c_char; 4usize],
10187 pub expanded_key: u64,
10188}
10189#[repr(C)]
10190#[derive(Copy, Clone)]
10191pub struct tm_tree_view_api {
10192 pub create_tree_view: ::std::option::Option<
10193 unsafe extern "C" fn(setup: *const tm_tree_view_setup_t) -> *mut tm_tree_view_o,
10194 >,
10195 pub destroy_tree_view: ::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o)>,
10196 pub ui: ::std::option::Option<
10197 unsafe extern "C" fn(
10198 tree: *mut tm_tree_view_o,
10199 ui: *mut tm_ui_o,
10200 style: *const tm_ui_style_t,
10201 rect: tm_rect_t,
10202 ) -> tm_tree_view_ui_res_t,
10203 >,
10204 pub property_group_object: ::std::option::Option<
10205 unsafe extern "C" fn(object: tm_tt_id_t, property: u32) -> tm_tt_id_t,
10206 >,
10207 pub set_expanded: ::std::option::Option<
10208 unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t, expanded: bool),
10209 >,
10210 pub is_expanded: ::std::option::Option<
10211 unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t) -> bool,
10212 >,
10213 pub select:
10214 ::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t)>,
10215 pub add_to_selection:
10216 ::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t)>,
10217 pub scroll_to_object:
10218 ::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t)>,
10219 pub deselect_all: ::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o)>,
10220 pub rename:
10221 ::std::option::Option<unsafe extern "C" fn(tree: *mut tm_tree_view_o, object: tm_tt_id_t)>,
10222 pub get_sorted_subobjects: ::std::option::Option<
10223 unsafe extern "C" fn(
10224 tree: *const tm_tree_view_o,
10225 object: tm_tt_id_t,
10226 property: u32,
10227 ta: *mut tm_temp_allocator_i,
10228 ) -> *const tm_tt_id_t,
10229 >,
10230 pub selected_objects: ::std::option::Option<
10231 unsafe extern "C" fn(
10232 inst: *mut tm_tree_view_o,
10233 ta: *mut tm_temp_allocator_i,
10234 ) -> *const tm_tt_id_t,
10235 >,
10236 pub get_root_object:
10237 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tree_view_o) -> tm_tt_id_t>,
10238 pub set_root_object:
10239 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tree_view_o, object: tm_tt_id_t)>,
10240 pub add_default_menu_items: ::std::option::Option<
10241 unsafe extern "C" fn(
10242 tree: *mut tm_tree_view_o,
10243 parent: *mut tm_tree_view_parent_t,
10244 object: tm_tt_id_t,
10245 object_property: u32,
10246 id_base: u64,
10247 items: *mut *mut tm_ui_menu_item_t,
10248 ta: *mut tm_temp_allocator_i,
10249 ),
10250 >,
10251 pub execute_menu_item: ::std::option::Option<
10252 unsafe extern "C" fn(
10253 tree: *mut tm_tree_view_o,
10254 parent: *mut tm_tree_view_parent_t,
10255 object: tm_tt_id_t,
10256 object_property: u32,
10257 id_base: u64,
10258 res: *const tm_ui_menu_result_t,
10259 ),
10260 >,
10261 pub set_empty_text: ::std::option::Option<
10262 unsafe extern "C" fn(tree: *mut tm_tree_view_o, text: *const ::std::os::raw::c_char),
10263 >,
10264 pub filter_nodes: ::std::option::Option<
10265 unsafe extern "C" fn(
10266 tree: *mut tm_tree_view_o,
10267 node_type: u64,
10268 text: *const ::std::os::raw::c_char,
10269 case_unsensitive: bool,
10270 ),
10271 >,
10272}
10273#[repr(C)]
10274#[derive(Copy, Clone)]
10275pub struct tm_ui_popup_item_picker_t {
10276 pub id: u64,
10277 pub pos: tm_vec2_t,
10278 pub search_text: *mut ::std::os::raw::c_char,
10279 pub search_text_len: u32,
10280 pub _padding_21: [::std::os::raw::c_char; 4usize],
10281 pub strings: *const *const ::std::os::raw::c_char,
10282 pub num_strings: u32,
10283 pub _padding_26: [::std::os::raw::c_char; 4usize],
10284}
10285#[repr(C)]
10286#[derive(Copy, Clone)]
10287pub struct tm_ui_category_popup_item_picker_t {
10288 pub id: u64,
10289 pub pos: tm_vec2_t,
10290 pub search_text: *mut ::std::os::raw::c_char,
10291 pub search_text_len: u32,
10292 pub _padding_36: [::std::os::raw::c_char; 4usize],
10293 pub strings: *const *const ::std::os::raw::c_char,
10294 pub categories: *const *const ::std::os::raw::c_char,
10295 pub num_strings: u32,
10296 pub _padding_42: [::std::os::raw::c_char; 4usize],
10297 pub expanded: *mut tm_set_t,
10298}
10299#[repr(C)]
10300#[derive(Copy, Clone)]
10301pub struct tm_ui_popup_asset_picker_t {
10302 pub id: u64,
10303 pub pos: tm_vec2_t,
10304 pub search_text: *mut ::std::os::raw::c_char,
10305 pub search_text_len: u32,
10306 pub _padding_54: [::std::os::raw::c_char; 4usize],
10307 pub tt: *mut tm_the_truth_o,
10308 pub asset_root: tm_tt_id_t,
10309 pub type_hash: u64,
10310}
10311#[repr(C)]
10312#[derive(Copy, Clone)]
10313pub struct tm_ui_popup_item_picker_api {
10314 pub pick: ::std::option::Option<
10315 unsafe extern "C" fn(
10316 ui: *mut tm_ui_o,
10317 uistyle_in: *const tm_ui_style_t,
10318 c: *const tm_ui_popup_item_picker_t,
10319 picked: *mut u32,
10320 ) -> bool,
10321 >,
10322 pub pick_with_categories: ::std::option::Option<
10323 unsafe extern "C" fn(
10324 ui: *mut tm_ui_o,
10325 uistyle_in: *const tm_ui_style_t,
10326 c: *const tm_ui_category_popup_item_picker_t,
10327 picked: *mut u32,
10328 ) -> bool,
10329 >,
10330 pub pick_asset: ::std::option::Option<
10331 unsafe extern "C" fn(
10332 ui: *mut tm_ui_o,
10333 uistyle_in: *const tm_ui_style_t,
10334 c: *const tm_ui_popup_asset_picker_t,
10335 asset: *mut tm_tt_id_t,
10336 ) -> bool,
10337 >,
10338}
10339pub const TM_TT_PROP__CAMERA_COMPONENT__NEAR_PLANE: ::std::os::raw::c_int = 0;
10340pub const TM_TT_PROP__CAMERA_COMPONENT__FAR_PLANE: ::std::os::raw::c_int = 1;
10341pub const TM_TT_PROP__CAMERA_COMPONENT__VERTICAL_FOV: ::std::os::raw::c_int = 2;
10342pub const TM_TT_PROP__CAMERA_COMPONENT__TRANSLATION_SPEED: ::std::os::raw::c_int = 3;
10343pub const TM_TT_PROP__CAMERA_COMPONENT__ROTATION_SPEED: ::std::os::raw::c_int = 4;
10344pub const TM_TT_PROP__CAMERA_COMPONENT__TRANSLATION_DAMPING: ::std::os::raw::c_int = 5;
10345pub type _bindgen_ty_112 = ::std::os::raw::c_int;
10346#[repr(C)]
10347#[derive(Copy, Clone)]
10348pub struct tm_camera_component_t {
10349 pub near_plane: f32,
10350 pub far_plane: f32,
10351 pub vertical_fov: f32,
10352 pub translation_speed: f32,
10353 pub rotation_speed: f32,
10354 pub translation_damping: f32,
10355}
10356pub const TM_TT_PROP__ENTITY__NAME: ::std::os::raw::c_int = 0;
10357pub const TM_TT_PROP__ENTITY__COMPONENTS: ::std::os::raw::c_int = 1;
10358pub const TM_TT_PROP__ENTITY__CHILDREN: ::std::os::raw::c_int = 2;
10359pub type _bindgen_ty_113 = ::std::os::raw::c_int;
10360#[repr(C)]
10361#[derive(Copy, Clone)]
10362pub struct tm_component_mask_t {
10363 pub bits: [u64; 16usize],
10364}
10365#[repr(C)]
10366#[derive(Copy, Clone)]
10367pub struct tm_entity_array_t {
10368 pub entities: *mut tm_entity_t,
10369 pub n: u32,
10370 pub _padding_79: [::std::os::raw::c_char; 4usize],
10371}
10372#[repr(C)]
10373pub struct tm_entity_set_t {
10374 pub total_entities: u32,
10375 pub num_arrays: u32,
10376 pub arrays: __IncompleteArrayField<tm_entity_array_t>,
10377}
10378#[repr(C)]
10379#[derive(Copy, Clone)]
10380pub struct tm_component_i {
10381 pub name: *const ::std::os::raw::c_char,
10382 pub bytes: u32,
10383 pub _padding_103: [::std::os::raw::c_char; 4usize],
10384 pub default_data: *const ::std::os::raw::c_void,
10385 pub manager: *mut tm_component_manager_o,
10386 pub components_created:
10387 ::std::option::Option<unsafe extern "C" fn(manager: *mut tm_component_manager_o)>,
10388 pub load_asset: ::std::option::Option<
10389 unsafe extern "C" fn(
10390 manager: *mut tm_component_manager_o,
10391 e: tm_entity_t,
10392 data: *mut ::std::os::raw::c_void,
10393 tt: *const tm_the_truth_o,
10394 asset: tm_tt_id_t,
10395 ) -> bool,
10396 >,
10397 pub asset_loaded: ::std::option::Option<
10398 unsafe extern "C" fn(
10399 manager: *mut tm_component_manager_o,
10400 e: tm_entity_t,
10401 data: *mut ::std::os::raw::c_void,
10402 ),
10403 >,
10404 pub asset_loaded_sort_order: f64,
10405 pub asset_reloaded: ::std::option::Option<
10406 unsafe extern "C" fn(
10407 manager: *mut tm_component_manager_o,
10408 e: tm_entity_t,
10409 data: *mut ::std::os::raw::c_void,
10410 ),
10411 >,
10412 pub add: ::std::option::Option<
10413 unsafe extern "C" fn(
10414 manager: *mut tm_component_manager_o,
10415 e: tm_entity_t,
10416 data: *mut ::std::os::raw::c_void,
10417 ),
10418 >,
10419 pub remove: ::std::option::Option<
10420 unsafe extern "C" fn(
10421 manager: *mut tm_component_manager_o,
10422 e: tm_entity_t,
10423 data: *mut ::std::os::raw::c_void,
10424 ),
10425 >,
10426 pub destroy: ::std::option::Option<unsafe extern "C" fn(manager: *mut tm_component_manager_o)>,
10427 pub debug_draw: ::std::option::Option<
10428 unsafe extern "C" fn(
10429 manager: *mut tm_component_manager_o,
10430 e: *mut tm_entity_t,
10431 data: *mut *const ::std::os::raw::c_void,
10432 n: u32,
10433 pbuf: *mut tm_primitive_drawer_buffer_t,
10434 vbuf: *mut tm_primitive_drawer_buffer_t,
10435 allocator: *mut tm_allocator_i,
10436 camera: *const tm_camera_t,
10437 viewport: tm_rect_t,
10438 ),
10439 >,
10440 pub debug_draw_settings: tm_tt_id_t,
10441}
10442#[repr(C)]
10443#[derive(Copy, Clone)]
10444pub struct tm_engine_update_array_t {
10445 pub entities: *mut tm_entity_t,
10446 pub components: [*mut ::std::os::raw::c_void; 16usize],
10447 pub component_bytes: [u32; 16usize],
10448 pub n: u32,
10449 pub _padding_171: [::std::os::raw::c_char; 4usize],
10450}
10451#[repr(C)]
10452#[derive(Copy, Clone)]
10453pub struct tm_entity_blackboard_value_t {
10454 pub id: u64,
10455 pub __bindgen_anon_1: tm_entity_blackboard_value_t__bindgen_ty_1,
10456}
10457#[repr(C)]
10458#[derive(Copy, Clone)]
10459pub union tm_entity_blackboard_value_t__bindgen_ty_1 {
10460 pub double_value: f64,
10461 pub ptr_value: *mut ::std::os::raw::c_void,
10462 _bindgen_union_align: u64,
10463}
10464#[repr(C)]
10465pub struct tm_engine_update_set_t {
10466 pub engine: *const tm_engine_i,
10467 pub total_entities: u32,
10468 pub _padding_194: [::std::os::raw::c_char; 4usize],
10469 pub blackboard_start: *const tm_entity_blackboard_value_t,
10470 pub blackboard_end: *const tm_entity_blackboard_value_t,
10471 pub num_arrays: u32,
10472 pub _padding_198: [::std::os::raw::c_char; 4usize],
10473 pub arrays: __IncompleteArrayField<tm_engine_update_array_t>,
10474}
10475#[repr(C)]
10476#[derive(Copy, Clone)]
10477pub struct tm_engine_o {
10478 _unused: [u8; 0],
10479}
10480#[repr(C)]
10481#[derive(Copy, Clone)]
10482pub struct tm_engine_i {
10483 pub name: *const ::std::os::raw::c_char,
10484 pub disabled: bool,
10485 pub _padding_215: [::std::os::raw::c_char; 3usize],
10486 pub num_components: u32,
10487 pub components: [u32; 16usize],
10488 pub excludes: [bool; 16usize],
10489 pub writes: [bool; 16usize],
10490 pub inst: *mut tm_engine_o,
10491 pub update: ::std::option::Option<
10492 unsafe extern "C" fn(inst: *mut tm_engine_o, data: *mut tm_engine_update_set_t),
10493 >,
10494 pub filter: ::std::option::Option<
10495 unsafe extern "C" fn(
10496 inst: *mut tm_engine_o,
10497 components: *const u32,
10498 num_components: u32,
10499 mask: *const tm_component_mask_t,
10500 ) -> bool,
10501 >,
10502}
10503#[repr(C)]
10504#[derive(Copy, Clone)]
10505pub struct tm_entity_system_o {
10506 _unused: [u8; 0],
10507}
10508#[repr(C)]
10509#[derive(Copy, Clone)]
10510pub struct tm_entity_system_i {
10511 pub name: *const ::std::os::raw::c_char,
10512 pub disabled: bool,
10513 pub _padding_285: [::std::os::raw::c_char; 7usize],
10514 pub inst: *mut tm_entity_system_o,
10515 pub update: ::std::option::Option<
10516 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, inst: *mut tm_entity_system_o),
10517 >,
10518}
10519pub type tm_entity_simulation_i =
10520 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>;
10521pub type tm_entity_create_component_i =
10522 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>;
10523#[repr(C)]
10524#[derive(Copy, Clone)]
10525pub struct tm_entity_hot_reload_component_i {
10526 pub name_hash: u64,
10527 pub reload: ::std::option::Option<
10528 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, component: *mut tm_component_i),
10529 >,
10530}
10531#[repr(C)]
10532#[derive(Copy, Clone)]
10533pub struct tm_entity_hot_reload_system_i {
10534 pub name_hash: u64,
10535 pub reload: ::std::option::Option<
10536 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, system: *mut tm_entity_system_i),
10537 >,
10538}
10539pub const tm_entity_create_components_TM_ENTITY_CREATE_COMPONENTS_NONE:
10540 tm_entity_create_components = 0;
10541pub const tm_entity_create_components_TM_ENTITY_CREATE_COMPONENTS_ALL: tm_entity_create_components =
10542 1;
10543pub const tm_entity_create_components_TM_ENTITY_CREATE_COMPONENTS_EDITOR:
10544 tm_entity_create_components = 2;
10545pub type tm_entity_create_components = ::std::os::raw::c_int;
10546#[repr(C)]
10547#[derive(Copy, Clone)]
10548pub struct tm_entity_listener_i {
10549 pub man: *mut tm_component_manager_o,
10550 pub notify_e: tm_entity_t,
10551 pub notify_c: u32,
10552 pub _padding_344: [::std::os::raw::c_char; 4usize],
10553 pub notify: ::std::option::Option<
10554 unsafe extern "C" fn(
10555 ctx: *mut tm_entity_context_o,
10556 man: *mut tm_component_manager_o,
10557 e: tm_entity_t,
10558 c: *mut ::std::os::raw::c_void,
10559 notify_e: tm_entity_t,
10560 notify_c: *mut ::std::os::raw::c_void,
10561 ),
10562 >,
10563}
10564#[repr(C)]
10565#[derive(Copy, Clone)]
10566pub struct tm_entity_event_listener_i {
10567 pub inst: *mut ::std::os::raw::c_void,
10568 pub user_data: *mut ::std::os::raw::c_void,
10569 pub notify: ::std::option::Option<
10570 unsafe extern "C" fn(
10571 inst: *mut ::std::os::raw::c_void,
10572 ctx: *mut tm_entity_context_o,
10573 event: u64,
10574 e: tm_entity_t,
10575 event_data: *const ::std::os::raw::c_void,
10576 event_data_bytes: u32,
10577 user_data: *mut ::std::os::raw::c_void,
10578 ),
10579 >,
10580}
10581#[repr(C)]
10582#[derive(Copy, Clone)]
10583pub struct tm_entity_api {
10584 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
10585 pub create_context: ::std::option::Option<
10586 unsafe extern "C" fn(
10587 a: *mut tm_allocator_i,
10588 tt: *mut tm_the_truth_o,
10589 create_components: tm_entity_create_components,
10590 ) -> *mut tm_entity_context_o,
10591 >,
10592 pub destroy_context: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
10593 pub register_component: ::std::option::Option<
10594 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, com: *const tm_component_i) -> u32,
10595 >,
10596 pub num_components:
10597 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> u32>,
10598 pub component: ::std::option::Option<
10599 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, i: u32) -> *const tm_component_i,
10600 >,
10601 pub register_engine: ::std::option::Option<
10602 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, engine: *const tm_engine_i),
10603 >,
10604 pub registered_engines: ::std::option::Option<
10605 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, count: *mut u32) -> *mut tm_engine_i,
10606 >,
10607 pub register_system: ::std::option::Option<
10608 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, system: *const tm_entity_system_i),
10609 >,
10610 pub registered_systems: ::std::option::Option<
10611 unsafe extern "C" fn(
10612 ctx: *mut tm_entity_context_o,
10613 count: *mut u32,
10614 ) -> *mut tm_entity_system_i,
10615 >,
10616 pub create_child_allocator: ::std::option::Option<
10617 unsafe extern "C" fn(
10618 ctx: *mut tm_entity_context_o,
10619 name: *const ::std::os::raw::c_char,
10620 a: *mut tm_allocator_i,
10621 ),
10622 >,
10623 pub destroy_child_allocator: ::std::option::Option<
10624 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, a: *mut tm_allocator_i),
10625 >,
10626 pub the_truth: ::std::option::Option<
10627 unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> *mut tm_the_truth_o,
10628 >,
10629 pub unset_asset_root:
10630 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
10631 pub create_entity:
10632 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> tm_entity_t>,
10633 pub batch_create_entity: ::std::option::Option<
10634 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, es: *mut tm_entity_t, n: u32),
10635 >,
10636 pub create_entity_from_mask: ::std::option::Option<
10637 unsafe extern "C" fn(
10638 ctx: *mut tm_entity_context_o,
10639 mask: *const tm_component_mask_t,
10640 ) -> tm_entity_t,
10641 >,
10642 pub batch_create_entity_from_mask: ::std::option::Option<
10643 unsafe extern "C" fn(
10644 ctx: *mut tm_entity_context_o,
10645 mask: *const tm_component_mask_t,
10646 es: *mut tm_entity_t,
10647 n: u32,
10648 ),
10649 >,
10650 pub create_entity_from_asset: ::std::option::Option<
10651 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, asset: tm_tt_id_t) -> tm_entity_t,
10652 >,
10653 pub batch_create_entity_from_asset: ::std::option::Option<
10654 unsafe extern "C" fn(
10655 ctx: *mut tm_entity_context_o,
10656 asset: tm_tt_id_t,
10657 es: *mut tm_entity_t,
10658 n: u32,
10659 ),
10660 >,
10661 pub destroy_entity:
10662 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t)>,
10663 pub batch_destroy_entity: ::std::option::Option<
10664 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, es: *const tm_entity_t, n: u32),
10665 >,
10666 pub destroy_all_entities:
10667 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
10668 pub queue_destroy_entities: ::std::option::Option<
10669 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, es: *const tm_entity_t, n: u32),
10670 >,
10671 pub is_alive: ::std::option::Option<
10672 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t) -> bool,
10673 >,
10674 pub num_entities:
10675 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> u32>,
10676 pub entities_matching: ::std::option::Option<
10677 unsafe extern "C" fn(
10678 ctx: *mut tm_entity_context_o,
10679 mask: *const tm_component_mask_t,
10680 ta: *mut tm_temp_allocator_i,
10681 ) -> *mut tm_entity_set_t,
10682 >,
10683 pub flatten_set: ::std::option::Option<
10684 unsafe extern "C" fn(entities: *mut tm_entity_t, set: *const tm_entity_set_t),
10685 >,
10686 pub lookup_component: ::std::option::Option<
10687 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, name_hash: u64) -> u32,
10688 >,
10689 pub component_manager: ::std::option::Option<
10690 unsafe extern "C" fn(
10691 ctx: *mut tm_entity_context_o,
10692 component: u32,
10693 ) -> *mut tm_component_manager_o,
10694 >,
10695 pub create_component_mask: ::std::option::Option<
10696 unsafe extern "C" fn(components: *const u32, n: u32) -> tm_component_mask_t,
10697 >,
10698 pub component_mask: ::std::option::Option<
10699 unsafe extern "C" fn(
10700 ctx: *mut tm_entity_context_o,
10701 e: tm_entity_t,
10702 ) -> *const tm_component_mask_t,
10703 >,
10704 pub add_component: ::std::option::Option<
10705 unsafe extern "C" fn(
10706 ctx: *mut tm_entity_context_o,
10707 e: tm_entity_t,
10708 component: u32,
10709 ) -> *mut ::std::os::raw::c_void,
10710 >,
10711 pub get_component: ::std::option::Option<
10712 unsafe extern "C" fn(
10713 ctx: *mut tm_entity_context_o,
10714 e: tm_entity_t,
10715 component: u32,
10716 ) -> *mut ::std::os::raw::c_void,
10717 >,
10718 pub get_component_by_hash: ::std::option::Option<
10719 unsafe extern "C" fn(
10720 ctx: *mut tm_entity_context_o,
10721 e: tm_entity_t,
10722 name_hash: u64,
10723 ) -> *mut ::std::os::raw::c_void,
10724 >,
10725 pub remove_component: ::std::option::Option<
10726 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t, component: u32),
10727 >,
10728 pub call_remove_on_all_entities:
10729 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o, component: u32)>,
10730 pub parent: ::std::option::Option<
10731 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t) -> tm_entity_t,
10732 >,
10733 pub asset: ::std::option::Option<
10734 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t) -> tm_tt_id_t,
10735 >,
10736 pub find_entity_from_asset: ::std::option::Option<
10737 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, asset: tm_tt_id_t) -> tm_entity_t,
10738 >,
10739 pub resolve_asset_reference: ::std::option::Option<
10740 unsafe extern "C" fn(
10741 ctx: *mut tm_entity_context_o,
10742 e: tm_entity_t,
10743 asset: tm_tt_id_t,
10744 ) -> tm_entity_t,
10745 >,
10746 pub resolve_path: ::std::option::Option<
10747 unsafe extern "C" fn(
10748 ctx: *mut tm_entity_context_o,
10749 e: tm_entity_t,
10750 path: *const ::std::os::raw::c_char,
10751 ) -> tm_entity_t,
10752 >,
10753 pub propagate_asset_changes:
10754 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
10755 pub propagate_listen_to: ::std::option::Option<
10756 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, e: tm_entity_t, object: tm_tt_id_t),
10757 >,
10758 pub set_blackboard_double: ::std::option::Option<
10759 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, id: u64, value: f64),
10760 >,
10761 pub set_blackboard_ptr: ::std::option::Option<
10762 unsafe extern "C" fn(
10763 ctx: *mut tm_entity_context_o,
10764 id: u64,
10765 value: *mut ::std::os::raw::c_void,
10766 ),
10767 >,
10768 pub has_blackboard:
10769 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o, id: u64) -> bool>,
10770 pub get_blackboard_double: ::std::option::Option<
10771 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, id: u64, def: f64) -> f64,
10772 >,
10773 pub get_blackboard_ptr: ::std::option::Option<
10774 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, id: u64) -> *mut ::std::os::raw::c_void,
10775 >,
10776 pub run_engine: ::std::option::Option<
10777 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, engine: *const tm_engine_i),
10778 >,
10779 pub update: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
10780 pub listen: ::std::option::Option<
10781 unsafe extern "C" fn(
10782 ctx: *mut tm_entity_context_o,
10783 e: tm_entity_t,
10784 c: u32,
10785 listener: *const tm_entity_listener_i,
10786 ),
10787 >,
10788 pub unlisten: ::std::option::Option<
10789 unsafe extern "C" fn(
10790 ctx: *mut tm_entity_context_o,
10791 e: tm_entity_t,
10792 c: u32,
10793 listener: *const tm_entity_listener_i,
10794 ),
10795 >,
10796 pub notify: ::std::option::Option<
10797 unsafe extern "C" fn(
10798 ctx: *mut tm_entity_context_o,
10799 component: u32,
10800 entities: *const tm_entity_t,
10801 num_entities: u32,
10802 ),
10803 >,
10804 pub listen_event: ::std::option::Option<
10805 unsafe extern "C" fn(
10806 ctx: *mut tm_entity_context_o,
10807 e: tm_entity_t,
10808 event: u64,
10809 listener: *const tm_entity_event_listener_i,
10810 ),
10811 >,
10812 pub unlisten_event: ::std::option::Option<
10813 unsafe extern "C" fn(
10814 ctx: *mut tm_entity_context_o,
10815 e: tm_entity_t,
10816 event: u64,
10817 listener: *const tm_entity_event_listener_i,
10818 ),
10819 >,
10820 pub unlisten_all: ::std::option::Option<
10821 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, instance: *mut ::std::os::raw::c_void),
10822 >,
10823 pub notify_event: ::std::option::Option<
10824 unsafe extern "C" fn(
10825 ctx: *mut tm_entity_context_o,
10826 event: u64,
10827 e: *mut tm_entity_t,
10828 entity_stride: u32,
10829 data: *mut ::std::os::raw::c_void,
10830 data_stride: u32,
10831 n: u32,
10832 ),
10833 >,
10834 pub hot_reload: ::std::option::Option<unsafe extern "C" fn()>,
10835 pub set_debug_draw: ::std::option::Option<
10836 unsafe extern "C" fn(
10837 ctx: *mut tm_entity_context_o,
10838 component: u32,
10839 tag: u64,
10840 debug_draw: bool,
10841 ),
10842 >,
10843 pub has_debug_draw: ::std::option::Option<
10844 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, component: u32, tag: u64) -> bool,
10845 >,
10846 pub clear_debug_draw:
10847 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
10848 pub debug_draw: ::std::option::Option<
10849 unsafe extern "C" fn(
10850 ctx: *mut tm_entity_context_o,
10851 pbuf: *mut tm_primitive_drawer_buffer_t,
10852 vbuf: *mut tm_primitive_drawer_buffer_t,
10853 allocator: *mut tm_allocator_i,
10854 camera: *const tm_camera_t,
10855 viewport: tm_rect_t,
10856 ),
10857 >,
10858}
10859pub const TM_TT_PROP__LINK_COMPONENT__LOCAL_POSITION: ::std::os::raw::c_int = 0;
10860pub const TM_TT_PROP__LINK_COMPONENT__LOCAL_ROTATION: ::std::os::raw::c_int = 1;
10861pub const TM_TT_PROP__LINK_COMPONENT__LOCAL_SCALE: ::std::os::raw::c_int = 2;
10862pub const TM_TT_PROP__LINK_COMPONENT__SCENE_TREE_NODE: ::std::os::raw::c_int = 3;
10863pub type _bindgen_ty_114 = ::std::os::raw::c_int;
10864pub const TM_LINK_COMPONENT_NOT_LINKED_TO_SCENE_TREE_NODE: ::std::os::raw::c_int = -1;
10865pub type _bindgen_ty_115 = ::std::os::raw::c_int;
10866#[repr(C)]
10867#[derive(Copy, Clone)]
10868pub struct tm_link_component_t {
10869 pub local_transform: tm_transform_t,
10870 pub parent: tm_entity_t,
10871 pub scene_tree_node_name: u64,
10872 pub scene_tree_node_idx: u32,
10873 pub _padding_45: [::std::os::raw::c_char; 4usize],
10874}
10875#[repr(C)]
10876#[derive(Copy, Clone)]
10877pub struct tm_link_component_manager_o {
10878 _unused: [u8; 0],
10879}
10880#[repr(C)]
10881#[derive(Copy, Clone)]
10882pub struct tm_link_component_api {
10883 pub create: ::std::option::Option<
10884 unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> *mut tm_link_component_manager_o,
10885 >,
10886 pub compose_transform: ::std::option::Option<
10887 unsafe extern "C" fn(
10888 world: *mut tm_transform_t,
10889 local: *const tm_transform_t,
10890 parent_world: *const tm_transform_t,
10891 ) -> *mut tm_transform_t,
10892 >,
10893 pub compute_local_transform: ::std::option::Option<
10894 unsafe extern "C" fn(
10895 local: *mut tm_transform_t,
10896 world: *const tm_transform_t,
10897 parent_world: *const tm_transform_t,
10898 ) -> *mut tm_transform_t,
10899 >,
10900 pub compute_parent_transform: ::std::option::Option<
10901 unsafe extern "C" fn(
10902 parent: *mut tm_transform_t,
10903 world: *const tm_transform_t,
10904 local: *const tm_transform_t,
10905 ) -> *mut tm_transform_t,
10906 >,
10907 pub transform: ::std::option::Option<
10908 unsafe extern "C" fn(man: *mut tm_link_component_manager_o, e: tm_entity_t),
10909 >,
10910 pub link: ::std::option::Option<
10911 unsafe extern "C" fn(
10912 man: *mut tm_link_component_manager_o,
10913 e: tm_entity_t,
10914 parent: tm_entity_t,
10915 ),
10916 >,
10917 pub unlink: ::std::option::Option<
10918 unsafe extern "C" fn(man: *mut tm_link_component_manager_o, e: tm_entity_t),
10919 >,
10920}
10921#[repr(C)]
10922#[derive(Copy, Clone)]
10923pub struct tm_owner_component_t {
10924 pub num_children: u32,
10925 pub inst: u32,
10926}
10927#[repr(C)]
10928#[derive(Copy, Clone)]
10929pub struct tm_owner_component_manager_o {
10930 _unused: [u8; 0],
10931}
10932#[repr(C)]
10933#[derive(Copy, Clone)]
10934pub struct tm_owner_component_api {
10935 pub create: ::std::option::Option<
10936 unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> *mut tm_owner_component_manager_o,
10937 >,
10938 pub children: ::std::option::Option<
10939 unsafe extern "C" fn(
10940 manager: *const tm_owner_component_manager_o,
10941 c: *const tm_owner_component_t,
10942 children: *mut tm_entity_t,
10943 ),
10944 >,
10945 pub add_children: ::std::option::Option<
10946 unsafe extern "C" fn(
10947 manager: *mut tm_owner_component_manager_o,
10948 c: *mut tm_owner_component_t,
10949 e: *const tm_entity_t,
10950 n: u32,
10951 ),
10952 >,
10953 pub remove_children: ::std::option::Option<
10954 unsafe extern "C" fn(
10955 manager: *mut tm_owner_component_manager_o,
10956 c: *mut tm_owner_component_t,
10957 e: *const tm_entity_t,
10958 n: u32,
10959 ),
10960 >,
10961 pub remove_all_children: ::std::option::Option<
10962 unsafe extern "C" fn(
10963 manager: *mut tm_owner_component_manager_o,
10964 c: *mut tm_owner_component_t,
10965 ),
10966 >,
10967 pub descendants: ::std::option::Option<
10968 unsafe extern "C" fn(
10969 manager: *const tm_owner_component_manager_o,
10970 c: *const tm_owner_component_t,
10971 ta: *mut tm_temp_allocator_i,
10972 ) -> *mut tm_entity_t,
10973 >,
10974}
10975pub const TM_TT_PROP__SCENE_TREE_COMPONENT__NODES: ::std::os::raw::c_int = 0;
10976pub const TM_TT_PROP__SCENE_TREE_COMPONENT__NODE_NAMES: ::std::os::raw::c_int = 1;
10977pub type _bindgen_ty_116 = ::std::os::raw::c_int;
10978pub const TM_SCENE_TREE_COMPONENT_ROOT_NODE_PARENT: ::std::os::raw::c_int = -1;
10979pub type _bindgen_ty_117 = ::std::os::raw::c_int;
10980#[repr(C)]
10981#[derive(Copy, Clone)]
10982pub struct tm_scene_tree_node_t {
10983 pub name: u64,
10984 pub parent_idx: u32,
10985 pub local_transform: tm_transform_t,
10986 pub _padding_41: [::std::os::raw::c_char; 4usize],
10987}
10988#[repr(C)]
10989#[derive(Copy, Clone)]
10990pub struct tm_scene_tree_node_names_t {
10991 pub hash: u64,
10992 pub n: u32,
10993 pub _padding_59: [::std::os::raw::c_char; 4usize],
10994 pub node_names: *const u64,
10995}
10996#[repr(C)]
10997#[derive(Copy, Clone)]
10998pub struct tm_scene_tree_component_manager_o {
10999 _unused: [u8; 0],
11000}
11001#[repr(C)]
11002#[derive(Copy, Clone)]
11003pub struct tm_scene_tree_component_api {
11004 pub setup_nodes: ::std::option::Option<
11005 unsafe extern "C" fn(
11006 manager: *mut tm_scene_tree_component_manager_o,
11007 st: *mut tm_scene_tree_component_t,
11008 nodes: *const tm_scene_tree_node_t,
11009 num_nodes: u32,
11010 debug_names: *const ::std::os::raw::c_char,
11011 ),
11012 >,
11013 pub node_names: ::std::option::Option<
11014 unsafe extern "C" fn(st: *const tm_scene_tree_component_t) -> tm_scene_tree_node_names_t,
11015 >,
11016 pub node_index_from_name: ::std::option::Option<
11017 unsafe extern "C" fn(
11018 component: *const tm_scene_tree_component_t,
11019 node_name: u64,
11020 not_found: u32,
11021 ) -> u32,
11022 >,
11023 pub world_matrices: ::std::option::Option<
11024 unsafe extern "C" fn(component: *const tm_scene_tree_component_t) -> *const tm_mat44_t,
11025 >,
11026 pub local_matrices: ::std::option::Option<
11027 unsafe extern "C" fn(component: *const tm_scene_tree_component_t) -> *const tm_mat44_t,
11028 >,
11029 pub local_transform: ::std::option::Option<
11030 unsafe extern "C" fn(
11031 component: *const tm_scene_tree_component_t,
11032 node_idx: u32,
11033 ) -> tm_transform_t,
11034 >,
11035 pub world_transform: ::std::option::Option<
11036 unsafe extern "C" fn(
11037 component: *const tm_scene_tree_component_t,
11038 node_idx: u32,
11039 ) -> tm_transform_t,
11040 >,
11041 pub set_local_transform: ::std::option::Option<
11042 unsafe extern "C" fn(
11043 component: *mut tm_scene_tree_component_t,
11044 node_idx: u32,
11045 t: *const tm_transform_t,
11046 ),
11047 >,
11048 pub set_local_matrix: ::std::option::Option<
11049 unsafe extern "C" fn(
11050 component: *mut tm_scene_tree_component_t,
11051 node_idx: u32,
11052 tm: *const tm_mat44_t,
11053 ),
11054 >,
11055 pub transform: ::std::option::Option<
11056 unsafe extern "C" fn(
11057 st: *mut tm_scene_tree_component_t,
11058 trans: *const tm_transform_t,
11059 version: u64,
11060 ),
11061 >,
11062}
11063pub const TM_TT_PROP__TAG_COMPONENT__TAGS: ::std::os::raw::c_int = 0;
11064pub type _bindgen_ty_118 = ::std::os::raw::c_int;
11065#[repr(C)]
11066#[derive(Copy, Clone)]
11067pub struct tm_tag_component_t {
11068 pub first_ti: u32,
11069}
11070#[repr(C)]
11071#[derive(Copy, Clone)]
11072pub struct tm_tag_component_manager_o {
11073 _unused: [u8; 0],
11074}
11075#[repr(C)]
11076#[derive(Copy, Clone)]
11077pub struct tm_tag_component_api {
11078 pub tag_assets: ::std::option::Option<
11079 unsafe extern "C" fn(
11080 tt: *mut tm_the_truth_o,
11081 ta: *mut tm_temp_allocator_i,
11082 ) -> *mut tm_tt_id_t,
11083 >,
11084 pub create: ::std::option::Option<
11085 unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> *mut tm_tag_component_manager_o,
11086 >,
11087 pub add_tag: ::std::option::Option<
11088 unsafe extern "C" fn(tcm: *mut tm_tag_component_manager_o, e: tm_entity_t, tag: u64),
11089 >,
11090 pub remove_tag: ::std::option::Option<
11091 unsafe extern "C" fn(tcm: *mut tm_tag_component_manager_o, e: tm_entity_t, tag: u64),
11092 >,
11093 pub has_tag: ::std::option::Option<
11094 unsafe extern "C" fn(
11095 tcm: *const tm_tag_component_manager_o,
11096 e: tm_entity_t,
11097 tag: u64,
11098 ) -> bool,
11099 >,
11100 pub find_all: ::std::option::Option<
11101 unsafe extern "C" fn(
11102 tcm: *const tm_tag_component_manager_o,
11103 tag: u64,
11104 ta: *mut tm_temp_allocator_i,
11105 ) -> *mut tm_entity_t,
11106 >,
11107 pub find_first: ::std::option::Option<
11108 unsafe extern "C" fn(tcm: *const tm_tag_component_manager_o, tag: u64) -> tm_entity_t,
11109 >,
11110}
11111pub const TM_TT_PROP__TRANSFORM_COMPONENT__POSITION: ::std::os::raw::c_int = 0;
11112pub const TM_TT_PROP__TRANSFORM_COMPONENT__ROTATION: ::std::os::raw::c_int = 1;
11113pub const TM_TT_PROP__TRANSFORM_COMPONENT__SCALE: ::std::os::raw::c_int = 2;
11114pub type _bindgen_ty_119 = ::std::os::raw::c_int;
11115#[repr(C)]
11116#[derive(Copy, Clone)]
11117pub struct tm_transform_component_t {
11118 pub tm: tm_transform_t,
11119 pub version: u32,
11120}
11121#[repr(C)]
11122#[derive(Copy, Clone)]
11123pub struct tm_transform_component_api {
11124 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
11125 pub create: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
11126}
11127#[repr(C)]
11128#[derive(Copy, Clone)]
11129pub struct tm_window_o {
11130 _unused: [u8; 0],
11131}
11132#[repr(C)]
11133#[derive(Copy, Clone)]
11134pub struct tm_gameplay_context_o {
11135 _unused: [u8; 0],
11136}
11137#[repr(C)]
11138#[derive(Copy, Clone)]
11139pub struct tm_physx_scene_o {
11140 _unused: [u8; 0],
11141}
11142#[repr(C)]
11143#[derive(Copy, Clone)]
11144pub struct tm_gameplay_state_o {
11145 _unused: [u8; 0],
11146}
11147#[repr(C)]
11148#[derive(Copy, Clone)]
11149pub struct tm_gameplay_context_t {
11150 pub state: *mut tm_gameplay_state_o,
11151 pub dt: f32,
11152 pub time: f32,
11153 pub allocator: *mut tm_allocator_i,
11154 pub entity_ctx: *mut tm_entity_context_o,
11155 pub ui: *mut tm_ui_o,
11156 pub uistyle: *mut tm_ui_style_t,
11157 pub rect: tm_rect_t,
11158 pub window: *mut tm_window_o,
11159 pub tt: *mut tm_the_truth_o,
11160 pub asset_root: tm_tt_id_t,
11161 pub physx_scene: *mut tm_physx_scene_o,
11162 pub octx: *mut tm_gameplay_context_o,
11163 pub initialized: bool,
11164 pub started: bool,
11165 pub running_in_editor: bool,
11166 pub _padding_75: [::std::os::raw::c_char; 5usize],
11167}
11168#[repr(C)]
11169#[derive(Copy, Clone)]
11170pub struct tm_gameplay_context_api {
11171 pub init: ::std::option::Option<
11172 unsafe extern "C" fn(
11173 ctx: *mut tm_gameplay_context_t,
11174 parent_allocator: *mut tm_allocator_i,
11175 entity_ctx: *mut tm_entity_context_o,
11176 ),
11177 >,
11178 pub shutdown: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t)>,
11179 pub update: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t)>,
11180}
11181#[repr(C)]
11182#[derive(Copy, Clone)]
11183pub struct tm_gameplay_entity_api {
11184 pub get_transform: ::std::option::Option<
11185 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_transform_t,
11186 >,
11187 pub set_transform: ::std::option::Option<
11188 unsafe extern "C" fn(
11189 ctx: *mut tm_gameplay_context_t,
11190 e: tm_entity_t,
11191 tm: *const tm_transform_t,
11192 ),
11193 >,
11194 pub get_position: ::std::option::Option<
11195 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec3_t,
11196 >,
11197 pub set_position: ::std::option::Option<
11198 unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, pos: tm_vec3_t),
11199 >,
11200 pub get_rotation: ::std::option::Option<
11201 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec4_t,
11202 >,
11203 pub set_rotation: ::std::option::Option<
11204 unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, rot: tm_vec4_t),
11205 >,
11206 pub get_scale: ::std::option::Option<
11207 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec3_t,
11208 >,
11209 pub set_scale: ::std::option::Option<
11210 unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, scl: tm_vec3_t),
11211 >,
11212 pub get_local_position: ::std::option::Option<
11213 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec3_t,
11214 >,
11215 pub get_local_transform: ::std::option::Option<
11216 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_transform_t,
11217 >,
11218 pub set_local_transform: ::std::option::Option<
11219 unsafe extern "C" fn(
11220 ctx: *mut tm_gameplay_context_t,
11221 e: tm_entity_t,
11222 tm: *const tm_transform_t,
11223 ),
11224 >,
11225 pub set_local_position: ::std::option::Option<
11226 unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, pos: tm_vec3_t),
11227 >,
11228 pub get_local_rotation: ::std::option::Option<
11229 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec4_t,
11230 >,
11231 pub set_local_rotation: ::std::option::Option<
11232 unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, rot: tm_vec4_t),
11233 >,
11234 pub get_local_scale: ::std::option::Option<
11235 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_vec3_t,
11236 >,
11237 pub set_local_scale: ::std::option::Option<
11238 unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, scl: tm_vec3_t),
11239 >,
11240 pub add_tag: ::std::option::Option<
11241 unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, tag: u64),
11242 >,
11243 pub remove_tag: ::std::option::Option<
11244 unsafe extern "C" fn(ctx: *mut tm_gameplay_context_t, e: tm_entity_t, tag: u64),
11245 >,
11246 pub has_tag: ::std::option::Option<
11247 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t, tag: u64) -> bool,
11248 >,
11249 pub find_entity_with_tag: ::std::option::Option<
11250 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, tag: u64) -> tm_entity_t,
11251 >,
11252 pub find_entities_with_tag: ::std::option::Option<
11253 unsafe extern "C" fn(
11254 ctx: *const tm_gameplay_context_t,
11255 tag: u64,
11256 ta: *mut tm_temp_allocator_i,
11257 ) -> *mut tm_entity_t,
11258 >,
11259 pub root_entity: ::std::option::Option<
11260 unsafe extern "C" fn(ctx: *const tm_gameplay_context_t, e: tm_entity_t) -> tm_entity_t,
11261 >,
11262}
11263#[repr(C)]
11264#[derive(Copy, Clone)]
11265pub struct tm_gameplay_physics_api {
11266 pub get_collision_types: ::std::option::Option<
11267 unsafe extern "C" fn(
11268 ctx: *mut tm_gameplay_context_t,
11269 name_to_collision_type: *mut tm_hash_u64_to_id_t,
11270 ),
11271 >,
11272}
11273#[repr(C)]
11274#[derive(Copy, Clone)]
11275pub struct tm_gameplay_api {
11276 pub context: *mut tm_gameplay_context_api,
11277 pub entity: *mut tm_gameplay_entity_api,
11278 pub physics: *mut tm_gameplay_physics_api,
11279 pub get_asset: ::std::option::Option<
11280 unsafe extern "C" fn(
11281 ctx: *const tm_gameplay_context_t,
11282 path: *const ::std::os::raw::c_char,
11283 ) -> tm_tt_id_t,
11284 >,
11285}
11286#[repr(C)]
11287#[derive(Copy, Clone)]
11288pub struct tm_gltf_uri_o {
11289 _unused: [u8; 0],
11290}
11291#[repr(C)]
11292#[derive(Copy, Clone)]
11293pub struct tm_gltf_uri_i {
11294 pub inst: *mut tm_gltf_uri_o,
11295 pub size: ::std::option::Option<
11296 unsafe extern "C" fn(inst: *mut tm_gltf_uri_o, uri: *const ::std::os::raw::c_char) -> u64,
11297 >,
11298 pub load: ::std::option::Option<
11299 unsafe extern "C" fn(
11300 inst: *mut tm_gltf_uri_o,
11301 uri: *const ::std::os::raw::c_char,
11302 data: *mut u8,
11303 offset: u64,
11304 size: u64,
11305 ) -> bool,
11306 >,
11307}
11308#[repr(C)]
11309#[derive(Copy, Clone)]
11310pub struct tm_gltf_api {
11311 pub import: ::std::option::Option<
11312 unsafe extern "C" fn(
11313 tt: *mut tm_the_truth_o,
11314 gltf: *const ::std::os::raw::c_char,
11315 ta: *mut tm_temp_allocator_i,
11316 uri_loader: *mut tm_gltf_uri_i,
11317 error: *mut tm_error_i,
11318 ) -> tm_tt_id_t,
11319 >,
11320 pub import_into: ::std::option::Option<
11321 unsafe extern "C" fn(
11322 tt: *mut tm_the_truth_o,
11323 obj: *mut tm_the_truth_object_o,
11324 gltf: *const ::std::os::raw::c_char,
11325 ta: *mut tm_temp_allocator_i,
11326 uri_loader: *mut tm_gltf_uri_i,
11327 error: *mut tm_error_i,
11328 ) -> bool,
11329 >,
11330 pub migrate_from_gltf_to_dcc_asset:
11331 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o) -> bool>,
11332}
11333pub const TM_TT_PROP__SUBGRAPH_NODE__SUBGRAPH: ::std::os::raw::c_int = 0;
11334pub type _bindgen_ty_120 = ::std::os::raw::c_int;
11335#[repr(C)]
11336#[derive(Copy, Clone)]
11337pub struct tm_graph_imported_node_t {
11338 pub position: tm_vec2_t,
11339 pub type_: u32,
11340 pub _padding_23: [::std::os::raw::c_char; 4usize],
11341 pub display_name: *const ::std::os::raw::c_char,
11342 pub width: f32,
11343 pub _padding_29: [::std::os::raw::c_char; 4usize],
11344 pub id: tm_tt_id_t,
11345 pub prototype_relation: u32,
11346 pub is_pure: bool,
11347 pub _padding_39: [::std::os::raw::c_char; 3usize],
11348}
11349#[repr(C)]
11350#[derive(Copy, Clone)]
11351pub struct tm_graph_imported_connection_t {
11352 pub from_node: u32,
11353 pub to_node: u32,
11354 pub from_connector: u32,
11355 pub to_connector: u32,
11356 pub id: tm_tt_id_t,
11357 pub prototype_relation: u32,
11358 pub _padding_63: [::std::os::raw::c_char; 4usize],
11359 pub in_conflict_with: tm_tt_id_t,
11360}
11361#[repr(C)]
11362#[derive(Copy, Clone)]
11363pub struct tm_graph_imported_data_t {
11364 pub to_node: u32,
11365 pub to_connector: u32,
11366 pub id: tm_tt_id_t,
11367 pub data_id: tm_tt_id_t,
11368 pub prototype_relation: u32,
11369 pub _padding_90: [::std::os::raw::c_char; 4usize],
11370 pub in_conflict_with: tm_tt_id_t,
11371}
11372#[repr(C)]
11373#[derive(Copy, Clone)]
11374pub struct tm_graph_imported_comment_t {
11375 pub text: *const ::std::os::raw::c_char,
11376 pub position: tm_vec2_t,
11377 pub font_scale: f32,
11378 pub color: tm_vec3_t,
11379 pub id: tm_tt_id_t,
11380 pub prototype_relation: u32,
11381 pub _padding_119: [::std::os::raw::c_char; 4usize],
11382}
11383#[repr(C)]
11384#[derive(Copy, Clone)]
11385pub struct tm_graph_import_result_t {
11386 pub nodes: *mut tm_graph_imported_node_t,
11387 pub connections: *mut tm_graph_imported_connection_t,
11388 pub datas: *mut tm_graph_imported_data_t,
11389 pub comments: *mut tm_graph_imported_comment_t,
11390 pub node_connectors: *mut tm_graph_node_connectors_t,
11391 pub node_graph_ids: *mut tm_tt_id_t,
11392 pub num_nodes: u32,
11393 pub num_connections: u32,
11394 pub num_datas: u32,
11395 pub num_comments: u32,
11396}
11397#[repr(C)]
11398#[derive(Copy, Clone)]
11399pub struct tm_graph_importer_luts_o {
11400 _unused: [u8; 0],
11401}
11402#[repr(C)]
11403#[derive(Copy, Clone)]
11404pub struct tm_graph_importer_api {
11405 pub create_lookup_tables: ::std::option::Option<
11406 unsafe extern "C" fn(
11407 a: *mut tm_allocator_i,
11408 types: *const tm_graph_node_type_i,
11409 num_types: u32,
11410 ) -> *mut tm_graph_importer_luts_o,
11411 >,
11412 pub destroy_lookup_tables:
11413 ::std::option::Option<unsafe extern "C" fn(luts: *mut tm_graph_importer_luts_o)>,
11414 pub import_shallow: ::std::option::Option<
11415 unsafe extern "C" fn(
11416 tt: *const tm_the_truth_o,
11417 graph_id: tm_tt_id_t,
11418 types: *const tm_graph_node_type_i,
11419 num_types: u32,
11420 ta: *mut tm_temp_allocator_i,
11421 luts: *const tm_graph_importer_luts_o,
11422 ) -> tm_graph_import_result_t,
11423 >,
11424 pub import_flattened: ::std::option::Option<
11425 unsafe extern "C" fn(
11426 tt: *const tm_the_truth_o,
11427 graph_id: tm_tt_id_t,
11428 types: *const tm_graph_node_type_i,
11429 num_types: u32,
11430 ta: *mut tm_temp_allocator_i,
11431 luts: *const tm_graph_importer_luts_o,
11432 ) -> tm_graph_import_result_t,
11433 >,
11434}
11435#[repr(C)]
11436#[derive(Copy, Clone)]
11437pub struct tm_graph_interpreter_o {
11438 _unused: [u8; 0],
11439}
11440pub const TM_TT_PROP__GRAPH_COMPONENT__GRAPH: ::std::os::raw::c_int = 0;
11441pub type _bindgen_ty_121 = ::std::os::raw::c_int;
11442#[repr(C)]
11443#[derive(Copy, Clone)]
11444pub struct tm_graph_component_t {
11445 pub gr: *mut tm_graph_interpreter_o,
11446}
11447pub const TM_TT_PROP__ENTITY_GRAPH__GRAPH: ::std::os::raw::c_int = 0;
11448pub type _bindgen_ty_122 = ::std::os::raw::c_int;
11449pub type tm_graph_component_compile_data_i = ::std::option::Option<
11450 unsafe extern "C" fn(
11451 gr: *mut tm_graph_interpreter_o,
11452 wire: u32,
11453 tt: *const tm_the_truth_o,
11454 data_id: tm_tt_id_t,
11455 to_type_hash: u64,
11456 ) -> bool,
11457>;
11458#[repr(C)]
11459#[derive(Copy, Clone)]
11460pub struct tm_graph_component_api {
11461 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
11462 pub create: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
11463 pub run_event:
11464 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o, event: u64)>,
11465 pub tick_queues: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o)>,
11466}
11467#[repr(C)]
11468#[derive(Copy, Clone)]
11469pub struct tm_graph_component_compile_context_t {
11470 pub tt: *const tm_the_truth_o,
11471 pub entity_asset_id: tm_tt_id_t,
11472 pub graph_id: tm_tt_id_t,
11473 pub settings_id: tm_tt_id_t,
11474 pub connectors: *mut tm_graph_node_connectors_t,
11475}
11476#[repr(C)]
11477#[derive(Copy, Clone)]
11478pub struct tm_graph_component_node_type_i {
11479 pub __bindgen_padding_0: [u64; 232usize],
11480 pub run: ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_graph_interpreter_context_t)>,
11481 pub compile: ::std::option::Option<
11482 unsafe extern "C" fn(
11483 ctx: *mut tm_graph_interpreter_context_t,
11484 compile_ctx: *mut tm_graph_component_compile_context_t,
11485 ),
11486 >,
11487}
11488pub const TM_GRAPH_COMPONENT__STATIC_WIRE__SINK: ::std::os::raw::c_int = 0;
11489pub const TM_GRAPH_COMPONENT__STATIC_WIRE__ENTITY_CONTEXT: ::std::os::raw::c_int = 1;
11490pub const TM_GRAPH_COMPONENT__STATIC_WIRE__ENTITY: ::std::os::raw::c_int = 2;
11491pub const TM_GRAPH_COMPONENT__STATIC_WIRE__EVENT_DATA: ::std::os::raw::c_int = 3;
11492pub const TM_GRAPH_COMPONENT__STATIC_WIRE__USER_DATA: ::std::os::raw::c_int = 4;
11493pub const TM_GRAPH_COMPONENT__STATIC_WIRE__COUNT: ::std::os::raw::c_int = 5;
11494pub type _bindgen_ty_123 = ::std::os::raw::c_int;
11495#[repr(C)]
11496#[derive(Copy, Clone)]
11497pub struct tm_graph_interpreter_wire_content_t {
11498 pub n: u32,
11499 pub size: u32,
11500 pub data: *mut ::std::os::raw::c_void,
11501}
11502#[repr(C)]
11503#[derive(Copy, Clone)]
11504pub struct tm_graph_interpreter_context_t {
11505 pub interpreter: *mut tm_graph_interpreter_o,
11506 pub node: u32,
11507 pub _padding_55: [::std::os::raw::c_char; 4usize],
11508 pub node_type: *const tm_graph_node_type_i,
11509 pub wires: *const u32,
11510}
11511pub type tm_graph_interpreter_run_node_f =
11512 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_graph_interpreter_context_t)>;
11513#[repr(C)]
11514#[derive(Copy, Clone)]
11515pub struct tm_graph_interpreter_node_t {
11516 pub f: tm_graph_interpreter_run_node_f,
11517 pub wires_index: u32,
11518 pub _padding_86: [::std::os::raw::c_char; 4usize],
11519 pub node_type: *const tm_graph_node_type_i,
11520 pub dependencies_index: u32,
11521 pub _padding_97: [::std::os::raw::c_char; 4usize],
11522}
11523#[repr(C)]
11524#[derive(Copy, Clone)]
11525pub struct tm_graph_interpreter_api {
11526 pub create_graph_interpreter: ::std::option::Option<
11527 unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_graph_interpreter_o,
11528 >,
11529 pub destroy_graph_interpreter:
11530 ::std::option::Option<unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o)>,
11531 pub set_graph: ::std::option::Option<
11532 unsafe extern "C" fn(
11533 gr: *mut tm_graph_interpreter_o,
11534 nodes: *const tm_graph_interpreter_node_t,
11535 num_nodes: u32,
11536 num_wires: u32,
11537 node_wires: *mut u32,
11538 num_node_wires: u32,
11539 dependencies: *mut u32,
11540 num_dependencies: u32,
11541 ),
11542 >,
11543 pub run_node_at_index:
11544 ::std::option::Option<unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, node: u32)>,
11545 pub add_event_node: ::std::option::Option<
11546 unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, e: u64, node: u32),
11547 >,
11548 pub trigger_event:
11549 ::std::option::Option<unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, e: u64)>,
11550 pub trigger_wire:
11551 ::std::option::Option<unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, wire: u32)>,
11552 pub queue_wire: ::std::option::Option<
11553 unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, wire: u32, delay: f32),
11554 >,
11555 pub tick_queue:
11556 ::std::option::Option<unsafe extern "C" fn(gr: *mut tm_graph_interpreter_o, dt: f32)>,
11557 pub get_node_run_context: ::std::option::Option<
11558 unsafe extern "C" fn(
11559 gr: *mut tm_graph_interpreter_o,
11560 node: u32,
11561 ) -> tm_graph_interpreter_context_t,
11562 >,
11563 pub read_wire: ::std::option::Option<
11564 unsafe extern "C" fn(
11565 gr: *mut tm_graph_interpreter_o,
11566 wire: u32,
11567 ) -> tm_graph_interpreter_wire_content_t,
11568 >,
11569 pub read_wires: ::std::option::Option<
11570 unsafe extern "C" fn(
11571 gr: *mut tm_graph_interpreter_o,
11572 content: *mut tm_graph_interpreter_wire_content_t,
11573 wires: *const u32,
11574 n: u32,
11575 ),
11576 >,
11577 pub read_wires_indirect: ::std::option::Option<
11578 unsafe extern "C" fn(
11579 gr: *mut tm_graph_interpreter_o,
11580 content: *mut *mut tm_graph_interpreter_wire_content_t,
11581 wires: *const u32,
11582 n: u32,
11583 ),
11584 >,
11585 pub write_wire: ::std::option::Option<
11586 unsafe extern "C" fn(
11587 gr: *mut tm_graph_interpreter_o,
11588 wire: u32,
11589 n: u32,
11590 size: u32,
11591 ) -> *mut ::std::os::raw::c_void,
11592 >,
11593 pub read_variable: ::std::option::Option<
11594 unsafe extern "C" fn(
11595 gr: *mut tm_graph_interpreter_o,
11596 variable: u64,
11597 ) -> tm_graph_interpreter_wire_content_t,
11598 >,
11599 pub write_variable: ::std::option::Option<
11600 unsafe extern "C" fn(
11601 gr: *mut tm_graph_interpreter_o,
11602 variable: u64,
11603 n: u32,
11604 size: u32,
11605 ) -> *mut ::std::os::raw::c_void,
11606 >,
11607}
11608#[repr(C)]
11609#[derive(Copy, Clone)]
11610pub struct tm_https_request_header_t {
11611 pub name: *const ::std::os::raw::c_char,
11612 pub value: *const ::std::os::raw::c_char,
11613}
11614#[repr(C)]
11615#[derive(Copy, Clone)]
11616pub struct tm_https_request_fingerprint_t {
11617 pub data: [::std::os::raw::c_char; 20usize],
11618}
11619#[repr(C)]
11620#[derive(Copy, Clone)]
11621pub struct tm_https_request_t {
11622 pub method: *const ::std::os::raw::c_char,
11623 pub host: *const ::std::os::raw::c_char,
11624 pub hostaddr: u32,
11625 pub port: u32,
11626 pub path: *const ::std::os::raw::c_char,
11627 pub num_headers: u32,
11628 pub _padding_79: [::std::os::raw::c_char; 4usize],
11629 pub headers: *const tm_https_request_header_t,
11630 pub body: *const ::std::os::raw::c_char,
11631 pub id: u64,
11632 pub fingerprint: tm_https_request_fingerprint_t,
11633 pub num_trust_anchors: u32,
11634 pub trust_anchors: *const ::std::os::raw::c_void,
11635}
11636pub const tm_https_status_TM_HTTPS_STATUS__IN_PROGRESS: tm_https_status = 0;
11637pub const tm_https_status_TM_HTTPS_STATUS__ERROR: tm_https_status = 1;
11638pub const tm_https_status_TM_HTTPS_STATUS__SUCCESS: tm_https_status = 2;
11639pub const tm_https_status_TM_HTTPS_STATUS__NOT_OPEN: tm_https_status = 3;
11640pub const tm_https_status_TM_HTTPS_STATUS__NOT_FOUND: tm_https_status = 4;
11641pub type tm_https_status = ::std::os::raw::c_int;
11642#[repr(C)]
11643#[derive(Copy, Clone)]
11644pub struct tm_https_response_header_t {
11645 pub name: *const ::std::os::raw::c_char,
11646 pub name_hash: u64,
11647 pub value: *const ::std::os::raw::c_char,
11648}
11649#[repr(C)]
11650#[derive(Copy, Clone)]
11651pub struct tm_https_response_t {
11652 pub status: tm_https_status,
11653 pub _padding_161: [::std::os::raw::c_char; 4usize],
11654 pub error: *const ::std::os::raw::c_char,
11655 pub raw_header: *const ::std::os::raw::c_char,
11656 pub http_status_code: u32,
11657 pub _padding_179: [::std::os::raw::c_char; 4usize],
11658 pub http_status: *const ::std::os::raw::c_char,
11659 pub headers: *mut tm_https_response_header_t,
11660 pub content_length: u64,
11661 pub content_received: u64,
11662 pub body: *mut ::std::os::raw::c_char,
11663}
11664#[repr(C)]
11665#[derive(Copy, Clone)]
11666pub struct tm_https_progress_t {
11667 pub content_length: u64,
11668 pub content_received: u64,
11669 pub speed: f32,
11670 pub cancel: bool,
11671 pub _padding_225: [::std::os::raw::c_char; 3usize],
11672}
11673#[repr(C)]
11674#[derive(Copy, Clone)]
11675pub struct tm_https_o {
11676 _unused: [u8; 0],
11677}
11678#[repr(C)]
11679#[derive(Copy, Clone)]
11680pub struct tm_https_api {
11681 pub get: ::std::option::Option<
11682 unsafe extern "C" fn(
11683 req: *const tm_https_request_t,
11684 ta: *mut tm_temp_allocator_i,
11685 progress: *mut tm_https_progress_t,
11686 ) -> tm_https_response_t,
11687 >,
11688 pub get_to_file: ::std::option::Option<
11689 unsafe extern "C" fn(
11690 req: *const tm_https_request_t,
11691 filename: *const ::std::os::raw::c_char,
11692 ta: *mut tm_temp_allocator_i,
11693 progress: *mut tm_https_progress_t,
11694 ) -> tm_https_response_t,
11695 >,
11696 pub create:
11697 ::std::option::Option<unsafe extern "C" fn(parent: *mut tm_allocator_i) -> *mut tm_https_o>,
11698 pub destroy: ::std::option::Option<unsafe extern "C" fn(https: *mut tm_https_o)>,
11699 pub open: ::std::option::Option<
11700 unsafe extern "C" fn(https: *mut tm_https_o, req: *mut tm_https_request_t),
11701 >,
11702 pub response: ::std::option::Option<
11703 unsafe extern "C" fn(
11704 https: *mut tm_https_o,
11705 req: *const tm_https_request_t,
11706 ) -> tm_https_response_t,
11707 >,
11708 pub close: ::std::option::Option<
11709 unsafe extern "C" fn(https: *mut tm_https_o, req: *mut tm_https_request_t),
11710 >,
11711}
11712#[repr(C)]
11713#[derive(Copy, Clone)]
11714pub struct tm_openvr_submit_data_t {
11715 pub right_eye_bounds: tm_rect_t,
11716 pub right_eye_resource: u32,
11717 pub right_eye_resource_state: u16,
11718 pub _padding_20: [::std::os::raw::c_char; 2usize],
11719 pub left_eye_bounds: tm_rect_t,
11720 pub left_eye_resource: u32,
11721 pub left_eye_resource_state: u16,
11722 pub _padding_29: [::std::os::raw::c_char; 2usize],
11723}
11724pub const TM_OPENVR_INVALID_CONTEXT: ::std::os::raw::c_int = 0;
11725pub type _bindgen_ty_124 = ::std::os::raw::c_int;
11726pub const tm_openvr_eye_TM_OPENVR_EYE_LEFT: tm_openvr_eye = 0;
11727pub const tm_openvr_eye_TM_OPENVR_EYE_RIGHT: tm_openvr_eye = 1;
11728pub type tm_openvr_eye = ::std::os::raw::c_int;
11729#[repr(C)]
11730#[derive(Copy, Clone)]
11731pub struct tm_openvr_api {
11732 pub load: ::std::option::Option<
11733 unsafe extern "C" fn(dll_path: *const ::std::os::raw::c_char) -> bool,
11734 >,
11735 pub unload: ::std::option::Option<unsafe extern "C" fn()>,
11736 pub init_context: ::std::option::Option<unsafe extern "C" fn() -> u32>,
11737 pub shutdown_context: ::std::option::Option<unsafe extern "C" fn(context: u32)>,
11738 pub update: ::std::option::Option<unsafe extern "C" fn(context: u32) -> bool>,
11739 pub submit_vulkan: ::std::option::Option<
11740 unsafe extern "C" fn(
11741 context: u32,
11742 vulkan_backend: *mut tm_vulkan_backend_i,
11743 device_affinity: u32,
11744 data: *const tm_openvr_submit_data_t,
11745 ) -> bool,
11746 >,
11747 pub wanted_image_size: ::std::option::Option<
11748 unsafe extern "C" fn(context: u32, width: *mut u32, height: *mut u32),
11749 >,
11750 pub frustum_planes: ::std::option::Option<
11751 unsafe extern "C" fn(
11752 context: u32,
11753 eye: tm_openvr_eye,
11754 left: *mut f32,
11755 right: *mut f32,
11756 top: *mut f32,
11757 bottom: *mut f32,
11758 ),
11759 >,
11760 pub head_to_eye_transform: ::std::option::Option<
11761 unsafe extern "C" fn(context: u32, tm: *mut tm_mat44_t, eye: tm_openvr_eye),
11762 >,
11763 pub head_transform:
11764 ::std::option::Option<unsafe extern "C" fn(context: u32, tm: *mut tm_mat44_t)>,
11765}
11766#[repr(C)]
11767#[derive(Copy, Clone)]
11768pub struct tm_display_o {
11769 _unused: [u8; 0],
11770}
11771#[repr(C)]
11772#[derive(Copy, Clone)]
11773pub struct tm_os_display_api {
11774 pub num_displays: ::std::option::Option<unsafe extern "C" fn() -> u32>,
11775 pub display: ::std::option::Option<unsafe extern "C" fn(index: u32) -> *mut tm_display_o>,
11776 pub os_display_rect:
11777 ::std::option::Option<unsafe extern "C" fn(display: *const tm_display_o) -> tm_rect_t>,
11778 pub os_display_dpi_scale_factor:
11779 ::std::option::Option<unsafe extern "C" fn(display: *const tm_display_o) -> f32>,
11780 pub refresh_display_enumeration: ::std::option::Option<unsafe extern "C" fn()>,
11781}
11782pub const tm_os_window_style_TM_OS_WINDOW_STYLE_VISIBLE: tm_os_window_style = 1;
11783pub const tm_os_window_style_TM_OS_WINDOW_STYLE_CENTERED: tm_os_window_style = 2;
11784pub const tm_os_window_style_TM_OS_WINDOW_STYLE_BORDERLESS: tm_os_window_style = 4;
11785pub const tm_os_window_style_TM_OS_WINDOW_STYLE_DPI_SCALING_AWARE: tm_os_window_style = 8;
11786pub type tm_os_window_style = ::std::os::raw::c_int;
11787pub const tm_os_window_state_TM_OS_WINDOW_STATE_MAXIMIZE: tm_os_window_state = 0;
11788pub const tm_os_window_state_TM_OS_WINDOW_STATE_MINIMIZE: tm_os_window_state = 1;
11789pub const tm_os_window_state_TM_OS_WINDOW_STATE_NORMAL: tm_os_window_state = 2;
11790pub type tm_os_window_state = ::std::os::raw::c_int;
11791pub const tm_os_window_cursor_mode_TM_OS_WINDOW_CURSOR_MODE_VISIBLE_AND_FREE:
11792 tm_os_window_cursor_mode = 0;
11793pub const tm_os_window_cursor_mode_TM_OS_WINDOW_CURSOR_MODE_VISIBLE_AND_CONSTRAINED:
11794 tm_os_window_cursor_mode = 1;
11795pub const tm_os_window_cursor_mode_TM_OS_WINDOW_CURSOR_MODE_HIDDEN_AND_LOCKED:
11796 tm_os_window_cursor_mode = 2;
11797pub type tm_os_window_cursor_mode = ::std::os::raw::c_int;
11798pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_DEFAULT: tm_os_window_cursor = 0;
11799pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_POINTER: tm_os_window_cursor = 1;
11800pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_TEXT: tm_os_window_cursor = 2;
11801pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_MOVE: tm_os_window_cursor = 3;
11802pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_ALL_SCROLL: tm_os_window_cursor = 4;
11803pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_COL_RESIZE: tm_os_window_cursor = 5;
11804pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_ROW_RESIZE: tm_os_window_cursor = 6;
11805pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_EW_RESIZE: tm_os_window_cursor = 7;
11806pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_NS_RESIZE: tm_os_window_cursor = 8;
11807pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_NESW_RESIZE: tm_os_window_cursor = 9;
11808pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_NWSE_RESIZE: tm_os_window_cursor = 10;
11809pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_DRAG_AND_DROP: tm_os_window_cursor = 11;
11810pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_DRAG_NO_DROP: tm_os_window_cursor = 12;
11811pub const tm_os_window_cursor_TM_OS_WINDOW_CURSOR_HIDE: tm_os_window_cursor = 13;
11812pub type tm_os_window_cursor = ::std::os::raw::c_int;
11813pub const tm_os_window_adjust_rect_TM_OS_WINDOW_ADJUST_RECT_TO_PIXELS: tm_os_window_adjust_rect = 0;
11814pub const tm_os_window_adjust_rect_TM_OS_WINDOW_ADJUST_RECT_TO_VIRTUAL: tm_os_window_adjust_rect =
11815 1;
11816pub type tm_os_window_adjust_rect = ::std::os::raw::c_int;
11817#[repr(C)]
11818#[derive(Copy, Clone)]
11819pub struct tm_window_platform_data_win32_o {
11820 pub hwnd: u64,
11821 pub hinstance: u64,
11822}
11823#[repr(C)]
11824#[derive(Copy, Clone)]
11825pub struct tm_window_platform_data_macosx_o {
11826 pub nswindow: *mut ::std::os::raw::c_void,
11827}
11828#[repr(C)]
11829#[derive(Copy, Clone)]
11830pub struct tm_window_platform_data_o {
11831 pub __bindgen_anon_1: tm_window_platform_data_o__bindgen_ty_1,
11832}
11833#[repr(C)]
11834#[derive(Copy, Clone)]
11835pub union tm_window_platform_data_o__bindgen_ty_1 {
11836 pub win32: tm_window_platform_data_win32_o,
11837 pub macosx: tm_window_platform_data_macosx_o,
11838 _bindgen_union_align: [u64; 2usize],
11839}
11840#[repr(C)]
11841#[derive(Copy, Clone)]
11842pub struct tm_window_status_t {
11843 pub has_focus: bool,
11844 pub is_under_cursor: bool,
11845 pub is_minimized: bool,
11846 pub is_maximized: bool,
11847 pub is_hidden: bool,
11848}
11849#[repr(C)]
11850#[derive(Copy, Clone)]
11851pub struct tm_window_update_result_t {
11852 pub focus_changed: bool,
11853}
11854#[repr(C)]
11855#[derive(Copy, Clone)]
11856pub struct tm_os_dropped_file_t {
11857 pub filename: *mut ::std::os::raw::c_char,
11858 pub position: tm_vec2_t,
11859}
11860#[repr(C)]
11861#[derive(Copy, Clone)]
11862pub struct tm_os_window_api {
11863 pub create_window: ::std::option::Option<
11864 unsafe extern "C" fn(
11865 title: *const ::std::os::raw::c_char,
11866 rect: tm_rect_t,
11867 style_flags: tm_os_window_style,
11868 center_display: *const tm_display_o,
11869 ) -> *mut tm_window_o,
11870 >,
11871 pub update_window: ::std::option::Option<
11872 unsafe extern "C" fn(window: *mut tm_window_o) -> tm_window_update_result_t,
11873 >,
11874 pub wait: ::std::option::Option<unsafe extern "C" fn()>,
11875 pub destroy_window: ::std::option::Option<unsafe extern "C" fn(window: *mut tm_window_o)>,
11876 pub set_rect:
11877 ::std::option::Option<unsafe extern "C" fn(window: *mut tm_window_o, rect: tm_rect_t)>,
11878 pub rect: ::std::option::Option<unsafe extern "C" fn(window: *const tm_window_o) -> tm_rect_t>,
11879 pub dpi_scale_factor:
11880 ::std::option::Option<unsafe extern "C" fn(window: *const tm_window_o) -> f32>,
11881 pub adjust_rect: ::std::option::Option<
11882 unsafe extern "C" fn(
11883 rect: tm_rect_t,
11884 dpi_scale_factor: f32,
11885 arg1: tm_os_window_adjust_rect,
11886 ) -> tm_rect_t,
11887 >,
11888 pub set_size: ::std::option::Option<
11889 unsafe extern "C" fn(window: *mut tm_window_o, width: f32, height: f32),
11890 >,
11891 pub set_client_titlebar_area: ::std::option::Option<
11892 unsafe extern "C" fn(window: *mut tm_window_o, left_margin: f32, right_margin: f32),
11893 >,
11894 pub has_user_requested_close:
11895 ::std::option::Option<unsafe extern "C" fn(window: *mut tm_window_o, reset: bool) -> bool>,
11896 pub set_cursor_mode: ::std::option::Option<
11897 unsafe extern "C" fn(window: *mut tm_window_o, cursor_mode: tm_os_window_cursor_mode),
11898 >,
11899 pub cursor_mode: ::std::option::Option<
11900 unsafe extern "C" fn(window: *mut tm_window_o) -> tm_os_window_cursor_mode,
11901 >,
11902 pub set_cursor: ::std::option::Option<
11903 unsafe extern "C" fn(window: *mut tm_window_o, cursor_mode: tm_os_window_cursor),
11904 >,
11905 pub cursor: ::std::option::Option<
11906 unsafe extern "C" fn(window: *mut tm_window_o) -> tm_os_window_cursor,
11907 >,
11908 pub dropped_files: ::std::option::Option<
11909 unsafe extern "C" fn(window: *mut tm_window_o) -> *const tm_os_dropped_file_t,
11910 >,
11911 pub status:
11912 ::std::option::Option<unsafe extern "C" fn(window: *mut tm_window_o) -> tm_window_status_t>,
11913 pub platform_data: ::std::option::Option<
11914 unsafe extern "C" fn(window: *const tm_window_o) -> tm_window_platform_data_o,
11915 >,
11916 pub window_from_point:
11917 ::std::option::Option<unsafe extern "C" fn(pos: tm_vec2_t) -> *mut tm_window_o>,
11918 pub set_focus: ::std::option::Option<unsafe extern "C" fn(window: *mut tm_window_o)>,
11919 pub set_window_state: ::std::option::Option<
11920 unsafe extern "C" fn(window: *mut tm_window_o, state: tm_os_window_state),
11921 >,
11922 pub set_title: ::std::option::Option<
11923 unsafe extern "C" fn(window: *mut tm_window_o, title: *const ::std::os::raw::c_char),
11924 >,
11925}
11926pub const TM_TT_PROP__PHYSICS_BODY__MASS: ::std::os::raw::c_int = 0;
11927pub const TM_TT_PROP__PHYSICS_BODY__CENTER_OF_MASS: ::std::os::raw::c_int = 1;
11928pub const TM_TT_PROP__PHYSICS_BODY__INERTIA_TENSOR: ::std::os::raw::c_int = 2;
11929pub const TM_TT_PROP__PHYSICS_BODY__INERTIA_TENSOR_ROTATION: ::std::os::raw::c_int = 3;
11930pub const TM_TT_PROP__PHYSICS_BODY__KINEMATIC: ::std::os::raw::c_int = 4;
11931pub const TM_TT_PROP__PHYSICS_BODY__LINEAR_DAMPING: ::std::os::raw::c_int = 5;
11932pub const TM_TT_PROP__PHYSICS_BODY__ANGULAR_DAMPING: ::std::os::raw::c_int = 6;
11933pub const TM_TT_PROP__PHYSICS_BODY__DISABLE_GRAVITY: ::std::os::raw::c_int = 7;
11934pub const TM_TT_PROP__PHYSICS_BODY__ENABLE_CCD: ::std::os::raw::c_int = 8;
11935pub type _bindgen_ty_125 = ::std::os::raw::c_int;
11936#[repr(C)]
11937#[derive(Copy, Clone)]
11938pub struct tm_physics_body_component_t {
11939 pub mass: f32,
11940 pub center_of_mass: tm_vec3_t,
11941 pub inertia_tensor: tm_vec3_t,
11942 pub inertia_tensor_rotation: tm_vec4_t,
11943 pub kinematic: bool,
11944 pub disable_gravity: bool,
11945 pub enable_ccd: bool,
11946 pub _padding_32: [::std::os::raw::c_char; 1usize],
11947 pub linear_damping: f32,
11948 pub angular_damping: f32,
11949}
11950#[repr(C)]
11951#[derive(Copy, Clone)]
11952pub struct tm_physics_body_compute_inertia_tensor_o {
11953 _unused: [u8; 0],
11954}
11955#[repr(C)]
11956#[derive(Copy, Clone)]
11957pub struct tm_physics_body_compute_inertia_tensor_i {
11958 pub inst: *mut tm_physics_body_compute_inertia_tensor_o,
11959 pub compute: ::std::option::Option<
11960 unsafe extern "C" fn(
11961 inst: *mut tm_physics_body_compute_inertia_tensor_o,
11962 tt: *mut tm_the_truth_o,
11963 body: tm_tt_id_t,
11964 mass: f32,
11965 ) -> tm_physics_body_component_t,
11966 >,
11967}
11968pub const TM_TT_PROP__PHYSICS_COLLISION__COLLIDES_WITH: ::std::os::raw::c_int = 0;
11969pub const TM_TT_PROP__PHYSICS_COLLISION__NOTIFY_TOUCH_FOUND_WITH: ::std::os::raw::c_int = 1;
11970pub const TM_TT_PROP__PHYSICS_COLLISION__NOTIFY_TOUCH_PERSISTS_WITH: ::std::os::raw::c_int = 2;
11971pub const TM_TT_PROP__PHYSICS_COLLISION__NOTIFY_TOUCH_LOST_WITH: ::std::os::raw::c_int = 3;
11972pub type _bindgen_ty_126 = ::std::os::raw::c_int;
11973pub const tm_physics_joint_TM_PHYSICS_JOINT__NONE: tm_physics_joint = 0;
11974pub const tm_physics_joint_TM_PHYSICS_JOINT__FIXED: tm_physics_joint = 1;
11975pub const tm_physics_joint_TM_PHYSICS_JOINT__SPHERICAL: tm_physics_joint = 2;
11976pub const tm_physics_joint_TM_PHYSICS_JOINT__REVOLUTE: tm_physics_joint = 3;
11977pub const tm_physics_joint_TM_PHYSICS_JOINT__PRISMATIC: tm_physics_joint = 4;
11978pub const tm_physics_joint_TM_PHYSICS_JOINT__DISTANCE: tm_physics_joint = 5;
11979pub const tm_physics_joint_TM_PHYSICS_JOINT__D6: tm_physics_joint = 6;
11980pub type tm_physics_joint = ::std::os::raw::c_int;
11981pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__JOINT: ::std::os::raw::c_int = 0;
11982pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BODY_0: ::std::os::raw::c_int = 1;
11983pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BODY_1: ::std::os::raw::c_int = 2;
11984pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_ENABLED: ::std::os::raw::c_int = 3;
11985pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_BOUNCE_THRESHOLD: ::std::os::raw::c_int = 4;
11986pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_RESTITUTION: ::std::os::raw::c_int = 5;
11987pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_STIFFNESS: ::std::os::raw::c_int = 6;
11988pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__LIMIT_DAMPING: ::std::os::raw::c_int = 7;
11989pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BREAK_FORCE: ::std::os::raw::c_int = 8;
11990pub const TM_TT_PROP__PHYSICS_JOINT_COMPONENT__BREAK_TORQUE: ::std::os::raw::c_int = 9;
11991pub type _bindgen_ty_127 = ::std::os::raw::c_int;
11992pub const TM_TT_PROP__PHYSICS_JOINT__SPHERICAL__Y_ANGLE_LIMIT: ::std::os::raw::c_int = 0;
11993pub const TM_TT_PROP__PHYSICS_JOINT__SPHERICAL__Z_ANGLE_LIMIT: ::std::os::raw::c_int = 1;
11994pub type _bindgen_ty_128 = ::std::os::raw::c_int;
11995pub const TM_TT_PROP__PHYSICS_JOINT__REVOLUTE__LOWER_LIMIT: ::std::os::raw::c_int = 0;
11996pub const TM_TT_PROP__PHYSICS_JOINT__REVOLUTE__UPPER_LIMIT: ::std::os::raw::c_int = 1;
11997pub type _bindgen_ty_129 = ::std::os::raw::c_int;
11998pub const TM_TT_PROP__PHYSICS_JOINT__PRISMATIC__LOWER_LIMIT: ::std::os::raw::c_int = 0;
11999pub const TM_TT_PROP__PHYSICS_JOINT__PRISMATIC__UPPER_LIMIT: ::std::os::raw::c_int = 1;
12000pub type _bindgen_ty_130 = ::std::os::raw::c_int;
12001pub const TM_TT_PROP__PHYSICS_JOINT__DISTANCE__MIN: ::std::os::raw::c_int = 0;
12002pub const TM_TT_PROP__PHYSICS_JOINT__DISTANCE__MAX: ::std::os::raw::c_int = 1;
12003pub type _bindgen_ty_131 = ::std::os::raw::c_int;
12004#[repr(C)]
12005#[derive(Copy, Clone)]
12006pub struct tm_physics_joint_spherical_limits_t {
12007 pub y_angle: f32,
12008 pub z_angle: f32,
12009}
12010#[repr(C)]
12011#[derive(Copy, Clone)]
12012pub struct tm_physics_joint_revolute_limits_t {
12013 pub lower: f32,
12014 pub upper: f32,
12015}
12016#[repr(C)]
12017#[derive(Copy, Clone)]
12018pub struct tm_physics_joint_prismatic_limits_t {
12019 pub lower: f32,
12020 pub upper: f32,
12021}
12022#[repr(C)]
12023#[derive(Copy, Clone)]
12024pub struct tm_physics_joint_distance_limits_t {
12025 pub min: f32,
12026 pub max: f32,
12027}
12028#[repr(C)]
12029#[derive(Copy, Clone)]
12030pub struct tm_physics_joint_component_t {
12031 pub joint_type: u32,
12032 pub _padding_99: [::std::os::raw::c_char; 4usize],
12033 pub body_0: tm_entity_t,
12034 pub body_1: tm_entity_t,
12035 pub limit_enabled: bool,
12036 pub _padding_102: [::std::os::raw::c_char; 3usize],
12037 pub __bindgen_anon_1: tm_physics_joint_component_t__bindgen_ty_1,
12038 pub limit_restitution: f32,
12039 pub limit_bounce_threshold: f32,
12040 pub limit_stiffness: f32,
12041 pub limit_damping: f32,
12042 pub break_force: f32,
12043 pub break_torque: f32,
12044 pub _padding_117: [::std::os::raw::c_char; 4usize],
12045}
12046#[repr(C)]
12047#[derive(Copy, Clone)]
12048pub union tm_physics_joint_component_t__bindgen_ty_1 {
12049 pub spherical_limits: tm_physics_joint_spherical_limits_t,
12050 pub revolute_limits: tm_physics_joint_revolute_limits_t,
12051 pub prismatic_limits: tm_physics_joint_prismatic_limits_t,
12052 pub distance_limits: tm_physics_joint_distance_limits_t,
12053 _bindgen_union_align: [u32; 2usize],
12054}
12055pub const TM_TT_PROP__PHYSICS_MATERIAL__STATIC_FRICTION: ::std::os::raw::c_int = 0;
12056pub const TM_TT_PROP__PHYSICS_MATERIAL__DYNAMIC_FRICTION: ::std::os::raw::c_int = 1;
12057pub const TM_TT_PROP__PHYSICS_MATERIAL__RESTITUTION: ::std::os::raw::c_int = 2;
12058pub type _bindgen_ty_132 = ::std::os::raw::c_int;
12059pub const TM_TT_PROP__PHYSICS_MOVER_COMPONENT__HEIGHT: ::std::os::raw::c_int = 0;
12060pub const TM_TT_PROP__PHYSICS_MOVER_COMPONENT__RADIUS: ::std::os::raw::c_int = 1;
12061pub const TM_TT_PROP__PHYSICS_MOVER_COMPONENT__COLLISION: ::std::os::raw::c_int = 2;
12062pub type _bindgen_ty_133 = ::std::os::raw::c_int;
12063#[repr(C)]
12064#[derive(Copy, Clone)]
12065pub struct tm_physics_mover_component_t {
12066 pub height: f32,
12067 pub radius: f32,
12068 pub collision_id: tm_tt_id_t,
12069}
12070pub const tm_physics_shape_TM_PHYSICS_SHAPE__NONE: tm_physics_shape = 0;
12071pub const tm_physics_shape_TM_PHYSICS_SHAPE__SPHERE: tm_physics_shape = 1;
12072pub const tm_physics_shape_TM_PHYSICS_SHAPE__CAPSULE: tm_physics_shape = 2;
12073pub const tm_physics_shape_TM_PHYSICS_SHAPE__PLANE: tm_physics_shape = 3;
12074pub const tm_physics_shape_TM_PHYSICS_SHAPE__BOX: tm_physics_shape = 4;
12075pub const tm_physics_shape_TM_PHYSICS_SHAPE__CONVEX: tm_physics_shape = 5;
12076pub const tm_physics_shape_TM_PHYSICS_SHAPE__MESH: tm_physics_shape = 6;
12077pub type tm_physics_shape = ::std::os::raw::c_int;
12078pub const TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__TYPE: ::std::os::raw::c_int = 0;
12079pub const TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__SHAPE: ::std::os::raw::c_int = 1;
12080pub const TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__MATERIAL: ::std::os::raw::c_int = 2;
12081pub const TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__COLLISION: ::std::os::raw::c_int = 3;
12082pub const TM_TT_PROP__PHYSICS_SHAPE_COMPONENT__IS_TRIGGER: ::std::os::raw::c_int = 4;
12083pub type _bindgen_ty_134 = ::std::os::raw::c_int;
12084pub const TM_TT_PROP__PHYSICS_SHAPE__SPHERE__RADIUS: ::std::os::raw::c_int = 0;
12085pub type _bindgen_ty_135 = ::std::os::raw::c_int;
12086pub const TM_TT_PROP__PHYSICS_SHAPE__CAPSULE__RADIUS: ::std::os::raw::c_int = 0;
12087pub const TM_TT_PROP__PHYSICS_SHAPE__CAPSULE__HALF_HEIGHT: ::std::os::raw::c_int = 1;
12088pub type _bindgen_ty_136 = ::std::os::raw::c_int;
12089pub const TM_TT_PROP__PHYSICS_SHAPE__BOX__HALF_EXTENT: ::std::os::raw::c_int = 0;
12090pub type _bindgen_ty_137 = ::std::os::raw::c_int;
12091pub const TM_TT_PROP__PHYSICS_SHAPE__CONVEX__MESH: ::std::os::raw::c_int = 0;
12092pub const TM_TT_PROP__PHYSICS_SHAPE__CONVEX__FORMAT: ::std::os::raw::c_int = 1;
12093pub const TM_TT_PROP__PHYSICS_SHAPE__CONVEX__DATA: ::std::os::raw::c_int = 2;
12094pub type _bindgen_ty_138 = ::std::os::raw::c_int;
12095pub const TM_TT_PROP__PHYSICS_SHAPE__MESH__MESH: ::std::os::raw::c_int = 0;
12096pub const TM_TT_PROP__PHYSICS_SHAPE__MESH__FORMAT: ::std::os::raw::c_int = 1;
12097pub const TM_TT_PROP__PHYSICS_SHAPE__MESH__DATA: ::std::os::raw::c_int = 2;
12098pub type _bindgen_ty_139 = ::std::os::raw::c_int;
12099#[repr(C)]
12100#[derive(Copy, Clone)]
12101pub struct tm_physics_shape_sphere_t {
12102 pub radius: f32,
12103}
12104#[repr(C)]
12105#[derive(Copy, Clone)]
12106pub struct tm_physics_shape_capsule_t {
12107 pub radius: f32,
12108 pub half_height: f32,
12109}
12110#[repr(C)]
12111#[derive(Copy, Clone)]
12112pub struct tm_physics_shape_box_t {
12113 pub half_extent: tm_vec3_t,
12114}
12115#[repr(C)]
12116#[derive(Copy, Clone)]
12117pub struct tm_physics_shape_cooked_t {
12118 pub format: *const ::std::os::raw::c_char,
12119 pub data: *const u8,
12120 pub size: u64,
12121}
12122#[repr(C)]
12123#[derive(Copy, Clone)]
12124pub struct tm_physics_shape_material_t {
12125 pub static_friction: f32,
12126 pub dynamic_friction: f32,
12127 pub restitution: f32,
12128}
12129#[repr(C)]
12130#[derive(Copy, Clone)]
12131pub struct tm_physics_shape_component_t {
12132 pub shape: u32,
12133 pub _padding_106: [::std::os::raw::c_char; 4usize],
12134 pub __bindgen_anon_1: tm_physics_shape_component_t__bindgen_ty_1,
12135 pub material: tm_physics_shape_material_t,
12136 pub _padding_116: [::std::os::raw::c_char; 4usize],
12137 pub collision_id: tm_tt_id_t,
12138 pub is_trigger: bool,
12139 pub _padding_119: [::std::os::raw::c_char; 7usize],
12140}
12141#[repr(C)]
12142#[derive(Copy, Clone)]
12143pub union tm_physics_shape_component_t__bindgen_ty_1 {
12144 pub sphere: tm_physics_shape_sphere_t,
12145 pub capsule: tm_physics_shape_capsule_t,
12146 pub box_: tm_physics_shape_box_t,
12147 pub convex: tm_physics_shape_cooked_t,
12148 pub mesh: tm_physics_shape_cooked_t,
12149 _bindgen_union_align: [u64; 3usize],
12150}
12151#[repr(C)]
12152#[derive(Copy, Clone)]
12153pub struct tm_physics_shape_cooking_o {
12154 _unused: [u8; 0],
12155}
12156#[repr(C)]
12157#[derive(Copy, Clone)]
12158pub struct tm_physics_shape_cooking_i {
12159 pub inst: *mut tm_physics_shape_cooking_o,
12160 pub cook_convex: ::std::option::Option<
12161 unsafe extern "C" fn(
12162 inst: *mut tm_physics_shape_cooking_o,
12163 tt: *mut tm_the_truth_o,
12164 convex: tm_tt_id_t,
12165 undo_scope: tm_tt_undo_scope_t,
12166 ) -> *const ::std::os::raw::c_char,
12167 >,
12168 pub cook_mesh: ::std::option::Option<
12169 unsafe extern "C" fn(
12170 inst: *mut tm_physics_shape_cooking_o,
12171 tt: *mut tm_the_truth_o,
12172 mesh: tm_tt_id_t,
12173 undo_scope: tm_tt_undo_scope_t,
12174 ) -> *const ::std::os::raw::c_char,
12175 >,
12176}
12177#[repr(C)]
12178#[derive(Copy, Clone)]
12179pub struct tm_physics_shape_drawing_o {
12180 _unused: [u8; 0],
12181}
12182#[repr(C)]
12183#[derive(Copy, Clone)]
12184pub struct tm_physics_shape_drawing_i {
12185 pub inst: *mut tm_physics_shape_drawing_o,
12186 pub convex_lines: ::std::option::Option<
12187 unsafe extern "C" fn(
12188 inst: *mut tm_physics_shape_drawing_o,
12189 convex: *const tm_physics_shape_cooked_t,
12190 ta: *mut tm_temp_allocator_i,
12191 ) -> *const tm_vec3_t,
12192 >,
12193 pub mesh_lines: ::std::option::Option<
12194 unsafe extern "C" fn(
12195 inst: *mut tm_physics_shape_drawing_o,
12196 mesh: *const tm_physics_shape_cooked_t,
12197 ta: *mut tm_temp_allocator_i,
12198 ) -> *const tm_vec3_t,
12199 >,
12200}
12201#[repr(C)]
12202#[derive(Copy, Clone)]
12203pub struct tm_physics_shape_api {
12204 pub load_component_from_truth: ::std::option::Option<
12205 unsafe extern "C" fn(
12206 c: *mut tm_physics_shape_component_t,
12207 tt: *const tm_the_truth_o,
12208 asset: tm_tt_id_t,
12209 ),
12210 >,
12211}
12212pub type tm_physics_shape_geometry = ::std::option::Option<
12213 unsafe extern "C" fn(
12214 tt: *const tm_the_truth_o,
12215 id: tm_tt_id_t,
12216 ta: *mut tm_temp_allocator_i,
12217 ) -> tm_dcc_asset_geometry_t,
12218>;
12219pub const TM_TT_PROP__VELOCITY_COMPONENT__VELOCITY: ::std::os::raw::c_int = 0;
12220pub const TM_TT_PROP__VELOCITY_COMPONENT__ANGULAR_VELOCITY: ::std::os::raw::c_int = 1;
12221pub type _bindgen_ty_140 = ::std::os::raw::c_int;
12222#[repr(C)]
12223#[derive(Copy, Clone)]
12224pub struct tm_velocity_component_t {
12225 pub velocity: tm_vec3_t,
12226 pub angular_velocity: tm_vec3_t,
12227}
12228#[repr(C)]
12229#[derive(Copy, Clone)]
12230pub struct tm_physx_actor_o {
12231 _unused: [u8; 0],
12232}
12233#[repr(C)]
12234#[derive(Copy, Clone)]
12235pub struct tm_physx_shape_o {
12236 _unused: [u8; 0],
12237}
12238#[repr(C)]
12239#[derive(Copy, Clone)]
12240pub struct tm_physx_joint_o {
12241 _unused: [u8; 0],
12242}
12243#[repr(C)]
12244#[derive(Copy, Clone)]
12245pub struct tm_physx_mover_o {
12246 _unused: [u8; 0],
12247}
12248#[repr(C)]
12249#[derive(Copy, Clone)]
12250pub struct tm_physx_rigid_static_component_t {
12251 pub actor: *mut tm_physx_actor_o,
12252}
12253#[repr(C)]
12254#[derive(Copy, Clone)]
12255pub struct tm_physx_rigid_body_component_t {
12256 pub actor: *mut tm_physx_actor_o,
12257}
12258#[repr(C)]
12259#[derive(Copy, Clone)]
12260pub struct tm_physx_rigid_body_shape_component_t {
12261 pub body_entity: tm_entity_t,
12262 pub shape: *mut tm_physx_shape_o,
12263}
12264#[repr(C)]
12265#[derive(Copy, Clone)]
12266pub struct tm_physx_joint_component_t {
12267 pub joint: *mut tm_physx_joint_o,
12268}
12269#[repr(C)]
12270#[derive(Copy, Clone)]
12271pub struct tm_physx_mover_component_t {
12272 pub mover: *mut tm_physx_mover_o,
12273 pub collision_idx: u32,
12274 pub velocity: tm_vec3_t,
12275 pub is_standing: bool,
12276 pub _padding_66: [::std::os::raw::c_char; 7usize],
12277}
12278pub const TM_PHYSX_SCENE_FLAGS__EDITOR: ::std::os::raw::c_int = 1;
12279pub type _bindgen_ty_141 = ::std::os::raw::c_int;
12280#[repr(C)]
12281#[derive(Copy, Clone)]
12282pub struct tm_physx_raycast_flags_t {
12283 pub ignore_static: bool,
12284 pub ignore_dynamic: bool,
12285}
12286#[repr(C)]
12287#[derive(Copy, Clone)]
12288pub struct tm_physx_raycast_hit_t {
12289 pub pos: tm_vec3_t,
12290 pub normal: tm_vec3_t,
12291 pub distance: f32,
12292 pub _padding_97: [::std::os::raw::c_char; 4usize],
12293 pub body: tm_entity_t,
12294 pub shape: tm_entity_t,
12295}
12296#[repr(C)]
12297#[derive(Copy, Clone)]
12298pub struct tm_physx_raycast_t {
12299 pub has_block: bool,
12300 pub _padding_111: [::std::os::raw::c_char; 7usize],
12301 pub block: tm_physx_raycast_hit_t,
12302 pub num_touches: u32,
12303 pub _padding_118: [::std::os::raw::c_char; 4usize],
12304}
12305#[repr(C)]
12306#[derive(Copy, Clone)]
12307pub struct tm_physx_overlap_hit_t {
12308 pub body: tm_entity_t,
12309 pub shape: tm_entity_t,
12310}
12311#[repr(C)]
12312#[derive(Copy, Clone)]
12313pub struct tm_physx_on_contact_t {
12314 pub actor_0: tm_entity_t,
12315 pub actor_1: tm_entity_t,
12316 pub shape_0: tm_entity_t,
12317 pub shape_1: tm_entity_t,
12318 pub pos: tm_vec3_t,
12319 pub normal: tm_vec3_t,
12320 pub first_touch: bool,
12321 pub lost_touch: bool,
12322 pub _padding_158: [::std::os::raw::c_char; 6usize],
12323}
12324#[repr(C)]
12325#[derive(Copy, Clone)]
12326pub struct tm_physx_on_trigger_t {
12327 pub trigger_entity: tm_entity_t,
12328 pub trigger_shape: tm_entity_t,
12329 pub touched_entity: tm_entity_t,
12330 pub touched_shape: tm_entity_t,
12331 pub lost_touch: bool,
12332 pub _padding_178: [::std::os::raw::c_char; 7usize],
12333}
12334#[repr(C)]
12335#[derive(Copy, Clone)]
12336pub struct tm_physx_on_joint_break_t {
12337 pub joint: tm_entity_t,
12338}
12339pub const tm_physx_force_flags_TM_PHYSX_FORCE_FLAGS__FORCE: tm_physx_force_flags = 0;
12340pub const tm_physx_force_flags_TM_PHYSX_FORCE_FLAGS__IMPULSE: tm_physx_force_flags = 1;
12341pub const tm_physx_force_flags_TM_PHYSX_FORCE_FLAGS__ACCELERATION: tm_physx_force_flags = 2;
12342pub const tm_physx_force_flags_TM_PHYSX_FORCE_FLAGS__VELOCITY_CHANGE: tm_physx_force_flags = 3;
12343pub const tm_physx_force_flags_TM_PHYSX_FORCE_FLAGS__CONTINUOUS: tm_physx_force_flags = 4;
12344pub type tm_physx_force_flags = ::std::os::raw::c_int;
12345#[repr(C)]
12346#[derive(Copy, Clone)]
12347pub struct tm_physx_scene_api {
12348 pub create: ::std::option::Option<
12349 unsafe extern "C" fn(ctx: *mut tm_entity_context_o, flags: u32) -> *mut tm_physx_scene_o,
12350 >,
12351 pub update: ::std::option::Option<unsafe extern "C" fn(physx: *mut tm_physx_scene_o, dt: f32)>,
12352 pub visualize: ::std::option::Option<
12353 unsafe extern "C" fn(
12354 physx: *mut tm_physx_scene_o,
12355 pbuffer: *mut tm_primitive_drawer_buffer_t,
12356 vbuffer: *mut tm_primitive_drawer_buffer_t,
12357 a: *mut tm_allocator_i,
12358 ),
12359 >,
12360 pub raycast: ::std::option::Option<
12361 unsafe extern "C" fn(
12362 physx: *mut tm_physx_scene_o,
12363 from: tm_vec3_t,
12364 dir: tm_vec3_t,
12365 distance: f32,
12366 collision_id: tm_tt_id_t,
12367 flags: tm_physx_raycast_flags_t,
12368 touches: *mut tm_physx_raycast_hit_t,
12369 max_touches: u32,
12370 ) -> tm_physx_raycast_t,
12371 >,
12372 pub sweep: ::std::option::Option<
12373 unsafe extern "C" fn(
12374 physx: *mut tm_physx_scene_o,
12375 shape: *const tm_physics_shape_component_t,
12376 from: tm_vec3_t,
12377 rot: tm_vec4_t,
12378 dir: tm_vec3_t,
12379 distance: f32,
12380 collision_id: tm_tt_id_t,
12381 flags: tm_physx_raycast_flags_t,
12382 touches: *mut tm_physx_raycast_hit_t,
12383 max_touches: u32,
12384 ) -> tm_physx_raycast_t,
12385 >,
12386 pub overlap: ::std::option::Option<
12387 unsafe extern "C" fn(
12388 physx: *mut tm_physx_scene_o,
12389 shape: *const tm_physics_shape_component_t,
12390 pos: tm_vec3_t,
12391 rot: tm_vec4_t,
12392 collision_id: tm_tt_id_t,
12393 flags: tm_physx_raycast_flags_t,
12394 touches: *mut tm_physx_overlap_hit_t,
12395 max_touches: u32,
12396 ) -> u32,
12397 >,
12398 pub on_contact: ::std::option::Option<
12399 unsafe extern "C" fn(physx: *mut tm_physx_scene_o) -> *mut tm_physx_on_contact_t,
12400 >,
12401 pub on_trigger: ::std::option::Option<
12402 unsafe extern "C" fn(physx: *mut tm_physx_scene_o) -> *mut tm_physx_on_trigger_t,
12403 >,
12404 pub on_joint_break: ::std::option::Option<
12405 unsafe extern "C" fn(physx: *mut tm_physx_scene_o) -> *mut tm_physx_on_joint_break_t,
12406 >,
12407 pub velocity: ::std::option::Option<
12408 unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t) -> tm_vec3_t,
12409 >,
12410 pub set_velocity: ::std::option::Option<
12411 unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t, vel: tm_vec3_t),
12412 >,
12413 pub angular_velocity: ::std::option::Option<
12414 unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t) -> tm_vec3_t,
12415 >,
12416 pub set_angular_velocity: ::std::option::Option<
12417 unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t, vel: tm_vec3_t),
12418 >,
12419 pub is_kinematic: ::std::option::Option<
12420 unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t) -> bool,
12421 >,
12422 pub set_kinematic: ::std::option::Option<
12423 unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t, is_kinematic: bool),
12424 >,
12425 pub add_force: ::std::option::Option<
12426 unsafe extern "C" fn(
12427 physx: *mut tm_physx_scene_o,
12428 e: tm_entity_t,
12429 force: tm_vec3_t,
12430 flags: u32,
12431 ),
12432 >,
12433 pub add_torque: ::std::option::Option<
12434 unsafe extern "C" fn(
12435 physx: *mut tm_physx_scene_o,
12436 e: tm_entity_t,
12437 torque: tm_vec3_t,
12438 flags: u32,
12439 ),
12440 >,
12441 pub add_force_at: ::std::option::Option<
12442 unsafe extern "C" fn(
12443 physx: *mut tm_physx_scene_o,
12444 e: tm_entity_t,
12445 force: tm_vec3_t,
12446 pos: tm_vec3_t,
12447 flags: u32,
12448 ),
12449 >,
12450 pub push: ::std::option::Option<
12451 unsafe extern "C" fn(
12452 physx: *mut tm_physx_scene_o,
12453 e: tm_entity_t,
12454 vel: tm_vec3_t,
12455 mass: f32,
12456 ),
12457 >,
12458 pub push_at: ::std::option::Option<
12459 unsafe extern "C" fn(
12460 physx: *mut tm_physx_scene_o,
12461 e: tm_entity_t,
12462 vel: tm_vec3_t,
12463 mass: f32,
12464 pos: tm_vec3_t,
12465 ),
12466 >,
12467 pub break_joint:
12468 ::std::option::Option<unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t)>,
12469 pub is_joint_broken: ::std::option::Option<
12470 unsafe extern "C" fn(physx: *mut tm_physx_scene_o, e: tm_entity_t) -> bool,
12471 >,
12472}
12473pub const TM_RENDERER_STATE_BLOCK_TYPE_TESSELLATION: ::std::os::raw::c_int = 0;
12474pub const TM_RENDERER_STATE_BLOCK_TYPE_RASTER: ::std::os::raw::c_int = 1;
12475pub const TM_RENDERER_STATE_BLOCK_TYPE_DEPTH_STENCIL: ::std::os::raw::c_int = 2;
12476pub const TM_RENDERER_STATE_BLOCK_TYPE_TEXTURE_SAMPLER: ::std::os::raw::c_int = 3;
12477pub const TM_RENDERER_STATE_BLOCK_TYPE_RENDER_TARGET_BLEND: ::std::os::raw::c_int = 4;
12478pub const TM_RENDERER_STATE_BLOCK_TYPE_BLEND: ::std::os::raw::c_int = 5;
12479pub const TM_RENDERER_STATE_BLOCK_TYPE_MULTI_SAMPLE: ::std::os::raw::c_int = 6;
12480pub const TM_RENDERER_STATE_BLOCK_TYPE_MAX_STATE_BLOCK_TYPES: ::std::os::raw::c_int = 7;
12481pub type _bindgen_ty_142 = ::std::os::raw::c_int;
12482pub const TM_RENDERER_VALUE_TYPE_BOOL: ::std::os::raw::c_int = 0;
12483pub const TM_RENDERER_VALUE_TYPE_UINT32: ::std::os::raw::c_int = 1;
12484pub const TM_RENDERER_VALUE_TYPE_FLOAT32: ::std::os::raw::c_int = 2;
12485pub const TM_RENDERER_VALUE_TYPE_COMPARE_OP: ::std::os::raw::c_int = 3;
12486pub const TM_RENDERER_VALUE_TYPE_CULL: ::std::os::raw::c_int = 4;
12487pub const TM_RENDERER_VALUE_TYPE_FRONT_FACE: ::std::os::raw::c_int = 5;
12488pub const TM_RENDERER_VALUE_TYPE_POLYGON_MODE: ::std::os::raw::c_int = 6;
12489pub const TM_RENDERER_VALUE_TYPE_STENCIL_OP: ::std::os::raw::c_int = 7;
12490pub const TM_RENDERER_VALUE_TYPE_FILTER: ::std::os::raw::c_int = 8;
12491pub const TM_RENDERER_VALUE_TYPE_MIP_MODE: ::std::os::raw::c_int = 9;
12492pub const TM_RENDERER_VALUE_TYPE_ADDRESS_MODE: ::std::os::raw::c_int = 10;
12493pub const TM_RENDERER_VALUE_TYPE_BORDER_COLOR: ::std::os::raw::c_int = 11;
12494pub const TM_RENDERER_VALUE_TYPE_BLEND_FACTOR: ::std::os::raw::c_int = 12;
12495pub const TM_RENDERER_VALUE_TYPE_BLEND_OPERATION: ::std::os::raw::c_int = 13;
12496pub const TM_RENDERER_VALUE_TYPE_BLEND_WRITE_MASK: ::std::os::raw::c_int = 14;
12497pub const TM_RENDERER_VALUE_TYPE_LOGICAL_OPERATION: ::std::os::raw::c_int = 15;
12498pub const TM_RENDERER_VALUE_TYPE_STATE_BLOCK: ::std::os::raw::c_int = -16777216;
12499pub const TM_RENDERER_VALUE_TYPE_MAX_VALUE_TYPES: ::std::os::raw::c_int = -16777215;
12500pub type _bindgen_ty_143 = ::std::os::raw::c_int;
12501#[repr(C)]
12502#[derive(Copy, Clone)]
12503pub struct tm_renderer_shader_blob_t {
12504 pub size: u64,
12505 pub data: *mut u8,
12506}
12507#[repr(C)]
12508#[derive(Copy, Clone)]
12509pub struct tm_renderer_image_subresource_layers_t {
12510 pub first_layer: u16,
12511 pub layer_count: u16,
12512 pub first_mip: u16,
12513 pub mip_levels: u16,
12514}
12515#[repr(C)]
12516#[derive(Copy, Clone)]
12517pub struct tm_renderer_image_offset_t {
12518 pub x: u16,
12519 pub y: u16,
12520 pub z: u16,
12521}
12522#[repr(C)]
12523#[derive(Copy, Clone)]
12524pub struct tm_renderer_image_extent_t {
12525 pub width: u16,
12526 pub height: u16,
12527 pub depth: u16,
12528}
12529pub const tm_renderer_queue_TM_RENDERER_QUEUE_GRAPHICS: tm_renderer_queue = 0;
12530pub const tm_renderer_queue_TM_RENDERER_QUEUE_COMPUTE: tm_renderer_queue = 1;
12531pub const tm_renderer_queue_TM_RENDERER_QUEUE_TRANSFER: tm_renderer_queue = 2;
12532pub type tm_renderer_queue = ::std::os::raw::c_int;
12533pub const tm_renderer_resource_load_op_TM_RENDERER_RESOURCE_LOAD_OP_LOAD:
12534 tm_renderer_resource_load_op = 0;
12535pub const tm_renderer_resource_load_op_TM_RENDERER_RESOURCE_LOAD_OP_CLEAR:
12536 tm_renderer_resource_load_op = 1;
12537pub const tm_renderer_resource_load_op_TM_RENDERER_RESOURCE_LOAD_OP_DISCARD:
12538 tm_renderer_resource_load_op = 2;
12539pub type tm_renderer_resource_load_op = ::std::os::raw::c_int;
12540pub const tm_renderer_resource_store_op_TM_RENDERER_RESOURCE_STORE_OP_STORE:
12541 tm_renderer_resource_store_op = 0;
12542pub const tm_renderer_resource_store_op_TM_RENDERER_RESOURCE_STORE_OP_DISCARD:
12543 tm_renderer_resource_store_op = 1;
12544pub type tm_renderer_resource_store_op = ::std::os::raw::c_int;
12545pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_VERTEX_INPUT:
12546 tm_renderer_resource_state = 1;
12547pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_RENDER_TARGET:
12548 tm_renderer_resource_state = 2;
12549pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_UAV: tm_renderer_resource_state = 4;
12550pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_RESOURCE:
12551 tm_renderer_resource_state = 8;
12552pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_VERTEX_SHADER:
12553 tm_renderer_resource_state = 16;
12554pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_HULL_SHADER:
12555 tm_renderer_resource_state = 32;
12556pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_DOMAIN_SHADER:
12557 tm_renderer_resource_state = 64;
12558pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_GEOMETRY_SHADER:
12559 tm_renderer_resource_state = 128;
12560pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_PIXEL_SHADER:
12561 tm_renderer_resource_state = 256;
12562pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_COMPUTE_SHADER:
12563 tm_renderer_resource_state = 512;
12564pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_COPY_SOURCE:
12565 tm_renderer_resource_state = 1024;
12566pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_COPY_DESTINATION:
12567 tm_renderer_resource_state = 2048;
12568pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_INDIRECT_ARGUMENT:
12569 tm_renderer_resource_state = 4096;
12570pub const tm_renderer_resource_state_TM_RENDERER_RESOURCE_STATE_PRESENT:
12571 tm_renderer_resource_state = 8192;
12572pub type tm_renderer_resource_state = ::std::os::raw::c_int;
12573#[repr(C)]
12574#[derive(Copy, Clone)]
12575pub struct tm_renderer_command_buffer {
12576 _unused: [u8; 0],
12577}
12578#[repr(C)]
12579#[derive(Copy, Clone)]
12580pub struct tm_renderer_render_pass_bind_render_target_t {
12581 pub resource: u32,
12582 pub aspect: u32,
12583 pub initial_state: u16,
12584 pub final_state: u16,
12585 pub load_op: u8,
12586 pub store_op: u8,
12587 pub stencil_load_op: u8,
12588 pub stencil_store_op: u8,
12589}
12590pub const TM_RENDERER_MAX_RENDER_TARGETS: ::std::os::raw::c_int = 8;
12591pub type _bindgen_ty_144 = ::std::os::raw::c_int;
12592pub const TM_RENDERER_MAX_QUEUE_FENCES: ::std::os::raw::c_int = 4;
12593pub type _bindgen_ty_145 = ::std::os::raw::c_int;
12594#[repr(C)]
12595#[derive(Copy, Clone)]
12596pub struct tm_renderer_scheduling_t {
12597 pub wait_queue_fences: [u32; 4usize],
12598 pub wait_device_affinity_masks: [u32; 4usize],
12599 pub num_wait_fences: u32,
12600 pub signal_queue_fence: u32,
12601 pub signal_device_affinity_mask: u32,
12602}
12603#[repr(C)]
12604#[derive(Copy, Clone)]
12605pub struct tm_renderer_render_pass_bind_t {
12606 pub device_affinity_mask: u32,
12607 pub render_targets: [tm_renderer_render_pass_bind_render_target_t; 8usize],
12608 pub depth_stencil_target: tm_renderer_render_pass_bind_render_target_t,
12609 pub scheduling: tm_renderer_scheduling_t,
12610}
12611#[repr(C)]
12612#[derive(Copy, Clone)]
12613pub struct tm_renderer_queue_bind_t {
12614 pub device_affinity_mask: u32,
12615 pub queue_family: u8,
12616 pub queue_index: u8,
12617 pub _padding_154: [::std::os::raw::c_char; 2usize],
12618 pub scheduling: tm_renderer_scheduling_t,
12619}
12620pub const TM_RENDERER_MAX_VIEWPORTS_SCISSOR_RECTS: ::std::os::raw::c_int = 8;
12621pub type _bindgen_ty_146 = ::std::os::raw::c_int;
12622#[repr(C)]
12623#[derive(Copy, Clone)]
12624pub struct tm_renderer_set_viewports_t {
12625 pub viewports: [tm_renderer_set_viewports_t__bindgen_ty_1; 8usize],
12626 pub num_viewports: u32,
12627}
12628#[repr(C)]
12629#[derive(Copy, Clone)]
12630pub struct tm_renderer_set_viewports_t__bindgen_ty_1 {
12631 pub x: f32,
12632 pub y: f32,
12633 pub width: f32,
12634 pub height: f32,
12635 pub min_depth: f32,
12636 pub max_depth: f32,
12637}
12638#[repr(C)]
12639#[derive(Copy, Clone)]
12640pub struct tm_renderer_set_scissor_rects_t {
12641 pub rects: [tm_renderer_set_scissor_rects_t__bindgen_ty_1; 8usize],
12642 pub num_rects: u32,
12643}
12644#[repr(C)]
12645#[derive(Copy, Clone)]
12646pub struct tm_renderer_set_scissor_rects_t__bindgen_ty_1 {
12647 pub x: i32,
12648 pub y: i32,
12649 pub width: u32,
12650 pub height: u32,
12651}
12652#[repr(C)]
12653#[derive(Copy, Clone)]
12654pub struct tm_renderer_begin_statistics_t {
12655 pub category: *const ::std::os::raw::c_char,
12656 pub name: *const ::std::os::raw::c_char,
12657 pub flags: u32,
12658 pub _padding_197: [::std::os::raw::c_char; 4usize],
12659 pub uid: u64,
12660 pub backend_data: [u32; 8usize],
12661}
12662#[repr(C)]
12663#[derive(Copy, Clone)]
12664pub struct tm_renderer_end_statistics_t {
12665 pub uid: u64,
12666 pub backend_data: [u32; 8usize],
12667}
12668pub const tm_renderer_dispatch_type_TM_RENDERER_DISPATCH_TYPE_NORMAL: tm_renderer_dispatch_type = 0;
12669pub const tm_renderer_dispatch_type_TM_RENDERER_DISPATCH_TYPE_INDIRECT: tm_renderer_dispatch_type =
12670 1;
12671pub type tm_renderer_dispatch_type = ::std::os::raw::c_int;
12672#[repr(C)]
12673#[derive(Copy, Clone)]
12674pub struct tm_renderer_dispatch_command_t {
12675 pub group_count: [u32; 3usize],
12676}
12677#[repr(C)]
12678#[derive(Copy, Clone)]
12679pub struct tm_renderer_dispatch_indirect_command_t {
12680 pub indirect_buffer: u32,
12681 pub _padding_226: [::std::os::raw::c_char; 4usize],
12682 pub offset: u64,
12683}
12684#[repr(C)]
12685#[derive(Copy, Clone)]
12686pub struct tm_renderer_compute_info_t {
12687 pub dispatch_type: u8,
12688 pub _padding_234: [::std::os::raw::c_char; 7usize],
12689 pub __bindgen_anon_1: tm_renderer_compute_info_t__bindgen_ty_1,
12690}
12691#[repr(C)]
12692#[derive(Copy, Clone)]
12693pub union tm_renderer_compute_info_t__bindgen_ty_1 {
12694 pub dispatch: tm_renderer_dispatch_command_t,
12695 pub indirect: tm_renderer_dispatch_indirect_command_t,
12696 _bindgen_union_align: [u64; 2usize],
12697}
12698pub const tm_renderer_primitive_type_TM_RENDERER_PRIMITIVE_TYPE_TRIANGLE_LIST:
12699 tm_renderer_primitive_type = 0;
12700pub const tm_renderer_primitive_type_TM_RENDERER_PRIMITIVE_TYPE_LINE_LIST:
12701 tm_renderer_primitive_type = 1;
12702pub const tm_renderer_primitive_type_TM_RENDERER_PRIMITIVE_TYPE_POINT_LIST:
12703 tm_renderer_primitive_type = 2;
12704pub const tm_renderer_primitive_type_TM_RENDERER_PRIMITIVE_TYPE_MAX_TYPES:
12705 tm_renderer_primitive_type = 3;
12706pub type tm_renderer_primitive_type = ::std::os::raw::c_int;
12707pub const tm_renderer_draw_type_TM_RENDERER_DRAW_TYPE_NON_INDEXED: tm_renderer_draw_type = 0;
12708pub const tm_renderer_draw_type_TM_RENDERER_DRAW_TYPE_INDEXED: tm_renderer_draw_type = 1;
12709pub const tm_renderer_draw_type_TM_RENDERER_DRAW_TYPE_NON_INDEXED_INDIRECT: tm_renderer_draw_type =
12710 2;
12711pub const tm_renderer_draw_type_TM_RENDERER_DRAW_TYPE_INDEXED_INDIRECT: tm_renderer_draw_type = 3;
12712pub type tm_renderer_draw_type = ::std::os::raw::c_int;
12713pub const tm_renderer_index_type_TM_RENDERER_INDEX_TYPE_UINT16: tm_renderer_index_type = 0;
12714pub const tm_renderer_index_type_TM_RENDERER_INDEX_TYPE_UINT32: tm_renderer_index_type = 1;
12715pub type tm_renderer_index_type = ::std::os::raw::c_int;
12716#[repr(C)]
12717#[derive(Copy, Clone)]
12718pub struct tm_renderer_draw_command_t {
12719 pub num_vertices: u32,
12720 pub num_instances: u32,
12721 pub first_vertex: u32,
12722 pub first_instance: u32,
12723}
12724#[repr(C)]
12725#[derive(Copy, Clone)]
12726pub struct tm_renderer_draw_indexed_command_t {
12727 pub num_indices: u32,
12728 pub num_instances: u32,
12729 pub first_index: u32,
12730 pub vertex_offset: i32,
12731 pub first_instance: u32,
12732}
12733#[repr(C)]
12734#[derive(Copy, Clone)]
12735pub struct tm_renderer_draw_indirect_command_t {
12736 pub indirect_buffer: u32,
12737 pub _padding_306: [::std::os::raw::c_char; 4usize],
12738 pub offset: u64,
12739 pub stride: u32,
12740 pub num_draws: u32,
12741}
12742#[repr(C)]
12743#[derive(Copy, Clone)]
12744pub struct tm_renderer_draw_call_info_t {
12745 pub __bindgen_anon_1: tm_renderer_draw_call_info_t__bindgen_ty_1,
12746 pub index_buffer: u32,
12747 pub primitive_type: u8,
12748 pub draw_type: u8,
12749 pub index_type: u8,
12750 pub _padding_337: [::std::os::raw::c_char; 1usize],
12751}
12752#[repr(C)]
12753#[derive(Copy, Clone)]
12754pub union tm_renderer_draw_call_info_t__bindgen_ty_1 {
12755 pub non_indexed: tm_renderer_draw_command_t,
12756 pub indexed: tm_renderer_draw_indexed_command_t,
12757 pub indirect: tm_renderer_draw_indirect_command_t,
12758 _bindgen_union_align: [u64; 3usize],
12759}
12760pub const TM_RENDERER_MAX_RESOURCE_BINDERS: ::std::os::raw::c_int = 6;
12761pub const TM_RENDERER_MAX_PUSH_CONSTANTS: ::std::os::raw::c_int = 8;
12762pub const TM_RENDERER_MAX_SHADER_STATE_OVERRIDE_BLOCKS: ::std::os::raw::c_int = 4;
12763pub type _bindgen_ty_147 = ::std::os::raw::c_int;
12764#[repr(C)]
12765#[derive(Copy, Clone)]
12766pub struct tm_renderer_shader_state_override_blocks_t {
12767 pub num_override_blocks: u8,
12768 pub _padding_353: [::std::os::raw::c_char; 3usize],
12769 pub shader_state_override_blocks: [u32; 4usize],
12770}
12771#[repr(C)]
12772#[derive(Copy, Clone)]
12773pub struct tm_renderer_shader_resource_binders_t {
12774 pub num_resource_binders: u8,
12775 pub _padding_362: [::std::os::raw::c_char; 3usize],
12776 pub resource_binders: [u32; 6usize],
12777}
12778#[repr(C)]
12779#[derive(Copy, Clone)]
12780pub struct tm_renderer_shader_push_constants_t {
12781 pub num_constants: u8,
12782 pub _padding_371: [::std::os::raw::c_char; 3usize],
12783 pub data: [u32; 8usize],
12784}
12785#[repr(C)]
12786#[derive(Copy, Clone)]
12787pub struct tm_renderer_shader_info_t {
12788 pub shader: u32,
12789 pub state_override_blocks: tm_renderer_shader_state_override_blocks_t,
12790 pub binders: tm_renderer_shader_resource_binders_t,
12791 pub constants: tm_renderer_shader_push_constants_t,
12792 pub sort_key: u64,
12793}
12794#[repr(C)]
12795#[derive(Copy, Clone)]
12796pub struct tm_renderer_shader_header_t {
12797 pub shader: u32,
12798 pub num_state_override_blocks: u16,
12799 pub num_resource_binders: u16,
12800 pub num_bytes_push_constants: u16,
12801 pub _padding_398: [::std::os::raw::c_char; 2usize],
12802}
12803pub const tm_renderer_image_aspect_TM_RENDERER_IMAGE_ASPECT_DEFAULT: tm_renderer_image_aspect = 0;
12804pub const tm_renderer_image_aspect_TM_RENDERER_IMAGE_ASPECT_SRGB: tm_renderer_image_aspect = 1;
12805pub const tm_renderer_image_aspect_TM_RENDERER_IMAGE_ASPECT_DEPTH: tm_renderer_image_aspect = 2;
12806pub const tm_renderer_image_aspect_TM_RENDERER_IMAGE_ASPECT_STENCIL: tm_renderer_image_aspect = 3;
12807pub const tm_renderer_image_aspect_TM_RENDERER_IMAGE_ASPECT_ADDITONAL_VIEW:
12808 tm_renderer_image_aspect = 134217728;
12809pub type tm_renderer_image_aspect = ::std::os::raw::c_int;
12810#[repr(C)]
12811#[derive(Copy, Clone)]
12812pub struct tm_renderer_set_resource_t {
12813 pub bind_point: u32,
12814 pub resource_handle: u32,
12815 pub resource_aspect_flag: u32,
12816}
12817#[repr(C)]
12818#[derive(Copy, Clone)]
12819pub struct tm_renderer_set_array_resources_t {
12820 pub bind_point: u32,
12821 pub first_element: u32,
12822 pub n_handles: u32,
12823}
12824#[repr(C)]
12825#[derive(Copy, Clone)]
12826pub struct tm_renderer_update_buffer_command_t {
12827 pub offset: u64,
12828 pub size: u64,
12829 pub device_affinity_mask: u32,
12830 pub _padding_452: [::std::os::raw::c_char; 4usize],
12831}
12832#[repr(C)]
12833#[derive(Copy, Clone)]
12834pub struct tm_renderer_update_image_buffer_command_t {
12835 pub subresource: tm_renderer_image_subresource_layers_t,
12836 pub offset: tm_renderer_image_offset_t,
12837 pub extent: tm_renderer_image_extent_t,
12838 pub _padding_461: [::std::os::raw::c_char; 4usize],
12839 pub size: u64,
12840 pub device_affinity_mask: u32,
12841 pub _padding_466: [::std::os::raw::c_char; 4usize],
12842}
12843#[repr(C)]
12844#[derive(Copy, Clone)]
12845pub struct tm_renderer_create_additional_image_views_t {
12846 pub device_affinity_mask: u32,
12847 pub num_views: u32,
12848}
12849#[repr(C)]
12850#[derive(Copy, Clone)]
12851pub struct tm_renderer_destroy_additional_image_views_t {
12852 pub device_affinity_mask: u32,
12853}
12854#[repr(C)]
12855#[derive(Copy, Clone)]
12856pub struct tm_renderer_resource_barrier_header_t {
12857 pub num_barriers: u32,
12858}
12859pub const tm_renderer_resource_barrier_flag_TM_RENDERER_RESOURCE_BARRIER_FLAG_IMAGE_ASPECT_STENCIL : tm_renderer_resource_barrier_flag = 1 ;
12860pub const tm_renderer_resource_barrier_flag_TM_RENDERER_RESOURCE_BARRIER_FLAG_SUBRESOURCE:
12861 tm_renderer_resource_barrier_flag = 2;
12862pub type tm_renderer_resource_barrier_flag = ::std::os::raw::c_int;
12863#[repr(C)]
12864#[derive(Copy, Clone)]
12865pub struct tm_renderer_resource_barrier_t {
12866 pub resource_handle: u32,
12867 pub source_state: u16,
12868 pub destination_state: u16,
12869 pub source_queue: u16,
12870 pub destination_queue: u16,
12871 pub barrier_flags: u16,
12872 pub _padding_513: [::std::os::raw::c_char; 2usize],
12873 pub __bindgen_anon_1: tm_renderer_resource_barrier_t__bindgen_ty_1,
12874}
12875#[repr(C)]
12876#[derive(Copy, Clone)]
12877pub union tm_renderer_resource_barrier_t__bindgen_ty_1 {
12878 pub subresource_image: tm_renderer_resource_barrier_t__bindgen_ty_1__bindgen_ty_1,
12879 pub subresource_buffer: tm_renderer_resource_barrier_t__bindgen_ty_1__bindgen_ty_2,
12880 _bindgen_union_align: [u64; 2usize],
12881}
12882#[repr(C)]
12883#[derive(Copy, Clone)]
12884pub struct tm_renderer_resource_barrier_t__bindgen_ty_1__bindgen_ty_1 {
12885 pub first_layer: u16,
12886 pub layer_count: u16,
12887 pub first_mip_level: u16,
12888 pub mip_count: u16,
12889}
12890#[repr(C)]
12891#[derive(Copy, Clone)]
12892pub struct tm_renderer_resource_barrier_t__bindgen_ty_1__bindgen_ty_2 {
12893 pub offset: u64,
12894 pub size: u64,
12895}
12896pub const tm_renderer_copy_image_flags_TM_RENDERER_COPY_IMAGE_FLAG_IMAGE_ASPECT_STENCIL:
12897 tm_renderer_copy_image_flags = 1;
12898pub const tm_renderer_copy_image_flags_TM_RENDERER_COPY_IMAGE_FLAG_SUBRESOURCE:
12899 tm_renderer_copy_image_flags = 2;
12900pub type tm_renderer_copy_image_flags = ::std::os::raw::c_int;
12901#[repr(C)]
12902#[derive(Copy, Clone)]
12903pub struct tm_renderer_copy_image_buffer_t {
12904 pub source_resource: u32,
12905 pub destination_resource: u32,
12906 pub copy_flags: u16,
12907 pub src_subresource_layers: tm_renderer_image_subresource_layers_t,
12908 pub src_offset: tm_renderer_image_offset_t,
12909 pub dst_subresource_layers: tm_renderer_image_subresource_layers_t,
12910 pub dst_offset: tm_renderer_image_offset_t,
12911 pub extent: tm_renderer_image_extent_t,
12912}
12913#[repr(C)]
12914#[derive(Copy, Clone)]
12915pub struct tm_renderer_copy_buffer_t {
12916 pub source_resource: u32,
12917 pub destination_resource: u32,
12918 pub source_offset: u64,
12919 pub destination_offset: u64,
12920 pub size: u64,
12921}
12922pub const tm_renderer_read_image_flags_TM_RENDERER_READ_IMAGE_FLAG_IMAGE_ASPECT_STENCIL:
12923 tm_renderer_read_image_flags = 1;
12924pub const tm_renderer_read_image_flags_TM_RENDERER_READ_IMAGE_FLAG_SUBRESOURCE:
12925 tm_renderer_read_image_flags = 2;
12926pub type tm_renderer_read_image_flags = ::std::os::raw::c_int;
12927#[repr(C)]
12928#[derive(Copy, Clone)]
12929pub struct tm_renderer_read_image_buffer_t {
12930 pub device_affinity_mask: u32,
12931 pub resource_handle: u32,
12932 pub resource_state: u16,
12933 pub resource_queue: u16,
12934 pub read_flags: u16,
12935 pub subresource_layers: tm_renderer_image_subresource_layers_t,
12936 pub offset: tm_renderer_image_offset_t,
12937 pub extent: tm_renderer_image_extent_t,
12938 pub _padding_604: [::std::os::raw::c_char; 6usize],
12939 pub bits: *mut ::std::os::raw::c_void,
12940 pub size_bits: u64,
12941}
12942#[repr(C)]
12943#[derive(Copy, Clone)]
12944pub struct tm_renderer_read_buffer_t {
12945 pub device_affinity_mask: u32,
12946 pub resource_handle: u32,
12947 pub resource_state: u16,
12948 pub resource_queue: u16,
12949 pub _padding_622: [::std::os::raw::c_char; 4usize],
12950 pub offset: u64,
12951 pub size: u64,
12952 pub bits: *mut ::std::os::raw::c_void,
12953}
12954#[repr(C)]
12955#[derive(Copy, Clone)]
12956pub struct tm_device_memory_view_o {
12957 _unused: [u8; 0],
12958}
12959#[repr(C)]
12960#[derive(Copy, Clone)]
12961pub struct tm_device_memory_view_api {
12962 pub create: ::std::option::Option<
12963 unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_device_memory_view_o,
12964 >,
12965 pub destroy: ::std::option::Option<unsafe extern "C" fn(view: *mut tm_device_memory_view_o)>,
12966 pub ui: ::std::option::Option<
12967 unsafe extern "C" fn(
12968 view: *mut tm_device_memory_view_o,
12969 ui: *mut tm_ui_o,
12970 uistyle: *const tm_ui_style_t,
12971 content_r: tm_rect_t,
12972 tab_id: u64,
12973 ),
12974 >,
12975}
12976#[repr(C)]
12977#[derive(Copy, Clone)]
12978pub struct tm_nil_renderer_backend_api {
12979 pub create: ::std::option::Option<
12980 unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_renderer_backend_i,
12981 >,
12982 pub destroy: ::std::option::Option<unsafe extern "C" fn(backend: *mut tm_renderer_backend_i)>,
12983}
12984#[repr(C)]
12985#[derive(Copy, Clone)]
12986pub struct tm_renderer_api {
12987 pub tm_renderer_memory_block_pool_o: *mut tm_renderer_memory_block_pool_o,
12988 pub tm_renderer_command_buffer_pool_o: *mut tm_renderer_command_buffer_pool_o,
12989 pub tm_renderer_resource_command_buffer_pool_o: *mut tm_renderer_resource_command_buffer_pool_o,
12990 pub tm_renderer_command_buffer_pool_api: *mut tm_renderer_command_buffer_pool_api,
12991 pub tm_renderer_command_buffer_api: *mut tm_renderer_command_buffer_api,
12992 pub tm_renderer_command_buffer_sort_api: *mut tm_renderer_command_buffer_sort_api,
12993 pub tm_renderer_resource_command_buffer_pool_api:
12994 *mut tm_renderer_resource_command_buffer_pool_api,
12995 pub tm_renderer_resource_command_buffer_api: *mut tm_renderer_resource_command_buffer_api,
12996}
12997#[repr(C)]
12998#[derive(Copy, Clone)]
12999pub struct tm_renderer_init_api {
13000 pub init: ::std::option::Option<
13001 unsafe extern "C" fn(
13002 allocator: *mut tm_allocator_i,
13003 user_data_size: u64,
13004 ) -> *mut tm_renderer_api,
13005 >,
13006 pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
13007}
13008#[repr(C)]
13009#[derive(Copy, Clone)]
13010pub struct tm_renderer_memory_statistics_allocation_t {
13011 pub tag: *const ::std::os::raw::c_char,
13012 pub offset: u64,
13013 pub requested_size: u64,
13014 pub allocated_size: u64,
13015}
13016#[repr(C)]
13017#[derive(Copy, Clone)]
13018pub struct tm_renderer_memory_statistics_allocator_t {
13019 pub name: *const ::std::os::raw::c_char,
13020 pub num_blocks: u32,
13021 pub _padding_32: [::std::os::raw::c_char; 4usize],
13022 pub block_size: [u64; 256usize],
13023}
13024#[repr(C)]
13025#[derive(Copy, Clone)]
13026pub struct tm_renderer_swap_chain_o {
13027 pub opaque: u64,
13028}
13029#[repr(C)]
13030#[derive(Copy, Clone)]
13031pub struct tm_renderer_device_memory_o {
13032 pub opaque: [u64; 6usize],
13033}
13034#[repr(C)]
13035#[derive(Copy, Clone)]
13036pub struct tm_renderer_backend_resource_allocator_i {
13037 pub inst: *mut ::std::os::raw::c_void,
13038 pub command_buffer_size_buffer: ::std::option::Option<
13039 unsafe extern "C" fn(
13040 inst: *mut ::std::os::raw::c_void,
13041 buffer: *const tm_renderer_buffer_t,
13042 device_affinity_mask: u32,
13043 ) -> u32,
13044 >,
13045 pub command_buffer_size_image_buffer: ::std::option::Option<
13046 unsafe extern "C" fn(
13047 inst: *mut ::std::os::raw::c_void,
13048 image: *const tm_renderer_image_buffer_t,
13049 device_affinity_mask: u32,
13050 ) -> u32,
13051 >,
13052 pub command_buffer_size_shader: ::std::option::Option<
13053 unsafe extern "C" fn(
13054 inst: *mut ::std::os::raw::c_void,
13055 shader: *const tm_renderer_shader_t,
13056 device_affinity_mask: u32,
13057 ) -> u32,
13058 >,
13059 pub command_buffer_size_shader_state_override: ::std::option::Option<
13060 unsafe extern "C" fn(
13061 inst: *mut ::std::os::raw::c_void,
13062 state_override: *const tm_renderer_shader_state_override_t,
13063 device_affinity_mask: u32,
13064 ) -> u32,
13065 >,
13066 pub command_buffer_size_sampler: ::std::option::Option<
13067 unsafe extern "C" fn(
13068 inst: *mut ::std::os::raw::c_void,
13069 sampler: *const tm_renderer_sampler_t,
13070 device_affinity_mask: u32,
13071 ) -> u32,
13072 >,
13073 pub command_buffer_size_queue_fence: ::std::option::Option<
13074 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, device_affinity_mask: u32) -> u32,
13075 >,
13076 pub command_buffer_size_resource_binder: ::std::option::Option<
13077 unsafe extern "C" fn(
13078 inst: *mut ::std::os::raw::c_void,
13079 num_bind_points: u32,
13080 device_affinity_mask: u32,
13081 ) -> u32,
13082 >,
13083 pub create_buffer: ::std::option::Option<
13084 unsafe extern "C" fn(
13085 inst: *mut ::std::os::raw::c_void,
13086 dest: *mut ::std::os::raw::c_void,
13087 buffer: *const tm_renderer_buffer_t,
13088 device_affinity_mask: u32,
13089 ) -> u32,
13090 >,
13091 pub create_image_buffer: ::std::option::Option<
13092 unsafe extern "C" fn(
13093 inst: *mut ::std::os::raw::c_void,
13094 dest: *mut ::std::os::raw::c_void,
13095 image: *const tm_renderer_image_buffer_t,
13096 device_affinity_mask: u32,
13097 ) -> u32,
13098 >,
13099 pub create_shader: ::std::option::Option<
13100 unsafe extern "C" fn(
13101 inst: *mut ::std::os::raw::c_void,
13102 dest: *mut ::std::os::raw::c_void,
13103 shader: *const tm_renderer_shader_t,
13104 device_affinity_mask: u32,
13105 ) -> u32,
13106 >,
13107 pub create_shader_state_override: ::std::option::Option<
13108 unsafe extern "C" fn(
13109 inst: *mut ::std::os::raw::c_void,
13110 dest: *mut ::std::os::raw::c_void,
13111 state_override: *const tm_renderer_shader_state_override_t,
13112 device_affinity_mask: u32,
13113 ) -> u32,
13114 >,
13115 pub create_sampler: ::std::option::Option<
13116 unsafe extern "C" fn(
13117 inst: *mut ::std::os::raw::c_void,
13118 dest: *mut ::std::os::raw::c_void,
13119 sampler: *const tm_renderer_sampler_t,
13120 device_affinity_mask: u32,
13121 ) -> u32,
13122 >,
13123 pub create_queue_fence: ::std::option::Option<
13124 unsafe extern "C" fn(
13125 inst: *mut ::std::os::raw::c_void,
13126 dest: *mut ::std::os::raw::c_void,
13127 device_affinity_mask: u32,
13128 ) -> u32,
13129 >,
13130 pub create_resource_binder: ::std::option::Option<
13131 unsafe extern "C" fn(
13132 inst: *mut ::std::os::raw::c_void,
13133 dest: *mut ::std::os::raw::c_void,
13134 bind_points: *const tm_renderer_resource_bind_point_t,
13135 num_bind_points: u32,
13136 device_affinity_mask: u32,
13137 ) -> u32,
13138 >,
13139}
13140#[repr(C)]
13141#[derive(Copy, Clone)]
13142pub struct tm_renderer_device_memory_allocator_i {
13143 pub inst: *mut ::std::os::raw::c_void,
13144 pub allocate_staging_memory_command: ::std::option::Option<
13145 unsafe extern "C" fn(
13146 inst: *mut ::std::os::raw::c_void,
13147 cmd_type: u32,
13148 cmd_data: *mut ::std::os::raw::c_void,
13149 device_affinity_mask: u32,
13150 data: *mut *mut ::std::os::raw::c_void,
13151 ) -> tm_renderer_device_memory_o,
13152 >,
13153 pub allocate_staging_memory: ::std::option::Option<
13154 unsafe extern "C" fn(
13155 inst: *mut ::std::os::raw::c_void,
13156 size: u64,
13157 device_affinity_mask: u32,
13158 data: *mut *mut ::std::os::raw::c_void,
13159 ) -> tm_renderer_device_memory_o,
13160 >,
13161 pub allocate_resource_read_fence: ::std::option::Option<
13162 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, device_affinity_mask: u32) -> u32,
13163 >,
13164}
13165#[repr(C)]
13166#[derive(Copy, Clone)]
13167pub struct tm_renderer_backend_o {
13168 _unused: [u8; 0],
13169}
13170#[repr(C)]
13171#[derive(Copy, Clone)]
13172pub struct tm_renderer_backend_i {
13173 pub inst: *mut tm_renderer_backend_o,
13174 pub create_swap_chain: ::std::option::Option<
13175 unsafe extern "C" fn(
13176 inst: *mut tm_renderer_backend_o,
13177 window: *mut tm_window_o,
13178 device_affinity: u32,
13179 ) -> tm_renderer_swap_chain_o,
13180 >,
13181 pub destroy_swap_chain: ::std::option::Option<
13182 unsafe extern "C" fn(
13183 inst: *mut tm_renderer_backend_o,
13184 swap_chain: tm_renderer_swap_chain_o,
13185 ),
13186 >,
13187 pub resize_swap_chain: ::std::option::Option<
13188 unsafe extern "C" fn(
13189 inst: *mut tm_renderer_backend_o,
13190 swap_chain: tm_renderer_swap_chain_o,
13191 width: u32,
13192 height: u32,
13193 ),
13194 >,
13195 pub present_swap_chain: ::std::option::Option<
13196 unsafe extern "C" fn(
13197 inst: *mut tm_renderer_backend_o,
13198 swap_chain: tm_renderer_swap_chain_o,
13199 ),
13200 >,
13201 pub swap_chain_resource: ::std::option::Option<
13202 unsafe extern "C" fn(
13203 inst: *mut tm_renderer_backend_o,
13204 swap_chain: tm_renderer_swap_chain_o,
13205 ) -> u32,
13206 >,
13207 pub create_command_buffers: ::std::option::Option<
13208 unsafe extern "C" fn(
13209 inst: *mut tm_renderer_backend_o,
13210 command_buffers: *mut *mut tm_renderer_command_buffer_o,
13211 num_buffers: u32,
13212 ),
13213 >,
13214 pub submit_command_buffers: ::std::option::Option<
13215 unsafe extern "C" fn(
13216 inst: *mut tm_renderer_backend_o,
13217 command_buffers: *mut *mut tm_renderer_command_buffer_o,
13218 num_buffers: u32,
13219 ),
13220 >,
13221 pub destroy_command_buffers: ::std::option::Option<
13222 unsafe extern "C" fn(
13223 inst: *mut tm_renderer_backend_o,
13224 command_buffers: *mut *mut tm_renderer_command_buffer_o,
13225 num_buffers: u32,
13226 ),
13227 >,
13228 pub num_command_queues: ::std::option::Option<
13229 unsafe extern "C" fn(
13230 inst: *mut tm_renderer_backend_o,
13231 queue_family: u8,
13232 device_affinity_mask: u32,
13233 ) -> u8,
13234 >,
13235 pub supports_buffer: ::std::option::Option<
13236 unsafe extern "C" fn(
13237 inst: *mut tm_renderer_backend_o,
13238 buffer: *const tm_renderer_buffer_t,
13239 device_affinity_mask: u32,
13240 ) -> bool,
13241 >,
13242 pub supports_image_buffer: ::std::option::Option<
13243 unsafe extern "C" fn(
13244 inst: *mut tm_renderer_backend_o,
13245 image: *const tm_renderer_image_buffer_t,
13246 device_affinity_mask: u32,
13247 ) -> bool,
13248 >,
13249 pub create_resource_command_buffers: ::std::option::Option<
13250 unsafe extern "C" fn(
13251 inst: *mut tm_renderer_backend_o,
13252 resource_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
13253 num_buffers: u32,
13254 ),
13255 >,
13256 pub submit_resource_command_buffers: ::std::option::Option<
13257 unsafe extern "C" fn(
13258 inst: *mut tm_renderer_backend_o,
13259 resource_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
13260 num_buffers: u32,
13261 ),
13262 >,
13263 pub destroy_resource_command_buffers: ::std::option::Option<
13264 unsafe extern "C" fn(
13265 inst: *mut tm_renderer_backend_o,
13266 resource_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
13267 num_buffers: u32,
13268 ),
13269 >,
13270 pub frame_begin: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_renderer_backend_o)>,
13271 pub recycle_buffers:
13272 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_renderer_backend_o)>,
13273 pub read_complete: ::std::option::Option<
13274 unsafe extern "C" fn(
13275 inst: *mut tm_renderer_backend_o,
13276 read_fence: u32,
13277 device_affinity_mask: u32,
13278 ) -> bool,
13279 >,
13280 pub hashed_backend_name:
13281 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_renderer_backend_o) -> u64>,
13282 pub statistics_memory_allocators: ::std::option::Option<
13283 unsafe extern "C" fn(
13284 inst: *mut tm_renderer_backend_o,
13285 device_affinity: u32,
13286 allocators: *mut tm_renderer_memory_statistics_allocator_t,
13287 ) -> u32,
13288 >,
13289 pub statistics_memory_allocations: ::std::option::Option<
13290 unsafe extern "C" fn(
13291 inst: *mut tm_renderer_backend_o,
13292 device_affinity: u32,
13293 allocator: u32,
13294 block: u32,
13295 allocators: *mut tm_renderer_memory_statistics_allocation_t,
13296 ) -> u32,
13297 >,
13298 pub statistics: ::std::option::Option<
13299 unsafe extern "C" fn(
13300 inst: *mut tm_renderer_backend_o,
13301 device_affinity: u32,
13302 stats: *mut tm_renderer_statistics_t,
13303 ),
13304 >,
13305}
13306#[repr(C)]
13307#[derive(Copy, Clone)]
13308pub struct tm_renderer_command_buffer_pool_o {
13309 _unused: [u8; 0],
13310}
13311#[repr(C)]
13312#[derive(Copy, Clone)]
13313pub struct tm_renderer_index_buffer_bind_t {
13314 _unused: [u8; 0],
13315}
13316#[repr(C)]
13317#[derive(Copy, Clone)]
13318pub struct tm_renderer_memory_block_pool_o {
13319 _unused: [u8; 0],
13320}
13321#[repr(C)]
13322#[derive(Copy, Clone)]
13323pub struct tm_renderer_resource_command_buffer_pool_o {
13324 _unused: [u8; 0],
13325}
13326pub const tm_renderer_command_TM_RENDERER_COMMAND_BIND_RENDER_PASS: tm_renderer_command = 0;
13327pub const tm_renderer_command_TM_RENDERER_COMMAND_SET_VIEWPORTS: tm_renderer_command = 1;
13328pub const tm_renderer_command_TM_RENDERER_COMMAND_SET_SCISSOR_RECTS: tm_renderer_command = 2;
13329pub const tm_renderer_command_TM_RENDERER_COMMAND_DRAW_CALL: tm_renderer_command = 3;
13330pub const tm_renderer_command_TM_RENDERER_COMMAND_BEGIN_STATISTICS: tm_renderer_command = 4;
13331pub const tm_renderer_command_TM_RENDERER_COMMAND_END_STATISTICS: tm_renderer_command = 5;
13332pub const tm_renderer_command_TM_RENDERER_COMMAND_BIND_QUEUE: tm_renderer_command = 6;
13333pub const tm_renderer_command_TM_RENDERER_COMMAND_COMPUTE: tm_renderer_command = 7;
13334pub const tm_renderer_command_TM_RENDERER_COMMAND_TRANSITION_RESOURCES: tm_renderer_command = 8;
13335pub const tm_renderer_command_TM_RENDERER_COMMAND_COPY_IMAGE_BUFFER: tm_renderer_command = 9;
13336pub const tm_renderer_command_TM_RENDERER_COMMAND_COPY_BUFFER: tm_renderer_command = 10;
13337pub const tm_renderer_command_TM_RENDERER_COMMAND_READ_IMAGE_BUFFER: tm_renderer_command = 11;
13338pub const tm_renderer_command_TM_RENDERER_COMMAND_READ_BUFFER: tm_renderer_command = 12;
13339pub type tm_renderer_command = ::std::os::raw::c_int;
13340pub const tm_renderer_map_flags_TM_RENDERER_MAP_FLAGS_CPU_CACHED: tm_renderer_map_flags = 1;
13341pub type tm_renderer_map_flags = ::std::os::raw::c_int;
13342pub const tm_renderer_statistics_flags_TM_RENDERER_GPU_TIMINGS: tm_renderer_statistics_flags = 1;
13343pub type tm_renderer_statistics_flags = ::std::os::raw::c_int;
13344#[repr(C)]
13345#[derive(Copy, Clone)]
13346pub struct tm_renderer_commands_t {
13347 pub sort_keys: *mut u64,
13348 pub types: *mut u32,
13349 pub data: *mut *mut ::std::os::raw::c_void,
13350}
13351#[repr(C)]
13352#[derive(Copy, Clone)]
13353pub struct tm_renderer_command_buffer_api {
13354 pub bind_render_pass: ::std::option::Option<
13355 unsafe extern "C" fn(
13356 inst: *mut tm_renderer_command_buffer_o,
13357 sort_key: u64,
13358 render_pass: *const tm_renderer_render_pass_bind_t,
13359 ),
13360 >,
13361 pub set_viewports: ::std::option::Option<
13362 unsafe extern "C" fn(
13363 inst: *mut tm_renderer_command_buffer_o,
13364 sort_key: u64,
13365 viewports: *const tm_renderer_set_viewports_t,
13366 ),
13367 >,
13368 pub set_scissor_rects: ::std::option::Option<
13369 unsafe extern "C" fn(
13370 inst: *mut tm_renderer_command_buffer_o,
13371 sort_key: u64,
13372 rects: *const tm_renderer_set_scissor_rects_t,
13373 ),
13374 >,
13375 pub draw_calls: ::std::option::Option<
13376 unsafe extern "C" fn(
13377 inst: *mut tm_renderer_command_buffer_o,
13378 sort_keys: *const u64,
13379 draw_calls: *const tm_renderer_draw_call_info_t,
13380 shaders: *const tm_renderer_shader_info_t,
13381 num_draw_calls: u32,
13382 ),
13383 >,
13384 pub bind_queue: ::std::option::Option<
13385 unsafe extern "C" fn(
13386 inst: *mut tm_renderer_command_buffer_o,
13387 sort_key: u64,
13388 queue_bind: *const tm_renderer_queue_bind_t,
13389 ),
13390 >,
13391 pub begin_statistics_scope: ::std::option::Option<
13392 unsafe extern "C" fn(
13393 inst: *mut tm_renderer_command_buffer_o,
13394 sort_key: u64,
13395 category: *const ::std::os::raw::c_char,
13396 name: *const ::std::os::raw::c_char,
13397 flags: u32,
13398 ) -> u64,
13399 >,
13400 pub end_statistics_scope: ::std::option::Option<
13401 unsafe extern "C" fn(
13402 inst: *mut tm_renderer_command_buffer_o,
13403 sort_key: u64,
13404 statistics_scope: u64,
13405 ),
13406 >,
13407 pub compute_dispatches: ::std::option::Option<
13408 unsafe extern "C" fn(
13409 inst: *mut tm_renderer_command_buffer_o,
13410 sort_keys: *const u64,
13411 compute_dispatches: *const tm_renderer_compute_info_t,
13412 shaders: *const tm_renderer_shader_info_t,
13413 num_compute_dispatches: u32,
13414 ),
13415 >,
13416 pub transition_resources: ::std::option::Option<
13417 unsafe extern "C" fn(
13418 inst: *mut tm_renderer_command_buffer_o,
13419 sort_key: u64,
13420 barriers: *const tm_renderer_resource_barrier_t,
13421 num_barriers: u32,
13422 ),
13423 >,
13424 pub copy_image_buffer: ::std::option::Option<
13425 unsafe extern "C" fn(
13426 inst: *mut tm_renderer_command_buffer_o,
13427 sort_key: u64,
13428 copy_image: *const tm_renderer_copy_image_buffer_t,
13429 ),
13430 >,
13431 pub copy_buffer: ::std::option::Option<
13432 unsafe extern "C" fn(
13433 inst: *mut tm_renderer_command_buffer_o,
13434 sort_key: u64,
13435 copy_buffer: *const tm_renderer_copy_buffer_t,
13436 ),
13437 >,
13438 pub read_image_buffer: ::std::option::Option<
13439 unsafe extern "C" fn(
13440 inst: *mut tm_renderer_command_buffer_o,
13441 sort_key: u64,
13442 read_image: *const tm_renderer_read_image_buffer_t,
13443 ) -> u32,
13444 >,
13445 pub read_buffer: ::std::option::Option<
13446 unsafe extern "C" fn(
13447 inst: *mut tm_renderer_command_buffer_o,
13448 sort_key: u64,
13449 read_buffer: *const tm_renderer_read_buffer_t,
13450 ) -> u32,
13451 >,
13452 pub num_commands: ::std::option::Option<
13453 unsafe extern "C" fn(inst: *const tm_renderer_command_buffer_o) -> u32,
13454 >,
13455 pub commands: ::std::option::Option<
13456 unsafe extern "C" fn(inst: *const tm_renderer_command_buffer_o) -> tm_renderer_commands_t,
13457 >,
13458 pub user_data: ::std::option::Option<
13459 unsafe extern "C" fn(
13460 inst: *mut tm_renderer_command_buffer_o,
13461 ) -> *mut ::std::os::raw::c_void,
13462 >,
13463 pub set_backend_allocator: ::std::option::Option<
13464 unsafe extern "C" fn(
13465 inst: *mut tm_renderer_command_buffer_o,
13466 memory_allocator: *mut tm_renderer_device_memory_allocator_i,
13467 ),
13468 >,
13469 pub append_buffers: ::std::option::Option<
13470 unsafe extern "C" fn(
13471 inst: *mut tm_renderer_command_buffer_o,
13472 buffers: *mut *mut tm_renderer_command_buffer_o,
13473 num_buffers: u32,
13474 ),
13475 >,
13476}
13477#[repr(C)]
13478#[derive(Copy, Clone)]
13479pub struct tm_renderer_command_buffer_pool_api {
13480 pub create: ::std::option::Option<
13481 unsafe extern "C" fn(
13482 inst: *mut tm_renderer_command_buffer_pool_o,
13483 ) -> *mut tm_renderer_command_buffer_o,
13484 >,
13485 pub destroy: ::std::option::Option<
13486 unsafe extern "C" fn(
13487 inst: *mut tm_renderer_command_buffer_pool_o,
13488 buffer: *mut tm_renderer_command_buffer_o,
13489 ),
13490 >,
13491 pub user_data_size: ::std::option::Option<
13492 unsafe extern "C" fn(inst: *mut tm_renderer_command_buffer_pool_o) -> u64,
13493 >,
13494}
13495extern "C" {
13496 pub fn tm_renderer_create_command_buffer_pool(
13497 backing_memory_block_pool: *mut tm_renderer_memory_block_pool_o,
13498 user_data_size: u64,
13499 allocator: *mut tm_allocator_i,
13500 memory_tracker_scope: u32,
13501 ) -> *mut tm_renderer_command_buffer_pool_o;
13502}
13503extern "C" {
13504 pub fn tm_renderer_destroy_command_buffer_pool(
13505 pool: *mut tm_renderer_command_buffer_pool_o,
13506 allocator: *mut tm_allocator_i,
13507 memory_tracker_scope: u32,
13508 );
13509}
13510#[repr(C)]
13511#[derive(Copy, Clone)]
13512pub struct tm_renderer_command_buffer_sort_api {
13513 pub sort_memory_needed: ::std::option::Option<
13514 unsafe extern "C" fn(
13515 buffers: *mut *const tm_renderer_command_buffer_o,
13516 num_buffers: u32,
13517 ) -> u64,
13518 >,
13519 pub sort_commands: ::std::option::Option<
13520 unsafe extern "C" fn(
13521 buffers: *mut *const tm_renderer_command_buffer_o,
13522 num_buffers: u32,
13523 sort_memory: *mut ::std::os::raw::c_void,
13524 sorted_output: *mut *mut tm_renderer_commands_t,
13525 num_commands: *mut u32,
13526 ),
13527 >,
13528}
13529pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_BUFFER: tm_renderer_resource = 0;
13530pub const tm_renderer_resource_TM_RENDERER_RESOURCE_MAP_CREATE_BUFFER: tm_renderer_resource = 1;
13531pub const tm_renderer_resource_TM_RENDERER_RESOURCE_RESIZE_BUFFER: tm_renderer_resource = 2;
13532pub const tm_renderer_resource_TM_RENDERER_RESOURCE_UPDATE_BUFFER: tm_renderer_resource = 3;
13533pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_IMAGE: tm_renderer_resource = 4;
13534pub const tm_renderer_resource_TM_RENDERER_RESOURCE_MAP_CREATE_IMAGE: tm_renderer_resource = 5;
13535pub const tm_renderer_resource_TM_RENDERER_RESOURCE_UPDATE_IMAGE: tm_renderer_resource = 6;
13536pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_ADDITIONAL_IMAGE_VIEWS:
13537 tm_renderer_resource = 7;
13538pub const tm_renderer_resource_TM_RENDERER_RESOURCE_DESTROY_ADDITIONAL_IMAGE_VIEWS:
13539 tm_renderer_resource = 8;
13540pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_SHADER: tm_renderer_resource = 9;
13541pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_SHADER_STATE_OVERRIDE:
13542 tm_renderer_resource = 10;
13543pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_SAMPLER: tm_renderer_resource = 11;
13544pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_QUEUE_FENCE: tm_renderer_resource = 12;
13545pub const tm_renderer_resource_TM_RENDERER_RESOURCE_CREATE_RESOURCE_BINDER: tm_renderer_resource =
13546 13;
13547pub const tm_renderer_resource_TM_RENDERER_RESOURCE_SET_RESOURCE: tm_renderer_resource = 14;
13548pub const tm_renderer_resource_TM_RENDERER_RESOURCE_SET_ARRAY_RESOURCES: tm_renderer_resource = 15;
13549pub const tm_renderer_resource_TM_RENDERER_RESOURCE_DESTROY: tm_renderer_resource = 16;
13550pub const tm_renderer_resource_TM_RENDERER_RESOURCE_NUM_COMMAND_TYPES: tm_renderer_resource = 17;
13551pub type tm_renderer_resource = ::std::os::raw::c_int;
13552#[repr(C)]
13553#[derive(Copy, Clone)]
13554pub struct tm_renderer_resource_commands_t {
13555 pub types: *mut u32,
13556 pub handles: *mut u32,
13557 pub data: *mut *mut ::std::os::raw::c_void,
13558}
13559#[repr(C)]
13560#[derive(Copy, Clone)]
13561pub struct tm_renderer_resource_command_buffer_api {
13562 pub create_buffer: ::std::option::Option<
13563 unsafe extern "C" fn(
13564 inst: *mut tm_renderer_resource_command_buffer_o,
13565 buffer: *const tm_renderer_buffer_t,
13566 device_affinity_mask: u32,
13567 ) -> u32,
13568 >,
13569 pub map_create_buffer: ::std::option::Option<
13570 unsafe extern "C" fn(
13571 inst: *mut tm_renderer_resource_command_buffer_o,
13572 buffer: *const tm_renderer_buffer_t,
13573 device_affinity_mask: u32,
13574 map_flags: u32,
13575 data: *mut *mut ::std::os::raw::c_void,
13576 ) -> u32,
13577 >,
13578 pub resize_buffer: ::std::option::Option<
13579 unsafe extern "C" fn(
13580 inst: *mut tm_renderer_resource_command_buffer_o,
13581 handle: u32,
13582 size: u64,
13583 ),
13584 >,
13585 pub update_buffer: ::std::option::Option<
13586 unsafe extern "C" fn(
13587 inst: *mut tm_renderer_resource_command_buffer_o,
13588 handle: u32,
13589 offset: u64,
13590 size: u64,
13591 device_affinity_mask: u32,
13592 map_flags: u32,
13593 data: *mut *mut ::std::os::raw::c_void,
13594 ),
13595 >,
13596 pub create_image_buffer: ::std::option::Option<
13597 unsafe extern "C" fn(
13598 inst: *mut tm_renderer_resource_command_buffer_o,
13599 image: *const tm_renderer_image_buffer_t,
13600 device_affinity_mask: u32,
13601 ) -> u32,
13602 >,
13603 pub map_create_image_buffer: ::std::option::Option<
13604 unsafe extern "C" fn(
13605 inst: *mut tm_renderer_resource_command_buffer_o,
13606 image: *const tm_renderer_image_buffer_t,
13607 device_affinity_mask: u32,
13608 map_flags: u32,
13609 data: *mut *mut ::std::os::raw::c_void,
13610 ) -> u32,
13611 >,
13612 pub update_image_buffer: ::std::option::Option<
13613 unsafe extern "C" fn(
13614 inst: *mut tm_renderer_resource_command_buffer_o,
13615 handle: u32,
13616 format: u32,
13617 subresource: *const tm_renderer_image_subresource_layers_t,
13618 offset: *const tm_renderer_image_offset_t,
13619 extent: *const tm_renderer_image_extent_t,
13620 device_affinity_mask: u32,
13621 map_flags: u32,
13622 data: *mut *mut ::std::os::raw::c_void,
13623 ),
13624 >,
13625 pub create_additional_image_views: ::std::option::Option<
13626 unsafe extern "C" fn(
13627 inst: *mut tm_renderer_resource_command_buffer_o,
13628 handle: u32,
13629 device_affinity_mask: u32,
13630 views: *const tm_renderer_additional_image_view_t,
13631 num_views: u32,
13632 ),
13633 >,
13634 pub destroy_additional_image_views: ::std::option::Option<
13635 unsafe extern "C" fn(
13636 inst: *mut tm_renderer_resource_command_buffer_o,
13637 handle: u32,
13638 device_affinity_mask: u32,
13639 ),
13640 >,
13641 pub create_shader: ::std::option::Option<
13642 unsafe extern "C" fn(
13643 inst: *mut tm_renderer_resource_command_buffer_o,
13644 shader: *const tm_renderer_shader_t,
13645 device_affinity_mask: u32,
13646 ) -> u32,
13647 >,
13648 pub create_sampler: ::std::option::Option<
13649 unsafe extern "C" fn(
13650 inst: *mut tm_renderer_resource_command_buffer_o,
13651 sampler: *const tm_renderer_sampler_t,
13652 device_affinity_mask: u32,
13653 ) -> u32,
13654 >,
13655 pub create_shader_state_override: ::std::option::Option<
13656 unsafe extern "C" fn(
13657 inst: *mut tm_renderer_resource_command_buffer_o,
13658 state_override: *const tm_renderer_shader_state_override_t,
13659 device_affinity_mask: u32,
13660 ) -> u32,
13661 >,
13662 pub create_queue_fence: ::std::option::Option<
13663 unsafe extern "C" fn(
13664 inst: *mut tm_renderer_resource_command_buffer_o,
13665 device_affinity_mask: u32,
13666 ) -> u32,
13667 >,
13668 pub create_resource_binder: ::std::option::Option<
13669 unsafe extern "C" fn(
13670 inst: *mut tm_renderer_resource_command_buffer_o,
13671 bind_points: *const tm_renderer_resource_bind_point_t,
13672 num_bind_points: u32,
13673 device_affinity_mask: u32,
13674 ) -> u32,
13675 >,
13676 pub set_resource: ::std::option::Option<
13677 unsafe extern "C" fn(
13678 inst: *mut tm_renderer_resource_command_buffer_o,
13679 resource_binder: u32,
13680 bind_point: u32,
13681 resource_handles: u32,
13682 reosource_aspect_flags: u32,
13683 ),
13684 >,
13685 pub set_array_resources: ::std::option::Option<
13686 unsafe extern "C" fn(
13687 inst: *mut tm_renderer_resource_command_buffer_o,
13688 resource_binder: u32,
13689 bind_point: u32,
13690 first_element: u32,
13691 resource_handles: *const u32,
13692 resource_aspect_flags: *const u32,
13693 n_handles: u32,
13694 ),
13695 >,
13696 pub destroy_resource: ::std::option::Option<
13697 unsafe extern "C" fn(inst: *mut tm_renderer_resource_command_buffer_o, handle: u32),
13698 >,
13699 pub num_commands: ::std::option::Option<
13700 unsafe extern "C" fn(
13701 inst: *mut tm_renderer_resource_command_buffer_o,
13702 count_per_command_type: *mut u32,
13703 ) -> u32,
13704 >,
13705 pub commands: ::std::option::Option<
13706 unsafe extern "C" fn(
13707 inst: *mut tm_renderer_resource_command_buffer_o,
13708 ) -> tm_renderer_resource_commands_t,
13709 >,
13710 pub user_data: ::std::option::Option<
13711 unsafe extern "C" fn(
13712 inst: *mut tm_renderer_resource_command_buffer_o,
13713 ) -> *mut ::std::os::raw::c_void,
13714 >,
13715 pub set_backend_allocators: ::std::option::Option<
13716 unsafe extern "C" fn(
13717 inst: *mut tm_renderer_resource_command_buffer_o,
13718 resource_allocator: *mut tm_renderer_backend_resource_allocator_i,
13719 memory_allocator: *mut tm_renderer_device_memory_allocator_i,
13720 ),
13721 >,
13722 pub append_buffers: ::std::option::Option<
13723 unsafe extern "C" fn(
13724 inst: *mut tm_renderer_resource_command_buffer_o,
13725 buffers: *mut *mut tm_renderer_resource_command_buffer_o,
13726 num_buffers: u32,
13727 ),
13728 >,
13729}
13730#[repr(C)]
13731#[derive(Copy, Clone)]
13732pub struct tm_renderer_resource_command_buffer_pool_api {
13733 pub create: ::std::option::Option<
13734 unsafe extern "C" fn(
13735 inst: *mut tm_renderer_resource_command_buffer_pool_o,
13736 ) -> *mut tm_renderer_resource_command_buffer_o,
13737 >,
13738 pub destroy: ::std::option::Option<
13739 unsafe extern "C" fn(
13740 inst: *mut tm_renderer_resource_command_buffer_pool_o,
13741 buffer: *mut tm_renderer_resource_command_buffer_o,
13742 ),
13743 >,
13744 pub user_data_size: ::std::option::Option<
13745 unsafe extern "C" fn(inst: *mut tm_renderer_resource_command_buffer_pool_o) -> u64,
13746 >,
13747}
13748#[repr(C)]
13749#[derive(Copy, Clone)]
13750pub struct tm_renderer_statistics_t {
13751 pub non_indexed_draws: u64,
13752 pub indexed_draws: u64,
13753 pub non_indexed_indirect_draws: u64,
13754 pub indexed_indirect_draws: u64,
13755 pub compute_dispatches: u64,
13756 pub compute_indirect_dispatches: u64,
13757 pub primitive_count: u64,
13758 pub pipeline_binds: u64,
13759 pub resource_barriers: u64,
13760 pub render_pass_binds: u64,
13761}
13762pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_NOT_INITIALIZED:
13763 tm_renderer_resource_type = 0;
13764pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_BUFFER: tm_renderer_resource_type = 1;
13765pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_IMAGE_BUFFER:
13766 tm_renderer_resource_type = 2;
13767pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_SAMPLER: tm_renderer_resource_type =
13768 3;
13769pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_QUEUE_FENCE:
13770 tm_renderer_resource_type = 4;
13771pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_SHADER: tm_renderer_resource_type = 5;
13772pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_SHADER_STATE_OVERRIDE:
13773 tm_renderer_resource_type = 6;
13774pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_RESOURCE_BINDER:
13775 tm_renderer_resource_type = 7;
13776pub const tm_renderer_resource_type_TM_RENDERER_RESOURCE_TYPE_BACK_BUFFER:
13777 tm_renderer_resource_type = 8;
13778pub type tm_renderer_resource_type = ::std::os::raw::c_int;
13779pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_UNIFORM:
13780 tm_renderer_buffer_usage_flags = 1;
13781pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_STORAGE:
13782 tm_renderer_buffer_usage_flags = 2;
13783pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_UPDATABLE:
13784 tm_renderer_buffer_usage_flags = 4;
13785pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_UAV:
13786 tm_renderer_buffer_usage_flags = 8;
13787pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_INDEX:
13788 tm_renderer_buffer_usage_flags = 16;
13789pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_VERTEX:
13790 tm_renderer_buffer_usage_flags = 32;
13791pub const tm_renderer_buffer_usage_flags_TM_RENDERER_BUFFER_USAGE_INDIRECT:
13792 tm_renderer_buffer_usage_flags = 64;
13793pub type tm_renderer_buffer_usage_flags = ::std::os::raw::c_int;
13794#[repr(C)]
13795#[derive(Copy, Clone)]
13796pub struct tm_renderer_buffer_t {
13797 pub size: u32,
13798 pub usage_flags: tm_renderer_buffer_usage_flags,
13799 pub debug_tag: *const ::std::os::raw::c_char,
13800}
13801pub const tm_renderer_image_buffer_usage_flags_TM_RENDERER_IMAGE_BUFFER_USAGE_RENDER_TARGET:
13802 tm_renderer_image_buffer_usage_flags = 1;
13803pub const tm_renderer_image_buffer_usage_flags_TM_RENDERER_IMAGE_BUFFER_USAGE_UAV:
13804 tm_renderer_image_buffer_usage_flags = 2;
13805pub type tm_renderer_image_buffer_usage_flags = ::std::os::raw::c_int;
13806pub const tm_renderer_image_type_TM_RENDERER_IMAGE_TYPE_1D: tm_renderer_image_type = 0;
13807pub const tm_renderer_image_type_TM_RENDERER_IMAGE_TYPE_2D: tm_renderer_image_type = 1;
13808pub const tm_renderer_image_type_TM_RENDERER_IMAGE_TYPE_3D: tm_renderer_image_type = 2;
13809pub const tm_renderer_image_type_TM_RENDERER_IMAGE_TYPE_CUBE: tm_renderer_image_type = 3;
13810pub const tm_renderer_image_type_TM_RENDERER_IMAGE_TYPE_MAX_VIEWS: tm_renderer_image_type = 4;
13811pub type tm_renderer_image_type = ::std::os::raw::c_int;
13812#[repr(C)]
13813#[derive(Copy, Clone)]
13814pub union tm_renderer_clear_value_t {
13815 pub color: tm_renderer_clear_value_t_color,
13816 pub depth_stencil: tm_renderer_clear_value_t_depth_stencil,
13817 _bindgen_union_align: [u32; 4usize],
13818}
13819#[repr(C)]
13820#[derive(Copy, Clone)]
13821pub struct tm_renderer_clear_value_t_color {
13822 pub __bindgen_anon_1: tm_renderer_clear_value_t_color__bindgen_ty_1,
13823}
13824#[repr(C)]
13825#[derive(Copy, Clone)]
13826pub union tm_renderer_clear_value_t_color__bindgen_ty_1 {
13827 pub float32: [f32; 4usize],
13828 pub int32: [i32; 4usize],
13829 pub uint32: [u32; 4usize],
13830 _bindgen_union_align: [u32; 4usize],
13831}
13832#[repr(C)]
13833#[derive(Copy, Clone)]
13834pub struct tm_renderer_clear_value_t_depth_stencil {
13835 pub depth: f32,
13836 pub stencil: u32,
13837}
13838#[repr(C)]
13839#[derive(Copy, Clone)]
13840pub struct tm_renderer_image_buffer_t {
13841 pub type_: tm_renderer_image_type,
13842 pub usage_flags: tm_renderer_image_buffer_usage_flags,
13843 pub format: u32,
13844 pub width: u32,
13845 pub height: u32,
13846 pub depth: u32,
13847 pub mip_levels: u32,
13848 pub layer_count: u32,
13849 pub sample_count: u32,
13850 pub clear_value: tm_renderer_clear_value_t,
13851 pub _padding_117: [::std::os::raw::c_char; 4usize],
13852 pub debug_tag: *const ::std::os::raw::c_char,
13853}
13854#[repr(C)]
13855#[derive(Copy, Clone)]
13856pub struct tm_renderer_additional_image_view_t {
13857 pub first_layer: u16,
13858 pub layer_count: u16,
13859 pub first_mip: u8,
13860 pub mip_count: u8,
13861 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>,
13862 pub _padding_152: [::std::os::raw::c_char; 1usize],
13863}
13864impl tm_renderer_additional_image_view_t {
13865 #[inline]
13866 pub fn aspect(&self) -> u8 {
13867 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
13868 }
13869 #[inline]
13870 pub fn set_aspect(&mut self, val: u8) {
13871 unsafe {
13872 let val: u8 = ::std::mem::transmute(val);
13873 self._bitfield_1.set(0usize, 4u8, val as u64)
13874 }
13875 }
13876 #[inline]
13877 pub fn padding(&self) -> u8 {
13878 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
13879 }
13880 #[inline]
13881 pub fn set_padding(&mut self, val: u8) {
13882 unsafe {
13883 let val: u8 = ::std::mem::transmute(val);
13884 self._bitfield_1.set(4usize, 4u8, val as u64)
13885 }
13886 }
13887 #[inline]
13888 pub fn new_bitfield_1(aspect: u8, padding: u8) -> __BindgenBitfieldUnit<[u8; 1usize], u8> {
13889 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> =
13890 Default::default();
13891 __bindgen_bitfield_unit.set(0usize, 4u8, {
13892 let aspect: u8 = unsafe { ::std::mem::transmute(aspect) };
13893 aspect as u64
13894 });
13895 __bindgen_bitfield_unit.set(4usize, 4u8, {
13896 let padding: u8 = unsafe { ::std::mem::transmute(padding) };
13897 padding as u64
13898 });
13899 __bindgen_bitfield_unit
13900 }
13901}
13902pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_VERTEX: tm_renderer_shader_stage = 0;
13903pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_HULL: tm_renderer_shader_stage = 1;
13904pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_DOMAIN: tm_renderer_shader_stage = 2;
13905pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_GEOMETRY: tm_renderer_shader_stage = 3;
13906pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_PIXEL: tm_renderer_shader_stage = 4;
13907pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_COMPUTE: tm_renderer_shader_stage = 5;
13908pub const tm_renderer_shader_stage_TM_RENDERER_SHADER_STAGE_MAX: tm_renderer_shader_stage = 6;
13909pub type tm_renderer_shader_stage = ::std::os::raw::c_int;
13910#[repr(C)]
13911#[derive(Copy, Clone)]
13912pub struct tm_renderer_shader_t {
13913 pub tessellation_states: tm_renderer_shader_blob_t,
13914 pub raster_states: tm_renderer_shader_blob_t,
13915 pub depth_stencil_states: tm_renderer_shader_blob_t,
13916 pub blend_states: tm_renderer_shader_blob_t,
13917 pub multi_sample_states: tm_renderer_shader_blob_t,
13918 pub stages: [tm_renderer_shader_blob_t; 6usize],
13919}
13920#[repr(C)]
13921#[derive(Copy, Clone)]
13922pub struct tm_renderer_sampler_t {
13923 pub sampler_states: tm_renderer_shader_blob_t,
13924}
13925#[repr(C)]
13926#[derive(Copy, Clone)]
13927pub struct tm_renderer_shader_state_override_t {
13928 pub tessellation_states: tm_renderer_shader_blob_t,
13929 pub raster_states: tm_renderer_shader_blob_t,
13930 pub depth_stencil_states: tm_renderer_shader_blob_t,
13931 pub blend_states: tm_renderer_shader_blob_t,
13932 pub multi_sample_states: tm_renderer_shader_blob_t,
13933}
13934pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_VERTEX:
13935 tm_renderer_shader_stage_flag = 1;
13936pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_HULL:
13937 tm_renderer_shader_stage_flag = 2;
13938pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_DOMAIN:
13939 tm_renderer_shader_stage_flag = 4;
13940pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_GEOMETRY:
13941 tm_renderer_shader_stage_flag = 8;
13942pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_PIXEL:
13943 tm_renderer_shader_stage_flag = 16;
13944pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_COMPUTE:
13945 tm_renderer_shader_stage_flag = 32;
13946pub const tm_renderer_shader_stage_flag_TM_RENDERER_SHADER_STAGE_FLAG_ALL:
13947 tm_renderer_shader_stage_flag = 63;
13948pub type tm_renderer_shader_stage_flag = ::std::os::raw::c_int;
13949pub const tm_renderer_resource_bind_usage_flag_TM_RENDERER_RESOURCE_BIND_USAGE_FLAG_UAV:
13950 tm_renderer_resource_bind_usage_flag = 1;
13951pub type tm_renderer_resource_bind_usage_flag = ::std::os::raw::c_int;
13952#[repr(C)]
13953#[derive(Copy, Clone)]
13954pub struct tm_renderer_resource_bind_point_t {
13955 pub bind_point: u32,
13956 pub stage_flags: u32,
13957 pub type_: u32,
13958 pub view: u32,
13959 pub usage: u32,
13960 pub count: u32,
13961}
13962pub const TM_RENDERER_SHADER_SOURCE_LANGUAGE_HLSL: ::std::os::raw::c_int = 0;
13963pub type _bindgen_ty_148 = ::std::os::raw::c_int;
13964pub const TM_RENDERER_SHADER_COMPILER_STAGE_VERTEX: ::std::os::raw::c_int = 0;
13965pub const TM_RENDERER_SHADER_COMPILER_STAGE_HULL: ::std::os::raw::c_int = 1;
13966pub const TM_RENDERER_SHADER_COMPILER_STAGE_DOMAIN: ::std::os::raw::c_int = 2;
13967pub const TM_RENDERER_SHADER_COMPILER_STAGE_GEOMETRY: ::std::os::raw::c_int = 3;
13968pub const TM_RENDERER_SHADER_COMPILER_STAGE_PIXEL: ::std::os::raw::c_int = 4;
13969pub const TM_RENDERER_SHADER_COMPILER_STAGE_COMPUTE: ::std::os::raw::c_int = 5;
13970pub type _bindgen_ty_149 = ::std::os::raw::c_int;
13971#[repr(C)]
13972#[derive(Copy, Clone)]
13973pub struct tm_renderer_shader_compiler_o {
13974 _unused: [u8; 0],
13975}
13976#[repr(C)]
13977#[derive(Copy, Clone)]
13978pub struct tm_renderer_state_value_pair_t {
13979 pub state: u32,
13980 pub _padding_32: [::std::os::raw::c_char; 4usize],
13981 pub __bindgen_anon_1: tm_renderer_state_value_pair_t__bindgen_ty_1,
13982}
13983#[repr(C)]
13984#[derive(Copy, Clone)]
13985pub union tm_renderer_state_value_pair_t__bindgen_ty_1 {
13986 pub enum_value: u32,
13987 pub uint32_value: u32,
13988 pub float_value: f32,
13989 pub nested_states: *mut tm_renderer_state_value_pair_t,
13990 _bindgen_union_align: u64,
13991}
13992pub const TM_RENDERER_STATE_BLOCK_COMPLETE: ::std::os::raw::c_int = 0;
13993pub const TM_RENDERER_STATE_BLOCK_OVERRIDE: ::std::os::raw::c_int = 1;
13994pub type _bindgen_ty_150 = ::std::os::raw::c_int;
13995#[repr(C)]
13996#[derive(Copy, Clone)]
13997pub struct tm_renderer_shader_compiler_api {
13998 pub init: ::std::option::Option<
13999 unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_renderer_shader_compiler_o,
14000 >,
14001 pub shutdown:
14002 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_renderer_shader_compiler_o)>,
14003 pub num_state_block_types: ::std::option::Option<
14004 unsafe extern "C" fn(inst: *mut tm_renderer_shader_compiler_o) -> u32,
14005 >,
14006 pub state_block_type: ::std::option::Option<
14007 unsafe extern "C" fn(
14008 inst: *mut tm_renderer_shader_compiler_o,
14009 state_block_type_idx: u32,
14010 ) -> u32,
14011 >,
14012 pub state_block_name: ::std::option::Option<
14013 unsafe extern "C" fn(
14014 inst: *mut tm_renderer_shader_compiler_o,
14015 state_block_type: u32,
14016 ) -> *const ::std::os::raw::c_char,
14017 >,
14018 pub num_states: ::std::option::Option<
14019 unsafe extern "C" fn(
14020 inst: *mut tm_renderer_shader_compiler_o,
14021 state_block_type: u32,
14022 ) -> u32,
14023 >,
14024 pub state_name: ::std::option::Option<
14025 unsafe extern "C" fn(
14026 inst: *mut tm_renderer_shader_compiler_o,
14027 state_block_type: u32,
14028 state: u32,
14029 ) -> *const ::std::os::raw::c_char,
14030 >,
14031 pub value_type: ::std::option::Option<
14032 unsafe extern "C" fn(
14033 inst: *mut tm_renderer_shader_compiler_o,
14034 state_block_type: u32,
14035 state: u32,
14036 ) -> u32,
14037 >,
14038 pub num_values: ::std::option::Option<
14039 unsafe extern "C" fn(inst: *mut tm_renderer_shader_compiler_o, value_type: u32) -> u32,
14040 >,
14041 pub value_name: ::std::option::Option<
14042 unsafe extern "C" fn(
14043 inst: *mut tm_renderer_shader_compiler_o,
14044 value_type: u32,
14045 value: u32,
14046 ) -> *const ::std::os::raw::c_char,
14047 >,
14048 pub enum_value: ::std::option::Option<
14049 unsafe extern "C" fn(
14050 inst: *mut tm_renderer_shader_compiler_o,
14051 value_type: u32,
14052 value: u32,
14053 ) -> u32,
14054 >,
14055 pub compile_state_block: ::std::option::Option<
14056 unsafe extern "C" fn(
14057 inst: *mut tm_renderer_shader_compiler_o,
14058 bind_type: u32,
14059 block_type: u32,
14060 states: *const tm_renderer_state_value_pair_t,
14061 num_raster_states: u32,
14062 ) -> tm_renderer_shader_blob_t,
14063 >,
14064 pub compile_shader: ::std::option::Option<
14065 unsafe extern "C" fn(
14066 inst: *mut tm_renderer_shader_compiler_o,
14067 source: *const ::std::os::raw::c_char,
14068 entry_point: *const ::std::os::raw::c_char,
14069 source_language: u32,
14070 stage: u32,
14071 ) -> tm_renderer_shader_blob_t,
14072 >,
14073 pub release_blob: ::std::option::Option<
14074 unsafe extern "C" fn(
14075 inst: *mut tm_renderer_shader_compiler_o,
14076 blob: tm_renderer_shader_blob_t,
14077 ),
14078 >,
14079}
14080extern "C" {
14081 pub static mut tm_renderer_state_block_names: [*const ::std::os::raw::c_char; 7usize];
14082}
14083pub const TM_RENDERER_VALUE_BOOL_FALSE: ::std::os::raw::c_int = 0;
14084pub const TM_RENDERER_VALUE_BOOL_TRUE: ::std::os::raw::c_int = 1;
14085pub const TM_RENDERER_VALUE_BOOL_MAX_VALUES: ::std::os::raw::c_int = 2;
14086pub type _bindgen_ty_151 = ::std::os::raw::c_int;
14087extern "C" {
14088 pub static mut tm_renderer_value_bool_names: [*const ::std::os::raw::c_char; 2usize];
14089}
14090pub const TM_RENDERER_COMPARE_OP_NEVER: ::std::os::raw::c_int = 0;
14091pub const TM_RENDERER_COMPARE_OP_LESS: ::std::os::raw::c_int = 1;
14092pub const TM_RENDERER_COMPARE_OP_EQUAL: ::std::os::raw::c_int = 2;
14093pub const TM_RENDERER_COMPARE_OP_LESS_OR_EQUAL: ::std::os::raw::c_int = 3;
14094pub const TM_RENDERER_COMPARE_OP_GREATER: ::std::os::raw::c_int = 4;
14095pub const TM_RENDERER_COMPARE_OP_NOT_EQUAL: ::std::os::raw::c_int = 5;
14096pub const TM_RENDERER_COMPARE_OP_GREATER_OR_EQUAL: ::std::os::raw::c_int = 6;
14097pub const TM_RENDERER_COMPARE_OP_MAX_VALUES: ::std::os::raw::c_int = 7;
14098pub type _bindgen_ty_152 = ::std::os::raw::c_int;
14099extern "C" {
14100 pub static mut tm_renderer_value_compare_op_names: [*const ::std::os::raw::c_char; 7usize];
14101}
14102pub const TM_RENDERER_TESSELLATION_STATE_CONTROL_POINTS: ::std::os::raw::c_int = 0;
14103pub const TM_RENDERER_TESSELLATION_STATE_MAX_STATES: ::std::os::raw::c_int = 1;
14104pub type _bindgen_ty_153 = ::std::os::raw::c_int;
14105extern "C" {
14106 pub static mut tm_renderer_tessellation_state_names: [*const ::std::os::raw::c_char; 1usize];
14107}
14108extern "C" {
14109 pub static mut tm_renderer_tessellation_state_value_types: [u32; 1usize];
14110}
14111pub const TM_RENDERER_RASTER_STATE_CULL_MODE: ::std::os::raw::c_int = 0;
14112pub const TM_RENDERER_RASTER_STATE_FRONT_FACE: ::std::os::raw::c_int = 1;
14113pub const TM_RENDERER_RASTER_STATE_POLYGON_MODE: ::std::os::raw::c_int = 2;
14114pub const TM_RENDERER_RASTER_STATE_DEPTH_BIAS_ENABLE: ::std::os::raw::c_int = 3;
14115pub const TM_RENDERER_RASTER_STATE_DEPTH_BIAS_CONSTANT_FACTOR: ::std::os::raw::c_int = 4;
14116pub const TM_RENDERER_RASTER_STATE_DEPTH_BIAS_CLAMP: ::std::os::raw::c_int = 5;
14117pub const TM_RENDERER_RASTER_STATE_DEPTH_BIAS_SLOPE_FACTOR: ::std::os::raw::c_int = 6;
14118pub const TM_RENDERER_RASTER_STATE_MAX_STATES: ::std::os::raw::c_int = 7;
14119pub type _bindgen_ty_154 = ::std::os::raw::c_int;
14120extern "C" {
14121 pub static mut tm_renderer_raster_state_names: [*const ::std::os::raw::c_char; 7usize];
14122}
14123extern "C" {
14124 pub static mut tm_renderer_raster_state_value_types: [u32; 7usize];
14125}
14126pub const TM_RENDERER_RASTER_VALUE_CULL_NONE: ::std::os::raw::c_int = 0;
14127pub const TM_RENDERER_RASTER_VALUE_CULL_FRONT: ::std::os::raw::c_int = 1;
14128pub const TM_RENDERER_RASTER_VALUE_CULL_BACK: ::std::os::raw::c_int = 2;
14129pub const TM_RENDERER_RASTER_VALUE_CULL_MAX_VALUES: ::std::os::raw::c_int = 3;
14130pub type _bindgen_ty_155 = ::std::os::raw::c_int;
14131extern "C" {
14132 pub static mut tm_renderer_raster_value_cull_names: [*const ::std::os::raw::c_char; 3usize];
14133}
14134pub const TM_RENDERER_RASTER_VALUE_FRONT_FACE_CW: ::std::os::raw::c_int = 0;
14135pub const TM_RENDERER_RASTER_VALUE_FRONT_FACE_CCW: ::std::os::raw::c_int = 1;
14136pub const TM_RENDERER_RASTER_VALUE_FRONT_FACE_MAX_VALUES: ::std::os::raw::c_int = 2;
14137pub type _bindgen_ty_156 = ::std::os::raw::c_int;
14138extern "C" {
14139 pub static mut tm_renderer_raster_value_front_face_names:
14140 [*const ::std::os::raw::c_char; 2usize];
14141}
14142pub const TM_RENDERER_RASTER_VALUE_POLYGON_MODE_FILL: ::std::os::raw::c_int = 0;
14143pub const TM_RENDERER_RASTER_VALUE_POLYGON_MODE_LINE: ::std::os::raw::c_int = 1;
14144pub const TM_RENDERER_RASTER_VALUE_POLYGON_MODE_POINT: ::std::os::raw::c_int = 2;
14145pub const TM_RENDERER_RASTER_VALUE_POLYGON_MODE_MAX_VALUES: ::std::os::raw::c_int = 3;
14146pub type _bindgen_ty_157 = ::std::os::raw::c_int;
14147extern "C" {
14148 pub static mut tm_renderer_raster_value_polygon_names: [*const ::std::os::raw::c_char; 3usize];
14149}
14150pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_TEST_ENABLE: ::std::os::raw::c_int = 0;
14151pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_WRITE_ENABLE: ::std::os::raw::c_int = 1;
14152pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_COMPARE_OP: ::std::os::raw::c_int = 2;
14153pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_TEST_ENABLE: ::std::os::raw::c_int = 3;
14154pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_FAIL_OP: ::std::os::raw::c_int = 4;
14155pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_PASS_OP: ::std::os::raw::c_int = 5;
14156pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_DEPTH_FAIL_OP: ::std::os::raw::c_int = 6;
14157pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_COMPARE_OP: ::std::os::raw::c_int = 7;
14158pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_COMPARE_MASK: ::std::os::raw::c_int = 8;
14159pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_COMPARE_WRITE_MASK: ::std::os::raw::c_int =
14160 9;
14161pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_FRONT_REFERENCE: ::std::os::raw::c_int = 10;
14162pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_FAIL_OP: ::std::os::raw::c_int = 11;
14163pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_PASS_OP: ::std::os::raw::c_int = 12;
14164pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_DEPTH_FAIL_OP: ::std::os::raw::c_int = 13;
14165pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_COMPARE_OP: ::std::os::raw::c_int = 14;
14166pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_COMPARE_MASK: ::std::os::raw::c_int = 15;
14167pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_COMPARE_WRITE_MASK: ::std::os::raw::c_int =
14168 16;
14169pub const TM_RENDERER_DEPTH_STENCIL_STATE_STENCIL_BACK_REFERENCE: ::std::os::raw::c_int = 17;
14170pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_BOUND_TEST_ENABLE: ::std::os::raw::c_int = 18;
14171pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_BOUND_MIN: ::std::os::raw::c_int = 19;
14172pub const TM_RENDERER_DEPTH_STENCIL_STATE_DEPTH_BOUND_MAX: ::std::os::raw::c_int = 20;
14173pub const TM_RENDERER_DEPTH_STENCIL_STATE_MAX_STATES: ::std::os::raw::c_int = 21;
14174pub type _bindgen_ty_158 = ::std::os::raw::c_int;
14175extern "C" {
14176 pub static mut tm_renderer_depth_stencil_state_names: [*const ::std::os::raw::c_char; 21usize];
14177}
14178extern "C" {
14179 pub static mut tm_renderer_depth_stencil_state_value_types: [u32; 21usize];
14180}
14181pub const TM_RENDERER_STENCIL_OP_KEEP: ::std::os::raw::c_int = 0;
14182pub const TM_RENDERER_STENCIL_OP_ZERO: ::std::os::raw::c_int = 1;
14183pub const TM_RENDERER_STENCIL_OP_REPLACE: ::std::os::raw::c_int = 2;
14184pub const TM_RENDERER_STENCIL_OP_INC_CLAMP: ::std::os::raw::c_int = 3;
14185pub const TM_RENDERER_STENCIL_OP_DEC_CLAMP: ::std::os::raw::c_int = 4;
14186pub const TM_RENDERER_STENCIL_OP_INVERT: ::std::os::raw::c_int = 5;
14187pub const TM_RENDERER_STENCIL_OP_INC_WRAP: ::std::os::raw::c_int = 6;
14188pub const TM_RENDERER_STENCIL_OP_DEC_WRAP: ::std::os::raw::c_int = 7;
14189pub const TM_RENDERER_STENCIL_OP_MAX_VALUES: ::std::os::raw::c_int = 8;
14190pub type _bindgen_ty_159 = ::std::os::raw::c_int;
14191extern "C" {
14192 pub static mut tm_renderer_value_stencil_op_names: [*const ::std::os::raw::c_char; 8usize];
14193}
14194pub const TM_RENDERER_SAMPLER_STATE_MIN_FILTER: ::std::os::raw::c_int = 0;
14195pub const TM_RENDERER_SAMPLER_STATE_MAG_FILTER: ::std::os::raw::c_int = 1;
14196pub const TM_RENDERER_SAMPLER_STATE_MIP_MODE: ::std::os::raw::c_int = 2;
14197pub const TM_RENDERER_SAMPLER_STATE_ADDRESS_U: ::std::os::raw::c_int = 3;
14198pub const TM_RENDERER_SAMPLER_STATE_ADDRESS_V: ::std::os::raw::c_int = 4;
14199pub const TM_RENDERER_SAMPLER_STATE_ADDRESS_W: ::std::os::raw::c_int = 5;
14200pub const TM_RENDERER_SAMPLER_STATE_MIP_LOD_BIAS: ::std::os::raw::c_int = 6;
14201pub const TM_RENDERER_SAMPLER_STATE_ANISOTROPY_ENABLE: ::std::os::raw::c_int = 7;
14202pub const TM_RENDERER_SAMPLER_STATE_MAX_ANISOTROPY: ::std::os::raw::c_int = 8;
14203pub const TM_RENDERER_SAMPLER_STATE_COMPARE_ENABLE: ::std::os::raw::c_int = 9;
14204pub const TM_RENDERER_SAMPLER_STATE_COMPARE_OP: ::std::os::raw::c_int = 10;
14205pub const TM_RENDERER_SAMPLER_STATE_MIN_LOD: ::std::os::raw::c_int = 11;
14206pub const TM_RENDERER_SAMPLER_STATE_MAX_LOD: ::std::os::raw::c_int = 12;
14207pub const TM_RENDERER_SAMPLER_STATE_BORDER_COLOR: ::std::os::raw::c_int = 13;
14208pub const TM_RENDERER_SAMPLER_STATE_MAX_STATES: ::std::os::raw::c_int = 14;
14209pub type _bindgen_ty_160 = ::std::os::raw::c_int;
14210extern "C" {
14211 pub static mut tm_renderer_sampler_state_names: [*const ::std::os::raw::c_char; 14usize];
14212}
14213extern "C" {
14214 pub static mut tm_renderer_sampler_state_types: [u32; 14usize];
14215}
14216pub const TM_RENDERER_FILTER_POINT: ::std::os::raw::c_int = 0;
14217pub const TM_RENDERER_FILTER_LINEAR: ::std::os::raw::c_int = 1;
14218pub const TM_RENDERER_FILTER_MAX_VALUES: ::std::os::raw::c_int = 2;
14219pub type _bindgen_ty_161 = ::std::os::raw::c_int;
14220extern "C" {
14221 pub static mut tm_renderer_value_filter_names: [*const ::std::os::raw::c_char; 2usize];
14222}
14223pub const TM_RENDERER_MIP_MODE_POINT: ::std::os::raw::c_int = 0;
14224pub const TM_RENDERER_MIP_MODE_LINEAR: ::std::os::raw::c_int = 1;
14225pub const TM_RENDERER_MIP_MODE_MAX_VALUES: ::std::os::raw::c_int = 2;
14226pub type _bindgen_ty_162 = ::std::os::raw::c_int;
14227extern "C" {
14228 pub static mut tm_renderer_value_mip_mode_names: [*const ::std::os::raw::c_char; 2usize];
14229}
14230pub const TM_RENDERER_ADDRESS_MODE_WRAP: ::std::os::raw::c_int = 0;
14231pub const TM_RENDERER_ADDRESS_MODE_MIRROR_WRAP: ::std::os::raw::c_int = 1;
14232pub const TM_RENDERER_ADDRESS_MODE_CLAMP: ::std::os::raw::c_int = 2;
14233pub const TM_RENDERER_ADDRESS_MODE_CLAMP_BORDER_COLOR: ::std::os::raw::c_int = 3;
14234pub const TM_RENDERER_ADDRESS_MODE_MIRROR_CLAMP: ::std::os::raw::c_int = 4;
14235pub const TM_RENDERER_ADDRESS_MODE_MAX_VALUES: ::std::os::raw::c_int = 5;
14236pub type _bindgen_ty_163 = ::std::os::raw::c_int;
14237extern "C" {
14238 pub static mut tm_renderer_value_address_mode_names: [*const ::std::os::raw::c_char; 5usize];
14239}
14240pub const TM_RENDERER_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: ::std::os::raw::c_int = 0;
14241pub const TM_RENDERER_BORDER_COLOR_INT_TRANSPARENT_BLACK: ::std::os::raw::c_int = 1;
14242pub const TM_RENDERER_BORDER_COLOR_FLOAT_OPAQUE_BLACK: ::std::os::raw::c_int = 2;
14243pub const TM_RENDERER_BORDER_COLOR_INT_OPAQUE_BLACK: ::std::os::raw::c_int = 3;
14244pub const TM_RENDERER_BORDER_COLOR_FLOAT_OPAQUE_WHITE: ::std::os::raw::c_int = 4;
14245pub const TM_RENDERER_BORDER_COLOR_INT_OPAQUE_WHITE: ::std::os::raw::c_int = 5;
14246pub const TM_RENDERER_BORDER_COLOR_MAX_VALUES: ::std::os::raw::c_int = 6;
14247pub type _bindgen_ty_164 = ::std::os::raw::c_int;
14248extern "C" {
14249 pub static mut tm_renderer_value_border_color_names: [*const ::std::os::raw::c_char; 6usize];
14250}
14251pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_BLEND_ENABLE: ::std::os::raw::c_int = 0;
14252pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_SOURCE_BLEND_FACTOR_COLOR: ::std::os::raw::c_int =
14253 1;
14254pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_DESTINATION_BLEND_FACTOR_COLOR:
14255 ::std::os::raw::c_int = 2;
14256pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_BLEND_OP_COLOR: ::std::os::raw::c_int = 3;
14257pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_SOURCE_BLEND_FACTOR_ALPHA: ::std::os::raw::c_int =
14258 4;
14259pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_DESTINATION_BLEND_FACTOR_ALPHA:
14260 ::std::os::raw::c_int = 5;
14261pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_BLEND_OP_ALPHA: ::std::os::raw::c_int = 6;
14262pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_WRITE_MASK: ::std::os::raw::c_int = 7;
14263pub const TM_RENDERER_RENDER_TARGET_BLEND_STATE_MAX_STATES: ::std::os::raw::c_int = 8;
14264pub type _bindgen_ty_165 = ::std::os::raw::c_int;
14265extern "C" {
14266 pub static mut tm_renderer_render_target_blend_state_names:
14267 [*const ::std::os::raw::c_char; 8usize];
14268}
14269extern "C" {
14270 pub static mut tm_renderer_render_target_blend_state_types: [u32; 8usize];
14271}
14272pub const TM_RENDERER_BLEND_FACTOR_ZERO: ::std::os::raw::c_int = 0;
14273pub const TM_RENDERER_BLEND_FACTOR_ONE: ::std::os::raw::c_int = 1;
14274pub const TM_RENDERER_BLEND_FACTOR_SOURCE_COLOR: ::std::os::raw::c_int = 2;
14275pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_SOURCE_COLOR: ::std::os::raw::c_int = 3;
14276pub const TM_RENDERER_BLEND_FACTOR_DESTINATION_COLOR: ::std::os::raw::c_int = 4;
14277pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_DESTINATION_COLOR: ::std::os::raw::c_int = 5;
14278pub const TM_RENDERER_BLEND_FACTOR_SOURCE_ALPHA: ::std::os::raw::c_int = 6;
14279pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_SOURCE_ALPHA: ::std::os::raw::c_int = 7;
14280pub const TM_RENDERER_BLEND_FACTOR_DESTINATION_ALPHA: ::std::os::raw::c_int = 8;
14281pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_DESTINATION_ALPHA: ::std::os::raw::c_int = 9;
14282pub const TM_RENDERER_BLEND_FACTOR_CONSTANT_COLOR: ::std::os::raw::c_int = 10;
14283pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR: ::std::os::raw::c_int = 11;
14284pub const TM_RENDERER_BLEND_FACTOR_CONSTANT_ALPHA: ::std::os::raw::c_int = 12;
14285pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA: ::std::os::raw::c_int = 13;
14286pub const TM_RENDERER_BLEND_FACTOR_SOURCE_ALPHA_SATURATE: ::std::os::raw::c_int = 14;
14287pub const TM_RENDERER_BLEND_FACTOR_SOURCE1_COLOR: ::std::os::raw::c_int = 15;
14288pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_SOURCE1_COLOR: ::std::os::raw::c_int = 16;
14289pub const TM_RENDERER_BLEND_FACTOR_SOURCE1_ALPHA: ::std::os::raw::c_int = 17;
14290pub const TM_RENDERER_BLEND_FACTOR_ONE_MINUS_SOURCE1_ALPHA: ::std::os::raw::c_int = 18;
14291pub const TM_RENDERER_BLEND_FACTOR_MAX_VALUES: ::std::os::raw::c_int = 19;
14292pub type _bindgen_ty_166 = ::std::os::raw::c_int;
14293extern "C" {
14294 pub static mut tm_renderer_value_blend_factor_names: [*const ::std::os::raw::c_char; 19usize];
14295}
14296pub const TM_RENDERER_LOGICAL_OP_CLEAR: ::std::os::raw::c_int = 0;
14297pub const TM_RENDERER_LOGICAL_OP_AND: ::std::os::raw::c_int = 1;
14298pub const TM_RENDERER_LOGICAL_OP_AND_REVERSE: ::std::os::raw::c_int = 2;
14299pub const TM_RENDERER_LOGICAL_OP_COPY: ::std::os::raw::c_int = 3;
14300pub const TM_RENDERER_LOGICAL_OP_AND_INVERTED: ::std::os::raw::c_int = 4;
14301pub const TM_RENDERER_LOGICAL_OP_NO_OP: ::std::os::raw::c_int = 5;
14302pub const TM_RENDERER_LOGICAL_OP_XOR: ::std::os::raw::c_int = 6;
14303pub const TM_RENDERER_LOGICAL_OP_OR: ::std::os::raw::c_int = 7;
14304pub const TM_RENDERER_LOGICAL_OP_NOR: ::std::os::raw::c_int = 8;
14305pub const TM_RENDERER_LOGICAL_OP_EQUIVALENT: ::std::os::raw::c_int = 9;
14306pub const TM_RENDERER_LOGICAL_OP_INVERT: ::std::os::raw::c_int = 10;
14307pub const TM_RENDERER_LOGICAL_OP_OR_REVERSE: ::std::os::raw::c_int = 11;
14308pub const TM_RENDERER_LOGICAL_OP_COPY_INVERTED: ::std::os::raw::c_int = 12;
14309pub const TM_RENDERER_LOGICAL_OP_OR_INVERTED: ::std::os::raw::c_int = 13;
14310pub const TM_RENDERER_LOGICAL_OP_NAND: ::std::os::raw::c_int = 14;
14311pub const TM_RENDERER_LOGICAL_OP_SET: ::std::os::raw::c_int = 15;
14312pub const TM_RENDERER_LOGICAL_OP_MAX_VALUES: ::std::os::raw::c_int = 16;
14313pub type _bindgen_ty_167 = ::std::os::raw::c_int;
14314extern "C" {
14315 pub static mut tm_renderer_value_logical_op_names: [*const ::std::os::raw::c_char; 16usize];
14316}
14317pub const TM_RENDERER_BLEND_OP_ADD: ::std::os::raw::c_int = 0;
14318pub const TM_RENDERER_BLEND_OP_SUBTRACT: ::std::os::raw::c_int = 1;
14319pub const TM_RENDERER_BLEND_OP_REVERSE_SUBTRACT: ::std::os::raw::c_int = 2;
14320pub const TM_RENDERER_BLEND_OP_MIN: ::std::os::raw::c_int = 3;
14321pub const TM_RENDERER_BLEND_OP_MAX: ::std::os::raw::c_int = 4;
14322pub const TM_RENDERER_BLEND_OP_MAX_VALUES: ::std::os::raw::c_int = 5;
14323pub type _bindgen_ty_168 = ::std::os::raw::c_int;
14324extern "C" {
14325 pub static mut tm_renderer_value_blend_op_names: [*const ::std::os::raw::c_char; 5usize];
14326}
14327pub const TM_RENDERER_BLEND_WRITE_MASK_DISABLED: ::std::os::raw::c_int = 0;
14328pub const TM_RENDERER_BLEND_WRITE_MASK_RED: ::std::os::raw::c_int = 1;
14329pub const TM_RENDERER_BLEND_WRITE_MASK_GREEN: ::std::os::raw::c_int = 2;
14330pub const TM_RENDERER_BLEND_WRITE_MASK_BLUE: ::std::os::raw::c_int = 4;
14331pub const TM_RENDERER_BLEND_WRITE_MASK_ALPHA: ::std::os::raw::c_int = 8;
14332pub const TM_RENDERER_BLEND_WRITE_MASK_RED_GREEN: ::std::os::raw::c_int = 3;
14333pub const TM_RENDERER_BLEND_WRITE_MASK_RED_BLUE: ::std::os::raw::c_int = 5;
14334pub const TM_RENDERER_BLEND_WRITE_MASK_GREEN_BLUE: ::std::os::raw::c_int = 6;
14335pub const TM_RENDERER_BLEND_WRITE_MASK_RED_GREEN_BLUE: ::std::os::raw::c_int = 7;
14336pub const TM_RENDERER_BLEND_WRITE_MASK_RED_ALPHA: ::std::os::raw::c_int = 9;
14337pub const TM_RENDERER_BLEND_WRITE_MASK_GREEN_ALPHA: ::std::os::raw::c_int = 10;
14338pub const TM_RENDERER_BLEND_WRITE_MASK_RED_GREEN_ALPHA: ::std::os::raw::c_int = 9;
14339pub const TM_RENDERER_BLEND_WRITE_MASK_BLUE_ALPHA: ::std::os::raw::c_int = 12;
14340pub const TM_RENDERER_BLEND_WRITE_MASK_RED_BLUE_ALPHA: ::std::os::raw::c_int = 13;
14341pub const TM_RENDERER_BLEND_WRITE_MASK_GREEN_BLUE_ALPHA: ::std::os::raw::c_int = 14;
14342pub const TM_RENDERER_BLEND_WRITE_MASK_RED_GREEN_BLUE_ALPHA: ::std::os::raw::c_int = 15;
14343pub const TM_RENDERER_BLEND_WRITE_MASK_MAX_VALUES: ::std::os::raw::c_int = 16;
14344pub type _bindgen_ty_169 = ::std::os::raw::c_int;
14345extern "C" {
14346 pub static mut tm_renderer_enum_value_write_mask: [u32; 16usize];
14347}
14348extern "C" {
14349 pub static mut tm_renderer_value_write_mask_names: [*const ::std::os::raw::c_char; 16usize];
14350}
14351pub const TM_RENDERER_BLEND_STATE_LOGICAL_OPERATION_ENABLE: ::std::os::raw::c_int = 0;
14352pub const TM_RENDERER_BLEND_STATE_LOGICAL_OPERATION: ::std::os::raw::c_int = 1;
14353pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_0: ::std::os::raw::c_int = 2;
14354pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_1: ::std::os::raw::c_int = 3;
14355pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_2: ::std::os::raw::c_int = 4;
14356pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_3: ::std::os::raw::c_int = 5;
14357pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_4: ::std::os::raw::c_int = 6;
14358pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_5: ::std::os::raw::c_int = 7;
14359pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_6: ::std::os::raw::c_int = 8;
14360pub const TM_RENDERER_BLEND_STATE_RENDER_TARGET_7: ::std::os::raw::c_int = 9;
14361pub const TM_RENDERER_BLEND_STATE_MAX_STATES: ::std::os::raw::c_int = 10;
14362pub type _bindgen_ty_170 = ::std::os::raw::c_int;
14363extern "C" {
14364 pub static mut tm_renderer_blend_state_names: [*const ::std::os::raw::c_char; 10usize];
14365}
14366extern "C" {
14367 pub static mut tm_renderer_blend_state_types: [u32; 10usize];
14368}
14369pub const TM_RENDERER_MULTI_SAMPLE_SHADING_ENABLE: ::std::os::raw::c_int = 0;
14370pub const TM_RENDERER_MULTI_MIN_SAMPLE_SHADING: ::std::os::raw::c_int = 1;
14371pub const TM_RENDERER_MULTI_SAMPLE_ALPHA_TO_COVERAGE_ENABLE: ::std::os::raw::c_int = 2;
14372pub const TM_RENDERER_MULTI_SAMPLE_ALPHA_TO_ONE_ENABLE: ::std::os::raw::c_int = 3;
14373pub const TM_RENDERER_MULTI_SAMPLE_MAX_STATES: ::std::os::raw::c_int = 4;
14374pub type _bindgen_ty_171 = ::std::os::raw::c_int;
14375extern "C" {
14376 pub static mut tm_renderer_multi_sample_state_names: [*const ::std::os::raw::c_char; 4usize];
14377}
14378extern "C" {
14379 pub static mut tm_renderer_multi_sample_state_types: [u32; 4usize];
14380}
14381#[repr(C)]
14382#[derive(Copy, Clone)]
14383pub struct tm_render_graph_setup_o {
14384 _unused: [u8; 0],
14385}
14386#[repr(C)]
14387#[derive(Copy, Clone)]
14388pub struct tm_render_graph_execute_o {
14389 _unused: [u8; 0],
14390}
14391pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_SUB_MODULE_BITS_START:
14392 tm_render_graph_sort_key = 0;
14393pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_SUB_MODULE_BITS: tm_render_graph_sort_key =
14394 8;
14395pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_DEPTH_BITS_START: tm_render_graph_sort_key =
14396 8;
14397pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_DEPTH_BITS: tm_render_graph_sort_key = 16;
14398pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_INTERNAL_PASS_BITS_START:
14399 tm_render_graph_sort_key = 24;
14400pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_INTERNAL_PASS_BITS:
14401 tm_render_graph_sort_key = 27;
14402pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_PASS_BITS_START: tm_render_graph_sort_key =
14403 51;
14404pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_PASS_BITS: tm_render_graph_sort_key = 11;
14405pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_GRAPH_LOOP_BITS_START:
14406 tm_render_graph_sort_key = 62;
14407pub const tm_render_graph_sort_key_TM_RENDER_GRAPH_SORT_GRAPH_LOOP_BITS: tm_render_graph_sort_key =
14408 2;
14409pub type tm_render_graph_sort_key = ::std::os::raw::c_int;
14410pub const tm_render_graph_write_bind_flag_TM_RENDER_GRAPH_WRITE_BIND_FLAG_UAV:
14411 tm_render_graph_write_bind_flag = 1;
14412pub const tm_render_graph_write_bind_flag_TM_RENDER_GRAPH_WRITE_BIND_FLAG_COLOR_TARGET:
14413 tm_render_graph_write_bind_flag = 2;
14414pub const tm_render_graph_write_bind_flag_TM_RENDER_GRAPH_WRITE_BIND_FLAG_DEPTH_STENCIL_TARGET:
14415 tm_render_graph_write_bind_flag = 4;
14416pub type tm_render_graph_write_bind_flag = ::std::os::raw::c_int;
14417#[repr(C)]
14418#[derive(Copy, Clone)]
14419pub struct tm_render_graph_handle_t {
14420 pub value: u32,
14421}
14422#[repr(C)]
14423#[derive(Copy, Clone)]
14424pub union tm_render_graph_blackboard_value {
14425 pub data: *mut ::std::os::raw::c_void,
14426 pub float32: f32,
14427 pub uint64: u64,
14428 pub uint32: u32,
14429 pub int64: i64,
14430 pub int32: i32,
14431 pub boolean: bool,
14432 _bindgen_union_align: u64,
14433}
14434#[repr(C)]
14435#[derive(Copy, Clone)]
14436pub struct tm_render_graph_viewer_t {
14437 pub sort_key: u64,
14438 pub visibility_mask: u64,
14439 pub viewer_system: *mut tm_shader_system_o,
14440 pub viewer_cbuffer: *mut tm_shader_constant_buffer_instance_t,
14441 pub viewer_rbinder: *mut tm_shader_resource_binder_instance_t,
14442 pub view: tm_mat44_t,
14443 pub projection: tm_mat44_t,
14444 pub near_plane: f32,
14445 pub far_plane: f32,
14446}
14447#[repr(C)]
14448#[derive(Copy, Clone)]
14449pub struct tm_render_graph_api {
14450 pub create: ::std::option::Option<
14451 unsafe extern "C" fn(
14452 sort_key: u64,
14453 allocator: *mut tm_allocator_i,
14454 shader_repository: *mut tm_shader_repository_o,
14455 ) -> *mut tm_render_graph_o,
14456 >,
14457 pub destroy: ::std::option::Option<unsafe extern "C" fn(graph: *mut tm_render_graph_o)>,
14458 pub sort_key: ::std::option::Option<
14459 unsafe extern "C" fn(graph: *const tm_render_graph_o, material_layer_name: u64) -> u64,
14460 >,
14461 pub register_gpu_image: ::std::option::Option<
14462 unsafe extern "C" fn(
14463 graph: *mut tm_render_graph_o,
14464 name: u64,
14465 resource: u32,
14466 resource_state: u32,
14467 image_desc: *const tm_renderer_image_buffer_t,
14468 ),
14469 >,
14470 pub register_gpu_buffer: ::std::option::Option<
14471 unsafe extern "C" fn(
14472 graph: *mut tm_render_graph_o,
14473 name: u64,
14474 resource: u32,
14475 resource_state: u32,
14476 buffer_desc: *const tm_renderer_buffer_t,
14477 ),
14478 >,
14479 pub write_blackboard: ::std::option::Option<
14480 unsafe extern "C" fn(
14481 graph: *mut tm_render_graph_o,
14482 key: u64,
14483 value: tm_render_graph_blackboard_value,
14484 ),
14485 >,
14486 pub read_blackboard: ::std::option::Option<
14487 unsafe extern "C" fn(
14488 graph: *const tm_render_graph_o,
14489 key: u64,
14490 value: *mut tm_render_graph_blackboard_value,
14491 ) -> bool,
14492 >,
14493 pub setup_passes: ::std::option::Option<
14494 unsafe extern "C" fn(
14495 graph: *mut tm_render_graph_o,
14496 render_module: *mut tm_render_graph_module_o,
14497 ),
14498 >,
14499 pub validate_and_build: ::std::option::Option<
14500 unsafe extern "C" fn(
14501 graph: *mut tm_render_graph_o,
14502 backend: *mut tm_renderer_backend_i,
14503 device_affinity_mask: u32,
14504 ) -> bool,
14505 >,
14506 pub execute: ::std::option::Option<
14507 unsafe extern "C" fn(
14508 graph: *mut tm_render_graph_o,
14509 backend: *mut tm_renderer_backend_i,
14510 shader_context: *const tm_shader_system_context_o,
14511 device_affinity_mask: u32,
14512 ) -> *mut tm_atomic_counter_o,
14513 >,
14514 pub resource_buffers: ::std::option::Option<
14515 unsafe extern "C" fn(
14516 graph: *const tm_render_graph_o,
14517 resource_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
14518 num_resource_buffers: *mut u32,
14519 ),
14520 >,
14521 pub command_buffers: ::std::option::Option<
14522 unsafe extern "C" fn(
14523 graph: *const tm_render_graph_o,
14524 command_buffers: *mut *mut tm_renderer_command_buffer_o,
14525 num_command_buffers: *mut u32,
14526 ),
14527 >,
14528 pub viewers: ::std::option::Option<
14529 unsafe extern "C" fn(
14530 graph: *mut tm_render_graph_o,
14531 viewers: *mut tm_render_graph_viewer_t,
14532 num_viewers: *mut u32,
14533 ),
14534 >,
14535 pub backend_handle: ::std::option::Option<
14536 unsafe extern "C" fn(
14537 graph: *const tm_render_graph_o,
14538 graph_handle: tm_render_graph_handle_t,
14539 ) -> u32,
14540 >,
14541}
14542#[repr(C)]
14543#[derive(Copy, Clone)]
14544pub struct tm_render_graph_module_editor_submenu_i {
14545 pub submenu_name: *const ::std::os::raw::c_char,
14546 pub inst: *mut ::std::os::raw::c_void,
14547 pub submenu: ::std::option::Option<
14548 unsafe extern "C" fn(
14549 inst: *mut ::std::os::raw::c_void,
14550 ui: *mut tm_ui_o,
14551 uistyle: *const tm_ui_style_t,
14552 submenu_pos: tm_vec2_t,
14553 ),
14554 >,
14555}
14556#[repr(C)]
14557#[derive(Copy, Clone)]
14558pub struct tm_render_graph_module_api {
14559 pub create: ::std::option::Option<
14560 unsafe extern "C" fn(
14561 allocator: *mut tm_allocator_i,
14562 name: *const ::std::os::raw::c_char,
14563 ) -> *mut tm_render_graph_module_o,
14564 >,
14565 pub destroy: ::std::option::Option<
14566 unsafe extern "C" fn(
14567 render_module: *mut tm_render_graph_module_o,
14568 res_buf: *mut tm_renderer_resource_command_buffer_o,
14569 ),
14570 >,
14571 pub add_pass: ::std::option::Option<
14572 unsafe extern "C" fn(
14573 render_module: *mut tm_render_graph_module_o,
14574 pass: *mut tm_render_graph_pass_i,
14575 ),
14576 >,
14577 pub add_extension_point: ::std::option::Option<
14578 unsafe extern "C" fn(
14579 render_module: *mut tm_render_graph_module_o,
14580 extension_point_name: u64,
14581 ),
14582 >,
14583 pub insert_extension: ::std::option::Option<
14584 unsafe extern "C" fn(
14585 render_module: *mut tm_render_graph_module_o,
14586 extension_point_name: u64,
14587 extension: *mut tm_render_graph_module_o,
14588 ordering_weight: f32,
14589 ) -> bool,
14590 >,
14591 pub add_sub_module: ::std::option::Option<
14592 unsafe extern "C" fn(
14593 render_module: *mut tm_render_graph_module_o,
14594 shader_layer_name: u64,
14595 sub_module: *mut tm_render_graph_module_o,
14596 ),
14597 >,
14598 pub init_passes: ::std::option::Option<
14599 unsafe extern "C" fn(
14600 render_module: *mut tm_render_graph_module_o,
14601 res_buf: *mut tm_renderer_resource_command_buffer_o,
14602 ),
14603 >,
14604 pub set_editor_submenu_interface: ::std::option::Option<
14605 unsafe extern "C" fn(
14606 render_module: *mut tm_render_graph_module_o,
14607 submenu_i: *mut tm_render_graph_module_editor_submenu_i,
14608 ),
14609 >,
14610 pub editor_submenu: ::std::option::Option<
14611 unsafe extern "C" fn(
14612 render_module: *mut tm_render_graph_module_o,
14613 ui: *mut tm_ui_o,
14614 uistyle: *const tm_ui_style_t,
14615 submenu_pos: tm_vec2_t,
14616 ),
14617 >,
14618 pub create_persistent_gpu_image: ::std::option::Option<
14619 unsafe extern "C" fn(
14620 render_module: *mut tm_render_graph_module_o,
14621 name: u64,
14622 image_desc: *const tm_renderer_image_buffer_t,
14623 inherits: u64,
14624 ),
14625 >,
14626 pub create_persistent_gpu_buffer: ::std::option::Option<
14627 unsafe extern "C" fn(
14628 render_module: *mut tm_render_graph_module_o,
14629 name: u64,
14630 buffer_desc: *const tm_renderer_buffer_t,
14631 inherits: u64,
14632 ),
14633 >,
14634}
14635#[repr(C)]
14636#[derive(Copy, Clone)]
14637pub struct tm_render_graph_setup_api {
14638 pub external_resource: ::std::option::Option<
14639 unsafe extern "C" fn(
14640 graph_setup: *mut tm_render_graph_setup_o,
14641 name: u64,
14642 ) -> tm_render_graph_handle_t,
14643 >,
14644 pub image_desc: ::std::option::Option<
14645 unsafe extern "C" fn(
14646 graph_setup: *mut tm_render_graph_setup_o,
14647 handle: tm_render_graph_handle_t,
14648 ) -> *const tm_renderer_image_buffer_t,
14649 >,
14650 pub buffer_desc: ::std::option::Option<
14651 unsafe extern "C" fn(
14652 graph_setup: *mut tm_render_graph_setup_o,
14653 handle: tm_render_graph_handle_t,
14654 ) -> *const tm_renderer_buffer_t,
14655 >,
14656 pub shader_repository: ::std::option::Option<
14657 unsafe extern "C" fn(
14658 graph_setup: *mut tm_render_graph_setup_o,
14659 ) -> *mut tm_shader_repository_o,
14660 >,
14661 pub create_gpu_images: ::std::option::Option<
14662 unsafe extern "C" fn(
14663 graph_setup: *mut tm_render_graph_setup_o,
14664 image_descs: *const tm_renderer_image_buffer_t,
14665 num_images: u32,
14666 handles: *mut tm_render_graph_handle_t,
14667 ),
14668 >,
14669 pub create_gpu_buffers: ::std::option::Option<
14670 unsafe extern "C" fn(
14671 graph_setup: *mut tm_render_graph_setup_o,
14672 buffer_descs: *const tm_renderer_buffer_t,
14673 num_buffers: u32,
14674 handles: *mut tm_render_graph_handle_t,
14675 ),
14676 >,
14677 pub read_gpu_resource: ::std::option::Option<
14678 unsafe extern "C" fn(
14679 graph_setup: *mut tm_render_graph_setup_o,
14680 handle: tm_render_graph_handle_t,
14681 wanted_resource_state: u32,
14682 ),
14683 >,
14684 pub write_gpu_resource: ::std::option::Option<
14685 unsafe extern "C" fn(
14686 graph_setup: *mut tm_render_graph_setup_o,
14687 handle: tm_render_graph_handle_t,
14688 write_bind_flags: u32,
14689 wanted_resource_state: u32,
14690 load_op: u32,
14691 bind_slot: u32,
14692 blackboard_key: u64,
14693 ),
14694 >,
14695 pub set_active: ::std::option::Option<
14696 unsafe extern "C" fn(graph_setup: *mut tm_render_graph_setup_o, state: bool),
14697 >,
14698 pub set_output: ::std::option::Option<
14699 unsafe extern "C" fn(graph_setup: *mut tm_render_graph_setup_o, state: bool),
14700 >,
14701 pub set_request_async_compute: ::std::option::Option<
14702 unsafe extern "C" fn(graph_setup: *mut tm_render_graph_setup_o, state: bool),
14703 >,
14704 pub set_request_multi_gpu: ::std::option::Option<
14705 unsafe extern "C" fn(graph_setup: *mut tm_render_graph_setup_o, device_affinity_mask: u32),
14706 >,
14707 pub expose_as_material_layer: ::std::option::Option<
14708 unsafe extern "C" fn(graph_setup: *mut tm_render_graph_setup_o, layer_name: u64),
14709 >,
14710 pub write_blackboard: ::std::option::Option<
14711 unsafe extern "C" fn(
14712 graph_setup: *mut tm_render_graph_setup_o,
14713 key: u64,
14714 value: tm_render_graph_blackboard_value,
14715 ),
14716 >,
14717 pub read_blackboard: ::std::option::Option<
14718 unsafe extern "C" fn(
14719 graph_setup: *mut tm_render_graph_setup_o,
14720 key: u64,
14721 value: *mut tm_render_graph_blackboard_value,
14722 ) -> bool,
14723 >,
14724}
14725#[repr(C)]
14726#[derive(Copy, Clone)]
14727pub struct tm_render_graph_layer_sort_key_t {
14728 pub layer_name: u64,
14729 pub sort_key: u64,
14730}
14731#[repr(C)]
14732#[derive(Copy, Clone)]
14733pub struct tm_render_graph_execute_api {
14734 pub default_command_buffer: ::std::option::Option<
14735 unsafe extern "C" fn(
14736 graph_execute: *mut tm_render_graph_execute_o,
14737 ) -> *mut tm_renderer_command_buffer_o,
14738 >,
14739 pub default_resource_command_buffer: ::std::option::Option<
14740 unsafe extern "C" fn(
14741 graph_execute: *mut tm_render_graph_execute_o,
14742 ) -> *mut tm_renderer_resource_command_buffer_o,
14743 >,
14744 pub shader_context: ::std::option::Option<
14745 unsafe extern "C" fn(
14746 graph_execute: *mut tm_render_graph_execute_o,
14747 ) -> *const tm_shader_system_context_o,
14748 >,
14749 pub device_affinity_mask: ::std::option::Option<
14750 unsafe extern "C" fn(graph_execute: *mut tm_render_graph_execute_o) -> u32,
14751 >,
14752 pub backend_handle: ::std::option::Option<
14753 unsafe extern "C" fn(
14754 graph_execute: *mut tm_render_graph_execute_o,
14755 graph_handle: tm_render_graph_handle_t,
14756 ) -> u32,
14757 >,
14758 pub run_sub_module: ::std::option::Option<
14759 unsafe extern "C" fn(
14760 graph_execute: *mut tm_render_graph_execute_o,
14761 sub_module_name: u64,
14762 sort_key: u64,
14763 commands: *mut tm_renderer_command_buffer_o,
14764 ),
14765 >,
14766 pub read_blackboard: ::std::option::Option<
14767 unsafe extern "C" fn(
14768 graph_execute: *mut tm_render_graph_execute_o,
14769 key: u64,
14770 value: *mut tm_render_graph_blackboard_value,
14771 ) -> bool,
14772 >,
14773 pub append_viewers: ::std::option::Option<
14774 unsafe extern "C" fn(
14775 graph_execute: *mut tm_render_graph_execute_o,
14776 viewers: *const tm_render_graph_viewer_t,
14777 num_viewers: u32,
14778 ),
14779 >,
14780}
14781#[repr(C)]
14782#[derive(Copy, Clone)]
14783pub struct tm_render_graph_pass_api {
14784 pub init_pass: ::std::option::Option<
14785 unsafe extern "C" fn(
14786 const_data: *mut ::std::os::raw::c_void,
14787 allocator: *mut tm_allocator_i,
14788 res_buf: *mut tm_renderer_resource_command_buffer_o,
14789 ),
14790 >,
14791 pub shutdown_pass: ::std::option::Option<
14792 unsafe extern "C" fn(
14793 const_data: *mut ::std::os::raw::c_void,
14794 allocator: *mut tm_allocator_i,
14795 res_buf: *mut tm_renderer_resource_command_buffer_o,
14796 ),
14797 >,
14798 pub setup_pass: ::std::option::Option<
14799 unsafe extern "C" fn(
14800 const_data: *const ::std::os::raw::c_void,
14801 runtime_data: *mut ::std::os::raw::c_void,
14802 graph_setup: *mut tm_render_graph_setup_o,
14803 ),
14804 >,
14805 pub execute_pass: ::std::option::Option<
14806 unsafe extern "C" fn(
14807 const_data: *const ::std::os::raw::c_void,
14808 runtime_data: *mut ::std::os::raw::c_void,
14809 sort_key: u64,
14810 graph_execute: *mut tm_render_graph_execute_o,
14811 ),
14812 >,
14813}
14814#[repr(C)]
14815#[derive(Copy, Clone)]
14816pub struct tm_render_graph_pass_i {
14817 pub const_data: *mut ::std::os::raw::c_void,
14818 pub const_data_size: u64,
14819 pub runtime_data_size: u64,
14820 pub profiling_scope: *const ::std::os::raw::c_char,
14821 pub api: tm_render_graph_pass_api,
14822}
14823#[repr(C)]
14824#[derive(Copy, Clone)]
14825pub struct tm_render_graph_module_o {
14826 _unused: [u8; 0],
14827}
14828#[repr(C)]
14829#[derive(Copy, Clone)]
14830pub struct tm_render_graph_o {
14831 _unused: [u8; 0],
14832}
14833#[repr(C)]
14834#[derive(Copy, Clone)]
14835pub struct tm_shader_context_o {
14836 _unused: [u8; 0],
14837}
14838#[repr(C)]
14839#[derive(Copy, Clone)]
14840pub struct tm_render_pipeline_o {
14841 _unused: [u8; 0],
14842}
14843#[repr(C)]
14844#[derive(Copy, Clone)]
14845pub struct tm_render_pipeline_update_frame_parameters_t {
14846 pub last_time: f32,
14847 pub time: f32,
14848 pub delta_time: f32,
14849 pub frame_number: u32,
14850 pub selection_outline_color: tm_vec4_t,
14851}
14852#[repr(C)]
14853#[derive(Copy, Clone)]
14854pub struct tm_render_pipeline_shader_system_t {
14855 pub system: *mut tm_shader_system_o,
14856 pub constants: *mut tm_shader_constant_buffer_instance_t,
14857 pub resources: *mut tm_shader_resource_binder_instance_t,
14858}
14859pub const tm_render_pipeline_global_shader_system_TM_RENDER_PIPELINE_FRAME_PARAMETERS:
14860 tm_render_pipeline_global_shader_system = 0;
14861pub const tm_render_pipeline_global_shader_system_TM_RENDER_PIPELINE_EDITOR_SELECTION:
14862 tm_render_pipeline_global_shader_system = 1;
14863pub const tm_render_pipeline_global_shader_system_TM_RENDER_PIPELINE_DYNAMIC_OBJECT:
14864 tm_render_pipeline_global_shader_system = 2;
14865pub const tm_render_pipeline_global_shader_system_TM_RENDER_PIPELINE_LIGHTING_SYSTEM:
14866 tm_render_pipeline_global_shader_system = 3;
14867pub const tm_render_pipeline_global_shader_system_TM_RENDER_PIPELINE_SHADER_SYSTEMS_MAX:
14868 tm_render_pipeline_global_shader_system = 4;
14869pub type tm_render_pipeline_global_shader_system = ::std::os::raw::c_int;
14870#[repr(C)]
14871#[derive(Copy, Clone)]
14872pub struct tm_render_pipeline_api {
14873 pub name: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
14874 pub create: ::std::option::Option<
14875 unsafe extern "C" fn(
14876 allocator: *mut tm_allocator_i,
14877 res_buf: *mut tm_renderer_resource_command_buffer_o,
14878 ) -> *mut tm_render_pipeline_o,
14879 >,
14880 pub destroy: ::std::option::Option<
14881 unsafe extern "C" fn(
14882 inst: *mut tm_render_pipeline_o,
14883 res_buf: *mut tm_renderer_resource_command_buffer_o,
14884 ),
14885 >,
14886 pub main_module: ::std::option::Option<
14887 unsafe extern "C" fn(inst: *mut tm_render_pipeline_o) -> *mut tm_render_graph_module_o,
14888 >,
14889 pub begin: ::std::option::Option<
14890 unsafe extern "C" fn(
14891 inst: *mut tm_render_pipeline_o,
14892 graph: *mut tm_render_graph_o,
14893 context: *mut tm_shader_system_context_o,
14894 ),
14895 >,
14896 pub end: ::std::option::Option<
14897 unsafe extern "C" fn(
14898 inst: *mut tm_render_pipeline_o,
14899 graph: *mut tm_render_graph_o,
14900 context: *mut tm_shader_system_context_o,
14901 ),
14902 >,
14903 pub editor_submenu: ::std::option::Option<
14904 unsafe extern "C" fn(
14905 inst: *mut tm_render_pipeline_o,
14906 ui: *mut tm_ui_o,
14907 uistyle: *const tm_ui_style_t,
14908 submenu_pos: tm_vec2_t,
14909 ),
14910 >,
14911 pub global_shader_system: ::std::option::Option<
14912 unsafe extern "C" fn(
14913 inst: *mut tm_render_pipeline_o,
14914 system_id: tm_render_pipeline_global_shader_system,
14915 system: *mut tm_render_pipeline_shader_system_t,
14916 ) -> bool,
14917 >,
14918 pub update_frame_parameters: ::std::option::Option<
14919 unsafe extern "C" fn(
14920 inst: *mut tm_render_pipeline_o,
14921 frame_params: *const tm_render_pipeline_update_frame_parameters_t,
14922 res_buf: *mut tm_renderer_resource_command_buffer_o,
14923 ),
14924 >,
14925}
14926#[repr(C)]
14927#[derive(Copy, Clone)]
14928pub struct tm_render_pipeline_i {
14929 pub inst: *mut tm_render_pipeline_o,
14930 pub api: *mut tm_render_pipeline_api,
14931}
14932#[repr(C)]
14933#[derive(Copy, Clone)]
14934pub struct tm_shadow_map_manager_o {
14935 _unused: [u8; 0],
14936}
14937pub const TM_SHADOW_LIGHT_TYPE_POINT: ::std::os::raw::c_int = 0;
14938pub const TM_SHADOW_LIGHT_TYPE_SPOT: ::std::os::raw::c_int = 1;
14939pub const TM_SHADOW_LIGHT_TYPE_DIRECTIONAL: ::std::os::raw::c_int = 2;
14940pub type _bindgen_ty_172 = ::std::os::raw::c_int;
14941#[repr(C)]
14942#[derive(Copy, Clone)]
14943pub struct tm_shadow_mapping_input_t {
14944 pub tm: tm_mat44_t,
14945 pub type_: u32,
14946 pub __bindgen_anon_1: tm_shadow_mapping_input_t__bindgen_ty_1,
14947 pub depth_bias: f32,
14948 pub _padding_40: [::std::os::raw::c_char; 4usize],
14949 pub shadow_data_offset: *mut u32,
14950}
14951#[repr(C)]
14952#[derive(Copy, Clone)]
14953pub union tm_shadow_mapping_input_t__bindgen_ty_1 {
14954 pub directional: tm_shadow_mapping_input_t__bindgen_ty_1__bindgen_ty_1,
14955 pub point_spot: tm_shadow_mapping_input_t__bindgen_ty_1__bindgen_ty_2,
14956 _bindgen_union_align: [u32; 3usize],
14957}
14958#[repr(C)]
14959#[derive(Copy, Clone)]
14960pub struct tm_shadow_mapping_input_t__bindgen_ty_1__bindgen_ty_1 {
14961 pub num_cascades: u32,
14962 pub shadow_distance: f32,
14963 pub uniform_log_weight: f32,
14964}
14965#[repr(C)]
14966#[derive(Copy, Clone)]
14967pub struct tm_shadow_mapping_input_t__bindgen_ty_1__bindgen_ty_2 {
14968 pub near_range: f32,
14969 pub far_range: f32,
14970 pub spot_angle_outer: f32,
14971}
14972#[repr(C)]
14973#[derive(Copy, Clone)]
14974pub struct tm_shadow_mapping_api {
14975 pub create_manager: ::std::option::Option<
14976 unsafe extern "C" fn(
14977 allocator: *mut tm_allocator_i,
14978 viewer_system: *mut tm_shader_system_o,
14979 visibility_mask: u64,
14980 shadow_atlas_width: u32,
14981 shadow_atlas_height: u32,
14982 res_buf: *mut tm_renderer_resource_command_buffer_o,
14983 ) -> *mut tm_shadow_map_manager_o,
14984 >,
14985 pub destroy_manager: ::std::option::Option<
14986 unsafe extern "C" fn(
14987 manager: *mut tm_shadow_map_manager_o,
14988 res_buf: *mut tm_renderer_resource_command_buffer_o,
14989 ),
14990 >,
14991 pub shadow_passes: ::std::option::Option<
14992 unsafe extern "C" fn(
14993 mod_: *mut tm_render_graph_module_o,
14994 shadow_map_manager: *mut tm_shadow_map_manager_o,
14995 blackboard_lighting_system_name: u64,
14996 ),
14997 >,
14998}
14999pub const TM_MAX_RENDER_TARGETS: ::std::os::raw::c_int = 8;
15000pub const TM_MAX_UAVS: ::std::os::raw::c_int = 8;
15001pub type _bindgen_ty_173 = ::std::os::raw::c_int;
15002#[repr(C)]
15003#[derive(Copy, Clone)]
15004pub struct tm_pass_render_target_t {
15005 pub name: u64,
15006 pub load_op: u8,
15007 pub store_op: u8,
15008 pub create: bool,
15009 pub _padding_30: [::std::os::raw::c_char; 5usize],
15010 pub inherits: u64,
15011 pub scale: [f32; 3usize],
15012 pub _padding_35: [::std::os::raw::c_char; 4usize],
15013 pub __bindgen_anon_1: tm_pass_render_target_t__bindgen_ty_1,
15014}
15015#[repr(C)]
15016#[derive(Copy, Clone)]
15017pub union tm_pass_render_target_t__bindgen_ty_1 {
15018 pub desc: *mut tm_renderer_image_buffer_t,
15019 pub opaque: [u8; 64usize],
15020 _bindgen_union_align: [u64; 8usize],
15021}
15022#[repr(C)]
15023#[derive(Copy, Clone)]
15024pub struct tm_pass_buffer_write_t {
15025 pub name: u64,
15026 pub usage_flags: u8,
15027 pub create: bool,
15028 pub _padding_54: [::std::os::raw::c_char; 2usize],
15029 pub size: u32,
15030}
15031#[repr(C)]
15032#[derive(Copy, Clone)]
15033pub struct tm_material_pass_setup_t {
15034 pub output_pass: bool,
15035 pub _padding_64: [::std::os::raw::c_char; 7usize],
15036 pub color_targets: [tm_pass_render_target_t; 8usize],
15037 pub depth_stencil_target: tm_pass_render_target_t,
15038 pub layer_name: u64,
15039}
15040pub const TM_FULLSCREEN_PASS_MAX_INPUT_RESOURCES_PER_SLOT: ::std::os::raw::c_int = 8;
15041pub const TM_FULLSCREEN_PASS_MAX_INPUT_SLOTS: ::std::os::raw::c_int = 4;
15042pub type _bindgen_ty_174 = ::std::os::raw::c_int;
15043pub const tm_fullscreen_pass_type_TM_FULLSCREEN_PASS_TYPE__GRAPHICS: tm_fullscreen_pass_type = 0;
15044pub const tm_fullscreen_pass_type_TM_FULLSCREEN_PASS_TYPE__COMPUTE: tm_fullscreen_pass_type = 1;
15045pub type tm_fullscreen_pass_type = ::std::os::raw::c_int;
15046#[repr(C)]
15047#[derive(Copy, Clone)]
15048pub struct tm_fullscreen_pass_input_resource_t {
15049 pub name: u64,
15050 pub view_aspect_flag: u32,
15051 pub _padding_90: [::std::os::raw::c_char; 4usize],
15052}
15053#[repr(C)]
15054#[derive(Copy, Clone)]
15055pub struct tm_fullscreen_pass_input_slot_resources_t {
15056 pub slot_name: u64,
15057 pub bind_flag_name: u64,
15058 pub resources: [tm_fullscreen_pass_input_resource_t; 8usize],
15059}
15060#[repr(C)]
15061#[derive(Copy, Clone)]
15062pub struct tm_fullscreen_pass_setup_t {
15063 pub output_pass: bool,
15064 pub type_: u8,
15065 pub _padding_112: [::std::os::raw::c_char; 2usize],
15066 pub group_count: [u32; 3usize],
15067 pub input_slots: [tm_fullscreen_pass_input_slot_resources_t; 4usize],
15068 pub color_targets: [tm_pass_render_target_t; 8usize],
15069 pub depth_stencil_target: tm_pass_render_target_t,
15070 pub buffer_writes: [tm_pass_buffer_write_t; 8usize],
15071 pub shader: u64,
15072}
15073#[repr(C)]
15074#[derive(Copy, Clone)]
15075pub struct tm_debug_visualization_pass_setup_t {
15076 pub color_target: u64,
15077 pub shader: u64,
15078}
15079#[repr(C)]
15080#[derive(Copy, Clone)]
15081pub struct tm_debug_visualization_resources_t {
15082 pub resources: [tm_debug_visualization_resources_t__bindgen_ty_1; 16usize],
15083 pub num_resources: u32,
15084 pub _padding_156: [::std::os::raw::c_char; 4usize],
15085}
15086#[repr(C)]
15087#[derive(Copy, Clone)]
15088pub struct tm_debug_visualization_resources_t__bindgen_ty_1 {
15089 pub name: u64,
15090 pub view_aspect_flag: u32,
15091 pub contents: tm_debug_visualization_resources_t__bindgen_ty_1__bindgen_ty_1,
15092}
15093pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_COLOR_RGB:
15094 ::std::os::raw::c_int = 0;
15095pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_COLOR_A: ::std::os::raw::c_int =
15096 1;
15097pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_NORMALS: ::std::os::raw::c_int =
15098 2;
15099pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_SHADOW_MAP:
15100 ::std::os::raw::c_int = 3;
15101pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_PIXEL_VELOCITY:
15102 ::std::os::raw::c_int = 4;
15103pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_EV100: ::std::os::raw::c_int = 5;
15104pub const tm_debug_visualization_resources_t__bindgen_ty_1_CONTENT_NAN_INF: ::std::os::raw::c_int =
15105 6;
15106pub type tm_debug_visualization_resources_t__bindgen_ty_1__bindgen_ty_1 = ::std::os::raw::c_int;
15107pub type tm_custom_fullscreen_setup = ::std::option::Option<
15108 unsafe extern "C" fn(
15109 const_data: *const ::std::os::raw::c_void,
15110 runtime_data: *mut ::std::os::raw::c_void,
15111 graph_setup: *mut tm_render_graph_setup_o,
15112 ),
15113>;
15114#[repr(C)]
15115#[derive(Copy, Clone)]
15116pub struct tm_render_graph_toolbox_api {
15117 pub fullscreen_pass: ::std::option::Option<
15118 unsafe extern "C" fn(
15119 module: *mut tm_render_graph_module_o,
15120 setup: *mut tm_fullscreen_pass_setup_t,
15121 profiling_scope: *const ::std::os::raw::c_char,
15122 ),
15123 >,
15124 pub custom_fullscreen_pass: ::std::option::Option<
15125 unsafe extern "C" fn(
15126 module: *mut tm_render_graph_module_o,
15127 setup: tm_custom_fullscreen_setup,
15128 const_data: *const ::std::os::raw::c_void,
15129 const_data_size: u32,
15130 profiling_scope: *const ::std::os::raw::c_char,
15131 ),
15132 >,
15133 pub material_pass: ::std::option::Option<
15134 unsafe extern "C" fn(
15135 module: *mut tm_render_graph_module_o,
15136 setup: *mut tm_material_pass_setup_t,
15137 profiling_scope: *const ::std::os::raw::c_char,
15138 ),
15139 >,
15140 pub debug_visualization_pass: ::std::option::Option<
15141 unsafe extern "C" fn(
15142 module: *mut tm_render_graph_module_o,
15143 setup: *mut tm_debug_visualization_pass_setup_t,
15144 profiling_scope: *const ::std::os::raw::c_char,
15145 ),
15146 >,
15147 pub setup_render_target_writes: ::std::option::Option<
15148 unsafe extern "C" fn(
15149 color_targets: *const tm_pass_render_target_t,
15150 depth_stencil_target: *const tm_pass_render_target_t,
15151 buffer_writes: *const tm_pass_buffer_write_t,
15152 graph_setup: *mut tm_render_graph_setup_o,
15153 ),
15154 >,
15155 pub setup_render_target_descs: ::std::option::Option<
15156 unsafe extern "C" fn(
15157 color_targets: *mut tm_pass_render_target_t,
15158 depth_stencil_target: *mut tm_pass_render_target_t,
15159 ),
15160 >,
15161 pub setup_fullscreen_pass: ::std::option::Option<
15162 unsafe extern "C" fn(
15163 setup: *mut tm_fullscreen_pass_setup_t,
15164 runtime_data: *mut ::std::os::raw::c_void,
15165 graph_setup: *mut tm_render_graph_setup_o,
15166 ),
15167 >,
15168 pub image_desc: ::std::option::Option<
15169 unsafe extern "C" fn(
15170 graph_setup: *mut tm_render_graph_setup_o,
15171 resource_name: u64,
15172 ) -> *const tm_renderer_image_buffer_t,
15173 >,
15174}
15175#[repr(C)]
15176#[derive(Copy, Clone)]
15177pub struct tm_component_shader_system_t {
15178 pub active_viewer_mask: u64,
15179 pub system: *mut tm_shader_system_o,
15180 pub constants: *mut tm_shader_constant_buffer_instance_t,
15181 pub resources: *mut tm_shader_resource_binder_instance_t,
15182}
15183#[repr(C)]
15184#[derive(Copy, Clone)]
15185pub struct tm_component_shader_system_i {
15186 pub name_hash: u64,
15187 pub update_system: ::std::option::Option<
15188 unsafe extern "C" fn(
15189 ctx: *mut tm_entity_context_o,
15190 entity: tm_entity_t,
15191 component: *mut ::std::os::raw::c_void,
15192 entity_transform: *const tm_mat44_t,
15193 res_buf: *mut tm_renderer_resource_command_buffer_o,
15194 device_affinity_mask: u32,
15195 system: *mut tm_component_shader_system_t,
15196 ) -> bool,
15197 >,
15198}
15199#[repr(C)]
15200#[derive(Copy, Clone)]
15201pub struct tm_component_shader_system_api {
15202 pub update_systems: ::std::option::Option<
15203 unsafe extern "C" fn(
15204 system_components: *const u32,
15205 systems: *mut *mut tm_component_shader_system_i,
15206 n_systems: u32,
15207 ctx: *mut tm_entity_context_o,
15208 entity: tm_entity_t,
15209 entity_transform: *const tm_mat44_t,
15210 res_buf: *mut tm_renderer_resource_command_buffer_o,
15211 device_affinity_mask: u32,
15212 active_systems: *mut tm_component_shader_system_t,
15213 ) -> u32,
15214 >,
15215 pub components: ::std::option::Option<
15216 unsafe extern "C" fn(
15217 systems: *mut *mut tm_component_shader_system_i,
15218 n_systems: u32,
15219 ctx: *mut tm_entity_context_o,
15220 ta: *mut tm_temp_allocator_i,
15221 ) -> *const u32,
15222 >,
15223}
15224pub const TM_TT_PROP__CUBEMAP_CAPTURE_COMPONENT__CAPTURE_INTERFACE: ::std::os::raw::c_int = 0;
15225pub const TM_TT_PROP__CUBEMAP_CAPTURE_COMPONENT__OUTPUT_IMAGE: ::std::os::raw::c_int = 1;
15226pub type _bindgen_ty_175 = ::std::os::raw::c_int;
15227#[repr(C)]
15228#[derive(Copy, Clone)]
15229pub struct tm_cubemap_capture_component_t {
15230 pub image_asset: tm_tt_id_t,
15231}
15232#[repr(C)]
15233#[derive(Copy, Clone)]
15234pub struct tm_cubemap_capture_o {
15235 _unused: [u8; 0],
15236}
15237#[repr(C)]
15238#[derive(Copy, Clone)]
15239pub struct tm_cubemap_capture_api {
15240 pub capture: ::std::option::Option<
15241 unsafe extern "C" fn(
15242 inst: *mut tm_cubemap_capture_o,
15243 entity: tm_tt_id_t,
15244 resource: u32,
15245 resource_state: u16,
15246 output_desc: *const tm_renderer_image_buffer_t,
15247 device_affinity_mask: u32,
15248 ),
15249 >,
15250 pub interface_name: ::std::option::Option<
15251 unsafe extern "C" fn(inst: *mut tm_cubemap_capture_o) -> *const ::std::os::raw::c_char,
15252 >,
15253 pub interface_uid:
15254 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_cubemap_capture_o) -> u64>,
15255}
15256#[repr(C)]
15257#[derive(Copy, Clone)]
15258pub struct tm_cubemap_capture_i {
15259 pub inst: *mut tm_cubemap_capture_o,
15260 pub api: *mut tm_cubemap_capture_api,
15261}
15262#[repr(C)]
15263#[derive(Copy, Clone)]
15264pub struct tm_gpu_picking_o {
15265 _unused: [u8; 0],
15266}
15267#[repr(C)]
15268#[derive(Copy, Clone)]
15269pub struct tm_gpu_picking_api {
15270 pub create: ::std::option::Option<
15271 unsafe extern "C" fn(
15272 allocator: *mut tm_allocator_i,
15273 res_buf: *mut tm_renderer_resource_command_buffer_o,
15274 picking_system: *mut tm_shader_system_o,
15275 clear_picking_buffer_shader: *mut tm_shader_o,
15276 ) -> *mut tm_gpu_picking_o,
15277 >,
15278 pub destroy: ::std::option::Option<
15279 unsafe extern "C" fn(
15280 inst: *mut tm_gpu_picking_o,
15281 res_buf: *mut tm_renderer_resource_command_buffer_o,
15282 ),
15283 >,
15284 pub update_cpu: ::std::option::Option<
15285 unsafe extern "C" fn(
15286 inst: *mut tm_gpu_picking_o,
15287 rb: *mut tm_renderer_backend_i,
15288 device_affinity_mask: u32,
15289 activate_system: bool,
15290 cursor_position: tm_vec2_t,
15291 opacity_threshold: f32,
15292 result: *mut u64,
15293 ) -> bool,
15294 >,
15295 pub update_gpu: ::std::option::Option<
15296 unsafe extern "C" fn(
15297 inst: *mut tm_gpu_picking_o,
15298 context: *mut tm_shader_system_context_o,
15299 res_buf: *mut tm_renderer_resource_command_buffer_o,
15300 cmd_buf: *mut tm_renderer_command_buffer_o,
15301 device_affinity_mask: u32,
15302 resolution_scale: f32,
15303 ),
15304 >,
15305}
15306pub const TM_TT_PROP__GRID_SETTINGS__CELL_SIZE: ::std::os::raw::c_int = 0;
15307pub const TM_TT_PROP__GRID_SETTINGS__EXTENT: ::std::os::raw::c_int = 1;
15308pub const TM_TT_PROP__GRID_SETTINGS__INFINITE: ::std::os::raw::c_int = 2;
15309pub const TM_TT_PROP__GRID_SETTINGS__THIN_LINES_COLOR: ::std::os::raw::c_int = 3;
15310pub const TM_TT_PROP__GRID_SETTINGS__THICK_LINES_COLOR: ::std::os::raw::c_int = 4;
15311pub type _bindgen_ty_176 = ::std::os::raw::c_int;
15312#[repr(C)]
15313#[derive(Copy, Clone)]
15314pub struct tm_visual_grid_t {
15315 pub tm: tm_mat44_t,
15316 pub grid_extent: f32,
15317 pub cell_size: f32,
15318 pub infinite: bool,
15319 pub thin_lines_color: tm_color_srgb_t,
15320 pub thick_lines_color: tm_color_srgb_t,
15321 pub _padding_38: [::std::os::raw::c_char; 3usize],
15322}
15323#[repr(C)]
15324#[derive(Copy, Clone)]
15325pub struct tm_grid_renderer_api {
15326 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
15327 pub read_from_truth_settings: ::std::option::Option<
15328 unsafe extern "C" fn(
15329 grid: *mut tm_visual_grid_t,
15330 tt: *mut tm_the_truth_o,
15331 grid_settings: tm_tt_id_t,
15332 ),
15333 >,
15334 pub render: ::std::option::Option<
15335 unsafe extern "C" fn(
15336 context: *const tm_shader_system_context_o,
15337 grid_shader: *mut tm_shader_o,
15338 grid: *const tm_visual_grid_t,
15339 res_buf: *mut tm_renderer_resource_command_buffer_o,
15340 cmd_buf: *mut tm_renderer_command_buffer_o,
15341 sort_key: u64,
15342 ),
15343 >,
15344}
15345#[repr(C)]
15346#[derive(Copy, Clone)]
15347pub struct tm_tab_o {
15348 _unused: [u8; 0],
15349}
15350#[repr(C)]
15351#[derive(Copy, Clone)]
15352pub struct tm_image_inspector_data_t {
15353 pub render_handle: u32,
15354 pub _padding_19: [::std::os::raw::c_char; 4usize],
15355 pub desc: *const tm_renderer_image_buffer_t,
15356 pub srgb: bool,
15357 pub display_channels_rgba: [bool; 4usize],
15358 pub _padding_30: [::std::os::raw::c_char; 3usize],
15359 pub checker_colors: [u32; 2usize],
15360 pub mip_level: u32,
15361 pub slice: u32,
15362 pub dpi_scale_factor: f32,
15363 pub origo: tm_vec2_t,
15364 pub zoom: f32,
15365}
15366#[repr(C)]
15367#[derive(Copy, Clone)]
15368pub struct tm_image_inspector_api {
15369 pub render: ::std::option::Option<
15370 unsafe extern "C" fn(
15371 shader: *mut tm_shader_o,
15372 data: *const tm_image_inspector_data_t,
15373 system_context: *const tm_shader_system_context_o,
15374 res_buf: *mut tm_renderer_resource_command_buffer_o,
15375 cmd_buf: *mut tm_renderer_command_buffer_o,
15376 sort_key: u64,
15377 ),
15378 >,
15379}
15380pub const tm_primitive_drawer_type_TM_PRIMITIVE_DRAWER_LINES: tm_primitive_drawer_type = 0;
15381pub const tm_primitive_drawer_type_TM_PRIMITIVE_DRAWER_SPHERE: tm_primitive_drawer_type = 1;
15382pub const tm_primitive_drawer_type_TM_PRIMITIVE_DRAWER_CONE: tm_primitive_drawer_type = 2;
15383pub const tm_primitive_drawer_type_TM_PRIMITIVE_DRAWER_TRIANGLES: tm_primitive_drawer_type = 3;
15384pub const tm_primitive_drawer_type_TM_PRIMITIVE_DRAWER_FILLED_TRIANGLES: tm_primitive_drawer_type =
15385 4;
15386pub type tm_primitive_drawer_type = ::std::os::raw::c_int;
15387#[repr(C)]
15388#[derive(Copy, Clone)]
15389pub struct tm_primitive_drawer_buffer_t {
15390 pub buffer: *mut u8,
15391 pub bytes: u32,
15392 pub bytes_allocated: u32,
15393}
15394pub const TM_PRIMITIVE_DRAWER__OK: ::std::os::raw::c_int = 0;
15395pub const TM_PRIMITIVE_DRAWER__PBUFFER_FULL: ::std::os::raw::c_int = 1;
15396pub const TM_PRIMITIVE_DRAWER__VBUFFER_FULL: ::std::os::raw::c_int = 2;
15397pub type _bindgen_ty_177 = ::std::os::raw::c_int;
15398#[repr(C)]
15399#[derive(Copy, Clone)]
15400pub struct tm_primitive_drawer_api {
15401 pub stroke_lines: ::std::option::Option<
15402 unsafe extern "C" fn(
15403 pbuffer: *mut tm_primitive_drawer_buffer_t,
15404 vbuffer: *mut tm_primitive_drawer_buffer_t,
15405 tm: *const tm_mat44_t,
15406 vertices: *const tm_vec3_t,
15407 num_lines: u32,
15408 color: tm_color_srgb_t,
15409 line_width: f32,
15410 ) -> u32,
15411 >,
15412 pub stroke_polyline: ::std::option::Option<
15413 unsafe extern "C" fn(
15414 pbuffer: *mut tm_primitive_drawer_buffer_t,
15415 vbuffer: *mut tm_primitive_drawer_buffer_t,
15416 tm: *const tm_mat44_t,
15417 vertices: *const tm_vec3_t,
15418 num_vertices: u32,
15419 color: tm_color_srgb_t,
15420 line_width: f32,
15421 ) -> u32,
15422 >,
15423 pub stroke_triangles: ::std::option::Option<
15424 unsafe extern "C" fn(
15425 pbuffer: *mut tm_primitive_drawer_buffer_t,
15426 vbuffer: *mut tm_primitive_drawer_buffer_t,
15427 tm: *const tm_mat44_t,
15428 vertices: *const tm_vec3_t,
15429 num_vertices: u32,
15430 indices: *const u32,
15431 num_indices: u32,
15432 color: tm_color_srgb_t,
15433 line_width: f32,
15434 ) -> u32,
15435 >,
15436 pub stroke_rect: ::std::option::Option<
15437 unsafe extern "C" fn(
15438 pbuffer: *mut tm_primitive_drawer_buffer_t,
15439 vbuffer: *mut tm_primitive_drawer_buffer_t,
15440 tm: *const tm_mat44_t,
15441 width: f32,
15442 height: f32,
15443 color: tm_color_srgb_t,
15444 line_width: f32,
15445 ) -> u32,
15446 >,
15447 pub stroke_ellipse: ::std::option::Option<
15448 unsafe extern "C" fn(
15449 pbuffer: *mut tm_primitive_drawer_buffer_t,
15450 vbuffer: *mut tm_primitive_drawer_buffer_t,
15451 tm: *const tm_mat44_t,
15452 width: f32,
15453 height: f32,
15454 divisions: u32,
15455 color: tm_color_srgb_t,
15456 line_width: f32,
15457 ) -> u32,
15458 >,
15459 pub stroke_cuboid: ::std::option::Option<
15460 unsafe extern "C" fn(
15461 pbuffer: *mut tm_primitive_drawer_buffer_t,
15462 vbuffer: *mut tm_primitive_drawer_buffer_t,
15463 tm: *const tm_mat44_t,
15464 lower_bound: tm_vec3_t,
15465 upper_bound: tm_vec3_t,
15466 color: tm_color_srgb_t,
15467 line_width: f32,
15468 ) -> u32,
15469 >,
15470 pub stroke_sphere: ::std::option::Option<
15471 unsafe extern "C" fn(
15472 pbuffer: *mut tm_primitive_drawer_buffer_t,
15473 tm: *const tm_mat44_t,
15474 radius: f32,
15475 segments: u32,
15476 parts: u32,
15477 color: tm_color_srgb_t,
15478 line_width: f32,
15479 ) -> u32,
15480 >,
15481 pub stroke_cone: ::std::option::Option<
15482 unsafe extern "C" fn(
15483 pbuffer: *mut tm_primitive_drawer_buffer_t,
15484 tm: *const tm_mat44_t,
15485 length: f32,
15486 radius: f32,
15487 segments: u32,
15488 bars: u32,
15489 color: tm_color_srgb_t,
15490 line_width: f32,
15491 ) -> u32,
15492 >,
15493 pub stroke_octasphere: ::std::option::Option<
15494 unsafe extern "C" fn(
15495 pbuffer: *mut tm_primitive_drawer_buffer_t,
15496 vbuffer: *mut tm_primitive_drawer_buffer_t,
15497 tm: *const tm_mat44_t,
15498 r: f32,
15499 d: tm_vec3_t,
15500 n: u32,
15501 color: tm_color_srgb_t,
15502 line_width: f32,
15503 ) -> u32,
15504 >,
15505 pub fill_triangles: ::std::option::Option<
15506 unsafe extern "C" fn(
15507 pbuffer: *mut tm_primitive_drawer_buffer_t,
15508 vbuffer: *mut tm_primitive_drawer_buffer_t,
15509 tm: *const tm_mat44_t,
15510 vertices: *const tm_vec3_t,
15511 num_vertices: u32,
15512 indices: *const u32,
15513 num_indices: u32,
15514 color: tm_color_srgb_t,
15515 ) -> u32,
15516 >,
15517 pub reserve: ::std::option::Option<
15518 unsafe extern "C" fn(
15519 pbuffer: *mut tm_primitive_drawer_buffer_t,
15520 p_bytes: u32,
15521 vbuffer: *mut tm_primitive_drawer_buffer_t,
15522 v_bytes: u32,
15523 allocator: *mut tm_allocator_i,
15524 ),
15525 >,
15526 pub grow: ::std::option::Option<
15527 unsafe extern "C" fn(
15528 pbuffer: *mut tm_primitive_drawer_buffer_t,
15529 vbuffer: *mut tm_primitive_drawer_buffer_t,
15530 res: u32,
15531 allocator: *mut tm_allocator_i,
15532 ),
15533 >,
15534}
15535#[repr(C)]
15536#[derive(Copy, Clone)]
15537pub struct tm_primitive_renderer_o {
15538 _unused: [u8; 0],
15539}
15540#[repr(C)]
15541#[derive(Copy, Clone)]
15542pub struct tm_primitive_renderer_api {
15543 pub create: ::std::option::Option<
15544 unsafe extern "C" fn(
15545 allocator: *mut tm_allocator_i,
15546 res_buf: *mut tm_renderer_resource_command_buffer_o,
15547 ) -> *mut tm_primitive_renderer_o,
15548 >,
15549 pub destroy: ::std::option::Option<
15550 unsafe extern "C" fn(
15551 inst: *mut tm_primitive_renderer_o,
15552 res_buf: *mut tm_renderer_resource_command_buffer_o,
15553 ),
15554 >,
15555 pub render: ::std::option::Option<
15556 unsafe extern "C" fn(
15557 inst: *mut tm_primitive_renderer_o,
15558 pbuffer: *const tm_primitive_drawer_buffer_t,
15559 vbuffer: *const tm_primitive_drawer_buffer_t,
15560 shader: *mut tm_shader_o,
15561 shader_context: *const tm_shader_system_context_o,
15562 sort_key: u64,
15563 res_buf: *mut tm_renderer_resource_command_buffer_o,
15564 cmd_buf: *mut tm_renderer_command_buffer_o,
15565 ),
15566 >,
15567}
15568pub const TM_TT_PROP__RENDER_COMPONENT__CREATION_GRAPH: ::std::os::raw::c_int = 0;
15569pub type _bindgen_ty_178 = ::std::os::raw::c_int;
15570#[repr(C)]
15571#[derive(Copy, Clone)]
15572pub struct tm_render_component_public_t {
15573 pub update_shader_variables: bool,
15574}
15575#[repr(C)]
15576#[derive(Copy, Clone)]
15577pub struct tm_render_component_api {
15578 pub draw_call: ::std::option::Option<
15579 unsafe extern "C" fn(
15580 c: *mut tm_render_component_public_t,
15581 name: u64,
15582 ) -> *const tm_creation_graph_draw_call_data_t,
15583 >,
15584}
15585pub const TM_TT_PROP__SKINNING_COMPONENT__BONES: ::std::os::raw::c_int = 0;
15586pub type _bindgen_ty_179 = ::std::os::raw::c_int;
15587#[repr(C)]
15588#[derive(Copy, Clone)]
15589pub struct tm_bone_t {
15590 pub name: u64,
15591 pub bone_idx: u32,
15592 pub inverse_bind: tm_transform_t,
15593 pub _padding_29: [::std::os::raw::c_char; 4usize],
15594}
15595#[repr(C)]
15596#[derive(Copy, Clone)]
15597pub struct tm_skinning_component_api {
15598 pub update_system: ::std::option::Option<
15599 unsafe extern "C" fn(
15600 ctx: *mut tm_entity_context_o,
15601 entity: tm_entity_t,
15602 component: *mut ::std::os::raw::c_void,
15603 entity_transform: *const tm_mat44_t,
15604 res_buf: *mut tm_renderer_resource_command_buffer_o,
15605 device_affinity_mask: u32,
15606 system: *mut tm_component_shader_system_t,
15607 ) -> bool,
15608 >,
15609}
15610pub const TM_TT_PROP__SCULPT_COMPONENT__VISIBILITY_FLAGS: ::std::os::raw::c_int = 0;
15611pub const TM_TT_PROP__SCULPT_COMPONENT__NUM_BOXES: ::std::os::raw::c_int = 1;
15612pub const TM_TT_PROP__SCULPT_COMPONENT__BOXES_POS: ::std::os::raw::c_int = 2;
15613pub const TM_TT_PROP__SCULPT_COMPONENT__BOXES_ROT: ::std::os::raw::c_int = 3;
15614pub const TM_TT_PROP__SCULPT_COMPONENT__BOXES_SIZE: ::std::os::raw::c_int = 4;
15615pub const TM_TT_PROP__SCULPT_COMPONENT__BOXES_COLOR: ::std::os::raw::c_int = 5;
15616pub const TM_TT_PROP__SCULPT_COMPONENT__BOXES_PARENT: ::std::os::raw::c_int = 6;
15617pub const TM_TT_PROP__SCULPT_COMPONENT__SELECTION: ::std::os::raw::c_int = 7;
15618pub const TM_TT_PROP__SCULPT_COMPONENT__DRAW_COLOR: ::std::os::raw::c_int = 8;
15619pub type _bindgen_ty_180 = ::std::os::raw::c_int;
15620pub const TM_TT_PROP__SCULPT_COMPONENT_SELECTION__INDICES: ::std::os::raw::c_int = 0;
15621pub const TM_TT_PROP__SCULPT_COMPONENT_SELECTION__POSITION: ::std::os::raw::c_int = 1;
15622pub const TM_TT_PROP__SCULPT_COMPONENT_SELECTION__ROTATION: ::std::os::raw::c_int = 2;
15623pub const TM_TT_PROP__SCULPT_COMPONENT_SELECTION__EXTENT: ::std::os::raw::c_int = 3;
15624pub const TM_TT_PROP__SCULPT_COMPONENT_SELECTION__COLOR: ::std::os::raw::c_int = 4;
15625pub type _bindgen_ty_181 = ::std::os::raw::c_int;
15626pub const tm_sculpt_component__select_sub_tool_TM_SCULPT_COMPONENT__SELECT_SUB_TOOL__MOVE:
15627 tm_sculpt_component__select_sub_tool = 0;
15628pub const tm_sculpt_component__select_sub_tool_TM_SCULPT_COMPONENT__SELECT_SUB_TOOL__ROTATE:
15629 tm_sculpt_component__select_sub_tool = 1;
15630pub const tm_sculpt_component__select_sub_tool_TM_SCULPT_COMPONENT__SELECT_SUB_TOOL__SCALE:
15631 tm_sculpt_component__select_sub_tool = 2;
15632pub const tm_sculpt_component__select_sub_tool_TM_SCULPT_COMPONENT__SELECT_SUB_TOOL__COUNT:
15633 tm_sculpt_component__select_sub_tool = 3;
15634pub type tm_sculpt_component__select_sub_tool = ::std::os::raw::c_int;
15635#[repr(C)]
15636#[derive(Copy, Clone)]
15637pub struct tm_sculpt_component__select_tool_settings_t {
15638 pub sub_tool: tm_sculpt_component__select_sub_tool,
15639 pub _padding_62: [::std::os::raw::c_char; 4usize],
15640 pub move_settings: *const tm_gizmo__move_settings_t,
15641 pub rotate_settings: *const tm_gizmo__rotate_settings_t,
15642 pub scale_settings: *const tm_gizmo__scale_settings_t,
15643}
15644#[repr(C)]
15645#[derive(Copy, Clone)]
15646pub struct tm_sculpt_component__select_tool_results_t {
15647 pub gizmo_showing: bool,
15648 pub _padding_77: [::std::os::raw::c_char; 3usize],
15649 pub gizmo_pos: tm_vec3_t,
15650}
15651#[repr(C)]
15652#[derive(Copy, Clone)]
15653pub struct tm_sculpt_component_api {
15654 pub box_place_tool: ::std::option::Option<
15655 unsafe extern "C" fn(
15656 ctx: *mut tm_entity_context_o,
15657 e: tm_entity_t,
15658 ui: *mut tm_ui_o,
15659 uistyle: *const tm_ui_style_t,
15660 viewport_rect: tm_rect_t,
15661 viewport_id: u64,
15662 camera: *const tm_camera_t,
15663 undo_stack: *mut tm_undo_stack_i,
15664 ),
15665 >,
15666 pub box_drag_tool: ::std::option::Option<
15667 unsafe extern "C" fn(
15668 ctx: *mut tm_entity_context_o,
15669 e: tm_entity_t,
15670 ui: *mut tm_ui_o,
15671 uistyle: *const tm_ui_style_t,
15672 viewport_rect: tm_rect_t,
15673 viewport_id: u64,
15674 camera: *const tm_camera_t,
15675 pbuffer: *mut tm_primitive_drawer_buffer_t,
15676 vbuffer: *mut tm_primitive_drawer_buffer_t,
15677 move_settings: *const tm_gizmo__move_settings_t,
15678 undo_stack: *mut tm_undo_stack_i,
15679 ),
15680 >,
15681 pub box_select_tool: ::std::option::Option<
15682 unsafe extern "C" fn(
15683 ctx: *mut tm_entity_context_o,
15684 e: tm_entity_t,
15685 ui: *mut tm_ui_o,
15686 uistyle: *const tm_ui_style_t,
15687 viewport_rect: tm_rect_t,
15688 viewport_id: u64,
15689 tab_id: u64,
15690 camera: *const tm_camera_t,
15691 pbuffer: *mut tm_primitive_drawer_buffer_t,
15692 vbuffer: *mut tm_primitive_drawer_buffer_t,
15693 settings: *const tm_sculpt_component__select_tool_settings_t,
15694 undo_stack: *mut tm_undo_stack_i,
15695 ) -> tm_sculpt_component__select_tool_results_t,
15696 >,
15697}
15698pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_BOOL: tm_shader_constant_type = 0;
15699pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_INT: tm_shader_constant_type = 1;
15700pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_UINT: tm_shader_constant_type = 2;
15701pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_HALF: tm_shader_constant_type = 3;
15702pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_FLOAT: tm_shader_constant_type = 4;
15703pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_DOUBLE: tm_shader_constant_type = 5;
15704pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_STRUCT: tm_shader_constant_type = 6;
15705pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_DEPTH: tm_shader_constant_type = 7;
15706pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_STENCIL_REF: tm_shader_constant_type = 8;
15707pub const tm_shader_constant_type_TM_SHADER_CONSTANT_TYPE_MAX_TYPES: tm_shader_constant_type = 9;
15708pub type tm_shader_constant_type = ::std::os::raw::c_int;
15709#[repr(C)]
15710#[derive(Copy, Clone)]
15711pub struct tm_shader_constant_t {
15712 pub __bindgen_anon_1: tm_shader_constant_t__bindgen_ty_1,
15713 pub type_: tm_shader_constant_type,
15714 pub __bindgen_anon_2: tm_shader_constant_t__bindgen_ty_2,
15715 pub elements: u32,
15716 pub _padding_38: [::std::os::raw::c_char; 4usize],
15717}
15718#[repr(C)]
15719#[derive(Copy, Clone)]
15720pub union tm_shader_constant_t__bindgen_ty_1 {
15721 pub name: *const ::std::os::raw::c_char,
15722 pub hashed_name: u64,
15723 _bindgen_union_align: u64,
15724}
15725#[repr(C)]
15726#[derive(Copy, Clone)]
15727pub union tm_shader_constant_t__bindgen_ty_2 {
15728 pub __bindgen_anon_1: tm_shader_constant_t__bindgen_ty_2__bindgen_ty_1,
15729 pub struct_size: u32,
15730 _bindgen_union_align: u32,
15731}
15732#[repr(C)]
15733#[derive(Copy, Clone)]
15734pub struct tm_shader_constant_t__bindgen_ty_2__bindgen_ty_1 {
15735 pub rows: u8,
15736 pub columns: u8,
15737}
15738pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_BUFFER: tm_shader_resource_type = 0;
15739pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_1D: tm_shader_resource_type = 1;
15740pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_2D: tm_shader_resource_type = 2;
15741pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_3D: tm_shader_resource_type = 3;
15742pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_CUBE: tm_shader_resource_type = 4;
15743pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_1D_ARRAY:
15744 tm_shader_resource_type = 5;
15745pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_2D_ARRAY:
15746 tm_shader_resource_type = 6;
15747pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_TEXTURE_CUBE_ARRAY:
15748 tm_shader_resource_type = 7;
15749pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_SAMPLER: tm_shader_resource_type = 8;
15750pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_SAMPLER_COMPARISON:
15751 tm_shader_resource_type = 9;
15752pub const tm_shader_resource_type_TM_SHADER_RESOURCE_TYPE_MAX_TYPES: tm_shader_resource_type = 10;
15753pub type tm_shader_resource_type = ::std::os::raw::c_int;
15754#[repr(C)]
15755#[derive(Copy, Clone)]
15756pub struct tm_shader_resource_t {
15757 pub __bindgen_anon_1: tm_shader_resource_t__bindgen_ty_1,
15758 pub element_type: *const ::std::os::raw::c_char,
15759 pub static_resource_name: *const ::std::os::raw::c_char,
15760 pub static_resource: u32,
15761 pub elements: u32,
15762 pub type_: tm_shader_resource_type,
15763 pub requested_view_aspect: u8,
15764 pub uav: bool,
15765 pub _padding_71: [::std::os::raw::c_char; 2usize],
15766}
15767#[repr(C)]
15768#[derive(Copy, Clone)]
15769pub union tm_shader_resource_t__bindgen_ty_1 {
15770 pub name: *const ::std::os::raw::c_char,
15771 pub hashed_name: u64,
15772 _bindgen_union_align: u64,
15773}
15774pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_POSITION:
15775 tm_shader_system_semantic_type = 0;
15776pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_DISPATCH_THREAD_ID:
15777 tm_shader_system_semantic_type = 1;
15778pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_GROUP_ID:
15779 tm_shader_system_semantic_type = 2;
15780pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_GROUP_INDEX:
15781 tm_shader_system_semantic_type = 3;
15782pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_GROUP_THREAD_ID:
15783 tm_shader_system_semantic_type = 4;
15784pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_INSTANCE_ID:
15785 tm_shader_system_semantic_type = 5;
15786pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_PRIMITIVE_ID:
15787 tm_shader_system_semantic_type = 6;
15788pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_VERTEX_ID:
15789 tm_shader_system_semantic_type = 7;
15790pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_IS_FRONT_FACE_ID:
15791 tm_shader_system_semantic_type = 8;
15792pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_OUTPUT_CONTROL_POINT_ID:
15793 tm_shader_system_semantic_type = 9;
15794pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_DOMAIN_LOCATION:
15795 tm_shader_system_semantic_type = 10;
15796pub const tm_shader_system_semantic_type_TM_SHADER_SYSTEM_SEMANTIC_MAX_SEMANTICS:
15797 tm_shader_system_semantic_type = 11;
15798pub type tm_shader_system_semantic_type = ::std::os::raw::c_int;
15799pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_LINEAR:
15800 tm_shader_interpolation_modifier_type = 0;
15801pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_CENTROID:
15802 tm_shader_interpolation_modifier_type = 1;
15803pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_NOINTERPOLATION:
15804 tm_shader_interpolation_modifier_type = 2;
15805pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_NOPERSPECTIVE:
15806 tm_shader_interpolation_modifier_type = 3;
15807pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_SAMPLE:
15808 tm_shader_interpolation_modifier_type = 4;
15809pub const tm_shader_interpolation_modifier_type_TM_SHADER_INTERPOLATION_MODIFIER_MAX_MODIFIERS:
15810 tm_shader_interpolation_modifier_type = 5;
15811pub type tm_shader_interpolation_modifier_type = ::std::os::raw::c_int;
15812#[repr(C)]
15813#[derive(Copy, Clone)]
15814pub struct tm_shader_stage_export_t {
15815 pub requested: bool,
15816 pub _padding_101: [::std::os::raw::c_char; 7usize],
15817 pub constant: tm_shader_constant_t,
15818 pub interpolation_modifier: u32,
15819 pub _padding_104: [::std::os::raw::c_char; 4usize],
15820}
15821pub const tm_shader_tess_attribute_domain_TM_SHADER_TESS_ATTRIBUTE_DOMAIN_VALUE_TRIANGLE:
15822 tm_shader_tess_attribute_domain = 0;
15823pub const tm_shader_tess_attribute_domain_TM_SHADER_TESS_ATTRIBUTE_DOMAIN_VALUE_QUAD:
15824 tm_shader_tess_attribute_domain = 1;
15825pub const tm_shader_tess_attribute_domain_TM_SHADER_TESS_ATTRIBUTE_DOMAIN_VALUE_ISOLINE:
15826 tm_shader_tess_attribute_domain = 2;
15827pub const tm_shader_tess_attribute_domain_TM_SHADER_TESS_ATTRIBUTE_DOMAIN_VALUE_MAX_VALUES:
15828 tm_shader_tess_attribute_domain = 3;
15829pub type tm_shader_tess_attribute_domain = ::std::os::raw::c_int;
15830pub const tm_shader_hull_attribute_output_topology_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_VALUE_POINT:
15831 tm_shader_hull_attribute_output_topology = 0;
15832pub const tm_shader_hull_attribute_output_topology_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_VALUE_LINE:
15833 tm_shader_hull_attribute_output_topology = 1;
15834pub const tm_shader_hull_attribute_output_topology_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_VALUE_TRIANGLE_CW : tm_shader_hull_attribute_output_topology = 2 ;
15835pub const tm_shader_hull_attribute_output_topology_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_VALUE_TRIANGLE_CCW : tm_shader_hull_attribute_output_topology = 3 ;
15836pub const tm_shader_hull_attribute_output_topology_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_VALUE_MAX_VALUES : tm_shader_hull_attribute_output_topology = 4 ;
15837pub type tm_shader_hull_attribute_output_topology = ::std::os::raw::c_int;
15838pub const tm_shader_hull_attribute_partitioning_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING_VALUE_INTEGER : tm_shader_hull_attribute_partitioning = 0 ;
15839pub const tm_shader_hull_attribute_partitioning_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING_VALUE_FRACTIONAL_EVEN : tm_shader_hull_attribute_partitioning = 1 ;
15840pub const tm_shader_hull_attribute_partitioning_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING_VALUE_FRACTIONAL_ODD : tm_shader_hull_attribute_partitioning = 2 ;
15841pub const tm_shader_hull_attribute_partitioning_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING_VALUE_POW2:
15842 tm_shader_hull_attribute_partitioning = 3;
15843pub const tm_shader_hull_attribute_partitioning_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING_VALUE_MAX_VALUES : tm_shader_hull_attribute_partitioning = 4 ;
15844pub type tm_shader_hull_attribute_partitioning = ::std::os::raw::c_int;
15845pub const tm_shader_attribute_type_TM_SHADER_GEOMETRY_ATTRIBUTE_INSTANCE: tm_shader_attribute_type =
15846 0;
15847pub const tm_shader_attribute_type_TM_SHADER_TESS_ATTRIBUTE_DOMAIN: tm_shader_attribute_type = 1;
15848pub const tm_shader_attribute_type_TM_SHADER_HULL_ATTRIBUTE_MAX_TESS_FACTOR:
15849 tm_shader_attribute_type = 2;
15850pub const tm_shader_attribute_type_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_CONTROL_POINTS:
15851 tm_shader_attribute_type = 3;
15852pub const tm_shader_attribute_type_TM_SHADER_HULL_ATTRIBUTE_OUTPUT_TOPOLOGY:
15853 tm_shader_attribute_type = 4;
15854pub const tm_shader_attribute_type_TM_SHADER_HULL_ATTRIBUTE_PARTITIONING: tm_shader_attribute_type =
15855 5;
15856pub const tm_shader_attribute_type_TM_SHADER_HULL_ATTRIBUTE_PATCH_CONSTANT_FUNCTION:
15857 tm_shader_attribute_type = 6;
15858pub const tm_shader_attribute_type_TM_SHADER_PIXEL_ATTRIBUTE_EARLY_DEPTH_STENCIL:
15859 tm_shader_attribute_type = 7;
15860pub const tm_shader_attribute_type_TM_SHADER_COMPUTE_ATTRIBUTE_NUM_THREADS:
15861 tm_shader_attribute_type = 8;
15862pub const tm_shader_attribute_type_TM_SHADER_ATTRIBUTE_MAX_ATTRIBUTES: tm_shader_attribute_type = 9;
15863pub type tm_shader_attribute_type = ::std::os::raw::c_int;
15864#[repr(C)]
15865#[derive(Copy, Clone)]
15866pub struct tm_shader_stage_attribute_t {
15867 pub type_: tm_shader_attribute_type,
15868 pub _padding_170: [::std::os::raw::c_char; 4usize],
15869 pub __bindgen_anon_1: tm_shader_stage_attribute_t__bindgen_ty_1,
15870}
15871#[repr(C)]
15872#[derive(Copy, Clone)]
15873pub union tm_shader_stage_attribute_t__bindgen_ty_1 {
15874 pub boolean: bool,
15875 pub values: [u32; 4usize],
15876 pub value: u32,
15877 _bindgen_union_align: [u32; 4usize],
15878}
15879extern "C" {
15880 pub static tm_shader_constant_type_to_bytes: [u32; 9usize];
15881}
15882#[repr(C)]
15883#[derive(Copy, Clone)]
15884pub union tm_shader_system_cl_type_t {
15885 pub uint64: u64,
15886 pub boolean: bool,
15887 _bindgen_union_align: u64,
15888}
15889#[repr(C)]
15890#[derive(Copy, Clone)]
15891pub struct tm_shader_system_io_o {
15892 _unused: [u8; 0],
15893}
15894#[repr(C)]
15895#[derive(Copy, Clone)]
15896pub struct tm_shader_blob_header_t {
15897 _unused: [u8; 0],
15898}
15899#[repr(C)]
15900#[derive(Copy, Clone)]
15901pub struct tm_creation_graph_update_shader_constant_resource_t {
15902 pub draw_calls: *const tm_creation_graph_output_t,
15903 pub cbuffers: *const tm_shader_constant_buffer_instance_t,
15904 pub io_interface: tm_tt_id_t,
15905 pub entity_id: u64,
15906 pub entity_ctx: *mut tm_entity_context_o,
15907}
15908#[repr(C)]
15909#[derive(Copy, Clone)]
15910pub struct tm_shader_declaration_o {
15911 _unused: [u8; 0],
15912}
15913pub const TM_SHADER_STAGE_VERTEX: ::std::os::raw::c_int = 1;
15914pub const TM_SHADER_STAGE_HULL: ::std::os::raw::c_int = 2;
15915pub const TM_SHADER_STAGE_DOMAIN: ::std::os::raw::c_int = 4;
15916pub const TM_SHADER_STAGE_GEOMETRY: ::std::os::raw::c_int = 8;
15917pub const TM_SHADER_STAGE_PIXEL: ::std::os::raw::c_int = 16;
15918pub const TM_SHADER_STAGE_COMPUTE: ::std::os::raw::c_int = 32;
15919pub const TM_SHADER_STAGE_ALL: ::std::os::raw::c_int = 63;
15920pub const TM_SHADER_STAGE_MAX_STAGES: ::std::os::raw::c_int = 6;
15921pub type _bindgen_ty_182 = ::std::os::raw::c_int;
15922pub const TM_SHADER_SYSTEM_MAX_PASSES: ::std::os::raw::c_int = 16;
15923pub type _bindgen_ty_183 = ::std::os::raw::c_int;
15924#[repr(C)]
15925#[derive(Copy, Clone)]
15926pub struct tm_shader_declaration_api {
15927 pub clear: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_declaration_o)>,
15928 pub append_render_states: ::std::option::Option<
15929 unsafe extern "C" fn(
15930 inst: *mut tm_shader_declaration_o,
15931 block_type: u32,
15932 states: *const tm_renderer_state_value_pair_t,
15933 num_states: u32,
15934 ),
15935 >,
15936 pub append_serialized_render_states: ::std::option::Option<
15937 unsafe extern "C" fn(inst: *mut tm_shader_declaration_o, block_type: u32, data: *const u8),
15938 >,
15939 pub append_static_sampler_states: ::std::option::Option<
15940 unsafe extern "C" fn(
15941 inst: *mut tm_shader_declaration_o,
15942 state_block_name_hash: u64,
15943 states: *const tm_renderer_state_value_pair_t,
15944 num_states: u32,
15945 ),
15946 >,
15947 pub request_channel: ::std::option::Option<
15948 unsafe extern "C" fn(
15949 inst: *mut tm_shader_declaration_o,
15950 stage_flag: u32,
15951 channel_name: *const ::std::os::raw::c_char,
15952 ),
15953 >,
15954 pub set_constant: ::std::option::Option<
15955 unsafe extern "C" fn(inst: *mut tm_shader_declaration_o, constant: tm_shader_constant_t),
15956 >,
15957 pub set_resource: ::std::option::Option<
15958 unsafe extern "C" fn(inst: *mut tm_shader_declaration_o, resource: tm_shader_resource_t),
15959 >,
15960 pub set_stage_export: ::std::option::Option<
15961 unsafe extern "C" fn(
15962 inst: *mut tm_shader_declaration_o,
15963 stage_flag: u32,
15964 stage_export: tm_shader_stage_export_t,
15965 ),
15966 >,
15967 pub set_stage_system_semantic_import: ::std::option::Option<
15968 unsafe extern "C" fn(
15969 inst: *mut tm_shader_declaration_o,
15970 stage_flag: u32,
15971 type_: tm_shader_system_semantic_type,
15972 ),
15973 >,
15974 pub set_stage_system_semantic_export: ::std::option::Option<
15975 unsafe extern "C" fn(
15976 inst: *mut tm_shader_declaration_o,
15977 stage_flag: u32,
15978 type_: tm_shader_system_semantic_type,
15979 ),
15980 >,
15981 pub set_stage_attribute: ::std::option::Option<
15982 unsafe extern "C" fn(
15983 inst: *mut tm_shader_declaration_o,
15984 stage_flag: u32,
15985 attr: tm_shader_stage_attribute_t,
15986 ),
15987 >,
15988 pub append_patch_code: ::std::option::Option<
15989 unsafe extern "C" fn(
15990 inst: *mut tm_shader_declaration_o,
15991 domain: u32,
15992 code: *const ::std::os::raw::c_char,
15993 source_file: *const ::std::os::raw::c_char,
15994 source_line: u32,
15995 ),
15996 >,
15997 pub append_code: ::std::option::Option<
15998 unsafe extern "C" fn(
15999 inst: *mut tm_shader_declaration_o,
16000 stage_flag: u32,
16001 code: *const ::std::os::raw::c_char,
16002 source_file: *const ::std::os::raw::c_char,
16003 source_line: u32,
16004 ),
16005 >,
16006 pub append_common_code: ::std::option::Option<
16007 unsafe extern "C" fn(
16008 inst: *mut tm_shader_declaration_o,
16009 code: *const ::std::os::raw::c_char,
16010 source_file: *const ::std::os::raw::c_char,
16011 source_line: u32,
16012 ),
16013 >,
16014}
16015#[repr(C)]
16016#[derive(Copy, Clone)]
16017pub struct tm_shader_system_api {
16018 pub create_context: ::std::option::Option<
16019 unsafe extern "C" fn(
16020 allocator: *mut tm_allocator_i,
16021 render_graph: *mut tm_render_graph_o,
16022 ) -> *mut tm_shader_system_context_o,
16023 >,
16024 pub clone_context: ::std::option::Option<
16025 unsafe extern "C" fn(
16026 src_context: *const tm_shader_system_context_o,
16027 allocator: *mut tm_allocator_i,
16028 ) -> *mut tm_shader_system_context_o,
16029 >,
16030 pub destroy_context:
16031 ::std::option::Option<unsafe extern "C" fn(context: *mut tm_shader_system_context_o)>,
16032 pub set_render_graph: ::std::option::Option<
16033 unsafe extern "C" fn(
16034 context: *mut tm_shader_system_context_o,
16035 render_graph: *mut tm_render_graph_o,
16036 ),
16037 >,
16038 pub activate_system: ::std::option::Option<
16039 unsafe extern "C" fn(
16040 context: *mut tm_shader_system_context_o,
16041 system: *mut tm_shader_system_o,
16042 cbuffer_instances: *const tm_shader_constant_buffer_instance_t,
16043 num_cbuffer_instances: u32,
16044 rbinder_instances: *const tm_shader_resource_binder_instance_t,
16045 num_rbinder_instances: u32,
16046 ),
16047 >,
16048 pub deactivate_system: ::std::option::Option<
16049 unsafe extern "C" fn(
16050 context: *mut tm_shader_system_context_o,
16051 system: *mut tm_shader_system_o,
16052 ),
16053 >,
16054}
16055pub const TM_SHADER_SYSTEM_UNINITIALIZED_INSTANCE: ::std::os::raw::c_int = -1;
16056pub type _bindgen_ty_184 = ::std::os::raw::c_int;
16057#[repr(C)]
16058#[derive(Copy, Clone)]
16059pub struct tm_shader_constant_buffer_instance_t {
16060 pub instance_id: u32,
16061}
16062#[repr(C)]
16063#[derive(Copy, Clone)]
16064pub struct tm_shader_resource_binder_instance_t {
16065 pub instance_id: u32,
16066}
16067#[repr(C)]
16068#[derive(Copy, Clone)]
16069pub struct tm_shader_constant_update_t {
16070 pub instance_id: u32,
16071 pub constant_offset: u32,
16072 pub first_byte: u32,
16073 pub num_bytes: u32,
16074 pub data: *const ::std::os::raw::c_void,
16075}
16076#[repr(C)]
16077#[derive(Copy, Clone)]
16078pub struct tm_shader_resource_update_t {
16079 pub instance_id: u32,
16080 pub resource_slot: u32,
16081 pub first_resource: u32,
16082 pub num_resources: u32,
16083 pub resources: *const u32,
16084 pub resources_view_aspect_flags: *const u32,
16085}
16086#[repr(C)]
16087#[derive(Copy, Clone)]
16088pub struct tm_shader_io_o {
16089 _unused: [u8; 0],
16090}
16091#[repr(C)]
16092#[derive(Copy, Clone)]
16093pub struct tm_shader_api {
16094 pub create_constant_buffer_instances: ::std::option::Option<
16095 unsafe extern "C" fn(
16096 io: *mut tm_shader_io_o,
16097 num_instances: u32,
16098 result: *mut tm_shader_constant_buffer_instance_t,
16099 ),
16100 >,
16101 pub create_constant_buffer_instances_from_template: ::std::option::Option<
16102 unsafe extern "C" fn(
16103 io: *mut tm_shader_io_o,
16104 resource_buffer: *mut tm_renderer_resource_command_buffer_o,
16105 num_instances: u32,
16106 result: *mut tm_shader_constant_buffer_instance_t,
16107 cbuf_template: tm_shader_constant_buffer_instance_t,
16108 ),
16109 >,
16110 pub destroy_constant_buffer_instances: ::std::option::Option<
16111 unsafe extern "C" fn(
16112 io: *mut tm_shader_io_o,
16113 instances: *mut tm_shader_constant_buffer_instance_t,
16114 num_instances: u32,
16115 ),
16116 >,
16117 pub create_resource_binder_instances: ::std::option::Option<
16118 unsafe extern "C" fn(
16119 io: *mut tm_shader_io_o,
16120 num_instances: u32,
16121 result: *mut tm_shader_resource_binder_instance_t,
16122 ),
16123 >,
16124 pub destroy_resource_binder_instances: ::std::option::Option<
16125 unsafe extern "C" fn(
16126 io: *mut tm_shader_io_o,
16127 instances: *mut tm_shader_resource_binder_instance_t,
16128 num_instances: u32,
16129 ),
16130 >,
16131 pub reflect_constants: ::std::option::Option<
16132 unsafe extern "C" fn(
16133 io: *mut tm_shader_io_o,
16134 num_constants: *mut u32,
16135 constants: *mut tm_shader_constant_t,
16136 constant_offsets: *mut u32,
16137 ),
16138 >,
16139 pub lookup_constant: ::std::option::Option<
16140 unsafe extern "C" fn(
16141 io: *mut tm_shader_io_o,
16142 name: u64,
16143 constant: *mut tm_shader_constant_t,
16144 constant_offset: *mut u32,
16145 ) -> bool,
16146 >,
16147 pub update_constants: ::std::option::Option<
16148 unsafe extern "C" fn(
16149 io: *mut tm_shader_io_o,
16150 resource_buffer: *mut tm_renderer_resource_command_buffer_o,
16151 constant_updates: *const tm_shader_constant_update_t,
16152 num_updates: u32,
16153 ),
16154 >,
16155 pub update_constants_raw: ::std::option::Option<
16156 unsafe extern "C" fn(
16157 io: *mut tm_shader_io_o,
16158 resource_buffer: *mut tm_renderer_resource_command_buffer_o,
16159 instance_ids: *const u32,
16160 data: *mut *const ::std::os::raw::c_void,
16161 offset: u32,
16162 size: u32,
16163 num_updates: u32,
16164 ),
16165 >,
16166 pub update_constant_buffer_instances_from_template: ::std::option::Option<
16167 unsafe extern "C" fn(
16168 io: *mut tm_shader_io_o,
16169 resource_buffer: *mut tm_renderer_resource_command_buffer_o,
16170 num_instances: u32,
16171 instances: *mut tm_shader_constant_buffer_instance_t,
16172 cbuf_template: tm_shader_constant_buffer_instance_t,
16173 ),
16174 >,
16175 pub reflect_resources: ::std::option::Option<
16176 unsafe extern "C" fn(
16177 io: *mut tm_shader_io_o,
16178 num_resources: *mut u32,
16179 resources: *mut tm_shader_resource_t,
16180 resource_slots: *mut u32,
16181 ),
16182 >,
16183 pub lookup_resource: ::std::option::Option<
16184 unsafe extern "C" fn(
16185 io: *mut tm_shader_io_o,
16186 name: u64,
16187 resource: *mut tm_shader_resource_t,
16188 resource_slot: *mut u32,
16189 ) -> bool,
16190 >,
16191 pub update_resources: ::std::option::Option<
16192 unsafe extern "C" fn(
16193 io: *mut tm_shader_io_o,
16194 resource_buffer: *mut tm_renderer_resource_command_buffer_o,
16195 resource_updates: *mut tm_shader_resource_update_t,
16196 num_updates: u32,
16197 ),
16198 >,
16199 pub max_passes: ::std::option::Option<unsafe extern "C" fn(shader: *mut tm_shader_o) -> u8>,
16200 pub assemble_shader_infos: ::std::option::Option<
16201 unsafe extern "C" fn(
16202 shader: *mut tm_shader_o,
16203 state_override_blocks: *const u32,
16204 num_state_override_blocks: u32,
16205 context: *const tm_shader_system_context_o,
16206 visibility_context: u64,
16207 resource_buffer: *mut tm_renderer_resource_command_buffer_o,
16208 cbuf_instances: *const tm_shader_constant_buffer_instance_t,
16209 rbinder_instances: *const tm_shader_resource_binder_instance_t,
16210 num_shaders: u32,
16211 results: *mut tm_renderer_shader_info_t,
16212 ) -> u8,
16213 >,
16214 pub shader_io: ::std::option::Option<
16215 unsafe extern "C" fn(shader: *mut tm_shader_o) -> *mut tm_shader_io_o,
16216 >,
16217 pub system_io: ::std::option::Option<
16218 unsafe extern "C" fn(system: *mut tm_shader_system_o) -> *mut tm_shader_io_o,
16219 >,
16220 pub name: ::std::option::Option<unsafe extern "C" fn(shader: *mut tm_shader_o) -> u64>,
16221}
16222pub const tm_shader_state_overrides_TM_SHADER_STATE_OVERRIDE_DOUBLE_SIDED:
16223 tm_shader_state_overrides = 0;
16224pub const tm_shader_state_overrides_TM_SHADER_STATE_OVERRIDE_FRONT_FACE_CW:
16225 tm_shader_state_overrides = 1;
16226pub const tm_shader_state_overrides_TM_SHADER_STATE_OVERRIDE_MAX_SHADER_STATE_OVERRIDES:
16227 tm_shader_state_overrides = 2;
16228pub type tm_shader_state_overrides = ::std::os::raw::c_int;
16229pub const tm_shader_system_background_status_TM_SHADER_SYSTEM_BACKGROUND_CREATE_STATUS_SUCCESS:
16230 tm_shader_system_background_status = 0;
16231pub const tm_shader_system_background_status_TM_SHADER_SYSTEM_BACKGROUND_CREATE_STATUS_CANCEL:
16232 tm_shader_system_background_status = 1;
16233pub const tm_shader_system_background_status_TM_SHADER_SYSTEM_BACKGROUND_CREATE_STATUS_ERROR:
16234 tm_shader_system_background_status = 2;
16235pub type tm_shader_system_background_status = ::std::os::raw::c_int;
16236#[repr(C)]
16237#[derive(Copy, Clone)]
16238pub struct tm_shader_system_background_create_i {
16239 pub user_data: *mut ::std::os::raw::c_void,
16240 pub done: ::std::option::Option<
16241 unsafe extern "C" fn(
16242 status: tm_shader_system_background_status,
16243 blob: *const tm_shader_blob_header_t,
16244 blob_size: u64,
16245 user_data: *mut ::std::os::raw::c_void,
16246 ),
16247 >,
16248}
16249#[repr(C)]
16250#[derive(Copy, Clone)]
16251pub struct tm_shader_repository_api {
16252 pub create: ::std::option::Option<
16253 unsafe extern "C" fn(
16254 system_io: *mut tm_shader_system_io_o,
16255 a: *mut tm_allocator_i,
16256 backend: *mut tm_renderer_backend_i,
16257 shader_compiler_api: *mut tm_renderer_shader_compiler_api,
16258 tt: *mut tm_the_truth_o,
16259 ) -> *mut tm_shader_repository_o,
16260 >,
16261 pub destroy: ::std::option::Option<
16262 unsafe extern "C" fn(
16263 inst: *mut tm_shader_repository_o,
16264 resource_buffer: *mut tm_renderer_resource_command_buffer_o,
16265 ),
16266 >,
16267 pub set_the_truth: ::std::option::Option<
16268 unsafe extern "C" fn(inst: *mut tm_shader_repository_o, tt: *mut tm_the_truth_o),
16269 >,
16270 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
16271 pub import_truth_declaration_from_config: ::std::option::Option<
16272 unsafe extern "C" fn(
16273 inst: *mut tm_shader_repository_o,
16274 config: *const tm_config_i,
16275 pi: *const tm_json_parse_info_t,
16276 name: u64,
16277 validity_hash: u64,
16278 time_stamp: *const tm_file_time_o,
16279 filename: *const ::std::os::raw::c_char,
16280 ) -> tm_tt_id_t,
16281 >,
16282 pub destroy_truth_declaration:
16283 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64)>,
16284 pub lookup_truth_declaration: ::std::option::Option<
16285 unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64) -> tm_tt_id_t,
16286 >,
16287 pub lookup_declaration_validity_hash: ::std::option::Option<
16288 unsafe extern "C" fn(inst: *mut tm_shader_repository_o, id: tm_tt_id_t) -> u64,
16289 >,
16290 pub load_shader_declaration: ::std::option::Option<
16291 unsafe extern "C" fn(
16292 inst: *mut tm_shader_repository_o,
16293 declaration: *mut tm_shader_declaration_o,
16294 id: tm_tt_id_t,
16295 ),
16296 >,
16297 pub last_modified: ::std::option::Option<
16298 unsafe extern "C" fn(
16299 inst: *mut tm_shader_repository_o,
16300 id: tm_tt_id_t,
16301 modified: *mut tm_file_time_o,
16302 ),
16303 >,
16304 pub host_save_state: ::std::option::Option<
16305 unsafe extern "C" fn(
16306 inst: *mut tm_shader_repository_o,
16307 carray: *mut *mut ::std::os::raw::c_char,
16308 a: *mut tm_allocator_i,
16309 ),
16310 >,
16311 pub client_load_state: ::std::option::Option<
16312 unsafe extern "C" fn(
16313 inst: *mut tm_shader_repository_o,
16314 tt: *mut tm_the_truth_o,
16315 state: *mut *const ::std::os::raw::c_char,
16316 ),
16317 >,
16318 pub create_shader_declaration: ::std::option::Option<
16319 unsafe extern "C" fn(
16320 inst: *mut tm_shader_repository_o,
16321 a: *mut tm_allocator_i,
16322 ) -> *mut tm_shader_declaration_o,
16323 >,
16324 pub destroy_shader_declaration: ::std::option::Option<
16325 unsafe extern "C" fn(
16326 inst: *mut tm_shader_repository_o,
16327 declaration: *mut tm_shader_declaration_o,
16328 ),
16329 >,
16330 pub generate_system_includes: ::std::option::Option<
16331 unsafe extern "C" fn(
16332 inst: *mut tm_shader_repository_o,
16333 output_path: *const ::std::os::raw::c_char,
16334 ),
16335 >,
16336 pub update_shaders_from_directory: ::std::option::Option<
16337 unsafe extern "C" fn(
16338 inst: *mut tm_shader_repository_o,
16339 dir: *const ::std::os::raw::c_char,
16340 recursive: bool,
16341 allocator: *mut tm_allocator_i,
16342 res_buf: *mut tm_renderer_resource_command_buffer_o,
16343 ),
16344 >,
16345 pub allocator: ::std::option::Option<
16346 unsafe extern "C" fn(inst: *mut tm_shader_repository_o) -> *mut tm_allocator_i,
16347 >,
16348 pub refresh_truth_shaders:
16349 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_repository_o)>,
16350 pub lookup_or_create_shader: ::std::option::Option<
16351 unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64) -> *mut tm_shader_o,
16352 >,
16353 pub lookup_or_create_system: ::std::option::Option<
16354 unsafe extern "C" fn(
16355 inst: *mut tm_shader_repository_o,
16356 name: u64,
16357 ) -> *mut tm_shader_system_o,
16358 >,
16359 pub create_shader_from_blob: ::std::option::Option<
16360 unsafe extern "C" fn(
16361 inst: *mut tm_shader_repository_o,
16362 res_buf: *mut tm_renderer_resource_command_buffer_o,
16363 shader_blob: *const tm_shader_blob_header_t,
16364 ) -> *mut tm_shader_o,
16365 >,
16366 pub compile_shader: ::std::option::Option<
16367 unsafe extern "C" fn(
16368 inst: *mut tm_shader_repository_o,
16369 res_buf: *mut tm_renderer_resource_command_buffer_o,
16370 shader: *mut tm_shader_o,
16371 active_shader_stages: u32,
16372 active_systems_bitmask: u64,
16373 active_system_names: *const u64,
16374 active_systems: *mut *const tm_shader_declaration_o,
16375 num_active_systems: u32,
16376 declarations: *mut *const tm_shader_declaration_o,
16377 num_declarations: u32,
16378 validity_hash: u64,
16379 ) -> bool,
16380 >,
16381 pub create_from_declaration: ::std::option::Option<
16382 unsafe extern "C" fn(
16383 inst: *mut tm_shader_repository_o,
16384 res_buf: *mut tm_renderer_resource_command_buffer_o,
16385 declaration: tm_tt_id_t,
16386 name: u64,
16387 generated_code: *mut tm_shader_declaration_o,
16388 creation_graph_data: *const tm_shader_creation_graph_data_o,
16389 ) -> bool,
16390 >,
16391 pub background_create_from_declaration: ::std::option::Option<
16392 unsafe extern "C" fn(
16393 inst: *mut tm_shader_repository_o,
16394 declaration: tm_tt_id_t,
16395 name: u64,
16396 generated_code: *mut tm_shader_declaration_o,
16397 creation_graph_data: *const tm_shader_creation_graph_data_o,
16398 callback: *const tm_shader_system_background_create_i,
16399 ),
16400 >,
16401 pub destroy_shader:
16402 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64)>,
16403 pub destroy_system:
16404 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64)>,
16405 pub lookup_shader: ::std::option::Option<
16406 unsafe extern "C" fn(inst: *mut tm_shader_repository_o, name: u64) -> *mut tm_shader_o,
16407 >,
16408 pub lookup_system: ::std::option::Option<
16409 unsafe extern "C" fn(
16410 inst: *mut tm_shader_repository_o,
16411 name: u64,
16412 ) -> *mut tm_shader_system_o,
16413 >,
16414 pub recycle_resources:
16415 ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_shader_repository_o)>,
16416 pub shader_state_override: ::std::option::Option<
16417 unsafe extern "C" fn(
16418 inst: *mut tm_shader_repository_o,
16419 state_override: tm_shader_state_overrides,
16420 ) -> u32,
16421 >,
16422 pub lookup_shader_blob: ::std::option::Option<
16423 unsafe extern "C" fn(
16424 inst: *mut tm_shader_repository_o,
16425 name: u64,
16426 size: *mut u64,
16427 ) -> *const tm_shader_blob_header_t,
16428 >,
16429}
16430#[repr(C)]
16431#[derive(Copy, Clone)]
16432pub struct tm_connector_type_t {
16433 _unused: [u8; 0],
16434}
16435#[repr(C)]
16436#[derive(Copy, Clone)]
16437pub struct tm_shader_creation_graph_data_o {
16438 pub allocator: *mut tm_allocator_i,
16439 pub connected_inputs: *mut bool,
16440 pub actions: *mut tm_tt_id_t,
16441 pub settings: *mut tm_tt_id_t,
16442}
16443#[repr(C)]
16444#[derive(Copy, Clone)]
16445pub struct tm_shader_creation_graph_api {
16446 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
16447 pub compile_data_to_wire: ::std::option::Option<
16448 unsafe extern "C" fn(
16449 inst: *mut tm_creation_graph_instance_t,
16450 wire: u32,
16451 tt: *const tm_the_truth_o,
16452 data_id: tm_tt_id_t,
16453 to_type_hash: u64,
16454 ) -> bool,
16455 >,
16456 pub node_from_declaration: ::std::option::Option<
16457 unsafe extern "C" fn(
16458 tt: *mut tm_the_truth_o,
16459 declaration: tm_tt_id_t,
16460 node: *mut tm_creation_graph_node_type_i,
16461 a: *mut tm_allocator_i,
16462 ),
16463 >,
16464 pub register_static_graph_nodes:
16465 ::std::option::Option<unsafe extern "C" fn(reg: *mut tm_api_registry_api, load: bool)>,
16466 pub wire_result_as_string: ::std::option::Option<
16467 unsafe extern "C" fn(
16468 tt: *const tm_the_truth_o,
16469 ta: *mut tm_temp_allocator_i,
16470 cw: *const tm_creation_graph_interpreter_wire_content_t,
16471 requested_type: *const tm_connector_type_t,
16472 ) -> *const ::std::os::raw::c_char,
16473 >,
16474}
16475pub const TM_TT_PROP__SHADER_REPOSITORY__DECLARATIONS: ::std::os::raw::c_int = 0;
16476pub const TM_TT_PROP__SHADER_REPOSITORY__MATERIALS: ::std::os::raw::c_int = 1;
16477pub type _bindgen_ty_185 = ::std::os::raw::c_int;
16478pub const TM_TT_PROP__SHADER_DECLARATION__NAME: ::std::os::raw::c_int = 0;
16479pub const TM_TT_PROP__SHADER_DECLARATION__COMPILABLE: ::std::os::raw::c_int = 1;
16480pub const TM_TT_PROP__SHADER_DECLARATION__SYSTEM: ::std::os::raw::c_int = 2;
16481pub const TM_TT_PROP__SHADER_DECLARATION__CREATION_GRAPH_NODE: ::std::os::raw::c_int = 3;
16482pub const TM_TT_PROP__SHADER_DECLARATION__INCLUDES: ::std::os::raw::c_int = 4;
16483pub const TM_TT_PROP__SHADER_DECLARATION__VARIATIONS: ::std::os::raw::c_int = 5;
16484pub const TM_TT_PROP__SHADER_DECLARATION__COMPILE_CONFIGURATIONS: ::std::os::raw::c_int = 6;
16485pub const TM_TT_PROP__SHADER_DECLARATION__COMPILE_CONTEXTS: ::std::os::raw::c_int = 7;
16486pub const TM_TT_PROP__SHADER_DECLARATION__FILENAME: ::std::os::raw::c_int = 8;
16487pub const TM_TT_PROP__SHADER_DECLARATION__VALIDITY_HASH: ::std::os::raw::c_int = 9;
16488pub const TM_TT_PROP__SHADER_DECLARATION__LAST_MODIFIED: ::std::os::raw::c_int = 10;
16489pub const TM_TT_PROP__SHADER_DECLARATION__REQUESTS: ::std::os::raw::c_int = 11;
16490pub const TM_TT_PROP__SHADER_DECLARATION__CONSTANTS: ::std::os::raw::c_int = 12;
16491pub const TM_TT_PROP__SHADER_DECLARATION__RESOURCES: ::std::os::raw::c_int = 13;
16492pub const TM_TT_PROP__SHADER_DECLARATION__RENDER_STATE_BLOCKS: ::std::os::raw::c_int = 14;
16493pub const TM_TT_PROP__SHADER_DECLARATION__SAMPLER_STATE_BLOCKS: ::std::os::raw::c_int = 15;
16494pub const TM_TT_PROP__SHADER_DECLARATION__COMMON_CODE: ::std::os::raw::c_int = 16;
16495pub const TM_TT_PROP__SHADER_DECLARATION__COMMON_CODE_LINE_NUMBER: ::std::os::raw::c_int = 17;
16496pub const TM_TT_PROP__SHADER_DECLARATION__FUNCTION_CODE: ::std::os::raw::c_int = 18;
16497pub const TM_TT_PROP__SHADER_DECLARATION__FUNCTION_CODE_LINE_NUMBER: ::std::os::raw::c_int = 19;
16498pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_CODE: ::std::os::raw::c_int = 20;
16499pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_CODE_LINE_NUMBER: ::std::os::raw::c_int = 21;
16500pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_STAGE_EXPORTS: ::std::os::raw::c_int = 22;
16501pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int =
16502 23;
16503pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int =
16504 24;
16505pub const TM_TT_PROP__SHADER_DECLARATION__VERTEX_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 25;
16506pub const TM_TT_PROP__SHADER_DECLARATION__HULL_CODE: ::std::os::raw::c_int = 26;
16507pub const TM_TT_PROP__SHADER_DECLARATION__HULL_CODE_LINE_NUMBER: ::std::os::raw::c_int = 27;
16508pub const TM_TT_PROP__SHADER_DECLARATION__HULL_STAGE_EXPORTS: ::std::os::raw::c_int = 28;
16509pub const TM_TT_PROP__SHADER_DECLARATION__HULL_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int = 29;
16510pub const TM_TT_PROP__SHADER_DECLARATION__HULL_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int = 30;
16511pub const TM_TT_PROP__SHADER_DECLARATION__HULL_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 31;
16512pub const TM_TT_PROP__SHADER_DECLARATION__HULL_PATCH: ::std::os::raw::c_int = 32;
16513pub const TM_TT_PROP__SHADER_DECLARATION__HULL_PATCH_LINE_NUMBER: ::std::os::raw::c_int = 33;
16514pub const TM_TT_PROP__SHADER_DECLARATION__HULL_CONDITION: ::std::os::raw::c_int = 34;
16515pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_CODE: ::std::os::raw::c_int = 35;
16516pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_CODE_LINE_NUMBER: ::std::os::raw::c_int = 36;
16517pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_STAGE_EXPORTS: ::std::os::raw::c_int = 37;
16518pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int =
16519 38;
16520pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int =
16521 39;
16522pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 40;
16523pub const TM_TT_PROP__SHADER_DECLARATION__DOMAIN_CONDITION: ::std::os::raw::c_int = 41;
16524pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_CODE: ::std::os::raw::c_int = 42;
16525pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_CODE_LINE_NUMBER: ::std::os::raw::c_int = 43;
16526pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_STAGE_EXPORTS: ::std::os::raw::c_int = 44;
16527pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int =
16528 45;
16529pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int =
16530 46;
16531pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 47;
16532pub const TM_TT_PROP__SHADER_DECLARATION__GEOMETRY_CONDITION: ::std::os::raw::c_int = 48;
16533pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_CODE: ::std::os::raw::c_int = 49;
16534pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_CODE_LINE_NUMBER: ::std::os::raw::c_int = 50;
16535pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_STAGE_EXPORTS: ::std::os::raw::c_int = 51;
16536pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int =
16537 52;
16538pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int =
16539 53;
16540pub const TM_TT_PROP__SHADER_DECLARATION__PIXEL_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 54;
16541pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_CODE: ::std::os::raw::c_int = 55;
16542pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_CODE_LINE_NUMBER: ::std::os::raw::c_int = 56;
16543pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_STAGE_EXPORTS: ::std::os::raw::c_int = 57;
16544pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_SYSTEM_SEMANTICS_IMPORTS: ::std::os::raw::c_int =
16545 58;
16546pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_SYSTEM_SEMANTICS_EXPORTS: ::std::os::raw::c_int =
16547 59;
16548pub const TM_TT_PROP__SHADER_DECLARATION__COMPUTE_STAGE_ATTRIBUTES: ::std::os::raw::c_int = 60;
16549pub type _bindgen_ty_186 = ::std::os::raw::c_int;
16550pub const TM_TT_PROP__RENDER_STATE_BLOCK__TYPE: ::std::os::raw::c_int = 0;
16551pub const TM_TT_PROP__RENDER_STATE_BLOCK__STATES: ::std::os::raw::c_int = 1;
16552pub type _bindgen_ty_187 = ::std::os::raw::c_int;
16553pub const TM_TT_PROP__SAMPLER_STATE_BLOCK__NAME: ::std::os::raw::c_int = 0;
16554pub const TM_TT_PROP__SAMPLER_STATE_BLOCK__STATES: ::std::os::raw::c_int = 1;
16555pub type _bindgen_ty_188 = ::std::os::raw::c_int;
16556pub const TM_TT_PROP__SHADER_REQUEST__TYPE_NAME: ::std::os::raw::c_int = 0;
16557pub const TM_TT_PROP__SHADER_REQUEST__CHANNEL_NAME: ::std::os::raw::c_int = 1;
16558pub type _bindgen_ty_189 = ::std::os::raw::c_int;
16559pub const TM_TT_PROP__SHADER_CONSTANT__NAME: ::std::os::raw::c_int = 0;
16560pub const TM_TT_PROP__SHADER_CONSTANT__TYPE: ::std::os::raw::c_int = 1;
16561pub const TM_TT_PROP__SHADER_CONSTANT__ROWS: ::std::os::raw::c_int = 2;
16562pub const TM_TT_PROP__SHADER_CONSTANT__COLUMNS: ::std::os::raw::c_int = 3;
16563pub const TM_TT_PROP__SHADER_CONSTANT__STRUCT_SIZE: ::std::os::raw::c_int = 4;
16564pub const TM_TT_PROP__SHADER_CONSTANT__ELEMENTS: ::std::os::raw::c_int = 5;
16565pub type _bindgen_ty_190 = ::std::os::raw::c_int;
16566pub const TM_TT_PROP__SHADER_RESOURCE__NAME: ::std::os::raw::c_int = 0;
16567pub const TM_TT_PROP__SHADER_RESOURCE__TYPE: ::std::os::raw::c_int = 1;
16568pub const TM_TT_PROP__SHADER_RESOURCE__ELEMENT_TYPE: ::std::os::raw::c_int = 2;
16569pub const TM_TT_PROP__SHADER_RESOURCE__ELEMENTS: ::std::os::raw::c_int = 3;
16570pub const TM_TT_PROP__SHADER_RESOURCE__STATIC_RESOURCE: ::std::os::raw::c_int = 4;
16571pub const TM_TT_PROP__SHADER_RESOURCE__UAV: ::std::os::raw::c_int = 5;
16572pub type _bindgen_ty_191 = ::std::os::raw::c_int;
16573pub const TM_TT_PROP__STAGE_EXPORT__CONSTANT: ::std::os::raw::c_int = 0;
16574pub const TM_TT_PROP__STAGE_EXPORT__INTERPOLATION_MODIFIER: ::std::os::raw::c_int = 1;
16575pub const TM_TT_PROP__STAGE_EXPORT__CHANNEL_REQUESTED: ::std::os::raw::c_int = 2;
16576pub type _bindgen_ty_192 = ::std::os::raw::c_int;
16577pub const TM_TT_PROP__INCLUDE__NAME: ::std::os::raw::c_int = 0;
16578pub type _bindgen_ty_193 = ::std::os::raw::c_int;
16579pub const TM_TT_PROP__VARIATION__SYSTEMS: ::std::os::raw::c_int = 0;
16580pub type _bindgen_ty_194 = ::std::os::raw::c_int;
16581pub const TM_TT_PROP__VARIATION__SYSTEM__NAME: ::std::os::raw::c_int = 0;
16582pub type _bindgen_ty_195 = ::std::os::raw::c_int;
16583pub const TM_TT_PROP__COMPILE_CONFIGURATION__NAME: ::std::os::raw::c_int = 0;
16584pub const TM_TT_PROP__COMPILE_CONFIGURATION__VARIATIONS: ::std::os::raw::c_int = 1;
16585pub type _bindgen_ty_196 = ::std::os::raw::c_int;
16586pub const TM_TT_PROP__COMPILE_BRANCH__CONDITION: ::std::os::raw::c_int = 0;
16587pub const TM_TT_PROP__COMPILE_BRANCH__THEN: ::std::os::raw::c_int = 1;
16588pub const TM_TT_PROP__COMPILE_BRANCH__ELSE: ::std::os::raw::c_int = 2;
16589pub type _bindgen_ty_197 = ::std::os::raw::c_int;
16590pub const TM_TT_PROP__PASS_CONDITION__SYSTEMS_ACTIVE: ::std::os::raw::c_int = 0;
16591pub type _bindgen_ty_198 = ::std::os::raw::c_int;
16592pub const TM_TT_PROP__PASS__LAYER: ::std::os::raw::c_int = 0;
16593pub const TM_TT_PROP__PASS__CONDITION: ::std::os::raw::c_int = 1;
16594pub const TM_TT_PROP__PASS__ENABLE_SYSTEMS: ::std::os::raw::c_int = 2;
16595pub const TM_TT_PROP__PASS__RENDER_STATE_BLOCKS: ::std::os::raw::c_int = 3;
16596pub const TM_TT_PROP__PASS__COMPILE_CONFIGURATION: ::std::os::raw::c_int = 4;
16597pub type _bindgen_ty_199 = ::std::os::raw::c_int;
16598pub const TM_TT_PROP__COMPILE_CONTEXT__NAME: ::std::os::raw::c_int = 0;
16599pub const TM_TT_PROP__COMPILE_CONTEXT__PASSES: ::std::os::raw::c_int = 1;
16600pub type _bindgen_ty_200 = ::std::os::raw::c_int;
16601pub const TM_TT_PROP__SHADER_SYSTEM_COMPILED_RESULT__NAME: ::std::os::raw::c_int = 0;
16602pub const TM_TT_PROP__SHADER_SYSTEM_COMPILED_RESULT__BUFFER: ::std::os::raw::c_int = 1;
16603pub type _bindgen_ty_201 = ::std::os::raw::c_int;
16604pub const TM_TT_PROP__SHADER_SYSTEM__CONSTANT_NODE__VALUE_TYPE_HASH: ::std::os::raw::c_int = 0;
16605pub const TM_TT_PROP__SHADER_SYSTEM__CONSTANT_NODE__VALUE: ::std::os::raw::c_int = 1;
16606pub type _bindgen_ty_202 = ::std::os::raw::c_int;
16607pub const TM_TT_PROP__CREATION_GRAPH_NODE_RESOURCE_ASPECT__RESOURCE: ::std::os::raw::c_int = 0;
16608pub const TM_TT_PROP__CREATION_GRAPH_NODE_RESOURCE_ASPECT__ASPECT: ::std::os::raw::c_int = 1;
16609pub type _bindgen_ty_203 = ::std::os::raw::c_int;
16610pub const TM_TT_PROP__CREATION_GRAPH_NODE_DEFINE__NAME: ::std::os::raw::c_int = 0;
16611pub type _bindgen_ty_204 = ::std::os::raw::c_int;
16612pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__NAME_HASH: ::std::os::raw::c_int = 0;
16613pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__RESOURCE_ASPECTS: ::std::os::raw::c_int = 1;
16614pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__DEFINES: ::std::os::raw::c_int = 2;
16615pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__REQUESTS: ::std::os::raw::c_int = 3;
16616pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__ENABLE_SYSTEMS: ::std::os::raw::c_int = 4;
16617pub const TM_TT_PROP__CREATION_GRAPH_NODE_ACTION__RENDER_STATE_BLOCKS: ::std::os::raw::c_int = 5;
16618pub type _bindgen_ty_205 = ::std::os::raw::c_int;
16619pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING_OPTION__DISPLAY_NAME:
16620 ::std::os::raw::c_int = 0;
16621pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING_OPTION__DISPLAY_TOOLTIP:
16622 ::std::os::raw::c_int = 1;
16623pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING_OPTION__ACTION: ::std::os::raw::c_int =
16624 2;
16625pub type _bindgen_ty_206 = ::std::os::raw::c_int;
16626pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__DISPLAY_NAME: ::std::os::raw::c_int =
16627 0;
16628pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__DISPLAY_TOOLTIP:
16629 ::std::os::raw::c_int = 1;
16630pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__SETTING_CONDITION:
16631 ::std::os::raw::c_int = 2;
16632pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__OPTIONS: ::std::os::raw::c_int = 3;
16633pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTING__BOOL_ACTION: ::std::os::raw::c_int =
16634 4;
16635pub type _bindgen_ty_207 = ::std::os::raw::c_int;
16636pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTINGS__OBJECT_TYPE_HASH:
16637 ::std::os::raw::c_int = 0;
16638pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR_SETTINGS__SETTINGS: ::std::os::raw::c_int = 1;
16639pub type _bindgen_ty_208 = ::std::os::raw::c_int;
16640pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__VERTEX: ::std::os::raw::c_int = 0;
16641pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__HULL: ::std::os::raw::c_int = 1;
16642pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__DOMAIN: ::std::os::raw::c_int = 2;
16643pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__GEOMETRY: ::std::os::raw::c_int = 3;
16644pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__PIXEL: ::std::os::raw::c_int = 4;
16645pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__COMPUTE: ::std::os::raw::c_int = 5;
16646pub const TM_SHADER_SYSTEM__NODE_CONNECTOR__EVALUATION_STAGE__MAX_STAGES: ::std::os::raw::c_int = 6;
16647pub type _bindgen_ty_209 = ::std::os::raw::c_int;
16648extern "C" {
16649 pub static mut tm_shader_system__node__connector__evaluation_stage_names:
16650 [*const ::std::os::raw::c_char; 6usize];
16651}
16652pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__NAME: ::std::os::raw::c_int = 0;
16653pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__DISPLAY_NAME: ::std::os::raw::c_int = 1;
16654pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__DISPLAY_TOOLTIP: ::std::os::raw::c_int = 2;
16655pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TARGET_NAME: ::std::os::raw::c_int = 3;
16656pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TARGET_ELEMENT: ::std::os::raw::c_int = 4;
16657pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__CONNECTOR_FLAG: ::std::os::raw::c_int = 5;
16658pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__IS_OPTIONAL: ::std::os::raw::c_int = 6;
16659pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__IS_FUNCTION: ::std::os::raw::c_int = 7;
16660pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE: ::std::os::raw::c_int = 8;
16661pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__ROWS: ::std::os::raw::c_int = 9;
16662pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__COLUMNS: ::std::os::raw::c_int = 10;
16663pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE_OF: ::std::os::raw::c_int = 11;
16664pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__EVALUATION_STAGE: ::std::os::raw::c_int = 12;
16665pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__SETTINGS: ::std::os::raw::c_int = 13;
16666pub type _bindgen_ty_210 = ::std::os::raw::c_int;
16667pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE_OF__CONNECTOR: ::std::os::raw::c_int = 0;
16668pub const TM_TT_PROP__CREATION_GRAPH_NODE__CONNECTOR__TYPE_OF__REQUESTED_CHANNEL:
16669 ::std::os::raw::c_int = 1;
16670pub type _bindgen_ty_211 = ::std::os::raw::c_int;
16671pub const TM_TT_PROP__CREATION_GRAPH_NODE__DECLARATION_NAME: ::std::os::raw::c_int = 0;
16672pub const TM_TT_PROP__CREATION_GRAPH_NODE__NODE_NAME: ::std::os::raw::c_int = 1;
16673pub const TM_TT_PROP__CREATION_GRAPH_NODE__DISPLAY_NAME: ::std::os::raw::c_int = 2;
16674pub const TM_TT_PROP__CREATION_GRAPH_NODE__CATEGORY: ::std::os::raw::c_int = 3;
16675pub const TM_TT_PROP__CREATION_GRAPH_NODE__ACTIONS: ::std::os::raw::c_int = 4;
16676pub const TM_TT_PROP__CREATION_GRAPH_NODE__INPUTS: ::std::os::raw::c_int = 5;
16677pub const TM_TT_PROP__CREATION_GRAPH_NODE__OUTPUTS: ::std::os::raw::c_int = 6;
16678pub type _bindgen_ty_212 = ::std::os::raw::c_int;
16679pub const TM_TT_PROP__RUNNER_SETTINGS__PROJECT: ::std::os::raw::c_int = 0;
16680pub const TM_TT_PROP__RUNNER_SETTINGS__WORLD_ENTITY: ::std::os::raw::c_int = 1;
16681pub const TM_TT_PROP__RUNNER_SETTINGS__SHADERS_DIR: ::std::os::raw::c_int = 2;
16682pub const TM_TT_PROP__RUNNER_SETTINGS__PLUGINS_DIR: ::std::os::raw::c_int = 3;
16683pub const TM_TT_PROP__RUNNER_SETTINGS__WINDOW_TITLE: ::std::os::raw::c_int = 4;
16684pub type _bindgen_ty_213 = ::std::os::raw::c_int;
16685#[repr(C)]
16686#[derive(Copy, Clone)]
16687pub struct tm_runner_settings_api {
16688 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
16689}
16690#[repr(C)]
16691#[derive(Copy, Clone)]
16692pub struct tm_simulate_context_o {
16693 _unused: [u8; 0],
16694}
16695#[repr(C)]
16696#[derive(Copy, Clone)]
16697pub struct tm_simulate_context_api {
16698 pub create: ::std::option::Option<
16699 unsafe extern "C" fn(
16700 allocator: *mut tm_allocator_i,
16701 entity_ctx: *mut tm_entity_context_o,
16702 ) -> *mut tm_simulate_context_o,
16703 >,
16704 pub destroy:
16705 ::std::option::Option<unsafe extern "C" fn(simulate_ctx: *mut tm_simulate_context_o)>,
16706 pub camera: ::std::option::Option<
16707 unsafe extern "C" fn(simulate_ctx: *const tm_simulate_context_o) -> tm_entity_t,
16708 >,
16709 pub set_camera: ::std::option::Option<
16710 unsafe extern "C" fn(simulate_ctx: *mut tm_simulate_context_o, camera: tm_entity_t),
16711 >,
16712}
16713pub const tm_tt_value__statistics_graph__type_TM_TT_VALUE__STATISTICS_GRAPH__NONE:
16714 tm_tt_value__statistics_graph__type = 0;
16715pub const tm_tt_value__statistics_graph__type_TM_TT_VALUE__STATISTICS_GRAPH__TABLE:
16716 tm_tt_value__statistics_graph__type = 1;
16717pub const tm_tt_value__statistics_graph__type_TM_TT_VALUE__STATISTICS_GRAPH__LINE_GRAPH:
16718 tm_tt_value__statistics_graph__type = 2;
16719pub type tm_tt_value__statistics_graph__type = ::std::os::raw::c_int;
16720pub const TM_TT_PROP__STATISTICS_GRAPH__NAME: ::std::os::raw::c_int = 0;
16721pub const TM_TT_PROP__STATISTICS_GRAPH__TYPE: ::std::os::raw::c_int = 1;
16722pub const TM_TT_PROP__STATISTICS_GRAPH__HISTORY: ::std::os::raw::c_int = 2;
16723pub const TM_TT_PROP__STATISTICS_GRAPH__Y_RANGE_AUTO: ::std::os::raw::c_int = 3;
16724pub const TM_TT_PROP__STATISTICS_GRAPH__Y_MIN: ::std::os::raw::c_int = 4;
16725pub const TM_TT_PROP__STATISTICS_GRAPH__Y_MAX: ::std::os::raw::c_int = 5;
16726pub const TM_TT_PROP__STATISTICS_GRAPH__SOURCES: ::std::os::raw::c_int = 6;
16727pub type _bindgen_ty_214 = ::std::os::raw::c_int;
16728pub const TM_TT_PROP__STATISTICS_GRAPH_SOURCE__NAME: ::std::os::raw::c_int = 0;
16729pub const TM_TT_PROP__STATISTICS_GRAPH_SOURCE__SOURCE: ::std::os::raw::c_int = 1;
16730pub const TM_TT_PROP__STATISTICS_GRAPH_SOURCE__COLOR: ::std::os::raw::c_int = 2;
16731pub type _bindgen_ty_215 = ::std::os::raw::c_int;
16732#[repr(C)]
16733#[derive(Copy, Clone)]
16734pub struct tm_statistics_graph_api {
16735 pub ui: ::std::option::Option<
16736 unsafe extern "C" fn(
16737 tt: *mut tm_the_truth_o,
16738 settings: tm_tt_id_t,
16739 ui: *mut tm_ui_o,
16740 uistyle: *const tm_ui_style_t,
16741 rect: tm_rect_t,
16742 ) -> bool,
16743 >,
16744 pub create_default_settings: ::std::option::Option<
16745 unsafe extern "C" fn(tt: *mut tm_the_truth_o, ui: *mut tm_ui_o) -> tm_tt_id_t,
16746 >,
16747}
16748pub const TM_STATISTICS_SOURCE_MAX_FRAMES: ::std::os::raw::c_int = 1024;
16749pub type _bindgen_ty_216 = ::std::os::raw::c_int;
16750#[repr(C)]
16751#[derive(Copy, Clone)]
16752pub struct tm_statistics_source_t {
16753 pub name: *const ::std::os::raw::c_char,
16754 pub default_title: *const ::std::os::raw::c_char,
16755 pub values: *mut f64,
16756 pub frame_value: f64,
16757}
16758#[repr(C)]
16759#[derive(Copy, Clone)]
16760pub struct tm_statistics_source_api {
16761 pub source: ::std::option::Option<
16762 unsafe extern "C" fn(
16763 name: *const ::std::os::raw::c_char,
16764 default_title: *const ::std::os::raw::c_char,
16765 ) -> *mut f64,
16766 >,
16767 pub push_frame: ::std::option::Option<unsafe extern "C" fn()>,
16768 pub is_paused: ::std::option::Option<unsafe extern "C" fn() -> bool>,
16769 pub set_paused: ::std::option::Option<unsafe extern "C" fn(paused: bool)>,
16770 pub read: ::std::option::Option<
16771 unsafe extern "C" fn(
16772 source: *const ::std::os::raw::c_char,
16773 ) -> *const tm_statistics_source_t,
16774 >,
16775 pub sources: ::std::option::Option<
16776 unsafe extern "C" fn(count: *mut u32) -> *const tm_statistics_source_t,
16777 >,
16778 pub num_frames: ::std::option::Option<unsafe extern "C" fn() -> u64>,
16779}
16780#[repr(C)]
16781#[derive(Copy, Clone)]
16782pub struct tm_asset_preview_api__ui_args_t {
16783 pub tt: *mut tm_the_truth_o,
16784 pub asset: tm_tt_id_t,
16785 pub entity_ctx: *mut tm_entity_context_o,
16786 pub entity: *const tm_entity_t,
16787 pub viewer_render_info: *mut tm_viewer_render_info_t,
16788 pub lighting_environment_settings: *mut tm_lighting_environment_settings_t,
16789 pub tab_id: u64,
16790 pub ui: *mut tm_ui_o,
16791 pub uistyle: *const tm_ui_style_t,
16792 pub content_r: tm_rect_t,
16793}
16794#[repr(C)]
16795#[derive(Copy, Clone)]
16796pub struct tm_asset_preview_api {
16797 pub create: ::std::option::Option<
16798 unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_asset_preview_o,
16799 >,
16800 pub destroy: ::std::option::Option<
16801 unsafe extern "C" fn(inst: *mut tm_asset_preview_o, allocator: *mut tm_allocator_i),
16802 >,
16803 pub create_entity: ::std::option::Option<
16804 unsafe extern "C" fn(
16805 inst: *mut tm_asset_preview_o,
16806 tt: *mut tm_the_truth_o,
16807 asset: tm_tt_id_t,
16808 entity_ctx: *mut tm_entity_context_o,
16809 result: *mut tm_entity_t,
16810 ),
16811 >,
16812 pub intercept_focus: ::std::option::Option<
16813 unsafe extern "C" fn(
16814 inst: *mut tm_asset_preview_o,
16815 tt: *mut tm_the_truth_o,
16816 root_asset: tm_tt_id_t,
16817 entity_ctx: *mut tm_entity_context_o,
16818 entity: *const tm_entity_t,
16819 focus_asset: tm_tt_id_t,
16820 ) -> bool,
16821 >,
16822 pub reload: ::std::option::Option<
16823 unsafe extern "C" fn(
16824 inst: *mut tm_asset_preview_o,
16825 tt: *mut tm_the_truth_o,
16826 asset: tm_tt_id_t,
16827 entity_ctx: *mut tm_entity_context_o,
16828 entity: *mut tm_entity_t,
16829 ) -> bool,
16830 >,
16831 pub render: ::std::option::Option<
16832 unsafe extern "C" fn(
16833 inst: *mut tm_asset_preview_o,
16834 tt: *mut tm_the_truth_o,
16835 asset: tm_tt_id_t,
16836 args: *const tm_render_args_t,
16837 ),
16838 >,
16839 pub ui: ::std::option::Option<
16840 unsafe extern "C" fn(
16841 inst: *mut tm_asset_preview_o,
16842 args: *const tm_asset_preview_api__ui_args_t,
16843 ),
16844 >,
16845 pub toolbars: ::std::option::Option<
16846 unsafe extern "C" fn(
16847 inst: *mut tm_asset_preview_o,
16848 n: *mut u32,
16849 args: *const tm_asset_preview_api__ui_args_t,
16850 ) -> *mut tm_tab_toolbar_i,
16851 >,
16852}
16853#[repr(C)]
16854#[derive(Copy, Clone)]
16855pub struct tm_asset_preview_i {
16856 pub api: *mut tm_asset_preview_api,
16857 pub inst: *mut tm_asset_preview_o,
16858}
16859#[repr(C)]
16860#[derive(Copy, Clone)]
16861pub struct tm_asset_scene_api {
16862 pub create: ::std::option::Option<
16863 unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_asset_scene_o,
16864 >,
16865 pub destroy: ::std::option::Option<
16866 unsafe extern "C" fn(inst: *mut tm_asset_scene_o, allocator: *mut tm_allocator_i),
16867 >,
16868 pub droppable: ::std::option::Option<
16869 unsafe extern "C" fn(
16870 inst: *mut tm_asset_scene_o,
16871 tt: *mut tm_the_truth_o,
16872 asset: tm_tt_id_t,
16873 ) -> bool,
16874 >,
16875 pub create_entity: ::std::option::Option<
16876 unsafe extern "C" fn(
16877 inst: *mut tm_asset_scene_o,
16878 tt: *mut tm_the_truth_o,
16879 asset: tm_tt_id_t,
16880 ctx: *mut tm_entity_context_o,
16881 parent_entity: tm_tt_id_t,
16882 name: *const ::std::os::raw::c_char,
16883 pos: tm_vec3_t,
16884 scl: tm_vec3_t,
16885 undo_scope: tm_tt_undo_scope_t,
16886 ) -> tm_tt_id_t,
16887 >,
16888 pub bound_entity_asset: ::std::option::Option<
16889 unsafe extern "C" fn(
16890 inst: *mut tm_asset_scene_o,
16891 tt: *const tm_the_truth_o,
16892 asset: tm_tt_id_t,
16893 bounds: *mut tm_vec3_t,
16894 ),
16895 >,
16896}
16897#[repr(C)]
16898#[derive(Copy, Clone)]
16899pub struct tm_asset_scene_i {
16900 pub api: *mut tm_asset_scene_api,
16901 pub inst: *mut tm_asset_scene_o,
16902}
16903pub const camera_controller_mode_MODE_NONE: camera_controller_mode = 0;
16904pub const camera_controller_mode_MODE_FREE_FLIGHT: camera_controller_mode = 1;
16905pub const camera_controller_mode_MODE_MAYA_SPIN: camera_controller_mode = 2;
16906pub const camera_controller_mode_MODE_MAYA_ZOOM: camera_controller_mode = 3;
16907pub const camera_controller_mode_MODE_MAYA_PAN: camera_controller_mode = 4;
16908pub type camera_controller_mode = ::std::os::raw::c_int;
16909#[repr(C)]
16910#[derive(Copy, Clone)]
16911pub struct tm_camera_controller_component_t {
16912 pub disable_input: bool,
16913 pub _padding_24: [::std::os::raw::c_char; 3usize],
16914 pub mode: camera_controller_mode,
16915 pub translation: tm_vec3_t,
16916 pub damped_translation: tm_vec3_t,
16917 pub rotation: tm_vec2_t,
16918 pub focus_point: tm_vec3_t,
16919 pub zoom: f32,
16920 pub spin: tm_vec2_t,
16921 pub pan: tm_vec2_t,
16922}
16923#[repr(C)]
16924#[derive(Copy, Clone)]
16925pub struct tm_camera_controller_component_manager_o {
16926 _unused: [u8; 0],
16927}
16928#[repr(C)]
16929#[derive(Copy, Clone)]
16930pub struct tm_camera_controller_component_api {
16931 pub create: ::std::option::Option<
16932 unsafe extern "C" fn(
16933 ctx: *mut tm_entity_context_o,
16934 ) -> *mut tm_camera_controller_component_manager_o,
16935 >,
16936 pub feed_ui_input: ::std::option::Option<
16937 unsafe extern "C" fn(
16938 manager: *mut tm_camera_controller_component_manager_o,
16939 ui: *mut tm_ui_o,
16940 in_area: bool,
16941 ),
16942 >,
16943 pub register_engines: ::std::option::Option<
16944 unsafe extern "C" fn(manager: *mut tm_camera_controller_component_manager_o),
16945 >,
16946}
16947pub type tm_ci_editor_properties_ui_f = ::std::option::Option<
16948 unsafe extern "C" fn(
16949 args: *mut tm_properties_ui_args_t,
16950 item_rect: tm_rect_t,
16951 object: tm_tt_id_t,
16952 indent: u32,
16953 ) -> f32,
16954>;
16955#[repr(C)]
16956#[derive(Copy, Clone)]
16957pub struct tm_ci_editor_ui_icon_i {
16958 pub unicode: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
16959}
16960#[repr(C)]
16961#[derive(Copy, Clone)]
16962pub struct tm_ci_viewport_interact {
16963 pub tt: *mut tm_the_truth_o,
16964 pub entity_ctx: *mut tm_entity_context_o,
16965 pub entity: tm_tt_id_t,
16966 pub component: tm_tt_id_t,
16967 pub ui: *mut tm_ui_o,
16968 pub uistyle: *const tm_ui_style_t,
16969 pub primitive_buffer: *mut tm_primitive_drawer_buffer_t,
16970 pub vertex_buffer: *mut tm_primitive_drawer_buffer_t,
16971 pub allocator: *mut tm_allocator_i,
16972 pub camera: *const tm_camera_t,
16973 pub viewport_r: tm_rect_t,
16974 pub viewport_id: u64,
16975 pub tab_id: u64,
16976 pub undo_stack: *mut tm_undo_stack_i,
16977 pub active_tool_id: u64,
16978 pub move_settings: *const tm_gizmo__move_settings_t,
16979 pub rotate_settings: *const tm_gizmo__rotate_settings_t,
16980 pub scale_settings: *const tm_gizmo__scale_settings_t,
16981 pub editor: *mut ::std::os::raw::c_void,
16982 pub set_selection: ::std::option::Option<
16983 unsafe extern "C" fn(editor: *mut ::std::os::raw::c_void, item_t: tm_tt_id_t),
16984 >,
16985}
16986#[repr(C)]
16987#[derive(Copy, Clone)]
16988pub struct tm_ci_viewport_interact_result {
16989 pub hide_gizmo: bool,
16990}
16991#[repr(C)]
16992#[derive(Copy, Clone)]
16993pub struct tm_ci_toolbar {
16994 pub active_tool_id: u64,
16995 pub editor: *mut ::std::os::raw::c_void,
16996 pub set_active_tool:
16997 ::std::option::Option<unsafe extern "C" fn(editor: *mut ::std::os::raw::c_void, id: u64)>,
16998}
16999#[repr(C)]
17000#[derive(Copy, Clone)]
17001pub struct tm_ci_editor_ui_i {
17002 pub disabled: ::std::option::Option<unsafe extern "C" fn() -> bool>,
17003 pub category: ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
17004 pub icon_interface:
17005 ::std::option::Option<unsafe extern "C" fn() -> *mut tm_ci_editor_ui_icon_i>,
17006 pub gizmo_priority: f32,
17007 pub _padding_90: [::std::os::raw::c_char; 4usize],
17008 pub gizmo_get_transform: ::std::option::Option<
17009 unsafe extern "C" fn(
17010 tt: *const tm_the_truth_o,
17011 ctx: *mut tm_entity_context_o,
17012 entity: tm_tt_id_t,
17013 component: tm_tt_id_t,
17014 object: tm_tt_id_t,
17015 world: *mut tm_transform_t,
17016 local: *mut tm_transform_t,
17017 ) -> bool,
17018 >,
17019 pub gizmo_set_transform: ::std::option::Option<
17020 unsafe extern "C" fn(
17021 tt: *mut tm_the_truth_o,
17022 ctx: *mut tm_entity_context_o,
17023 entity: tm_tt_id_t,
17024 component: tm_tt_id_t,
17025 object: tm_tt_id_t,
17026 local: *const tm_transform_t,
17027 undo_scope: tm_tt_undo_scope_t,
17028 ),
17029 >,
17030 pub gizmo_duplicate: ::std::option::Option<
17031 unsafe extern "C" fn(
17032 tt: *mut tm_the_truth_o,
17033 ctx: *mut tm_entity_context_o,
17034 entity: tm_tt_id_t,
17035 component: tm_tt_id_t,
17036 object: tm_tt_id_t,
17037 undo_scope: tm_tt_undo_scope_t,
17038 ) -> tm_tt_id_t,
17039 >,
17040 pub override_properties: ::std::option::Option<
17041 unsafe extern "C" fn(
17042 tt: *mut tm_the_truth_o,
17043 other_component: tm_tt_id_t,
17044 ) -> tm_ci_editor_properties_ui_f,
17045 >,
17046 pub viewport_interact: ::std::option::Option<
17047 unsafe extern "C" fn(vi: *const tm_ci_viewport_interact) -> tm_ci_viewport_interact_result,
17048 >,
17049 pub create: ::std::option::Option<
17050 unsafe extern "C" fn(
17051 tt: *mut tm_the_truth_o,
17052 type_: u64,
17053 undo_scope: tm_tt_undo_scope_t,
17054 ) -> tm_tt_id_t,
17055 >,
17056 pub toolbar: ::std::option::Option<
17057 unsafe extern "C" fn(ci: *const tm_ci_toolbar) -> *mut tm_tab_toolbar_i,
17058 >,
17059}
17060#[repr(C)]
17061#[derive(Copy, Clone)]
17062pub struct tm_ci_render_viewer_t {
17063 pub sort_key: u64,
17064 pub visibility_mask: u64,
17065 pub visibility_context: u64,
17066 pub viewer_system: *mut tm_shader_system_o,
17067 pub viewer_cbuffer: *mut tm_shader_constant_buffer_instance_t,
17068 pub viewer_rbinder: *mut tm_shader_resource_binder_instance_t,
17069}
17070#[repr(C)]
17071#[derive(Copy, Clone)]
17072pub struct tm_ci_render_i {
17073 pub init: ::std::option::Option<
17074 unsafe extern "C" fn(
17075 manager: *mut tm_component_manager_o,
17076 entities: *const tm_entity_t,
17077 entity_indices: *const u32,
17078 render_component_data: *mut *mut ::std::os::raw::c_void,
17079 num_renderables: u32,
17080 ),
17081 >,
17082 pub render: ::std::option::Option<
17083 unsafe extern "C" fn(
17084 manager: *mut tm_component_manager_o,
17085 args: *mut tm_render_args_t,
17086 viewers: *const tm_ci_render_viewer_t,
17087 num_viewers: u32,
17088 entities: *const tm_entity_t,
17089 entity_transforms: *const tm_transform_component_t,
17090 entity_selection_state: *const bool,
17091 entity_indices: *const u32,
17092 render_component_data: *mut *mut ::std::os::raw::c_void,
17093 num_renderables: u32,
17094 frustum_visibility: *const u8,
17095 ),
17096 >,
17097 pub bounding_volume_type:
17098 ::std::option::Option<unsafe extern "C" fn(manager: *mut tm_component_manager_o) -> u32>,
17099 pub fill_bounding_volume_buffer: ::std::option::Option<
17100 unsafe extern "C" fn(
17101 manager: *mut tm_component_manager_o,
17102 entities: *const tm_entity_t,
17103 entity_transforms: *const tm_transform_component_t,
17104 entity_indices: *const u32,
17105 render_component_data: *mut *mut ::std::os::raw::c_void,
17106 num_renderables: u32,
17107 bv_buffer: *mut u8,
17108 ),
17109 >,
17110}
17111#[repr(C)]
17112#[derive(Copy, Clone)]
17113pub struct tm_ci_render_gather_callback_args_t {
17114 pub allocator: *mut tm_allocator_i,
17115 pub selected_entities_lookup: *const tm_set_entity_t,
17116 pub hidden_entities_lookup: *const tm_set_entity_t,
17117 pub ignored_entities_lookup: *const tm_set_entity_t,
17118 pub render_component_names: [u64; 64usize],
17119 pub render_interfaces: [*mut tm_ci_render_i; 64usize],
17120 pub num_render_components: u32,
17121 pub render_component_data_strides: [u32; 64usize],
17122 pub _padding_54: [::std::os::raw::c_char; 4usize],
17123 pub component_managers: [*mut tm_component_manager_o; 64usize],
17124 pub entity_selection_state: *mut bool,
17125 pub entity_ignore_state: *mut bool,
17126 pub entity_transforms: *mut tm_transform_component_t,
17127 pub entities: *mut tm_entity_t,
17128 pub component_data: [*mut *mut ::std::os::raw::c_void; 64usize],
17129 pub entity_indices: [*mut u32; 64usize],
17130 pub num_renderables_per_component: [u32; 64usize],
17131}
17132#[repr(C)]
17133#[derive(Copy, Clone)]
17134pub struct tm_ci_shader_i {
17135 pub init: ::std::option::Option<
17136 unsafe extern "C" fn(
17137 manager: *mut tm_component_manager_o,
17138 entities: *const tm_entity_t,
17139 entity_indices: *const u32,
17140 shader_component_data: *mut *mut ::std::os::raw::c_void,
17141 num_shader_datas: u32,
17142 ),
17143 >,
17144 pub graph_module_inject: ::std::option::Option<
17145 unsafe extern "C" fn(
17146 manager: *mut tm_component_manager_o,
17147 module: *mut tm_render_graph_module_o,
17148 ),
17149 >,
17150 pub bounding_volume_type:
17151 ::std::option::Option<unsafe extern "C" fn(manager: *mut tm_component_manager_o) -> u32>,
17152 pub fill_bounding_volume_buffer: ::std::option::Option<
17153 unsafe extern "C" fn(
17154 manager: *mut tm_component_manager_o,
17155 entity_transforms: *const tm_transform_t,
17156 entity_indices: *const u32,
17157 component_data: *mut *mut ::std::os::raw::c_void,
17158 num_components: u32,
17159 bv_buffer: *mut u8,
17160 ),
17161 >,
17162 pub update: ::std::option::Option<
17163 unsafe extern "C" fn(
17164 manager: *mut tm_component_manager_o,
17165 args: *mut tm_render_args_t,
17166 entities: *const tm_entity_t,
17167 entity_transforms: *const tm_transform_component_t,
17168 entity_indices: *const u32,
17169 component_data: *mut *mut ::std::os::raw::c_void,
17170 num_components: u32,
17171 frustum_visibility: *const u8,
17172 ),
17173 >,
17174}
17175#[repr(C)]
17176#[derive(Copy, Clone)]
17177pub struct tm_ci_shader_data_gather_callback_args_t {
17178 pub allocator: *mut tm_allocator_i,
17179 pub hidden_entities_lookup: *const tm_set_entity_t,
17180 pub shader_component_names: [u64; 15usize],
17181 pub shader_interfaces: [*mut tm_ci_shader_i; 15usize],
17182 pub num_shader_components: u32,
17183 pub shader_component_data_strides: [u32; 15usize],
17184 pub component_managers: [*mut tm_component_manager_o; 15usize],
17185 pub entity_transforms: *mut tm_transform_component_t,
17186 pub entities: *mut tm_entity_t,
17187 pub component_data: [*mut *mut ::std::os::raw::c_void; 15usize],
17188 pub entity_indices: [*mut u32; 15usize],
17189 pub num_shader_data_per_component: [u32; 15usize],
17190 pub _padding_56: [::std::os::raw::c_char; 4usize],
17191}
17192#[repr(C)]
17193#[derive(Copy, Clone)]
17194pub struct tm_culling_viewer_t {
17195 pub visibility_mask: u64,
17196 pub frustum_planes: [tm_vec4_t; 6usize],
17197}
17198#[repr(C)]
17199#[derive(Copy, Clone)]
17200pub struct tm_frustum_culling_api {
17201 pub viewer_from_projection_mat: ::std::option::Option<
17202 unsafe extern "C" fn(
17203 view_tm: *const tm_mat44_t,
17204 projection_tm: *const tm_mat44_t,
17205 visibility_mask: u64,
17206 ) -> tm_culling_viewer_t,
17207 >,
17208 pub calc_size_of_objects_buffer:
17209 ::std::option::Option<unsafe extern "C" fn(bv_type: u32, num_objects: u32) -> u32>,
17210 pub calc_size_of_results_buffer:
17211 ::std::option::Option<unsafe extern "C" fn(num_viewers: u32, num_objects: u32) -> u32>,
17212 pub cull: ::std::option::Option<
17213 unsafe extern "C" fn(
17214 viewers: *const tm_culling_viewer_t,
17215 num_viewers: u32,
17216 bv_type: u32,
17217 objects: *const u8,
17218 num_objects: u32,
17219 results: *mut u8,
17220 ta: *mut tm_temp_allocator_i,
17221 ) -> *mut tm_atomic_counter_o,
17222 >,
17223}
17224#[repr(C)]
17225#[derive(Copy, Clone)]
17226pub struct tm_render_context_o {
17227 _unused: [u8; 0],
17228}
17229#[repr(C)]
17230#[derive(Copy, Clone)]
17231pub struct tm_render_context_api {
17232 pub create: ::std::option::Option<
17233 unsafe extern "C" fn(allocator: *mut tm_allocator_i) -> *mut tm_render_context_o,
17234 >,
17235 pub destroy: ::std::option::Option<unsafe extern "C" fn(context: *mut tm_render_context_o)>,
17236 pub append_resource_buffers: ::std::option::Option<
17237 unsafe extern "C" fn(
17238 context: *mut tm_render_context_o,
17239 res_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
17240 num_buffers: u32,
17241 ),
17242 >,
17243 pub append_command_buffers: ::std::option::Option<
17244 unsafe extern "C" fn(
17245 context: *mut tm_render_context_o,
17246 cmd_buffers: *mut *mut tm_renderer_command_buffer_o,
17247 num_buffers: u32,
17248 ),
17249 >,
17250 pub resource_buffers: ::std::option::Option<
17251 unsafe extern "C" fn(
17252 context: *mut tm_render_context_o,
17253 res_buffers: *mut *mut tm_renderer_resource_command_buffer_o,
17254 ) -> u32,
17255 >,
17256 pub command_buffers: ::std::option::Option<
17257 unsafe extern "C" fn(
17258 context: *mut tm_render_context_o,
17259 cmd_buffers: *mut *mut tm_renderer_command_buffer_o,
17260 ) -> u32,
17261 >,
17262}
17263#[repr(C)]
17264#[derive(Copy, Clone)]
17265pub struct tm_render_args_t {
17266 pub camera_tm: tm_transform_t,
17267 pub context: *mut tm_render_context_o,
17268 pub render_backend: *mut tm_renderer_backend_i,
17269 pub shader_repository: *mut tm_shader_repository_o,
17270 pub device_affinity_mask: u32,
17271 pub _padding_61: [::std::os::raw::c_char; 4usize],
17272 pub default_resource_buffer: *mut tm_renderer_resource_command_buffer_o,
17273 pub default_command_buffer: *mut tm_renderer_command_buffer_o,
17274 pub render_graph: *mut tm_render_graph_o,
17275 pub render_pipeline: *mut tm_render_pipeline_i,
17276 pub shader_context: *const tm_shader_system_context_o,
17277}
17278#[repr(C)]
17279#[derive(Copy, Clone)]
17280pub struct tm_lighting_environment_settings_t {
17281 pub enabled: bool,
17282 pub _padding_27: [::std::os::raw::c_char; 7usize],
17283 pub asset: tm_tt_id_t,
17284 pub spawned_entity: tm_entity_t,
17285 pub search_buf: [::std::os::raw::c_char; 1024usize],
17286}
17287#[repr(C)]
17288#[derive(Copy, Clone)]
17289pub struct tm_scene_common_api {
17290 pub init_camera: ::std::option::Option<
17291 unsafe extern "C" fn(camera: *mut tm_transform_t, translation: tm_vec3_t),
17292 >,
17293 pub camera_frame_bounds: ::std::option::Option<
17294 unsafe extern "C" fn(
17295 camera: *mut tm_transform_t,
17296 camera_y_fov: f32,
17297 bounds: *const tm_vec3_t,
17298 translation_speed: *mut f32,
17299 focus_point: *mut tm_vec3_t,
17300 ),
17301 >,
17302 pub find_component_render_interfaces: ::std::option::Option<
17303 unsafe extern "C" fn(
17304 entity_ctx: *mut tm_entity_context_o,
17305 transform_component: u32,
17306 tt: *const tm_the_truth_o,
17307 allocator: *mut tm_allocator_i,
17308 selection: *const tm_tt_id_t,
17309 selection_n: u64,
17310 ignore: *const tm_entity_t,
17311 ignore_n: u64,
17312 include_entities_without_render_components: bool,
17313 res: *mut tm_ci_render_gather_callback_args_t,
17314 ),
17315 >,
17316 pub bound_assets: ::std::option::Option<
17317 unsafe extern "C" fn(
17318 entity_ctx: *mut tm_entity_context_o,
17319 transform_component: u32,
17320 tt: *const tm_the_truth_o,
17321 ignore: *const tm_entity_t,
17322 ignore_n: u64,
17323 bounds: *mut tm_vec3_t,
17324 include_origo: bool,
17325 ),
17326 >,
17327 pub bound_selected_assets: ::std::option::Option<
17328 unsafe extern "C" fn(
17329 entity_ctx: *mut tm_entity_context_o,
17330 transform_component: u32,
17331 tt: *const tm_the_truth_o,
17332 selection: *const tm_tt_id_t,
17333 selection_n: u64,
17334 ignore: *const tm_entity_t,
17335 ignore_n: u64,
17336 bounds: *mut tm_vec3_t,
17337 include_origo: bool,
17338 ),
17339 >,
17340 pub bound_entity_asset: ::std::option::Option<
17341 unsafe extern "C" fn(tt: *const tm_the_truth_o, entity: tm_tt_id_t, bounds: *mut tm_vec3_t),
17342 >,
17343 pub find_shader_data_engine_update: ::std::option::Option<
17344 unsafe extern "C" fn(inst: *mut tm_engine_o, data: *mut tm_engine_update_set_t),
17345 >,
17346 pub gather_shader_data_filter: ::std::option::Option<
17347 unsafe extern "C" fn(
17348 inst: *mut tm_engine_o,
17349 components: *const u32,
17350 num_components: u32,
17351 mask: *const tm_component_mask_t,
17352 ) -> bool,
17353 >,
17354 pub find_renderables_engine_update: ::std::option::Option<
17355 unsafe extern "C" fn(inst: *mut tm_engine_o, data: *mut tm_engine_update_set_t),
17356 >,
17357 pub gather_renderables_filter: ::std::option::Option<
17358 unsafe extern "C" fn(
17359 inst: *mut tm_engine_o,
17360 components: *const u32,
17361 num_components: u32,
17362 mask: *const tm_component_mask_t,
17363 ) -> bool,
17364 >,
17365 pub add_default_light_source: ::std::option::Option<
17366 unsafe extern "C" fn(entity_ctx: *mut tm_entity_context_o) -> tm_entity_t,
17367 >,
17368 pub has_any_light_source:
17369 ::std::option::Option<unsafe extern "C" fn(ctx: *mut tm_entity_context_o) -> bool>,
17370 pub viewport_visualization_toolbar: ::std::option::Option<
17371 unsafe extern "C" fn(
17372 tt: *mut tm_the_truth_o,
17373 entity_ctx: *mut tm_entity_context_o,
17374 le_settings: *mut tm_lighting_environment_settings_t,
17375 render_pipeline: *mut tm_render_pipeline_i,
17376 ui: *mut tm_ui_o,
17377 uistyle: *const tm_ui_style_t,
17378 toolbar_r: tm_rect_t,
17379 toolbar_direction: u32,
17380 ) -> tm_rect_t,
17381 >,
17382 pub place_entity: ::std::option::Option<
17383 unsafe extern "C" fn(
17384 tt: *mut tm_the_truth_o,
17385 entity: tm_tt_id_t,
17386 ctx: *mut tm_entity_context_o,
17387 parent_entity: tm_tt_id_t,
17388 pos: tm_vec3_t,
17389 scl: tm_vec3_t,
17390 undo_scope: tm_tt_undo_scope_t,
17391 ),
17392 >,
17393}
17394pub type tm_viewer_render_callback_f = ::std::option::Option<
17395 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, args: *const tm_render_args_t),
17396>;
17397pub type tm_viewer_gather_shader_data_callback_f = ::std::option::Option<
17398 unsafe extern "C" fn(
17399 inst: *mut ::std::os::raw::c_void,
17400 args: *mut tm_ci_shader_data_gather_callback_args_t,
17401 ),
17402>;
17403pub type tm_viewer_gather_render_callback_f = ::std::option::Option<
17404 unsafe extern "C" fn(
17405 inst: *mut ::std::os::raw::c_void,
17406 args: *mut tm_ci_render_gather_callback_args_t,
17407 ),
17408>;
17409#[repr(C)]
17410#[derive(Copy, Clone)]
17411pub struct tm_viewer_render_args_t {
17412 pub camera_tm: tm_transform_t,
17413 pub near_plane: f32,
17414 pub far_plane: f32,
17415 pub vertical_fov: f32,
17416 pub simulation_speed: f32,
17417 pub render_pipeline_api: *mut tm_render_pipeline_api,
17418 pub final_target_resource_state: u16,
17419 pub _padding_49: [::std::os::raw::c_char; 2usize],
17420 pub rect: tm_rect_t,
17421 pub dpi_scale_factor: f32,
17422 pub editor_visibility_flags: u64,
17423 pub native_resolution: bool,
17424 pub _padding_63: [::std::os::raw::c_char; 3usize],
17425 pub wanted_gpu: u32,
17426 pub capture_target_resource: u32,
17427 pub capture_target_resource_surface: u32,
17428 pub capture_target_resource_state: u16,
17429 pub _padding_78: [::std::os::raw::c_char; 6usize],
17430 pub render_callback: tm_viewer_render_callback_f,
17431 pub render_callback_inst: *mut ::std::os::raw::c_void,
17432 pub gather_shader_data_callback: tm_viewer_gather_shader_data_callback_f,
17433 pub gather_shader_data_callback_inst: *mut ::std::os::raw::c_void,
17434 pub gather_render_callback: tm_viewer_gather_render_callback_f,
17435 pub gather_render_callback_inst: *mut ::std::os::raw::c_void,
17436 pub gpu_picking: *mut tm_gpu_picking_o,
17437}
17438#[repr(C)]
17439#[derive(Copy, Clone)]
17440pub struct tm_viewer_render_info_t {
17441 pub target_width: u32,
17442 pub target_height: u32,
17443 pub dpi_scale_factor: f32,
17444 pub vr_context: u32,
17445 pub camera: *const tm_camera_t,
17446 pub render_pipeline: *mut tm_render_pipeline_i,
17447}
17448#[repr(C)]
17449#[derive(Copy, Clone)]
17450pub struct tm_viewer_api {
17451 pub request_render: ::std::option::Option<
17452 unsafe extern "C" fn(
17453 viewer: *mut tm_viewer_o,
17454 args: *const tm_viewer_render_args_t,
17455 info: *mut tm_viewer_render_info_t,
17456 res_buf: *mut tm_renderer_resource_command_buffer_o,
17457 cmd_buf: *mut tm_renderer_command_buffer_o,
17458 ) -> u32,
17459 >,
17460 pub pipeline: ::std::option::Option<
17461 unsafe extern "C" fn(viewer: *mut tm_viewer_o) -> *mut tm_render_pipeline_i,
17462 >,
17463 pub reset_render_pipeline:
17464 ::std::option::Option<unsafe extern "C" fn(viewer: *mut tm_viewer_o)>,
17465 pub set_render_pipeline_api: ::std::option::Option<
17466 unsafe extern "C" fn(viewer: *mut tm_viewer_o, pipeline_api: *mut tm_render_pipeline_api),
17467 >,
17468 pub screenshot: ::std::option::Option<unsafe extern "C" fn(viewer: *mut tm_viewer_o)>,
17469 pub init_vr:
17470 ::std::option::Option<unsafe extern "C" fn(viewer: *mut tm_viewer_o, activate: bool)>,
17471}
17472#[repr(C)]
17473#[derive(Copy, Clone)]
17474pub struct tm_viewer_manager_api {
17475 pub create_manager: ::std::option::Option<
17476 unsafe extern "C" fn(
17477 allocator: *mut tm_allocator_i,
17478 render_backend: *mut tm_renderer_backend_i,
17479 shader_repository: *mut tm_shader_repository_o,
17480 main_device_affinity: u32,
17481 default_visibility_context: *mut tm_visibility_context_o,
17482 viewport_visibility_flag: u64,
17483 ) -> *mut tm_viewer_manager_o,
17484 >,
17485 pub destroy_manager: ::std::option::Option<
17486 unsafe extern "C" fn(
17487 manager: *mut tm_viewer_manager_o,
17488 res_buf: *mut tm_renderer_resource_command_buffer_o,
17489 ),
17490 >,
17491 pub create: ::std::option::Option<
17492 unsafe extern "C" fn(manager: *mut tm_viewer_manager_o) -> *mut tm_viewer_o,
17493 >,
17494 pub destroy: ::std::option::Option<
17495 unsafe extern "C" fn(
17496 manager: *mut tm_viewer_manager_o,
17497 viewer: *mut tm_viewer_o,
17498 res_buf: *mut tm_renderer_resource_command_buffer_o,
17499 ),
17500 >,
17501 pub viewers: ::std::option::Option<
17502 unsafe extern "C" fn(manager: *mut tm_viewer_manager_o) -> *mut *mut tm_viewer_o,
17503 >,
17504 pub render: ::std::option::Option<
17505 unsafe extern "C" fn(
17506 manager: *mut tm_viewer_manager_o,
17507 shader_context: *const tm_shader_system_context_o,
17508 tt: *const tm_the_truth_o,
17509 frame_params: *const tm_render_pipeline_update_frame_parameters_t,
17510 ),
17511 >,
17512}
17513pub const TM_TT_PROP__CLIPBOARD__OBJECTS: ::std::os::raw::c_int = 0;
17514pub const TM_TT_PROP__CLIPBOARD__IS_CUT: ::std::os::raw::c_int = 1;
17515pub type _bindgen_ty_217 = ::std::os::raw::c_int;
17516#[repr(C)]
17517#[derive(Copy, Clone)]
17518pub struct tm_ui_clipboard_api {
17519 pub setup_the_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
17520 pub cut: ::std::option::Option<
17521 unsafe extern "C" fn(
17522 tt: *mut tm_the_truth_o,
17523 objects: *const tm_tt_id_t,
17524 count: u32,
17525 undo_stack: *mut tm_undo_stack_i,
17526 ),
17527 >,
17528 pub copy: ::std::option::Option<
17529 unsafe extern "C" fn(
17530 tt: *mut tm_the_truth_o,
17531 objects: *const tm_tt_id_t,
17532 count: u32,
17533 undo_stack: *mut tm_undo_stack_i,
17534 ),
17535 >,
17536 pub empty: ::std::option::Option<
17537 unsafe extern "C" fn(tt: *mut tm_the_truth_o, undo_scope: tm_tt_undo_scope_t),
17538 >,
17539 pub cut_objects: ::std::option::Option<
17540 unsafe extern "C" fn(
17541 tt: *const tm_the_truth_o,
17542 ta: *mut tm_temp_allocator_i,
17543 ) -> *const tm_tt_id_t,
17544 >,
17545 pub copied_objects: ::std::option::Option<
17546 unsafe extern "C" fn(
17547 tt: *const tm_the_truth_o,
17548 ta: *mut tm_temp_allocator_i,
17549 ) -> *const tm_tt_id_t,
17550 >,
17551 pub truth: ::std::option::Option<unsafe extern "C" fn() -> *const tm_the_truth_o>,
17552}
17553#[repr(C)]
17554#[derive(Copy, Clone)]
17555pub struct tm_docking_tabwell_o {
17556 _unused: [u8; 0],
17557}
17558#[repr(C)]
17559#[derive(Copy, Clone)]
17560pub struct tm_ui_renderer_o {
17561 _unused: [u8; 0],
17562}
17563pub const tm_tab_focus_event_TM_TAB_FOCUS_EVENT__FOCUS: tm_tab_focus_event = 0;
17564pub const tm_tab_focus_event_TM_TAB_FOCUS_EVENT__OPEN: tm_tab_focus_event = 1;
17565pub type tm_tab_focus_event = ::std::os::raw::c_int;
17566#[repr(C)]
17567#[derive(Copy, Clone)]
17568pub struct tm_tab_vt_root_t {
17569 pub tt: *mut tm_the_truth_o,
17570 pub root: tm_tt_id_t,
17571 pub counter: u64,
17572}
17573#[repr(C)]
17574#[derive(Copy, Clone)]
17575pub struct tm_docking_feed_events_args_t {
17576 pub window_ui: *mut tm_ui_o,
17577 pub window_rect: tm_rect_t,
17578 pub window_dpi_scale_factor: f32,
17579 pub window_has_focus: bool,
17580 pub window_under_cursor: bool,
17581 pub _padding_89: [::std::os::raw::c_char; 2usize],
17582}
17583pub const TM_TT_PROP__DOCKING_SETTINGS__TOOLBARS_SETTINGS: ::std::os::raw::c_int = 0;
17584pub type _bindgen_ty_218 = ::std::os::raw::c_int;
17585#[repr(C)]
17586#[derive(Copy, Clone)]
17587pub struct tm_tab_vt {
17588 pub name: *const ::std::os::raw::c_char,
17589 pub name_hash: u64,
17590 pub create_menu_name:
17591 ::std::option::Option<unsafe extern "C" fn() -> *const ::std::os::raw::c_char>,
17592 pub create: ::std::option::Option<
17593 unsafe extern "C" fn(context: *mut tm_tab_create_context_t) -> *mut tm_tab_i,
17594 >,
17595 pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tab_o)>,
17596 pub ui: ::std::option::Option<
17597 unsafe extern "C" fn(
17598 inst: *mut tm_tab_o,
17599 font: u32,
17600 font_info: *const tm_font_t,
17601 font_scale: f32,
17602 ui: *mut tm_ui_o,
17603 rect: tm_rect_t,
17604 ),
17605 >,
17606 pub hidden_update: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tab_o)>,
17607 pub title: ::std::option::Option<
17608 unsafe extern "C" fn(
17609 inst: *mut tm_tab_o,
17610 ui: *mut tm_ui_o,
17611 ) -> *const ::std::os::raw::c_char,
17612 >,
17613 pub set_root: ::std::option::Option<
17614 unsafe extern "C" fn(inst: *mut tm_tab_o, tt: *mut tm_the_truth_o, root: tm_tt_id_t),
17615 >,
17616 pub root: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tab_o) -> tm_tab_vt_root_t>,
17617 pub can_close: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_tab_o) -> bool>,
17618 pub focus_event: ::std::option::Option<
17619 unsafe extern "C" fn(
17620 inst: *mut tm_tab_o,
17621 from: *mut tm_tab_i,
17622 event: tm_tab_focus_event,
17623 tt: *mut tm_the_truth_o,
17624 object: tm_tt_id_t,
17625 selection: *const tm_tt_id_t,
17626 selection_n: u32,
17627 ),
17628 >,
17629 pub feed_events: ::std::option::Option<
17630 unsafe extern "C" fn(
17631 inst: *mut tm_tab_o,
17632 events: *const tm_input_event_t,
17633 count: u32,
17634 args: *mut tm_docking_feed_events_args_t,
17635 ),
17636 >,
17637 pub process_dropped_os_files: ::std::option::Option<
17638 unsafe extern "C" fn(
17639 inst: *mut tm_tab_o,
17640 ui: *mut tm_ui_o,
17641 files: *mut *mut ::std::os::raw::c_char,
17642 num_files: u32,
17643 ),
17644 >,
17645 pub toolbars: ::std::option::Option<
17646 unsafe extern "C" fn(inst: *mut tm_tab_o, n: *mut u32) -> *mut tm_tab_toolbar_i,
17647 >,
17648 pub cant_be_pinned: bool,
17649 pub run_as_job: bool,
17650 pub _padding_222: [::std::os::raw::c_char; 6usize],
17651}
17652#[repr(C)]
17653#[derive(Copy, Clone)]
17654pub struct tm_tab_i {
17655 pub vt: *mut tm_tab_vt,
17656 pub inst: *mut tm_tab_o,
17657 pub root_id: u64,
17658}
17659pub const tm_docking_tabwell_split_TM_DOCKING_TABWELL_SPLIT_NONE: tm_docking_tabwell_split = 0;
17660pub const tm_docking_tabwell_split_TM_DOCKING_TABWELL_SPLIT_RIGHT: tm_docking_tabwell_split = 1;
17661pub const tm_docking_tabwell_split_TM_DOCKING_TABWELL_SPLIT_LEFT: tm_docking_tabwell_split = 2;
17662pub const tm_docking_tabwell_split_TM_DOCKING_TABWELL_SPLIT_TOP: tm_docking_tabwell_split = 3;
17663pub const tm_docking_tabwell_split_TM_DOCKING_TABWELL_SPLIT_BOTTOM: tm_docking_tabwell_split = 4;
17664pub type tm_docking_tabwell_split = ::std::os::raw::c_int;
17665#[repr(C)]
17666#[derive(Copy, Clone)]
17667pub struct tm_docking_tab_info_t {
17668 pub tab: *mut tm_tab_i,
17669 pub ui: *mut tm_ui_o,
17670 pub visible: bool,
17671 pub _padding_260: [::std::os::raw::c_char; 7usize],
17672 pub last_focused: tm_clock_o,
17673 pub pin_type: u32,
17674 pub _padding_267: [::std::os::raw::c_char; 4usize],
17675}
17676pub const TM_DOCKING_MAX_TABS_IN_TABWELL: ::std::os::raw::c_int = 32;
17677pub type _bindgen_ty_219 = ::std::os::raw::c_int;
17678#[repr(C)]
17679#[derive(Copy, Clone)]
17680pub struct tm_docking_tabwell_info_t {
17681 pub left: *mut tm_docking_tabwell_o,
17682 pub right: *mut tm_docking_tabwell_o,
17683 pub top: *mut tm_docking_tabwell_o,
17684 pub bottom: *mut tm_docking_tabwell_o,
17685 pub bias: f32,
17686 pub num_tabs: u32,
17687 pub tabs: [*mut tm_tab_i; 32usize],
17688 pub last_rect: tm_rect_t,
17689}
17690#[repr(C)]
17691#[derive(Copy, Clone)]
17692pub struct tm_docking_find_tab_t {
17693 pub tab: *mut tm_tab_i,
17694 pub ui: *mut tm_ui_o,
17695}
17696#[repr(C)]
17697#[derive(Copy, Clone)]
17698pub struct tm_docking_find_tab_opt_t {
17699 pub from_tab: *mut tm_tab_i,
17700 pub to_tab: *mut tm_tab_i,
17701 pub in_ui: *mut tm_ui_o,
17702 pub find_asset_tt: *mut tm_the_truth_o,
17703 pub find_asset: tm_tt_id_t,
17704 pub exclude_pinned: bool,
17705 pub _padding_319: [::std::os::raw::c_char; 7usize],
17706}
17707#[repr(C)]
17708#[derive(Copy, Clone)]
17709pub struct tm_docking_api {
17710 pub create_truth_types: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
17711 pub add_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, r: tm_rect_t)>,
17712 pub remove_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
17713 pub root:
17714 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> *mut tm_docking_tabwell_o>,
17715 pub split_tabwell: ::std::option::Option<
17716 unsafe extern "C" fn(
17717 parent: *mut tm_docking_tabwell_o,
17718 split: tm_docking_tabwell_split,
17719 bias: f32,
17720 sibling: *mut *mut tm_docking_tabwell_o,
17721 ) -> *mut tm_docking_tabwell_o,
17722 >,
17723 pub add_tab: ::std::option::Option<
17724 unsafe extern "C" fn(
17725 ui: *mut tm_ui_o,
17726 tabwell: *mut tm_docking_tabwell_o,
17727 tab: *mut tm_tab_i,
17728 ),
17729 >,
17730 pub remove_tab: ::std::option::Option<unsafe extern "C" fn(tab: *mut tm_tab_i)>,
17731 pub move_tab: ::std::option::Option<
17732 unsafe extern "C" fn(
17733 tab: *mut tm_tab_i,
17734 ui: *mut tm_ui_o,
17735 tabwell: *mut tm_docking_tabwell_o,
17736 ),
17737 >,
17738 pub clear: ::std::option::Option<unsafe extern "C" fn()>,
17739 pub feed_events: ::std::option::Option<
17740 unsafe extern "C" fn(
17741 events: *const tm_input_event_t,
17742 count: u32,
17743 args: *mut tm_docking_feed_events_args_t,
17744 ),
17745 >,
17746 pub ui: ::std::option::Option<
17747 unsafe extern "C" fn(
17748 ui: *mut tm_ui_o,
17749 ui_renderer: *mut tm_ui_renderer_o,
17750 rect: tm_rect_t,
17751 font: u32,
17752 font_info: *const tm_font_t,
17753 font_scale: f32,
17754 ui_has_focus: bool,
17755 dropped_files: *const tm_os_dropped_file_t,
17756 num_dropped_files: u32,
17757 context: *mut tm_tab_create_context_t,
17758 settings_tt: *mut tm_the_truth_o,
17759 settings_obj: tm_tt_id_t,
17760 ),
17761 >,
17762 pub is_dragging_tab:
17763 ::std::option::Option<unsafe extern "C" fn(pos: *mut tm_vec2_t) -> *mut tm_tab_i>,
17764 pub should_create_new_ui_for_tab: ::std::option::Option<
17765 unsafe extern "C" fn(
17766 create_context: *mut tm_tab_create_context_t,
17767 rect: *mut tm_rect_t,
17768 ) -> *mut tm_tab_i,
17769 >,
17770 pub focused_tabwell:
17771 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> *mut tm_docking_tabwell_o>,
17772 pub focused_tab: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> *mut tm_tab_i>,
17773 pub tabwell_info: ::std::option::Option<
17774 unsafe extern "C" fn(tw: *mut tm_docking_tabwell_o) -> tm_docking_tabwell_info_t,
17775 >,
17776 pub tab_info: ::std::option::Option<
17777 unsafe extern "C" fn(
17778 tabs: *mut tm_docking_tab_info_t,
17779 n: u32,
17780 filter_ui: *mut tm_ui_o,
17781 filter_visible: bool,
17782 ) -> u32,
17783 >,
17784 pub root_history: ::std::option::Option<
17785 unsafe extern "C" fn(tab: *mut tm_tab_i, n: *mut u32) -> *mut tm_tab_vt_root_t,
17786 >,
17787 pub clear_root_history_with_greater_counter:
17788 ::std::option::Option<unsafe extern "C" fn(tab: *mut tm_tab_i, counter: u64)>,
17789 pub tab_ui: ::std::option::Option<unsafe extern "C" fn(tab: *mut tm_tab_i) -> *mut tm_ui_o>,
17790 pub can_remove_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> bool>,
17791 pub set_focus_tab:
17792 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, tab: *mut tm_tab_i)>,
17793 pub close_focused_tab: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> bool>,
17794 pub close_all_tabs: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
17795 pub send_focus_event: ::std::option::Option<
17796 unsafe extern "C" fn(
17797 from: *mut tm_tab_i,
17798 event: tm_tab_focus_event,
17799 tt: *mut tm_the_truth_o,
17800 object: tm_tt_id_t,
17801 selection: *const tm_tt_id_t,
17802 selection_n: u32,
17803 ),
17804 >,
17805 pub destroy_truth: ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o)>,
17806 pub find_tab: ::std::option::Option<
17807 unsafe extern "C" fn(
17808 type_name_hash: u64,
17809 opt: *const tm_docking_find_tab_opt_t,
17810 ) -> tm_docking_find_tab_t,
17811 >,
17812 pub find_tabs: ::std::option::Option<
17813 unsafe extern "C" fn(
17814 type_name_hash: u64,
17815 ta: *mut tm_temp_allocator_i,
17816 ) -> *mut tm_docking_find_tab_t,
17817 >,
17818 pub pin_type: ::std::option::Option<unsafe extern "C" fn(tab: *mut tm_tab_i) -> u32>,
17819 pub pin_object: ::std::option::Option<
17820 unsafe extern "C" fn(tab: *mut tm_tab_i, tt: *mut tm_the_truth_o, root: tm_tt_id_t),
17821 >,
17822 pub draw_toolbars: ::std::option::Option<
17823 unsafe extern "C" fn(
17824 tab: *mut tm_tab_i,
17825 ui: *mut tm_ui_o,
17826 tab_r: tm_rect_t,
17827 font: u32,
17828 font_info: *const tm_font_t,
17829 font_scale: f32,
17830 settings_tt: *mut tm_the_truth_o,
17831 settings_obj: tm_tt_id_t,
17832 ) -> tm_rect_t,
17833 >,
17834}
17835#[repr(C)]
17836#[derive(Copy, Clone)]
17837pub struct tm_ui_drag_api {
17838 pub start_dragging:
17839 ::std::option::Option<unsafe extern "C" fn(tt: *mut tm_the_truth_o, object: tm_tt_id_t)>,
17840 pub start_dragging_multiple_objects: ::std::option::Option<
17841 unsafe extern "C" fn(
17842 tt: *mut tm_the_truth_o,
17843 objects: *const tm_tt_id_t,
17844 object_count: u64,
17845 ),
17846 >,
17847 pub single_dragged_object:
17848 ::std::option::Option<unsafe extern "C" fn(tt: *const tm_the_truth_o) -> tm_tt_id_t>,
17849 pub all_dragged_objects:
17850 ::std::option::Option<unsafe extern "C" fn(tt: *const tm_the_truth_o) -> *mut tm_tt_id_t>,
17851 pub dragged_truth: ::std::option::Option<unsafe extern "C" fn() -> *const tm_the_truth_o>,
17852 pub stop_dragging: ::std::option::Option<unsafe extern "C" fn()>,
17853}
17854#[repr(C)]
17855#[derive(Copy, Clone)]
17856pub struct tm_font_glyph_t {
17857 pub texture: u32,
17858 pub uv: tm_rect_t,
17859 pub offset: tm_vec2_t,
17860 pub xadvance: f32,
17861 pub glyph_segments_offset: u32,
17862}
17863#[repr(C)]
17864#[derive(Copy, Clone)]
17865pub struct tm_font_glyph_line_segment_t {
17866 pub p0: tm_vec2_t,
17867 pub p1: tm_vec2_t,
17868}
17869#[repr(C)]
17870#[derive(Copy, Clone)]
17871pub struct tm_font_glyph_bezier_segment_t {
17872 pub p0: tm_vec2_t,
17873 pub p1: tm_vec2_t,
17874 pub c: tm_vec2_t,
17875}
17876#[repr(C)]
17877#[derive(Copy, Clone)]
17878pub struct tm_font_range_t {
17879 pub start: u32,
17880 pub n: u32,
17881}
17882pub const TM_FONT_MAX_BAKED_SCALES: ::std::os::raw::c_int = 8;
17883pub type _bindgen_ty_220 = ::std::os::raw::c_int;
17884#[repr(C)]
17885#[derive(Copy, Clone)]
17886pub struct tm_font_t {
17887 pub num_glyphs: u32,
17888 pub _padding_86: [::std::os::raw::c_char; 4usize],
17889 pub glyphs: *mut tm_font_glyph_t,
17890 pub glyphs_segments_size: u32,
17891 pub _padding_93: [::std::os::raw::c_char; 4usize],
17892 pub glyphs_segments: *mut u8,
17893 pub num_ranges: u32,
17894 pub em: f32,
17895 pub ranges: *mut tm_font_range_t,
17896 pub num_font_scales: u32,
17897 pub font_scales: [f32; 8usize],
17898 pub ascent: [f32; 8usize],
17899 pub descent: [f32; 8usize],
17900 pub line_gap: [f32; 8usize],
17901 pub ex: [f32; 8usize],
17902 pub cap_height: [f32; 8usize],
17903 pub _padding_134: [::std::os::raw::c_char; 4usize],
17904}
17905pub const TM_DRAW2D__FEATHER__DEFAULT: ::std::os::raw::c_int = 0;
17906pub const TM_DRAW2D__FEATHER__NONE: ::std::os::raw::c_int = 1;
17907pub type _bindgen_ty_221 = ::std::os::raw::c_int;
17908#[repr(C)]
17909#[derive(Copy, Clone)]
17910pub struct tm_draw2d_style_t {
17911 pub color: tm_color_srgb_t,
17912 pub line_width: f32,
17913 pub feather_width: f32,
17914 pub feather: u32,
17915 pub clip: u32,
17916 pub font: u32,
17917 pub font_info: *const tm_font_t,
17918 pub font_scale: f32,
17919 pub include_alpha: bool,
17920 pub _padding_175: [::std::os::raw::c_char; 3usize],
17921}
17922#[repr(C)]
17923#[derive(Copy, Clone)]
17924pub struct tm_draw2d_vbuffer_t {
17925 pub vbuffer: *mut u8,
17926 pub vbytes: u32,
17927 pub vbytes_allocated: u32,
17928}
17929#[repr(C)]
17930#[derive(Copy, Clone)]
17931pub struct tm_draw2d_ibuffer_t {
17932 pub ibuffer: *mut u32,
17933 pub in_: u32,
17934 pub in_allocated: u32,
17935}
17936pub const TM_DRAW2D_AUX_DATA_TYPE_GRID: ::std::os::raw::c_int = 3;
17937pub type _bindgen_ty_222 = ::std::os::raw::c_int;
17938#[repr(C)]
17939#[derive(Copy, Clone)]
17940pub struct tm_draw2d_aux_data_grid_t {
17941 pub offset: tm_vec2_t,
17942 pub cell_size: f32,
17943 pub thin_lines_color: tm_color_srgb_t,
17944 pub thick_lines_color: tm_color_srgb_t,
17945}
17946#[repr(C)]
17947#[derive(Copy, Clone)]
17948pub struct tm_draw2d_api {
17949 pub add_clip_rect: ::std::option::Option<
17950 unsafe extern "C" fn(vbuffer: *mut tm_draw2d_vbuffer_t, clip: tm_rect_t) -> u32,
17951 >,
17952 pub add_sub_clip_rect: ::std::option::Option<
17953 unsafe extern "C" fn(
17954 vbuffer: *mut tm_draw2d_vbuffer_t,
17955 parent: u32,
17956 clip: tm_rect_t,
17957 ) -> u32,
17958 >,
17959 pub clip_rect: ::std::option::Option<
17960 unsafe extern "C" fn(vbuffer: *mut tm_draw2d_vbuffer_t, clip: u32) -> tm_rect_t,
17961 >,
17962 pub add_font: ::std::option::Option<
17963 unsafe extern "C" fn(vbuffer: *mut tm_draw2d_vbuffer_t, font: *const tm_font_t) -> u32,
17964 >,
17965 pub fill_rect: ::std::option::Option<
17966 unsafe extern "C" fn(
17967 vbuffer: *mut tm_draw2d_vbuffer_t,
17968 ibuffer: *mut tm_draw2d_ibuffer_t,
17969 style: *const tm_draw2d_style_t,
17970 r: tm_rect_t,
17971 ),
17972 >,
17973 pub fill_rect_feathered: ::std::option::Option<
17974 unsafe extern "C" fn(
17975 vbuffer: *mut tm_draw2d_vbuffer_t,
17976 ibuffer: *mut tm_draw2d_ibuffer_t,
17977 style: *const tm_draw2d_style_t,
17978 r: tm_rect_t,
17979 ),
17980 >,
17981 pub stroke_rect: ::std::option::Option<
17982 unsafe extern "C" fn(
17983 vbuffer: *mut tm_draw2d_vbuffer_t,
17984 ibuffer: *mut tm_draw2d_ibuffer_t,
17985 style: *const tm_draw2d_style_t,
17986 r: tm_rect_t,
17987 ),
17988 >,
17989 pub textured_rect: ::std::option::Option<
17990 unsafe extern "C" fn(
17991 vbuffer: *mut tm_draw2d_vbuffer_t,
17992 ibuffer: *mut tm_draw2d_ibuffer_t,
17993 style: *const tm_draw2d_style_t,
17994 r: tm_rect_t,
17995 texture: u32,
17996 uv: tm_rect_t,
17997 ),
17998 >,
17999 pub aux_rect: ::std::option::Option<
18000 unsafe extern "C" fn(
18001 vbuffer: *mut tm_draw2d_vbuffer_t,
18002 ibuffer: *mut tm_draw2d_ibuffer_t,
18003 style: *const tm_draw2d_style_t,
18004 r: tm_rect_t,
18005 aux_data_type: u32,
18006 aux_data: *const ::std::os::raw::c_void,
18007 aux_data_size: u32,
18008 ),
18009 >,
18010 pub gradient_rect: ::std::option::Option<
18011 unsafe extern "C" fn(
18012 vbuffer: *mut tm_draw2d_vbuffer_t,
18013 ibuffer: *mut tm_draw2d_ibuffer_t,
18014 style: *const tm_draw2d_style_t,
18015 r: tm_rect_t,
18016 colors: *mut tm_color_srgb_t,
18017 ),
18018 >,
18019 pub fill_rounded_rect: ::std::option::Option<
18020 unsafe extern "C" fn(
18021 vbuffer: *mut tm_draw2d_vbuffer_t,
18022 ibuffer: *mut tm_draw2d_ibuffer_t,
18023 style: *const tm_draw2d_style_t,
18024 r: tm_rect_t,
18025 radius: f32,
18026 ),
18027 >,
18028 pub stroke_rounded_rect: ::std::option::Option<
18029 unsafe extern "C" fn(
18030 vbuffer: *mut tm_draw2d_vbuffer_t,
18031 ibuffer: *mut tm_draw2d_ibuffer_t,
18032 style: *const tm_draw2d_style_t,
18033 r: tm_rect_t,
18034 radius: f32,
18035 ),
18036 >,
18037 pub fill_circle: ::std::option::Option<
18038 unsafe extern "C" fn(
18039 vbuffer: *mut tm_draw2d_vbuffer_t,
18040 ibuffer: *mut tm_draw2d_ibuffer_t,
18041 style: *const tm_draw2d_style_t,
18042 pos: tm_vec2_t,
18043 radius: f32,
18044 ),
18045 >,
18046 pub stroke_circle: ::std::option::Option<
18047 unsafe extern "C" fn(
18048 vbuffer: *mut tm_draw2d_vbuffer_t,
18049 ibuffer: *mut tm_draw2d_ibuffer_t,
18050 style: *const tm_draw2d_style_t,
18051 pos: tm_vec2_t,
18052 radius: f32,
18053 ),
18054 >,
18055 pub fill_triangles: ::std::option::Option<
18056 unsafe extern "C" fn(
18057 vbuffer: *mut tm_draw2d_vbuffer_t,
18058 ibuffer: *mut tm_draw2d_ibuffer_t,
18059 style: *const tm_draw2d_style_t,
18060 points: *const tm_vec2_t,
18061 num_points: u32,
18062 indices: *const u32,
18063 num_indices: u32,
18064 ),
18065 >,
18066 pub fill_convex_polyline: ::std::option::Option<
18067 unsafe extern "C" fn(
18068 vbuffer: *mut tm_draw2d_vbuffer_t,
18069 ibuffer: *mut tm_draw2d_ibuffer_t,
18070 style: *const tm_draw2d_style_t,
18071 points: *const tm_vec2_t,
18072 num_points: u32,
18073 ),
18074 >,
18075 pub stroke_polyline: ::std::option::Option<
18076 unsafe extern "C" fn(
18077 vbuffer: *mut tm_draw2d_vbuffer_t,
18078 ibuffer: *mut tm_draw2d_ibuffer_t,
18079 style: *const tm_draw2d_style_t,
18080 points: *const tm_vec2_t,
18081 num_points: u32,
18082 closed: bool,
18083 ),
18084 >,
18085 pub stroke_polyline_widths: ::std::option::Option<
18086 unsafe extern "C" fn(
18087 vbuffer: *mut tm_draw2d_vbuffer_t,
18088 ibuffer: *mut tm_draw2d_ibuffer_t,
18089 style: *const tm_draw2d_style_t,
18090 points: *const tm_vec2_t,
18091 widths: *const f32,
18092 num_points: u32,
18093 closed: bool,
18094 ),
18095 >,
18096 pub bezier_path: ::std::option::Option<
18097 unsafe extern "C" fn(
18098 curve: *const tm_vec2_t,
18099 num_curve_points: u32,
18100 tolerance: f32,
18101 ta: *mut tm_temp_allocator_i,
18102 num_points: *mut u32,
18103 allocated_points: *mut u32,
18104 ) -> *mut tm_vec2_t,
18105 >,
18106 pub fill_convex_bezier: ::std::option::Option<
18107 unsafe extern "C" fn(
18108 vbuffer: *mut tm_draw2d_vbuffer_t,
18109 ibuffer: *mut tm_draw2d_ibuffer_t,
18110 style: *const tm_draw2d_style_t,
18111 curve: *const tm_vec2_t,
18112 num_curve_points: u32,
18113 tolerance: f32,
18114 ta: *mut tm_temp_allocator_i,
18115 ),
18116 >,
18117 pub stroke_bezier: ::std::option::Option<
18118 unsafe extern "C" fn(
18119 vbuffer: *mut tm_draw2d_vbuffer_t,
18120 ibuffer: *mut tm_draw2d_ibuffer_t,
18121 style: *const tm_draw2d_style_t,
18122 curve: *const tm_vec2_t,
18123 num_curve_points: u32,
18124 closed: bool,
18125 tolerance: f32,
18126 ta: *mut tm_temp_allocator_i,
18127 ),
18128 >,
18129 pub draw_glyphs: ::std::option::Option<
18130 unsafe extern "C" fn(
18131 vbuffer: *mut tm_draw2d_vbuffer_t,
18132 ibuffer: *mut tm_draw2d_ibuffer_t,
18133 style: *const tm_draw2d_style_t,
18134 pos: tm_vec2_t,
18135 glyphs: *const u16,
18136 num_glyphs: u32,
18137 ) -> f32,
18138 >,
18139 pub draw_glyphs_rotated: ::std::option::Option<
18140 unsafe extern "C" fn(
18141 vbuffer: *mut tm_draw2d_vbuffer_t,
18142 ibuffer: *mut tm_draw2d_ibuffer_t,
18143 style: *const tm_draw2d_style_t,
18144 pos: tm_vec2_t,
18145 glyphs: *const u16,
18146 num_glyphs: u32,
18147 x: tm_vec2_t,
18148 y: tm_vec2_t,
18149 ) -> f32,
18150 >,
18151 pub merge_buffers: ::std::option::Option<
18152 unsafe extern "C" fn(
18153 to_vbuffer: *mut tm_draw2d_vbuffer_t,
18154 to_ibuffers: *mut *mut tm_draw2d_ibuffer_t,
18155 from_vbuffer: *const tm_draw2d_vbuffer_t,
18156 from_ibuffers: *const *mut tm_draw2d_ibuffer_t,
18157 num_ibuffers: u32,
18158 ),
18159 >,
18160}
18161#[repr(C)]
18162#[derive(Copy, Clone)]
18163pub struct tm_font_api {
18164 pub glyphs: ::std::option::Option<
18165 unsafe extern "C" fn(
18166 font: *const tm_font_t,
18167 glyphs: *mut u16,
18168 codepoints: *const u32,
18169 size: u32,
18170 ),
18171 >,
18172 pub metrics: ::std::option::Option<
18173 unsafe extern "C" fn(
18174 font: *const tm_font_t,
18175 font_scale: f32,
18176 glyphs: *const u16,
18177 num_glyphs: u32,
18178 ) -> tm_rect_t,
18179 >,
18180 pub metrics_array: ::std::option::Option<
18181 unsafe extern "C" fn(
18182 font: *const tm_font_t,
18183 font_scale: f32,
18184 pos_x: *mut f32,
18185 rects: *mut tm_rect_t,
18186 glyphs: *const u16,
18187 num_glyphs: u32,
18188 ) -> tm_rect_t,
18189 >,
18190 pub line: ::std::option::Option<
18191 unsafe extern "C" fn(
18192 font: *const tm_font_t,
18193 font_scale: f32,
18194 line_width: *mut f32,
18195 glyphs: *const u16,
18196 num_glyphs: u32,
18197 ) -> u32,
18198 >,
18199 pub rescale_font:
18200 ::std::option::Option<unsafe extern "C" fn(font: *mut tm_font_t, scale_factor: f32)>,
18201 pub glyph_set_from_scale: ::std::option::Option<
18202 unsafe extern "C" fn(
18203 font: *const tm_font_t,
18204 font_scale: f32,
18205 new_font_scale: *mut f32,
18206 ) -> u32,
18207 >,
18208 pub first_glyph_of_set: ::std::option::Option<
18209 unsafe extern "C" fn(font: *const tm_font_t, set: u32) -> *const tm_font_glyph_t,
18210 >,
18211}
18212pub const tm_draw2d_primitive_TM_DRAW2D_PRIMITIVE_TRIANGLE: tm_draw2d_primitive = 67108864;
18213pub const tm_draw2d_primitive_TM_DRAW2D_PRIMITIVE_RECT: tm_draw2d_primitive = 134217728;
18214pub const tm_draw2d_primitive_TM_DRAW2D_PRIMITIVE_RECT_TEXTURED: tm_draw2d_primitive = 201326592;
18215pub const tm_draw2d_primitive_TM_DRAW2D_PRIMITIVE_RECT_AUX_DATA: tm_draw2d_primitive = 268435456;
18216pub const tm_draw2d_primitive_TM_DRAW2D_PRIMITIVE_GLYPH: tm_draw2d_primitive = -2147483648;
18217pub type tm_draw2d_primitive = ::std::os::raw::c_int;
18218pub const tm_draw2d_corner_TM_DRAW2D_CORNER_TL: tm_draw2d_corner = 0;
18219pub const tm_draw2d_corner_TM_DRAW2D_CORNER_TR: tm_draw2d_corner = 16777216;
18220pub const tm_draw2d_corner_TM_DRAW2D_CORNER_BL: tm_draw2d_corner = 33554432;
18221pub const tm_draw2d_corner_TM_DRAW2D_CORNER_BR: tm_draw2d_corner = 50331648;
18222pub type tm_draw2d_corner = ::std::os::raw::c_int;
18223#[repr(C)]
18224#[derive(Copy, Clone)]
18225pub struct tm_draw2d_triangle_vertex_t {
18226 pub pos: tm_vec2_t,
18227 pub color: tm_color_srgb_t,
18228 pub clip: u32,
18229}
18230#[repr(C)]
18231#[derive(Copy, Clone)]
18232pub struct tm_draw2d_rect_vertex_t {
18233 pub rect: tm_rect_t,
18234 pub color: tm_color_srgb_t,
18235 pub clip: u32,
18236}
18237#[repr(C)]
18238#[derive(Copy, Clone)]
18239pub struct tm_draw2d_rect_textured_vertex_t {
18240 pub rect: tm_rect_t,
18241 pub tint: tm_color_srgb_t,
18242 pub clip: u32,
18243 pub texture: u32,
18244 pub uv: tm_rect_t,
18245}
18246#[repr(C)]
18247#[derive(Copy, Clone)]
18248pub struct tm_draw2d_glyph_range_vertex_t {
18249 pub origin: tm_vec2_t,
18250 pub color: tm_color_srgb_t,
18251 pub scale: f32,
18252 pub clip: u32,
18253 pub font: u32,
18254 pub x: tm_vec2_t,
18255 pub y: tm_vec2_t,
18256}
18257#[repr(C)]
18258#[derive(Copy, Clone)]
18259pub struct tm_draw2d_glyph_vertex_t {
18260 pub x_offset: f32,
18261 pub glyph: u32,
18262}
18263#[repr(C)]
18264#[derive(Copy, Clone)]
18265pub struct font_library_t {
18266 _unused: [u8; 0],
18267}
18268extern "C" {
18269 pub fn create_font_library(allocator: *mut tm_allocator_i) -> *mut font_library_t;
18270}
18271extern "C" {
18272 pub fn destroy_font_library(lib: *mut font_library_t);
18273}
18274extern "C" {
18275 pub fn font_library_add_ttf(
18276 lib: *mut font_library_t,
18277 file: *const ::std::os::raw::c_char,
18278 ) -> u32;
18279}
18280extern "C" {
18281 pub fn font_library_lookup(
18282 lib: *const font_library_t,
18283 font: u32,
18284 size: u32,
18285 display_dpi: f32,
18286 ) -> *const tm_font_t;
18287}
18288extern "C" {
18289 pub fn font_library_generate(
18290 lib: *mut font_library_t,
18291 tm_res_buf_api: *mut tm_renderer_resource_command_buffer_api,
18292 font_texture_id: u32,
18293 texture_handle: *mut u32,
18294 res_buf: *mut tm_renderer_resource_command_buffer_o,
18295 device_affinity: u32,
18296 font: u32,
18297 size: u32,
18298 scales: *const f32,
18299 n_scales: u32,
18300 display_dpi: f32,
18301 ) -> *mut tm_font_t;
18302}
18303pub const tm_gizmo__move_result_TM_GIZMO__MOVE_RESULT__NO_MOVE: tm_gizmo__move_result = 0;
18304pub const tm_gizmo__move_result_TM_GIZMO__MOVE_RESULT__PREVIEW: tm_gizmo__move_result = 1;
18305pub const tm_gizmo__move_result_TM_GIZMO__MOVE_RESULT__COMMIT: tm_gizmo__move_result = 2;
18306pub const tm_gizmo__move_result_TM_GIZMO__MOVE_RESULT__DUPLICATE: tm_gizmo__move_result = 3;
18307pub type tm_gizmo__move_result = ::std::os::raw::c_int;
18308#[repr(C)]
18309#[derive(Copy, Clone)]
18310pub struct tm_gizmo__move_settings_t {
18311 pub use_world_axes: bool,
18312 pub grid_snap: bool,
18313 pub _padding_36: [::std::os::raw::c_char; 2usize],
18314 pub grid_size: f32,
18315}
18316#[repr(C)]
18317#[derive(Copy, Clone)]
18318pub struct tm_gizmo__rotate_settings_t {
18319 pub use_world_axes: bool,
18320 pub snap: bool,
18321 pub _padding_50: [::std::os::raw::c_char; 2usize],
18322 pub snap_angle: f32,
18323}
18324#[repr(C)]
18325#[derive(Copy, Clone)]
18326pub struct tm_gizmo__scale_settings_t {
18327 pub absolute_handle: bool,
18328}
18329#[repr(C)]
18330#[derive(Copy, Clone)]
18331pub struct tm_gizmo__grid_settings_t {
18332 pub visibile: bool,
18333 pub _padding_69: [::std::os::raw::c_char; 3usize],
18334 pub transform: tm_transform_t,
18335}
18336#[repr(C)]
18337#[derive(Copy, Clone)]
18338pub struct tm_gizmo_api {
18339 pub move_: ::std::option::Option<
18340 unsafe extern "C" fn(
18341 ui: *mut tm_ui_o,
18342 uistyle: *const tm_ui_style_t,
18343 pbuf: *mut tm_primitive_drawer_buffer_t,
18344 vbuf: *mut tm_primitive_drawer_buffer_t,
18345 camera: *const tm_camera_t,
18346 viewport: tm_rect_t,
18347 tm: *const tm_transform_t,
18348 local: *mut tm_transform_t,
18349 settings: *const tm_gizmo__move_settings_t,
18350 grid_settings: *mut tm_gizmo__grid_settings_t,
18351 ) -> tm_gizmo__move_result,
18352 >,
18353 pub rotate: ::std::option::Option<
18354 unsafe extern "C" fn(
18355 ui: *mut tm_ui_o,
18356 uistyle: *const tm_ui_style_t,
18357 pbuf: *mut tm_primitive_drawer_buffer_t,
18358 vbuf: *mut tm_primitive_drawer_buffer_t,
18359 camera: *const tm_camera_t,
18360 viewport: tm_rect_t,
18361 tm: *const tm_transform_t,
18362 local: *mut tm_transform_t,
18363 settings: *const tm_gizmo__rotate_settings_t,
18364 ) -> tm_gizmo__move_result,
18365 >,
18366 pub scale: ::std::option::Option<
18367 unsafe extern "C" fn(
18368 ui: *mut tm_ui_o,
18369 uistyle: *const tm_ui_style_t,
18370 pbuf: *mut tm_primitive_drawer_buffer_t,
18371 vbuf: *mut tm_primitive_drawer_buffer_t,
18372 camera: *const tm_camera_t,
18373 viewport: tm_rect_t,
18374 tm: *const tm_transform_t,
18375 local: *mut tm_transform_t,
18376 settings: *const tm_gizmo__scale_settings_t,
18377 ) -> tm_gizmo__move_result,
18378 >,
18379}
18380#[repr(C)]
18381#[derive(Copy, Clone)]
18382pub struct tm_ui_modal_api {
18383 pub message_box: ::std::option::Option<
18384 unsafe extern "C" fn(
18385 title: *const ::std::os::raw::c_char,
18386 text: *const ::std::os::raw::c_char,
18387 buttons: *mut *const ::std::os::raw::c_char,
18388 num_buttons: u32,
18389 ) -> u32,
18390 >,
18391 pub progress_box: ::std::option::Option<
18392 unsafe extern "C" fn(
18393 title: *const ::std::os::raw::c_char,
18394 text: *const ::std::os::raw::c_char,
18395 buttons: *mut *const ::std::os::raw::c_char,
18396 num_buttons: u32,
18397 callback: ::std::option::Option<
18398 unsafe extern "C" fn(data: *mut ::std::os::raw::c_void) -> f32,
18399 >,
18400 callback_data: *mut ::std::os::raw::c_void,
18401 ) -> u32,
18402 >,
18403 pub textinput_box: ::std::option::Option<
18404 unsafe extern "C" fn(
18405 title: *const ::std::os::raw::c_char,
18406 text: *const ::std::os::raw::c_char,
18407 buttons: *mut *const ::std::os::raw::c_char,
18408 num_buttons: u32,
18409 output_text: *mut ::std::os::raw::c_char,
18410 text_max_length: u32,
18411 ) -> u32,
18412 >,
18413}
18414#[repr(C)]
18415#[derive(Copy, Clone)]
18416pub struct tm_shape3d_api {
18417 pub circle: ::std::option::Option<
18418 unsafe extern "C" fn(w: *mut tm_vec3_t, c: tm_vec3_t, n: tm_vec3_t, r: f32, num: u32),
18419 >,
18420 pub arc: ::std::option::Option<
18421 unsafe extern "C" fn(
18422 w: *mut tm_vec3_t,
18423 c: tm_vec3_t,
18424 n: tm_vec3_t,
18425 r: f32,
18426 x: tm_vec3_t,
18427 start_angle: f32,
18428 stop_angle: f32,
18429 num: u32,
18430 ),
18431 >,
18432 pub box_: ::std::option::Option<
18433 unsafe extern "C" fn(
18434 w: *mut tm_vec3_t,
18435 c: tm_vec3_t,
18436 x: tm_vec3_t,
18437 y: tm_vec3_t,
18438 z: tm_vec3_t,
18439 ),
18440 >,
18441 pub box_ib_n: u32,
18442 pub _padding_27: [::std::os::raw::c_char; 4usize],
18443 pub box_ib: *mut u32,
18444}
18445pub const TM_TT_PROP__TOOLBAR_SETTINGS__ID: ::std::os::raw::c_int = 0;
18446pub const TM_TT_PROP__TOOLBAR_SETTINGS__CONTAINER: ::std::os::raw::c_int = 1;
18447pub const TM_TT_PROP__TOOLBAR_SETTINGS__ANCHOR: ::std::os::raw::c_int = 2;
18448pub const TM_TT_PROP__TOOLBAR_SETTINGS__ANCHOR_ORDER: ::std::os::raw::c_int = 3;
18449pub const TM_TT_PROP__TOOLBAR_SETTINGS__POSITION: ::std::os::raw::c_int = 4;
18450pub type _bindgen_ty_223 = ::std::os::raw::c_int;
18451pub const tm_toolbar_container_TM_TOOLBAR_CONTAINER_TOP: tm_toolbar_container = 0;
18452pub const tm_toolbar_container_TM_TOOLBAR_CONTAINER_BOTTOM: tm_toolbar_container = 1;
18453pub const tm_toolbar_container_TM_TOOLBAR_CONTAINER_LEFT: tm_toolbar_container = 2;
18454pub const tm_toolbar_container_TM_TOOLBAR_CONTAINER_RIGHT: tm_toolbar_container = 3;
18455pub const tm_toolbar_container_TM_TOOLBAR_CONTAINER_COUNT: tm_toolbar_container = 4;
18456pub type tm_toolbar_container = ::std::os::raw::c_int;
18457pub const tm_toolbar_direction_TM_TOOLBAR_DIRECTION_HORIZONTAL: tm_toolbar_direction = 0;
18458pub const tm_toolbar_direction_TM_TOOLBAR_DIRECTION_VERTICAL: tm_toolbar_direction = 1;
18459pub type tm_toolbar_direction = ::std::os::raw::c_int;
18460pub const tm_toolbar_anchor_TM_TOOLBAR_ANCHOR_NONE: tm_toolbar_anchor = 0;
18461pub const tm_toolbar_anchor_TM_TOOLBAR_ANCHOR_END: tm_toolbar_anchor = 1;
18462pub const tm_toolbar_anchor_TM_TOOLBAR_ANCHOR_BEGINNING: tm_toolbar_anchor = 2;
18463pub type tm_toolbar_anchor = ::std::os::raw::c_int;
18464pub const tm_toolbar_size_mode_TM_TOOLBAR_SIZE_MODE_FIXED: tm_toolbar_size_mode = 0;
18465pub const tm_toolbar_size_mode_TM_TOOLBAR_SIZE_MODE_FILL: tm_toolbar_size_mode = 1;
18466pub type tm_toolbar_size_mode = ::std::os::raw::c_int;
18467#[repr(C)]
18468#[derive(Copy, Clone)]
18469pub struct tm_tab_toolbar_i {
18470 pub id: u64,
18471 pub state: [u8; 4096usize],
18472 pub ui: ::std::option::Option<
18473 unsafe extern "C" fn(
18474 state: *mut ::std::os::raw::c_void,
18475 ui: *mut tm_ui_o,
18476 uistyle: *const tm_ui_style_t,
18477 toolbar_r: tm_rect_t,
18478 direction: tm_toolbar_direction,
18479 ) -> tm_rect_t,
18480 >,
18481 pub default_container: tm_toolbar_container,
18482 pub default_anchor: tm_toolbar_anchor,
18483 pub force_anchor: bool,
18484 pub _padding_69: [::std::os::raw::c_char; 3usize],
18485 pub num_tool_ids: u32,
18486 pub tool_ids: *const u64,
18487 pub size_mode: tm_toolbar_size_mode,
18488 pub fill_min_size: f32,
18489 pub only_horizontal: bool,
18490 pub _padding_86: [::std::os::raw::c_char; 7usize],
18491}
18492#[repr(C)]
18493#[derive(Copy, Clone)]
18494pub struct tm_ttf_range_t {
18495 pub start: u32,
18496 pub n: u32,
18497}
18498#[repr(C)]
18499#[derive(Copy, Clone)]
18500pub struct tm_ttf_baker_api {
18501 pub bake: ::std::option::Option<
18502 unsafe extern "C" fn(
18503 ttf: *mut u8,
18504 font_size: f32,
18505 font_scales: *const f32,
18506 num_scales: u32,
18507 texture_identifier: u32,
18508 pixels: *mut u8,
18509 width: u32,
18510 height: u32,
18511 ranges: *mut tm_ttf_range_t,
18512 num_ranges: u32,
18513 extract_glyph_segments: bool,
18514 allocator: *mut tm_allocator_i,
18515 font_bytes: *mut u64,
18516 ) -> *mut tm_font_t,
18517 >,
18518}
18519pub const tm_ui_color_TM_UI_COLOR_CHROME_BACKGROUND: tm_ui_color = 0;
18520pub const tm_ui_color_TM_UI_COLOR_WINDOW_BACKGROUND: tm_ui_color = 1;
18521pub const tm_ui_color_TM_UI_COLOR_WINDOW_TITLE: tm_ui_color = 2;
18522pub const tm_ui_color_TM_UI_COLOR_WINDOW_SELECTION: tm_ui_color = 3;
18523pub const tm_ui_color_TM_UI_COLOR_WINDOW_STATUS_BAR: tm_ui_color = 4;
18524pub const tm_ui_color_TM_UI_COLOR_WINDOW_STATUS_BAR_TEXT: tm_ui_color = 5;
18525pub const tm_ui_color_TM_UI_COLOR_SELECTION: tm_ui_color = 6;
18526pub const tm_ui_color_TM_UI_COLOR_SELECTION_NO_FOCUS: tm_ui_color = 7;
18527pub const tm_ui_color_TM_UI_COLOR_SELECTION_HOVER: tm_ui_color = 8;
18528pub const tm_ui_color_TM_UI_COLOR_TEXT: tm_ui_color = 9;
18529pub const tm_ui_color_TM_UI_COLOR_DISABLED_TEXT: tm_ui_color = 10;
18530pub const tm_ui_color_TM_UI_COLOR_SELECTED_TEXT: tm_ui_color = 11;
18531pub const tm_ui_color_TM_UI_COLOR_ERROR_TEXT: tm_ui_color = 12;
18532pub const tm_ui_color_TM_UI_COLOR_FILTERED_TEXT: tm_ui_color = 13;
18533pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_BASE: tm_ui_color = 14;
18534pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_ADDED: tm_ui_color = 14;
18535pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_ASSET: tm_ui_color = 15;
18536pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_INHERITED: tm_ui_color = 16;
18537pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_INSTANTIATED: tm_ui_color = 17;
18538pub const tm_ui_color_TM_UI_COLOR_PROTOTYPE_RELATION_REMOVED: tm_ui_color = 18;
18539pub const tm_ui_color_TM_UI_COLOR_THIN_LINES: tm_ui_color = 19;
18540pub const tm_ui_color_TM_UI_COLOR_THIN_LINES_HOVER: tm_ui_color = 20;
18541pub const tm_ui_color_TM_UI_COLOR_ICONS: tm_ui_color = 21;
18542pub const tm_ui_color_TM_UI_COLOR_ICONS_HOVER: tm_ui_color = 22;
18543pub const tm_ui_color_TM_UI_COLOR_ICONS_ACTIVE: tm_ui_color = 23;
18544pub const tm_ui_color_TM_UI_COLOR_CONTROL_BACKGROUND: tm_ui_color = 24;
18545pub const tm_ui_color_TM_UI_COLOR_CONTROL_BACKGROUND_HOVER: tm_ui_color = 25;
18546pub const tm_ui_color_TM_UI_COLOR_CONTROL_BACKGROUND_ACTIVE: tm_ui_color = 26;
18547pub const tm_ui_color_TM_UI_COLOR_MENU_BACKGROUND: tm_ui_color = 27;
18548pub const tm_ui_color_TM_UI_COLOR_MENU_SELECTED: tm_ui_color = 28;
18549pub const tm_ui_color_TM_UI_COLOR_MENU_MENUBAR_HOVER: tm_ui_color = 29;
18550pub const tm_ui_color_TM_UI_COLOR_TOOLTIP_BACKGROUND: tm_ui_color = 30;
18551pub const tm_ui_color_TM_UI_COLOR_TOOLTIP_BORDER: tm_ui_color = 31;
18552pub const tm_ui_color_TM_UI_COLOR_TOOLTIP_TEXT: tm_ui_color = 32;
18553pub const tm_ui_color_TM_UI_COLOR_VIEWPORT_BACKGROUND: tm_ui_color = 33;
18554pub const tm_ui_color_TM_UI_COLOR_VIEWPORT_SELECTION: tm_ui_color = 34;
18555pub const tm_ui_color_TM_UI_COLOR_VIEWPORT_GRID_THICK_LINES: tm_ui_color = 35;
18556pub const tm_ui_color_TM_UI_COLOR_VIEWPORT_GRID_THIN_LINES: tm_ui_color = 36;
18557pub const tm_ui_color_TM_UI_COLOR_LINK: tm_ui_color = 37;
18558pub const tm_ui_color_TM_UI_COLOR_LINK_HOVER: tm_ui_color = 38;
18559pub const tm_ui_color_TM_UI_COLOR_NODE_BACKGROUND: tm_ui_color = 39;
18560pub const tm_ui_color_TM_UI_COLOR_NODE_GPU_BACKGROUND: tm_ui_color = 40;
18561pub const tm_ui_color_TM_UI_COLOR_NODE_GPU_BACKGROUND_WATERMARK_TEXT: tm_ui_color = 41;
18562pub const tm_ui_color_TM_UI_COLOR_GRAPH_GRID_THIN_LINES: tm_ui_color = 42;
18563pub const tm_ui_color_TM_UI_COLOR_GRAPH_GRID_THICK_LINES: tm_ui_color = 43;
18564pub const tm_ui_color_TM_UI_COLOR_SCROLLBAR_BACKGROUND: tm_ui_color = 44;
18565pub const tm_ui_color_TM_UI_COLOR_SCROLLBAR: tm_ui_color = 45;
18566pub const tm_ui_color_TM_UI_COLOR_SCROLLBAR_HOVER: tm_ui_color = 46;
18567pub const tm_ui_color_TM_UI_COLOR_SCROLLBAR_ACTIVE: tm_ui_color = 47;
18568pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_DRAG_HANDLE: tm_ui_color = 48;
18569pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_DROP_ZONE: tm_ui_color = 49;
18570pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_THIN_LINES: tm_ui_color = 50;
18571pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_THIN_LINES_HOVER: tm_ui_color = 51;
18572pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_CONTROL_BACKGROUND: tm_ui_color = 52;
18573pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_CONTROL_BACKGROUND_HOVER: tm_ui_color = 53;
18574pub const tm_ui_color_TM_UI_COLOR_TOOLBAR_CONTROL_BACKGROUND_ACTIVE: tm_ui_color = 54;
18575pub const tm_ui_color_TM_UI_COLOR_COUNT: tm_ui_color = 55;
18576pub type tm_ui_color = ::std::os::raw::c_int;
18577pub const tm_ui_metric_TM_UI_METRIC_LINE_WIDTH: tm_ui_metric = 0;
18578pub const tm_ui_metric_TM_UI_METRIC_WINDOW_TITLE_HEIGHT: tm_ui_metric = 1;
18579pub const tm_ui_metric_TM_UI_METRIC_WINDOW_MIN_SIZE: tm_ui_metric = 2;
18580pub const tm_ui_metric_TM_UI_METRIC_MENUBAR_HEIGHT: tm_ui_metric = 3;
18581pub const tm_ui_metric_TM_UI_METRIC_MENU_ITEM_HEIGHT: tm_ui_metric = 4;
18582pub const tm_ui_metric_TM_UI_METRIC_SCROLLBAR_WIDTH: tm_ui_metric = 5;
18583pub const tm_ui_metric_TM_UI_METRIC_MARGIN: tm_ui_metric = 6;
18584pub const tm_ui_metric_TM_UI_METRIC_TEXT_MARGIN: tm_ui_metric = 7;
18585pub const tm_ui_metric_TM_UI_METRIC_SPLITTER_SIZE: tm_ui_metric = 8;
18586pub const tm_ui_metric_TM_UI_METRIC_TOOLTIP_HOVER_TIME: tm_ui_metric = 9;
18587pub const tm_ui_metric_TM_UI_METRIC_TOOLTIP_WIDTH: tm_ui_metric = 10;
18588pub const tm_ui_metric_TM_UI_METRIC_TREE_ARROW_SCALE: tm_ui_metric = 11;
18589pub const tm_ui_metric_TM_UI_METRIC_TREE_ICON_WIDTH: tm_ui_metric = 12;
18590pub const tm_ui_metric_TM_UI_METRIC_TOOLBAR_HEIGHT: tm_ui_metric = 13;
18591pub const tm_ui_metric_TM_UI_METRIC_TOOLBAR_OUTER_MARGIN: tm_ui_metric = 14;
18592pub const tm_ui_metric_TM_UI_METRIC_TOOLBAR_INNER_MARGIN: tm_ui_metric = 15;
18593pub const tm_ui_metric_TM_UI_METRIC_COUNT: tm_ui_metric = 16;
18594pub type tm_ui_metric = ::std::os::raw::c_int;
18595pub const TM_TT_PROP__UI_THEME__NAME: ::std::os::raw::c_int = 0;
18596pub const TM_TT_PROP__UI_THEME__BASED_ON: ::std::os::raw::c_int = 1;
18597pub const TM_TT_PROP__UI_THEME__COLORS: ::std::os::raw::c_int = 2;
18598pub type _bindgen_ty_224 = ::std::os::raw::c_int;
18599pub const TM_TT_PROP__UI_THEME_COLOR__NAME: ::std::os::raw::c_int = 0;
18600pub const TM_TT_PROP__UI_THEME_COLOR__COLOR: ::std::os::raw::c_int = 1;
18601pub type _bindgen_ty_225 = ::std::os::raw::c_int;
18602pub const tm_ui_default_theme_TM_UI__DEFAULT_THEME__DARK: tm_ui_default_theme = 0;
18603pub const tm_ui_default_theme_TM_UI__DEFAULT_THEME__LIGHT: tm_ui_default_theme = 1;
18604pub type tm_ui_default_theme = ::std::os::raw::c_int;
18605#[repr(C)]
18606#[derive(Copy, Clone)]
18607pub struct tm_ui_theme_t {
18608 pub based_on: tm_ui_default_theme,
18609 pub _padding_241: [::std::os::raw::c_char; 4usize],
18610 pub tt: *mut tm_the_truth_o,
18611 pub id: tm_tt_id_t,
18612}
18613pub const tm_ui_buffer_TM_UI_BUFFER_MAIN: tm_ui_buffer = 0;
18614pub const tm_ui_buffer_TM_UI_BUFFER_OVERLAY: tm_ui_buffer = 1;
18615pub type tm_ui_buffer = ::std::os::raw::c_int;
18616#[repr(C)]
18617#[derive(Copy, Clone)]
18618pub struct tm_ui_style_t {
18619 pub clip: u32,
18620 pub font: u32,
18621 pub font_info: *const tm_font_t,
18622 pub font_scale: f32,
18623 pub buffer: tm_ui_buffer,
18624 pub feather_width: f32,
18625 pub _padding_276: [::std::os::raw::c_char; 4usize],
18626}
18627pub const tm_ui_window_event_TM_UI_WINDOW_EVENT_NONE: tm_ui_window_event = 0;
18628pub const tm_ui_window_event_TM_UI_WINDOW_EVENT_ACTIVATE: tm_ui_window_event = 1;
18629pub const tm_ui_window_event_TM_UI_WINDOW_EVENT_MOVE: tm_ui_window_event = 2;
18630pub const tm_ui_window_event_TM_UI_WINDOW_EVENT_RESIZE: tm_ui_window_event = 3;
18631pub const tm_ui_window_event_TM_UI_WINDOW_EVENT_CLOSE: tm_ui_window_event = 4;
18632pub type tm_ui_window_event = ::std::os::raw::c_int;
18633#[repr(C)]
18634#[derive(Copy, Clone)]
18635pub struct tm_ui_window_t {
18636 pub id: u64,
18637 pub title: *const ::std::os::raw::c_char,
18638 pub can_move: bool,
18639 pub can_resize: bool,
18640 pub can_close: bool,
18641 pub _padding_306: [::std::os::raw::c_char; 5usize],
18642}
18643#[repr(C)]
18644#[derive(Copy, Clone)]
18645pub struct tm_ui_scrollbar_t {
18646 pub id: u64,
18647 pub rect: tm_rect_t,
18648 pub min: f32,
18649 pub max: f32,
18650 pub size: f32,
18651 pub _padding_319: [::std::os::raw::c_char; 4usize],
18652}
18653pub const tm_ui_scrollbar_visibility_TM_UI_SCROLLBAR_VISIBILITY_WHEN_NEEDED:
18654 tm_ui_scrollbar_visibility = 0;
18655pub const tm_ui_scrollbar_visibility_TM_UI_SCROLLBAR_VISIBILITY_NEVER: tm_ui_scrollbar_visibility =
18656 1;
18657pub const tm_ui_scrollbar_visibility_TM_UI_SCROLLBAR_VISIBILITY_ALWAYS: tm_ui_scrollbar_visibility =
18658 2;
18659pub type tm_ui_scrollbar_visibility = ::std::os::raw::c_int;
18660#[repr(C)]
18661#[derive(Copy, Clone)]
18662pub struct tm_ui_scrollview_t {
18663 pub id: u64,
18664 pub rect: tm_rect_t,
18665 pub canvas: tm_rect_t,
18666 pub visibility_x: tm_ui_scrollbar_visibility,
18667 pub visibility_y: tm_ui_scrollbar_visibility,
18668}
18669#[repr(C)]
18670#[derive(Copy, Clone)]
18671pub struct tm_ui_label_t {
18672 pub id: u64,
18673 pub rect: tm_rect_t,
18674 pub text: *const ::std::os::raw::c_char,
18675 pub tooltip: *const ::std::os::raw::c_char,
18676}
18677pub const tm_ui_align_TM_UI_ALIGN_LEFT: tm_ui_align = 0;
18678pub const tm_ui_align_TM_UI_ALIGN_CENTER: tm_ui_align = 1;
18679pub const tm_ui_align_TM_UI_ALIGN_RIGHT: tm_ui_align = 2;
18680pub type tm_ui_align = ::std::os::raw::c_int;
18681#[repr(C)]
18682#[derive(Copy, Clone)]
18683pub struct tm_ui_text_t {
18684 pub rect: tm_rect_t,
18685 pub text: *const ::std::os::raw::c_char,
18686 pub color: *const tm_color_srgb_t,
18687 pub align: tm_ui_align,
18688 pub _padding_373: [::std::os::raw::c_char; 4usize],
18689}
18690#[repr(C)]
18691#[derive(Copy, Clone)]
18692pub struct tm_ui_link_t {
18693 pub id: u64,
18694 pub rect: tm_rect_t,
18695 pub text: *const ::std::os::raw::c_char,
18696 pub color: *const tm_color_srgb_t,
18697 pub align: tm_ui_align,
18698 pub _padding_385: [::std::os::raw::c_char; 4usize],
18699}
18700#[repr(C)]
18701#[derive(Copy, Clone)]
18702pub struct tm_ui_button_t {
18703 pub id: u64,
18704 pub rect: tm_rect_t,
18705 pub is_disabled: bool,
18706 pub hide_background: bool,
18707 pub hide_margins: bool,
18708 pub _padding_396: [::std::os::raw::c_char; 5usize],
18709 pub text: *const ::std::os::raw::c_char,
18710 pub text_color: *const tm_color_srgb_t,
18711 pub tooltip: *const ::std::os::raw::c_char,
18712 pub text_offset_y: f32,
18713 pub _padding_401: [::std::os::raw::c_char; 4usize],
18714}
18715#[repr(C)]
18716#[derive(Copy, Clone)]
18717pub struct tm_ui_checkbox_t {
18718 pub id: u64,
18719 pub rect: tm_rect_t,
18720 pub is_disabled: bool,
18721 pub _padding_410: [::std::os::raw::c_char; 7usize],
18722 pub text: *const ::std::os::raw::c_char,
18723 pub tooltip: *const ::std::os::raw::c_char,
18724}
18725#[repr(C)]
18726#[derive(Copy, Clone)]
18727pub struct tm_ui_radio_t {
18728 pub id: u64,
18729 pub rect: tm_rect_t,
18730 pub is_disabled: bool,
18731 pub _padding_421: [::std::os::raw::c_char; 7usize],
18732 pub text: *const ::std::os::raw::c_char,
18733}
18734#[repr(C)]
18735#[derive(Copy, Clone)]
18736pub struct tm_ui_progress_t {
18737 pub id: u64,
18738 pub rect: tm_rect_t,
18739 pub text: *const ::std::os::raw::c_char,
18740}
18741#[repr(C)]
18742#[derive(Copy, Clone)]
18743pub struct tm_ui_slider_t {
18744 pub id: u64,
18745 pub rect: tm_rect_t,
18746 pub is_disabled: bool,
18747 pub _padding_441: [::std::os::raw::c_char; 3usize],
18748 pub min: f32,
18749 pub max: f32,
18750 pub step: f32,
18751}
18752pub const TM_UI_SPINNER__DECIMALS__DEFAULT: ::std::os::raw::c_int = 0;
18753pub const TM_UI_SPINNER__DECIMALS__0: ::std::os::raw::c_int = 1;
18754pub const TM_UI_SPINNER__DECIMALS__1: ::std::os::raw::c_int = 2;
18755pub const TM_UI_SPINNER__DECIMALS__2: ::std::os::raw::c_int = 3;
18756pub const TM_UI_SPINNER__DECIMALS__3: ::std::os::raw::c_int = 4;
18757pub const TM_UI_SPINNER__DECIMALS__4: ::std::os::raw::c_int = 5;
18758pub const TM_UI_SPINNER__DECIMALS__5: ::std::os::raw::c_int = 6;
18759pub type _bindgen_ty_226 = ::std::os::raw::c_int;
18760#[repr(C)]
18761#[derive(Copy, Clone)]
18762pub struct tm_ui_spinner_t {
18763 pub id: u64,
18764 pub rect: tm_rect_t,
18765 pub is_disabled: bool,
18766 pub _padding_473: [::std::os::raw::c_char; 7usize],
18767 pub min: f64,
18768 pub max: f64,
18769 pub value_per_pixel: f64,
18770 pub decimals: u32,
18771 pub _padding_483: [::std::os::raw::c_char; 4usize],
18772 pub tooltip: *const ::std::os::raw::c_char,
18773}
18774#[repr(C)]
18775#[derive(Copy, Clone)]
18776pub struct tm_ui_dropdown_t {
18777 pub id: u64,
18778 pub rect: tm_rect_t,
18779 pub is_disabled: bool,
18780 pub _padding_493: [::std::os::raw::c_char; 7usize],
18781 pub items: *mut *const ::std::os::raw::c_char,
18782 pub tooltips: *mut *const ::std::os::raw::c_char,
18783 pub num_items: u32,
18784 pub _padding_501: [::std::os::raw::c_char; 4usize],
18785}
18786#[repr(C)]
18787#[derive(Copy, Clone)]
18788pub struct tm_ui_textedit_t {
18789 pub id: u64,
18790 pub rect: tm_rect_t,
18791 pub is_disabled: bool,
18792 pub is_password: bool,
18793 pub _padding_511: [::std::os::raw::c_char; 6usize],
18794 pub default_text: *const ::std::os::raw::c_char,
18795 pub select_all_on_mouse_activate: bool,
18796 pub scroll_to_end: bool,
18797 pub select_all_on_startup: bool,
18798 pub _padding_528: [::std::os::raw::c_char; 1usize],
18799 pub select: tm_ui_textedit_t__bindgen_ty_1,
18800}
18801#[repr(C)]
18802#[derive(Copy, Clone)]
18803pub struct tm_ui_textedit_t__bindgen_ty_1 {
18804 pub all: bool,
18805 pub range: bool,
18806 pub _padding_538: [::std::os::raw::c_char; 2usize],
18807 pub start: u32,
18808 pub end: u32,
18809}
18810pub const TM_UI_MENU_DEFAULT_ID_BASE: ::std::os::raw::c_int = -268435456;
18811pub type _bindgen_ty_227 = ::std::os::raw::c_int;
18812#[repr(C)]
18813#[derive(Copy, Clone)]
18814pub struct tm_ui_menu_item_t {
18815 pub text: *const ::std::os::raw::c_char,
18816 pub accelerator: *const ::std::os::raw::c_char,
18817 pub tooltip: *const ::std::os::raw::c_char,
18818 pub item_id: u64,
18819 pub toggle: *mut bool,
18820 pub is_checked: bool,
18821 pub has_submenu: bool,
18822 pub is_disabled: bool,
18823 pub is_hidden: bool,
18824 pub _padding_581: [::std::os::raw::c_char; 4usize],
18825}
18826#[repr(C)]
18827#[derive(Copy, Clone)]
18828pub struct tm_ui_menubar_t {
18829 pub id: u64,
18830 pub pos: tm_vec2_t,
18831 pub width: f32,
18832 pub _padding_594: [::std::os::raw::c_char; 4usize],
18833 pub items: *const tm_ui_menu_item_t,
18834 pub num_items: u32,
18835 pub _padding_601: [::std::os::raw::c_char; 4usize],
18836}
18837#[repr(C)]
18838#[derive(Copy, Clone)]
18839pub struct tm_ui_menu_t {
18840 pub pos: tm_vec2_t,
18841 pub items: *const tm_ui_menu_item_t,
18842 pub num_items: u32,
18843 pub _padding_615: [::std::os::raw::c_char; 4usize],
18844}
18845#[repr(C)]
18846#[derive(Copy, Clone)]
18847pub struct tm_ui_menu_result_t {
18848 pub selected_item_id: u64,
18849 pub selected_text: *const ::std::os::raw::c_char,
18850 pub highlighted_item_id: u64,
18851 pub submenu_pos: tm_vec2_t,
18852}
18853#[repr(C)]
18854#[derive(Copy, Clone)]
18855pub struct tm_ui_treeitem_t {
18856 pub id: u64,
18857 pub rect: tm_rect_t,
18858 pub text: *const ::std::os::raw::c_char,
18859}
18860pub const tm_ui_tab_pin_type_TM_UI_TAB_PIN_TYPE__NONE: tm_ui_tab_pin_type = 0;
18861pub const tm_ui_tab_pin_type_TM_UI_TAB_PIN_TYPE__OBJECT: tm_ui_tab_pin_type = 1;
18862pub const tm_ui_tab_pin_type_TM_UI_TAB_PIN_TYPE__TABS: tm_ui_tab_pin_type = 2;
18863pub const tm_ui_tab_pin_type_TM_UI_TAB_PIN_TYPE__WINDOWS: tm_ui_tab_pin_type = 3;
18864pub type tm_ui_tab_pin_type = ::std::os::raw::c_int;
18865#[repr(C)]
18866#[derive(Copy, Clone)]
18867pub struct tm_ui_tabbar_item_t {
18868 pub text: *const ::std::os::raw::c_char,
18869 pub id: u64,
18870 pub has_close_box: bool,
18871 pub has_pin: bool,
18872 pub _padding_669: [::std::os::raw::c_char; 2usize],
18873 pub pin_type: tm_ui_tab_pin_type,
18874}
18875#[repr(C)]
18876#[derive(Copy, Clone)]
18877pub struct tm_ui_tabbar_t {
18878 pub id: u64,
18879 pub rect: tm_rect_t,
18880 pub items: *mut tm_ui_tabbar_item_t,
18881 pub num_items: u32,
18882 pub can_drag: bool,
18883 pub can_drag_off: bool,
18884 pub is_dragging_external_tab: bool,
18885 pub _padding_695: [::std::os::raw::c_char; 1usize],
18886 pub dragged_external_item: *mut *const ::std::os::raw::c_char,
18887}
18888pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_NONE: tm_ui_tabbar_event = 0;
18889pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_SELECT: tm_ui_tabbar_event = 1;
18890pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_CLOSE: tm_ui_tabbar_event = 2;
18891pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_REORDER: tm_ui_tabbar_event = 3;
18892pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_DRAG_OFF: tm_ui_tabbar_event = 4;
18893pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_EXTERNAL_DROP: tm_ui_tabbar_event = 5;
18894pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_CONTEXT_MENU: tm_ui_tabbar_event = 6;
18895pub const tm_ui_tabbar_event_TM_UI_TABBAR_EVENT_PIN: tm_ui_tabbar_event = 7;
18896pub type tm_ui_tabbar_event = ::std::os::raw::c_int;
18897#[repr(C)]
18898#[derive(Copy, Clone)]
18899pub struct tm_ui_tabbar_result_t {
18900 pub event: tm_ui_tabbar_event,
18901 pub item: u32,
18902 pub new_position: u32,
18903 pub drag_offset: tm_vec2_t,
18904}
18905#[repr(C)]
18906#[derive(Copy, Clone)]
18907pub struct tm_ui_draggedtab_t {
18908 pub id: u64,
18909 pub rect: tm_rect_t,
18910 pub text: *const ::std::os::raw::c_char,
18911 pub has_close_box: bool,
18912 pub has_pin: bool,
18913 pub _padding_753: [::std::os::raw::c_char; 2usize],
18914 pub pin_type: tm_ui_tab_pin_type,
18915}
18916#[repr(C)]
18917#[derive(Copy, Clone)]
18918pub struct tm_ui_splitter_t {
18919 pub id: u64,
18920 pub rect: tm_rect_t,
18921 pub min_size: f32,
18922 pub _padding_764: [::std::os::raw::c_char; 4usize],
18923}
18924#[repr(C)]
18925#[derive(Copy, Clone)]
18926pub struct tm_ui_titlebar_t {
18927 pub id: u64,
18928 pub rect: tm_rect_t,
18929 pub has_focus: bool,
18930 pub is_maximized: bool,
18931 pub _padding_780: [::std::os::raw::c_char; 6usize],
18932 pub caption: *const ::std::os::raw::c_char,
18933 pub icon_texture: u32,
18934 pub _padding_787: [::std::os::raw::c_char; 4usize],
18935}
18936#[repr(C)]
18937#[derive(Copy, Clone)]
18938pub struct tm_ui_titlebar_result_t {
18939 pub close_window: bool,
18940 pub restore_window: bool,
18941 pub maximize_window: bool,
18942 pub minimize_window: bool,
18943 pub content_r: tm_rect_t,
18944}
18945pub const tm_ui_cursor_TM_UI_CURSOR_DEFAULT: tm_ui_cursor = 0;
18946pub const tm_ui_cursor_TM_UI_CURSOR_POINTER: tm_ui_cursor = 1;
18947pub const tm_ui_cursor_TM_UI_CURSOR_TEXT: tm_ui_cursor = 2;
18948pub const tm_ui_cursor_TM_UI_CURSOR_MOVE: tm_ui_cursor = 3;
18949pub const tm_ui_cursor_TM_UI_CURSOR_ALL_SCROLL: tm_ui_cursor = 4;
18950pub const tm_ui_cursor_TM_UI_CURSOR_COL_RESIZE: tm_ui_cursor = 5;
18951pub const tm_ui_cursor_TM_UI_CURSOR_ROW_RESIZE: tm_ui_cursor = 6;
18952pub const tm_ui_cursor_TM_UI_CURSOR_EW_RESIZE: tm_ui_cursor = 7;
18953pub const tm_ui_cursor_TM_UI_CURSOR_NS_RESIZE: tm_ui_cursor = 8;
18954pub const tm_ui_cursor_TM_UI_CURSOR_NESW_RESIZE: tm_ui_cursor = 9;
18955pub const tm_ui_cursor_TM_UI_CURSOR_NWSE_RESIZE: tm_ui_cursor = 10;
18956pub const tm_ui_cursor_TM_UI_CURSOR_DRAG_AND_DROP: tm_ui_cursor = 11;
18957pub const tm_ui_cursor_TM_UI_CURSOR_NONE: tm_ui_cursor = 12;
18958pub type tm_ui_cursor = ::std::os::raw::c_int;
18959#[repr(C)]
18960#[derive(Copy, Clone)]
18961pub struct tm_ui_buffers_t {
18962 pub vbuffer: *mut tm_draw2d_vbuffer_t,
18963 pub ibuffers: *mut *mut tm_draw2d_ibuffer_t,
18964 pub input: *mut tm_ui_input_state_t,
18965 pub activation: *mut tm_ui_activation_t,
18966 pub active_data: *mut ::std::os::raw::c_void,
18967 pub lost_focus_data: *mut ::std::os::raw::c_void,
18968 pub metrics: *mut f32,
18969 pub colors: *mut tm_color_srgb_t,
18970 pub allocator: *mut tm_allocator_i,
18971}
18972pub const tm_ui_interaction_result_t_TM_UI_INTERACTION_RESULT_NO_CHANGE:
18973 tm_ui_interaction_result_t = 0;
18974pub const tm_ui_interaction_result_t_TM_UI_INTERACTION_RESULT_TRANSIENT_CHANGE:
18975 tm_ui_interaction_result_t = 1;
18976pub const tm_ui_interaction_result_t_TM_UI_INTERACTION_RESULT_COMMIT: tm_ui_interaction_result_t =
18977 2;
18978pub const tm_ui_interaction_result_t_TM_UI_INTERACTION_RESULT_ABORT: tm_ui_interaction_result_t = 3;
18979pub type tm_ui_interaction_result_t = ::std::os::raw::c_int;
18980#[repr(C)]
18981#[derive(Copy, Clone)]
18982pub struct tm_ui_mouse_help_texts_t {
18983 pub left_mouse_pressed: *const ::std::os::raw::c_char,
18984 pub middle_mouse_pressed: *const ::std::os::raw::c_char,
18985 pub right_mouse_pressed: *const ::std::os::raw::c_char,
18986 pub double_click: *const ::std::os::raw::c_char,
18987 pub triple_click: *const ::std::os::raw::c_char,
18988}
18989#[repr(C)]
18990#[derive(Copy, Clone)]
18991pub struct tm_ui_api {
18992 pub create: ::std::option::Option<unsafe extern "C" fn(a: *mut tm_allocator_i) -> *mut tm_ui_o>,
18993 pub destroy: ::std::option::Option<unsafe extern "C" fn(i: *mut tm_ui_o)>,
18994 pub clear: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
18995 pub release_held_state: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
18996 pub set_window_status: ::std::option::Option<
18997 unsafe extern "C" fn(
18998 ui: *mut tm_ui_o,
18999 rect: tm_rect_t,
19000 has_focus: bool,
19001 is_under_cursor: bool,
19002 ),
19003 >,
19004 pub window_rect: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_rect_t>,
19005 pub set_feather_width:
19006 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, feather_width: f32)>,
19007 pub feather_width: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> f32>,
19008 pub feed_events: ::std::option::Option<
19009 unsafe extern "C" fn(
19010 ui: *mut tm_ui_o,
19011 events: *const tm_input_event_t,
19012 count: u32,
19013 offset: tm_vec2_t,
19014 scale: tm_vec2_t,
19015 ),
19016 >,
19017 pub feed_external_edit_key:
19018 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, key: u32)>,
19019 pub merge_overlay: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
19020 pub begin_overlay_draw_scope:
19021 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
19022 pub end_overlay_draw_scope:
19023 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
19024 pub drawing_in_overlay: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> bool>,
19025 pub cursor: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_ui_cursor>,
19026 pub window: ::std::option::Option<
19027 unsafe extern "C" fn(
19028 ui: *mut tm_ui_o,
19029 style: *const tm_ui_style_t,
19030 c: *const tm_ui_window_t,
19031 rect: *mut tm_rect_t,
19032 content_rect: *mut tm_rect_t,
19033 ) -> tm_ui_window_event,
19034 >,
19035 pub pane: ::std::option::Option<
19036 unsafe extern "C" fn(ui: *mut tm_ui_o, style: *const tm_ui_style_t, rect: tm_rect_t),
19037 >,
19038 pub scrollbar_x: ::std::option::Option<
19039 unsafe extern "C" fn(
19040 ui: *mut tm_ui_o,
19041 uistyle: *const tm_ui_style_t,
19042 c: *const tm_ui_scrollbar_t,
19043 scroll: *mut f32,
19044 ) -> bool,
19045 >,
19046 pub scrollbar_y: ::std::option::Option<
19047 unsafe extern "C" fn(
19048 ui: *mut tm_ui_o,
19049 uistyle: *const tm_ui_style_t,
19050 c: *const tm_ui_scrollbar_t,
19051 scroll: *mut f32,
19052 ) -> bool,
19053 >,
19054 pub begin_scrollview: ::std::option::Option<
19055 unsafe extern "C" fn(
19056 ui: *mut tm_ui_o,
19057 style: *const tm_ui_style_t,
19058 c: *const tm_ui_scrollview_t,
19059 scroll_x: *mut f32,
19060 scroll_y: *mut f32,
19061 content_rect: *mut tm_rect_t,
19062 ) -> bool,
19063 >,
19064 pub end_scrollview: ::std::option::Option<
19065 unsafe extern "C" fn(ui: *mut tm_ui_o, scroll_x: *mut f32, scroll_y: *mut f32) -> bool,
19066 >,
19067 pub label: ::std::option::Option<
19068 unsafe extern "C" fn(
19069 ui: *mut tm_ui_o,
19070 style: *const tm_ui_style_t,
19071 c: *const tm_ui_label_t,
19072 ) -> tm_rect_t,
19073 >,
19074 pub text: ::std::option::Option<
19075 unsafe extern "C" fn(
19076 ui: *mut tm_ui_o,
19077 style: *const tm_ui_style_t,
19078 c: *const tm_ui_text_t,
19079 ) -> tm_rect_t,
19080 >,
19081 pub text_metrics: ::std::option::Option<
19082 unsafe extern "C" fn(
19083 ui: *mut tm_ui_o,
19084 style: *const tm_ui_style_t,
19085 text: *const ::std::os::raw::c_char,
19086 ) -> tm_rect_t,
19087 >,
19088 pub wrapped_text: ::std::option::Option<
19089 unsafe extern "C" fn(
19090 ui: *mut tm_ui_o,
19091 style: *const tm_ui_style_t,
19092 c: *const tm_ui_text_t,
19093 ) -> tm_rect_t,
19094 >,
19095 pub link: ::std::option::Option<
19096 unsafe extern "C" fn(
19097 ui: *mut tm_ui_o,
19098 style: *const tm_ui_style_t,
19099 c: *const tm_ui_link_t,
19100 ) -> bool,
19101 >,
19102 pub tooltip: ::std::option::Option<
19103 unsafe extern "C" fn(
19104 ui: *mut tm_ui_o,
19105 style: *const tm_ui_style_t,
19106 text: *const ::std::os::raw::c_char,
19107 ),
19108 >,
19109 pub button: ::std::option::Option<
19110 unsafe extern "C" fn(
19111 ui: *mut tm_ui_o,
19112 style: *const tm_ui_style_t,
19113 c: *const tm_ui_button_t,
19114 ) -> bool,
19115 >,
19116 pub pushbutton: ::std::option::Option<
19117 unsafe extern "C" fn(
19118 ui: *mut tm_ui_o,
19119 style: *const tm_ui_style_t,
19120 c: *const tm_ui_button_t,
19121 pressed: *mut bool,
19122 ) -> bool,
19123 >,
19124 pub checkbox: ::std::option::Option<
19125 unsafe extern "C" fn(
19126 ui: *mut tm_ui_o,
19127 style: *const tm_ui_style_t,
19128 c: *const tm_ui_checkbox_t,
19129 checked: *mut bool,
19130 ) -> bool,
19131 >,
19132 pub radio: ::std::option::Option<
19133 unsafe extern "C" fn(
19134 ui: *mut tm_ui_o,
19135 style: *const tm_ui_style_t,
19136 c: *const tm_ui_radio_t,
19137 checked: bool,
19138 ) -> bool,
19139 >,
19140 pub progress: ::std::option::Option<
19141 unsafe extern "C" fn(
19142 ui: *mut tm_ui_o,
19143 style: *const tm_ui_style_t,
19144 c: *const tm_ui_progress_t,
19145 fraction: f32,
19146 ),
19147 >,
19148 pub slider: ::std::option::Option<
19149 unsafe extern "C" fn(
19150 ui: *mut tm_ui_o,
19151 style: *const tm_ui_style_t,
19152 c: *const tm_ui_slider_t,
19153 val: *mut f32,
19154 initial: *mut f32,
19155 ) -> tm_ui_interaction_result_t,
19156 >,
19157 pub spinner: ::std::option::Option<
19158 unsafe extern "C" fn(
19159 ui: *mut tm_ui_o,
19160 style: *const tm_ui_style_t,
19161 c: *const tm_ui_spinner_t,
19162 val: *mut f64,
19163 initial: *mut f64,
19164 ) -> tm_ui_interaction_result_t,
19165 >,
19166 pub dropdown: ::std::option::Option<
19167 unsafe extern "C" fn(
19168 ui: *mut tm_ui_o,
19169 style: *const tm_ui_style_t,
19170 c: *const tm_ui_dropdown_t,
19171 selected: *mut u32,
19172 ) -> bool,
19173 >,
19174 pub textedit: ::std::option::Option<
19175 unsafe extern "C" fn(
19176 ui: *mut tm_ui_o,
19177 style: *const tm_ui_style_t,
19178 c: *const tm_ui_textedit_t,
19179 s: *mut ::std::os::raw::c_char,
19180 maxlen: u32,
19181 ) -> bool,
19182 >,
19183 pub menubar: ::std::option::Option<
19184 unsafe extern "C" fn(
19185 ui: *mut tm_ui_o,
19186 style: *const tm_ui_style_t,
19187 c: *const tm_ui_menubar_t,
19188 ) -> tm_ui_menu_result_t,
19189 >,
19190 pub menu: ::std::option::Option<
19191 unsafe extern "C" fn(
19192 ui: *mut tm_ui_o,
19193 style: *const tm_ui_style_t,
19194 c: *const tm_ui_menu_t,
19195 ) -> tm_ui_menu_result_t,
19196 >,
19197 pub sort_menu_items:
19198 ::std::option::Option<unsafe extern "C" fn(items: *mut tm_ui_menu_item_t, count: u32)>,
19199 pub tabbar: ::std::option::Option<
19200 unsafe extern "C" fn(
19201 ui: *mut tm_ui_o,
19202 style: *const tm_ui_style_t,
19203 c: *const tm_ui_tabbar_t,
19204 selected: *mut u32,
19205 ) -> tm_ui_tabbar_result_t,
19206 >,
19207 pub draggedtab: ::std::option::Option<
19208 unsafe extern "C" fn(
19209 ui: *mut tm_ui_o,
19210 style: *const tm_ui_style_t,
19211 c: *const tm_ui_draggedtab_t,
19212 ),
19213 >,
19214 pub splitter_x: ::std::option::Option<
19215 unsafe extern "C" fn(
19216 ui: *mut tm_ui_o,
19217 uistyle: *const tm_ui_style_t,
19218 c: *const tm_ui_splitter_t,
19219 bias: *mut f32,
19220 content_left: *mut tm_rect_t,
19221 content_right: *mut tm_rect_t,
19222 ) -> bool,
19223 >,
19224 pub splitter_x_rects: ::std::option::Option<
19225 unsafe extern "C" fn(
19226 c: *const tm_ui_splitter_t,
19227 bias: f32,
19228 content_left: *mut tm_rect_t,
19229 content_right: *mut tm_rect_t,
19230 ),
19231 >,
19232 pub splitter_y: ::std::option::Option<
19233 unsafe extern "C" fn(
19234 ui: *mut tm_ui_o,
19235 uistyle: *const tm_ui_style_t,
19236 c: *const tm_ui_splitter_t,
19237 bias: *mut f32,
19238 content_top: *mut tm_rect_t,
19239 content_bottom: *mut tm_rect_t,
19240 ) -> bool,
19241 >,
19242 pub splitter_y_rects: ::std::option::Option<
19243 unsafe extern "C" fn(
19244 c: *const tm_ui_splitter_t,
19245 bias: f32,
19246 content_top: *mut tm_rect_t,
19247 content_bottom: *mut tm_rect_t,
19248 ),
19249 >,
19250 pub titlebar: ::std::option::Option<
19251 unsafe extern "C" fn(
19252 ui: *mut tm_ui_o,
19253 uistyle: *const tm_ui_style_t,
19254 c: *const tm_ui_titlebar_t,
19255 ) -> tm_ui_titlebar_result_t,
19256 >,
19257 pub grow_buffer: ::std::option::Option<
19258 unsafe extern "C" fn(ui: *mut tm_ui_o, b: tm_ui_buffer, vbytes: u32, ibytes: u32),
19259 >,
19260 pub buffers: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_ui_buffers_t>,
19261 pub make_id: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> u64>,
19262 pub last_id: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> u64>,
19263 pub create_fixed_id_range:
19264 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, size: u64) -> u64>,
19265 pub set_id: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64) -> u64>,
19266 pub set_cursor:
19267 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, cursor: tm_ui_cursor)>,
19268 pub is_hovering: ::std::option::Option<
19269 unsafe extern "C" fn(ui: *mut tm_ui_o, r: tm_rect_t, clip: u32) -> bool,
19270 >,
19271 pub set_responder_chain_root:
19272 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
19273 pub begin_responder_scope:
19274 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
19275 pub end_responder_scope: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
19276 pub in_responder_chain:
19277 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64) -> bool>,
19278 pub is_first_responder:
19279 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64) -> bool>,
19280 pub set_responder_chain: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
19281 pub responder_chain:
19282 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, count: *mut u32) -> *mut u64>,
19283 pub is_responder_chain_empty:
19284 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> bool>,
19285 pub focus_on_mouse_press: ::std::option::Option<
19286 unsafe extern "C" fn(ui: *mut tm_ui_o, r: tm_rect_t, id: u64) -> bool,
19287 >,
19288 pub consume_key:
19289 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, keyboard_item: u32)>,
19290 pub begin_tab_scope:
19291 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64) -> bool>,
19292 pub end_tab_scope: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o)>,
19293 pub focus_on_tab:
19294 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64) -> bool>,
19295 pub set_tab_focus_disabled:
19296 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, tab_focus_disabled: bool)>,
19297 pub set_active: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, id: u64)>,
19298 pub to_draw_style: ::std::option::Option<
19299 unsafe extern "C" fn(
19300 ui: *mut tm_ui_o,
19301 style: *mut tm_draw2d_style_t,
19302 uistyle: *const tm_ui_style_t,
19303 ) -> *mut tm_draw2d_style_t,
19304 >,
19305 pub set_cache: ::std::option::Option<
19306 unsafe extern "C" fn(ui: *mut tm_ui_o, key: u64, carray: *mut ::std::os::raw::c_char),
19307 >,
19308 pub lookup_cache: ::std::option::Option<
19309 unsafe extern "C" fn(ui: *mut tm_ui_o, key: u64) -> *mut ::std::os::raw::c_char,
19310 >,
19311 pub left_mouse_pressed: ::std::option::Option<
19312 unsafe extern "C" fn(ui: *mut tm_ui_o, help_text: *const ::std::os::raw::c_char) -> bool,
19313 >,
19314 pub middle_mouse_pressed: ::std::option::Option<
19315 unsafe extern "C" fn(ui: *mut tm_ui_o, help_text: *const ::std::os::raw::c_char) -> bool,
19316 >,
19317 pub right_mouse_pressed: ::std::option::Option<
19318 unsafe extern "C" fn(ui: *mut tm_ui_o, help_text: *const ::std::os::raw::c_char) -> bool,
19319 >,
19320 pub double_click: ::std::option::Option<
19321 unsafe extern "C" fn(ui: *mut tm_ui_o, help_text: *const ::std::os::raw::c_char) -> bool,
19322 >,
19323 pub triple_click: ::std::option::Option<
19324 unsafe extern "C" fn(ui: *mut tm_ui_o, help_text: *const ::std::os::raw::c_char) -> bool,
19325 >,
19326 pub get_mouse_help_texts:
19327 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_ui_mouse_help_texts_t>,
19328 pub theme: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_ui_theme_t>,
19329 pub set_theme:
19330 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, theme: tm_ui_theme_t)>,
19331 pub create_custom_theme: ::std::option::Option<
19332 unsafe extern "C" fn(ui: *mut tm_ui_o, tt: *mut tm_the_truth_o) -> tm_ui_theme_t,
19333 >,
19334 pub set_parent_ui:
19335 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o, parent_ui: *mut tm_ui_o)>,
19336 pub fork: ::std::option::Option<unsafe extern "C" fn(main: *mut tm_ui_o) -> *mut tm_ui_o>,
19337 pub join: ::std::option::Option<unsafe extern "C" fn(main: *mut tm_ui_o, fork: *mut tm_ui_o)>,
19338 pub main_ui: ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> *mut tm_ui_o>,
19339}
19340#[repr(C)]
19341#[derive(Copy, Clone)]
19342pub struct tm_ui_activation_t {
19343 pub active: u64,
19344 pub lost_focus: u64,
19345 pub hover: u64,
19346 pub hover_in_overlay: bool,
19347 pub _padding_39: [::std::os::raw::c_char; 7usize],
19348 pub next_hover: u64,
19349 pub next_hover_in_overlay: bool,
19350 pub _padding_42: [::std::os::raw::c_char; 7usize],
19351 pub sub_hover: u64,
19352 pub next_sub_hover: u64,
19353 pub hover_time: f32,
19354 pub _padding_48: [::std::os::raw::c_char; 4usize],
19355 pub hover_at_time: f64,
19356 pub tooltip: u64,
19357 pub tooltip_position: tm_vec2_t,
19358 pub tooltip_time: f64,
19359 pub next_hover_window: u64,
19360 pub hover_window: u64,
19361 pub next_hover_scrollview: u64,
19362 pub hover_scrollview: u64,
19363 pub menu_level: u32,
19364 pub _padding_87: [::std::os::raw::c_char; 4usize],
19365}
19366pub const tm_ui_edit_key_TM_UI_EDIT_KEY_NONE: tm_ui_edit_key = 0;
19367pub const tm_ui_edit_key_TM_UI_EDIT_KEY_LEFT: tm_ui_edit_key = 1;
19368pub const tm_ui_edit_key_TM_UI_EDIT_KEY_RIGHT: tm_ui_edit_key = 2;
19369pub const tm_ui_edit_key_TM_UI_EDIT_KEY_UP: tm_ui_edit_key = 3;
19370pub const tm_ui_edit_key_TM_UI_EDIT_KEY_DOWN: tm_ui_edit_key = 4;
19371pub const tm_ui_edit_key_TM_UI_EDIT_KEY_TAB: tm_ui_edit_key = 5;
19372pub const tm_ui_edit_key_TM_UI_EDIT_KEY_ENTER: tm_ui_edit_key = 6;
19373pub const tm_ui_edit_key_TM_UI_EDIT_KEY_END: tm_ui_edit_key = 7;
19374pub const tm_ui_edit_key_TM_UI_EDIT_KEY_HOME: tm_ui_edit_key = 8;
19375pub const tm_ui_edit_key_TM_UI_EDIT_KEY_DELETE: tm_ui_edit_key = 9;
19376pub const tm_ui_edit_key_TM_UI_EDIT_KEY_BACKSPACE: tm_ui_edit_key = 10;
19377pub const tm_ui_edit_key_TM_UI_EDIT_KEY_ESCAPE: tm_ui_edit_key = 11;
19378pub const tm_ui_edit_key_TM_UI_EDIT_KEY_SELECT_ALL: tm_ui_edit_key = 12;
19379pub const tm_ui_edit_key_TM_UI_EDIT_KEY_CUT: tm_ui_edit_key = 13;
19380pub const tm_ui_edit_key_TM_UI_EDIT_KEY_COPY: tm_ui_edit_key = 14;
19381pub const tm_ui_edit_key_TM_UI_EDIT_KEY_PASTE: tm_ui_edit_key = 15;
19382pub const tm_ui_edit_key_TM_UI_EDIT_KEY_DUPLICATE: tm_ui_edit_key = 16;
19383pub const tm_ui_edit_key_TM_UI_EDIT_KEY_UNDO: tm_ui_edit_key = 17;
19384pub const tm_ui_edit_key_TM_UI_EDIT_KEY_REDO: tm_ui_edit_key = 18;
19385pub const tm_ui_edit_key_TM_UI_EDIT_KEY_COUNT: tm_ui_edit_key = 19;
19386pub type tm_ui_edit_key = ::std::os::raw::c_int;
19387pub const TM_UI_MAX_TEXT_INPUT: ::std::os::raw::c_int = 32;
19388pub type _bindgen_ty_228 = ::std::os::raw::c_int;
19389pub const TM_UI_MODIFIERS_NONE: ::std::os::raw::c_int = 0;
19390pub const TM_UI_MODIFIERS_SHIFT: ::std::os::raw::c_int = 1;
19391pub const TM_UI_MODIFIERS_ALT: ::std::os::raw::c_int = 2;
19392pub const TM_UI_MODIFIERS_SHIFT_ALT: ::std::os::raw::c_int = 3;
19393pub const TM_UI_MODIFIERS_CTRL: ::std::os::raw::c_int = 4;
19394pub const TM_UI_MODIFIERS_SHIFT_CTRL: ::std::os::raw::c_int = 5;
19395pub const TM_UI_MODIFIERS_ALT_CTRL: ::std::os::raw::c_int = 6;
19396pub const TM_UI_MODIFIERS_SHIFT_ALT_CTRL: ::std::os::raw::c_int = 7;
19397pub type _bindgen_ty_229 = ::std::os::raw::c_int;
19398#[repr(C)]
19399#[derive(Copy, Clone)]
19400pub struct tm_ui_input_state_t {
19401 pub time: f64,
19402 pub scale: tm_vec2_t,
19403 pub offset: tm_vec2_t,
19404 pub mouse_pos: tm_vec2_t,
19405 pub mouse_move: tm_vec2_t,
19406 pub mouse_wheel: f32,
19407 pub left_mouse_pressed: bool,
19408 pub left_mouse_released: bool,
19409 pub left_mouse_is_down: bool,
19410 pub right_mouse_pressed: bool,
19411 pub right_mouse_released: bool,
19412 pub right_mouse_is_down: bool,
19413 pub middle_mouse_pressed: bool,
19414 pub middle_mouse_released: bool,
19415 pub middle_mouse_is_down: bool,
19416 pub back_mouse_pressed: bool,
19417 pub back_mouse_released: bool,
19418 pub back_mouse_is_down: bool,
19419 pub left_mouse_pressed_at_time: f64,
19420 pub mouse_move_at_time: f64,
19421 pub double_click: bool,
19422 pub triple_click: bool,
19423 pub pen_pressed: bool,
19424 pub pen_released: bool,
19425 pub pen_is_down: bool,
19426 pub touch_pressed: bool,
19427 pub touch_released: bool,
19428 pub touch_is_down: bool,
19429 pub pressure: f32,
19430 pub pen_erase: bool,
19431 pub _padding_191: [::std::os::raw::c_char; 3usize],
19432 pub key_is_down: *mut bool,
19433 pub key_pressed: *mut bool,
19434 pub key_released: *mut bool,
19435 pub key_repeated: *mut bool,
19436 pub modifiers: u32,
19437 pub edit_key_pressed: [bool; 19usize],
19438 pub _padding_207: [::std::os::raw::c_char; 1usize],
19439 pub num_text_input: u32,
19440 pub text_input: [u32; 32usize],
19441 pub _padding_212: [::std::os::raw::c_char; 4usize],
19442}
19443pub const TM_UI_ACTIVE_DATA_BYTES: ::std::os::raw::c_int = 16384;
19444pub type _bindgen_ty_230 = ::std::os::raw::c_int;
19445pub const tm_ui_icon_TM_UI_ICON__PLAY: tm_ui_icon = 0;
19446pub const tm_ui_icon_TM_UI_ICON__PAUSE: tm_ui_icon = 1;
19447pub const tm_ui_icon_TM_UI_ICON__RESTART: tm_ui_icon = 2;
19448pub const tm_ui_icon_TM_UI_ICON__STOP: tm_ui_icon = 3;
19449pub const tm_ui_icon_TM_UI_ICON__VOLUME: tm_ui_icon = 4;
19450pub const tm_ui_icon_TM_UI_ICON__PITCH: tm_ui_icon = 5;
19451pub const tm_ui_icon_TM_UI_ICON__PAN: tm_ui_icon = 6;
19452pub type tm_ui_icon = ::std::os::raw::c_int;
19453#[repr(C)]
19454#[derive(Copy, Clone)]
19455pub struct tm_ui_icon_button_t {
19456 pub id: u64,
19457 pub rect: tm_rect_t,
19458 pub is_disabled: bool,
19459 pub _padding_26: [::std::os::raw::c_char; 3usize],
19460 pub icon: tm_ui_icon,
19461}
19462#[repr(C)]
19463#[derive(Copy, Clone)]
19464pub struct tm_ui_icon_api {
19465 pub button: ::std::option::Option<
19466 unsafe extern "C" fn(
19467 ui: *mut tm_ui_o,
19468 uistyle: *const tm_ui_style_t,
19469 c: *const tm_ui_icon_button_t,
19470 ) -> bool,
19471 >,
19472 pub pushbutton: ::std::option::Option<
19473 unsafe extern "C" fn(
19474 ui: *mut tm_ui_o,
19475 uistyle: *const tm_ui_style_t,
19476 c: *const tm_ui_icon_button_t,
19477 pressed: *mut bool,
19478 ) -> bool,
19479 >,
19480}
19481#[repr(C)]
19482#[derive(Copy, Clone)]
19483pub struct tm_ui_renderer_api {
19484 pub create: ::std::option::Option<
19485 unsafe extern "C" fn(
19486 res_buf: *mut tm_renderer_resource_command_buffer_o,
19487 shader_repository: *mut tm_shader_repository_o,
19488 allocator: *mut tm_allocator_i,
19489 device_affinity: u32,
19490 ) -> *mut tm_ui_renderer_o,
19491 >,
19492 pub destroy: ::std::option::Option<
19493 unsafe extern "C" fn(
19494 ui_renderer: *mut tm_ui_renderer_o,
19495 res_buf: *mut tm_renderer_resource_command_buffer_o,
19496 ),
19497 >,
19498 pub render: ::std::option::Option<
19499 unsafe extern "C" fn(
19500 ui_renderer: *mut tm_ui_renderer_o,
19501 ui: *mut tm_ui_o,
19502 sort_key: u64,
19503 render_target_resolution: *const u32,
19504 dpi_scale_factor: f32,
19505 res_buf: *mut tm_renderer_resource_command_buffer_o,
19506 cmd_buf: *mut tm_renderer_command_buffer_o,
19507 ),
19508 >,
19509 pub font: ::std::option::Option<
19510 unsafe extern "C" fn(
19511 ui_renderer: *mut tm_ui_renderer_o,
19512 font_size: u32,
19513 window_dpi: f32,
19514 res_buf: *mut tm_renderer_resource_command_buffer_o,
19515 ) -> *const tm_font_t,
19516 >,
19517 pub allocate_image_slot:
19518 ::std::option::Option<unsafe extern "C" fn(ui_renderer: *mut tm_ui_renderer_o) -> u32>,
19519 pub set_image: ::std::option::Option<
19520 unsafe extern "C" fn(ui_renderer: *mut tm_ui_renderer_o, slot: u32, image_handle: u32),
19521 >,
19522}
19523#[repr(C)]
19524#[derive(Copy, Clone)]
19525pub struct tm_ui_tree_t {
19526 pub ud: *mut ::std::os::raw::c_void,
19527 pub root: u64,
19528 pub item_height: f32,
19529 pub rect: tm_rect_t,
19530 pub _padding_26: [::std::os::raw::c_char; 4usize],
19531 pub node_ui: ::std::option::Option<
19532 unsafe extern "C" fn(
19533 ui: *mut tm_ui_o,
19534 uistyle: *const tm_ui_style_t,
19535 item_id: u64,
19536 rect: tm_rect_t,
19537 ud: *mut ::std::os::raw::c_void,
19538 node: u64,
19539 parent: u64,
19540 child_idx: u64,
19541 ),
19542 >,
19543 pub node_children: ::std::option::Option<
19544 unsafe extern "C" fn(
19545 ud: *mut ::std::os::raw::c_void,
19546 node: u64,
19547 children: *mut u64,
19548 n: u32,
19549 ) -> u32,
19550 >,
19551}
19552#[repr(C)]
19553#[derive(Copy, Clone)]
19554pub struct tm_ui_tree_item_metrics_t {
19555 pub have_been_filled: bool,
19556 pub _padding_45: [::std::os::raw::c_char; 7usize],
19557 pub tooltip_hover_text: *const ::std::os::raw::c_char,
19558 pub toolbar_ui_elements: *mut u64,
19559 pub toolbar_used_rect: tm_rect_t,
19560 pub toolbar_element_count: u32,
19561 pub _padding_52: [::std::os::raw::c_char; 4usize],
19562}
19563#[repr(C)]
19564#[derive(Copy, Clone)]
19565pub struct tm_ui_tree_state_t {
19566 pub expanded: *mut tm_set_t,
19567 pub selected: *mut tm_set_t,
19568 pub total_height: f32,
19569 pub scroll_y: f32,
19570}
19571#[repr(C, packed)]
19572#[derive(Copy, Clone)]
19573pub struct tm_ui_tree_item_state_t {
19574 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize], u8>,
19575}
19576impl tm_ui_tree_item_state_t {
19577 #[inline]
19578 pub fn can_expand(&self) -> bool {
19579 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
19580 }
19581 #[inline]
19582 pub fn set_can_expand(&mut self, val: bool) {
19583 unsafe {
19584 let val: u8 = ::std::mem::transmute(val);
19585 self._bitfield_1.set(0usize, 1u8, val as u64)
19586 }
19587 }
19588 #[inline]
19589 pub fn expanded(&self) -> bool {
19590 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
19591 }
19592 #[inline]
19593 pub fn set_expanded(&mut self, val: bool) {
19594 unsafe {
19595 let val: u8 = ::std::mem::transmute(val);
19596 self._bitfield_1.set(1usize, 1u8, val as u64)
19597 }
19598 }
19599 #[inline]
19600 pub fn can_select(&self) -> bool {
19601 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
19602 }
19603 #[inline]
19604 pub fn set_can_select(&mut self, val: bool) {
19605 unsafe {
19606 let val: u8 = ::std::mem::transmute(val);
19607 self._bitfield_1.set(2usize, 1u8, val as u64)
19608 }
19609 }
19610 #[inline]
19611 pub fn selected(&self) -> bool {
19612 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
19613 }
19614 #[inline]
19615 pub fn set_selected(&mut self, val: bool) {
19616 unsafe {
19617 let val: u8 = ::std::mem::transmute(val);
19618 self._bitfield_1.set(3usize, 1u8, val as u64)
19619 }
19620 }
19621 #[inline]
19622 pub fn padding(&self) -> u8 {
19623 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
19624 }
19625 #[inline]
19626 pub fn set_padding(&mut self, val: u8) {
19627 unsafe {
19628 let val: u8 = ::std::mem::transmute(val);
19629 self._bitfield_1.set(4usize, 4u8, val as u64)
19630 }
19631 }
19632 #[inline]
19633 pub fn new_bitfield_1(
19634 can_expand: bool,
19635 expanded: bool,
19636 can_select: bool,
19637 selected: bool,
19638 padding: u8,
19639 ) -> __BindgenBitfieldUnit<[u8; 1usize], u8> {
19640 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize], u8> =
19641 Default::default();
19642 __bindgen_bitfield_unit.set(0usize, 1u8, {
19643 let can_expand: u8 = unsafe { ::std::mem::transmute(can_expand) };
19644 can_expand as u64
19645 });
19646 __bindgen_bitfield_unit.set(1usize, 1u8, {
19647 let expanded: u8 = unsafe { ::std::mem::transmute(expanded) };
19648 expanded as u64
19649 });
19650 __bindgen_bitfield_unit.set(2usize, 1u8, {
19651 let can_select: u8 = unsafe { ::std::mem::transmute(can_select) };
19652 can_select as u64
19653 });
19654 __bindgen_bitfield_unit.set(3usize, 1u8, {
19655 let selected: u8 = unsafe { ::std::mem::transmute(selected) };
19656 selected as u64
19657 });
19658 __bindgen_bitfield_unit.set(4usize, 4u8, {
19659 let padding: u8 = unsafe { ::std::mem::transmute(padding) };
19660 padding as u64
19661 });
19662 __bindgen_bitfield_unit
19663 }
19664}
19665#[repr(C)]
19666#[derive(Copy, Clone)]
19667pub struct tm_ui_tree_item_res_t {
19668 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize], u8>,
19669 pub _padding_109: [::std::os::raw::c_char; 2usize],
19670 pub item_rect: tm_rect_t,
19671 pub _padding_113: [::std::os::raw::c_char; 4usize],
19672 pub item_id: u64,
19673}
19674impl tm_ui_tree_item_res_t {
19675 #[inline]
19676 pub fn expanded(&self) -> bool {
19677 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
19678 }
19679 #[inline]
19680 pub fn set_expanded(&mut self, val: bool) {
19681 unsafe {
19682 let val: u8 = ::std::mem::transmute(val);
19683 self._bitfield_1.set(0usize, 1u8, val as u64)
19684 }
19685 }
19686 #[inline]
19687 pub fn expanded_changed(&self) -> bool {
19688 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
19689 }
19690 #[inline]
19691 pub fn set_expanded_changed(&mut self, val: bool) {
19692 unsafe {
19693 let val: u8 = ::std::mem::transmute(val);
19694 self._bitfield_1.set(1usize, 1u8, val as u64)
19695 }
19696 }
19697 #[inline]
19698 pub fn selected(&self) -> bool {
19699 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
19700 }
19701 #[inline]
19702 pub fn set_selected(&mut self, val: bool) {
19703 unsafe {
19704 let val: u8 = ::std::mem::transmute(val);
19705 self._bitfield_1.set(2usize, 1u8, val as u64)
19706 }
19707 }
19708 #[inline]
19709 pub fn selected_changed(&self) -> bool {
19710 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
19711 }
19712 #[inline]
19713 pub fn set_selected_changed(&mut self, val: bool) {
19714 unsafe {
19715 let val: u8 = ::std::mem::transmute(val);
19716 self._bitfield_1.set(3usize, 1u8, val as u64)
19717 }
19718 }
19719 #[inline]
19720 pub fn clicked(&self) -> bool {
19721 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
19722 }
19723 #[inline]
19724 pub fn set_clicked(&mut self, val: bool) {
19725 unsafe {
19726 let val: u8 = ::std::mem::transmute(val);
19727 self._bitfield_1.set(4usize, 1u8, val as u64)
19728 }
19729 }
19730 #[inline]
19731 pub fn double_clicked(&self) -> bool {
19732 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
19733 }
19734 #[inline]
19735 pub fn set_double_clicked(&mut self, val: bool) {
19736 unsafe {
19737 let val: u8 = ::std::mem::transmute(val);
19738 self._bitfield_1.set(5usize, 1u8, val as u64)
19739 }
19740 }
19741 #[inline]
19742 pub fn visible(&self) -> bool {
19743 unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
19744 }
19745 #[inline]
19746 pub fn set_visible(&mut self, val: bool) {
19747 unsafe {
19748 let val: u8 = ::std::mem::transmute(val);
19749 self._bitfield_1.set(6usize, 1u8, val as u64)
19750 }
19751 }
19752 #[inline]
19753 pub fn deselect_others(&self) -> bool {
19754 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
19755 }
19756 #[inline]
19757 pub fn set_deselect_others(&mut self, val: bool) {
19758 unsafe {
19759 let val: u8 = ::std::mem::transmute(val);
19760 self._bitfield_1.set(7usize, 1u8, val as u64)
19761 }
19762 }
19763 #[inline]
19764 pub fn select_range(&self) -> bool {
19765 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
19766 }
19767 #[inline]
19768 pub fn set_select_range(&mut self, val: bool) {
19769 unsafe {
19770 let val: u8 = ::std::mem::transmute(val);
19771 self._bitfield_1.set(8usize, 1u8, val as u64)
19772 }
19773 }
19774 #[inline]
19775 pub fn hovered(&self) -> bool {
19776 unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) }
19777 }
19778 #[inline]
19779 pub fn set_hovered(&mut self, val: bool) {
19780 unsafe {
19781 let val: u8 = ::std::mem::transmute(val);
19782 self._bitfield_1.set(9usize, 1u8, val as u64)
19783 }
19784 }
19785 #[inline]
19786 pub fn padding(&self) -> u8 {
19787 unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 6u8) as u8) }
19788 }
19789 #[inline]
19790 pub fn set_padding(&mut self, val: u8) {
19791 unsafe {
19792 let val: u8 = ::std::mem::transmute(val);
19793 self._bitfield_1.set(10usize, 6u8, val as u64)
19794 }
19795 }
19796 #[inline]
19797 pub fn new_bitfield_1(
19798 expanded: bool,
19799 expanded_changed: bool,
19800 selected: bool,
19801 selected_changed: bool,
19802 clicked: bool,
19803 double_clicked: bool,
19804 visible: bool,
19805 deselect_others: bool,
19806 select_range: bool,
19807 hovered: bool,
19808 padding: u8,
19809 ) -> __BindgenBitfieldUnit<[u8; 2usize], u8> {
19810 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize], u8> =
19811 Default::default();
19812 __bindgen_bitfield_unit.set(0usize, 1u8, {
19813 let expanded: u8 = unsafe { ::std::mem::transmute(expanded) };
19814 expanded as u64
19815 });
19816 __bindgen_bitfield_unit.set(1usize, 1u8, {
19817 let expanded_changed: u8 = unsafe { ::std::mem::transmute(expanded_changed) };
19818 expanded_changed as u64
19819 });
19820 __bindgen_bitfield_unit.set(2usize, 1u8, {
19821 let selected: u8 = unsafe { ::std::mem::transmute(selected) };
19822 selected as u64
19823 });
19824 __bindgen_bitfield_unit.set(3usize, 1u8, {
19825 let selected_changed: u8 = unsafe { ::std::mem::transmute(selected_changed) };
19826 selected_changed as u64
19827 });
19828 __bindgen_bitfield_unit.set(4usize, 1u8, {
19829 let clicked: u8 = unsafe { ::std::mem::transmute(clicked) };
19830 clicked as u64
19831 });
19832 __bindgen_bitfield_unit.set(5usize, 1u8, {
19833 let double_clicked: u8 = unsafe { ::std::mem::transmute(double_clicked) };
19834 double_clicked as u64
19835 });
19836 __bindgen_bitfield_unit.set(6usize, 1u8, {
19837 let visible: u8 = unsafe { ::std::mem::transmute(visible) };
19838 visible as u64
19839 });
19840 __bindgen_bitfield_unit.set(7usize, 1u8, {
19841 let deselect_others: u8 = unsafe { ::std::mem::transmute(deselect_others) };
19842 deselect_others as u64
19843 });
19844 __bindgen_bitfield_unit.set(8usize, 1u8, {
19845 let select_range: u8 = unsafe { ::std::mem::transmute(select_range) };
19846 select_range as u64
19847 });
19848 __bindgen_bitfield_unit.set(9usize, 1u8, {
19849 let hovered: u8 = unsafe { ::std::mem::transmute(hovered) };
19850 hovered as u64
19851 });
19852 __bindgen_bitfield_unit.set(10usize, 6u8, {
19853 let padding: u8 = unsafe { ::std::mem::transmute(padding) };
19854 padding as u64
19855 });
19856 __bindgen_bitfield_unit
19857 }
19858}
19859#[repr(C)]
19860#[derive(Copy, Clone)]
19861pub struct tm_ui_tree_api {
19862 pub tree: ::std::option::Option<
19863 unsafe extern "C" fn(
19864 ui: *mut tm_ui_o,
19865 uistyle: *const tm_ui_style_t,
19866 tree: *const tm_ui_tree_t,
19867 state: *mut tm_ui_tree_state_t,
19868 ),
19869 >,
19870 pub tree_item: ::std::option::Option<
19871 unsafe extern "C" fn(
19872 ui: *mut tm_ui_o,
19873 uistyle: *const tm_ui_style_t,
19874 rect: tm_rect_t,
19875 state: tm_ui_tree_item_state_t,
19876 tree_has_focus: bool,
19877 metrics: *const tm_ui_tree_item_metrics_t,
19878 ) -> tm_ui_tree_item_res_t,
19879 >,
19880 pub tree_item_with_sets: ::std::option::Option<
19881 unsafe extern "C" fn(
19882 ui: *mut tm_ui_o,
19883 uistyle: *const tm_ui_style_t,
19884 rect: tm_rect_t,
19885 key: u64,
19886 expanded_set: *mut tm_set_t,
19887 selected_set: *mut tm_set_t,
19888 tree_has_focus: bool,
19889 ) -> tm_ui_tree_item_res_t,
19890 >,
19891 pub tree_item_with_metrics: ::std::option::Option<
19892 unsafe extern "C" fn(
19893 ui: *mut tm_ui_o,
19894 uistyle: *const tm_ui_style_t,
19895 rect: tm_rect_t,
19896 key: u64,
19897 expanded_set: *mut tm_set_t,
19898 selected_set: *mut tm_set_t,
19899 tree_has_focus: bool,
19900 metrics: *const tm_ui_tree_item_metrics_t,
19901 ) -> tm_ui_tree_item_res_t,
19902 >,
19903}
19904pub const tm_upnp_state_TM_UPNP_STATE_NONE: tm_upnp_state = 0;
19905pub const tm_upnp_state_TM_UPNP_STATE_IN_PROGRESS: tm_upnp_state = 1;
19906pub const tm_upnp_state_TM_UPNP_STATE_FAILURE: tm_upnp_state = 2;
19907pub const tm_upnp_state_TM_UPNP_STATE_PORT_FORWARDED: tm_upnp_state = 3;
19908pub const tm_upnp_state_TM_UPNP_STATE_PORT_REMOVED: tm_upnp_state = 4;
19909pub type tm_upnp_state = ::std::os::raw::c_int;
19910#[repr(C)]
19911#[derive(Copy, Clone)]
19912pub struct tm_upnp_o {
19913 _unused: [u8; 0],
19914}
19915#[repr(C)]
19916#[derive(Copy, Clone)]
19917pub struct tm_upnp_result_t {
19918 pub forwarded_port: u32,
19919 pub _padding_25: [::std::os::raw::c_char; 4usize],
19920 pub router_wan_address: *mut tm_socket_address_t,
19921}
19922#[repr(C)]
19923#[derive(Copy, Clone)]
19924pub struct tm_upnp_api {
19925 pub create: ::std::option::Option<
19926 unsafe extern "C" fn(
19927 allocator: *mut tm_allocator_i,
19928 port_to_forward: u32,
19929 ) -> *mut tm_upnp_o,
19930 >,
19931 pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_upnp_o)>,
19932 pub remove_forwarded_port: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_upnp_o)>,
19933 pub update: ::std::option::Option<
19934 unsafe extern "C" fn(inst: *mut tm_upnp_o, res: *mut tm_upnp_result_t) -> tm_upnp_state,
19935 >,
19936}
19937pub const tm_vulkan_init_flag_TM_VULKAN_INIT_FLAG_SWAPCHAIN: tm_vulkan_init_flag = 1;
19938pub const tm_vulkan_init_flag_TM_VULKAN_INIT_FLAG_VALIDATION: tm_vulkan_init_flag = 2;
19939pub type tm_vulkan_init_flag = ::std::os::raw::c_int;
19940pub const tm_vulkan_device_flag_TM_VULKAN_DEVICE_FLAG_DISCRETE: tm_vulkan_device_flag = 1;
19941pub const tm_vulkan_device_flag_TM_VULKAN_DEVICE_FLAG_INTEGRATED: tm_vulkan_device_flag = 2;
19942pub type tm_vulkan_device_flag = ::std::os::raw::c_int;
19943#[repr(C)]
19944#[derive(Copy, Clone)]
19945pub struct tm_vulkan_device_id {
19946 pub opaque: u32,
19947}
19948#[repr(C)]
19949#[derive(Copy, Clone)]
19950pub struct tm_vulkan_raw_device_access_t {
19951 pub vk_instance: *mut VkInstance_T,
19952 pub vk_device: *mut VkDevice_T,
19953 pub vk_physical_device: *mut VkPhysicalDevice_T,
19954 pub vk_graphics_queue: *mut VkQueue_T,
19955 pub vk_graphics_queue_family_index: u32,
19956 pub _padding_49: [::std::os::raw::c_char; 4usize],
19957}
19958#[repr(C)]
19959#[derive(Copy, Clone)]
19960pub struct tm_vulkan_raw_image_buffer_access_t {
19961 pub vk_format: u32,
19962 pub vk_msaa_sample_count_flag: u32,
19963 pub vk_image_view_type: u32,
19964 pub width: u32,
19965 pub height: u32,
19966 pub depth: u32,
19967 pub layers: u32,
19968 pub mip_levels: u32,
19969 pub vk_image: *mut VkImage_T,
19970}
19971#[repr(C)]
19972#[derive(Copy, Clone)]
19973pub struct tm_vulkan_backend_i {
19974 pub inst: *mut ::std::os::raw::c_void,
19975 pub init: ::std::option::Option<
19976 unsafe extern "C" fn(
19977 inst: *mut ::std::os::raw::c_void,
19978 required_instance_flags: u32,
19979 ) -> bool,
19980 >,
19981 pub shutdown: ::std::option::Option<unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void)>,
19982 pub agnostic_render_backend: ::std::option::Option<
19983 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void) -> *mut tm_renderer_backend_i,
19984 >,
19985 pub num_physical_devices: ::std::option::Option<
19986 unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void, required_device_flags: u32) -> u32,
19987 >,
19988 pub physical_device_name: ::std::option::Option<
19989 unsafe extern "C" fn(
19990 inst: *mut ::std::os::raw::c_void,
19991 device: u32,
19992 required_device_flags: u32,
19993 vendor_id: *mut u32,
19994 device_id: *mut u32,
19995 driver_ver: *mut u32,
19996 swap_chain_support: *mut bool,
19997 ) -> *const ::std::os::raw::c_char,
19998 >,
19999 pub physical_device_id: ::std::option::Option<
20000 unsafe extern "C" fn(
20001 inst: *mut ::std::os::raw::c_void,
20002 device: u32,
20003 required_device_flags: u32,
20004 result: *mut tm_vulkan_device_id,
20005 ) -> bool,
20006 >,
20007 pub num_device_groups:
20008 ::std::option::Option<unsafe extern "C" fn(inst: *mut ::std::os::raw::c_void) -> u32>,
20009 pub physical_devices_in_group: ::std::option::Option<
20010 unsafe extern "C" fn(
20011 inst: *mut ::std::os::raw::c_void,
20012 device_group: u32,
20013 num_physical_devices: *mut u32,
20014 ) -> *const u32,
20015 >,
20016 pub device_group_id: ::std::option::Option<
20017 unsafe extern "C" fn(
20018 inst: *mut ::std::os::raw::c_void,
20019 device_group: u32,
20020 ) -> tm_vulkan_device_id,
20021 >,
20022 pub create_devices: ::std::option::Option<
20023 unsafe extern "C" fn(
20024 inst: *mut ::std::os::raw::c_void,
20025 devices: *const tm_vulkan_device_id,
20026 num_devices: u32,
20027 device_affinities: *mut u32,
20028 ) -> bool,
20029 >,
20030 pub destroy_devices: ::std::option::Option<
20031 unsafe extern "C" fn(
20032 inst: *mut ::std::os::raw::c_void,
20033 device_affinities: *const u32,
20034 num_devices: u32,
20035 ),
20036 >,
20037 pub retrieve_raw_device: ::std::option::Option<
20038 unsafe extern "C" fn(
20039 inst: *mut ::std::os::raw::c_void,
20040 device_affinity_mask: u32,
20041 device_access: *mut tm_vulkan_raw_device_access_t,
20042 ) -> bool,
20043 >,
20044 pub retrieve_raw_image_buffer: ::std::option::Option<
20045 unsafe extern "C" fn(
20046 inst: *mut ::std::os::raw::c_void,
20047 handle: u32,
20048 device_affinity_mask: u32,
20049 image_buffer_access: *mut tm_vulkan_raw_image_buffer_access_t,
20050 ) -> bool,
20051 >,
20052}
20053#[repr(C)]
20054#[derive(Copy, Clone)]
20055pub struct tm_vulkan_api {
20056 pub create_backend: ::std::option::Option<
20057 unsafe extern "C" fn(
20058 allocator: *mut tm_allocator_i,
20059 error: *mut tm_error_i,
20060 ) -> *mut tm_vulkan_backend_i,
20061 >,
20062 pub destroy_backend:
20063 ::std::option::Option<unsafe extern "C" fn(backend: *mut tm_vulkan_backend_i)>,
20064 pub shader_compiler:
20065 ::std::option::Option<unsafe extern "C" fn() -> *mut tm_renderer_shader_compiler_api>,
20066}
20067#[repr(C)]
20068#[derive(Copy, Clone)]
20069pub struct tm_asset_browser_tab_api {
20070 pub find_asset_browser:
20071 ::std::option::Option<unsafe extern "C" fn(ui: *mut tm_ui_o) -> tm_tt_id_t>,
20072 pub selected_object: ::std::option::Option<
20073 unsafe extern "C" fn(tt: *mut tm_the_truth_o, asset_browser: tm_tt_id_t) -> tm_tt_id_t,
20074 >,
20075 pub set_selection: ::std::option::Option<
20076 unsafe extern "C" fn(
20077 ui: *mut tm_ui_o,
20078 asset_or_dir: tm_tt_id_t,
20079 undo_scope: tm_tt_undo_scope_t,
20080 ) -> bool,
20081 >,
20082}
20083extern "C" {
20084 pub static mut console_logger: *mut tm_logger_i;
20085}
20086#[repr(C)]
20087#[derive(Copy, Clone)]
20088pub struct tm_update_tracker_api {
20089 pub init: ::std::option::Option<unsafe extern "C" fn(allocator: *mut tm_allocator_i)>,
20090 pub should_show_update_notification:
20091 ::std::option::Option<unsafe extern "C" fn(app: *mut tm_application_o) -> bool>,
20092 pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
20093}
20094pub const TM_TT_PROP__APPLICATION_SETTINGS__UPDATES__LATEST_VERSION: ::std::os::raw::c_int = 0;
20095pub const TM_TT_PROP__APPLICATION_SETTINGS__UPDATES__SKIP_THIS_VERSION: ::std::os::raw::c_int = 1;
20096pub type _bindgen_ty_231 = ::std::os::raw::c_int;
20097pub const TM_TT_PROP__APPLICATION_SETTINGS__DOWNLOAD__URL: ::std::os::raw::c_int = 0;
20098pub const TM_TT_PROP__APPLICAITON_SETTINGS__DOWNLOAD__FILE: ::std::os::raw::c_int = 1;
20099pub const TM_TT_PROP__APPLICAITON_SETTINGS__DOWNLOAD__UNZIP_DIRECTORY: ::std::os::raw::c_int = 2;
20100pub type _bindgen_ty_232 = ::std::os::raw::c_int;
20101extern "C" {
20102 pub static mut tm_update_tracker_api: *mut tm_update_tracker_api;
20103}
20104extern "C" {
20105 pub fn import_gltf_asset(
20106 gltf_file: *const ::std::os::raw::c_char,
20107 target_dir: tm_tt_id_t,
20108 a: *mut tm_allocator_i,
20109 tt: *mut tm_the_truth_o,
20110 reimport_into: tm_tt_id_t,
20111 ui: *mut tm_ui_o,
20112 undo_scope: tm_tt_undo_scope_t,
20113 ) -> u64;
20114}
20115extern "C" {
20116 pub static mut gltf_asset_io: *mut tm_asset_io_i;
20117}
20118extern "C" {
20119 pub fn import_tab__import_project(tab: *mut tm_tab_o, file: *const ::std::os::raw::c_char);
20120}
20121#[repr(C)]
20122#[derive(Copy, Clone)]
20123pub struct tm_integration_test_runner_api {
20124 pub create: ::std::option::Option<
20125 unsafe extern "C" fn(
20126 app: *mut tm_application_o,
20127 allocator: *mut tm_allocator_i,
20128 context: u64,
20129 ) -> *mut tm_integration_test_runner_o,
20130 >,
20131 pub add_test: ::std::option::Option<
20132 unsafe extern "C" fn(
20133 runner: *mut tm_integration_test_runner_o,
20134 name: *const ::std::os::raw::c_char,
20135 ),
20136 >,
20137 pub tick:
20138 ::std::option::Option<unsafe extern "C" fn(runner: *mut tm_integration_test_runner_o)>,
20139 pub destroy:
20140 ::std::option::Option<unsafe extern "C" fn(runner: *mut tm_integration_test_runner_o)>,
20141}
20142extern "C" {
20143 pub static mut tm_integration_test_runner_api: *mut tm_integration_test_runner_api;
20144}
20145pub const tm_login__tab_action_TM_LOGIN__TAB_ACTION__NONE: tm_login__tab_action = 0;
20146pub const tm_login__tab_action_TM_LOGIN__TAB_ACTION__SHOW: tm_login__tab_action = 1;
20147pub const tm_login__tab_action_TM_LOGIN__TAB_ACTION__FULLSCREEN: tm_login__tab_action = 2;
20148pub const tm_login__tab_action_TM_LOGIN__TAB_ACTION__HIDE: tm_login__tab_action = 3;
20149pub const tm_login__tab_action_TM_LOGIN__TAB_ACTION__QUIT: tm_login__tab_action = 4;
20150pub type tm_login__tab_action = ::std::os::raw::c_int;
20151#[repr(C)]
20152#[derive(Copy, Clone)]
20153pub struct tm_login_update_t {
20154 pub show_login_tab: bool,
20155 pub force_focus_login_tab: bool,
20156}
20157#[repr(C)]
20158#[derive(Copy, Clone)]
20159pub struct tm_login_api {
20160 pub init: ::std::option::Option<unsafe extern "C" fn(allocator: *mut tm_allocator_i)>,
20161 pub update: ::std::option::Option<unsafe extern "C" fn() -> tm_login__tab_action>,
20162 pub shutdown: ::std::option::Option<unsafe extern "C" fn()>,
20163}
20164extern "C" {
20165 pub static mut tm_login_api: *mut tm_login_api;
20166}
20167extern "C" {
20168 pub fn menu__new_plugin__editor_tab();
20169}
20170extern "C" {
20171 pub fn menu__new_plugin__entity_component();
20172}
20173extern "C" {
20174 pub fn menu__new_plugin__minimal();
20175}
20176extern "C" {
20177 pub fn load_plugin_templates(reg: *mut tm_api_registry_api, load: bool);
20178}
20179extern "C" {
20180 pub fn profiler_view(tab: *mut tm_tab_o) -> *mut tm_profiler_view_o;
20181}
20182extern "C" {
20183 pub fn properties_tab_set_root_with_mask(
20184 tab: *mut tm_tab_o,
20185 tt: *mut tm_the_truth_o,
20186 root: tm_tt_id_t,
20187 mask: u64,
20188 );
20189}
20190pub const TM_TT_PROP__SCENE_TAB__ASSET: ::std::os::raw::c_int = 0;
20191pub const TM_TT_PROP__SCENE_TAB__SELECTION: ::std::os::raw::c_int = 1;
20192pub const TM_TT_PROP__SCENE_TAB__LAST_SELECTED: ::std::os::raw::c_int = 2;
20193pub const TM_TT_PROP__SCENE_TAB__PICK_COUNTER: ::std::os::raw::c_int = 3;
20194pub const TM_TT_PROP__SCENE_TAB__FRAME_OBJECT: ::std::os::raw::c_int = 4;
20195pub const TM_TT_PROP__SCENE_TAB__HIDDEN: ::std::os::raw::c_int = 5;
20196pub type _bindgen_ty_233 = ::std::os::raw::c_int;
20197pub const TM_TT_PROP__SCENE_SETTINGS__ASSET_UUID_A: ::std::os::raw::c_int = 0;
20198pub const TM_TT_PROP__SCENE_SETTINGS__USE_WORLD_AXES: ::std::os::raw::c_int = 1;
20199pub const TM_TT_PROP__SCENE_SETTINGS__MULTI_SELECT_PIVOT: ::std::os::raw::c_int = 2;
20200pub const TM_TT_PROP__SCENE_SETTINGS__MOVE_SNAP: ::std::os::raw::c_int = 3;
20201pub const TM_TT_PROP__SCENE_SETTINGS__MOVE_SNAP_SIZE: ::std::os::raw::c_int = 4;
20202pub const TM_TT_PROP__SCENE_SETTINGS__ROT_SNAP: ::std::os::raw::c_int = 5;
20203pub const TM_TT_PROP__SCENE_SETTINGS__ROT_SNAP_ANGLE: ::std::os::raw::c_int = 6;
20204pub const TM_TT_PROP__SCENE_SETTINGS__SCALE_ABSOLUTE_HANDLE: ::std::os::raw::c_int = 7;
20205pub type _bindgen_ty_234 = ::std::os::raw::c_int;
20206extern "C" {
20207 pub fn scene_tab_truth_object(tab: *mut tm_tab_o) -> tm_tt_id_t;
20208}
20209extern "C" {
20210 pub fn scene_tab_entity_context(tab: *mut tm_tab_o) -> *mut tm_entity_context_o;
20211}
20212#[repr(C)]
20213#[derive(Copy, Clone)]
20214pub struct scene_tab_entity_data_t {
20215 pub entity_ctx: *mut tm_entity_context_o,
20216 pub camera_controller_manager: *mut tm_camera_controller_component_manager_o,
20217 pub camera_controller_component: u32,
20218 pub dcc_asset_component: u32,
20219 pub camera: tm_entity_t,
20220 pub entity: tm_entity_t,
20221}
20222extern "C" {
20223 pub fn scene_tab_entity_data(tab: *mut tm_tab_o) -> scene_tab_entity_data_t;
20224}
20225extern "C" {
20226 pub fn scene_tab_viewer_render_args(tab: *mut tm_tab_o, args: *mut tm_viewer_render_args_t);
20227}
20228extern "C" {
20229 pub fn load_scene_tab(reg: *mut tm_api_registry_api, load: bool);
20230}
20231extern "C" {
20232 pub fn simulate_tab_set_show_playback_controls(tab: *mut tm_tab_o, show: bool);
20233}
20234#[repr(C)]
20235#[derive(Copy, Clone)]
20236pub struct tm_task_manager_o {
20237 _unused: [u8; 0],
20238}
20239#[repr(C)]
20240#[derive(Copy, Clone)]
20241pub struct tm_task_manager_api {
20242 pub create: ::std::option::Option<
20243 unsafe extern "C" fn(alloc: *mut tm_allocator_i) -> *mut tm_task_manager_o,
20244 >,
20245 pub destroy: ::std::option::Option<unsafe extern "C" fn(inst: *mut tm_task_manager_o)>,
20246 pub ui: ::std::option::Option<
20247 unsafe extern "C" fn(
20248 inst: *mut tm_task_manager_o,
20249 ui: *mut tm_ui_o,
20250 id: u64,
20251 uistyle: *const tm_ui_style_t,
20252 r: tm_rect_t,
20253 ),
20254 >,
20255}
20256extern "C" {
20257 pub static mut tm_global_api_registry: *mut tm_api_registry_api;
20258}
20259extern "C" {
20260 pub static mut tm_allocator_api: *mut tm_allocator_api;
20261}
20262extern "C" {
20263 pub static mut tm_buffer_format_api: *mut tm_buffer_format_api;
20264}
20265extern "C" {
20266 pub static mut tm_collaboration_api: *mut tm_collaboration_api;
20267}
20268extern "C" {
20269 pub static mut tm_config_api: *mut tm_config_api;
20270}
20271extern "C" {
20272 pub static mut tm_error_api: *mut tm_error_api;
20273}
20274extern "C" {
20275 pub static mut tm_image_loader_api: *mut tm_image_loader_api;
20276}
20277extern "C" {
20278 pub static mut tm_input_api: *mut tm_input_api;
20279}
20280extern "C" {
20281 pub static mut tm_json_api: *mut tm_json_api;
20282}
20283extern "C" {
20284 pub static mut tm_localizer_api: *mut tm_localizer_api;
20285}
20286extern "C" {
20287 pub static mut tm_logger_api: *mut tm_logger_api;
20288}
20289extern "C" {
20290 pub static mut tm_memory_tracker_api: *mut tm_memory_tracker_api;
20291}
20292extern "C" {
20293 pub static mut tm_os_api: *mut tm_os_api;
20294}
20295extern "C" {
20296 pub static mut tm_path_api: *mut tm_path_api;
20297}
20298extern "C" {
20299 pub static mut tm_plugins_api: *mut tm_plugins_api;
20300}
20301extern "C" {
20302 pub static mut tm_profiler_api: *mut tm_profiler_api;
20303}
20304extern "C" {
20305 pub static mut tm_task_system_api: *mut tm_task_system_api;
20306}
20307extern "C" {
20308 pub static mut tm_temp_allocator_api: *mut tm_temp_allocator_api;
20309}
20310extern "C" {
20311 pub static mut tm_the_truth_api: *mut tm_the_truth_api;
20312}
20313extern "C" {
20314 pub static mut tm_the_truth_assets_api: *mut tm_the_truth_assets_api;
20315}
20316extern "C" {
20317 pub static mut tm_the_truth_common_types_api: *mut tm_the_truth_common_types_api;
20318}
20319extern "C" {
20320 pub static mut tm_unicode_api: *mut tm_unicode_api;
20321}
20322extern "C" {
20323 pub static mut tm_feature_flags_api: *mut tm_feature_flags_api;
20324}
20325extern "C" {
20326 pub static mut tm_camera_api: *mut tm_camera_api;
20327}
20328extern "C" {
20329 pub static mut tm_progress_report_api: *mut tm_progress_report_api;
20330}
20331extern "C" {
20332 pub static mut tm_asset_browser_api: *mut tm_asset_browser_api;
20333}
20334extern "C" {
20335 pub static mut tm_asset_io_api: *mut tm_asset_io_api;
20336}
20337extern "C" {
20338 pub static mut tm_dcc_asset_api: *mut tm_dcc_asset_api;
20339}
20340extern "C" {
20341 pub static mut tm_default_render_pipe_api: *mut tm_default_render_pipe_api;
20342}
20343extern "C" {
20344 pub static mut tm_docking_api: *mut tm_docking_api;
20345}
20346extern "C" {
20347 pub static mut tm_draw2d_api: *mut tm_draw2d_api;
20348}
20349extern "C" {
20350 pub static mut tm_entity_api: *mut tm_entity_api;
20351}
20352extern "C" {
20353 pub static mut tm_font_api: *mut tm_font_api;
20354}
20355extern "C" {
20356 pub static mut tm_graph_api: *mut tm_graph_api;
20357}
20358extern "C" {
20359 pub static mut tm_grid_renderer_api: *mut tm_grid_renderer_api;
20360}
20361extern "C" {
20362 pub static mut tm_job_system_api: *mut tm_job_system_api;
20363}
20364extern "C" {
20365 pub static mut tm_link_component_api: *mut tm_link_component_api;
20366}
20367extern "C" {
20368 pub static mut tm_os_display_api: *mut tm_os_display_api;
20369}
20370extern "C" {
20371 pub static mut tm_os_window_api: *mut tm_os_window_api;
20372}
20373extern "C" {
20374 pub static mut tm_owner_component_api: *mut tm_owner_component_api;
20375}
20376extern "C" {
20377 pub static mut tm_primitive_drawer_api: *mut tm_primitive_drawer_api;
20378}
20379extern "C" {
20380 pub static mut tm_profiler_view_api: *mut tm_profiler_view_api;
20381}
20382extern "C" {
20383 pub static mut tm_properties_view_api: *mut tm_properties_view_api;
20384}
20385extern "C" {
20386 pub static mut tm_render_graph_api: *mut tm_render_graph_api;
20387}
20388extern "C" {
20389 pub static mut tm_render_graph_module_api: *mut tm_render_graph_module_api;
20390}
20391extern "C" {
20392 pub static mut tm_renderer_init_api: *mut tm_renderer_init_api;
20393}
20394extern "C" {
20395 pub static mut tm_shader_api: *mut tm_shader_api;
20396}
20397extern "C" {
20398 pub static mut tm_shader_declaration_api: *mut tm_shader_declaration_api;
20399}
20400extern "C" {
20401 pub static mut tm_shader_repository_api: *mut tm_shader_repository_api;
20402}
20403extern "C" {
20404 pub static mut tm_shader_system_api: *mut tm_shader_system_api;
20405}
20406extern "C" {
20407 pub static mut tm_shape3d_api: *mut tm_shape3d_api;
20408}
20409extern "C" {
20410 pub static mut tm_ui_api: *mut tm_ui_api;
20411}
20412extern "C" {
20413 pub static mut tm_ui_drag_api: *mut tm_ui_drag_api;
20414}
20415extern "C" {
20416 pub static mut tm_ui_renderer_api: *mut tm_ui_renderer_api;
20417}
20418extern "C" {
20419 pub static mut tm_vulkan_api: *mut tm_vulkan_api;
20420}
20421extern "C" {
20422 pub static mut tm_gpu_picking_api: *mut tm_gpu_picking_api;
20423}
20424extern "C" {
20425 pub static mut tm_visibility_flags_api: *mut tm_visibility_flags_api;
20426}
20427extern "C" {
20428 pub static mut tm_viewer_api: *mut tm_viewer_api;
20429}
20430extern "C" {
20431 pub static mut tm_viewer_manager_api: *mut tm_viewer_manager_api;
20432}
20433extern "C" {
20434 pub static mut tm_frustum_culling_api: *mut tm_frustum_culling_api;
20435}
20436extern "C" {
20437 pub static mut tm_render_context_api: *mut tm_render_context_api;
20438}
20439extern "C" {
20440 pub static mut tm_camera_controller_component_api: *mut tm_camera_controller_component_api;
20441}
20442extern "C" {
20443 pub static mut tm_scene_common_api: *mut tm_scene_common_api;
20444}
20445extern "C" {
20446 pub static mut tm_task_manager_api: *mut tm_task_manager_api;
20447}
20448extern "C" {
20449 pub static mut tm_gltf_api_opt: *mut tm_gltf_api;
20450}
20451extern "C" {
20452 pub static mut tm_openvr_api_opt: *mut tm_openvr_api;
20453}
20454extern "C" {
20455 pub static mut tm_cmd_buf_api: *mut tm_renderer_command_buffer_api;
20456}
20457extern "C" {
20458 pub static mut tm_res_buf_api: *mut tm_renderer_resource_command_buffer_api;
20459}
20460extern "C" {
20461 pub fn app_open_asset(
20462 app: *mut tm_application_o,
20463 ui: *mut tm_ui_o,
20464 from_tab: *mut tm_tab_i,
20465 asset: tm_tt_id_t,
20466 );
20467}
20468extern "C" {
20469 pub fn app_get_asset_root(app: *mut tm_application_o) -> tm_tt_id_t;
20470}
20471extern "C" {
20472 pub fn app_reimport_asset(
20473 app: *mut tm_application_o,
20474 ui: *mut tm_ui_o,
20475 tt: *mut tm_the_truth_o,
20476 asset: tm_tt_id_t,
20477 );
20478}
20479extern "C" {
20480 pub fn app_create_or_select_tab(
20481 app: *mut tm_application_o,
20482 ui: *mut tm_ui_o,
20483 vt_name: *const ::std::os::raw::c_char,
20484 opt: *const tm_docking_find_tab_opt_t,
20485 ) -> *mut tm_tab_i;
20486}
20487extern "C" {
20488 pub fn app_window_for_ui(app: *mut tm_application_o, ui: *const tm_ui_o) -> *mut tm_window_o;
20489}
20490extern "C" {
20491 pub fn app_collaboration(app: *mut tm_application_o) -> *mut tm_collaboration_o;
20492}
20493extern "C" {
20494 pub fn app_collaboration_p2p(app: *mut tm_application_o) -> *mut tm_collaboration_p2p_o;
20495}
20496extern "C" {
20497 pub fn app_collaboration_discord(app: *mut tm_application_o)
20498 -> *mut tm_collaboration_discord_o;
20499}
20500pub const TM_TT_PROP__APPLICATION_SETTINGS__CAMERA_SETTINGS: ::std::os::raw::c_int = 0;
20501pub const TM_TT_PROP__APPLICATION_SETTINGS__GRID_SETTINGS: ::std::os::raw::c_int = 1;
20502pub const TM_TT_PROP__APPLICATION_SETTINGS__WINDOW_LAYOUTS: ::std::os::raw::c_int = 2;
20503pub const TM_TT_PROP__APPLICATION_SETTINGS__RECENT_FILES: ::std::os::raw::c_int = 3;
20504pub const TM_TT_PROP__APPLICATION_SETTINGS__ANALYTICS_CLIENT_ID: ::std::os::raw::c_int = 4;
20505pub const TM_TT_PROP__APPLICATION_SETTINGS__INTERFACE_SETTINGS: ::std::os::raw::c_int = 5;
20506pub const TM_TT_PROP__APPLICATION_SETTINGS__UI_THEMES: ::std::os::raw::c_int = 6;
20507pub const TM_TT_PROP__APPLICATION_SETTINGS__UI_THEME: ::std::os::raw::c_int = 7;
20508pub const TM_TT_PROP__APPLICATION_SETTINGS__BUILTIN_UI_THEME: ::std::os::raw::c_int = 8;
20509pub const TM_TT_PROP__APPLICATION_SETTINGS__PROJECTS_SETTINGS: ::std::os::raw::c_int = 9;
20510pub const TM_TT_PROP__APPLICATION_SETTINGS__UPDATES: ::std::os::raw::c_int = 10;
20511pub const TM_TT_PROP__APPLICATION_SETTINGS__DOWNLOADS: ::std::os::raw::c_int = 11;
20512pub const TM_TT_PROP__APPLICATION_SETTINGS__LAST_OPENED_PROJECT: ::std::os::raw::c_int = 12;
20513pub const TM_TT_PROP__APPLICATION_SETTINGS__OPEN_EMPTY_PROJECT_ON_STARTUP: ::std::os::raw::c_int =
20514 13;
20515pub const TM_TT_PROP__APPLICATION_SETTINGS__DOCKING_SETTINGS: ::std::os::raw::c_int = 14;
20516pub type _bindgen_ty_235 = ::std::os::raw::c_int;
20517pub const TM_TT_PROP__INTERFACE_SETTINGS__RESOLUTION_SCALE: ::std::os::raw::c_int = 0;
20518pub type _bindgen_ty_236 = ::std::os::raw::c_int;
20519pub const TM_TT_PROP__WINDOW_LAYOUTS__LAYOUTS: ::std::os::raw::c_int = 0;
20520pub type _bindgen_ty_237 = ::std::os::raw::c_int;
20521pub const TM_TT_PROP__WINDOW_LAYOUT__NAME: ::std::os::raw::c_int = 0;
20522pub const TM_TT_PROP__WINDOW_LAYOUT__CREATE_ON_STARTUP: ::std::os::raw::c_int = 1;
20523pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_X: ::std::os::raw::c_int = 2;
20524pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_Y: ::std::os::raw::c_int = 3;
20525pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_WIDTH: ::std::os::raw::c_int = 4;
20526pub const TM_TT_PROP__WINDOW_LAYOUT__WINDOW_HEIGHT: ::std::os::raw::c_int = 5;
20527pub const TM_TT_PROP__WINDOW_LAYOUT__TABWELL: ::std::os::raw::c_int = 6;
20528pub type _bindgen_ty_238 = ::std::os::raw::c_int;
20529pub const TM_TT_PROP__RECENT_FILE__PATH: ::std::os::raw::c_int = 0;
20530pub const TM_TT_PROP__RECENT_FILE__TIME_STAMP: ::std::os::raw::c_int = 1;
20531pub type _bindgen_ty_239 = ::std::os::raw::c_int;
20532pub const TM_TT_PROP__TABWELL__LEFT: ::std::os::raw::c_int = 0;
20533pub const TM_TT_PROP__TABWELL__RIGHT: ::std::os::raw::c_int = 1;
20534pub const TM_TT_PROP__TABWELL__TOP: ::std::os::raw::c_int = 2;
20535pub const TM_TT_PROP__TABWELL__BOTTOM: ::std::os::raw::c_int = 3;
20536pub const TM_TT_PROP__TABWELL__BIAS: ::std::os::raw::c_int = 4;
20537pub const TM_TT_PROP__TABWELL__VIEWS: ::std::os::raw::c_int = 5;
20538pub type _bindgen_ty_240 = ::std::os::raw::c_int;
20539pub const TM_TT_PROP__TAB_VIEW__NAME: ::std::os::raw::c_int = 0;
20540pub const TM_TT_PROP__TAB_VIEW__SORT_INDEX: ::std::os::raw::c_int = 1;
20541pub type _bindgen_ty_241 = ::std::os::raw::c_int;
20542pub const TM_TT_PROP__PUBLISH_SETTINGS__DIRECTORY_PROJECT: ::std::os::raw::c_int = 0;
20543pub const TM_TT_PROP__PUBLISH_SETTINGS__EXECUTABLE_NAME: ::std::os::raw::c_int = 1;
20544pub const TM_TT_PROP__PUBLISH_SETTINGS__WINDOW_TITLE: ::std::os::raw::c_int = 2;
20545pub const TM_TT_PROP__PUBLISH_SETTINGS__WORLD_ENTITY: ::std::os::raw::c_int = 3;
20546pub type _bindgen_ty_242 = ::std::os::raw::c_int;
20547pub const TM_TT_PROP__PROJECT_SETTINGS__PATH: ::std::os::raw::c_int = 0;
20548pub const TM_TT_PROP__PROJECT_SETTINGS__GRAPHS_SETTINGS: ::std::os::raw::c_int = 1;
20549pub const TM_TT_PROP__PROJECT_SETTINGS__SCENES_SETTINGS: ::std::os::raw::c_int = 2;
20550pub const TM_TT_PROP__PROJECT_SETTINGS__PUBLISH_SETTINGS: ::std::os::raw::c_int = 3;
20551pub type _bindgen_ty_243 = ::std::os::raw::c_int;
20552extern "C" {
20553 pub fn app_settings(app: *mut tm_application_o, id: *mut tm_tt_id_t) -> *mut tm_the_truth_o;
20554}
20555extern "C" {
20556 pub fn app_project_settings(
20557 app: *mut tm_application_o,
20558 id: *mut tm_tt_id_t,
20559 ) -> *mut tm_the_truth_o;
20560}
20561extern "C" {
20562 pub fn app_open_project(
20563 app: *mut tm_application_o,
20564 ui: *mut tm_ui_o,
20565 path: *const ::std::os::raw::c_char,
20566 ) -> bool;
20567}
20568extern "C" {
20569 pub fn app_open_any_project(app: *mut tm_application_o, file: *const ::std::os::raw::c_char);
20570}
20571extern "C" {
20572 pub fn app_save_to_asset_database(
20573 app: *mut tm_application_o,
20574 file: *const ::std::os::raw::c_char,
20575 );
20576}
20577extern "C" {
20578 pub fn app_import_asset(app: *mut tm_application_o, file: *const ::std::os::raw::c_char);
20579}
20580extern "C" {
20581 pub fn app_save_all(app: *mut tm_application_o);
20582}
20583extern "C" {
20584 pub fn app_get_truth(app: *mut tm_application_o) -> *mut tm_the_truth_o;
20585}
20586extern "C" {
20587 pub fn app_new_project(app: *mut tm_application_o);
20588}
20589extern "C" {
20590 pub static mut tm_application_api: *mut tm_application_api;
20591}
20592extern "C" {
20593 pub fn create_localizer(a: *mut tm_allocator_i) -> *mut tm_localizer_o;
20594}
20595extern "C" {
20596 pub fn destroy_localizer(loc: *mut tm_localizer_o);
20597}
20598extern "C" {
20599 pub fn localizer_language(loc: *mut tm_localizer_o) -> u64;
20600}
20601extern "C" {
20602 pub fn localizer_set_language(loc: *mut tm_localizer_o, lang: u64);
20603}
20604extern "C" {
20605 pub fn localizer_interface(loc: *mut tm_localizer_o) -> *mut tm_localizer_i;
20606}
20607#[repr(C)]
20608#[derive(Copy, Clone)]
20609pub struct tm_tab_create_context_t {
20610 pub allocator: *mut tm_allocator_i,
20611 pub id: *mut u64,
20612 pub application: *mut tm_application_o,
20613 pub tt: *mut tm_the_truth_o,
20614 pub undo_stack: *mut tm_undo_stack_i,
20615 pub save_interface: *mut tm_asset_save_i,
20616 pub ui_renderer: *mut tm_ui_renderer_o,
20617}
20618#[repr(C)]
20619#[derive(Copy, Clone)]
20620pub struct tm_the_machinery_tab_vt {
20621 pub __bindgen_padding_0: [u64; 16usize],
20622 pub menu_title: ::std::option::Option<
20623 unsafe extern "C" fn(
20624 inst: *mut tm_tab_o,
20625 ui: *mut tm_ui_o,
20626 ) -> *const ::std::os::raw::c_char,
20627 >,
20628 pub menu: ::std::option::Option<
20629 unsafe extern "C" fn(
20630 inst: *mut tm_tab_o,
20631 ui: *mut tm_ui_o,
20632 uistyle: *const tm_ui_style_t,
20633 submenu_pos: tm_vec2_t,
20634 ),
20635 >,
20636}
20637#[repr(C)]
20638#[derive(Copy, Clone)]
20639pub struct tm_preview_tab_vt {
20640 pub __bindgen_padding_0: [u64; 18usize],
20641 pub preview_entity: ::std::option::Option<
20642 unsafe extern "C" fn(tab: *mut tm_tab_o, e: *mut tm_entity_t) -> *mut tm_entity_context_o,
20643 >,
20644}
20645#[repr(C)]
20646#[derive(Copy, Clone)]
20647pub struct tm_graph_tab_vt {
20648 pub __bindgen_padding_0: [u64; 18usize],
20649 pub refresh_node_types: ::std::option::Option<
20650 unsafe extern "C" fn(
20651 tab: *mut tm_tab_o,
20652 node_interface_name: *const ::std::os::raw::c_char,
20653 ),
20654 >,
20655}
20656pub type __builtin_va_list = *mut ::std::os::raw::c_char;
20657#[repr(C)]
20658#[derive(Copy, Clone)]
20659pub struct tm_viewer_manager_o {
20660 pub _address: u8,
20661}
20662#[repr(C)]
20663#[derive(Copy, Clone)]
20664pub struct tm_asset_io_o {
20665 pub _address: u8,
20666}
20667#[repr(C)]
20668#[derive(Copy, Clone)]
20669pub struct tm_plugin_o {
20670 pub _address: u8,
20671}
20672#[repr(C)]
20673#[derive(Copy, Clone)]
20674pub struct tm_string_repository_o {
20675 pub _address: u8,
20676}
20677#[repr(C)]
20678#[derive(Copy, Clone)]
20679pub struct tm_temp_allocator_o {
20680 pub _address: u8,
20681}
20682#[repr(C)]
20683#[derive(Copy, Clone)]
20684pub struct tm_hash32_t {
20685 pub _address: u8,
20686}
20687#[repr(C)]
20688#[derive(Copy, Clone)]
20689pub struct tm_animation_player_o {
20690 pub _address: u8,
20691}
20692#[repr(C)]
20693#[derive(Copy, Clone)]
20694pub struct tm_creation_graph_instance_data_o {
20695 pub _address: u8,
20696}
20697#[repr(C)]
20698#[derive(Copy, Clone)]
20699pub struct tm_asset_browser_create_asset_o {
20700 pub _address: u8,
20701}
20702#[repr(C)]
20703#[derive(Copy, Clone)]
20704pub struct tm_asset_browser_open_asset_o {
20705 pub _address: u8,
20706}
20707#[repr(C)]
20708#[derive(Copy, Clone)]
20709pub struct tm_asset_browser_add_asset_o {
20710 pub _address: u8,
20711}
20712#[repr(C)]
20713#[derive(Copy, Clone)]
20714pub struct tm_asset_browser_select_asset_o {
20715 pub _address: u8,
20716}
20717#[repr(C)]
20718#[derive(Copy, Clone)]
20719pub struct tm_asset_preview_o {
20720 pub _address: u8,
20721}
20722#[repr(C)]
20723#[derive(Copy, Clone)]
20724pub struct tm_asset_scene_o {
20725 pub _address: u8,
20726}
20727#[repr(C)]
20728#[derive(Copy, Clone)]
20729pub struct VkInstance_T {
20730 pub _address: u8,
20731}
20732#[repr(C)]
20733#[derive(Copy, Clone)]
20734pub struct VkDevice_T {
20735 pub _address: u8,
20736}
20737#[repr(C)]
20738#[derive(Copy, Clone)]
20739pub struct VkPhysicalDevice_T {
20740 pub _address: u8,
20741}
20742#[repr(C)]
20743#[derive(Copy, Clone)]
20744pub struct VkQueue_T {
20745 pub _address: u8,
20746}
20747#[repr(C)]
20748#[derive(Copy, Clone)]
20749pub struct VkImage_T {
20750 pub _address: u8,
20751}