1pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
4pub const _SAL_VERSION: u32 = 20;
5pub const __SAL_H_VERSION: u32 = 180000000;
6pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
7pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
8pub const _CRT_PACKING: u32 = 8;
9pub const _HAS_EXCEPTIONS: u32 = 1;
10pub const _STL_LANG: u32 = 0;
11pub const _HAS_CXX17: u32 = 0;
12pub const _HAS_CXX20: u32 = 0;
13pub const _HAS_CXX23: u32 = 0;
14pub const _HAS_NODISCARD: u32 = 0;
15pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
16pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
17pub const _ARGMAX: u32 = 100;
18pub const _CRT_INT_MAX: u32 = 2147483647;
19pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
20pub const _CRT_HAS_CXX17: u32 = 0;
21pub const _CRT_HAS_C11: u32 = 1;
22pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
23pub const __STDC_SECURE_LIB__: u32 = 200411;
24pub const __GOT_SECURE_LIB__: u32 = 200411;
25pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
26pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
27pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
28pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
29pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
30pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
31pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
32pub const _CRT_INTERNAL_STDIO_SYMBOL_PREFIX: &[u8; 1] = b"\0";
33pub const _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION: u32 = 1;
34pub const _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR: u32 = 2;
35pub const _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS: u32 = 4;
36pub const _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 8;
37pub const _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS: u32 = 16;
38pub const _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING: u32 = 32;
39pub const _CRT_INTERNAL_SCANF_SECURECRT: u32 = 1;
40pub const _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS: u32 = 2;
41pub const _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 4;
42pub const BUFSIZ: u32 = 512;
43pub const _NSTREAM_: u32 = 512;
44pub const _IOB_ENTRIES: u32 = 3;
45pub const EOF: i32 = -1;
46pub const _IOFBF: u32 = 0;
47pub const _IOLBF: u32 = 64;
48pub const _IONBF: u32 = 4;
49pub const L_tmpnam: u32 = 260;
50pub const L_tmpnam_s: u32 = 260;
51pub const SEEK_CUR: u32 = 1;
52pub const SEEK_END: u32 = 2;
53pub const SEEK_SET: u32 = 0;
54pub const FILENAME_MAX: u32 = 260;
55pub const FOPEN_MAX: u32 = 20;
56pub const _SYS_OPEN: u32 = 20;
57pub const TMP_MAX: u32 = 2147483647;
58pub const TMP_MAX_S: u32 = 2147483647;
59pub const _TMP_MAX_S: u32 = 2147483647;
60pub const SYS_OPEN: u32 = 20;
61pub const __bool_true_false_are_defined: u32 = 1;
62pub const false_: u32 = 0;
63pub const true_: u32 = 1;
64pub const __is_x86_arch__: u32 = 1;
65pub const __archBits__: u32 = 64;
66pub const __SIZE_T_PRINTF_FORMAT__: &[u8; 5] = b"%llu\0";
67pub const _STPF_: &[u8; 5] = b"%llu\0";
68pub const sPS_WIN32: &[u8; 2] = b"\\\0";
69pub const sPS_POSIX: &[u8; 2] = b"/\0";
70pub const sPS: &[u8; 2] = b"\\\0";
71pub const cPS_WIN32: u8 = 92u8;
72pub const cPS_POSIX: u8 = 47u8;
73pub const cPS: u8 = 92u8;
74pub const sPD_WIN32: &[u8; 2] = b";\0";
75pub const sPD_POSIX: &[u8; 2] = b":\0";
76pub const sPD: &[u8; 2] = b";\0";
77pub const cPD_WIN32: u8 = 59u8;
78pub const cPD_POSIX: u8 = 58u8;
79pub const cPD: u8 = 59u8;
80pub const ENGINE_VERSION_NUMBER: u32 = 1000;
81pub const AIINTERFACE_ABI_VERSION_WARNING: u32 = 0;
82pub const MAX_SKIRMISH_AIS: u32 = 255;
83pub const AI_INTERFACES_DATA_DIR: &[u8; 14] = b"AI/Interfaces\0";
84pub const SKIRMISH_AI_DATA_DIR: &[u8; 12] = b"AI/Skirmish\0";
85pub const MAX_RESPONSE_SIZE: u32 = 10240;
86pub const COMMAND_TO_ID_ENGINE: i32 = -1;
87pub const UNIT_COMMAND_BUILD_NO_FACING: i32 = -1;
88pub const AI_INTERFACE_PROPERTY_DATA_DIR: &[u8; 8] = b"dataDir\0";
89pub const AI_INTERFACE_PROPERTY_DATA_DIR_COMMON: &[u8; 14] = b"dataDirCommon\0";
90pub const AI_INTERFACE_PROPERTY_SHORT_NAME: &[u8; 10] = b"shortName\0";
91pub const AI_INTERFACE_PROPERTY_VERSION: &[u8; 8] = b"version\0";
92pub const AI_INTERFACE_PROPERTY_NAME: &[u8; 5] = b"name\0";
93pub const AI_INTERFACE_PROPERTY_DESCRIPTION: &[u8; 12] = b"description\0";
94pub const AI_INTERFACE_PROPERTY_URL: &[u8; 4] = b"url\0";
95pub const AI_INTERFACE_PROPERTY_SUPPORTED_LANGUAGES: &[u8; 19] = b"supportedLanguages\0";
96pub const AI_INTERFACE_PROPERTY_ENGINE_VERSION: &[u8; 14] = b"engineVersion\0";
97pub const AI_INTERFACE_PROPERTY_SUPPORTS_LOOKUP: &[u8; 15] = b"supportsLookup\0";
98pub const SKIRMISH_AI_PROPERTY_DATA_DIR: &[u8; 8] = b"dataDir\0";
99pub const SKIRMISH_AI_PROPERTY_DATA_DIR_COMMON: &[u8; 14] = b"dataDirCommon\0";
100pub const SKIRMISH_AI_PROPERTY_SHORT_NAME: &[u8; 10] = b"shortName\0";
101pub const SKIRMISH_AI_PROPERTY_VERSION: &[u8; 8] = b"version\0";
102pub const SKIRMISH_AI_PROPERTY_NAME: &[u8; 5] = b"name\0";
103pub const SKIRMISH_AI_PROPERTY_DESCRIPTION: &[u8; 12] = b"description\0";
104pub const SKIRMISH_AI_PROPERTY_URL: &[u8; 4] = b"url\0";
105pub const SKIRMISH_AI_PROPERTY_LOAD_SUPPORTED: &[u8; 14] = b"loadSupported\0";
106pub const SKIRMISH_AI_PROPERTY_ENGINE_VERSION: &[u8; 14] = b"engineVersion\0";
107pub const SKIRMISH_AI_PROPERTY_INTERFACE_SHORT_NAME: &[u8; 19] = b"interfaceShortName\0";
108pub const SKIRMISH_AI_PROPERTY_INTERFACE_VERSION: &[u8; 17] = b"interfaceVersion\0";
109pub type va_list = *mut ::std::os::raw::c_char;
110extern "C" {
111 pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
112}
113pub type __vcrt_bool = bool;
114pub type wchar_t = ::std::os::raw::c_ushort;
115extern "C" {
116 pub fn __security_init_cookie();
117}
118extern "C" {
119 pub fn __security_check_cookie(_StackCookie: usize);
120}
121extern "C" {
122 pub fn __report_gsfailure(_StackCookie: usize) -> !;
123}
124extern "C" {
125 pub static mut __security_cookie: usize;
126}
127pub type __crt_bool = bool;
128extern "C" {
129 pub fn _invalid_parameter_noinfo();
130}
131extern "C" {
132 pub fn _invalid_parameter_noinfo_noreturn() -> !;
133}
134extern "C" {
135 pub fn _invoke_watson(
136 _Expression: *const wchar_t,
137 _FunctionName: *const wchar_t,
138 _FileName: *const wchar_t,
139 _LineNo: ::std::os::raw::c_uint,
140 _Reserved: usize,
141 ) -> !;
142}
143pub type errno_t = ::std::os::raw::c_int;
144pub type wint_t = ::std::os::raw::c_ushort;
145pub type wctype_t = ::std::os::raw::c_ushort;
146pub type __time32_t = ::std::os::raw::c_long;
147pub type __time64_t = ::std::os::raw::c_longlong;
148#[repr(C)]
149#[derive(Debug, Copy, Clone)]
150pub struct __crt_locale_data_public {
151 pub _locale_pctype: *const ::std::os::raw::c_ushort,
152 pub _locale_mb_cur_max: ::std::os::raw::c_int,
153 pub _locale_lc_codepage: ::std::os::raw::c_uint,
154}
155#[test]
156fn bindgen_test_layout___crt_locale_data_public() {
157 const UNINIT: ::std::mem::MaybeUninit<__crt_locale_data_public> =
158 ::std::mem::MaybeUninit::uninit();
159 let ptr = UNINIT.as_ptr();
160 assert_eq!(
161 ::std::mem::size_of::<__crt_locale_data_public>(),
162 16usize,
163 concat!("Size of: ", stringify!(__crt_locale_data_public))
164 );
165 assert_eq!(
166 ::std::mem::align_of::<__crt_locale_data_public>(),
167 8usize,
168 concat!("Alignment of ", stringify!(__crt_locale_data_public))
169 );
170 assert_eq!(
171 unsafe { ::std::ptr::addr_of!((*ptr)._locale_pctype) as usize - ptr as usize },
172 0usize,
173 concat!(
174 "Offset of field: ",
175 stringify!(__crt_locale_data_public),
176 "::",
177 stringify!(_locale_pctype)
178 )
179 );
180 assert_eq!(
181 unsafe { ::std::ptr::addr_of!((*ptr)._locale_mb_cur_max) as usize - ptr as usize },
182 8usize,
183 concat!(
184 "Offset of field: ",
185 stringify!(__crt_locale_data_public),
186 "::",
187 stringify!(_locale_mb_cur_max)
188 )
189 );
190 assert_eq!(
191 unsafe { ::std::ptr::addr_of!((*ptr)._locale_lc_codepage) as usize - ptr as usize },
192 12usize,
193 concat!(
194 "Offset of field: ",
195 stringify!(__crt_locale_data_public),
196 "::",
197 stringify!(_locale_lc_codepage)
198 )
199 );
200}
201#[repr(C)]
202#[derive(Debug, Copy, Clone)]
203pub struct __crt_locale_pointers {
204 pub locinfo: *mut __crt_locale_data,
205 pub mbcinfo: *mut __crt_multibyte_data,
206}
207#[test]
208fn bindgen_test_layout___crt_locale_pointers() {
209 const UNINIT: ::std::mem::MaybeUninit<__crt_locale_pointers> =
210 ::std::mem::MaybeUninit::uninit();
211 let ptr = UNINIT.as_ptr();
212 assert_eq!(
213 ::std::mem::size_of::<__crt_locale_pointers>(),
214 16usize,
215 concat!("Size of: ", stringify!(__crt_locale_pointers))
216 );
217 assert_eq!(
218 ::std::mem::align_of::<__crt_locale_pointers>(),
219 8usize,
220 concat!("Alignment of ", stringify!(__crt_locale_pointers))
221 );
222 assert_eq!(
223 unsafe { ::std::ptr::addr_of!((*ptr).locinfo) as usize - ptr as usize },
224 0usize,
225 concat!(
226 "Offset of field: ",
227 stringify!(__crt_locale_pointers),
228 "::",
229 stringify!(locinfo)
230 )
231 );
232 assert_eq!(
233 unsafe { ::std::ptr::addr_of!((*ptr).mbcinfo) as usize - ptr as usize },
234 8usize,
235 concat!(
236 "Offset of field: ",
237 stringify!(__crt_locale_pointers),
238 "::",
239 stringify!(mbcinfo)
240 )
241 );
242}
243pub type _locale_t = *mut __crt_locale_pointers;
244#[repr(C)]
245#[derive(Debug, Copy, Clone)]
246pub struct _Mbstatet {
247 pub _Wchar: ::std::os::raw::c_ulong,
248 pub _Byte: ::std::os::raw::c_ushort,
249 pub _State: ::std::os::raw::c_ushort,
250}
251#[test]
252fn bindgen_test_layout__Mbstatet() {
253 const UNINIT: ::std::mem::MaybeUninit<_Mbstatet> = ::std::mem::MaybeUninit::uninit();
254 let ptr = UNINIT.as_ptr();
255 assert_eq!(
256 ::std::mem::size_of::<_Mbstatet>(),
257 8usize,
258 concat!("Size of: ", stringify!(_Mbstatet))
259 );
260 assert_eq!(
261 ::std::mem::align_of::<_Mbstatet>(),
262 4usize,
263 concat!("Alignment of ", stringify!(_Mbstatet))
264 );
265 assert_eq!(
266 unsafe { ::std::ptr::addr_of!((*ptr)._Wchar) as usize - ptr as usize },
267 0usize,
268 concat!(
269 "Offset of field: ",
270 stringify!(_Mbstatet),
271 "::",
272 stringify!(_Wchar)
273 )
274 );
275 assert_eq!(
276 unsafe { ::std::ptr::addr_of!((*ptr)._Byte) as usize - ptr as usize },
277 4usize,
278 concat!(
279 "Offset of field: ",
280 stringify!(_Mbstatet),
281 "::",
282 stringify!(_Byte)
283 )
284 );
285 assert_eq!(
286 unsafe { ::std::ptr::addr_of!((*ptr)._State) as usize - ptr as usize },
287 6usize,
288 concat!(
289 "Offset of field: ",
290 stringify!(_Mbstatet),
291 "::",
292 stringify!(_State)
293 )
294 );
295}
296pub type mbstate_t = _Mbstatet;
297pub type time_t = __time64_t;
298pub type rsize_t = usize;
299#[repr(C)]
300#[derive(Debug, Copy, Clone)]
301pub struct _iobuf {
302 pub _Placeholder: *mut ::std::os::raw::c_void,
303}
304#[test]
305fn bindgen_test_layout__iobuf() {
306 const UNINIT: ::std::mem::MaybeUninit<_iobuf> = ::std::mem::MaybeUninit::uninit();
307 let ptr = UNINIT.as_ptr();
308 assert_eq!(
309 ::std::mem::size_of::<_iobuf>(),
310 8usize,
311 concat!("Size of: ", stringify!(_iobuf))
312 );
313 assert_eq!(
314 ::std::mem::align_of::<_iobuf>(),
315 8usize,
316 concat!("Alignment of ", stringify!(_iobuf))
317 );
318 assert_eq!(
319 unsafe { ::std::ptr::addr_of!((*ptr)._Placeholder) as usize - ptr as usize },
320 0usize,
321 concat!(
322 "Offset of field: ",
323 stringify!(_iobuf),
324 "::",
325 stringify!(_Placeholder)
326 )
327 );
328}
329pub type FILE = _iobuf;
330extern "C" {
331 pub fn __acrt_iob_func(_Ix: ::std::os::raw::c_uint) -> *mut FILE;
332}
333extern "C" {
334 pub fn fgetwc(_Stream: *mut FILE) -> wint_t;
335}
336extern "C" {
337 pub fn _fgetwchar() -> wint_t;
338}
339extern "C" {
340 pub fn fputwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
341}
342extern "C" {
343 pub fn _fputwchar(_Character: wchar_t) -> wint_t;
344}
345extern "C" {
346 pub fn getwc(_Stream: *mut FILE) -> wint_t;
347}
348extern "C" {
349 pub fn getwchar() -> wint_t;
350}
351extern "C" {
352 pub fn fgetws(
353 _Buffer: *mut wchar_t,
354 _BufferCount: ::std::os::raw::c_int,
355 _Stream: *mut FILE,
356 ) -> *mut wchar_t;
357}
358extern "C" {
359 pub fn fputws(_Buffer: *const wchar_t, _Stream: *mut FILE) -> ::std::os::raw::c_int;
360}
361extern "C" {
362 pub fn _getws_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> *mut wchar_t;
363}
364extern "C" {
365 pub fn putwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
366}
367extern "C" {
368 pub fn putwchar(_Character: wchar_t) -> wint_t;
369}
370extern "C" {
371 pub fn _putws(_Buffer: *const wchar_t) -> ::std::os::raw::c_int;
372}
373extern "C" {
374 pub fn ungetwc(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
375}
376extern "C" {
377 pub fn _wfdopen(_FileHandle: ::std::os::raw::c_int, _Mode: *const wchar_t) -> *mut FILE;
378}
379extern "C" {
380 pub fn _wfopen(_FileName: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
381}
382extern "C" {
383 pub fn _wfopen_s(
384 _Stream: *mut *mut FILE,
385 _FileName: *const wchar_t,
386 _Mode: *const wchar_t,
387 ) -> errno_t;
388}
389extern "C" {
390 pub fn _wfreopen(
391 _FileName: *const wchar_t,
392 _Mode: *const wchar_t,
393 _OldStream: *mut FILE,
394 ) -> *mut FILE;
395}
396extern "C" {
397 pub fn _wfreopen_s(
398 _Stream: *mut *mut FILE,
399 _FileName: *const wchar_t,
400 _Mode: *const wchar_t,
401 _OldStream: *mut FILE,
402 ) -> errno_t;
403}
404extern "C" {
405 pub fn _wfsopen(
406 _FileName: *const wchar_t,
407 _Mode: *const wchar_t,
408 _ShFlag: ::std::os::raw::c_int,
409 ) -> *mut FILE;
410}
411extern "C" {
412 pub fn _wperror(_ErrorMessage: *const wchar_t);
413}
414extern "C" {
415 pub fn _wpopen(_Command: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
416}
417extern "C" {
418 pub fn _wremove(_FileName: *const wchar_t) -> ::std::os::raw::c_int;
419}
420extern "C" {
421 pub fn _wtempnam(_Directory: *const wchar_t, _FilePrefix: *const wchar_t) -> *mut wchar_t;
422}
423extern "C" {
424 pub fn _wtmpnam_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> errno_t;
425}
426extern "C" {
427 pub fn _wtmpnam(_Buffer: *mut wchar_t) -> *mut wchar_t;
428}
429extern "C" {
430 pub fn _fgetwc_nolock(_Stream: *mut FILE) -> wint_t;
431}
432extern "C" {
433 pub fn _fputwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
434}
435extern "C" {
436 pub fn _getwc_nolock(_Stream: *mut FILE) -> wint_t;
437}
438extern "C" {
439 pub fn _putwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
440}
441extern "C" {
442 pub fn _ungetwc_nolock(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
443}
444extern "C" {
445 pub fn __stdio_common_vfwprintf(
446 _Options: ::std::os::raw::c_ulonglong,
447 _Stream: *mut FILE,
448 _Format: *const wchar_t,
449 _Locale: _locale_t,
450 _ArgList: va_list,
451 ) -> ::std::os::raw::c_int;
452}
453extern "C" {
454 pub fn __stdio_common_vfwprintf_s(
455 _Options: ::std::os::raw::c_ulonglong,
456 _Stream: *mut FILE,
457 _Format: *const wchar_t,
458 _Locale: _locale_t,
459 _ArgList: va_list,
460 ) -> ::std::os::raw::c_int;
461}
462extern "C" {
463 pub fn __stdio_common_vfwprintf_p(
464 _Options: ::std::os::raw::c_ulonglong,
465 _Stream: *mut FILE,
466 _Format: *const wchar_t,
467 _Locale: _locale_t,
468 _ArgList: va_list,
469 ) -> ::std::os::raw::c_int;
470}
471extern "C" {
472 pub fn __stdio_common_vfwscanf(
473 _Options: ::std::os::raw::c_ulonglong,
474 _Stream: *mut FILE,
475 _Format: *const wchar_t,
476 _Locale: _locale_t,
477 _ArgList: va_list,
478 ) -> ::std::os::raw::c_int;
479}
480extern "C" {
481 pub fn __stdio_common_vswprintf(
482 _Options: ::std::os::raw::c_ulonglong,
483 _Buffer: *mut wchar_t,
484 _BufferCount: usize,
485 _Format: *const wchar_t,
486 _Locale: _locale_t,
487 _ArgList: va_list,
488 ) -> ::std::os::raw::c_int;
489}
490extern "C" {
491 pub fn __stdio_common_vswprintf_s(
492 _Options: ::std::os::raw::c_ulonglong,
493 _Buffer: *mut wchar_t,
494 _BufferCount: usize,
495 _Format: *const wchar_t,
496 _Locale: _locale_t,
497 _ArgList: va_list,
498 ) -> ::std::os::raw::c_int;
499}
500extern "C" {
501 pub fn __stdio_common_vsnwprintf_s(
502 _Options: ::std::os::raw::c_ulonglong,
503 _Buffer: *mut wchar_t,
504 _BufferCount: usize,
505 _MaxCount: usize,
506 _Format: *const wchar_t,
507 _Locale: _locale_t,
508 _ArgList: va_list,
509 ) -> ::std::os::raw::c_int;
510}
511extern "C" {
512 pub fn __stdio_common_vswprintf_p(
513 _Options: ::std::os::raw::c_ulonglong,
514 _Buffer: *mut wchar_t,
515 _BufferCount: usize,
516 _Format: *const wchar_t,
517 _Locale: _locale_t,
518 _ArgList: va_list,
519 ) -> ::std::os::raw::c_int;
520}
521extern "C" {
522 pub fn __stdio_common_vswscanf(
523 _Options: ::std::os::raw::c_ulonglong,
524 _Buffer: *const wchar_t,
525 _BufferCount: usize,
526 _Format: *const wchar_t,
527 _Locale: _locale_t,
528 _ArgList: va_list,
529 ) -> ::std::os::raw::c_int;
530}
531pub type fpos_t = ::std::os::raw::c_longlong;
532extern "C" {
533 pub fn _get_stream_buffer_pointers(
534 _Stream: *mut FILE,
535 _Base: *mut *mut *mut ::std::os::raw::c_char,
536 _Pointer: *mut *mut *mut ::std::os::raw::c_char,
537 _Count: *mut *mut ::std::os::raw::c_int,
538 ) -> errno_t;
539}
540extern "C" {
541 pub fn clearerr_s(_Stream: *mut FILE) -> errno_t;
542}
543extern "C" {
544 pub fn fopen_s(
545 _Stream: *mut *mut FILE,
546 _FileName: *const ::std::os::raw::c_char,
547 _Mode: *const ::std::os::raw::c_char,
548 ) -> errno_t;
549}
550extern "C" {
551 pub fn fread_s(
552 _Buffer: *mut ::std::os::raw::c_void,
553 _BufferSize: usize,
554 _ElementSize: usize,
555 _ElementCount: usize,
556 _Stream: *mut FILE,
557 ) -> usize;
558}
559extern "C" {
560 pub fn freopen_s(
561 _Stream: *mut *mut FILE,
562 _FileName: *const ::std::os::raw::c_char,
563 _Mode: *const ::std::os::raw::c_char,
564 _OldStream: *mut FILE,
565 ) -> errno_t;
566}
567extern "C" {
568 pub fn gets_s(
569 _Buffer: *mut ::std::os::raw::c_char,
570 _Size: rsize_t,
571 ) -> *mut ::std::os::raw::c_char;
572}
573extern "C" {
574 pub fn tmpfile_s(_Stream: *mut *mut FILE) -> errno_t;
575}
576extern "C" {
577 pub fn tmpnam_s(_Buffer: *mut ::std::os::raw::c_char, _Size: rsize_t) -> errno_t;
578}
579extern "C" {
580 pub fn clearerr(_Stream: *mut FILE);
581}
582extern "C" {
583 pub fn fclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
584}
585extern "C" {
586 pub fn _fcloseall() -> ::std::os::raw::c_int;
587}
588extern "C" {
589 pub fn _fdopen(
590 _FileHandle: ::std::os::raw::c_int,
591 _Mode: *const ::std::os::raw::c_char,
592 ) -> *mut FILE;
593}
594extern "C" {
595 pub fn feof(_Stream: *mut FILE) -> ::std::os::raw::c_int;
596}
597extern "C" {
598 pub fn ferror(_Stream: *mut FILE) -> ::std::os::raw::c_int;
599}
600extern "C" {
601 pub fn fflush(_Stream: *mut FILE) -> ::std::os::raw::c_int;
602}
603extern "C" {
604 pub fn fgetc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
605}
606extern "C" {
607 pub fn _fgetchar() -> ::std::os::raw::c_int;
608}
609extern "C" {
610 pub fn fgetpos(_Stream: *mut FILE, _Position: *mut fpos_t) -> ::std::os::raw::c_int;
611}
612extern "C" {
613 pub fn fgets(
614 _Buffer: *mut ::std::os::raw::c_char,
615 _MaxCount: ::std::os::raw::c_int,
616 _Stream: *mut FILE,
617 ) -> *mut ::std::os::raw::c_char;
618}
619extern "C" {
620 pub fn _fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
621}
622extern "C" {
623 pub fn _flushall() -> ::std::os::raw::c_int;
624}
625extern "C" {
626 pub fn fopen(
627 _FileName: *const ::std::os::raw::c_char,
628 _Mode: *const ::std::os::raw::c_char,
629 ) -> *mut FILE;
630}
631extern "C" {
632 pub fn fputc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
633}
634extern "C" {
635 pub fn _fputchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
636}
637extern "C" {
638 pub fn fputs(
639 _Buffer: *const ::std::os::raw::c_char,
640 _Stream: *mut FILE,
641 ) -> ::std::os::raw::c_int;
642}
643extern "C" {
644 pub fn fread(
645 _Buffer: *mut ::std::os::raw::c_void,
646 _ElementSize: ::std::os::raw::c_ulonglong,
647 _ElementCount: ::std::os::raw::c_ulonglong,
648 _Stream: *mut FILE,
649 ) -> ::std::os::raw::c_ulonglong;
650}
651extern "C" {
652 pub fn freopen(
653 _FileName: *const ::std::os::raw::c_char,
654 _Mode: *const ::std::os::raw::c_char,
655 _Stream: *mut FILE,
656 ) -> *mut FILE;
657}
658extern "C" {
659 pub fn _fsopen(
660 _FileName: *const ::std::os::raw::c_char,
661 _Mode: *const ::std::os::raw::c_char,
662 _ShFlag: ::std::os::raw::c_int,
663 ) -> *mut FILE;
664}
665extern "C" {
666 pub fn fsetpos(_Stream: *mut FILE, _Position: *const fpos_t) -> ::std::os::raw::c_int;
667}
668extern "C" {
669 pub fn fseek(
670 _Stream: *mut FILE,
671 _Offset: ::std::os::raw::c_long,
672 _Origin: ::std::os::raw::c_int,
673 ) -> ::std::os::raw::c_int;
674}
675extern "C" {
676 pub fn _fseeki64(
677 _Stream: *mut FILE,
678 _Offset: ::std::os::raw::c_longlong,
679 _Origin: ::std::os::raw::c_int,
680 ) -> ::std::os::raw::c_int;
681}
682extern "C" {
683 pub fn ftell(_Stream: *mut FILE) -> ::std::os::raw::c_long;
684}
685extern "C" {
686 pub fn _ftelli64(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
687}
688extern "C" {
689 pub fn fwrite(
690 _Buffer: *const ::std::os::raw::c_void,
691 _ElementSize: ::std::os::raw::c_ulonglong,
692 _ElementCount: ::std::os::raw::c_ulonglong,
693 _Stream: *mut FILE,
694 ) -> ::std::os::raw::c_ulonglong;
695}
696extern "C" {
697 pub fn getc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
698}
699extern "C" {
700 pub fn getchar() -> ::std::os::raw::c_int;
701}
702extern "C" {
703 pub fn _getmaxstdio() -> ::std::os::raw::c_int;
704}
705extern "C" {
706 pub fn _getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
707}
708extern "C" {
709 pub fn perror(_ErrorMessage: *const ::std::os::raw::c_char);
710}
711extern "C" {
712 pub fn _pclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
713}
714extern "C" {
715 pub fn _popen(
716 _Command: *const ::std::os::raw::c_char,
717 _Mode: *const ::std::os::raw::c_char,
718 ) -> *mut FILE;
719}
720extern "C" {
721 pub fn putc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
722}
723extern "C" {
724 pub fn putchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
725}
726extern "C" {
727 pub fn puts(_Buffer: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
728}
729extern "C" {
730 pub fn _putw(_Word: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
731}
732extern "C" {
733 pub fn remove(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
734}
735extern "C" {
736 pub fn rename(
737 _OldFileName: *const ::std::os::raw::c_char,
738 _NewFileName: *const ::std::os::raw::c_char,
739 ) -> ::std::os::raw::c_int;
740}
741extern "C" {
742 pub fn _unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
743}
744extern "C" {
745 pub fn unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
746}
747extern "C" {
748 pub fn rewind(_Stream: *mut FILE);
749}
750extern "C" {
751 pub fn _rmtmp() -> ::std::os::raw::c_int;
752}
753extern "C" {
754 pub fn setbuf(_Stream: *mut FILE, _Buffer: *mut ::std::os::raw::c_char);
755}
756extern "C" {
757 pub fn _setmaxstdio(_Maximum: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
758}
759extern "C" {
760 pub fn setvbuf(
761 _Stream: *mut FILE,
762 _Buffer: *mut ::std::os::raw::c_char,
763 _Mode: ::std::os::raw::c_int,
764 _Size: usize,
765 ) -> ::std::os::raw::c_int;
766}
767extern "C" {
768 pub fn _tempnam(
769 _DirectoryName: *const ::std::os::raw::c_char,
770 _FilePrefix: *const ::std::os::raw::c_char,
771 ) -> *mut ::std::os::raw::c_char;
772}
773extern "C" {
774 pub fn tmpfile() -> *mut FILE;
775}
776extern "C" {
777 pub fn tmpnam(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
778}
779extern "C" {
780 pub fn ungetc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
781}
782extern "C" {
783 pub fn _lock_file(_Stream: *mut FILE);
784}
785extern "C" {
786 pub fn _unlock_file(_Stream: *mut FILE);
787}
788extern "C" {
789 pub fn _fclose_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
790}
791extern "C" {
792 pub fn _fflush_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
793}
794extern "C" {
795 pub fn _fgetc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
796}
797extern "C" {
798 pub fn _fputc_nolock(
799 _Character: ::std::os::raw::c_int,
800 _Stream: *mut FILE,
801 ) -> ::std::os::raw::c_int;
802}
803extern "C" {
804 pub fn _fread_nolock(
805 _Buffer: *mut ::std::os::raw::c_void,
806 _ElementSize: usize,
807 _ElementCount: usize,
808 _Stream: *mut FILE,
809 ) -> usize;
810}
811extern "C" {
812 pub fn _fread_nolock_s(
813 _Buffer: *mut ::std::os::raw::c_void,
814 _BufferSize: usize,
815 _ElementSize: usize,
816 _ElementCount: usize,
817 _Stream: *mut FILE,
818 ) -> usize;
819}
820extern "C" {
821 pub fn _fseek_nolock(
822 _Stream: *mut FILE,
823 _Offset: ::std::os::raw::c_long,
824 _Origin: ::std::os::raw::c_int,
825 ) -> ::std::os::raw::c_int;
826}
827extern "C" {
828 pub fn _fseeki64_nolock(
829 _Stream: *mut FILE,
830 _Offset: ::std::os::raw::c_longlong,
831 _Origin: ::std::os::raw::c_int,
832 ) -> ::std::os::raw::c_int;
833}
834extern "C" {
835 pub fn _ftell_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_long;
836}
837extern "C" {
838 pub fn _ftelli64_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
839}
840extern "C" {
841 pub fn _fwrite_nolock(
842 _Buffer: *const ::std::os::raw::c_void,
843 _ElementSize: usize,
844 _ElementCount: usize,
845 _Stream: *mut FILE,
846 ) -> usize;
847}
848extern "C" {
849 pub fn _getc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
850}
851extern "C" {
852 pub fn _putc_nolock(
853 _Character: ::std::os::raw::c_int,
854 _Stream: *mut FILE,
855 ) -> ::std::os::raw::c_int;
856}
857extern "C" {
858 pub fn _ungetc_nolock(
859 _Character: ::std::os::raw::c_int,
860 _Stream: *mut FILE,
861 ) -> ::std::os::raw::c_int;
862}
863extern "C" {
864 pub fn __p__commode() -> *mut ::std::os::raw::c_int;
865}
866extern "C" {
867 pub fn __stdio_common_vfprintf(
868 _Options: ::std::os::raw::c_ulonglong,
869 _Stream: *mut FILE,
870 _Format: *const ::std::os::raw::c_char,
871 _Locale: _locale_t,
872 _ArgList: va_list,
873 ) -> ::std::os::raw::c_int;
874}
875extern "C" {
876 pub fn __stdio_common_vfprintf_s(
877 _Options: ::std::os::raw::c_ulonglong,
878 _Stream: *mut FILE,
879 _Format: *const ::std::os::raw::c_char,
880 _Locale: _locale_t,
881 _ArgList: va_list,
882 ) -> ::std::os::raw::c_int;
883}
884extern "C" {
885 pub fn __stdio_common_vfprintf_p(
886 _Options: ::std::os::raw::c_ulonglong,
887 _Stream: *mut FILE,
888 _Format: *const ::std::os::raw::c_char,
889 _Locale: _locale_t,
890 _ArgList: va_list,
891 ) -> ::std::os::raw::c_int;
892}
893extern "C" {
894 pub fn _set_printf_count_output(_Value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
895}
896extern "C" {
897 pub fn _get_printf_count_output() -> ::std::os::raw::c_int;
898}
899extern "C" {
900 pub fn __stdio_common_vfscanf(
901 _Options: ::std::os::raw::c_ulonglong,
902 _Stream: *mut FILE,
903 _Format: *const ::std::os::raw::c_char,
904 _Locale: _locale_t,
905 _Arglist: va_list,
906 ) -> ::std::os::raw::c_int;
907}
908extern "C" {
909 pub fn __stdio_common_vsprintf(
910 _Options: ::std::os::raw::c_ulonglong,
911 _Buffer: *mut ::std::os::raw::c_char,
912 _BufferCount: usize,
913 _Format: *const ::std::os::raw::c_char,
914 _Locale: _locale_t,
915 _ArgList: va_list,
916 ) -> ::std::os::raw::c_int;
917}
918extern "C" {
919 pub fn __stdio_common_vsprintf_s(
920 _Options: ::std::os::raw::c_ulonglong,
921 _Buffer: *mut ::std::os::raw::c_char,
922 _BufferCount: usize,
923 _Format: *const ::std::os::raw::c_char,
924 _Locale: _locale_t,
925 _ArgList: va_list,
926 ) -> ::std::os::raw::c_int;
927}
928extern "C" {
929 pub fn __stdio_common_vsnprintf_s(
930 _Options: ::std::os::raw::c_ulonglong,
931 _Buffer: *mut ::std::os::raw::c_char,
932 _BufferCount: usize,
933 _MaxCount: usize,
934 _Format: *const ::std::os::raw::c_char,
935 _Locale: _locale_t,
936 _ArgList: va_list,
937 ) -> ::std::os::raw::c_int;
938}
939extern "C" {
940 pub fn __stdio_common_vsprintf_p(
941 _Options: ::std::os::raw::c_ulonglong,
942 _Buffer: *mut ::std::os::raw::c_char,
943 _BufferCount: usize,
944 _Format: *const ::std::os::raw::c_char,
945 _Locale: _locale_t,
946 _ArgList: va_list,
947 ) -> ::std::os::raw::c_int;
948}
949extern "C" {
950 pub fn __stdio_common_vsscanf(
951 _Options: ::std::os::raw::c_ulonglong,
952 _Buffer: *const ::std::os::raw::c_char,
953 _BufferCount: usize,
954 _Format: *const ::std::os::raw::c_char,
955 _Locale: _locale_t,
956 _ArgList: va_list,
957 ) -> ::std::os::raw::c_int;
958}
959extern "C" {
960 pub fn tempnam(
961 _Directory: *const ::std::os::raw::c_char,
962 _FilePrefix: *const ::std::os::raw::c_char,
963 ) -> *mut ::std::os::raw::c_char;
964}
965extern "C" {
966 pub fn fcloseall() -> ::std::os::raw::c_int;
967}
968extern "C" {
969 pub fn fdopen(
970 _FileHandle: ::std::os::raw::c_int,
971 _Format: *const ::std::os::raw::c_char,
972 ) -> *mut FILE;
973}
974extern "C" {
975 pub fn fgetchar() -> ::std::os::raw::c_int;
976}
977extern "C" {
978 pub fn fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
979}
980extern "C" {
981 pub fn flushall() -> ::std::os::raw::c_int;
982}
983extern "C" {
984 pub fn fputchar(_Ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
985}
986extern "C" {
987 pub fn getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
988}
989extern "C" {
990 pub fn putw(_Ch: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
991}
992extern "C" {
993 pub fn rmtmp() -> ::std::os::raw::c_int;
994}
995pub const CommandTopic_COMMAND_NULL: CommandTopic = 0;
996pub const CommandTopic_COMMAND_DRAWER_POINT_ADD: CommandTopic = 1;
997pub const CommandTopic_COMMAND_DRAWER_LINE_ADD: CommandTopic = 2;
998pub const CommandTopic_COMMAND_DRAWER_POINT_REMOVE: CommandTopic = 3;
999pub const CommandTopic_COMMAND_SEND_START_POS: CommandTopic = 4;
1000pub const CommandTopic_COMMAND_CHEATS_SET_MY_INCOME_MULTIPLIER: CommandTopic = 5;
1001pub const CommandTopic_COMMAND_SEND_TEXT_MESSAGE: CommandTopic = 6;
1002pub const CommandTopic_COMMAND_SET_LAST_POS_MESSAGE: CommandTopic = 7;
1003pub const CommandTopic_COMMAND_SEND_RESOURCES: CommandTopic = 8;
1004pub const CommandTopic_COMMAND_SEND_UNITS: CommandTopic = 9;
1005pub const CommandTopic_COMMAND_UNUSED_0: CommandTopic = 10;
1006pub const CommandTopic_COMMAND_UNUSED_1: CommandTopic = 11;
1007pub const CommandTopic_COMMAND_GROUP_CREATE: CommandTopic = 12;
1008pub const CommandTopic_COMMAND_GROUP_ERASE: CommandTopic = 13;
1009pub const CommandTopic_COMMAND_GROUP_ADD_UNIT: CommandTopic = 14;
1010pub const CommandTopic_COMMAND_GROUP_REMOVE_UNIT: CommandTopic = 15;
1011pub const CommandTopic_COMMAND_PATH_INIT: CommandTopic = 16;
1012pub const CommandTopic_COMMAND_PATH_GET_APPROXIMATE_LENGTH: CommandTopic = 17;
1013pub const CommandTopic_COMMAND_PATH_GET_NEXT_WAYPOINT: CommandTopic = 18;
1014pub const CommandTopic_COMMAND_PATH_FREE: CommandTopic = 19;
1015pub const CommandTopic_COMMAND_CHEATS_GIVE_ME_RESOURCE: CommandTopic = 20;
1016pub const CommandTopic_COMMAND_CALL_LUA_RULES: CommandTopic = 21;
1017pub const CommandTopic_COMMAND_DRAWER_ADD_NOTIFICATION: CommandTopic = 22;
1018pub const CommandTopic_COMMAND_DRAWER_DRAW_UNIT: CommandTopic = 23;
1019pub const CommandTopic_COMMAND_DRAWER_PATH_START: CommandTopic = 24;
1020pub const CommandTopic_COMMAND_DRAWER_PATH_FINISH: CommandTopic = 25;
1021pub const CommandTopic_COMMAND_DRAWER_PATH_DRAW_LINE: CommandTopic = 26;
1022pub const CommandTopic_COMMAND_DRAWER_PATH_DRAW_LINE_AND_ICON: CommandTopic = 27;
1023pub const CommandTopic_COMMAND_DRAWER_PATH_DRAW_ICON_AT_LAST_POS: CommandTopic = 28;
1024pub const CommandTopic_COMMAND_DRAWER_PATH_BREAK: CommandTopic = 29;
1025pub const CommandTopic_COMMAND_DRAWER_PATH_RESTART: CommandTopic = 30;
1026pub const CommandTopic_COMMAND_DRAWER_FIGURE_CREATE_SPLINE: CommandTopic = 31;
1027pub const CommandTopic_COMMAND_DRAWER_FIGURE_CREATE_LINE: CommandTopic = 32;
1028pub const CommandTopic_COMMAND_DRAWER_FIGURE_SET_COLOR: CommandTopic = 33;
1029pub const CommandTopic_COMMAND_DRAWER_FIGURE_DELETE: CommandTopic = 34;
1030pub const CommandTopic_COMMAND_UNIT_BUILD: CommandTopic = 35;
1031pub const CommandTopic_COMMAND_UNIT_STOP: CommandTopic = 36;
1032pub const CommandTopic_COMMAND_UNIT_WAIT: CommandTopic = 37;
1033pub const CommandTopic_COMMAND_UNIT_WAIT_TIME: CommandTopic = 38;
1034pub const CommandTopic_COMMAND_UNIT_WAIT_DEATH: CommandTopic = 39;
1035pub const CommandTopic_COMMAND_UNIT_WAIT_SQUAD: CommandTopic = 40;
1036pub const CommandTopic_COMMAND_UNIT_WAIT_GATHER: CommandTopic = 41;
1037pub const CommandTopic_COMMAND_UNIT_MOVE: CommandTopic = 42;
1038pub const CommandTopic_COMMAND_UNIT_PATROL: CommandTopic = 43;
1039pub const CommandTopic_COMMAND_UNIT_FIGHT: CommandTopic = 44;
1040pub const CommandTopic_COMMAND_UNIT_ATTACK: CommandTopic = 45;
1041pub const CommandTopic_COMMAND_UNIT_ATTACK_AREA: CommandTopic = 46;
1042pub const CommandTopic_COMMAND_UNIT_GUARD: CommandTopic = 47;
1043pub const CommandTopic_COMMAND_UNIT_AI_SELECT: CommandTopic = 48;
1044pub const CommandTopic_COMMAND_UNIT_GROUP_ADD: CommandTopic = 49;
1045pub const CommandTopic_COMMAND_UNIT_GROUP_CLEAR: CommandTopic = 50;
1046pub const CommandTopic_COMMAND_UNIT_REPAIR: CommandTopic = 51;
1047pub const CommandTopic_COMMAND_UNIT_SET_FIRE_STATE: CommandTopic = 52;
1048pub const CommandTopic_COMMAND_UNIT_SET_MOVE_STATE: CommandTopic = 53;
1049pub const CommandTopic_COMMAND_UNIT_SET_BASE: CommandTopic = 54;
1050pub const CommandTopic_COMMAND_UNIT_SELF_DESTROY: CommandTopic = 55;
1051pub const CommandTopic_COMMAND_UNIT_SET_WANTED_MAX_SPEED: CommandTopic = 56;
1052pub const CommandTopic_COMMAND_UNIT_LOAD_UNITS: CommandTopic = 57;
1053pub const CommandTopic_COMMAND_UNIT_LOAD_UNITS_AREA: CommandTopic = 58;
1054pub const CommandTopic_COMMAND_UNIT_LOAD_ONTO: CommandTopic = 59;
1055pub const CommandTopic_COMMAND_UNIT_UNLOAD_UNITS_AREA: CommandTopic = 60;
1056pub const CommandTopic_COMMAND_UNIT_UNLOAD_UNIT: CommandTopic = 61;
1057pub const CommandTopic_COMMAND_UNIT_SET_ON_OFF: CommandTopic = 62;
1058pub const CommandTopic_COMMAND_UNIT_RECLAIM_UNIT: CommandTopic = 63;
1059pub const CommandTopic_COMMAND_UNIT_RECLAIM_AREA: CommandTopic = 64;
1060pub const CommandTopic_COMMAND_UNIT_CLOAK: CommandTopic = 65;
1061pub const CommandTopic_COMMAND_UNIT_STOCKPILE: CommandTopic = 66;
1062pub const CommandTopic_COMMAND_UNIT_D_GUN: CommandTopic = 67;
1063pub const CommandTopic_COMMAND_UNIT_D_GUN_POS: CommandTopic = 68;
1064pub const CommandTopic_COMMAND_UNIT_RESTORE_AREA: CommandTopic = 69;
1065pub const CommandTopic_COMMAND_UNIT_SET_REPEAT: CommandTopic = 70;
1066pub const CommandTopic_COMMAND_UNIT_SET_TRAJECTORY: CommandTopic = 71;
1067pub const CommandTopic_COMMAND_UNIT_RESURRECT: CommandTopic = 72;
1068pub const CommandTopic_COMMAND_UNIT_RESURRECT_AREA: CommandTopic = 73;
1069pub const CommandTopic_COMMAND_UNIT_CAPTURE: CommandTopic = 74;
1070pub const CommandTopic_COMMAND_UNIT_CAPTURE_AREA: CommandTopic = 75;
1071pub const CommandTopic_COMMAND_UNIT_SET_AUTO_REPAIR_LEVEL: CommandTopic = 76;
1072pub const CommandTopic_COMMAND_UNIT_SET_IDLE_MODE: CommandTopic = 77;
1073pub const CommandTopic_COMMAND_UNIT_CUSTOM: CommandTopic = 78;
1074pub const CommandTopic_COMMAND_CHEATS_GIVE_ME_NEW_UNIT: CommandTopic = 79;
1075pub const CommandTopic_COMMAND_TRACE_RAY: CommandTopic = 80;
1076pub const CommandTopic_COMMAND_PAUSE: CommandTopic = 81;
1077pub const CommandTopic_COMMAND_UNIT_RECLAIM_FEATURE: CommandTopic = 82;
1078pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_SET_POS: CommandTopic = 83;
1079pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_SET_SIZE: CommandTopic = 84;
1080pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_ADD_POINT: CommandTopic = 85;
1081pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_DELETE_POINTS: CommandTopic = 86;
1082pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_SET_COLOR: CommandTopic = 87;
1083pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_SET_LABEL: CommandTopic = 88;
1084pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_ADD: CommandTopic = 89;
1085pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_UPDATE: CommandTopic = 90;
1086pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_DELETE: CommandTopic = 91;
1087pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_POS: CommandTopic = 92;
1088pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_SIZE: CommandTopic = 93;
1089pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_LABEL: CommandTopic = 94;
1090pub const CommandTopic_COMMAND_TRACE_RAY_FEATURE: CommandTopic = 95;
1091pub const CommandTopic_COMMAND_CALL_LUA_UI: CommandTopic = 96;
1092#[doc = " Commands are used for all activities that change game state,\n in spring terms: synced events\n Activities that leave the game state as it is (-> unsynced events)\n are handled through function pointers in SSkirmishAICallback.h.\n\n Each command type can be identified through a unique ID,\n which we call command topic.\n Commands are usually sent from AIs to the engine,\n but there are plans for the future to allow AI -> AI command scheduling.\n\n Note: Do NOT change the values assigned to these topics in enum CommandTopic,\n as this would be bad for inter-version compatibility.\n You should always append new command topics at the end of this list,\n adjust NUM_CMD_TOPICS and add the struct in AIINTERFACE_COMMANDS_ABI_VERSION.\n\n @see SSkirmishAICallback.handleCommand()"]
1093pub type CommandTopic = ::std::os::raw::c_int;
1094pub const NUM_CMD_TOPICS: ::std::os::raw::c_int = 97;
1095pub const UnitCommandOptions_UNIT_COMMAND_OPTION_INTERNAL_ORDER: UnitCommandOptions = 8;
1096pub const UnitCommandOptions_UNIT_COMMAND_OPTION_RIGHT_MOUSE_KEY: UnitCommandOptions = 16;
1097pub const UnitCommandOptions_UNIT_COMMAND_OPTION_SHIFT_KEY: UnitCommandOptions = 32;
1098pub const UnitCommandOptions_UNIT_COMMAND_OPTION_CONTROL_KEY: UnitCommandOptions = 64;
1099pub const UnitCommandOptions_UNIT_COMMAND_OPTION_ALT_KEY: UnitCommandOptions = 128;
1100#[doc = " These are used in all S*UnitCommand's,\n in their options field, which is used as a bitfield.\n This allows to enable special modes of commands,\n which may be command specific.\n For example (one you all know):\n if (SBuildUnitCommand.options & UNIT_COMMAND_OPTION_SHIFT_KEY != 0)\n then: add to unit command queue, instead of replacing it\n"]
1101pub type UnitCommandOptions = ::std::os::raw::c_int;
1102#[doc = " Allows one to give an income (dis-)advantage to the team\n controlled by the Skirmish AI.\n This value can also be set through the GameSetup script,\n with the difference that it causes an instant desync when set here."]
1103#[repr(C)]
1104#[derive(Debug, Copy, Clone)]
1105pub struct SSetMyIncomeMultiplierCheatCommand {
1106 #[doc = " default: 1.0; common: [0.0, 2.0]; valid: [0.0, FLOAT_MAX]"]
1107 pub factor: f32,
1108}
1109#[test]
1110fn bindgen_test_layout_SSetMyIncomeMultiplierCheatCommand() {
1111 const UNINIT: ::std::mem::MaybeUninit<SSetMyIncomeMultiplierCheatCommand> =
1112 ::std::mem::MaybeUninit::uninit();
1113 let ptr = UNINIT.as_ptr();
1114 assert_eq!(
1115 ::std::mem::size_of::<SSetMyIncomeMultiplierCheatCommand>(),
1116 4usize,
1117 concat!("Size of: ", stringify!(SSetMyIncomeMultiplierCheatCommand))
1118 );
1119 assert_eq!(
1120 ::std::mem::align_of::<SSetMyIncomeMultiplierCheatCommand>(),
1121 4usize,
1122 concat!(
1123 "Alignment of ",
1124 stringify!(SSetMyIncomeMultiplierCheatCommand)
1125 )
1126 );
1127 assert_eq!(
1128 unsafe { ::std::ptr::addr_of!((*ptr).factor) as usize - ptr as usize },
1129 0usize,
1130 concat!(
1131 "Offset of field: ",
1132 stringify!(SSetMyIncomeMultiplierCheatCommand),
1133 "::",
1134 stringify!(factor)
1135 )
1136 );
1137}
1138#[doc = " The AI team receives the specified amount of units of the specified resource."]
1139#[repr(C)]
1140#[derive(Debug, Copy, Clone)]
1141pub struct SGiveMeResourceCheatCommand {
1142 pub resourceId: ::std::os::raw::c_int,
1143 pub amount: f32,
1144}
1145#[test]
1146fn bindgen_test_layout_SGiveMeResourceCheatCommand() {
1147 const UNINIT: ::std::mem::MaybeUninit<SGiveMeResourceCheatCommand> =
1148 ::std::mem::MaybeUninit::uninit();
1149 let ptr = UNINIT.as_ptr();
1150 assert_eq!(
1151 ::std::mem::size_of::<SGiveMeResourceCheatCommand>(),
1152 8usize,
1153 concat!("Size of: ", stringify!(SGiveMeResourceCheatCommand))
1154 );
1155 assert_eq!(
1156 ::std::mem::align_of::<SGiveMeResourceCheatCommand>(),
1157 4usize,
1158 concat!("Alignment of ", stringify!(SGiveMeResourceCheatCommand))
1159 );
1160 assert_eq!(
1161 unsafe { ::std::ptr::addr_of!((*ptr).resourceId) as usize - ptr as usize },
1162 0usize,
1163 concat!(
1164 "Offset of field: ",
1165 stringify!(SGiveMeResourceCheatCommand),
1166 "::",
1167 stringify!(resourceId)
1168 )
1169 );
1170 assert_eq!(
1171 unsafe { ::std::ptr::addr_of!((*ptr).amount) as usize - ptr as usize },
1172 4usize,
1173 concat!(
1174 "Offset of field: ",
1175 stringify!(SGiveMeResourceCheatCommand),
1176 "::",
1177 stringify!(amount)
1178 )
1179 );
1180}
1181#[doc = " Creates a new unit with the selected name at pos,\n and returns its unit ID in ret_newUnitId."]
1182#[repr(C)]
1183#[derive(Debug, Copy, Clone)]
1184pub struct SGiveMeNewUnitCheatCommand {
1185 pub unitDefId: ::std::os::raw::c_int,
1186 pub pos_posF3: *mut f32,
1187 pub ret_newUnitId: ::std::os::raw::c_int,
1188}
1189#[test]
1190fn bindgen_test_layout_SGiveMeNewUnitCheatCommand() {
1191 const UNINIT: ::std::mem::MaybeUninit<SGiveMeNewUnitCheatCommand> =
1192 ::std::mem::MaybeUninit::uninit();
1193 let ptr = UNINIT.as_ptr();
1194 assert_eq!(
1195 ::std::mem::size_of::<SGiveMeNewUnitCheatCommand>(),
1196 24usize,
1197 concat!("Size of: ", stringify!(SGiveMeNewUnitCheatCommand))
1198 );
1199 assert_eq!(
1200 ::std::mem::align_of::<SGiveMeNewUnitCheatCommand>(),
1201 8usize,
1202 concat!("Alignment of ", stringify!(SGiveMeNewUnitCheatCommand))
1203 );
1204 assert_eq!(
1205 unsafe { ::std::ptr::addr_of!((*ptr).unitDefId) as usize - ptr as usize },
1206 0usize,
1207 concat!(
1208 "Offset of field: ",
1209 stringify!(SGiveMeNewUnitCheatCommand),
1210 "::",
1211 stringify!(unitDefId)
1212 )
1213 );
1214 assert_eq!(
1215 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
1216 8usize,
1217 concat!(
1218 "Offset of field: ",
1219 stringify!(SGiveMeNewUnitCheatCommand),
1220 "::",
1221 stringify!(pos_posF3)
1222 )
1223 );
1224 assert_eq!(
1225 unsafe { ::std::ptr::addr_of!((*ptr).ret_newUnitId) as usize - ptr as usize },
1226 16usize,
1227 concat!(
1228 "Offset of field: ",
1229 stringify!(SGiveMeNewUnitCheatCommand),
1230 "::",
1231 stringify!(ret_newUnitId)
1232 )
1233 );
1234}
1235#[doc = " @brief Sends a chat/text message to other players.\n This text will also end up in infolog.txt."]
1236#[repr(C)]
1237#[derive(Debug, Copy, Clone)]
1238pub struct SSendTextMessageCommand {
1239 pub text: *const ::std::os::raw::c_char,
1240 pub zone: ::std::os::raw::c_int,
1241}
1242#[test]
1243fn bindgen_test_layout_SSendTextMessageCommand() {
1244 const UNINIT: ::std::mem::MaybeUninit<SSendTextMessageCommand> =
1245 ::std::mem::MaybeUninit::uninit();
1246 let ptr = UNINIT.as_ptr();
1247 assert_eq!(
1248 ::std::mem::size_of::<SSendTextMessageCommand>(),
1249 16usize,
1250 concat!("Size of: ", stringify!(SSendTextMessageCommand))
1251 );
1252 assert_eq!(
1253 ::std::mem::align_of::<SSendTextMessageCommand>(),
1254 8usize,
1255 concat!("Alignment of ", stringify!(SSendTextMessageCommand))
1256 );
1257 assert_eq!(
1258 unsafe { ::std::ptr::addr_of!((*ptr).text) as usize - ptr as usize },
1259 0usize,
1260 concat!(
1261 "Offset of field: ",
1262 stringify!(SSendTextMessageCommand),
1263 "::",
1264 stringify!(text)
1265 )
1266 );
1267 assert_eq!(
1268 unsafe { ::std::ptr::addr_of!((*ptr).zone) as usize - ptr as usize },
1269 8usize,
1270 concat!(
1271 "Offset of field: ",
1272 stringify!(SSendTextMessageCommand),
1273 "::",
1274 stringify!(zone)
1275 )
1276 );
1277}
1278#[doc = " Assigns a map location to the last text message sent by the AI."]
1279#[repr(C)]
1280#[derive(Debug, Copy, Clone)]
1281pub struct SSetLastPosMessageCommand {
1282 pub pos_posF3: *mut f32,
1283}
1284#[test]
1285fn bindgen_test_layout_SSetLastPosMessageCommand() {
1286 const UNINIT: ::std::mem::MaybeUninit<SSetLastPosMessageCommand> =
1287 ::std::mem::MaybeUninit::uninit();
1288 let ptr = UNINIT.as_ptr();
1289 assert_eq!(
1290 ::std::mem::size_of::<SSetLastPosMessageCommand>(),
1291 8usize,
1292 concat!("Size of: ", stringify!(SSetLastPosMessageCommand))
1293 );
1294 assert_eq!(
1295 ::std::mem::align_of::<SSetLastPosMessageCommand>(),
1296 8usize,
1297 concat!("Alignment of ", stringify!(SSetLastPosMessageCommand))
1298 );
1299 assert_eq!(
1300 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
1301 0usize,
1302 concat!(
1303 "Offset of field: ",
1304 stringify!(SSetLastPosMessageCommand),
1305 "::",
1306 stringify!(pos_posF3)
1307 )
1308 );
1309}
1310#[doc = " Give \\<amount\\> units of resource \\<resourceId\\> to team \\<receivingTeam\\>.\n - the amount is capped to the AI team's resource levels\n - does not check for alliance with \\<receivingTeam\\>\n - LuaRules might not allow resource transfers, AI's must verify the deduction"]
1311#[repr(C)]
1312#[derive(Debug, Copy, Clone)]
1313pub struct SSendResourcesCommand {
1314 pub resourceId: ::std::os::raw::c_int,
1315 pub amount: f32,
1316 pub receivingTeamId: ::std::os::raw::c_int,
1317 pub ret_isExecuted: bool,
1318}
1319#[test]
1320fn bindgen_test_layout_SSendResourcesCommand() {
1321 const UNINIT: ::std::mem::MaybeUninit<SSendResourcesCommand> =
1322 ::std::mem::MaybeUninit::uninit();
1323 let ptr = UNINIT.as_ptr();
1324 assert_eq!(
1325 ::std::mem::size_of::<SSendResourcesCommand>(),
1326 16usize,
1327 concat!("Size of: ", stringify!(SSendResourcesCommand))
1328 );
1329 assert_eq!(
1330 ::std::mem::align_of::<SSendResourcesCommand>(),
1331 4usize,
1332 concat!("Alignment of ", stringify!(SSendResourcesCommand))
1333 );
1334 assert_eq!(
1335 unsafe { ::std::ptr::addr_of!((*ptr).resourceId) as usize - ptr as usize },
1336 0usize,
1337 concat!(
1338 "Offset of field: ",
1339 stringify!(SSendResourcesCommand),
1340 "::",
1341 stringify!(resourceId)
1342 )
1343 );
1344 assert_eq!(
1345 unsafe { ::std::ptr::addr_of!((*ptr).amount) as usize - ptr as usize },
1346 4usize,
1347 concat!(
1348 "Offset of field: ",
1349 stringify!(SSendResourcesCommand),
1350 "::",
1351 stringify!(amount)
1352 )
1353 );
1354 assert_eq!(
1355 unsafe { ::std::ptr::addr_of!((*ptr).receivingTeamId) as usize - ptr as usize },
1356 8usize,
1357 concat!(
1358 "Offset of field: ",
1359 stringify!(SSendResourcesCommand),
1360 "::",
1361 stringify!(receivingTeamId)
1362 )
1363 );
1364 assert_eq!(
1365 unsafe { ::std::ptr::addr_of!((*ptr).ret_isExecuted) as usize - ptr as usize },
1366 12usize,
1367 concat!(
1368 "Offset of field: ",
1369 stringify!(SSendResourcesCommand),
1370 "::",
1371 stringify!(ret_isExecuted)
1372 )
1373 );
1374}
1375#[doc = " Give units specified by \\<unitIds\\> to team \\<receivingTeam\\>.\n \\<ret_sentUnits\\> represents how many actually were transferred.\n Make sure this always matches the size of \\<unitIds\\> you passed in.\n If it does not, then some unitId's were filtered out.\n - does not check for alliance with \\<receivingTeam\\>\n - AI's should check each unit if it is still under control of their\n team after the transaction via UnitTaken() and UnitGiven(), since\n LuaRules might block part of it"]
1376#[repr(C)]
1377#[derive(Debug, Copy, Clone)]
1378pub struct SSendUnitsCommand {
1379 pub unitIds: *mut ::std::os::raw::c_int,
1380 pub unitIds_size: ::std::os::raw::c_int,
1381 pub receivingTeamId: ::std::os::raw::c_int,
1382 pub ret_sentUnits: ::std::os::raw::c_int,
1383}
1384#[test]
1385fn bindgen_test_layout_SSendUnitsCommand() {
1386 const UNINIT: ::std::mem::MaybeUninit<SSendUnitsCommand> = ::std::mem::MaybeUninit::uninit();
1387 let ptr = UNINIT.as_ptr();
1388 assert_eq!(
1389 ::std::mem::size_of::<SSendUnitsCommand>(),
1390 24usize,
1391 concat!("Size of: ", stringify!(SSendUnitsCommand))
1392 );
1393 assert_eq!(
1394 ::std::mem::align_of::<SSendUnitsCommand>(),
1395 8usize,
1396 concat!("Alignment of ", stringify!(SSendUnitsCommand))
1397 );
1398 assert_eq!(
1399 unsafe { ::std::ptr::addr_of!((*ptr).unitIds) as usize - ptr as usize },
1400 0usize,
1401 concat!(
1402 "Offset of field: ",
1403 stringify!(SSendUnitsCommand),
1404 "::",
1405 stringify!(unitIds)
1406 )
1407 );
1408 assert_eq!(
1409 unsafe { ::std::ptr::addr_of!((*ptr).unitIds_size) as usize - ptr as usize },
1410 8usize,
1411 concat!(
1412 "Offset of field: ",
1413 stringify!(SSendUnitsCommand),
1414 "::",
1415 stringify!(unitIds_size)
1416 )
1417 );
1418 assert_eq!(
1419 unsafe { ::std::ptr::addr_of!((*ptr).receivingTeamId) as usize - ptr as usize },
1420 12usize,
1421 concat!(
1422 "Offset of field: ",
1423 stringify!(SSendUnitsCommand),
1424 "::",
1425 stringify!(receivingTeamId)
1426 )
1427 );
1428 assert_eq!(
1429 unsafe { ::std::ptr::addr_of!((*ptr).ret_sentUnits) as usize - ptr as usize },
1430 16usize,
1431 concat!(
1432 "Offset of field: ",
1433 stringify!(SSendUnitsCommand),
1434 "::",
1435 stringify!(ret_sentUnits)
1436 )
1437 );
1438}
1439#[doc = " Creates a group and returns the id it was given, returns -1 on failure"]
1440#[repr(C)]
1441#[derive(Debug, Copy, Clone)]
1442pub struct SCreateGroupCommand {
1443 pub ret_groupId: ::std::os::raw::c_int,
1444}
1445#[test]
1446fn bindgen_test_layout_SCreateGroupCommand() {
1447 const UNINIT: ::std::mem::MaybeUninit<SCreateGroupCommand> = ::std::mem::MaybeUninit::uninit();
1448 let ptr = UNINIT.as_ptr();
1449 assert_eq!(
1450 ::std::mem::size_of::<SCreateGroupCommand>(),
1451 4usize,
1452 concat!("Size of: ", stringify!(SCreateGroupCommand))
1453 );
1454 assert_eq!(
1455 ::std::mem::align_of::<SCreateGroupCommand>(),
1456 4usize,
1457 concat!("Alignment of ", stringify!(SCreateGroupCommand))
1458 );
1459 assert_eq!(
1460 unsafe { ::std::ptr::addr_of!((*ptr).ret_groupId) as usize - ptr as usize },
1461 0usize,
1462 concat!(
1463 "Offset of field: ",
1464 stringify!(SCreateGroupCommand),
1465 "::",
1466 stringify!(ret_groupId)
1467 )
1468 );
1469}
1470#[doc = " Erases a specified group"]
1471#[repr(C)]
1472#[derive(Debug, Copy, Clone)]
1473pub struct SEraseGroupCommand {
1474 pub groupId: ::std::os::raw::c_int,
1475}
1476#[test]
1477fn bindgen_test_layout_SEraseGroupCommand() {
1478 const UNINIT: ::std::mem::MaybeUninit<SEraseGroupCommand> = ::std::mem::MaybeUninit::uninit();
1479 let ptr = UNINIT.as_ptr();
1480 assert_eq!(
1481 ::std::mem::size_of::<SEraseGroupCommand>(),
1482 4usize,
1483 concat!("Size of: ", stringify!(SEraseGroupCommand))
1484 );
1485 assert_eq!(
1486 ::std::mem::align_of::<SEraseGroupCommand>(),
1487 4usize,
1488 concat!("Alignment of ", stringify!(SEraseGroupCommand))
1489 );
1490 assert_eq!(
1491 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
1492 0usize,
1493 concat!(
1494 "Offset of field: ",
1495 stringify!(SEraseGroupCommand),
1496 "::",
1497 stringify!(groupId)
1498 )
1499 );
1500}
1501#[doc = " The following functions allow the AI to use the built-in path-finder.\n\n - call InitPath and you get a pathId back\n - use this to call GetNextWaypoint to get subsequent waypoints;\n the waypoints are centered on 8*8 squares\n - note that the pathfinder calculates the waypoints as needed,\n so do not retrieve them until they are needed\n - the waypoint's x and z coordinates are returned in x and z,\n while y is used for status codes:\n y = 0: legal path waypoint IFF x >= 0 and z >= 0\n y = -1: temporary waypoint, path not yet available\n - for pathType, @see UnitDef_MoveData_getPathType()\n - goalRadius defines a goal area within which any square could be accepted as\n path target. If a singular goal position is wanted, use 0.0f.\n default: 8.0f"]
1502#[repr(C)]
1503#[derive(Debug, Copy, Clone)]
1504pub struct SInitPathCommand {
1505 #[doc = " The starting location of the requested path"]
1506 pub start_posF3: *mut f32,
1507 #[doc = " The goal location of the requested path"]
1508 pub end_posF3: *mut f32,
1509 #[doc = " For what type of unit should the path be calculated"]
1510 pub pathType: ::std::os::raw::c_int,
1511 #[doc = " default: 8.0f"]
1512 pub goalRadius: f32,
1513 pub ret_pathId: ::std::os::raw::c_int,
1514}
1515#[test]
1516fn bindgen_test_layout_SInitPathCommand() {
1517 const UNINIT: ::std::mem::MaybeUninit<SInitPathCommand> = ::std::mem::MaybeUninit::uninit();
1518 let ptr = UNINIT.as_ptr();
1519 assert_eq!(
1520 ::std::mem::size_of::<SInitPathCommand>(),
1521 32usize,
1522 concat!("Size of: ", stringify!(SInitPathCommand))
1523 );
1524 assert_eq!(
1525 ::std::mem::align_of::<SInitPathCommand>(),
1526 8usize,
1527 concat!("Alignment of ", stringify!(SInitPathCommand))
1528 );
1529 assert_eq!(
1530 unsafe { ::std::ptr::addr_of!((*ptr).start_posF3) as usize - ptr as usize },
1531 0usize,
1532 concat!(
1533 "Offset of field: ",
1534 stringify!(SInitPathCommand),
1535 "::",
1536 stringify!(start_posF3)
1537 )
1538 );
1539 assert_eq!(
1540 unsafe { ::std::ptr::addr_of!((*ptr).end_posF3) as usize - ptr as usize },
1541 8usize,
1542 concat!(
1543 "Offset of field: ",
1544 stringify!(SInitPathCommand),
1545 "::",
1546 stringify!(end_posF3)
1547 )
1548 );
1549 assert_eq!(
1550 unsafe { ::std::ptr::addr_of!((*ptr).pathType) as usize - ptr as usize },
1551 16usize,
1552 concat!(
1553 "Offset of field: ",
1554 stringify!(SInitPathCommand),
1555 "::",
1556 stringify!(pathType)
1557 )
1558 );
1559 assert_eq!(
1560 unsafe { ::std::ptr::addr_of!((*ptr).goalRadius) as usize - ptr as usize },
1561 20usize,
1562 concat!(
1563 "Offset of field: ",
1564 stringify!(SInitPathCommand),
1565 "::",
1566 stringify!(goalRadius)
1567 )
1568 );
1569 assert_eq!(
1570 unsafe { ::std::ptr::addr_of!((*ptr).ret_pathId) as usize - ptr as usize },
1571 24usize,
1572 concat!(
1573 "Offset of field: ",
1574 stringify!(SInitPathCommand),
1575 "::",
1576 stringify!(ret_pathId)
1577 )
1578 );
1579}
1580#[doc = " Returns the approximate path cost between two points.\n - for pathType @see UnitDef_MoveData_getPathType()\n - goalRadius defines a goal area within which any square could be accepted as\n path target. If a singular goal position is wanted, use 0.0f.\n default: 8.0f"]
1581#[repr(C)]
1582#[derive(Debug, Copy, Clone)]
1583pub struct SGetApproximateLengthPathCommand {
1584 #[doc = " The starting location of the requested path"]
1585 pub start_posF3: *mut f32,
1586 #[doc = " The goal location of the requested path"]
1587 pub end_posF3: *mut f32,
1588 #[doc = " For what type of unit should the path be calculated"]
1589 pub pathType: ::std::os::raw::c_int,
1590 #[doc = " default: 8.0f"]
1591 pub goalRadius: f32,
1592 pub ret_approximatePathLength: f32,
1593}
1594#[test]
1595fn bindgen_test_layout_SGetApproximateLengthPathCommand() {
1596 const UNINIT: ::std::mem::MaybeUninit<SGetApproximateLengthPathCommand> =
1597 ::std::mem::MaybeUninit::uninit();
1598 let ptr = UNINIT.as_ptr();
1599 assert_eq!(
1600 ::std::mem::size_of::<SGetApproximateLengthPathCommand>(),
1601 32usize,
1602 concat!("Size of: ", stringify!(SGetApproximateLengthPathCommand))
1603 );
1604 assert_eq!(
1605 ::std::mem::align_of::<SGetApproximateLengthPathCommand>(),
1606 8usize,
1607 concat!(
1608 "Alignment of ",
1609 stringify!(SGetApproximateLengthPathCommand)
1610 )
1611 );
1612 assert_eq!(
1613 unsafe { ::std::ptr::addr_of!((*ptr).start_posF3) as usize - ptr as usize },
1614 0usize,
1615 concat!(
1616 "Offset of field: ",
1617 stringify!(SGetApproximateLengthPathCommand),
1618 "::",
1619 stringify!(start_posF3)
1620 )
1621 );
1622 assert_eq!(
1623 unsafe { ::std::ptr::addr_of!((*ptr).end_posF3) as usize - ptr as usize },
1624 8usize,
1625 concat!(
1626 "Offset of field: ",
1627 stringify!(SGetApproximateLengthPathCommand),
1628 "::",
1629 stringify!(end_posF3)
1630 )
1631 );
1632 assert_eq!(
1633 unsafe { ::std::ptr::addr_of!((*ptr).pathType) as usize - ptr as usize },
1634 16usize,
1635 concat!(
1636 "Offset of field: ",
1637 stringify!(SGetApproximateLengthPathCommand),
1638 "::",
1639 stringify!(pathType)
1640 )
1641 );
1642 assert_eq!(
1643 unsafe { ::std::ptr::addr_of!((*ptr).goalRadius) as usize - ptr as usize },
1644 20usize,
1645 concat!(
1646 "Offset of field: ",
1647 stringify!(SGetApproximateLengthPathCommand),
1648 "::",
1649 stringify!(goalRadius)
1650 )
1651 );
1652 assert_eq!(
1653 unsafe { ::std::ptr::addr_of!((*ptr).ret_approximatePathLength) as usize - ptr as usize },
1654 24usize,
1655 concat!(
1656 "Offset of field: ",
1657 stringify!(SGetApproximateLengthPathCommand),
1658 "::",
1659 stringify!(ret_approximatePathLength)
1660 )
1661 );
1662}
1663#[repr(C)]
1664#[derive(Debug, Copy, Clone)]
1665pub struct SGetNextWaypointPathCommand {
1666 pub pathId: ::std::os::raw::c_int,
1667 pub ret_nextWaypoint_posF3_out: *mut f32,
1668}
1669#[test]
1670fn bindgen_test_layout_SGetNextWaypointPathCommand() {
1671 const UNINIT: ::std::mem::MaybeUninit<SGetNextWaypointPathCommand> =
1672 ::std::mem::MaybeUninit::uninit();
1673 let ptr = UNINIT.as_ptr();
1674 assert_eq!(
1675 ::std::mem::size_of::<SGetNextWaypointPathCommand>(),
1676 16usize,
1677 concat!("Size of: ", stringify!(SGetNextWaypointPathCommand))
1678 );
1679 assert_eq!(
1680 ::std::mem::align_of::<SGetNextWaypointPathCommand>(),
1681 8usize,
1682 concat!("Alignment of ", stringify!(SGetNextWaypointPathCommand))
1683 );
1684 assert_eq!(
1685 unsafe { ::std::ptr::addr_of!((*ptr).pathId) as usize - ptr as usize },
1686 0usize,
1687 concat!(
1688 "Offset of field: ",
1689 stringify!(SGetNextWaypointPathCommand),
1690 "::",
1691 stringify!(pathId)
1692 )
1693 );
1694 assert_eq!(
1695 unsafe { ::std::ptr::addr_of!((*ptr).ret_nextWaypoint_posF3_out) as usize - ptr as usize },
1696 8usize,
1697 concat!(
1698 "Offset of field: ",
1699 stringify!(SGetNextWaypointPathCommand),
1700 "::",
1701 stringify!(ret_nextWaypoint_posF3_out)
1702 )
1703 );
1704}
1705#[repr(C)]
1706#[derive(Debug, Copy, Clone)]
1707pub struct SFreePathCommand {
1708 pub pathId: ::std::os::raw::c_int,
1709}
1710#[test]
1711fn bindgen_test_layout_SFreePathCommand() {
1712 const UNINIT: ::std::mem::MaybeUninit<SFreePathCommand> = ::std::mem::MaybeUninit::uninit();
1713 let ptr = UNINIT.as_ptr();
1714 assert_eq!(
1715 ::std::mem::size_of::<SFreePathCommand>(),
1716 4usize,
1717 concat!("Size of: ", stringify!(SFreePathCommand))
1718 );
1719 assert_eq!(
1720 ::std::mem::align_of::<SFreePathCommand>(),
1721 4usize,
1722 concat!("Alignment of ", stringify!(SFreePathCommand))
1723 );
1724 assert_eq!(
1725 unsafe { ::std::ptr::addr_of!((*ptr).pathId) as usize - ptr as usize },
1726 0usize,
1727 concat!(
1728 "Offset of field: ",
1729 stringify!(SFreePathCommand),
1730 "::",
1731 stringify!(pathId)
1732 )
1733 );
1734}
1735#[repr(C)]
1736#[derive(Debug, Copy, Clone)]
1737pub struct SCallLuaRulesCommand {
1738 #[doc = " Can be set to NULL to skip passing in a string"]
1739 pub inData: *const ::std::os::raw::c_char,
1740 #[doc = " If this is less than 0, the data size is calculated using strlen()"]
1741 pub inSize: ::std::os::raw::c_int,
1742 #[doc = " Buffer for response, must be const size of MAX_RESPONSE_SIZE bytes"]
1743 pub ret_outData: *mut ::std::os::raw::c_char,
1744}
1745#[test]
1746fn bindgen_test_layout_SCallLuaRulesCommand() {
1747 const UNINIT: ::std::mem::MaybeUninit<SCallLuaRulesCommand> = ::std::mem::MaybeUninit::uninit();
1748 let ptr = UNINIT.as_ptr();
1749 assert_eq!(
1750 ::std::mem::size_of::<SCallLuaRulesCommand>(),
1751 24usize,
1752 concat!("Size of: ", stringify!(SCallLuaRulesCommand))
1753 );
1754 assert_eq!(
1755 ::std::mem::align_of::<SCallLuaRulesCommand>(),
1756 8usize,
1757 concat!("Alignment of ", stringify!(SCallLuaRulesCommand))
1758 );
1759 assert_eq!(
1760 unsafe { ::std::ptr::addr_of!((*ptr).inData) as usize - ptr as usize },
1761 0usize,
1762 concat!(
1763 "Offset of field: ",
1764 stringify!(SCallLuaRulesCommand),
1765 "::",
1766 stringify!(inData)
1767 )
1768 );
1769 assert_eq!(
1770 unsafe { ::std::ptr::addr_of!((*ptr).inSize) as usize - ptr as usize },
1771 8usize,
1772 concat!(
1773 "Offset of field: ",
1774 stringify!(SCallLuaRulesCommand),
1775 "::",
1776 stringify!(inSize)
1777 )
1778 );
1779 assert_eq!(
1780 unsafe { ::std::ptr::addr_of!((*ptr).ret_outData) as usize - ptr as usize },
1781 16usize,
1782 concat!(
1783 "Offset of field: ",
1784 stringify!(SCallLuaRulesCommand),
1785 "::",
1786 stringify!(ret_outData)
1787 )
1788 );
1789}
1790#[repr(C)]
1791#[derive(Debug, Copy, Clone)]
1792pub struct SCallLuaUICommand {
1793 #[doc = " Can be set to NULL to skip passing in a string"]
1794 pub inData: *const ::std::os::raw::c_char,
1795 #[doc = " If this is less than 0, the data size is calculated using strlen()"]
1796 pub inSize: ::std::os::raw::c_int,
1797 #[doc = " Buffer for response, must be const size of MAX_RESPONSE_SIZE bytes"]
1798 pub ret_outData: *mut ::std::os::raw::c_char,
1799}
1800#[test]
1801fn bindgen_test_layout_SCallLuaUICommand() {
1802 const UNINIT: ::std::mem::MaybeUninit<SCallLuaUICommand> = ::std::mem::MaybeUninit::uninit();
1803 let ptr = UNINIT.as_ptr();
1804 assert_eq!(
1805 ::std::mem::size_of::<SCallLuaUICommand>(),
1806 24usize,
1807 concat!("Size of: ", stringify!(SCallLuaUICommand))
1808 );
1809 assert_eq!(
1810 ::std::mem::align_of::<SCallLuaUICommand>(),
1811 8usize,
1812 concat!("Alignment of ", stringify!(SCallLuaUICommand))
1813 );
1814 assert_eq!(
1815 unsafe { ::std::ptr::addr_of!((*ptr).inData) as usize - ptr as usize },
1816 0usize,
1817 concat!(
1818 "Offset of field: ",
1819 stringify!(SCallLuaUICommand),
1820 "::",
1821 stringify!(inData)
1822 )
1823 );
1824 assert_eq!(
1825 unsafe { ::std::ptr::addr_of!((*ptr).inSize) as usize - ptr as usize },
1826 8usize,
1827 concat!(
1828 "Offset of field: ",
1829 stringify!(SCallLuaUICommand),
1830 "::",
1831 stringify!(inSize)
1832 )
1833 );
1834 assert_eq!(
1835 unsafe { ::std::ptr::addr_of!((*ptr).ret_outData) as usize - ptr as usize },
1836 16usize,
1837 concat!(
1838 "Offset of field: ",
1839 stringify!(SCallLuaUICommand),
1840 "::",
1841 stringify!(ret_outData)
1842 )
1843 );
1844}
1845#[repr(C)]
1846#[derive(Debug, Copy, Clone)]
1847pub struct SSendStartPosCommand {
1848 pub ready: bool,
1849 #[doc = " on this position, only x and z matter"]
1850 pub pos_posF3: *mut f32,
1851}
1852#[test]
1853fn bindgen_test_layout_SSendStartPosCommand() {
1854 const UNINIT: ::std::mem::MaybeUninit<SSendStartPosCommand> = ::std::mem::MaybeUninit::uninit();
1855 let ptr = UNINIT.as_ptr();
1856 assert_eq!(
1857 ::std::mem::size_of::<SSendStartPosCommand>(),
1858 16usize,
1859 concat!("Size of: ", stringify!(SSendStartPosCommand))
1860 );
1861 assert_eq!(
1862 ::std::mem::align_of::<SSendStartPosCommand>(),
1863 8usize,
1864 concat!("Alignment of ", stringify!(SSendStartPosCommand))
1865 );
1866 assert_eq!(
1867 unsafe { ::std::ptr::addr_of!((*ptr).ready) as usize - ptr as usize },
1868 0usize,
1869 concat!(
1870 "Offset of field: ",
1871 stringify!(SSendStartPosCommand),
1872 "::",
1873 stringify!(ready)
1874 )
1875 );
1876 assert_eq!(
1877 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
1878 8usize,
1879 concat!(
1880 "Offset of field: ",
1881 stringify!(SSendStartPosCommand),
1882 "::",
1883 stringify!(pos_posF3)
1884 )
1885 );
1886}
1887#[repr(C)]
1888#[derive(Debug, Copy, Clone)]
1889pub struct SAddNotificationDrawerCommand {
1890 #[doc = " on this position, only x and z matter"]
1891 pub pos_posF3: *mut f32,
1892 pub color_colorS3: *mut ::std::os::raw::c_short,
1893 pub alpha: ::std::os::raw::c_short,
1894}
1895#[test]
1896fn bindgen_test_layout_SAddNotificationDrawerCommand() {
1897 const UNINIT: ::std::mem::MaybeUninit<SAddNotificationDrawerCommand> =
1898 ::std::mem::MaybeUninit::uninit();
1899 let ptr = UNINIT.as_ptr();
1900 assert_eq!(
1901 ::std::mem::size_of::<SAddNotificationDrawerCommand>(),
1902 24usize,
1903 concat!("Size of: ", stringify!(SAddNotificationDrawerCommand))
1904 );
1905 assert_eq!(
1906 ::std::mem::align_of::<SAddNotificationDrawerCommand>(),
1907 8usize,
1908 concat!("Alignment of ", stringify!(SAddNotificationDrawerCommand))
1909 );
1910 assert_eq!(
1911 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
1912 0usize,
1913 concat!(
1914 "Offset of field: ",
1915 stringify!(SAddNotificationDrawerCommand),
1916 "::",
1917 stringify!(pos_posF3)
1918 )
1919 );
1920 assert_eq!(
1921 unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
1922 8usize,
1923 concat!(
1924 "Offset of field: ",
1925 stringify!(SAddNotificationDrawerCommand),
1926 "::",
1927 stringify!(color_colorS3)
1928 )
1929 );
1930 assert_eq!(
1931 unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
1932 16usize,
1933 concat!(
1934 "Offset of field: ",
1935 stringify!(SAddNotificationDrawerCommand),
1936 "::",
1937 stringify!(alpha)
1938 )
1939 );
1940}
1941#[repr(C)]
1942#[derive(Debug, Copy, Clone)]
1943pub struct SAddPointDrawCommand {
1944 #[doc = " on this position, only x and z matter"]
1945 pub pos_posF3: *mut f32,
1946 #[doc = " create this text on pos in my team color"]
1947 pub label: *const ::std::os::raw::c_char,
1948}
1949#[test]
1950fn bindgen_test_layout_SAddPointDrawCommand() {
1951 const UNINIT: ::std::mem::MaybeUninit<SAddPointDrawCommand> = ::std::mem::MaybeUninit::uninit();
1952 let ptr = UNINIT.as_ptr();
1953 assert_eq!(
1954 ::std::mem::size_of::<SAddPointDrawCommand>(),
1955 16usize,
1956 concat!("Size of: ", stringify!(SAddPointDrawCommand))
1957 );
1958 assert_eq!(
1959 ::std::mem::align_of::<SAddPointDrawCommand>(),
1960 8usize,
1961 concat!("Alignment of ", stringify!(SAddPointDrawCommand))
1962 );
1963 assert_eq!(
1964 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
1965 0usize,
1966 concat!(
1967 "Offset of field: ",
1968 stringify!(SAddPointDrawCommand),
1969 "::",
1970 stringify!(pos_posF3)
1971 )
1972 );
1973 assert_eq!(
1974 unsafe { ::std::ptr::addr_of!((*ptr).label) as usize - ptr as usize },
1975 8usize,
1976 concat!(
1977 "Offset of field: ",
1978 stringify!(SAddPointDrawCommand),
1979 "::",
1980 stringify!(label)
1981 )
1982 );
1983}
1984#[repr(C)]
1985#[derive(Debug, Copy, Clone)]
1986pub struct SRemovePointDrawCommand {
1987 #[doc = " remove map points and lines near this point (100 distance)"]
1988 pub pos_posF3: *mut f32,
1989}
1990#[test]
1991fn bindgen_test_layout_SRemovePointDrawCommand() {
1992 const UNINIT: ::std::mem::MaybeUninit<SRemovePointDrawCommand> =
1993 ::std::mem::MaybeUninit::uninit();
1994 let ptr = UNINIT.as_ptr();
1995 assert_eq!(
1996 ::std::mem::size_of::<SRemovePointDrawCommand>(),
1997 8usize,
1998 concat!("Size of: ", stringify!(SRemovePointDrawCommand))
1999 );
2000 assert_eq!(
2001 ::std::mem::align_of::<SRemovePointDrawCommand>(),
2002 8usize,
2003 concat!("Alignment of ", stringify!(SRemovePointDrawCommand))
2004 );
2005 assert_eq!(
2006 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
2007 0usize,
2008 concat!(
2009 "Offset of field: ",
2010 stringify!(SRemovePointDrawCommand),
2011 "::",
2012 stringify!(pos_posF3)
2013 )
2014 );
2015}
2016#[repr(C)]
2017#[derive(Debug, Copy, Clone)]
2018pub struct SAddLineDrawCommand {
2019 #[doc = " draw line from this pos"]
2020 pub posFrom_posF3: *mut f32,
2021 #[doc = " to this pos, again only x and z matter"]
2022 pub posTo_posF3: *mut f32,
2023}
2024#[test]
2025fn bindgen_test_layout_SAddLineDrawCommand() {
2026 const UNINIT: ::std::mem::MaybeUninit<SAddLineDrawCommand> = ::std::mem::MaybeUninit::uninit();
2027 let ptr = UNINIT.as_ptr();
2028 assert_eq!(
2029 ::std::mem::size_of::<SAddLineDrawCommand>(),
2030 16usize,
2031 concat!("Size of: ", stringify!(SAddLineDrawCommand))
2032 );
2033 assert_eq!(
2034 ::std::mem::align_of::<SAddLineDrawCommand>(),
2035 8usize,
2036 concat!("Alignment of ", stringify!(SAddLineDrawCommand))
2037 );
2038 assert_eq!(
2039 unsafe { ::std::ptr::addr_of!((*ptr).posFrom_posF3) as usize - ptr as usize },
2040 0usize,
2041 concat!(
2042 "Offset of field: ",
2043 stringify!(SAddLineDrawCommand),
2044 "::",
2045 stringify!(posFrom_posF3)
2046 )
2047 );
2048 assert_eq!(
2049 unsafe { ::std::ptr::addr_of!((*ptr).posTo_posF3) as usize - ptr as usize },
2050 8usize,
2051 concat!(
2052 "Offset of field: ",
2053 stringify!(SAddLineDrawCommand),
2054 "::",
2055 stringify!(posTo_posF3)
2056 )
2057 );
2058}
2059#[repr(C)]
2060#[derive(Debug, Copy, Clone)]
2061pub struct SStartPathDrawerCommand {
2062 pub pos_posF3: *mut f32,
2063 pub color_colorS3: *mut ::std::os::raw::c_short,
2064 pub alpha: ::std::os::raw::c_short,
2065}
2066#[test]
2067fn bindgen_test_layout_SStartPathDrawerCommand() {
2068 const UNINIT: ::std::mem::MaybeUninit<SStartPathDrawerCommand> =
2069 ::std::mem::MaybeUninit::uninit();
2070 let ptr = UNINIT.as_ptr();
2071 assert_eq!(
2072 ::std::mem::size_of::<SStartPathDrawerCommand>(),
2073 24usize,
2074 concat!("Size of: ", stringify!(SStartPathDrawerCommand))
2075 );
2076 assert_eq!(
2077 ::std::mem::align_of::<SStartPathDrawerCommand>(),
2078 8usize,
2079 concat!("Alignment of ", stringify!(SStartPathDrawerCommand))
2080 );
2081 assert_eq!(
2082 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
2083 0usize,
2084 concat!(
2085 "Offset of field: ",
2086 stringify!(SStartPathDrawerCommand),
2087 "::",
2088 stringify!(pos_posF3)
2089 )
2090 );
2091 assert_eq!(
2092 unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
2093 8usize,
2094 concat!(
2095 "Offset of field: ",
2096 stringify!(SStartPathDrawerCommand),
2097 "::",
2098 stringify!(color_colorS3)
2099 )
2100 );
2101 assert_eq!(
2102 unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
2103 16usize,
2104 concat!(
2105 "Offset of field: ",
2106 stringify!(SStartPathDrawerCommand),
2107 "::",
2108 stringify!(alpha)
2109 )
2110 );
2111}
2112#[repr(C)]
2113#[derive(Debug, Copy, Clone)]
2114pub struct SFinishPathDrawerCommand {
2115 pub iAmUseless: bool,
2116}
2117#[test]
2118fn bindgen_test_layout_SFinishPathDrawerCommand() {
2119 const UNINIT: ::std::mem::MaybeUninit<SFinishPathDrawerCommand> =
2120 ::std::mem::MaybeUninit::uninit();
2121 let ptr = UNINIT.as_ptr();
2122 assert_eq!(
2123 ::std::mem::size_of::<SFinishPathDrawerCommand>(),
2124 1usize,
2125 concat!("Size of: ", stringify!(SFinishPathDrawerCommand))
2126 );
2127 assert_eq!(
2128 ::std::mem::align_of::<SFinishPathDrawerCommand>(),
2129 1usize,
2130 concat!("Alignment of ", stringify!(SFinishPathDrawerCommand))
2131 );
2132 assert_eq!(
2133 unsafe { ::std::ptr::addr_of!((*ptr).iAmUseless) as usize - ptr as usize },
2134 0usize,
2135 concat!(
2136 "Offset of field: ",
2137 stringify!(SFinishPathDrawerCommand),
2138 "::",
2139 stringify!(iAmUseless)
2140 )
2141 );
2142}
2143#[repr(C)]
2144#[derive(Debug, Copy, Clone)]
2145pub struct SDrawLinePathDrawerCommand {
2146 pub endPos_posF3: *mut f32,
2147 pub color_colorS3: *mut ::std::os::raw::c_short,
2148 pub alpha: ::std::os::raw::c_short,
2149}
2150#[test]
2151fn bindgen_test_layout_SDrawLinePathDrawerCommand() {
2152 const UNINIT: ::std::mem::MaybeUninit<SDrawLinePathDrawerCommand> =
2153 ::std::mem::MaybeUninit::uninit();
2154 let ptr = UNINIT.as_ptr();
2155 assert_eq!(
2156 ::std::mem::size_of::<SDrawLinePathDrawerCommand>(),
2157 24usize,
2158 concat!("Size of: ", stringify!(SDrawLinePathDrawerCommand))
2159 );
2160 assert_eq!(
2161 ::std::mem::align_of::<SDrawLinePathDrawerCommand>(),
2162 8usize,
2163 concat!("Alignment of ", stringify!(SDrawLinePathDrawerCommand))
2164 );
2165 assert_eq!(
2166 unsafe { ::std::ptr::addr_of!((*ptr).endPos_posF3) as usize - ptr as usize },
2167 0usize,
2168 concat!(
2169 "Offset of field: ",
2170 stringify!(SDrawLinePathDrawerCommand),
2171 "::",
2172 stringify!(endPos_posF3)
2173 )
2174 );
2175 assert_eq!(
2176 unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
2177 8usize,
2178 concat!(
2179 "Offset of field: ",
2180 stringify!(SDrawLinePathDrawerCommand),
2181 "::",
2182 stringify!(color_colorS3)
2183 )
2184 );
2185 assert_eq!(
2186 unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
2187 16usize,
2188 concat!(
2189 "Offset of field: ",
2190 stringify!(SDrawLinePathDrawerCommand),
2191 "::",
2192 stringify!(alpha)
2193 )
2194 );
2195}
2196#[repr(C)]
2197#[derive(Debug, Copy, Clone)]
2198pub struct SDrawLineAndIconPathDrawerCommand {
2199 pub cmdId: ::std::os::raw::c_int,
2200 pub endPos_posF3: *mut f32,
2201 pub color_colorS3: *mut ::std::os::raw::c_short,
2202 pub alpha: ::std::os::raw::c_short,
2203}
2204#[test]
2205fn bindgen_test_layout_SDrawLineAndIconPathDrawerCommand() {
2206 const UNINIT: ::std::mem::MaybeUninit<SDrawLineAndIconPathDrawerCommand> =
2207 ::std::mem::MaybeUninit::uninit();
2208 let ptr = UNINIT.as_ptr();
2209 assert_eq!(
2210 ::std::mem::size_of::<SDrawLineAndIconPathDrawerCommand>(),
2211 32usize,
2212 concat!("Size of: ", stringify!(SDrawLineAndIconPathDrawerCommand))
2213 );
2214 assert_eq!(
2215 ::std::mem::align_of::<SDrawLineAndIconPathDrawerCommand>(),
2216 8usize,
2217 concat!(
2218 "Alignment of ",
2219 stringify!(SDrawLineAndIconPathDrawerCommand)
2220 )
2221 );
2222 assert_eq!(
2223 unsafe { ::std::ptr::addr_of!((*ptr).cmdId) as usize - ptr as usize },
2224 0usize,
2225 concat!(
2226 "Offset of field: ",
2227 stringify!(SDrawLineAndIconPathDrawerCommand),
2228 "::",
2229 stringify!(cmdId)
2230 )
2231 );
2232 assert_eq!(
2233 unsafe { ::std::ptr::addr_of!((*ptr).endPos_posF3) as usize - ptr as usize },
2234 8usize,
2235 concat!(
2236 "Offset of field: ",
2237 stringify!(SDrawLineAndIconPathDrawerCommand),
2238 "::",
2239 stringify!(endPos_posF3)
2240 )
2241 );
2242 assert_eq!(
2243 unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
2244 16usize,
2245 concat!(
2246 "Offset of field: ",
2247 stringify!(SDrawLineAndIconPathDrawerCommand),
2248 "::",
2249 stringify!(color_colorS3)
2250 )
2251 );
2252 assert_eq!(
2253 unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
2254 24usize,
2255 concat!(
2256 "Offset of field: ",
2257 stringify!(SDrawLineAndIconPathDrawerCommand),
2258 "::",
2259 stringify!(alpha)
2260 )
2261 );
2262}
2263#[repr(C)]
2264#[derive(Debug, Copy, Clone)]
2265pub struct SDrawIconAtLastPosPathDrawerCommand {
2266 pub cmdId: ::std::os::raw::c_int,
2267}
2268#[test]
2269fn bindgen_test_layout_SDrawIconAtLastPosPathDrawerCommand() {
2270 const UNINIT: ::std::mem::MaybeUninit<SDrawIconAtLastPosPathDrawerCommand> =
2271 ::std::mem::MaybeUninit::uninit();
2272 let ptr = UNINIT.as_ptr();
2273 assert_eq!(
2274 ::std::mem::size_of::<SDrawIconAtLastPosPathDrawerCommand>(),
2275 4usize,
2276 concat!("Size of: ", stringify!(SDrawIconAtLastPosPathDrawerCommand))
2277 );
2278 assert_eq!(
2279 ::std::mem::align_of::<SDrawIconAtLastPosPathDrawerCommand>(),
2280 4usize,
2281 concat!(
2282 "Alignment of ",
2283 stringify!(SDrawIconAtLastPosPathDrawerCommand)
2284 )
2285 );
2286 assert_eq!(
2287 unsafe { ::std::ptr::addr_of!((*ptr).cmdId) as usize - ptr as usize },
2288 0usize,
2289 concat!(
2290 "Offset of field: ",
2291 stringify!(SDrawIconAtLastPosPathDrawerCommand),
2292 "::",
2293 stringify!(cmdId)
2294 )
2295 );
2296}
2297#[repr(C)]
2298#[derive(Debug, Copy, Clone)]
2299pub struct SBreakPathDrawerCommand {
2300 pub endPos_posF3: *mut f32,
2301 pub color_colorS3: *mut ::std::os::raw::c_short,
2302 pub alpha: ::std::os::raw::c_short,
2303}
2304#[test]
2305fn bindgen_test_layout_SBreakPathDrawerCommand() {
2306 const UNINIT: ::std::mem::MaybeUninit<SBreakPathDrawerCommand> =
2307 ::std::mem::MaybeUninit::uninit();
2308 let ptr = UNINIT.as_ptr();
2309 assert_eq!(
2310 ::std::mem::size_of::<SBreakPathDrawerCommand>(),
2311 24usize,
2312 concat!("Size of: ", stringify!(SBreakPathDrawerCommand))
2313 );
2314 assert_eq!(
2315 ::std::mem::align_of::<SBreakPathDrawerCommand>(),
2316 8usize,
2317 concat!("Alignment of ", stringify!(SBreakPathDrawerCommand))
2318 );
2319 assert_eq!(
2320 unsafe { ::std::ptr::addr_of!((*ptr).endPos_posF3) as usize - ptr as usize },
2321 0usize,
2322 concat!(
2323 "Offset of field: ",
2324 stringify!(SBreakPathDrawerCommand),
2325 "::",
2326 stringify!(endPos_posF3)
2327 )
2328 );
2329 assert_eq!(
2330 unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
2331 8usize,
2332 concat!(
2333 "Offset of field: ",
2334 stringify!(SBreakPathDrawerCommand),
2335 "::",
2336 stringify!(color_colorS3)
2337 )
2338 );
2339 assert_eq!(
2340 unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
2341 16usize,
2342 concat!(
2343 "Offset of field: ",
2344 stringify!(SBreakPathDrawerCommand),
2345 "::",
2346 stringify!(alpha)
2347 )
2348 );
2349}
2350#[repr(C)]
2351#[derive(Debug, Copy, Clone)]
2352pub struct SRestartPathDrawerCommand {
2353 pub sameColor: bool,
2354}
2355#[test]
2356fn bindgen_test_layout_SRestartPathDrawerCommand() {
2357 const UNINIT: ::std::mem::MaybeUninit<SRestartPathDrawerCommand> =
2358 ::std::mem::MaybeUninit::uninit();
2359 let ptr = UNINIT.as_ptr();
2360 assert_eq!(
2361 ::std::mem::size_of::<SRestartPathDrawerCommand>(),
2362 1usize,
2363 concat!("Size of: ", stringify!(SRestartPathDrawerCommand))
2364 );
2365 assert_eq!(
2366 ::std::mem::align_of::<SRestartPathDrawerCommand>(),
2367 1usize,
2368 concat!("Alignment of ", stringify!(SRestartPathDrawerCommand))
2369 );
2370 assert_eq!(
2371 unsafe { ::std::ptr::addr_of!((*ptr).sameColor) as usize - ptr as usize },
2372 0usize,
2373 concat!(
2374 "Offset of field: ",
2375 stringify!(SRestartPathDrawerCommand),
2376 "::",
2377 stringify!(sameColor)
2378 )
2379 );
2380}
2381#[doc = " @brief Creates a cubic Bezier spline figure\n Creates a cubic Bezier spline figure from pos1 to pos4,\n with control points pos2 and pos3.\n\n - Each figure is part of a figure group\n - When creating figures, use 0 as \\<figureGroupId\\> to create\n a new figure group.\n The id of this figure group is returned in \\<ret_newFigureGroupId\\>\n - \\<lifeTime\\> specifies how many frames a figure should live\n before being auto-removed; 0 means no removal\n - \\<arrow\\> == true means that the figure will get an arrow at the end"]
2382#[repr(C)]
2383#[derive(Debug, Copy, Clone)]
2384pub struct SCreateSplineFigureDrawerCommand {
2385 pub pos1_posF3: *mut f32,
2386 pub pos2_posF3: *mut f32,
2387 pub pos3_posF3: *mut f32,
2388 pub pos4_posF3: *mut f32,
2389 pub width: f32,
2390 #[doc = " true: means that the figure will get an arrow at the end"]
2391 pub arrow: bool,
2392 #[doc = " how many frames a figure should live before being autoremoved, 0 means no removal"]
2393 pub lifeTime: ::std::os::raw::c_int,
2394 #[doc = " use 0 to get a new group"]
2395 pub figureGroupId: ::std::os::raw::c_int,
2396 #[doc = " the new group"]
2397 pub ret_newFigureGroupId: ::std::os::raw::c_int,
2398}
2399#[test]
2400fn bindgen_test_layout_SCreateSplineFigureDrawerCommand() {
2401 const UNINIT: ::std::mem::MaybeUninit<SCreateSplineFigureDrawerCommand> =
2402 ::std::mem::MaybeUninit::uninit();
2403 let ptr = UNINIT.as_ptr();
2404 assert_eq!(
2405 ::std::mem::size_of::<SCreateSplineFigureDrawerCommand>(),
2406 56usize,
2407 concat!("Size of: ", stringify!(SCreateSplineFigureDrawerCommand))
2408 );
2409 assert_eq!(
2410 ::std::mem::align_of::<SCreateSplineFigureDrawerCommand>(),
2411 8usize,
2412 concat!(
2413 "Alignment of ",
2414 stringify!(SCreateSplineFigureDrawerCommand)
2415 )
2416 );
2417 assert_eq!(
2418 unsafe { ::std::ptr::addr_of!((*ptr).pos1_posF3) as usize - ptr as usize },
2419 0usize,
2420 concat!(
2421 "Offset of field: ",
2422 stringify!(SCreateSplineFigureDrawerCommand),
2423 "::",
2424 stringify!(pos1_posF3)
2425 )
2426 );
2427 assert_eq!(
2428 unsafe { ::std::ptr::addr_of!((*ptr).pos2_posF3) as usize - ptr as usize },
2429 8usize,
2430 concat!(
2431 "Offset of field: ",
2432 stringify!(SCreateSplineFigureDrawerCommand),
2433 "::",
2434 stringify!(pos2_posF3)
2435 )
2436 );
2437 assert_eq!(
2438 unsafe { ::std::ptr::addr_of!((*ptr).pos3_posF3) as usize - ptr as usize },
2439 16usize,
2440 concat!(
2441 "Offset of field: ",
2442 stringify!(SCreateSplineFigureDrawerCommand),
2443 "::",
2444 stringify!(pos3_posF3)
2445 )
2446 );
2447 assert_eq!(
2448 unsafe { ::std::ptr::addr_of!((*ptr).pos4_posF3) as usize - ptr as usize },
2449 24usize,
2450 concat!(
2451 "Offset of field: ",
2452 stringify!(SCreateSplineFigureDrawerCommand),
2453 "::",
2454 stringify!(pos4_posF3)
2455 )
2456 );
2457 assert_eq!(
2458 unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
2459 32usize,
2460 concat!(
2461 "Offset of field: ",
2462 stringify!(SCreateSplineFigureDrawerCommand),
2463 "::",
2464 stringify!(width)
2465 )
2466 );
2467 assert_eq!(
2468 unsafe { ::std::ptr::addr_of!((*ptr).arrow) as usize - ptr as usize },
2469 36usize,
2470 concat!(
2471 "Offset of field: ",
2472 stringify!(SCreateSplineFigureDrawerCommand),
2473 "::",
2474 stringify!(arrow)
2475 )
2476 );
2477 assert_eq!(
2478 unsafe { ::std::ptr::addr_of!((*ptr).lifeTime) as usize - ptr as usize },
2479 40usize,
2480 concat!(
2481 "Offset of field: ",
2482 stringify!(SCreateSplineFigureDrawerCommand),
2483 "::",
2484 stringify!(lifeTime)
2485 )
2486 );
2487 assert_eq!(
2488 unsafe { ::std::ptr::addr_of!((*ptr).figureGroupId) as usize - ptr as usize },
2489 44usize,
2490 concat!(
2491 "Offset of field: ",
2492 stringify!(SCreateSplineFigureDrawerCommand),
2493 "::",
2494 stringify!(figureGroupId)
2495 )
2496 );
2497 assert_eq!(
2498 unsafe { ::std::ptr::addr_of!((*ptr).ret_newFigureGroupId) as usize - ptr as usize },
2499 48usize,
2500 concat!(
2501 "Offset of field: ",
2502 stringify!(SCreateSplineFigureDrawerCommand),
2503 "::",
2504 stringify!(ret_newFigureGroupId)
2505 )
2506 );
2507}
2508#[doc = " @brief Creates a straight line\n Creates a straight line from pos1 to pos2.\n\n - Each figure is part of a figure group\n - When creating figures, use 0 as \\<figureGroupId\\> to create a new figure group.\n The id of this figure group is returned in \\<ret_newFigureGroupId\\>\n @param lifeTime specifies how many frames a figure should live before being auto-removed;\n 0 means no removal\n @param arrow true means that the figure will get an arrow at the end"]
2509#[repr(C)]
2510#[derive(Debug, Copy, Clone)]
2511pub struct SCreateLineFigureDrawerCommand {
2512 pub pos1_posF3: *mut f32,
2513 pub pos2_posF3: *mut f32,
2514 pub width: f32,
2515 #[doc = " true: means that the figure will get an arrow at the end"]
2516 pub arrow: bool,
2517 #[doc = " how many frames a figure should live before being autoremoved, 0 means no removal"]
2518 pub lifeTime: ::std::os::raw::c_int,
2519 #[doc = " use 0 to get a new group"]
2520 pub figureGroupId: ::std::os::raw::c_int,
2521 #[doc = " the new group"]
2522 pub ret_newFigureGroupId: ::std::os::raw::c_int,
2523}
2524#[test]
2525fn bindgen_test_layout_SCreateLineFigureDrawerCommand() {
2526 const UNINIT: ::std::mem::MaybeUninit<SCreateLineFigureDrawerCommand> =
2527 ::std::mem::MaybeUninit::uninit();
2528 let ptr = UNINIT.as_ptr();
2529 assert_eq!(
2530 ::std::mem::size_of::<SCreateLineFigureDrawerCommand>(),
2531 40usize,
2532 concat!("Size of: ", stringify!(SCreateLineFigureDrawerCommand))
2533 );
2534 assert_eq!(
2535 ::std::mem::align_of::<SCreateLineFigureDrawerCommand>(),
2536 8usize,
2537 concat!("Alignment of ", stringify!(SCreateLineFigureDrawerCommand))
2538 );
2539 assert_eq!(
2540 unsafe { ::std::ptr::addr_of!((*ptr).pos1_posF3) as usize - ptr as usize },
2541 0usize,
2542 concat!(
2543 "Offset of field: ",
2544 stringify!(SCreateLineFigureDrawerCommand),
2545 "::",
2546 stringify!(pos1_posF3)
2547 )
2548 );
2549 assert_eq!(
2550 unsafe { ::std::ptr::addr_of!((*ptr).pos2_posF3) as usize - ptr as usize },
2551 8usize,
2552 concat!(
2553 "Offset of field: ",
2554 stringify!(SCreateLineFigureDrawerCommand),
2555 "::",
2556 stringify!(pos2_posF3)
2557 )
2558 );
2559 assert_eq!(
2560 unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
2561 16usize,
2562 concat!(
2563 "Offset of field: ",
2564 stringify!(SCreateLineFigureDrawerCommand),
2565 "::",
2566 stringify!(width)
2567 )
2568 );
2569 assert_eq!(
2570 unsafe { ::std::ptr::addr_of!((*ptr).arrow) as usize - ptr as usize },
2571 20usize,
2572 concat!(
2573 "Offset of field: ",
2574 stringify!(SCreateLineFigureDrawerCommand),
2575 "::",
2576 stringify!(arrow)
2577 )
2578 );
2579 assert_eq!(
2580 unsafe { ::std::ptr::addr_of!((*ptr).lifeTime) as usize - ptr as usize },
2581 24usize,
2582 concat!(
2583 "Offset of field: ",
2584 stringify!(SCreateLineFigureDrawerCommand),
2585 "::",
2586 stringify!(lifeTime)
2587 )
2588 );
2589 assert_eq!(
2590 unsafe { ::std::ptr::addr_of!((*ptr).figureGroupId) as usize - ptr as usize },
2591 28usize,
2592 concat!(
2593 "Offset of field: ",
2594 stringify!(SCreateLineFigureDrawerCommand),
2595 "::",
2596 stringify!(figureGroupId)
2597 )
2598 );
2599 assert_eq!(
2600 unsafe { ::std::ptr::addr_of!((*ptr).ret_newFigureGroupId) as usize - ptr as usize },
2601 32usize,
2602 concat!(
2603 "Offset of field: ",
2604 stringify!(SCreateLineFigureDrawerCommand),
2605 "::",
2606 stringify!(ret_newFigureGroupId)
2607 )
2608 );
2609}
2610#[doc = " Sets the color used to draw all lines of figures in a figure group."]
2611#[repr(C)]
2612#[derive(Debug, Copy, Clone)]
2613pub struct SSetColorFigureDrawerCommand {
2614 pub figureGroupId: ::std::os::raw::c_int,
2615 #[doc = " (x, y, z) -> (red, green, blue)"]
2616 pub color_colorS3: *mut ::std::os::raw::c_short,
2617 pub alpha: ::std::os::raw::c_short,
2618}
2619#[test]
2620fn bindgen_test_layout_SSetColorFigureDrawerCommand() {
2621 const UNINIT: ::std::mem::MaybeUninit<SSetColorFigureDrawerCommand> =
2622 ::std::mem::MaybeUninit::uninit();
2623 let ptr = UNINIT.as_ptr();
2624 assert_eq!(
2625 ::std::mem::size_of::<SSetColorFigureDrawerCommand>(),
2626 24usize,
2627 concat!("Size of: ", stringify!(SSetColorFigureDrawerCommand))
2628 );
2629 assert_eq!(
2630 ::std::mem::align_of::<SSetColorFigureDrawerCommand>(),
2631 8usize,
2632 concat!("Alignment of ", stringify!(SSetColorFigureDrawerCommand))
2633 );
2634 assert_eq!(
2635 unsafe { ::std::ptr::addr_of!((*ptr).figureGroupId) as usize - ptr as usize },
2636 0usize,
2637 concat!(
2638 "Offset of field: ",
2639 stringify!(SSetColorFigureDrawerCommand),
2640 "::",
2641 stringify!(figureGroupId)
2642 )
2643 );
2644 assert_eq!(
2645 unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
2646 8usize,
2647 concat!(
2648 "Offset of field: ",
2649 stringify!(SSetColorFigureDrawerCommand),
2650 "::",
2651 stringify!(color_colorS3)
2652 )
2653 );
2654 assert_eq!(
2655 unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
2656 16usize,
2657 concat!(
2658 "Offset of field: ",
2659 stringify!(SSetColorFigureDrawerCommand),
2660 "::",
2661 stringify!(alpha)
2662 )
2663 );
2664}
2665#[doc = " Removes a figure group, which means it will not be drawn anymore."]
2666#[repr(C)]
2667#[derive(Debug, Copy, Clone)]
2668pub struct SDeleteFigureDrawerCommand {
2669 pub figureGroupId: ::std::os::raw::c_int,
2670}
2671#[test]
2672fn bindgen_test_layout_SDeleteFigureDrawerCommand() {
2673 const UNINIT: ::std::mem::MaybeUninit<SDeleteFigureDrawerCommand> =
2674 ::std::mem::MaybeUninit::uninit();
2675 let ptr = UNINIT.as_ptr();
2676 assert_eq!(
2677 ::std::mem::size_of::<SDeleteFigureDrawerCommand>(),
2678 4usize,
2679 concat!("Size of: ", stringify!(SDeleteFigureDrawerCommand))
2680 );
2681 assert_eq!(
2682 ::std::mem::align_of::<SDeleteFigureDrawerCommand>(),
2683 4usize,
2684 concat!("Alignment of ", stringify!(SDeleteFigureDrawerCommand))
2685 );
2686 assert_eq!(
2687 unsafe { ::std::ptr::addr_of!((*ptr).figureGroupId) as usize - ptr as usize },
2688 0usize,
2689 concat!(
2690 "Offset of field: ",
2691 stringify!(SDeleteFigureDrawerCommand),
2692 "::",
2693 stringify!(figureGroupId)
2694 )
2695 );
2696}
2697#[doc = " This function allows you to draw units onto the map.\n - they only show up on the local player's screen\n - they will be drawn in the \"standard pose\" (as if before any COB scripts are run)"]
2698#[repr(C)]
2699#[derive(Debug, Copy, Clone)]
2700pub struct SDrawUnitDrawerCommand {
2701 pub toDrawUnitDefId: ::std::os::raw::c_int,
2702 pub pos_posF3: *mut f32,
2703 #[doc = " in radians"]
2704 pub rotation: f32,
2705 #[doc = " specifies how many frames a figure should live before being auto-removed; 0 means no removal"]
2706 pub lifeTime: ::std::os::raw::c_int,
2707 #[doc = " teamId affects the color of the unit"]
2708 pub teamId: ::std::os::raw::c_int,
2709 pub transparent: bool,
2710 pub drawBorder: bool,
2711 pub facing: ::std::os::raw::c_int,
2712}
2713#[test]
2714fn bindgen_test_layout_SDrawUnitDrawerCommand() {
2715 const UNINIT: ::std::mem::MaybeUninit<SDrawUnitDrawerCommand> =
2716 ::std::mem::MaybeUninit::uninit();
2717 let ptr = UNINIT.as_ptr();
2718 assert_eq!(
2719 ::std::mem::size_of::<SDrawUnitDrawerCommand>(),
2720 40usize,
2721 concat!("Size of: ", stringify!(SDrawUnitDrawerCommand))
2722 );
2723 assert_eq!(
2724 ::std::mem::align_of::<SDrawUnitDrawerCommand>(),
2725 8usize,
2726 concat!("Alignment of ", stringify!(SDrawUnitDrawerCommand))
2727 );
2728 assert_eq!(
2729 unsafe { ::std::ptr::addr_of!((*ptr).toDrawUnitDefId) as usize - ptr as usize },
2730 0usize,
2731 concat!(
2732 "Offset of field: ",
2733 stringify!(SDrawUnitDrawerCommand),
2734 "::",
2735 stringify!(toDrawUnitDefId)
2736 )
2737 );
2738 assert_eq!(
2739 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
2740 8usize,
2741 concat!(
2742 "Offset of field: ",
2743 stringify!(SDrawUnitDrawerCommand),
2744 "::",
2745 stringify!(pos_posF3)
2746 )
2747 );
2748 assert_eq!(
2749 unsafe { ::std::ptr::addr_of!((*ptr).rotation) as usize - ptr as usize },
2750 16usize,
2751 concat!(
2752 "Offset of field: ",
2753 stringify!(SDrawUnitDrawerCommand),
2754 "::",
2755 stringify!(rotation)
2756 )
2757 );
2758 assert_eq!(
2759 unsafe { ::std::ptr::addr_of!((*ptr).lifeTime) as usize - ptr as usize },
2760 20usize,
2761 concat!(
2762 "Offset of field: ",
2763 stringify!(SDrawUnitDrawerCommand),
2764 "::",
2765 stringify!(lifeTime)
2766 )
2767 );
2768 assert_eq!(
2769 unsafe { ::std::ptr::addr_of!((*ptr).teamId) as usize - ptr as usize },
2770 24usize,
2771 concat!(
2772 "Offset of field: ",
2773 stringify!(SDrawUnitDrawerCommand),
2774 "::",
2775 stringify!(teamId)
2776 )
2777 );
2778 assert_eq!(
2779 unsafe { ::std::ptr::addr_of!((*ptr).transparent) as usize - ptr as usize },
2780 28usize,
2781 concat!(
2782 "Offset of field: ",
2783 stringify!(SDrawUnitDrawerCommand),
2784 "::",
2785 stringify!(transparent)
2786 )
2787 );
2788 assert_eq!(
2789 unsafe { ::std::ptr::addr_of!((*ptr).drawBorder) as usize - ptr as usize },
2790 29usize,
2791 concat!(
2792 "Offset of field: ",
2793 stringify!(SDrawUnitDrawerCommand),
2794 "::",
2795 stringify!(drawBorder)
2796 )
2797 );
2798 assert_eq!(
2799 unsafe { ::std::ptr::addr_of!((*ptr).facing) as usize - ptr as usize },
2800 32usize,
2801 concat!(
2802 "Offset of field: ",
2803 stringify!(SDrawUnitDrawerCommand),
2804 "::",
2805 stringify!(facing)
2806 )
2807 );
2808}
2809#[repr(C)]
2810#[derive(Debug, Copy, Clone)]
2811pub struct SBuildUnitCommand {
2812 pub unitId: ::std::os::raw::c_int,
2813 pub groupId: ::std::os::raw::c_int,
2814 #[doc = " see enum UnitCommandOptions"]
2815 pub options: ::std::os::raw::c_short,
2816 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
2817 pub timeOut: ::std::os::raw::c_int,
2818 pub toBuildUnitDefId: ::std::os::raw::c_int,
2819 pub buildPos_posF3: *mut f32,
2820 #[doc = " set it to UNIT_COMMAND_BUILD_NO_FACING, if you do not want to specify a certain facing"]
2821 pub facing: ::std::os::raw::c_int,
2822}
2823#[test]
2824fn bindgen_test_layout_SBuildUnitCommand() {
2825 const UNINIT: ::std::mem::MaybeUninit<SBuildUnitCommand> = ::std::mem::MaybeUninit::uninit();
2826 let ptr = UNINIT.as_ptr();
2827 assert_eq!(
2828 ::std::mem::size_of::<SBuildUnitCommand>(),
2829 40usize,
2830 concat!("Size of: ", stringify!(SBuildUnitCommand))
2831 );
2832 assert_eq!(
2833 ::std::mem::align_of::<SBuildUnitCommand>(),
2834 8usize,
2835 concat!("Alignment of ", stringify!(SBuildUnitCommand))
2836 );
2837 assert_eq!(
2838 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
2839 0usize,
2840 concat!(
2841 "Offset of field: ",
2842 stringify!(SBuildUnitCommand),
2843 "::",
2844 stringify!(unitId)
2845 )
2846 );
2847 assert_eq!(
2848 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
2849 4usize,
2850 concat!(
2851 "Offset of field: ",
2852 stringify!(SBuildUnitCommand),
2853 "::",
2854 stringify!(groupId)
2855 )
2856 );
2857 assert_eq!(
2858 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
2859 8usize,
2860 concat!(
2861 "Offset of field: ",
2862 stringify!(SBuildUnitCommand),
2863 "::",
2864 stringify!(options)
2865 )
2866 );
2867 assert_eq!(
2868 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
2869 12usize,
2870 concat!(
2871 "Offset of field: ",
2872 stringify!(SBuildUnitCommand),
2873 "::",
2874 stringify!(timeOut)
2875 )
2876 );
2877 assert_eq!(
2878 unsafe { ::std::ptr::addr_of!((*ptr).toBuildUnitDefId) as usize - ptr as usize },
2879 16usize,
2880 concat!(
2881 "Offset of field: ",
2882 stringify!(SBuildUnitCommand),
2883 "::",
2884 stringify!(toBuildUnitDefId)
2885 )
2886 );
2887 assert_eq!(
2888 unsafe { ::std::ptr::addr_of!((*ptr).buildPos_posF3) as usize - ptr as usize },
2889 24usize,
2890 concat!(
2891 "Offset of field: ",
2892 stringify!(SBuildUnitCommand),
2893 "::",
2894 stringify!(buildPos_posF3)
2895 )
2896 );
2897 assert_eq!(
2898 unsafe { ::std::ptr::addr_of!((*ptr).facing) as usize - ptr as usize },
2899 32usize,
2900 concat!(
2901 "Offset of field: ",
2902 stringify!(SBuildUnitCommand),
2903 "::",
2904 stringify!(facing)
2905 )
2906 );
2907}
2908#[repr(C)]
2909#[derive(Debug, Copy, Clone)]
2910pub struct SStopUnitCommand {
2911 pub unitId: ::std::os::raw::c_int,
2912 pub groupId: ::std::os::raw::c_int,
2913 #[doc = " see enum UnitCommandOptions"]
2914 pub options: ::std::os::raw::c_short,
2915 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
2916 pub timeOut: ::std::os::raw::c_int,
2917}
2918#[test]
2919fn bindgen_test_layout_SStopUnitCommand() {
2920 const UNINIT: ::std::mem::MaybeUninit<SStopUnitCommand> = ::std::mem::MaybeUninit::uninit();
2921 let ptr = UNINIT.as_ptr();
2922 assert_eq!(
2923 ::std::mem::size_of::<SStopUnitCommand>(),
2924 16usize,
2925 concat!("Size of: ", stringify!(SStopUnitCommand))
2926 );
2927 assert_eq!(
2928 ::std::mem::align_of::<SStopUnitCommand>(),
2929 4usize,
2930 concat!("Alignment of ", stringify!(SStopUnitCommand))
2931 );
2932 assert_eq!(
2933 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
2934 0usize,
2935 concat!(
2936 "Offset of field: ",
2937 stringify!(SStopUnitCommand),
2938 "::",
2939 stringify!(unitId)
2940 )
2941 );
2942 assert_eq!(
2943 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
2944 4usize,
2945 concat!(
2946 "Offset of field: ",
2947 stringify!(SStopUnitCommand),
2948 "::",
2949 stringify!(groupId)
2950 )
2951 );
2952 assert_eq!(
2953 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
2954 8usize,
2955 concat!(
2956 "Offset of field: ",
2957 stringify!(SStopUnitCommand),
2958 "::",
2959 stringify!(options)
2960 )
2961 );
2962 assert_eq!(
2963 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
2964 12usize,
2965 concat!(
2966 "Offset of field: ",
2967 stringify!(SStopUnitCommand),
2968 "::",
2969 stringify!(timeOut)
2970 )
2971 );
2972}
2973#[repr(C)]
2974#[derive(Debug, Copy, Clone)]
2975pub struct SWaitUnitCommand {
2976 pub unitId: ::std::os::raw::c_int,
2977 pub groupId: ::std::os::raw::c_int,
2978 #[doc = " see enum UnitCommandOptions"]
2979 pub options: ::std::os::raw::c_short,
2980 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
2981 pub timeOut: ::std::os::raw::c_int,
2982}
2983#[test]
2984fn bindgen_test_layout_SWaitUnitCommand() {
2985 const UNINIT: ::std::mem::MaybeUninit<SWaitUnitCommand> = ::std::mem::MaybeUninit::uninit();
2986 let ptr = UNINIT.as_ptr();
2987 assert_eq!(
2988 ::std::mem::size_of::<SWaitUnitCommand>(),
2989 16usize,
2990 concat!("Size of: ", stringify!(SWaitUnitCommand))
2991 );
2992 assert_eq!(
2993 ::std::mem::align_of::<SWaitUnitCommand>(),
2994 4usize,
2995 concat!("Alignment of ", stringify!(SWaitUnitCommand))
2996 );
2997 assert_eq!(
2998 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
2999 0usize,
3000 concat!(
3001 "Offset of field: ",
3002 stringify!(SWaitUnitCommand),
3003 "::",
3004 stringify!(unitId)
3005 )
3006 );
3007 assert_eq!(
3008 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3009 4usize,
3010 concat!(
3011 "Offset of field: ",
3012 stringify!(SWaitUnitCommand),
3013 "::",
3014 stringify!(groupId)
3015 )
3016 );
3017 assert_eq!(
3018 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3019 8usize,
3020 concat!(
3021 "Offset of field: ",
3022 stringify!(SWaitUnitCommand),
3023 "::",
3024 stringify!(options)
3025 )
3026 );
3027 assert_eq!(
3028 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3029 12usize,
3030 concat!(
3031 "Offset of field: ",
3032 stringify!(SWaitUnitCommand),
3033 "::",
3034 stringify!(timeOut)
3035 )
3036 );
3037}
3038#[repr(C)]
3039#[derive(Debug, Copy, Clone)]
3040pub struct STimeWaitUnitCommand {
3041 pub unitId: ::std::os::raw::c_int,
3042 pub groupId: ::std::os::raw::c_int,
3043 #[doc = " see enum UnitCommandOptions"]
3044 pub options: ::std::os::raw::c_short,
3045 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3046 pub timeOut: ::std::os::raw::c_int,
3047 #[doc = " the time in seconds to wait"]
3048 pub time: ::std::os::raw::c_int,
3049}
3050#[test]
3051fn bindgen_test_layout_STimeWaitUnitCommand() {
3052 const UNINIT: ::std::mem::MaybeUninit<STimeWaitUnitCommand> = ::std::mem::MaybeUninit::uninit();
3053 let ptr = UNINIT.as_ptr();
3054 assert_eq!(
3055 ::std::mem::size_of::<STimeWaitUnitCommand>(),
3056 20usize,
3057 concat!("Size of: ", stringify!(STimeWaitUnitCommand))
3058 );
3059 assert_eq!(
3060 ::std::mem::align_of::<STimeWaitUnitCommand>(),
3061 4usize,
3062 concat!("Alignment of ", stringify!(STimeWaitUnitCommand))
3063 );
3064 assert_eq!(
3065 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3066 0usize,
3067 concat!(
3068 "Offset of field: ",
3069 stringify!(STimeWaitUnitCommand),
3070 "::",
3071 stringify!(unitId)
3072 )
3073 );
3074 assert_eq!(
3075 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3076 4usize,
3077 concat!(
3078 "Offset of field: ",
3079 stringify!(STimeWaitUnitCommand),
3080 "::",
3081 stringify!(groupId)
3082 )
3083 );
3084 assert_eq!(
3085 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3086 8usize,
3087 concat!(
3088 "Offset of field: ",
3089 stringify!(STimeWaitUnitCommand),
3090 "::",
3091 stringify!(options)
3092 )
3093 );
3094 assert_eq!(
3095 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3096 12usize,
3097 concat!(
3098 "Offset of field: ",
3099 stringify!(STimeWaitUnitCommand),
3100 "::",
3101 stringify!(timeOut)
3102 )
3103 );
3104 assert_eq!(
3105 unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
3106 16usize,
3107 concat!(
3108 "Offset of field: ",
3109 stringify!(STimeWaitUnitCommand),
3110 "::",
3111 stringify!(time)
3112 )
3113 );
3114}
3115#[doc = " Wait until another unit is dead, units will not wait on themselves.\n Example:\n A group of aircrafts waits for an enemy's anti-air defenses to die,\n before passing over their ruins to attack."]
3116#[repr(C)]
3117#[derive(Debug, Copy, Clone)]
3118pub struct SDeathWaitUnitCommand {
3119 pub unitId: ::std::os::raw::c_int,
3120 pub groupId: ::std::os::raw::c_int,
3121 #[doc = " see enum UnitCommandOptions"]
3122 pub options: ::std::os::raw::c_short,
3123 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3124 pub timeOut: ::std::os::raw::c_int,
3125 #[doc = " wait until this unit is dead"]
3126 pub toDieUnitId: ::std::os::raw::c_int,
3127}
3128#[test]
3129fn bindgen_test_layout_SDeathWaitUnitCommand() {
3130 const UNINIT: ::std::mem::MaybeUninit<SDeathWaitUnitCommand> =
3131 ::std::mem::MaybeUninit::uninit();
3132 let ptr = UNINIT.as_ptr();
3133 assert_eq!(
3134 ::std::mem::size_of::<SDeathWaitUnitCommand>(),
3135 20usize,
3136 concat!("Size of: ", stringify!(SDeathWaitUnitCommand))
3137 );
3138 assert_eq!(
3139 ::std::mem::align_of::<SDeathWaitUnitCommand>(),
3140 4usize,
3141 concat!("Alignment of ", stringify!(SDeathWaitUnitCommand))
3142 );
3143 assert_eq!(
3144 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3145 0usize,
3146 concat!(
3147 "Offset of field: ",
3148 stringify!(SDeathWaitUnitCommand),
3149 "::",
3150 stringify!(unitId)
3151 )
3152 );
3153 assert_eq!(
3154 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3155 4usize,
3156 concat!(
3157 "Offset of field: ",
3158 stringify!(SDeathWaitUnitCommand),
3159 "::",
3160 stringify!(groupId)
3161 )
3162 );
3163 assert_eq!(
3164 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3165 8usize,
3166 concat!(
3167 "Offset of field: ",
3168 stringify!(SDeathWaitUnitCommand),
3169 "::",
3170 stringify!(options)
3171 )
3172 );
3173 assert_eq!(
3174 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3175 12usize,
3176 concat!(
3177 "Offset of field: ",
3178 stringify!(SDeathWaitUnitCommand),
3179 "::",
3180 stringify!(timeOut)
3181 )
3182 );
3183 assert_eq!(
3184 unsafe { ::std::ptr::addr_of!((*ptr).toDieUnitId) as usize - ptr as usize },
3185 16usize,
3186 concat!(
3187 "Offset of field: ",
3188 stringify!(SDeathWaitUnitCommand),
3189 "::",
3190 stringify!(toDieUnitId)
3191 )
3192 );
3193}
3194#[doc = " Wait for a specific ammount of units.\n Usually used with factories, but does work on groups without a factory too.\n Example:\n Pick a factory and give it a rallypoint, then add a SquadWait command\n with the number of units you want in your squads.\n Units will wait at the initial rally point until enough of them\n have arrived to make up a squad, then they will continue along their queue."]
3195#[repr(C)]
3196#[derive(Debug, Copy, Clone)]
3197pub struct SSquadWaitUnitCommand {
3198 pub unitId: ::std::os::raw::c_int,
3199 pub groupId: ::std::os::raw::c_int,
3200 #[doc = " see enum UnitCommandOptions"]
3201 pub options: ::std::os::raw::c_short,
3202 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3203 pub timeOut: ::std::os::raw::c_int,
3204 pub numUnits: ::std::os::raw::c_int,
3205}
3206#[test]
3207fn bindgen_test_layout_SSquadWaitUnitCommand() {
3208 const UNINIT: ::std::mem::MaybeUninit<SSquadWaitUnitCommand> =
3209 ::std::mem::MaybeUninit::uninit();
3210 let ptr = UNINIT.as_ptr();
3211 assert_eq!(
3212 ::std::mem::size_of::<SSquadWaitUnitCommand>(),
3213 20usize,
3214 concat!("Size of: ", stringify!(SSquadWaitUnitCommand))
3215 );
3216 assert_eq!(
3217 ::std::mem::align_of::<SSquadWaitUnitCommand>(),
3218 4usize,
3219 concat!("Alignment of ", stringify!(SSquadWaitUnitCommand))
3220 );
3221 assert_eq!(
3222 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3223 0usize,
3224 concat!(
3225 "Offset of field: ",
3226 stringify!(SSquadWaitUnitCommand),
3227 "::",
3228 stringify!(unitId)
3229 )
3230 );
3231 assert_eq!(
3232 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3233 4usize,
3234 concat!(
3235 "Offset of field: ",
3236 stringify!(SSquadWaitUnitCommand),
3237 "::",
3238 stringify!(groupId)
3239 )
3240 );
3241 assert_eq!(
3242 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3243 8usize,
3244 concat!(
3245 "Offset of field: ",
3246 stringify!(SSquadWaitUnitCommand),
3247 "::",
3248 stringify!(options)
3249 )
3250 );
3251 assert_eq!(
3252 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3253 12usize,
3254 concat!(
3255 "Offset of field: ",
3256 stringify!(SSquadWaitUnitCommand),
3257 "::",
3258 stringify!(timeOut)
3259 )
3260 );
3261 assert_eq!(
3262 unsafe { ::std::ptr::addr_of!((*ptr).numUnits) as usize - ptr as usize },
3263 16usize,
3264 concat!(
3265 "Offset of field: ",
3266 stringify!(SSquadWaitUnitCommand),
3267 "::",
3268 stringify!(numUnits)
3269 )
3270 );
3271}
3272#[doc = " Wait for the arrival of all units included in the command.\n Only makes sense for a group of units.\n Use it after a movement command of some sort (move / fight).\n Units will wait until all members of the GatherWait command have arrived\n at their destinations before continuing."]
3273#[repr(C)]
3274#[derive(Debug, Copy, Clone)]
3275pub struct SGatherWaitUnitCommand {
3276 pub unitId: ::std::os::raw::c_int,
3277 pub groupId: ::std::os::raw::c_int,
3278 #[doc = " see enum UnitCommandOptions"]
3279 pub options: ::std::os::raw::c_short,
3280 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3281 pub timeOut: ::std::os::raw::c_int,
3282}
3283#[test]
3284fn bindgen_test_layout_SGatherWaitUnitCommand() {
3285 const UNINIT: ::std::mem::MaybeUninit<SGatherWaitUnitCommand> =
3286 ::std::mem::MaybeUninit::uninit();
3287 let ptr = UNINIT.as_ptr();
3288 assert_eq!(
3289 ::std::mem::size_of::<SGatherWaitUnitCommand>(),
3290 16usize,
3291 concat!("Size of: ", stringify!(SGatherWaitUnitCommand))
3292 );
3293 assert_eq!(
3294 ::std::mem::align_of::<SGatherWaitUnitCommand>(),
3295 4usize,
3296 concat!("Alignment of ", stringify!(SGatherWaitUnitCommand))
3297 );
3298 assert_eq!(
3299 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3300 0usize,
3301 concat!(
3302 "Offset of field: ",
3303 stringify!(SGatherWaitUnitCommand),
3304 "::",
3305 stringify!(unitId)
3306 )
3307 );
3308 assert_eq!(
3309 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3310 4usize,
3311 concat!(
3312 "Offset of field: ",
3313 stringify!(SGatherWaitUnitCommand),
3314 "::",
3315 stringify!(groupId)
3316 )
3317 );
3318 assert_eq!(
3319 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3320 8usize,
3321 concat!(
3322 "Offset of field: ",
3323 stringify!(SGatherWaitUnitCommand),
3324 "::",
3325 stringify!(options)
3326 )
3327 );
3328 assert_eq!(
3329 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3330 12usize,
3331 concat!(
3332 "Offset of field: ",
3333 stringify!(SGatherWaitUnitCommand),
3334 "::",
3335 stringify!(timeOut)
3336 )
3337 );
3338}
3339#[repr(C)]
3340#[derive(Debug, Copy, Clone)]
3341pub struct SMoveUnitCommand {
3342 pub unitId: ::std::os::raw::c_int,
3343 pub groupId: ::std::os::raw::c_int,
3344 #[doc = " see enum UnitCommandOptions"]
3345 pub options: ::std::os::raw::c_short,
3346 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3347 pub timeOut: ::std::os::raw::c_int,
3348 pub toPos_posF3: *mut f32,
3349}
3350#[test]
3351fn bindgen_test_layout_SMoveUnitCommand() {
3352 const UNINIT: ::std::mem::MaybeUninit<SMoveUnitCommand> = ::std::mem::MaybeUninit::uninit();
3353 let ptr = UNINIT.as_ptr();
3354 assert_eq!(
3355 ::std::mem::size_of::<SMoveUnitCommand>(),
3356 24usize,
3357 concat!("Size of: ", stringify!(SMoveUnitCommand))
3358 );
3359 assert_eq!(
3360 ::std::mem::align_of::<SMoveUnitCommand>(),
3361 8usize,
3362 concat!("Alignment of ", stringify!(SMoveUnitCommand))
3363 );
3364 assert_eq!(
3365 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3366 0usize,
3367 concat!(
3368 "Offset of field: ",
3369 stringify!(SMoveUnitCommand),
3370 "::",
3371 stringify!(unitId)
3372 )
3373 );
3374 assert_eq!(
3375 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3376 4usize,
3377 concat!(
3378 "Offset of field: ",
3379 stringify!(SMoveUnitCommand),
3380 "::",
3381 stringify!(groupId)
3382 )
3383 );
3384 assert_eq!(
3385 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3386 8usize,
3387 concat!(
3388 "Offset of field: ",
3389 stringify!(SMoveUnitCommand),
3390 "::",
3391 stringify!(options)
3392 )
3393 );
3394 assert_eq!(
3395 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3396 12usize,
3397 concat!(
3398 "Offset of field: ",
3399 stringify!(SMoveUnitCommand),
3400 "::",
3401 stringify!(timeOut)
3402 )
3403 );
3404 assert_eq!(
3405 unsafe { ::std::ptr::addr_of!((*ptr).toPos_posF3) as usize - ptr as usize },
3406 16usize,
3407 concat!(
3408 "Offset of field: ",
3409 stringify!(SMoveUnitCommand),
3410 "::",
3411 stringify!(toPos_posF3)
3412 )
3413 );
3414}
3415#[repr(C)]
3416#[derive(Debug, Copy, Clone)]
3417pub struct SPatrolUnitCommand {
3418 pub unitId: ::std::os::raw::c_int,
3419 pub groupId: ::std::os::raw::c_int,
3420 #[doc = " see enum UnitCommandOptions"]
3421 pub options: ::std::os::raw::c_short,
3422 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3423 pub timeOut: ::std::os::raw::c_int,
3424 pub toPos_posF3: *mut f32,
3425}
3426#[test]
3427fn bindgen_test_layout_SPatrolUnitCommand() {
3428 const UNINIT: ::std::mem::MaybeUninit<SPatrolUnitCommand> = ::std::mem::MaybeUninit::uninit();
3429 let ptr = UNINIT.as_ptr();
3430 assert_eq!(
3431 ::std::mem::size_of::<SPatrolUnitCommand>(),
3432 24usize,
3433 concat!("Size of: ", stringify!(SPatrolUnitCommand))
3434 );
3435 assert_eq!(
3436 ::std::mem::align_of::<SPatrolUnitCommand>(),
3437 8usize,
3438 concat!("Alignment of ", stringify!(SPatrolUnitCommand))
3439 );
3440 assert_eq!(
3441 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3442 0usize,
3443 concat!(
3444 "Offset of field: ",
3445 stringify!(SPatrolUnitCommand),
3446 "::",
3447 stringify!(unitId)
3448 )
3449 );
3450 assert_eq!(
3451 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3452 4usize,
3453 concat!(
3454 "Offset of field: ",
3455 stringify!(SPatrolUnitCommand),
3456 "::",
3457 stringify!(groupId)
3458 )
3459 );
3460 assert_eq!(
3461 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3462 8usize,
3463 concat!(
3464 "Offset of field: ",
3465 stringify!(SPatrolUnitCommand),
3466 "::",
3467 stringify!(options)
3468 )
3469 );
3470 assert_eq!(
3471 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3472 12usize,
3473 concat!(
3474 "Offset of field: ",
3475 stringify!(SPatrolUnitCommand),
3476 "::",
3477 stringify!(timeOut)
3478 )
3479 );
3480 assert_eq!(
3481 unsafe { ::std::ptr::addr_of!((*ptr).toPos_posF3) as usize - ptr as usize },
3482 16usize,
3483 concat!(
3484 "Offset of field: ",
3485 stringify!(SPatrolUnitCommand),
3486 "::",
3487 stringify!(toPos_posF3)
3488 )
3489 );
3490}
3491#[repr(C)]
3492#[derive(Debug, Copy, Clone)]
3493pub struct SFightUnitCommand {
3494 pub unitId: ::std::os::raw::c_int,
3495 pub groupId: ::std::os::raw::c_int,
3496 #[doc = " see enum UnitCommandOptions"]
3497 pub options: ::std::os::raw::c_short,
3498 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3499 pub timeOut: ::std::os::raw::c_int,
3500 pub toPos_posF3: *mut f32,
3501}
3502#[test]
3503fn bindgen_test_layout_SFightUnitCommand() {
3504 const UNINIT: ::std::mem::MaybeUninit<SFightUnitCommand> = ::std::mem::MaybeUninit::uninit();
3505 let ptr = UNINIT.as_ptr();
3506 assert_eq!(
3507 ::std::mem::size_of::<SFightUnitCommand>(),
3508 24usize,
3509 concat!("Size of: ", stringify!(SFightUnitCommand))
3510 );
3511 assert_eq!(
3512 ::std::mem::align_of::<SFightUnitCommand>(),
3513 8usize,
3514 concat!("Alignment of ", stringify!(SFightUnitCommand))
3515 );
3516 assert_eq!(
3517 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3518 0usize,
3519 concat!(
3520 "Offset of field: ",
3521 stringify!(SFightUnitCommand),
3522 "::",
3523 stringify!(unitId)
3524 )
3525 );
3526 assert_eq!(
3527 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3528 4usize,
3529 concat!(
3530 "Offset of field: ",
3531 stringify!(SFightUnitCommand),
3532 "::",
3533 stringify!(groupId)
3534 )
3535 );
3536 assert_eq!(
3537 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3538 8usize,
3539 concat!(
3540 "Offset of field: ",
3541 stringify!(SFightUnitCommand),
3542 "::",
3543 stringify!(options)
3544 )
3545 );
3546 assert_eq!(
3547 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3548 12usize,
3549 concat!(
3550 "Offset of field: ",
3551 stringify!(SFightUnitCommand),
3552 "::",
3553 stringify!(timeOut)
3554 )
3555 );
3556 assert_eq!(
3557 unsafe { ::std::ptr::addr_of!((*ptr).toPos_posF3) as usize - ptr as usize },
3558 16usize,
3559 concat!(
3560 "Offset of field: ",
3561 stringify!(SFightUnitCommand),
3562 "::",
3563 stringify!(toPos_posF3)
3564 )
3565 );
3566}
3567#[repr(C)]
3568#[derive(Debug, Copy, Clone)]
3569pub struct SAttackUnitCommand {
3570 pub unitId: ::std::os::raw::c_int,
3571 pub groupId: ::std::os::raw::c_int,
3572 #[doc = " see enum UnitCommandOptions"]
3573 pub options: ::std::os::raw::c_short,
3574 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3575 pub timeOut: ::std::os::raw::c_int,
3576 pub toAttackUnitId: ::std::os::raw::c_int,
3577}
3578#[test]
3579fn bindgen_test_layout_SAttackUnitCommand() {
3580 const UNINIT: ::std::mem::MaybeUninit<SAttackUnitCommand> = ::std::mem::MaybeUninit::uninit();
3581 let ptr = UNINIT.as_ptr();
3582 assert_eq!(
3583 ::std::mem::size_of::<SAttackUnitCommand>(),
3584 20usize,
3585 concat!("Size of: ", stringify!(SAttackUnitCommand))
3586 );
3587 assert_eq!(
3588 ::std::mem::align_of::<SAttackUnitCommand>(),
3589 4usize,
3590 concat!("Alignment of ", stringify!(SAttackUnitCommand))
3591 );
3592 assert_eq!(
3593 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3594 0usize,
3595 concat!(
3596 "Offset of field: ",
3597 stringify!(SAttackUnitCommand),
3598 "::",
3599 stringify!(unitId)
3600 )
3601 );
3602 assert_eq!(
3603 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3604 4usize,
3605 concat!(
3606 "Offset of field: ",
3607 stringify!(SAttackUnitCommand),
3608 "::",
3609 stringify!(groupId)
3610 )
3611 );
3612 assert_eq!(
3613 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3614 8usize,
3615 concat!(
3616 "Offset of field: ",
3617 stringify!(SAttackUnitCommand),
3618 "::",
3619 stringify!(options)
3620 )
3621 );
3622 assert_eq!(
3623 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3624 12usize,
3625 concat!(
3626 "Offset of field: ",
3627 stringify!(SAttackUnitCommand),
3628 "::",
3629 stringify!(timeOut)
3630 )
3631 );
3632 assert_eq!(
3633 unsafe { ::std::ptr::addr_of!((*ptr).toAttackUnitId) as usize - ptr as usize },
3634 16usize,
3635 concat!(
3636 "Offset of field: ",
3637 stringify!(SAttackUnitCommand),
3638 "::",
3639 stringify!(toAttackUnitId)
3640 )
3641 );
3642}
3643#[repr(C)]
3644#[derive(Debug, Copy, Clone)]
3645pub struct SAttackAreaUnitCommand {
3646 pub unitId: ::std::os::raw::c_int,
3647 pub groupId: ::std::os::raw::c_int,
3648 #[doc = " see enum UnitCommandOptions"]
3649 pub options: ::std::os::raw::c_short,
3650 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3651 pub timeOut: ::std::os::raw::c_int,
3652 pub toAttackPos_posF3: *mut f32,
3653 pub radius: f32,
3654}
3655#[test]
3656fn bindgen_test_layout_SAttackAreaUnitCommand() {
3657 const UNINIT: ::std::mem::MaybeUninit<SAttackAreaUnitCommand> =
3658 ::std::mem::MaybeUninit::uninit();
3659 let ptr = UNINIT.as_ptr();
3660 assert_eq!(
3661 ::std::mem::size_of::<SAttackAreaUnitCommand>(),
3662 32usize,
3663 concat!("Size of: ", stringify!(SAttackAreaUnitCommand))
3664 );
3665 assert_eq!(
3666 ::std::mem::align_of::<SAttackAreaUnitCommand>(),
3667 8usize,
3668 concat!("Alignment of ", stringify!(SAttackAreaUnitCommand))
3669 );
3670 assert_eq!(
3671 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3672 0usize,
3673 concat!(
3674 "Offset of field: ",
3675 stringify!(SAttackAreaUnitCommand),
3676 "::",
3677 stringify!(unitId)
3678 )
3679 );
3680 assert_eq!(
3681 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3682 4usize,
3683 concat!(
3684 "Offset of field: ",
3685 stringify!(SAttackAreaUnitCommand),
3686 "::",
3687 stringify!(groupId)
3688 )
3689 );
3690 assert_eq!(
3691 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3692 8usize,
3693 concat!(
3694 "Offset of field: ",
3695 stringify!(SAttackAreaUnitCommand),
3696 "::",
3697 stringify!(options)
3698 )
3699 );
3700 assert_eq!(
3701 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3702 12usize,
3703 concat!(
3704 "Offset of field: ",
3705 stringify!(SAttackAreaUnitCommand),
3706 "::",
3707 stringify!(timeOut)
3708 )
3709 );
3710 assert_eq!(
3711 unsafe { ::std::ptr::addr_of!((*ptr).toAttackPos_posF3) as usize - ptr as usize },
3712 16usize,
3713 concat!(
3714 "Offset of field: ",
3715 stringify!(SAttackAreaUnitCommand),
3716 "::",
3717 stringify!(toAttackPos_posF3)
3718 )
3719 );
3720 assert_eq!(
3721 unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
3722 24usize,
3723 concat!(
3724 "Offset of field: ",
3725 stringify!(SAttackAreaUnitCommand),
3726 "::",
3727 stringify!(radius)
3728 )
3729 );
3730}
3731#[repr(C)]
3732#[derive(Debug, Copy, Clone)]
3733pub struct SGuardUnitCommand {
3734 pub unitId: ::std::os::raw::c_int,
3735 pub groupId: ::std::os::raw::c_int,
3736 #[doc = " see enum UnitCommandOptions"]
3737 pub options: ::std::os::raw::c_short,
3738 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3739 pub timeOut: ::std::os::raw::c_int,
3740 pub toGuardUnitId: ::std::os::raw::c_int,
3741}
3742#[test]
3743fn bindgen_test_layout_SGuardUnitCommand() {
3744 const UNINIT: ::std::mem::MaybeUninit<SGuardUnitCommand> = ::std::mem::MaybeUninit::uninit();
3745 let ptr = UNINIT.as_ptr();
3746 assert_eq!(
3747 ::std::mem::size_of::<SGuardUnitCommand>(),
3748 20usize,
3749 concat!("Size of: ", stringify!(SGuardUnitCommand))
3750 );
3751 assert_eq!(
3752 ::std::mem::align_of::<SGuardUnitCommand>(),
3753 4usize,
3754 concat!("Alignment of ", stringify!(SGuardUnitCommand))
3755 );
3756 assert_eq!(
3757 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3758 0usize,
3759 concat!(
3760 "Offset of field: ",
3761 stringify!(SGuardUnitCommand),
3762 "::",
3763 stringify!(unitId)
3764 )
3765 );
3766 assert_eq!(
3767 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3768 4usize,
3769 concat!(
3770 "Offset of field: ",
3771 stringify!(SGuardUnitCommand),
3772 "::",
3773 stringify!(groupId)
3774 )
3775 );
3776 assert_eq!(
3777 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3778 8usize,
3779 concat!(
3780 "Offset of field: ",
3781 stringify!(SGuardUnitCommand),
3782 "::",
3783 stringify!(options)
3784 )
3785 );
3786 assert_eq!(
3787 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3788 12usize,
3789 concat!(
3790 "Offset of field: ",
3791 stringify!(SGuardUnitCommand),
3792 "::",
3793 stringify!(timeOut)
3794 )
3795 );
3796 assert_eq!(
3797 unsafe { ::std::ptr::addr_of!((*ptr).toGuardUnitId) as usize - ptr as usize },
3798 16usize,
3799 concat!(
3800 "Offset of field: ",
3801 stringify!(SGuardUnitCommand),
3802 "::",
3803 stringify!(toGuardUnitId)
3804 )
3805 );
3806}
3807#[repr(C)]
3808#[derive(Debug, Copy, Clone)]
3809pub struct SAiSelectUnitCommand {
3810 pub unitId: ::std::os::raw::c_int,
3811 pub groupId: ::std::os::raw::c_int,
3812 #[doc = " see enum UnitCommandOptions"]
3813 pub options: ::std::os::raw::c_short,
3814 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3815 pub timeOut: ::std::os::raw::c_int,
3816}
3817#[test]
3818fn bindgen_test_layout_SAiSelectUnitCommand() {
3819 const UNINIT: ::std::mem::MaybeUninit<SAiSelectUnitCommand> = ::std::mem::MaybeUninit::uninit();
3820 let ptr = UNINIT.as_ptr();
3821 assert_eq!(
3822 ::std::mem::size_of::<SAiSelectUnitCommand>(),
3823 16usize,
3824 concat!("Size of: ", stringify!(SAiSelectUnitCommand))
3825 );
3826 assert_eq!(
3827 ::std::mem::align_of::<SAiSelectUnitCommand>(),
3828 4usize,
3829 concat!("Alignment of ", stringify!(SAiSelectUnitCommand))
3830 );
3831 assert_eq!(
3832 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3833 0usize,
3834 concat!(
3835 "Offset of field: ",
3836 stringify!(SAiSelectUnitCommand),
3837 "::",
3838 stringify!(unitId)
3839 )
3840 );
3841 assert_eq!(
3842 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3843 4usize,
3844 concat!(
3845 "Offset of field: ",
3846 stringify!(SAiSelectUnitCommand),
3847 "::",
3848 stringify!(groupId)
3849 )
3850 );
3851 assert_eq!(
3852 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3853 8usize,
3854 concat!(
3855 "Offset of field: ",
3856 stringify!(SAiSelectUnitCommand),
3857 "::",
3858 stringify!(options)
3859 )
3860 );
3861 assert_eq!(
3862 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3863 12usize,
3864 concat!(
3865 "Offset of field: ",
3866 stringify!(SAiSelectUnitCommand),
3867 "::",
3868 stringify!(timeOut)
3869 )
3870 );
3871}
3872#[repr(C)]
3873#[derive(Debug, Copy, Clone)]
3874pub struct SGroupAddUnitCommand {
3875 pub unitId: ::std::os::raw::c_int,
3876 pub groupId: ::std::os::raw::c_int,
3877 #[doc = " see enum UnitCommandOptions"]
3878 pub options: ::std::os::raw::c_short,
3879 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3880 pub timeOut: ::std::os::raw::c_int,
3881 pub toGroupId: ::std::os::raw::c_int,
3882}
3883#[test]
3884fn bindgen_test_layout_SGroupAddUnitCommand() {
3885 const UNINIT: ::std::mem::MaybeUninit<SGroupAddUnitCommand> = ::std::mem::MaybeUninit::uninit();
3886 let ptr = UNINIT.as_ptr();
3887 assert_eq!(
3888 ::std::mem::size_of::<SGroupAddUnitCommand>(),
3889 20usize,
3890 concat!("Size of: ", stringify!(SGroupAddUnitCommand))
3891 );
3892 assert_eq!(
3893 ::std::mem::align_of::<SGroupAddUnitCommand>(),
3894 4usize,
3895 concat!("Alignment of ", stringify!(SGroupAddUnitCommand))
3896 );
3897 assert_eq!(
3898 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3899 0usize,
3900 concat!(
3901 "Offset of field: ",
3902 stringify!(SGroupAddUnitCommand),
3903 "::",
3904 stringify!(unitId)
3905 )
3906 );
3907 assert_eq!(
3908 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3909 4usize,
3910 concat!(
3911 "Offset of field: ",
3912 stringify!(SGroupAddUnitCommand),
3913 "::",
3914 stringify!(groupId)
3915 )
3916 );
3917 assert_eq!(
3918 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3919 8usize,
3920 concat!(
3921 "Offset of field: ",
3922 stringify!(SGroupAddUnitCommand),
3923 "::",
3924 stringify!(options)
3925 )
3926 );
3927 assert_eq!(
3928 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
3929 12usize,
3930 concat!(
3931 "Offset of field: ",
3932 stringify!(SGroupAddUnitCommand),
3933 "::",
3934 stringify!(timeOut)
3935 )
3936 );
3937 assert_eq!(
3938 unsafe { ::std::ptr::addr_of!((*ptr).toGroupId) as usize - ptr as usize },
3939 16usize,
3940 concat!(
3941 "Offset of field: ",
3942 stringify!(SGroupAddUnitCommand),
3943 "::",
3944 stringify!(toGroupId)
3945 )
3946 );
3947}
3948#[repr(C)]
3949#[derive(Debug, Copy, Clone)]
3950pub struct SGroupClearUnitCommand {
3951 pub unitId: ::std::os::raw::c_int,
3952 pub groupId: ::std::os::raw::c_int,
3953 #[doc = " see enum UnitCommandOptions"]
3954 pub options: ::std::os::raw::c_short,
3955 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
3956 pub timeOut: ::std::os::raw::c_int,
3957}
3958#[test]
3959fn bindgen_test_layout_SGroupClearUnitCommand() {
3960 const UNINIT: ::std::mem::MaybeUninit<SGroupClearUnitCommand> =
3961 ::std::mem::MaybeUninit::uninit();
3962 let ptr = UNINIT.as_ptr();
3963 assert_eq!(
3964 ::std::mem::size_of::<SGroupClearUnitCommand>(),
3965 16usize,
3966 concat!("Size of: ", stringify!(SGroupClearUnitCommand))
3967 );
3968 assert_eq!(
3969 ::std::mem::align_of::<SGroupClearUnitCommand>(),
3970 4usize,
3971 concat!("Alignment of ", stringify!(SGroupClearUnitCommand))
3972 );
3973 assert_eq!(
3974 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
3975 0usize,
3976 concat!(
3977 "Offset of field: ",
3978 stringify!(SGroupClearUnitCommand),
3979 "::",
3980 stringify!(unitId)
3981 )
3982 );
3983 assert_eq!(
3984 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
3985 4usize,
3986 concat!(
3987 "Offset of field: ",
3988 stringify!(SGroupClearUnitCommand),
3989 "::",
3990 stringify!(groupId)
3991 )
3992 );
3993 assert_eq!(
3994 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
3995 8usize,
3996 concat!(
3997 "Offset of field: ",
3998 stringify!(SGroupClearUnitCommand),
3999 "::",
4000 stringify!(options)
4001 )
4002 );
4003 assert_eq!(
4004 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4005 12usize,
4006 concat!(
4007 "Offset of field: ",
4008 stringify!(SGroupClearUnitCommand),
4009 "::",
4010 stringify!(timeOut)
4011 )
4012 );
4013}
4014#[repr(C)]
4015#[derive(Debug, Copy, Clone)]
4016pub struct SRepairUnitCommand {
4017 pub unitId: ::std::os::raw::c_int,
4018 pub groupId: ::std::os::raw::c_int,
4019 #[doc = " see enum UnitCommandOptions"]
4020 pub options: ::std::os::raw::c_short,
4021 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4022 pub timeOut: ::std::os::raw::c_int,
4023 pub toRepairUnitId: ::std::os::raw::c_int,
4024}
4025#[test]
4026fn bindgen_test_layout_SRepairUnitCommand() {
4027 const UNINIT: ::std::mem::MaybeUninit<SRepairUnitCommand> = ::std::mem::MaybeUninit::uninit();
4028 let ptr = UNINIT.as_ptr();
4029 assert_eq!(
4030 ::std::mem::size_of::<SRepairUnitCommand>(),
4031 20usize,
4032 concat!("Size of: ", stringify!(SRepairUnitCommand))
4033 );
4034 assert_eq!(
4035 ::std::mem::align_of::<SRepairUnitCommand>(),
4036 4usize,
4037 concat!("Alignment of ", stringify!(SRepairUnitCommand))
4038 );
4039 assert_eq!(
4040 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4041 0usize,
4042 concat!(
4043 "Offset of field: ",
4044 stringify!(SRepairUnitCommand),
4045 "::",
4046 stringify!(unitId)
4047 )
4048 );
4049 assert_eq!(
4050 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4051 4usize,
4052 concat!(
4053 "Offset of field: ",
4054 stringify!(SRepairUnitCommand),
4055 "::",
4056 stringify!(groupId)
4057 )
4058 );
4059 assert_eq!(
4060 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4061 8usize,
4062 concat!(
4063 "Offset of field: ",
4064 stringify!(SRepairUnitCommand),
4065 "::",
4066 stringify!(options)
4067 )
4068 );
4069 assert_eq!(
4070 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4071 12usize,
4072 concat!(
4073 "Offset of field: ",
4074 stringify!(SRepairUnitCommand),
4075 "::",
4076 stringify!(timeOut)
4077 )
4078 );
4079 assert_eq!(
4080 unsafe { ::std::ptr::addr_of!((*ptr).toRepairUnitId) as usize - ptr as usize },
4081 16usize,
4082 concat!(
4083 "Offset of field: ",
4084 stringify!(SRepairUnitCommand),
4085 "::",
4086 stringify!(toRepairUnitId)
4087 )
4088 );
4089}
4090#[repr(C)]
4091#[derive(Debug, Copy, Clone)]
4092pub struct SSetFireStateUnitCommand {
4093 pub unitId: ::std::os::raw::c_int,
4094 pub groupId: ::std::os::raw::c_int,
4095 #[doc = " see enum UnitCommandOptions"]
4096 pub options: ::std::os::raw::c_short,
4097 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4098 pub timeOut: ::std::os::raw::c_int,
4099 #[doc = " can be: 0=hold fire, 1=return fire, 2=fire at will"]
4100 pub fireState: ::std::os::raw::c_int,
4101}
4102#[test]
4103fn bindgen_test_layout_SSetFireStateUnitCommand() {
4104 const UNINIT: ::std::mem::MaybeUninit<SSetFireStateUnitCommand> =
4105 ::std::mem::MaybeUninit::uninit();
4106 let ptr = UNINIT.as_ptr();
4107 assert_eq!(
4108 ::std::mem::size_of::<SSetFireStateUnitCommand>(),
4109 20usize,
4110 concat!("Size of: ", stringify!(SSetFireStateUnitCommand))
4111 );
4112 assert_eq!(
4113 ::std::mem::align_of::<SSetFireStateUnitCommand>(),
4114 4usize,
4115 concat!("Alignment of ", stringify!(SSetFireStateUnitCommand))
4116 );
4117 assert_eq!(
4118 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4119 0usize,
4120 concat!(
4121 "Offset of field: ",
4122 stringify!(SSetFireStateUnitCommand),
4123 "::",
4124 stringify!(unitId)
4125 )
4126 );
4127 assert_eq!(
4128 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4129 4usize,
4130 concat!(
4131 "Offset of field: ",
4132 stringify!(SSetFireStateUnitCommand),
4133 "::",
4134 stringify!(groupId)
4135 )
4136 );
4137 assert_eq!(
4138 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4139 8usize,
4140 concat!(
4141 "Offset of field: ",
4142 stringify!(SSetFireStateUnitCommand),
4143 "::",
4144 stringify!(options)
4145 )
4146 );
4147 assert_eq!(
4148 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4149 12usize,
4150 concat!(
4151 "Offset of field: ",
4152 stringify!(SSetFireStateUnitCommand),
4153 "::",
4154 stringify!(timeOut)
4155 )
4156 );
4157 assert_eq!(
4158 unsafe { ::std::ptr::addr_of!((*ptr).fireState) as usize - ptr as usize },
4159 16usize,
4160 concat!(
4161 "Offset of field: ",
4162 stringify!(SSetFireStateUnitCommand),
4163 "::",
4164 stringify!(fireState)
4165 )
4166 );
4167}
4168#[repr(C)]
4169#[derive(Debug, Copy, Clone)]
4170pub struct SSetMoveStateUnitCommand {
4171 pub unitId: ::std::os::raw::c_int,
4172 pub groupId: ::std::os::raw::c_int,
4173 #[doc = " see enum UnitCommandOptions"]
4174 pub options: ::std::os::raw::c_short,
4175 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4176 pub timeOut: ::std::os::raw::c_int,
4177 #[doc = " 0=hold pos, 1=maneuvre, 2=roam"]
4178 pub moveState: ::std::os::raw::c_int,
4179}
4180#[test]
4181fn bindgen_test_layout_SSetMoveStateUnitCommand() {
4182 const UNINIT: ::std::mem::MaybeUninit<SSetMoveStateUnitCommand> =
4183 ::std::mem::MaybeUninit::uninit();
4184 let ptr = UNINIT.as_ptr();
4185 assert_eq!(
4186 ::std::mem::size_of::<SSetMoveStateUnitCommand>(),
4187 20usize,
4188 concat!("Size of: ", stringify!(SSetMoveStateUnitCommand))
4189 );
4190 assert_eq!(
4191 ::std::mem::align_of::<SSetMoveStateUnitCommand>(),
4192 4usize,
4193 concat!("Alignment of ", stringify!(SSetMoveStateUnitCommand))
4194 );
4195 assert_eq!(
4196 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4197 0usize,
4198 concat!(
4199 "Offset of field: ",
4200 stringify!(SSetMoveStateUnitCommand),
4201 "::",
4202 stringify!(unitId)
4203 )
4204 );
4205 assert_eq!(
4206 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4207 4usize,
4208 concat!(
4209 "Offset of field: ",
4210 stringify!(SSetMoveStateUnitCommand),
4211 "::",
4212 stringify!(groupId)
4213 )
4214 );
4215 assert_eq!(
4216 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4217 8usize,
4218 concat!(
4219 "Offset of field: ",
4220 stringify!(SSetMoveStateUnitCommand),
4221 "::",
4222 stringify!(options)
4223 )
4224 );
4225 assert_eq!(
4226 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4227 12usize,
4228 concat!(
4229 "Offset of field: ",
4230 stringify!(SSetMoveStateUnitCommand),
4231 "::",
4232 stringify!(timeOut)
4233 )
4234 );
4235 assert_eq!(
4236 unsafe { ::std::ptr::addr_of!((*ptr).moveState) as usize - ptr as usize },
4237 16usize,
4238 concat!(
4239 "Offset of field: ",
4240 stringify!(SSetMoveStateUnitCommand),
4241 "::",
4242 stringify!(moveState)
4243 )
4244 );
4245}
4246#[repr(C)]
4247#[derive(Debug, Copy, Clone)]
4248pub struct SSetBaseUnitCommand {
4249 pub unitId: ::std::os::raw::c_int,
4250 pub groupId: ::std::os::raw::c_int,
4251 #[doc = " see enum UnitCommandOptions"]
4252 pub options: ::std::os::raw::c_short,
4253 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4254 pub timeOut: ::std::os::raw::c_int,
4255 pub basePos_posF3: *mut f32,
4256}
4257#[test]
4258fn bindgen_test_layout_SSetBaseUnitCommand() {
4259 const UNINIT: ::std::mem::MaybeUninit<SSetBaseUnitCommand> = ::std::mem::MaybeUninit::uninit();
4260 let ptr = UNINIT.as_ptr();
4261 assert_eq!(
4262 ::std::mem::size_of::<SSetBaseUnitCommand>(),
4263 24usize,
4264 concat!("Size of: ", stringify!(SSetBaseUnitCommand))
4265 );
4266 assert_eq!(
4267 ::std::mem::align_of::<SSetBaseUnitCommand>(),
4268 8usize,
4269 concat!("Alignment of ", stringify!(SSetBaseUnitCommand))
4270 );
4271 assert_eq!(
4272 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4273 0usize,
4274 concat!(
4275 "Offset of field: ",
4276 stringify!(SSetBaseUnitCommand),
4277 "::",
4278 stringify!(unitId)
4279 )
4280 );
4281 assert_eq!(
4282 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4283 4usize,
4284 concat!(
4285 "Offset of field: ",
4286 stringify!(SSetBaseUnitCommand),
4287 "::",
4288 stringify!(groupId)
4289 )
4290 );
4291 assert_eq!(
4292 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4293 8usize,
4294 concat!(
4295 "Offset of field: ",
4296 stringify!(SSetBaseUnitCommand),
4297 "::",
4298 stringify!(options)
4299 )
4300 );
4301 assert_eq!(
4302 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4303 12usize,
4304 concat!(
4305 "Offset of field: ",
4306 stringify!(SSetBaseUnitCommand),
4307 "::",
4308 stringify!(timeOut)
4309 )
4310 );
4311 assert_eq!(
4312 unsafe { ::std::ptr::addr_of!((*ptr).basePos_posF3) as usize - ptr as usize },
4313 16usize,
4314 concat!(
4315 "Offset of field: ",
4316 stringify!(SSetBaseUnitCommand),
4317 "::",
4318 stringify!(basePos_posF3)
4319 )
4320 );
4321}
4322#[repr(C)]
4323#[derive(Debug, Copy, Clone)]
4324pub struct SSelfDestroyUnitCommand {
4325 pub unitId: ::std::os::raw::c_int,
4326 pub groupId: ::std::os::raw::c_int,
4327 #[doc = " see enum UnitCommandOptions"]
4328 pub options: ::std::os::raw::c_short,
4329 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4330 pub timeOut: ::std::os::raw::c_int,
4331}
4332#[test]
4333fn bindgen_test_layout_SSelfDestroyUnitCommand() {
4334 const UNINIT: ::std::mem::MaybeUninit<SSelfDestroyUnitCommand> =
4335 ::std::mem::MaybeUninit::uninit();
4336 let ptr = UNINIT.as_ptr();
4337 assert_eq!(
4338 ::std::mem::size_of::<SSelfDestroyUnitCommand>(),
4339 16usize,
4340 concat!("Size of: ", stringify!(SSelfDestroyUnitCommand))
4341 );
4342 assert_eq!(
4343 ::std::mem::align_of::<SSelfDestroyUnitCommand>(),
4344 4usize,
4345 concat!("Alignment of ", stringify!(SSelfDestroyUnitCommand))
4346 );
4347 assert_eq!(
4348 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4349 0usize,
4350 concat!(
4351 "Offset of field: ",
4352 stringify!(SSelfDestroyUnitCommand),
4353 "::",
4354 stringify!(unitId)
4355 )
4356 );
4357 assert_eq!(
4358 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4359 4usize,
4360 concat!(
4361 "Offset of field: ",
4362 stringify!(SSelfDestroyUnitCommand),
4363 "::",
4364 stringify!(groupId)
4365 )
4366 );
4367 assert_eq!(
4368 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4369 8usize,
4370 concat!(
4371 "Offset of field: ",
4372 stringify!(SSelfDestroyUnitCommand),
4373 "::",
4374 stringify!(options)
4375 )
4376 );
4377 assert_eq!(
4378 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4379 12usize,
4380 concat!(
4381 "Offset of field: ",
4382 stringify!(SSelfDestroyUnitCommand),
4383 "::",
4384 stringify!(timeOut)
4385 )
4386 );
4387}
4388#[repr(C)]
4389#[derive(Debug, Copy, Clone)]
4390pub struct SLoadUnitsUnitCommand {
4391 pub unitId: ::std::os::raw::c_int,
4392 pub groupId: ::std::os::raw::c_int,
4393 #[doc = " see enum UnitCommandOptions"]
4394 pub options: ::std::os::raw::c_short,
4395 pub timeOut: ::std::os::raw::c_int,
4396 pub toLoadUnitIds: *mut ::std::os::raw::c_int,
4397 pub toLoadUnitIds_size: ::std::os::raw::c_int,
4398}
4399#[test]
4400fn bindgen_test_layout_SLoadUnitsUnitCommand() {
4401 const UNINIT: ::std::mem::MaybeUninit<SLoadUnitsUnitCommand> =
4402 ::std::mem::MaybeUninit::uninit();
4403 let ptr = UNINIT.as_ptr();
4404 assert_eq!(
4405 ::std::mem::size_of::<SLoadUnitsUnitCommand>(),
4406 32usize,
4407 concat!("Size of: ", stringify!(SLoadUnitsUnitCommand))
4408 );
4409 assert_eq!(
4410 ::std::mem::align_of::<SLoadUnitsUnitCommand>(),
4411 8usize,
4412 concat!("Alignment of ", stringify!(SLoadUnitsUnitCommand))
4413 );
4414 assert_eq!(
4415 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4416 0usize,
4417 concat!(
4418 "Offset of field: ",
4419 stringify!(SLoadUnitsUnitCommand),
4420 "::",
4421 stringify!(unitId)
4422 )
4423 );
4424 assert_eq!(
4425 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4426 4usize,
4427 concat!(
4428 "Offset of field: ",
4429 stringify!(SLoadUnitsUnitCommand),
4430 "::",
4431 stringify!(groupId)
4432 )
4433 );
4434 assert_eq!(
4435 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4436 8usize,
4437 concat!(
4438 "Offset of field: ",
4439 stringify!(SLoadUnitsUnitCommand),
4440 "::",
4441 stringify!(options)
4442 )
4443 );
4444 assert_eq!(
4445 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4446 12usize,
4447 concat!(
4448 "Offset of field: ",
4449 stringify!(SLoadUnitsUnitCommand),
4450 "::",
4451 stringify!(timeOut)
4452 )
4453 );
4454 assert_eq!(
4455 unsafe { ::std::ptr::addr_of!((*ptr).toLoadUnitIds) as usize - ptr as usize },
4456 16usize,
4457 concat!(
4458 "Offset of field: ",
4459 stringify!(SLoadUnitsUnitCommand),
4460 "::",
4461 stringify!(toLoadUnitIds)
4462 )
4463 );
4464 assert_eq!(
4465 unsafe { ::std::ptr::addr_of!((*ptr).toLoadUnitIds_size) as usize - ptr as usize },
4466 24usize,
4467 concat!(
4468 "Offset of field: ",
4469 stringify!(SLoadUnitsUnitCommand),
4470 "::",
4471 stringify!(toLoadUnitIds_size)
4472 )
4473 );
4474}
4475#[repr(C)]
4476#[derive(Debug, Copy, Clone)]
4477pub struct SLoadUnitsAreaUnitCommand {
4478 pub unitId: ::std::os::raw::c_int,
4479 pub groupId: ::std::os::raw::c_int,
4480 #[doc = " see enum UnitCommandOptions"]
4481 pub options: ::std::os::raw::c_short,
4482 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4483 pub timeOut: ::std::os::raw::c_int,
4484 pub pos_posF3: *mut f32,
4485 pub radius: f32,
4486}
4487#[test]
4488fn bindgen_test_layout_SLoadUnitsAreaUnitCommand() {
4489 const UNINIT: ::std::mem::MaybeUninit<SLoadUnitsAreaUnitCommand> =
4490 ::std::mem::MaybeUninit::uninit();
4491 let ptr = UNINIT.as_ptr();
4492 assert_eq!(
4493 ::std::mem::size_of::<SLoadUnitsAreaUnitCommand>(),
4494 32usize,
4495 concat!("Size of: ", stringify!(SLoadUnitsAreaUnitCommand))
4496 );
4497 assert_eq!(
4498 ::std::mem::align_of::<SLoadUnitsAreaUnitCommand>(),
4499 8usize,
4500 concat!("Alignment of ", stringify!(SLoadUnitsAreaUnitCommand))
4501 );
4502 assert_eq!(
4503 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4504 0usize,
4505 concat!(
4506 "Offset of field: ",
4507 stringify!(SLoadUnitsAreaUnitCommand),
4508 "::",
4509 stringify!(unitId)
4510 )
4511 );
4512 assert_eq!(
4513 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4514 4usize,
4515 concat!(
4516 "Offset of field: ",
4517 stringify!(SLoadUnitsAreaUnitCommand),
4518 "::",
4519 stringify!(groupId)
4520 )
4521 );
4522 assert_eq!(
4523 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4524 8usize,
4525 concat!(
4526 "Offset of field: ",
4527 stringify!(SLoadUnitsAreaUnitCommand),
4528 "::",
4529 stringify!(options)
4530 )
4531 );
4532 assert_eq!(
4533 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4534 12usize,
4535 concat!(
4536 "Offset of field: ",
4537 stringify!(SLoadUnitsAreaUnitCommand),
4538 "::",
4539 stringify!(timeOut)
4540 )
4541 );
4542 assert_eq!(
4543 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
4544 16usize,
4545 concat!(
4546 "Offset of field: ",
4547 stringify!(SLoadUnitsAreaUnitCommand),
4548 "::",
4549 stringify!(pos_posF3)
4550 )
4551 );
4552 assert_eq!(
4553 unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
4554 24usize,
4555 concat!(
4556 "Offset of field: ",
4557 stringify!(SLoadUnitsAreaUnitCommand),
4558 "::",
4559 stringify!(radius)
4560 )
4561 );
4562}
4563#[repr(C)]
4564#[derive(Debug, Copy, Clone)]
4565pub struct SLoadOntoUnitCommand {
4566 pub unitId: ::std::os::raw::c_int,
4567 pub groupId: ::std::os::raw::c_int,
4568 #[doc = " see enum UnitCommandOptions"]
4569 pub options: ::std::os::raw::c_short,
4570 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4571 pub timeOut: ::std::os::raw::c_int,
4572 pub transporterUnitId: ::std::os::raw::c_int,
4573}
4574#[test]
4575fn bindgen_test_layout_SLoadOntoUnitCommand() {
4576 const UNINIT: ::std::mem::MaybeUninit<SLoadOntoUnitCommand> = ::std::mem::MaybeUninit::uninit();
4577 let ptr = UNINIT.as_ptr();
4578 assert_eq!(
4579 ::std::mem::size_of::<SLoadOntoUnitCommand>(),
4580 20usize,
4581 concat!("Size of: ", stringify!(SLoadOntoUnitCommand))
4582 );
4583 assert_eq!(
4584 ::std::mem::align_of::<SLoadOntoUnitCommand>(),
4585 4usize,
4586 concat!("Alignment of ", stringify!(SLoadOntoUnitCommand))
4587 );
4588 assert_eq!(
4589 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4590 0usize,
4591 concat!(
4592 "Offset of field: ",
4593 stringify!(SLoadOntoUnitCommand),
4594 "::",
4595 stringify!(unitId)
4596 )
4597 );
4598 assert_eq!(
4599 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4600 4usize,
4601 concat!(
4602 "Offset of field: ",
4603 stringify!(SLoadOntoUnitCommand),
4604 "::",
4605 stringify!(groupId)
4606 )
4607 );
4608 assert_eq!(
4609 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4610 8usize,
4611 concat!(
4612 "Offset of field: ",
4613 stringify!(SLoadOntoUnitCommand),
4614 "::",
4615 stringify!(options)
4616 )
4617 );
4618 assert_eq!(
4619 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4620 12usize,
4621 concat!(
4622 "Offset of field: ",
4623 stringify!(SLoadOntoUnitCommand),
4624 "::",
4625 stringify!(timeOut)
4626 )
4627 );
4628 assert_eq!(
4629 unsafe { ::std::ptr::addr_of!((*ptr).transporterUnitId) as usize - ptr as usize },
4630 16usize,
4631 concat!(
4632 "Offset of field: ",
4633 stringify!(SLoadOntoUnitCommand),
4634 "::",
4635 stringify!(transporterUnitId)
4636 )
4637 );
4638}
4639#[repr(C)]
4640#[derive(Debug, Copy, Clone)]
4641pub struct SUnloadUnitCommand {
4642 pub unitId: ::std::os::raw::c_int,
4643 pub groupId: ::std::os::raw::c_int,
4644 #[doc = " see enum UnitCommandOptions"]
4645 pub options: ::std::os::raw::c_short,
4646 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4647 pub timeOut: ::std::os::raw::c_int,
4648 pub toPos_posF3: *mut f32,
4649 pub toUnloadUnitId: ::std::os::raw::c_int,
4650}
4651#[test]
4652fn bindgen_test_layout_SUnloadUnitCommand() {
4653 const UNINIT: ::std::mem::MaybeUninit<SUnloadUnitCommand> = ::std::mem::MaybeUninit::uninit();
4654 let ptr = UNINIT.as_ptr();
4655 assert_eq!(
4656 ::std::mem::size_of::<SUnloadUnitCommand>(),
4657 32usize,
4658 concat!("Size of: ", stringify!(SUnloadUnitCommand))
4659 );
4660 assert_eq!(
4661 ::std::mem::align_of::<SUnloadUnitCommand>(),
4662 8usize,
4663 concat!("Alignment of ", stringify!(SUnloadUnitCommand))
4664 );
4665 assert_eq!(
4666 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4667 0usize,
4668 concat!(
4669 "Offset of field: ",
4670 stringify!(SUnloadUnitCommand),
4671 "::",
4672 stringify!(unitId)
4673 )
4674 );
4675 assert_eq!(
4676 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4677 4usize,
4678 concat!(
4679 "Offset of field: ",
4680 stringify!(SUnloadUnitCommand),
4681 "::",
4682 stringify!(groupId)
4683 )
4684 );
4685 assert_eq!(
4686 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4687 8usize,
4688 concat!(
4689 "Offset of field: ",
4690 stringify!(SUnloadUnitCommand),
4691 "::",
4692 stringify!(options)
4693 )
4694 );
4695 assert_eq!(
4696 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4697 12usize,
4698 concat!(
4699 "Offset of field: ",
4700 stringify!(SUnloadUnitCommand),
4701 "::",
4702 stringify!(timeOut)
4703 )
4704 );
4705 assert_eq!(
4706 unsafe { ::std::ptr::addr_of!((*ptr).toPos_posF3) as usize - ptr as usize },
4707 16usize,
4708 concat!(
4709 "Offset of field: ",
4710 stringify!(SUnloadUnitCommand),
4711 "::",
4712 stringify!(toPos_posF3)
4713 )
4714 );
4715 assert_eq!(
4716 unsafe { ::std::ptr::addr_of!((*ptr).toUnloadUnitId) as usize - ptr as usize },
4717 24usize,
4718 concat!(
4719 "Offset of field: ",
4720 stringify!(SUnloadUnitCommand),
4721 "::",
4722 stringify!(toUnloadUnitId)
4723 )
4724 );
4725}
4726#[repr(C)]
4727#[derive(Debug, Copy, Clone)]
4728pub struct SUnloadUnitsAreaUnitCommand {
4729 pub unitId: ::std::os::raw::c_int,
4730 pub groupId: ::std::os::raw::c_int,
4731 #[doc = " see enum UnitCommandOptions"]
4732 pub options: ::std::os::raw::c_short,
4733 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4734 pub timeOut: ::std::os::raw::c_int,
4735 pub toPos_posF3: *mut f32,
4736 pub radius: f32,
4737}
4738#[test]
4739fn bindgen_test_layout_SUnloadUnitsAreaUnitCommand() {
4740 const UNINIT: ::std::mem::MaybeUninit<SUnloadUnitsAreaUnitCommand> =
4741 ::std::mem::MaybeUninit::uninit();
4742 let ptr = UNINIT.as_ptr();
4743 assert_eq!(
4744 ::std::mem::size_of::<SUnloadUnitsAreaUnitCommand>(),
4745 32usize,
4746 concat!("Size of: ", stringify!(SUnloadUnitsAreaUnitCommand))
4747 );
4748 assert_eq!(
4749 ::std::mem::align_of::<SUnloadUnitsAreaUnitCommand>(),
4750 8usize,
4751 concat!("Alignment of ", stringify!(SUnloadUnitsAreaUnitCommand))
4752 );
4753 assert_eq!(
4754 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4755 0usize,
4756 concat!(
4757 "Offset of field: ",
4758 stringify!(SUnloadUnitsAreaUnitCommand),
4759 "::",
4760 stringify!(unitId)
4761 )
4762 );
4763 assert_eq!(
4764 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4765 4usize,
4766 concat!(
4767 "Offset of field: ",
4768 stringify!(SUnloadUnitsAreaUnitCommand),
4769 "::",
4770 stringify!(groupId)
4771 )
4772 );
4773 assert_eq!(
4774 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4775 8usize,
4776 concat!(
4777 "Offset of field: ",
4778 stringify!(SUnloadUnitsAreaUnitCommand),
4779 "::",
4780 stringify!(options)
4781 )
4782 );
4783 assert_eq!(
4784 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4785 12usize,
4786 concat!(
4787 "Offset of field: ",
4788 stringify!(SUnloadUnitsAreaUnitCommand),
4789 "::",
4790 stringify!(timeOut)
4791 )
4792 );
4793 assert_eq!(
4794 unsafe { ::std::ptr::addr_of!((*ptr).toPos_posF3) as usize - ptr as usize },
4795 16usize,
4796 concat!(
4797 "Offset of field: ",
4798 stringify!(SUnloadUnitsAreaUnitCommand),
4799 "::",
4800 stringify!(toPos_posF3)
4801 )
4802 );
4803 assert_eq!(
4804 unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
4805 24usize,
4806 concat!(
4807 "Offset of field: ",
4808 stringify!(SUnloadUnitsAreaUnitCommand),
4809 "::",
4810 stringify!(radius)
4811 )
4812 );
4813}
4814#[repr(C)]
4815#[derive(Debug, Copy, Clone)]
4816pub struct SSetOnOffUnitCommand {
4817 pub unitId: ::std::os::raw::c_int,
4818 pub groupId: ::std::os::raw::c_int,
4819 #[doc = " see enum UnitCommandOptions"]
4820 pub options: ::std::os::raw::c_short,
4821 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4822 pub timeOut: ::std::os::raw::c_int,
4823 pub on: bool,
4824}
4825#[test]
4826fn bindgen_test_layout_SSetOnOffUnitCommand() {
4827 const UNINIT: ::std::mem::MaybeUninit<SSetOnOffUnitCommand> = ::std::mem::MaybeUninit::uninit();
4828 let ptr = UNINIT.as_ptr();
4829 assert_eq!(
4830 ::std::mem::size_of::<SSetOnOffUnitCommand>(),
4831 20usize,
4832 concat!("Size of: ", stringify!(SSetOnOffUnitCommand))
4833 );
4834 assert_eq!(
4835 ::std::mem::align_of::<SSetOnOffUnitCommand>(),
4836 4usize,
4837 concat!("Alignment of ", stringify!(SSetOnOffUnitCommand))
4838 );
4839 assert_eq!(
4840 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4841 0usize,
4842 concat!(
4843 "Offset of field: ",
4844 stringify!(SSetOnOffUnitCommand),
4845 "::",
4846 stringify!(unitId)
4847 )
4848 );
4849 assert_eq!(
4850 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4851 4usize,
4852 concat!(
4853 "Offset of field: ",
4854 stringify!(SSetOnOffUnitCommand),
4855 "::",
4856 stringify!(groupId)
4857 )
4858 );
4859 assert_eq!(
4860 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4861 8usize,
4862 concat!(
4863 "Offset of field: ",
4864 stringify!(SSetOnOffUnitCommand),
4865 "::",
4866 stringify!(options)
4867 )
4868 );
4869 assert_eq!(
4870 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4871 12usize,
4872 concat!(
4873 "Offset of field: ",
4874 stringify!(SSetOnOffUnitCommand),
4875 "::",
4876 stringify!(timeOut)
4877 )
4878 );
4879 assert_eq!(
4880 unsafe { ::std::ptr::addr_of!((*ptr).on) as usize - ptr as usize },
4881 16usize,
4882 concat!(
4883 "Offset of field: ",
4884 stringify!(SSetOnOffUnitCommand),
4885 "::",
4886 stringify!(on)
4887 )
4888 );
4889}
4890#[repr(C)]
4891#[derive(Debug, Copy, Clone)]
4892pub struct SReclaimUnitUnitCommand {
4893 pub unitId: ::std::os::raw::c_int,
4894 pub groupId: ::std::os::raw::c_int,
4895 #[doc = " see enum UnitCommandOptions"]
4896 pub options: ::std::os::raw::c_short,
4897 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4898 pub timeOut: ::std::os::raw::c_int,
4899 pub toReclaimUnitId: ::std::os::raw::c_int,
4900}
4901#[test]
4902fn bindgen_test_layout_SReclaimUnitUnitCommand() {
4903 const UNINIT: ::std::mem::MaybeUninit<SReclaimUnitUnitCommand> =
4904 ::std::mem::MaybeUninit::uninit();
4905 let ptr = UNINIT.as_ptr();
4906 assert_eq!(
4907 ::std::mem::size_of::<SReclaimUnitUnitCommand>(),
4908 20usize,
4909 concat!("Size of: ", stringify!(SReclaimUnitUnitCommand))
4910 );
4911 assert_eq!(
4912 ::std::mem::align_of::<SReclaimUnitUnitCommand>(),
4913 4usize,
4914 concat!("Alignment of ", stringify!(SReclaimUnitUnitCommand))
4915 );
4916 assert_eq!(
4917 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4918 0usize,
4919 concat!(
4920 "Offset of field: ",
4921 stringify!(SReclaimUnitUnitCommand),
4922 "::",
4923 stringify!(unitId)
4924 )
4925 );
4926 assert_eq!(
4927 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4928 4usize,
4929 concat!(
4930 "Offset of field: ",
4931 stringify!(SReclaimUnitUnitCommand),
4932 "::",
4933 stringify!(groupId)
4934 )
4935 );
4936 assert_eq!(
4937 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
4938 8usize,
4939 concat!(
4940 "Offset of field: ",
4941 stringify!(SReclaimUnitUnitCommand),
4942 "::",
4943 stringify!(options)
4944 )
4945 );
4946 assert_eq!(
4947 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
4948 12usize,
4949 concat!(
4950 "Offset of field: ",
4951 stringify!(SReclaimUnitUnitCommand),
4952 "::",
4953 stringify!(timeOut)
4954 )
4955 );
4956 assert_eq!(
4957 unsafe { ::std::ptr::addr_of!((*ptr).toReclaimUnitId) as usize - ptr as usize },
4958 16usize,
4959 concat!(
4960 "Offset of field: ",
4961 stringify!(SReclaimUnitUnitCommand),
4962 "::",
4963 stringify!(toReclaimUnitId)
4964 )
4965 );
4966}
4967#[repr(C)]
4968#[derive(Debug, Copy, Clone)]
4969pub struct SReclaimFeatureUnitCommand {
4970 pub unitId: ::std::os::raw::c_int,
4971 pub groupId: ::std::os::raw::c_int,
4972 #[doc = " see enum UnitCommandOptions"]
4973 pub options: ::std::os::raw::c_short,
4974 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
4975 pub timeOut: ::std::os::raw::c_int,
4976 pub toReclaimFeatureId: ::std::os::raw::c_int,
4977}
4978#[test]
4979fn bindgen_test_layout_SReclaimFeatureUnitCommand() {
4980 const UNINIT: ::std::mem::MaybeUninit<SReclaimFeatureUnitCommand> =
4981 ::std::mem::MaybeUninit::uninit();
4982 let ptr = UNINIT.as_ptr();
4983 assert_eq!(
4984 ::std::mem::size_of::<SReclaimFeatureUnitCommand>(),
4985 20usize,
4986 concat!("Size of: ", stringify!(SReclaimFeatureUnitCommand))
4987 );
4988 assert_eq!(
4989 ::std::mem::align_of::<SReclaimFeatureUnitCommand>(),
4990 4usize,
4991 concat!("Alignment of ", stringify!(SReclaimFeatureUnitCommand))
4992 );
4993 assert_eq!(
4994 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
4995 0usize,
4996 concat!(
4997 "Offset of field: ",
4998 stringify!(SReclaimFeatureUnitCommand),
4999 "::",
5000 stringify!(unitId)
5001 )
5002 );
5003 assert_eq!(
5004 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5005 4usize,
5006 concat!(
5007 "Offset of field: ",
5008 stringify!(SReclaimFeatureUnitCommand),
5009 "::",
5010 stringify!(groupId)
5011 )
5012 );
5013 assert_eq!(
5014 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5015 8usize,
5016 concat!(
5017 "Offset of field: ",
5018 stringify!(SReclaimFeatureUnitCommand),
5019 "::",
5020 stringify!(options)
5021 )
5022 );
5023 assert_eq!(
5024 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5025 12usize,
5026 concat!(
5027 "Offset of field: ",
5028 stringify!(SReclaimFeatureUnitCommand),
5029 "::",
5030 stringify!(timeOut)
5031 )
5032 );
5033 assert_eq!(
5034 unsafe { ::std::ptr::addr_of!((*ptr).toReclaimFeatureId) as usize - ptr as usize },
5035 16usize,
5036 concat!(
5037 "Offset of field: ",
5038 stringify!(SReclaimFeatureUnitCommand),
5039 "::",
5040 stringify!(toReclaimFeatureId)
5041 )
5042 );
5043}
5044#[repr(C)]
5045#[derive(Debug, Copy, Clone)]
5046pub struct SReclaimAreaUnitCommand {
5047 pub unitId: ::std::os::raw::c_int,
5048 pub groupId: ::std::os::raw::c_int,
5049 #[doc = " see enum UnitCommandOptions"]
5050 pub options: ::std::os::raw::c_short,
5051 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5052 pub timeOut: ::std::os::raw::c_int,
5053 pub pos_posF3: *mut f32,
5054 pub radius: f32,
5055}
5056#[test]
5057fn bindgen_test_layout_SReclaimAreaUnitCommand() {
5058 const UNINIT: ::std::mem::MaybeUninit<SReclaimAreaUnitCommand> =
5059 ::std::mem::MaybeUninit::uninit();
5060 let ptr = UNINIT.as_ptr();
5061 assert_eq!(
5062 ::std::mem::size_of::<SReclaimAreaUnitCommand>(),
5063 32usize,
5064 concat!("Size of: ", stringify!(SReclaimAreaUnitCommand))
5065 );
5066 assert_eq!(
5067 ::std::mem::align_of::<SReclaimAreaUnitCommand>(),
5068 8usize,
5069 concat!("Alignment of ", stringify!(SReclaimAreaUnitCommand))
5070 );
5071 assert_eq!(
5072 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5073 0usize,
5074 concat!(
5075 "Offset of field: ",
5076 stringify!(SReclaimAreaUnitCommand),
5077 "::",
5078 stringify!(unitId)
5079 )
5080 );
5081 assert_eq!(
5082 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5083 4usize,
5084 concat!(
5085 "Offset of field: ",
5086 stringify!(SReclaimAreaUnitCommand),
5087 "::",
5088 stringify!(groupId)
5089 )
5090 );
5091 assert_eq!(
5092 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5093 8usize,
5094 concat!(
5095 "Offset of field: ",
5096 stringify!(SReclaimAreaUnitCommand),
5097 "::",
5098 stringify!(options)
5099 )
5100 );
5101 assert_eq!(
5102 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5103 12usize,
5104 concat!(
5105 "Offset of field: ",
5106 stringify!(SReclaimAreaUnitCommand),
5107 "::",
5108 stringify!(timeOut)
5109 )
5110 );
5111 assert_eq!(
5112 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
5113 16usize,
5114 concat!(
5115 "Offset of field: ",
5116 stringify!(SReclaimAreaUnitCommand),
5117 "::",
5118 stringify!(pos_posF3)
5119 )
5120 );
5121 assert_eq!(
5122 unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
5123 24usize,
5124 concat!(
5125 "Offset of field: ",
5126 stringify!(SReclaimAreaUnitCommand),
5127 "::",
5128 stringify!(radius)
5129 )
5130 );
5131}
5132#[repr(C)]
5133#[derive(Debug, Copy, Clone)]
5134pub struct SCloakUnitCommand {
5135 pub unitId: ::std::os::raw::c_int,
5136 pub groupId: ::std::os::raw::c_int,
5137 #[doc = " see enum UnitCommandOptions"]
5138 pub options: ::std::os::raw::c_short,
5139 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5140 pub timeOut: ::std::os::raw::c_int,
5141 pub cloak: bool,
5142}
5143#[test]
5144fn bindgen_test_layout_SCloakUnitCommand() {
5145 const UNINIT: ::std::mem::MaybeUninit<SCloakUnitCommand> = ::std::mem::MaybeUninit::uninit();
5146 let ptr = UNINIT.as_ptr();
5147 assert_eq!(
5148 ::std::mem::size_of::<SCloakUnitCommand>(),
5149 20usize,
5150 concat!("Size of: ", stringify!(SCloakUnitCommand))
5151 );
5152 assert_eq!(
5153 ::std::mem::align_of::<SCloakUnitCommand>(),
5154 4usize,
5155 concat!("Alignment of ", stringify!(SCloakUnitCommand))
5156 );
5157 assert_eq!(
5158 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5159 0usize,
5160 concat!(
5161 "Offset of field: ",
5162 stringify!(SCloakUnitCommand),
5163 "::",
5164 stringify!(unitId)
5165 )
5166 );
5167 assert_eq!(
5168 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5169 4usize,
5170 concat!(
5171 "Offset of field: ",
5172 stringify!(SCloakUnitCommand),
5173 "::",
5174 stringify!(groupId)
5175 )
5176 );
5177 assert_eq!(
5178 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5179 8usize,
5180 concat!(
5181 "Offset of field: ",
5182 stringify!(SCloakUnitCommand),
5183 "::",
5184 stringify!(options)
5185 )
5186 );
5187 assert_eq!(
5188 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5189 12usize,
5190 concat!(
5191 "Offset of field: ",
5192 stringify!(SCloakUnitCommand),
5193 "::",
5194 stringify!(timeOut)
5195 )
5196 );
5197 assert_eq!(
5198 unsafe { ::std::ptr::addr_of!((*ptr).cloak) as usize - ptr as usize },
5199 16usize,
5200 concat!(
5201 "Offset of field: ",
5202 stringify!(SCloakUnitCommand),
5203 "::",
5204 stringify!(cloak)
5205 )
5206 );
5207}
5208#[repr(C)]
5209#[derive(Debug, Copy, Clone)]
5210pub struct SStockpileUnitCommand {
5211 pub unitId: ::std::os::raw::c_int,
5212 pub groupId: ::std::os::raw::c_int,
5213 #[doc = " see enum UnitCommandOptions"]
5214 pub options: ::std::os::raw::c_short,
5215 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5216 pub timeOut: ::std::os::raw::c_int,
5217}
5218#[test]
5219fn bindgen_test_layout_SStockpileUnitCommand() {
5220 const UNINIT: ::std::mem::MaybeUninit<SStockpileUnitCommand> =
5221 ::std::mem::MaybeUninit::uninit();
5222 let ptr = UNINIT.as_ptr();
5223 assert_eq!(
5224 ::std::mem::size_of::<SStockpileUnitCommand>(),
5225 16usize,
5226 concat!("Size of: ", stringify!(SStockpileUnitCommand))
5227 );
5228 assert_eq!(
5229 ::std::mem::align_of::<SStockpileUnitCommand>(),
5230 4usize,
5231 concat!("Alignment of ", stringify!(SStockpileUnitCommand))
5232 );
5233 assert_eq!(
5234 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5235 0usize,
5236 concat!(
5237 "Offset of field: ",
5238 stringify!(SStockpileUnitCommand),
5239 "::",
5240 stringify!(unitId)
5241 )
5242 );
5243 assert_eq!(
5244 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5245 4usize,
5246 concat!(
5247 "Offset of field: ",
5248 stringify!(SStockpileUnitCommand),
5249 "::",
5250 stringify!(groupId)
5251 )
5252 );
5253 assert_eq!(
5254 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5255 8usize,
5256 concat!(
5257 "Offset of field: ",
5258 stringify!(SStockpileUnitCommand),
5259 "::",
5260 stringify!(options)
5261 )
5262 );
5263 assert_eq!(
5264 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5265 12usize,
5266 concat!(
5267 "Offset of field: ",
5268 stringify!(SStockpileUnitCommand),
5269 "::",
5270 stringify!(timeOut)
5271 )
5272 );
5273}
5274#[repr(C)]
5275#[derive(Debug, Copy, Clone)]
5276pub struct SDGunUnitCommand {
5277 pub unitId: ::std::os::raw::c_int,
5278 pub groupId: ::std::os::raw::c_int,
5279 #[doc = " see enum UnitCommandOptions"]
5280 pub options: ::std::os::raw::c_short,
5281 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5282 pub timeOut: ::std::os::raw::c_int,
5283 pub toAttackUnitId: ::std::os::raw::c_int,
5284}
5285#[test]
5286fn bindgen_test_layout_SDGunUnitCommand() {
5287 const UNINIT: ::std::mem::MaybeUninit<SDGunUnitCommand> = ::std::mem::MaybeUninit::uninit();
5288 let ptr = UNINIT.as_ptr();
5289 assert_eq!(
5290 ::std::mem::size_of::<SDGunUnitCommand>(),
5291 20usize,
5292 concat!("Size of: ", stringify!(SDGunUnitCommand))
5293 );
5294 assert_eq!(
5295 ::std::mem::align_of::<SDGunUnitCommand>(),
5296 4usize,
5297 concat!("Alignment of ", stringify!(SDGunUnitCommand))
5298 );
5299 assert_eq!(
5300 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5301 0usize,
5302 concat!(
5303 "Offset of field: ",
5304 stringify!(SDGunUnitCommand),
5305 "::",
5306 stringify!(unitId)
5307 )
5308 );
5309 assert_eq!(
5310 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5311 4usize,
5312 concat!(
5313 "Offset of field: ",
5314 stringify!(SDGunUnitCommand),
5315 "::",
5316 stringify!(groupId)
5317 )
5318 );
5319 assert_eq!(
5320 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5321 8usize,
5322 concat!(
5323 "Offset of field: ",
5324 stringify!(SDGunUnitCommand),
5325 "::",
5326 stringify!(options)
5327 )
5328 );
5329 assert_eq!(
5330 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5331 12usize,
5332 concat!(
5333 "Offset of field: ",
5334 stringify!(SDGunUnitCommand),
5335 "::",
5336 stringify!(timeOut)
5337 )
5338 );
5339 assert_eq!(
5340 unsafe { ::std::ptr::addr_of!((*ptr).toAttackUnitId) as usize - ptr as usize },
5341 16usize,
5342 concat!(
5343 "Offset of field: ",
5344 stringify!(SDGunUnitCommand),
5345 "::",
5346 stringify!(toAttackUnitId)
5347 )
5348 );
5349}
5350#[repr(C)]
5351#[derive(Debug, Copy, Clone)]
5352pub struct SDGunPosUnitCommand {
5353 pub unitId: ::std::os::raw::c_int,
5354 pub groupId: ::std::os::raw::c_int,
5355 #[doc = " see enum UnitCommandOptions"]
5356 pub options: ::std::os::raw::c_short,
5357 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5358 pub timeOut: ::std::os::raw::c_int,
5359 pub pos_posF3: *mut f32,
5360}
5361#[test]
5362fn bindgen_test_layout_SDGunPosUnitCommand() {
5363 const UNINIT: ::std::mem::MaybeUninit<SDGunPosUnitCommand> = ::std::mem::MaybeUninit::uninit();
5364 let ptr = UNINIT.as_ptr();
5365 assert_eq!(
5366 ::std::mem::size_of::<SDGunPosUnitCommand>(),
5367 24usize,
5368 concat!("Size of: ", stringify!(SDGunPosUnitCommand))
5369 );
5370 assert_eq!(
5371 ::std::mem::align_of::<SDGunPosUnitCommand>(),
5372 8usize,
5373 concat!("Alignment of ", stringify!(SDGunPosUnitCommand))
5374 );
5375 assert_eq!(
5376 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5377 0usize,
5378 concat!(
5379 "Offset of field: ",
5380 stringify!(SDGunPosUnitCommand),
5381 "::",
5382 stringify!(unitId)
5383 )
5384 );
5385 assert_eq!(
5386 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5387 4usize,
5388 concat!(
5389 "Offset of field: ",
5390 stringify!(SDGunPosUnitCommand),
5391 "::",
5392 stringify!(groupId)
5393 )
5394 );
5395 assert_eq!(
5396 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5397 8usize,
5398 concat!(
5399 "Offset of field: ",
5400 stringify!(SDGunPosUnitCommand),
5401 "::",
5402 stringify!(options)
5403 )
5404 );
5405 assert_eq!(
5406 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5407 12usize,
5408 concat!(
5409 "Offset of field: ",
5410 stringify!(SDGunPosUnitCommand),
5411 "::",
5412 stringify!(timeOut)
5413 )
5414 );
5415 assert_eq!(
5416 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
5417 16usize,
5418 concat!(
5419 "Offset of field: ",
5420 stringify!(SDGunPosUnitCommand),
5421 "::",
5422 stringify!(pos_posF3)
5423 )
5424 );
5425}
5426#[repr(C)]
5427#[derive(Debug, Copy, Clone)]
5428pub struct SRestoreAreaUnitCommand {
5429 pub unitId: ::std::os::raw::c_int,
5430 pub groupId: ::std::os::raw::c_int,
5431 #[doc = " see enum UnitCommandOptions"]
5432 pub options: ::std::os::raw::c_short,
5433 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5434 pub timeOut: ::std::os::raw::c_int,
5435 pub pos_posF3: *mut f32,
5436 pub radius: f32,
5437}
5438#[test]
5439fn bindgen_test_layout_SRestoreAreaUnitCommand() {
5440 const UNINIT: ::std::mem::MaybeUninit<SRestoreAreaUnitCommand> =
5441 ::std::mem::MaybeUninit::uninit();
5442 let ptr = UNINIT.as_ptr();
5443 assert_eq!(
5444 ::std::mem::size_of::<SRestoreAreaUnitCommand>(),
5445 32usize,
5446 concat!("Size of: ", stringify!(SRestoreAreaUnitCommand))
5447 );
5448 assert_eq!(
5449 ::std::mem::align_of::<SRestoreAreaUnitCommand>(),
5450 8usize,
5451 concat!("Alignment of ", stringify!(SRestoreAreaUnitCommand))
5452 );
5453 assert_eq!(
5454 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5455 0usize,
5456 concat!(
5457 "Offset of field: ",
5458 stringify!(SRestoreAreaUnitCommand),
5459 "::",
5460 stringify!(unitId)
5461 )
5462 );
5463 assert_eq!(
5464 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5465 4usize,
5466 concat!(
5467 "Offset of field: ",
5468 stringify!(SRestoreAreaUnitCommand),
5469 "::",
5470 stringify!(groupId)
5471 )
5472 );
5473 assert_eq!(
5474 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5475 8usize,
5476 concat!(
5477 "Offset of field: ",
5478 stringify!(SRestoreAreaUnitCommand),
5479 "::",
5480 stringify!(options)
5481 )
5482 );
5483 assert_eq!(
5484 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5485 12usize,
5486 concat!(
5487 "Offset of field: ",
5488 stringify!(SRestoreAreaUnitCommand),
5489 "::",
5490 stringify!(timeOut)
5491 )
5492 );
5493 assert_eq!(
5494 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
5495 16usize,
5496 concat!(
5497 "Offset of field: ",
5498 stringify!(SRestoreAreaUnitCommand),
5499 "::",
5500 stringify!(pos_posF3)
5501 )
5502 );
5503 assert_eq!(
5504 unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
5505 24usize,
5506 concat!(
5507 "Offset of field: ",
5508 stringify!(SRestoreAreaUnitCommand),
5509 "::",
5510 stringify!(radius)
5511 )
5512 );
5513}
5514#[repr(C)]
5515#[derive(Debug, Copy, Clone)]
5516pub struct SSetRepeatUnitCommand {
5517 pub unitId: ::std::os::raw::c_int,
5518 pub groupId: ::std::os::raw::c_int,
5519 #[doc = " see enum UnitCommandOptions"]
5520 pub options: ::std::os::raw::c_short,
5521 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5522 pub timeOut: ::std::os::raw::c_int,
5523 pub repeat: bool,
5524}
5525#[test]
5526fn bindgen_test_layout_SSetRepeatUnitCommand() {
5527 const UNINIT: ::std::mem::MaybeUninit<SSetRepeatUnitCommand> =
5528 ::std::mem::MaybeUninit::uninit();
5529 let ptr = UNINIT.as_ptr();
5530 assert_eq!(
5531 ::std::mem::size_of::<SSetRepeatUnitCommand>(),
5532 20usize,
5533 concat!("Size of: ", stringify!(SSetRepeatUnitCommand))
5534 );
5535 assert_eq!(
5536 ::std::mem::align_of::<SSetRepeatUnitCommand>(),
5537 4usize,
5538 concat!("Alignment of ", stringify!(SSetRepeatUnitCommand))
5539 );
5540 assert_eq!(
5541 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5542 0usize,
5543 concat!(
5544 "Offset of field: ",
5545 stringify!(SSetRepeatUnitCommand),
5546 "::",
5547 stringify!(unitId)
5548 )
5549 );
5550 assert_eq!(
5551 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5552 4usize,
5553 concat!(
5554 "Offset of field: ",
5555 stringify!(SSetRepeatUnitCommand),
5556 "::",
5557 stringify!(groupId)
5558 )
5559 );
5560 assert_eq!(
5561 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5562 8usize,
5563 concat!(
5564 "Offset of field: ",
5565 stringify!(SSetRepeatUnitCommand),
5566 "::",
5567 stringify!(options)
5568 )
5569 );
5570 assert_eq!(
5571 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5572 12usize,
5573 concat!(
5574 "Offset of field: ",
5575 stringify!(SSetRepeatUnitCommand),
5576 "::",
5577 stringify!(timeOut)
5578 )
5579 );
5580 assert_eq!(
5581 unsafe { ::std::ptr::addr_of!((*ptr).repeat) as usize - ptr as usize },
5582 16usize,
5583 concat!(
5584 "Offset of field: ",
5585 stringify!(SSetRepeatUnitCommand),
5586 "::",
5587 stringify!(repeat)
5588 )
5589 );
5590}
5591#[doc = " Tells weapons that support it to try to use a high trajectory"]
5592#[repr(C)]
5593#[derive(Debug, Copy, Clone)]
5594pub struct SSetTrajectoryUnitCommand {
5595 pub unitId: ::std::os::raw::c_int,
5596 pub groupId: ::std::os::raw::c_int,
5597 #[doc = " see enum UnitCommandOptions"]
5598 pub options: ::std::os::raw::c_short,
5599 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5600 pub timeOut: ::std::os::raw::c_int,
5601 #[doc = " 0: low-trajectory, 1: high-trajectory"]
5602 pub trajectory: ::std::os::raw::c_int,
5603}
5604#[test]
5605fn bindgen_test_layout_SSetTrajectoryUnitCommand() {
5606 const UNINIT: ::std::mem::MaybeUninit<SSetTrajectoryUnitCommand> =
5607 ::std::mem::MaybeUninit::uninit();
5608 let ptr = UNINIT.as_ptr();
5609 assert_eq!(
5610 ::std::mem::size_of::<SSetTrajectoryUnitCommand>(),
5611 20usize,
5612 concat!("Size of: ", stringify!(SSetTrajectoryUnitCommand))
5613 );
5614 assert_eq!(
5615 ::std::mem::align_of::<SSetTrajectoryUnitCommand>(),
5616 4usize,
5617 concat!("Alignment of ", stringify!(SSetTrajectoryUnitCommand))
5618 );
5619 assert_eq!(
5620 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5621 0usize,
5622 concat!(
5623 "Offset of field: ",
5624 stringify!(SSetTrajectoryUnitCommand),
5625 "::",
5626 stringify!(unitId)
5627 )
5628 );
5629 assert_eq!(
5630 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5631 4usize,
5632 concat!(
5633 "Offset of field: ",
5634 stringify!(SSetTrajectoryUnitCommand),
5635 "::",
5636 stringify!(groupId)
5637 )
5638 );
5639 assert_eq!(
5640 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5641 8usize,
5642 concat!(
5643 "Offset of field: ",
5644 stringify!(SSetTrajectoryUnitCommand),
5645 "::",
5646 stringify!(options)
5647 )
5648 );
5649 assert_eq!(
5650 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5651 12usize,
5652 concat!(
5653 "Offset of field: ",
5654 stringify!(SSetTrajectoryUnitCommand),
5655 "::",
5656 stringify!(timeOut)
5657 )
5658 );
5659 assert_eq!(
5660 unsafe { ::std::ptr::addr_of!((*ptr).trajectory) as usize - ptr as usize },
5661 16usize,
5662 concat!(
5663 "Offset of field: ",
5664 stringify!(SSetTrajectoryUnitCommand),
5665 "::",
5666 stringify!(trajectory)
5667 )
5668 );
5669}
5670#[repr(C)]
5671#[derive(Debug, Copy, Clone)]
5672pub struct SResurrectUnitCommand {
5673 pub unitId: ::std::os::raw::c_int,
5674 pub groupId: ::std::os::raw::c_int,
5675 #[doc = " see enum UnitCommandOptions"]
5676 pub options: ::std::os::raw::c_short,
5677 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5678 pub timeOut: ::std::os::raw::c_int,
5679 pub toResurrectFeatureId: ::std::os::raw::c_int,
5680}
5681#[test]
5682fn bindgen_test_layout_SResurrectUnitCommand() {
5683 const UNINIT: ::std::mem::MaybeUninit<SResurrectUnitCommand> =
5684 ::std::mem::MaybeUninit::uninit();
5685 let ptr = UNINIT.as_ptr();
5686 assert_eq!(
5687 ::std::mem::size_of::<SResurrectUnitCommand>(),
5688 20usize,
5689 concat!("Size of: ", stringify!(SResurrectUnitCommand))
5690 );
5691 assert_eq!(
5692 ::std::mem::align_of::<SResurrectUnitCommand>(),
5693 4usize,
5694 concat!("Alignment of ", stringify!(SResurrectUnitCommand))
5695 );
5696 assert_eq!(
5697 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5698 0usize,
5699 concat!(
5700 "Offset of field: ",
5701 stringify!(SResurrectUnitCommand),
5702 "::",
5703 stringify!(unitId)
5704 )
5705 );
5706 assert_eq!(
5707 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5708 4usize,
5709 concat!(
5710 "Offset of field: ",
5711 stringify!(SResurrectUnitCommand),
5712 "::",
5713 stringify!(groupId)
5714 )
5715 );
5716 assert_eq!(
5717 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5718 8usize,
5719 concat!(
5720 "Offset of field: ",
5721 stringify!(SResurrectUnitCommand),
5722 "::",
5723 stringify!(options)
5724 )
5725 );
5726 assert_eq!(
5727 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5728 12usize,
5729 concat!(
5730 "Offset of field: ",
5731 stringify!(SResurrectUnitCommand),
5732 "::",
5733 stringify!(timeOut)
5734 )
5735 );
5736 assert_eq!(
5737 unsafe { ::std::ptr::addr_of!((*ptr).toResurrectFeatureId) as usize - ptr as usize },
5738 16usize,
5739 concat!(
5740 "Offset of field: ",
5741 stringify!(SResurrectUnitCommand),
5742 "::",
5743 stringify!(toResurrectFeatureId)
5744 )
5745 );
5746}
5747#[repr(C)]
5748#[derive(Debug, Copy, Clone)]
5749pub struct SResurrectAreaUnitCommand {
5750 pub unitId: ::std::os::raw::c_int,
5751 pub groupId: ::std::os::raw::c_int,
5752 #[doc = " see enum UnitCommandOptions"]
5753 pub options: ::std::os::raw::c_short,
5754 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5755 pub timeOut: ::std::os::raw::c_int,
5756 pub pos_posF3: *mut f32,
5757 pub radius: f32,
5758}
5759#[test]
5760fn bindgen_test_layout_SResurrectAreaUnitCommand() {
5761 const UNINIT: ::std::mem::MaybeUninit<SResurrectAreaUnitCommand> =
5762 ::std::mem::MaybeUninit::uninit();
5763 let ptr = UNINIT.as_ptr();
5764 assert_eq!(
5765 ::std::mem::size_of::<SResurrectAreaUnitCommand>(),
5766 32usize,
5767 concat!("Size of: ", stringify!(SResurrectAreaUnitCommand))
5768 );
5769 assert_eq!(
5770 ::std::mem::align_of::<SResurrectAreaUnitCommand>(),
5771 8usize,
5772 concat!("Alignment of ", stringify!(SResurrectAreaUnitCommand))
5773 );
5774 assert_eq!(
5775 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5776 0usize,
5777 concat!(
5778 "Offset of field: ",
5779 stringify!(SResurrectAreaUnitCommand),
5780 "::",
5781 stringify!(unitId)
5782 )
5783 );
5784 assert_eq!(
5785 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5786 4usize,
5787 concat!(
5788 "Offset of field: ",
5789 stringify!(SResurrectAreaUnitCommand),
5790 "::",
5791 stringify!(groupId)
5792 )
5793 );
5794 assert_eq!(
5795 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5796 8usize,
5797 concat!(
5798 "Offset of field: ",
5799 stringify!(SResurrectAreaUnitCommand),
5800 "::",
5801 stringify!(options)
5802 )
5803 );
5804 assert_eq!(
5805 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5806 12usize,
5807 concat!(
5808 "Offset of field: ",
5809 stringify!(SResurrectAreaUnitCommand),
5810 "::",
5811 stringify!(timeOut)
5812 )
5813 );
5814 assert_eq!(
5815 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
5816 16usize,
5817 concat!(
5818 "Offset of field: ",
5819 stringify!(SResurrectAreaUnitCommand),
5820 "::",
5821 stringify!(pos_posF3)
5822 )
5823 );
5824 assert_eq!(
5825 unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
5826 24usize,
5827 concat!(
5828 "Offset of field: ",
5829 stringify!(SResurrectAreaUnitCommand),
5830 "::",
5831 stringify!(radius)
5832 )
5833 );
5834}
5835#[repr(C)]
5836#[derive(Debug, Copy, Clone)]
5837pub struct SCaptureUnitCommand {
5838 pub unitId: ::std::os::raw::c_int,
5839 pub groupId: ::std::os::raw::c_int,
5840 #[doc = " see enum UnitCommandOptions"]
5841 pub options: ::std::os::raw::c_short,
5842 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5843 pub timeOut: ::std::os::raw::c_int,
5844 pub toCaptureUnitId: ::std::os::raw::c_int,
5845}
5846#[test]
5847fn bindgen_test_layout_SCaptureUnitCommand() {
5848 const UNINIT: ::std::mem::MaybeUninit<SCaptureUnitCommand> = ::std::mem::MaybeUninit::uninit();
5849 let ptr = UNINIT.as_ptr();
5850 assert_eq!(
5851 ::std::mem::size_of::<SCaptureUnitCommand>(),
5852 20usize,
5853 concat!("Size of: ", stringify!(SCaptureUnitCommand))
5854 );
5855 assert_eq!(
5856 ::std::mem::align_of::<SCaptureUnitCommand>(),
5857 4usize,
5858 concat!("Alignment of ", stringify!(SCaptureUnitCommand))
5859 );
5860 assert_eq!(
5861 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5862 0usize,
5863 concat!(
5864 "Offset of field: ",
5865 stringify!(SCaptureUnitCommand),
5866 "::",
5867 stringify!(unitId)
5868 )
5869 );
5870 assert_eq!(
5871 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5872 4usize,
5873 concat!(
5874 "Offset of field: ",
5875 stringify!(SCaptureUnitCommand),
5876 "::",
5877 stringify!(groupId)
5878 )
5879 );
5880 assert_eq!(
5881 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5882 8usize,
5883 concat!(
5884 "Offset of field: ",
5885 stringify!(SCaptureUnitCommand),
5886 "::",
5887 stringify!(options)
5888 )
5889 );
5890 assert_eq!(
5891 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5892 12usize,
5893 concat!(
5894 "Offset of field: ",
5895 stringify!(SCaptureUnitCommand),
5896 "::",
5897 stringify!(timeOut)
5898 )
5899 );
5900 assert_eq!(
5901 unsafe { ::std::ptr::addr_of!((*ptr).toCaptureUnitId) as usize - ptr as usize },
5902 16usize,
5903 concat!(
5904 "Offset of field: ",
5905 stringify!(SCaptureUnitCommand),
5906 "::",
5907 stringify!(toCaptureUnitId)
5908 )
5909 );
5910}
5911#[repr(C)]
5912#[derive(Debug, Copy, Clone)]
5913pub struct SCaptureAreaUnitCommand {
5914 pub unitId: ::std::os::raw::c_int,
5915 pub groupId: ::std::os::raw::c_int,
5916 #[doc = " see enum UnitCommandOptions"]
5917 pub options: ::std::os::raw::c_short,
5918 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
5919 pub timeOut: ::std::os::raw::c_int,
5920 pub pos_posF3: *mut f32,
5921 pub radius: f32,
5922}
5923#[test]
5924fn bindgen_test_layout_SCaptureAreaUnitCommand() {
5925 const UNINIT: ::std::mem::MaybeUninit<SCaptureAreaUnitCommand> =
5926 ::std::mem::MaybeUninit::uninit();
5927 let ptr = UNINIT.as_ptr();
5928 assert_eq!(
5929 ::std::mem::size_of::<SCaptureAreaUnitCommand>(),
5930 32usize,
5931 concat!("Size of: ", stringify!(SCaptureAreaUnitCommand))
5932 );
5933 assert_eq!(
5934 ::std::mem::align_of::<SCaptureAreaUnitCommand>(),
5935 8usize,
5936 concat!("Alignment of ", stringify!(SCaptureAreaUnitCommand))
5937 );
5938 assert_eq!(
5939 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
5940 0usize,
5941 concat!(
5942 "Offset of field: ",
5943 stringify!(SCaptureAreaUnitCommand),
5944 "::",
5945 stringify!(unitId)
5946 )
5947 );
5948 assert_eq!(
5949 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
5950 4usize,
5951 concat!(
5952 "Offset of field: ",
5953 stringify!(SCaptureAreaUnitCommand),
5954 "::",
5955 stringify!(groupId)
5956 )
5957 );
5958 assert_eq!(
5959 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
5960 8usize,
5961 concat!(
5962 "Offset of field: ",
5963 stringify!(SCaptureAreaUnitCommand),
5964 "::",
5965 stringify!(options)
5966 )
5967 );
5968 assert_eq!(
5969 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
5970 12usize,
5971 concat!(
5972 "Offset of field: ",
5973 stringify!(SCaptureAreaUnitCommand),
5974 "::",
5975 stringify!(timeOut)
5976 )
5977 );
5978 assert_eq!(
5979 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
5980 16usize,
5981 concat!(
5982 "Offset of field: ",
5983 stringify!(SCaptureAreaUnitCommand),
5984 "::",
5985 stringify!(pos_posF3)
5986 )
5987 );
5988 assert_eq!(
5989 unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
5990 24usize,
5991 concat!(
5992 "Offset of field: ",
5993 stringify!(SCaptureAreaUnitCommand),
5994 "::",
5995 stringify!(radius)
5996 )
5997 );
5998}
5999#[doc = " Set the percentage of health at which a unit will return to a save place.\n This only works for a few units so far, mainly aircraft."]
6000#[repr(C)]
6001#[derive(Debug, Copy, Clone)]
6002pub struct SSetAutoRepairLevelUnitCommand {
6003 pub unitId: ::std::os::raw::c_int,
6004 pub groupId: ::std::os::raw::c_int,
6005 #[doc = " see enum UnitCommandOptions"]
6006 pub options: ::std::os::raw::c_short,
6007 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
6008 pub timeOut: ::std::os::raw::c_int,
6009 #[doc = " 0: 0%, 1: 30%, 2: 50%, 3: 80%"]
6010 pub autoRepairLevel: ::std::os::raw::c_int,
6011}
6012#[test]
6013fn bindgen_test_layout_SSetAutoRepairLevelUnitCommand() {
6014 const UNINIT: ::std::mem::MaybeUninit<SSetAutoRepairLevelUnitCommand> =
6015 ::std::mem::MaybeUninit::uninit();
6016 let ptr = UNINIT.as_ptr();
6017 assert_eq!(
6018 ::std::mem::size_of::<SSetAutoRepairLevelUnitCommand>(),
6019 20usize,
6020 concat!("Size of: ", stringify!(SSetAutoRepairLevelUnitCommand))
6021 );
6022 assert_eq!(
6023 ::std::mem::align_of::<SSetAutoRepairLevelUnitCommand>(),
6024 4usize,
6025 concat!("Alignment of ", stringify!(SSetAutoRepairLevelUnitCommand))
6026 );
6027 assert_eq!(
6028 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
6029 0usize,
6030 concat!(
6031 "Offset of field: ",
6032 stringify!(SSetAutoRepairLevelUnitCommand),
6033 "::",
6034 stringify!(unitId)
6035 )
6036 );
6037 assert_eq!(
6038 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
6039 4usize,
6040 concat!(
6041 "Offset of field: ",
6042 stringify!(SSetAutoRepairLevelUnitCommand),
6043 "::",
6044 stringify!(groupId)
6045 )
6046 );
6047 assert_eq!(
6048 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
6049 8usize,
6050 concat!(
6051 "Offset of field: ",
6052 stringify!(SSetAutoRepairLevelUnitCommand),
6053 "::",
6054 stringify!(options)
6055 )
6056 );
6057 assert_eq!(
6058 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
6059 12usize,
6060 concat!(
6061 "Offset of field: ",
6062 stringify!(SSetAutoRepairLevelUnitCommand),
6063 "::",
6064 stringify!(timeOut)
6065 )
6066 );
6067 assert_eq!(
6068 unsafe { ::std::ptr::addr_of!((*ptr).autoRepairLevel) as usize - ptr as usize },
6069 16usize,
6070 concat!(
6071 "Offset of field: ",
6072 stringify!(SSetAutoRepairLevelUnitCommand),
6073 "::",
6074 stringify!(autoRepairLevel)
6075 )
6076 );
6077}
6078#[doc = " Set what a unit should do when it is idle.\n This only works for a few units so far, mainly aircraft."]
6079#[repr(C)]
6080#[derive(Debug, Copy, Clone)]
6081pub struct SSetIdleModeUnitCommand {
6082 pub unitId: ::std::os::raw::c_int,
6083 pub groupId: ::std::os::raw::c_int,
6084 #[doc = " see enum UnitCommandOptions"]
6085 pub options: ::std::os::raw::c_short,
6086 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
6087 pub timeOut: ::std::os::raw::c_int,
6088 #[doc = " 0: fly, 1: land"]
6089 pub idleMode: ::std::os::raw::c_int,
6090}
6091#[test]
6092fn bindgen_test_layout_SSetIdleModeUnitCommand() {
6093 const UNINIT: ::std::mem::MaybeUninit<SSetIdleModeUnitCommand> =
6094 ::std::mem::MaybeUninit::uninit();
6095 let ptr = UNINIT.as_ptr();
6096 assert_eq!(
6097 ::std::mem::size_of::<SSetIdleModeUnitCommand>(),
6098 20usize,
6099 concat!("Size of: ", stringify!(SSetIdleModeUnitCommand))
6100 );
6101 assert_eq!(
6102 ::std::mem::align_of::<SSetIdleModeUnitCommand>(),
6103 4usize,
6104 concat!("Alignment of ", stringify!(SSetIdleModeUnitCommand))
6105 );
6106 assert_eq!(
6107 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
6108 0usize,
6109 concat!(
6110 "Offset of field: ",
6111 stringify!(SSetIdleModeUnitCommand),
6112 "::",
6113 stringify!(unitId)
6114 )
6115 );
6116 assert_eq!(
6117 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
6118 4usize,
6119 concat!(
6120 "Offset of field: ",
6121 stringify!(SSetIdleModeUnitCommand),
6122 "::",
6123 stringify!(groupId)
6124 )
6125 );
6126 assert_eq!(
6127 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
6128 8usize,
6129 concat!(
6130 "Offset of field: ",
6131 stringify!(SSetIdleModeUnitCommand),
6132 "::",
6133 stringify!(options)
6134 )
6135 );
6136 assert_eq!(
6137 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
6138 12usize,
6139 concat!(
6140 "Offset of field: ",
6141 stringify!(SSetIdleModeUnitCommand),
6142 "::",
6143 stringify!(timeOut)
6144 )
6145 );
6146 assert_eq!(
6147 unsafe { ::std::ptr::addr_of!((*ptr).idleMode) as usize - ptr as usize },
6148 16usize,
6149 concat!(
6150 "Offset of field: ",
6151 stringify!(SSetIdleModeUnitCommand),
6152 "::",
6153 stringify!(idleMode)
6154 )
6155 );
6156}
6157#[repr(C)]
6158#[derive(Debug, Copy, Clone)]
6159pub struct SCustomUnitCommand {
6160 pub unitId: ::std::os::raw::c_int,
6161 pub groupId: ::std::os::raw::c_int,
6162 #[doc = " see enum UnitCommandOptions"]
6163 pub options: ::std::os::raw::c_short,
6164 #[doc = " At which frame the command will time-out and consequently be removed,\n if execution of it has not yet begun.\n Can only be set locally, is not sent over the network, and is used\n for temporary orders.\n default: MAX_INT (-> do not time-out)\n example: currentFrame + 15"]
6165 pub timeOut: ::std::os::raw::c_int,
6166 pub cmdId: ::std::os::raw::c_int,
6167 pub params: *mut f32,
6168 pub params_size: ::std::os::raw::c_int,
6169}
6170#[test]
6171fn bindgen_test_layout_SCustomUnitCommand() {
6172 const UNINIT: ::std::mem::MaybeUninit<SCustomUnitCommand> = ::std::mem::MaybeUninit::uninit();
6173 let ptr = UNINIT.as_ptr();
6174 assert_eq!(
6175 ::std::mem::size_of::<SCustomUnitCommand>(),
6176 40usize,
6177 concat!("Size of: ", stringify!(SCustomUnitCommand))
6178 );
6179 assert_eq!(
6180 ::std::mem::align_of::<SCustomUnitCommand>(),
6181 8usize,
6182 concat!("Alignment of ", stringify!(SCustomUnitCommand))
6183 );
6184 assert_eq!(
6185 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
6186 0usize,
6187 concat!(
6188 "Offset of field: ",
6189 stringify!(SCustomUnitCommand),
6190 "::",
6191 stringify!(unitId)
6192 )
6193 );
6194 assert_eq!(
6195 unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
6196 4usize,
6197 concat!(
6198 "Offset of field: ",
6199 stringify!(SCustomUnitCommand),
6200 "::",
6201 stringify!(groupId)
6202 )
6203 );
6204 assert_eq!(
6205 unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
6206 8usize,
6207 concat!(
6208 "Offset of field: ",
6209 stringify!(SCustomUnitCommand),
6210 "::",
6211 stringify!(options)
6212 )
6213 );
6214 assert_eq!(
6215 unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
6216 12usize,
6217 concat!(
6218 "Offset of field: ",
6219 stringify!(SCustomUnitCommand),
6220 "::",
6221 stringify!(timeOut)
6222 )
6223 );
6224 assert_eq!(
6225 unsafe { ::std::ptr::addr_of!((*ptr).cmdId) as usize - ptr as usize },
6226 16usize,
6227 concat!(
6228 "Offset of field: ",
6229 stringify!(SCustomUnitCommand),
6230 "::",
6231 stringify!(cmdId)
6232 )
6233 );
6234 assert_eq!(
6235 unsafe { ::std::ptr::addr_of!((*ptr).params) as usize - ptr as usize },
6236 24usize,
6237 concat!(
6238 "Offset of field: ",
6239 stringify!(SCustomUnitCommand),
6240 "::",
6241 stringify!(params)
6242 )
6243 );
6244 assert_eq!(
6245 unsafe { ::std::ptr::addr_of!((*ptr).params_size) as usize - ptr as usize },
6246 32usize,
6247 concat!(
6248 "Offset of field: ",
6249 stringify!(SCustomUnitCommand),
6250 "::",
6251 stringify!(params_size)
6252 )
6253 );
6254}
6255#[repr(C)]
6256#[derive(Debug, Copy, Clone)]
6257pub struct STraceRayCommand {
6258 pub rayPos_posF3: *mut f32,
6259 pub rayDir_posF3: *mut f32,
6260 pub rayLen: f32,
6261 pub srcUnitId: ::std::os::raw::c_int,
6262 pub ret_hitUnitId: ::std::os::raw::c_int,
6263 pub flags: ::std::os::raw::c_int,
6264}
6265#[test]
6266fn bindgen_test_layout_STraceRayCommand() {
6267 const UNINIT: ::std::mem::MaybeUninit<STraceRayCommand> = ::std::mem::MaybeUninit::uninit();
6268 let ptr = UNINIT.as_ptr();
6269 assert_eq!(
6270 ::std::mem::size_of::<STraceRayCommand>(),
6271 32usize,
6272 concat!("Size of: ", stringify!(STraceRayCommand))
6273 );
6274 assert_eq!(
6275 ::std::mem::align_of::<STraceRayCommand>(),
6276 8usize,
6277 concat!("Alignment of ", stringify!(STraceRayCommand))
6278 );
6279 assert_eq!(
6280 unsafe { ::std::ptr::addr_of!((*ptr).rayPos_posF3) as usize - ptr as usize },
6281 0usize,
6282 concat!(
6283 "Offset of field: ",
6284 stringify!(STraceRayCommand),
6285 "::",
6286 stringify!(rayPos_posF3)
6287 )
6288 );
6289 assert_eq!(
6290 unsafe { ::std::ptr::addr_of!((*ptr).rayDir_posF3) as usize - ptr as usize },
6291 8usize,
6292 concat!(
6293 "Offset of field: ",
6294 stringify!(STraceRayCommand),
6295 "::",
6296 stringify!(rayDir_posF3)
6297 )
6298 );
6299 assert_eq!(
6300 unsafe { ::std::ptr::addr_of!((*ptr).rayLen) as usize - ptr as usize },
6301 16usize,
6302 concat!(
6303 "Offset of field: ",
6304 stringify!(STraceRayCommand),
6305 "::",
6306 stringify!(rayLen)
6307 )
6308 );
6309 assert_eq!(
6310 unsafe { ::std::ptr::addr_of!((*ptr).srcUnitId) as usize - ptr as usize },
6311 20usize,
6312 concat!(
6313 "Offset of field: ",
6314 stringify!(STraceRayCommand),
6315 "::",
6316 stringify!(srcUnitId)
6317 )
6318 );
6319 assert_eq!(
6320 unsafe { ::std::ptr::addr_of!((*ptr).ret_hitUnitId) as usize - ptr as usize },
6321 24usize,
6322 concat!(
6323 "Offset of field: ",
6324 stringify!(STraceRayCommand),
6325 "::",
6326 stringify!(ret_hitUnitId)
6327 )
6328 );
6329 assert_eq!(
6330 unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6331 28usize,
6332 concat!(
6333 "Offset of field: ",
6334 stringify!(STraceRayCommand),
6335 "::",
6336 stringify!(flags)
6337 )
6338 );
6339}
6340#[repr(C)]
6341#[derive(Debug, Copy, Clone)]
6342pub struct SFeatureTraceRayCommand {
6343 pub rayPos_posF3: *mut f32,
6344 pub rayDir_posF3: *mut f32,
6345 pub rayLen: f32,
6346 pub srcUnitId: ::std::os::raw::c_int,
6347 pub ret_hitFeatureId: ::std::os::raw::c_int,
6348 pub flags: ::std::os::raw::c_int,
6349}
6350#[test]
6351fn bindgen_test_layout_SFeatureTraceRayCommand() {
6352 const UNINIT: ::std::mem::MaybeUninit<SFeatureTraceRayCommand> =
6353 ::std::mem::MaybeUninit::uninit();
6354 let ptr = UNINIT.as_ptr();
6355 assert_eq!(
6356 ::std::mem::size_of::<SFeatureTraceRayCommand>(),
6357 32usize,
6358 concat!("Size of: ", stringify!(SFeatureTraceRayCommand))
6359 );
6360 assert_eq!(
6361 ::std::mem::align_of::<SFeatureTraceRayCommand>(),
6362 8usize,
6363 concat!("Alignment of ", stringify!(SFeatureTraceRayCommand))
6364 );
6365 assert_eq!(
6366 unsafe { ::std::ptr::addr_of!((*ptr).rayPos_posF3) as usize - ptr as usize },
6367 0usize,
6368 concat!(
6369 "Offset of field: ",
6370 stringify!(SFeatureTraceRayCommand),
6371 "::",
6372 stringify!(rayPos_posF3)
6373 )
6374 );
6375 assert_eq!(
6376 unsafe { ::std::ptr::addr_of!((*ptr).rayDir_posF3) as usize - ptr as usize },
6377 8usize,
6378 concat!(
6379 "Offset of field: ",
6380 stringify!(SFeatureTraceRayCommand),
6381 "::",
6382 stringify!(rayDir_posF3)
6383 )
6384 );
6385 assert_eq!(
6386 unsafe { ::std::ptr::addr_of!((*ptr).rayLen) as usize - ptr as usize },
6387 16usize,
6388 concat!(
6389 "Offset of field: ",
6390 stringify!(SFeatureTraceRayCommand),
6391 "::",
6392 stringify!(rayLen)
6393 )
6394 );
6395 assert_eq!(
6396 unsafe { ::std::ptr::addr_of!((*ptr).srcUnitId) as usize - ptr as usize },
6397 20usize,
6398 concat!(
6399 "Offset of field: ",
6400 stringify!(SFeatureTraceRayCommand),
6401 "::",
6402 stringify!(srcUnitId)
6403 )
6404 );
6405 assert_eq!(
6406 unsafe { ::std::ptr::addr_of!((*ptr).ret_hitFeatureId) as usize - ptr as usize },
6407 24usize,
6408 concat!(
6409 "Offset of field: ",
6410 stringify!(SFeatureTraceRayCommand),
6411 "::",
6412 stringify!(ret_hitFeatureId)
6413 )
6414 );
6415 assert_eq!(
6416 unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
6417 28usize,
6418 concat!(
6419 "Offset of field: ",
6420 stringify!(SFeatureTraceRayCommand),
6421 "::",
6422 stringify!(flags)
6423 )
6424 );
6425}
6426#[doc = " Pause or unpauses the game.\n This is meant for debugging purposes.\n Keep in mind that pause does not happen immediately.\n It can take 1-2 frames in single- and up to 10 frames in multiplayer matches."]
6427#[repr(C)]
6428#[derive(Debug, Copy, Clone)]
6429pub struct SPauseCommand {
6430 pub enable: bool,
6431 #[doc = " reason for the (un-)pause, or NULL"]
6432 pub reason: *const ::std::os::raw::c_char,
6433}
6434#[test]
6435fn bindgen_test_layout_SPauseCommand() {
6436 const UNINIT: ::std::mem::MaybeUninit<SPauseCommand> = ::std::mem::MaybeUninit::uninit();
6437 let ptr = UNINIT.as_ptr();
6438 assert_eq!(
6439 ::std::mem::size_of::<SPauseCommand>(),
6440 16usize,
6441 concat!("Size of: ", stringify!(SPauseCommand))
6442 );
6443 assert_eq!(
6444 ::std::mem::align_of::<SPauseCommand>(),
6445 8usize,
6446 concat!("Alignment of ", stringify!(SPauseCommand))
6447 );
6448 assert_eq!(
6449 unsafe { ::std::ptr::addr_of!((*ptr).enable) as usize - ptr as usize },
6450 0usize,
6451 concat!(
6452 "Offset of field: ",
6453 stringify!(SPauseCommand),
6454 "::",
6455 stringify!(enable)
6456 )
6457 );
6458 assert_eq!(
6459 unsafe { ::std::ptr::addr_of!((*ptr).reason) as usize - ptr as usize },
6460 8usize,
6461 concat!(
6462 "Offset of field: ",
6463 stringify!(SPauseCommand),
6464 "::",
6465 stringify!(reason)
6466 )
6467 );
6468}
6469#[repr(C)]
6470#[derive(Debug, Copy, Clone)]
6471pub struct SSetPositionGraphDrawerDebugCommand {
6472 pub x: f32,
6473 pub y: f32,
6474}
6475#[test]
6476fn bindgen_test_layout_SSetPositionGraphDrawerDebugCommand() {
6477 const UNINIT: ::std::mem::MaybeUninit<SSetPositionGraphDrawerDebugCommand> =
6478 ::std::mem::MaybeUninit::uninit();
6479 let ptr = UNINIT.as_ptr();
6480 assert_eq!(
6481 ::std::mem::size_of::<SSetPositionGraphDrawerDebugCommand>(),
6482 8usize,
6483 concat!("Size of: ", stringify!(SSetPositionGraphDrawerDebugCommand))
6484 );
6485 assert_eq!(
6486 ::std::mem::align_of::<SSetPositionGraphDrawerDebugCommand>(),
6487 4usize,
6488 concat!(
6489 "Alignment of ",
6490 stringify!(SSetPositionGraphDrawerDebugCommand)
6491 )
6492 );
6493 assert_eq!(
6494 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
6495 0usize,
6496 concat!(
6497 "Offset of field: ",
6498 stringify!(SSetPositionGraphDrawerDebugCommand),
6499 "::",
6500 stringify!(x)
6501 )
6502 );
6503 assert_eq!(
6504 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
6505 4usize,
6506 concat!(
6507 "Offset of field: ",
6508 stringify!(SSetPositionGraphDrawerDebugCommand),
6509 "::",
6510 stringify!(y)
6511 )
6512 );
6513}
6514#[repr(C)]
6515#[derive(Debug, Copy, Clone)]
6516pub struct SSetSizeGraphDrawerDebugCommand {
6517 pub w: f32,
6518 pub h: f32,
6519}
6520#[test]
6521fn bindgen_test_layout_SSetSizeGraphDrawerDebugCommand() {
6522 const UNINIT: ::std::mem::MaybeUninit<SSetSizeGraphDrawerDebugCommand> =
6523 ::std::mem::MaybeUninit::uninit();
6524 let ptr = UNINIT.as_ptr();
6525 assert_eq!(
6526 ::std::mem::size_of::<SSetSizeGraphDrawerDebugCommand>(),
6527 8usize,
6528 concat!("Size of: ", stringify!(SSetSizeGraphDrawerDebugCommand))
6529 );
6530 assert_eq!(
6531 ::std::mem::align_of::<SSetSizeGraphDrawerDebugCommand>(),
6532 4usize,
6533 concat!("Alignment of ", stringify!(SSetSizeGraphDrawerDebugCommand))
6534 );
6535 assert_eq!(
6536 unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
6537 0usize,
6538 concat!(
6539 "Offset of field: ",
6540 stringify!(SSetSizeGraphDrawerDebugCommand),
6541 "::",
6542 stringify!(w)
6543 )
6544 );
6545 assert_eq!(
6546 unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6547 4usize,
6548 concat!(
6549 "Offset of field: ",
6550 stringify!(SSetSizeGraphDrawerDebugCommand),
6551 "::",
6552 stringify!(h)
6553 )
6554 );
6555}
6556#[repr(C)]
6557#[derive(Debug, Copy, Clone)]
6558pub struct SAddPointLineGraphDrawerDebugCommand {
6559 pub lineId: ::std::os::raw::c_int,
6560 pub x: f32,
6561 pub y: f32,
6562}
6563#[test]
6564fn bindgen_test_layout_SAddPointLineGraphDrawerDebugCommand() {
6565 const UNINIT: ::std::mem::MaybeUninit<SAddPointLineGraphDrawerDebugCommand> =
6566 ::std::mem::MaybeUninit::uninit();
6567 let ptr = UNINIT.as_ptr();
6568 assert_eq!(
6569 ::std::mem::size_of::<SAddPointLineGraphDrawerDebugCommand>(),
6570 12usize,
6571 concat!(
6572 "Size of: ",
6573 stringify!(SAddPointLineGraphDrawerDebugCommand)
6574 )
6575 );
6576 assert_eq!(
6577 ::std::mem::align_of::<SAddPointLineGraphDrawerDebugCommand>(),
6578 4usize,
6579 concat!(
6580 "Alignment of ",
6581 stringify!(SAddPointLineGraphDrawerDebugCommand)
6582 )
6583 );
6584 assert_eq!(
6585 unsafe { ::std::ptr::addr_of!((*ptr).lineId) as usize - ptr as usize },
6586 0usize,
6587 concat!(
6588 "Offset of field: ",
6589 stringify!(SAddPointLineGraphDrawerDebugCommand),
6590 "::",
6591 stringify!(lineId)
6592 )
6593 );
6594 assert_eq!(
6595 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
6596 4usize,
6597 concat!(
6598 "Offset of field: ",
6599 stringify!(SAddPointLineGraphDrawerDebugCommand),
6600 "::",
6601 stringify!(x)
6602 )
6603 );
6604 assert_eq!(
6605 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
6606 8usize,
6607 concat!(
6608 "Offset of field: ",
6609 stringify!(SAddPointLineGraphDrawerDebugCommand),
6610 "::",
6611 stringify!(y)
6612 )
6613 );
6614}
6615#[repr(C)]
6616#[derive(Debug, Copy, Clone)]
6617pub struct SDeletePointsLineGraphDrawerDebugCommand {
6618 pub lineId: ::std::os::raw::c_int,
6619 pub numPoints: ::std::os::raw::c_int,
6620}
6621#[test]
6622fn bindgen_test_layout_SDeletePointsLineGraphDrawerDebugCommand() {
6623 const UNINIT: ::std::mem::MaybeUninit<SDeletePointsLineGraphDrawerDebugCommand> =
6624 ::std::mem::MaybeUninit::uninit();
6625 let ptr = UNINIT.as_ptr();
6626 assert_eq!(
6627 ::std::mem::size_of::<SDeletePointsLineGraphDrawerDebugCommand>(),
6628 8usize,
6629 concat!(
6630 "Size of: ",
6631 stringify!(SDeletePointsLineGraphDrawerDebugCommand)
6632 )
6633 );
6634 assert_eq!(
6635 ::std::mem::align_of::<SDeletePointsLineGraphDrawerDebugCommand>(),
6636 4usize,
6637 concat!(
6638 "Alignment of ",
6639 stringify!(SDeletePointsLineGraphDrawerDebugCommand)
6640 )
6641 );
6642 assert_eq!(
6643 unsafe { ::std::ptr::addr_of!((*ptr).lineId) as usize - ptr as usize },
6644 0usize,
6645 concat!(
6646 "Offset of field: ",
6647 stringify!(SDeletePointsLineGraphDrawerDebugCommand),
6648 "::",
6649 stringify!(lineId)
6650 )
6651 );
6652 assert_eq!(
6653 unsafe { ::std::ptr::addr_of!((*ptr).numPoints) as usize - ptr as usize },
6654 4usize,
6655 concat!(
6656 "Offset of field: ",
6657 stringify!(SDeletePointsLineGraphDrawerDebugCommand),
6658 "::",
6659 stringify!(numPoints)
6660 )
6661 );
6662}
6663#[repr(C)]
6664#[derive(Debug, Copy, Clone)]
6665pub struct SSetColorLineGraphDrawerDebugCommand {
6666 pub lineId: ::std::os::raw::c_int,
6667 pub color_colorS3: *mut ::std::os::raw::c_short,
6668}
6669#[test]
6670fn bindgen_test_layout_SSetColorLineGraphDrawerDebugCommand() {
6671 const UNINIT: ::std::mem::MaybeUninit<SSetColorLineGraphDrawerDebugCommand> =
6672 ::std::mem::MaybeUninit::uninit();
6673 let ptr = UNINIT.as_ptr();
6674 assert_eq!(
6675 ::std::mem::size_of::<SSetColorLineGraphDrawerDebugCommand>(),
6676 16usize,
6677 concat!(
6678 "Size of: ",
6679 stringify!(SSetColorLineGraphDrawerDebugCommand)
6680 )
6681 );
6682 assert_eq!(
6683 ::std::mem::align_of::<SSetColorLineGraphDrawerDebugCommand>(),
6684 8usize,
6685 concat!(
6686 "Alignment of ",
6687 stringify!(SSetColorLineGraphDrawerDebugCommand)
6688 )
6689 );
6690 assert_eq!(
6691 unsafe { ::std::ptr::addr_of!((*ptr).lineId) as usize - ptr as usize },
6692 0usize,
6693 concat!(
6694 "Offset of field: ",
6695 stringify!(SSetColorLineGraphDrawerDebugCommand),
6696 "::",
6697 stringify!(lineId)
6698 )
6699 );
6700 assert_eq!(
6701 unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
6702 8usize,
6703 concat!(
6704 "Offset of field: ",
6705 stringify!(SSetColorLineGraphDrawerDebugCommand),
6706 "::",
6707 stringify!(color_colorS3)
6708 )
6709 );
6710}
6711#[repr(C)]
6712#[derive(Debug, Copy, Clone)]
6713pub struct SSetLabelLineGraphDrawerDebugCommand {
6714 pub lineId: ::std::os::raw::c_int,
6715 pub label: *const ::std::os::raw::c_char,
6716}
6717#[test]
6718fn bindgen_test_layout_SSetLabelLineGraphDrawerDebugCommand() {
6719 const UNINIT: ::std::mem::MaybeUninit<SSetLabelLineGraphDrawerDebugCommand> =
6720 ::std::mem::MaybeUninit::uninit();
6721 let ptr = UNINIT.as_ptr();
6722 assert_eq!(
6723 ::std::mem::size_of::<SSetLabelLineGraphDrawerDebugCommand>(),
6724 16usize,
6725 concat!(
6726 "Size of: ",
6727 stringify!(SSetLabelLineGraphDrawerDebugCommand)
6728 )
6729 );
6730 assert_eq!(
6731 ::std::mem::align_of::<SSetLabelLineGraphDrawerDebugCommand>(),
6732 8usize,
6733 concat!(
6734 "Alignment of ",
6735 stringify!(SSetLabelLineGraphDrawerDebugCommand)
6736 )
6737 );
6738 assert_eq!(
6739 unsafe { ::std::ptr::addr_of!((*ptr).lineId) as usize - ptr as usize },
6740 0usize,
6741 concat!(
6742 "Offset of field: ",
6743 stringify!(SSetLabelLineGraphDrawerDebugCommand),
6744 "::",
6745 stringify!(lineId)
6746 )
6747 );
6748 assert_eq!(
6749 unsafe { ::std::ptr::addr_of!((*ptr).label) as usize - ptr as usize },
6750 8usize,
6751 concat!(
6752 "Offset of field: ",
6753 stringify!(SSetLabelLineGraphDrawerDebugCommand),
6754 "::",
6755 stringify!(label)
6756 )
6757 );
6758}
6759#[repr(C)]
6760#[derive(Debug, Copy, Clone)]
6761pub struct SAddOverlayTextureDrawerDebugCommand {
6762 pub ret_overlayTextureId: ::std::os::raw::c_int,
6763 pub texData: *const f32,
6764 pub w: ::std::os::raw::c_int,
6765 pub h: ::std::os::raw::c_int,
6766}
6767#[test]
6768fn bindgen_test_layout_SAddOverlayTextureDrawerDebugCommand() {
6769 const UNINIT: ::std::mem::MaybeUninit<SAddOverlayTextureDrawerDebugCommand> =
6770 ::std::mem::MaybeUninit::uninit();
6771 let ptr = UNINIT.as_ptr();
6772 assert_eq!(
6773 ::std::mem::size_of::<SAddOverlayTextureDrawerDebugCommand>(),
6774 24usize,
6775 concat!(
6776 "Size of: ",
6777 stringify!(SAddOverlayTextureDrawerDebugCommand)
6778 )
6779 );
6780 assert_eq!(
6781 ::std::mem::align_of::<SAddOverlayTextureDrawerDebugCommand>(),
6782 8usize,
6783 concat!(
6784 "Alignment of ",
6785 stringify!(SAddOverlayTextureDrawerDebugCommand)
6786 )
6787 );
6788 assert_eq!(
6789 unsafe { ::std::ptr::addr_of!((*ptr).ret_overlayTextureId) as usize - ptr as usize },
6790 0usize,
6791 concat!(
6792 "Offset of field: ",
6793 stringify!(SAddOverlayTextureDrawerDebugCommand),
6794 "::",
6795 stringify!(ret_overlayTextureId)
6796 )
6797 );
6798 assert_eq!(
6799 unsafe { ::std::ptr::addr_of!((*ptr).texData) as usize - ptr as usize },
6800 8usize,
6801 concat!(
6802 "Offset of field: ",
6803 stringify!(SAddOverlayTextureDrawerDebugCommand),
6804 "::",
6805 stringify!(texData)
6806 )
6807 );
6808 assert_eq!(
6809 unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
6810 16usize,
6811 concat!(
6812 "Offset of field: ",
6813 stringify!(SAddOverlayTextureDrawerDebugCommand),
6814 "::",
6815 stringify!(w)
6816 )
6817 );
6818 assert_eq!(
6819 unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6820 20usize,
6821 concat!(
6822 "Offset of field: ",
6823 stringify!(SAddOverlayTextureDrawerDebugCommand),
6824 "::",
6825 stringify!(h)
6826 )
6827 );
6828}
6829#[repr(C)]
6830#[derive(Debug, Copy, Clone)]
6831pub struct SUpdateOverlayTextureDrawerDebugCommand {
6832 pub overlayTextureId: ::std::os::raw::c_int,
6833 pub texData: *const f32,
6834 pub x: ::std::os::raw::c_int,
6835 pub y: ::std::os::raw::c_int,
6836 pub w: ::std::os::raw::c_int,
6837 pub h: ::std::os::raw::c_int,
6838}
6839#[test]
6840fn bindgen_test_layout_SUpdateOverlayTextureDrawerDebugCommand() {
6841 const UNINIT: ::std::mem::MaybeUninit<SUpdateOverlayTextureDrawerDebugCommand> =
6842 ::std::mem::MaybeUninit::uninit();
6843 let ptr = UNINIT.as_ptr();
6844 assert_eq!(
6845 ::std::mem::size_of::<SUpdateOverlayTextureDrawerDebugCommand>(),
6846 32usize,
6847 concat!(
6848 "Size of: ",
6849 stringify!(SUpdateOverlayTextureDrawerDebugCommand)
6850 )
6851 );
6852 assert_eq!(
6853 ::std::mem::align_of::<SUpdateOverlayTextureDrawerDebugCommand>(),
6854 8usize,
6855 concat!(
6856 "Alignment of ",
6857 stringify!(SUpdateOverlayTextureDrawerDebugCommand)
6858 )
6859 );
6860 assert_eq!(
6861 unsafe { ::std::ptr::addr_of!((*ptr).overlayTextureId) as usize - ptr as usize },
6862 0usize,
6863 concat!(
6864 "Offset of field: ",
6865 stringify!(SUpdateOverlayTextureDrawerDebugCommand),
6866 "::",
6867 stringify!(overlayTextureId)
6868 )
6869 );
6870 assert_eq!(
6871 unsafe { ::std::ptr::addr_of!((*ptr).texData) as usize - ptr as usize },
6872 8usize,
6873 concat!(
6874 "Offset of field: ",
6875 stringify!(SUpdateOverlayTextureDrawerDebugCommand),
6876 "::",
6877 stringify!(texData)
6878 )
6879 );
6880 assert_eq!(
6881 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
6882 16usize,
6883 concat!(
6884 "Offset of field: ",
6885 stringify!(SUpdateOverlayTextureDrawerDebugCommand),
6886 "::",
6887 stringify!(x)
6888 )
6889 );
6890 assert_eq!(
6891 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
6892 20usize,
6893 concat!(
6894 "Offset of field: ",
6895 stringify!(SUpdateOverlayTextureDrawerDebugCommand),
6896 "::",
6897 stringify!(y)
6898 )
6899 );
6900 assert_eq!(
6901 unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
6902 24usize,
6903 concat!(
6904 "Offset of field: ",
6905 stringify!(SUpdateOverlayTextureDrawerDebugCommand),
6906 "::",
6907 stringify!(w)
6908 )
6909 );
6910 assert_eq!(
6911 unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
6912 28usize,
6913 concat!(
6914 "Offset of field: ",
6915 stringify!(SUpdateOverlayTextureDrawerDebugCommand),
6916 "::",
6917 stringify!(h)
6918 )
6919 );
6920}
6921#[repr(C)]
6922#[derive(Debug, Copy, Clone)]
6923pub struct SDeleteOverlayTextureDrawerDebugCommand {
6924 pub overlayTextureId: ::std::os::raw::c_int,
6925}
6926#[test]
6927fn bindgen_test_layout_SDeleteOverlayTextureDrawerDebugCommand() {
6928 const UNINIT: ::std::mem::MaybeUninit<SDeleteOverlayTextureDrawerDebugCommand> =
6929 ::std::mem::MaybeUninit::uninit();
6930 let ptr = UNINIT.as_ptr();
6931 assert_eq!(
6932 ::std::mem::size_of::<SDeleteOverlayTextureDrawerDebugCommand>(),
6933 4usize,
6934 concat!(
6935 "Size of: ",
6936 stringify!(SDeleteOverlayTextureDrawerDebugCommand)
6937 )
6938 );
6939 assert_eq!(
6940 ::std::mem::align_of::<SDeleteOverlayTextureDrawerDebugCommand>(),
6941 4usize,
6942 concat!(
6943 "Alignment of ",
6944 stringify!(SDeleteOverlayTextureDrawerDebugCommand)
6945 )
6946 );
6947 assert_eq!(
6948 unsafe { ::std::ptr::addr_of!((*ptr).overlayTextureId) as usize - ptr as usize },
6949 0usize,
6950 concat!(
6951 "Offset of field: ",
6952 stringify!(SDeleteOverlayTextureDrawerDebugCommand),
6953 "::",
6954 stringify!(overlayTextureId)
6955 )
6956 );
6957}
6958#[repr(C)]
6959#[derive(Debug, Copy, Clone)]
6960pub struct SSetPositionOverlayTextureDrawerDebugCommand {
6961 pub overlayTextureId: ::std::os::raw::c_int,
6962 pub x: f32,
6963 pub y: f32,
6964}
6965#[test]
6966fn bindgen_test_layout_SSetPositionOverlayTextureDrawerDebugCommand() {
6967 const UNINIT: ::std::mem::MaybeUninit<SSetPositionOverlayTextureDrawerDebugCommand> =
6968 ::std::mem::MaybeUninit::uninit();
6969 let ptr = UNINIT.as_ptr();
6970 assert_eq!(
6971 ::std::mem::size_of::<SSetPositionOverlayTextureDrawerDebugCommand>(),
6972 12usize,
6973 concat!(
6974 "Size of: ",
6975 stringify!(SSetPositionOverlayTextureDrawerDebugCommand)
6976 )
6977 );
6978 assert_eq!(
6979 ::std::mem::align_of::<SSetPositionOverlayTextureDrawerDebugCommand>(),
6980 4usize,
6981 concat!(
6982 "Alignment of ",
6983 stringify!(SSetPositionOverlayTextureDrawerDebugCommand)
6984 )
6985 );
6986 assert_eq!(
6987 unsafe { ::std::ptr::addr_of!((*ptr).overlayTextureId) as usize - ptr as usize },
6988 0usize,
6989 concat!(
6990 "Offset of field: ",
6991 stringify!(SSetPositionOverlayTextureDrawerDebugCommand),
6992 "::",
6993 stringify!(overlayTextureId)
6994 )
6995 );
6996 assert_eq!(
6997 unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
6998 4usize,
6999 concat!(
7000 "Offset of field: ",
7001 stringify!(SSetPositionOverlayTextureDrawerDebugCommand),
7002 "::",
7003 stringify!(x)
7004 )
7005 );
7006 assert_eq!(
7007 unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
7008 8usize,
7009 concat!(
7010 "Offset of field: ",
7011 stringify!(SSetPositionOverlayTextureDrawerDebugCommand),
7012 "::",
7013 stringify!(y)
7014 )
7015 );
7016}
7017#[repr(C)]
7018#[derive(Debug, Copy, Clone)]
7019pub struct SSetSizeOverlayTextureDrawerDebugCommand {
7020 pub overlayTextureId: ::std::os::raw::c_int,
7021 pub w: f32,
7022 pub h: f32,
7023}
7024#[test]
7025fn bindgen_test_layout_SSetSizeOverlayTextureDrawerDebugCommand() {
7026 const UNINIT: ::std::mem::MaybeUninit<SSetSizeOverlayTextureDrawerDebugCommand> =
7027 ::std::mem::MaybeUninit::uninit();
7028 let ptr = UNINIT.as_ptr();
7029 assert_eq!(
7030 ::std::mem::size_of::<SSetSizeOverlayTextureDrawerDebugCommand>(),
7031 12usize,
7032 concat!(
7033 "Size of: ",
7034 stringify!(SSetSizeOverlayTextureDrawerDebugCommand)
7035 )
7036 );
7037 assert_eq!(
7038 ::std::mem::align_of::<SSetSizeOverlayTextureDrawerDebugCommand>(),
7039 4usize,
7040 concat!(
7041 "Alignment of ",
7042 stringify!(SSetSizeOverlayTextureDrawerDebugCommand)
7043 )
7044 );
7045 assert_eq!(
7046 unsafe { ::std::ptr::addr_of!((*ptr).overlayTextureId) as usize - ptr as usize },
7047 0usize,
7048 concat!(
7049 "Offset of field: ",
7050 stringify!(SSetSizeOverlayTextureDrawerDebugCommand),
7051 "::",
7052 stringify!(overlayTextureId)
7053 )
7054 );
7055 assert_eq!(
7056 unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
7057 4usize,
7058 concat!(
7059 "Offset of field: ",
7060 stringify!(SSetSizeOverlayTextureDrawerDebugCommand),
7061 "::",
7062 stringify!(w)
7063 )
7064 );
7065 assert_eq!(
7066 unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
7067 8usize,
7068 concat!(
7069 "Offset of field: ",
7070 stringify!(SSetSizeOverlayTextureDrawerDebugCommand),
7071 "::",
7072 stringify!(h)
7073 )
7074 );
7075}
7076#[repr(C)]
7077#[derive(Debug, Copy, Clone)]
7078pub struct SSetLabelOverlayTextureDrawerDebugCommand {
7079 pub overlayTextureId: ::std::os::raw::c_int,
7080 pub label: *const ::std::os::raw::c_char,
7081}
7082#[test]
7083fn bindgen_test_layout_SSetLabelOverlayTextureDrawerDebugCommand() {
7084 const UNINIT: ::std::mem::MaybeUninit<SSetLabelOverlayTextureDrawerDebugCommand> =
7085 ::std::mem::MaybeUninit::uninit();
7086 let ptr = UNINIT.as_ptr();
7087 assert_eq!(
7088 ::std::mem::size_of::<SSetLabelOverlayTextureDrawerDebugCommand>(),
7089 16usize,
7090 concat!(
7091 "Size of: ",
7092 stringify!(SSetLabelOverlayTextureDrawerDebugCommand)
7093 )
7094 );
7095 assert_eq!(
7096 ::std::mem::align_of::<SSetLabelOverlayTextureDrawerDebugCommand>(),
7097 8usize,
7098 concat!(
7099 "Alignment of ",
7100 stringify!(SSetLabelOverlayTextureDrawerDebugCommand)
7101 )
7102 );
7103 assert_eq!(
7104 unsafe { ::std::ptr::addr_of!((*ptr).overlayTextureId) as usize - ptr as usize },
7105 0usize,
7106 concat!(
7107 "Offset of field: ",
7108 stringify!(SSetLabelOverlayTextureDrawerDebugCommand),
7109 "::",
7110 stringify!(overlayTextureId)
7111 )
7112 );
7113 assert_eq!(
7114 unsafe { ::std::ptr::addr_of!((*ptr).label) as usize - ptr as usize },
7115 8usize,
7116 concat!(
7117 "Offset of field: ",
7118 stringify!(SSetLabelOverlayTextureDrawerDebugCommand),
7119 "::",
7120 stringify!(label)
7121 )
7122 );
7123}
7124#[doc = " @brief Skirmish AI Callback function pointers.\n Each Skirmish AI instance will receive an instance of this struct\n in its init(skirmishAIId) function and with the SInitEvent.\n\n This struct contains only activities that leave the game state as it is,\n in spring terms: unsynced events\n Activities that change game state (-> synced events) are handled through\n AI commands, defined in AISCommands.h.\n\n The skirmishAIId passed as the first parameter to each function in this\n struct has to be the ID of the AI instance using the callback."]
7125#[repr(C)]
7126#[derive(Debug, Copy, Clone)]
7127pub struct SSkirmishAICallback {
7128 #[doc = " Whenever an AI wants to change the engine state in any way,\n it has to call this method.\n In other words, all commands from AIs to the engine (and other AIs)\n go through this method.\n\n @param skirmishAIId the ID of the AI that sends the command\n @param toId the team number of the AI that should receive\n the command, or COMMAND_TO_ID_ENGINE if it is addressed\n to the engine\n @param commandId used on asynchronous commands, this allows the AI to\n identify a possible result event, which would come\n with the same id\n @param commandTopic unique identifier of a command\n (see COMMAND_* defines in AISCommands.h)\n @param commandData a commandTopic specific struct, which contains\n the data associated with the command\n (see *Command structs)\n @return 0: if command handling ok\n != 0: something else otherwise"]
7129 pub Engine_handleCommand: ::std::option::Option<
7130 unsafe extern "C" fn(
7131 skirmishAIId: ::std::os::raw::c_int,
7132 toId: ::std::os::raw::c_int,
7133 commandId: ::std::os::raw::c_int,
7134 commandTopic: ::std::os::raw::c_int,
7135 commandData: *mut ::std::os::raw::c_void,
7136 ) -> ::std::os::raw::c_int,
7137 >,
7138 pub Engine_executeCommand: ::std::option::Option<
7139 unsafe extern "C" fn(
7140 skirmishAIId: ::std::os::raw::c_int,
7141 unitId: ::std::os::raw::c_int,
7142 groupId: ::std::os::raw::c_int,
7143 commandData: *mut ::std::os::raw::c_void,
7144 ) -> ::std::os::raw::c_int,
7145 >,
7146 #[doc = " Returns the major engine revision number (e.g. 83)"]
7147 pub Engine_Version_getMajor: ::std::option::Option<
7148 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7149 >,
7150 #[doc = " Minor version number (e.g. \"5\")\n @deprecated since 4. October 2011 (pre release 83), will always return \"0\""]
7151 pub Engine_Version_getMinor: ::std::option::Option<
7152 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7153 >,
7154 #[doc = " Clients that only differ in patchset can still play together.\n Also demos should be compatible between patchsets."]
7155 pub Engine_Version_getPatchset: ::std::option::Option<
7156 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7157 >,
7158 #[doc = " SCM Commits version part (e.g. \"\" or \"13\")\n Number of commits since the last version tag.\n This matches the regex \"[0-9]*\"."]
7159 pub Engine_Version_getCommits: ::std::option::Option<
7160 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7161 >,
7162 #[doc = " SCM unique identifier for the current commit.\n This matches the regex \"([0-9a-f]{6})?\"."]
7163 pub Engine_Version_getHash: ::std::option::Option<
7164 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7165 >,
7166 #[doc = " SCM branch name (e.g. \"master\" or \"develop\")"]
7167 pub Engine_Version_getBranch: ::std::option::Option<
7168 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7169 >,
7170 #[doc = " Additional information (compiler flags, svn revision etc.)"]
7171 pub Engine_Version_getAdditional: ::std::option::Option<
7172 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7173 >,
7174 #[doc = " time of build"]
7175 pub Engine_Version_getBuildTime: ::std::option::Option<
7176 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7177 >,
7178 #[doc = " Returns whether this is a release build of the engine"]
7179 pub Engine_Version_isRelease:
7180 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
7181 #[doc = " The basic part of a spring version.\n This may only be used for sync-checking if IsRelease() returns true.\n @return \"Major.PatchSet\" or \"Major.PatchSet.1\""]
7182 pub Engine_Version_getNormal: ::std::option::Option<
7183 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7184 >,
7185 #[doc = " The sync relevant part of a spring version.\n This may be used for sync-checking through a simple string-equality test.\n @return \"Major\" or \"Major.PatchSet.1-Commits-gHash Branch\""]
7186 pub Engine_Version_getSync: ::std::option::Option<
7187 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7188 >,
7189 #[doc = " The verbose, human readable version.\n @return \"Major.Patchset[.1-Commits-gHash Branch] (Additional)\""]
7190 pub Engine_Version_getFull: ::std::option::Option<
7191 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7192 >,
7193 #[doc = " Returns the number of teams in this game"]
7194 pub getNumTeams: ::std::option::Option<
7195 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7196 >,
7197 #[doc = " Returns the number of skirmish AIs in this game"]
7198 pub getNumSkirmishAIs: ::std::option::Option<
7199 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7200 >,
7201 #[doc = " Returns the maximum number of skirmish AIs in any game"]
7202 pub getMaxSkirmishAIs: ::std::option::Option<
7203 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7204 >,
7205 #[doc = " Returns the ID of the team controled by this Skirmish AI."]
7206 pub SkirmishAI_getTeamId: ::std::option::Option<
7207 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7208 >,
7209 #[doc = " Returns the number of info key-value pairs in the info map\n for this Skirmish AI."]
7210 pub SkirmishAI_Info_getSize: ::std::option::Option<
7211 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7212 >,
7213 #[doc = " Returns the key at index infoIndex in the info map\n for this Skirmish AI, or NULL if the infoIndex is invalid."]
7214 pub SkirmishAI_Info_getKey: ::std::option::Option<
7215 unsafe extern "C" fn(
7216 skirmishAIId: ::std::os::raw::c_int,
7217 infoIndex: ::std::os::raw::c_int,
7218 ) -> *const ::std::os::raw::c_char,
7219 >,
7220 #[doc = " Returns the value at index infoIndex in the info map\n for this Skirmish AI, or NULL if the infoIndex is invalid."]
7221 pub SkirmishAI_Info_getValue: ::std::option::Option<
7222 unsafe extern "C" fn(
7223 skirmishAIId: ::std::os::raw::c_int,
7224 infoIndex: ::std::os::raw::c_int,
7225 ) -> *const ::std::os::raw::c_char,
7226 >,
7227 #[doc = " Returns the description of the key at index infoIndex in the info map\n for this Skirmish AI, or NULL if the infoIndex is invalid."]
7228 pub SkirmishAI_Info_getDescription: ::std::option::Option<
7229 unsafe extern "C" fn(
7230 skirmishAIId: ::std::os::raw::c_int,
7231 infoIndex: ::std::os::raw::c_int,
7232 ) -> *const ::std::os::raw::c_char,
7233 >,
7234 #[doc = " Returns the value associated with the given key in the info map\n for this Skirmish AI, or NULL if not found."]
7235 pub SkirmishAI_Info_getValueByKey: ::std::option::Option<
7236 unsafe extern "C" fn(
7237 skirmishAIId: ::std::os::raw::c_int,
7238 key: *const ::std::os::raw::c_char,
7239 ) -> *const ::std::os::raw::c_char,
7240 >,
7241 #[doc = " Returns the number of option key-value pairs in the options map\n for this Skirmish AI."]
7242 pub SkirmishAI_OptionValues_getSize: ::std::option::Option<
7243 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7244 >,
7245 #[doc = " Returns the key at index optionIndex in the options map\n for this Skirmish AI, or NULL if the optionIndex is invalid."]
7246 pub SkirmishAI_OptionValues_getKey: ::std::option::Option<
7247 unsafe extern "C" fn(
7248 skirmishAIId: ::std::os::raw::c_int,
7249 optionIndex: ::std::os::raw::c_int,
7250 ) -> *const ::std::os::raw::c_char,
7251 >,
7252 #[doc = " Returns the value at index optionIndex in the options map\n for this Skirmish AI, or NULL if the optionIndex is invalid."]
7253 pub SkirmishAI_OptionValues_getValue: ::std::option::Option<
7254 unsafe extern "C" fn(
7255 skirmishAIId: ::std::os::raw::c_int,
7256 optionIndex: ::std::os::raw::c_int,
7257 ) -> *const ::std::os::raw::c_char,
7258 >,
7259 #[doc = " Returns the value associated with the given key in the options map\n for this Skirmish AI, or NULL if not found."]
7260 pub SkirmishAI_OptionValues_getValueByKey: ::std::option::Option<
7261 unsafe extern "C" fn(
7262 skirmishAIId: ::std::os::raw::c_int,
7263 key: *const ::std::os::raw::c_char,
7264 ) -> *const ::std::os::raw::c_char,
7265 >,
7266 #[doc = " This will end up in infolog"]
7267 pub Log_log: ::std::option::Option<
7268 unsafe extern "C" fn(
7269 skirmishAIId: ::std::os::raw::c_int,
7270 msg: *const ::std::os::raw::c_char,
7271 ),
7272 >,
7273 #[doc = " Inform the engine of an error that happend in the interface.\n @param msg error message\n @param severety from 10 for minor to 0 for fatal\n @param die if this is set to true, the engine assumes\n the interface is in an irreparable state, and it will\n unload it immediately."]
7274 pub Log_exception: ::std::option::Option<
7275 unsafe extern "C" fn(
7276 skirmishAIId: ::std::os::raw::c_int,
7277 msg: *const ::std::os::raw::c_char,
7278 severety: ::std::os::raw::c_int,
7279 die: bool,
7280 ),
7281 >,
7282 #[doc = " Returns '/' on posix and '\\\\' on windows"]
7283 pub DataDirs_getPathSeparator: ::std::option::Option<
7284 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_char,
7285 >,
7286 #[doc = " This interfaces main data dir, which is where the shared library\n and the InterfaceInfo.lua file are located, e.g.:\n /usr/share/games/spring/AI/Skirmish/RAI/0.601/"]
7287 pub DataDirs_getConfigDir: ::std::option::Option<
7288 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7289 >,
7290 #[doc = " This interfaces writable data dir, which is where eg logs, caches\n and learning data should be stored, e.g.:\n /home/userX/.spring/AI/Skirmish/RAI/0.601/"]
7291 pub DataDirs_getWriteableDir: ::std::option::Option<
7292 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7293 >,
7294 #[doc = " Returns an absolute path which consists of:\n data-dir + Skirmish-AI-path + relative-path.\n\n example:\n input: \"log/main.log\", writeable, create, !dir, !common\n output: \"/home/userX/.spring/AI/Skirmish/RAI/0.601/log/main.log\"\n The path \"/home/userX/.spring/AI/Skirmish/RAI/0.601/log/\" is created,\n if it does not yet exist.\n\n @see DataDirs_Roots_locatePath\n @param path store for the resulting absolute path\n @param path_sizeMax storage size of the above\n @param writeable if true, only the writable data-dir is considered\n @param create if true, and realPath is not found, its dir structure\n is created recursively under the writable data-dir\n @param dir if true, realPath specifies a dir, which means if\n create is true, the whole path will be created,\n including the last part\n @param common if true, the version independent data-dir is formed,\n which uses \"common\" instead of the version, eg:\n \"/home/userX/.spring/AI/Skirmish/RAI/common/...\"\n @return whether the locating process was successfull\n -> the path exists and is stored in an absolute form in path"]
7295 pub DataDirs_locatePath: ::std::option::Option<
7296 unsafe extern "C" fn(
7297 skirmishAIId: ::std::os::raw::c_int,
7298 path: *mut ::std::os::raw::c_char,
7299 path_sizeMax: ::std::os::raw::c_int,
7300 relPath: *const ::std::os::raw::c_char,
7301 writeable: bool,
7302 create: bool,
7303 dir: bool,
7304 common: bool,
7305 ) -> bool,
7306 >,
7307 #[doc = " Returns the number of springs data dirs."]
7308 pub DataDirs_Roots_getSize: ::std::option::Option<
7309 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7310 >,
7311 #[doc = " Returns the data dir at dirIndex, which is valid between 0 and (DataDirs_Roots_getSize() - 1)."]
7312 pub DataDirs_Roots_getDir: ::std::option::Option<
7313 unsafe extern "C" fn(
7314 skirmishAIId: ::std::os::raw::c_int,
7315 path: *mut ::std::os::raw::c_char,
7316 path_sizeMax: ::std::os::raw::c_int,
7317 dirIndex: ::std::os::raw::c_int,
7318 ) -> bool,
7319 >,
7320 #[doc = " Returns an absolute path which consists of:\n data-dir + relative-path.\n\n example:\n input: \"AI/Skirmish\", writeable, create, dir\n output: \"/home/userX/.spring/AI/Skirmish/\"\n The path \"/home/userX/.spring/AI/Skirmish/\" is created,\n if it does not yet exist.\n\n @see DataDirs_locatePath\n @param path store for the resulting absolute path\n @param path_sizeMax storage size of the above\n @param relPath the relative path to find\n @param writeable if true, only the writable data-dir is considered\n @param create if true, and realPath is not found, its dir structure\n is created recursively under the writable data-dir\n @param dir if true, realPath specifies a dir, which means if\n create is true, the whole path will be created,\n including the last part\n @return whether the locating process was successfull\n -> the path exists and is stored in an absolute form in path"]
7321 pub DataDirs_Roots_locatePath: ::std::option::Option<
7322 unsafe extern "C" fn(
7323 skirmishAIId: ::std::os::raw::c_int,
7324 path: *mut ::std::os::raw::c_char,
7325 path_sizeMax: ::std::os::raw::c_int,
7326 relPath: *const ::std::os::raw::c_char,
7327 writeable: bool,
7328 create: bool,
7329 dir: bool,
7330 ) -> bool,
7331 >,
7332 #[doc = " Returns the current game time measured in frames (the\n simulation runs at 30 frames per second at normal speed)\n\n This should not be used, as we get the frame from the SUpdateEvent.\n @deprecated"]
7333 pub Game_getCurrentFrame: ::std::option::Option<
7334 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7335 >,
7336 pub Game_getAiInterfaceVersion: ::std::option::Option<
7337 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7338 >,
7339 pub Game_getMyTeam: ::std::option::Option<
7340 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7341 >,
7342 pub Game_getMyAllyTeam: ::std::option::Option<
7343 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7344 >,
7345 pub Game_getPlayerTeam: ::std::option::Option<
7346 unsafe extern "C" fn(
7347 skirmishAIId: ::std::os::raw::c_int,
7348 playerId: ::std::os::raw::c_int,
7349 ) -> ::std::os::raw::c_int,
7350 >,
7351 #[doc = " Returns the number of active teams participating\n in the currently running game.\n A return value of 6 for example, would mean that teams 0 till 5\n take part in the game."]
7352 pub Game_getTeams: ::std::option::Option<
7353 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7354 >,
7355 #[doc = " Returns the name of the side of a team in the game.\n\n This should not be used, as it may be \"\",\n and as the AI should rather rely on the units it has,\n which will lead to a more stable and versatile AI.\n @deprecated\n\n @return eg. \"ARM\" or \"CORE\"; may be \"\", depending on how the game was setup"]
7356 pub Game_getTeamSide: ::std::option::Option<
7357 unsafe extern "C" fn(
7358 skirmishAIId: ::std::os::raw::c_int,
7359 otherTeamId: ::std::os::raw::c_int,
7360 ) -> *const ::std::os::raw::c_char,
7361 >,
7362 #[doc = " Returns the color of a team in the game.\n\n This should only be used when drawing stuff,\n and not for team-identification.\n @return the RGB color of a team, with values in [0, 255]"]
7363 pub Game_getTeamColor: ::std::option::Option<
7364 unsafe extern "C" fn(
7365 skirmishAIId: ::std::os::raw::c_int,
7366 otherTeamId: ::std::os::raw::c_int,
7367 return_colorS3_out: *mut ::std::os::raw::c_short,
7368 ),
7369 >,
7370 #[doc = " Returns the income multiplier of a team in the game.\n All the teams resource income is multiplied by this factor.\n The default value is 1.0f, the valid range is [0.0, FLOAT_MAX]."]
7371 pub Game_getTeamIncomeMultiplier: ::std::option::Option<
7372 unsafe extern "C" fn(
7373 skirmishAIId: ::std::os::raw::c_int,
7374 otherTeamId: ::std::os::raw::c_int,
7375 ) -> f32,
7376 >,
7377 #[doc = " Returns the ally-team of a team"]
7378 pub Game_getTeamAllyTeam: ::std::option::Option<
7379 unsafe extern "C" fn(
7380 skirmishAIId: ::std::os::raw::c_int,
7381 otherTeamId: ::std::os::raw::c_int,
7382 ) -> ::std::os::raw::c_int,
7383 >,
7384 #[doc = " Returns the current level of a resource of another team.\n Allways works for allied teams.\n Works for all teams when cheating is enabled.\n @return current level of the requested resource of the other team, or -1.0 on an invalid request"]
7385 pub Game_getTeamResourceCurrent: ::std::option::Option<
7386 unsafe extern "C" fn(
7387 skirmishAIId: ::std::os::raw::c_int,
7388 otherTeamId: ::std::os::raw::c_int,
7389 resourceId: ::std::os::raw::c_int,
7390 ) -> f32,
7391 >,
7392 #[doc = " Returns the current income of a resource of another team.\n Allways works for allied teams.\n Works for all teams when cheating is enabled.\n @return current income of the requested resource of the other team, or -1.0 on an invalid request"]
7393 pub Game_getTeamResourceIncome: ::std::option::Option<
7394 unsafe extern "C" fn(
7395 skirmishAIId: ::std::os::raw::c_int,
7396 otherTeamId: ::std::os::raw::c_int,
7397 resourceId: ::std::os::raw::c_int,
7398 ) -> f32,
7399 >,
7400 #[doc = " Returns the current usage of a resource of another team.\n Allways works for allied teams.\n Works for all teams when cheating is enabled.\n @return current usage of the requested resource of the other team, or -1.0 on an invalid request"]
7401 pub Game_getTeamResourceUsage: ::std::option::Option<
7402 unsafe extern "C" fn(
7403 skirmishAIId: ::std::os::raw::c_int,
7404 otherTeamId: ::std::os::raw::c_int,
7405 resourceId: ::std::os::raw::c_int,
7406 ) -> f32,
7407 >,
7408 #[doc = " Returns the storage capacity for a resource of another team.\n Allways works for allied teams.\n Works for all teams when cheating is enabled.\n @return storage capacity for the requested resource of the other team, or -1.0 on an invalid request"]
7409 pub Game_getTeamResourceStorage: ::std::option::Option<
7410 unsafe extern "C" fn(
7411 skirmishAIId: ::std::os::raw::c_int,
7412 otherTeamId: ::std::os::raw::c_int,
7413 resourceId: ::std::os::raw::c_int,
7414 ) -> f32,
7415 >,
7416 pub Game_getTeamResourcePull: ::std::option::Option<
7417 unsafe extern "C" fn(
7418 skirmishAIId: ::std::os::raw::c_int,
7419 otherTeamId: ::std::os::raw::c_int,
7420 resourceId: ::std::os::raw::c_int,
7421 ) -> f32,
7422 >,
7423 pub Game_getTeamResourceShare: ::std::option::Option<
7424 unsafe extern "C" fn(
7425 skirmishAIId: ::std::os::raw::c_int,
7426 otherTeamId: ::std::os::raw::c_int,
7427 resourceId: ::std::os::raw::c_int,
7428 ) -> f32,
7429 >,
7430 pub Game_getTeamResourceSent: ::std::option::Option<
7431 unsafe extern "C" fn(
7432 skirmishAIId: ::std::os::raw::c_int,
7433 otherTeamId: ::std::os::raw::c_int,
7434 resourceId: ::std::os::raw::c_int,
7435 ) -> f32,
7436 >,
7437 pub Game_getTeamResourceReceived: ::std::option::Option<
7438 unsafe extern "C" fn(
7439 skirmishAIId: ::std::os::raw::c_int,
7440 otherTeamId: ::std::os::raw::c_int,
7441 resourceId: ::std::os::raw::c_int,
7442 ) -> f32,
7443 >,
7444 pub Game_getTeamResourceExcess: ::std::option::Option<
7445 unsafe extern "C" fn(
7446 skirmishAIId: ::std::os::raw::c_int,
7447 otherTeamId: ::std::os::raw::c_int,
7448 resourceId: ::std::os::raw::c_int,
7449 ) -> f32,
7450 >,
7451 #[doc = " Returns true, if the two supplied ally-teams are currently allied"]
7452 pub Game_isAllied: ::std::option::Option<
7453 unsafe extern "C" fn(
7454 skirmishAIId: ::std::os::raw::c_int,
7455 firstAllyTeamId: ::std::os::raw::c_int,
7456 secondAllyTeamId: ::std::os::raw::c_int,
7457 ) -> bool,
7458 >,
7459 pub Game_isDebugModeEnabled:
7460 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
7461 pub Game_getMode: ::std::option::Option<
7462 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7463 >,
7464 pub Game_isPaused:
7465 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
7466 pub Game_getSpeedFactor:
7467 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
7468 pub Game_getSetupScript: ::std::option::Option<
7469 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
7470 >,
7471 #[doc = " Returns the categories bit field value.\n @return the categories bit field value or 0,\n in case of empty name or too many categories\n @see getCategoryName"]
7472 pub Game_getCategoryFlag: ::std::option::Option<
7473 unsafe extern "C" fn(
7474 skirmishAIId: ::std::os::raw::c_int,
7475 categoryName: *const ::std::os::raw::c_char,
7476 ) -> ::std::os::raw::c_int,
7477 >,
7478 #[doc = " Returns the bitfield values of a list of category names.\n @param categoryNames space delimited list of names\n @see Game#getCategoryFlag"]
7479 pub Game_getCategoriesFlag: ::std::option::Option<
7480 unsafe extern "C" fn(
7481 skirmishAIId: ::std::os::raw::c_int,
7482 categoryNames: *const ::std::os::raw::c_char,
7483 ) -> ::std::os::raw::c_int,
7484 >,
7485 #[doc = " Return the name of the category described by a category flag.\n @see Game#getCategoryFlag"]
7486 pub Game_getCategoryName: ::std::option::Option<
7487 unsafe extern "C" fn(
7488 skirmishAIId: ::std::os::raw::c_int,
7489 categoryFlag: ::std::os::raw::c_int,
7490 name: *mut ::std::os::raw::c_char,
7491 name_sizeMax: ::std::os::raw::c_int,
7492 ),
7493 >,
7494 #[doc = " @return float value of parameter if it's set, defaultValue otherwise."]
7495 pub Game_getRulesParamFloat: ::std::option::Option<
7496 unsafe extern "C" fn(
7497 skirmishAIId: ::std::os::raw::c_int,
7498 gameRulesParamName: *const ::std::os::raw::c_char,
7499 defaultValue: f32,
7500 ) -> f32,
7501 >,
7502 #[doc = " @return string value of parameter if it's set, defaultValue otherwise."]
7503 pub Game_getRulesParamString: ::std::option::Option<
7504 unsafe extern "C" fn(
7505 skirmishAIId: ::std::os::raw::c_int,
7506 gameRulesParamName: *const ::std::os::raw::c_char,
7507 defaultValue: *const ::std::os::raw::c_char,
7508 ) -> *const ::std::os::raw::c_char,
7509 >,
7510 #[doc = " Returns whether this AI may use active cheats."]
7511 pub Cheats_isEnabled:
7512 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
7513 #[doc = " Set whether this AI may use active cheats."]
7514 pub Cheats_setEnabled: ::std::option::Option<
7515 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int, enable: bool) -> bool,
7516 >,
7517 #[doc = " Set whether this AI may receive cheat events.\n When enabled, you would for example get informed when enemy units are\n created, even without sensor coverage."]
7518 pub Cheats_setEventsEnabled: ::std::option::Option<
7519 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int, enabled: bool) -> bool,
7520 >,
7521 #[doc = " Returns whether cheats will desync if used by an AI.\n @return always true, unless we are both the host and the only client."]
7522 pub Cheats_isOnlyPassive:
7523 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
7524 pub getResources: ::std::option::Option<
7525 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
7526 >,
7527 pub getResourceByName: ::std::option::Option<
7528 unsafe extern "C" fn(
7529 skirmishAIId: ::std::os::raw::c_int,
7530 resourceName: *const ::std::os::raw::c_char,
7531 ) -> ::std::os::raw::c_int,
7532 >,
7533 pub Resource_getName: ::std::option::Option<
7534 unsafe extern "C" fn(
7535 skirmishAIId: ::std::os::raw::c_int,
7536 resourceId: ::std::os::raw::c_int,
7537 ) -> *const ::std::os::raw::c_char,
7538 >,
7539 pub Resource_getOptimum: ::std::option::Option<
7540 unsafe extern "C" fn(
7541 skirmishAIId: ::std::os::raw::c_int,
7542 resourceId: ::std::os::raw::c_int,
7543 ) -> f32,
7544 >,
7545 pub Economy_getCurrent: ::std::option::Option<
7546 unsafe extern "C" fn(
7547 skirmishAIId: ::std::os::raw::c_int,
7548 resourceId: ::std::os::raw::c_int,
7549 ) -> f32,
7550 >,
7551 pub Economy_getIncome: ::std::option::Option<
7552 unsafe extern "C" fn(
7553 skirmishAIId: ::std::os::raw::c_int,
7554 resourceId: ::std::os::raw::c_int,
7555 ) -> f32,
7556 >,
7557 pub Economy_getUsage: ::std::option::Option<
7558 unsafe extern "C" fn(
7559 skirmishAIId: ::std::os::raw::c_int,
7560 resourceId: ::std::os::raw::c_int,
7561 ) -> f32,
7562 >,
7563 pub Economy_getStorage: ::std::option::Option<
7564 unsafe extern "C" fn(
7565 skirmishAIId: ::std::os::raw::c_int,
7566 resourceId: ::std::os::raw::c_int,
7567 ) -> f32,
7568 >,
7569 pub Economy_getPull: ::std::option::Option<
7570 unsafe extern "C" fn(
7571 skirmishAIId: ::std::os::raw::c_int,
7572 resourceId: ::std::os::raw::c_int,
7573 ) -> f32,
7574 >,
7575 pub Economy_getShare: ::std::option::Option<
7576 unsafe extern "C" fn(
7577 skirmishAIId: ::std::os::raw::c_int,
7578 resourceId: ::std::os::raw::c_int,
7579 ) -> f32,
7580 >,
7581 pub Economy_getSent: ::std::option::Option<
7582 unsafe extern "C" fn(
7583 skirmishAIId: ::std::os::raw::c_int,
7584 resourceId: ::std::os::raw::c_int,
7585 ) -> f32,
7586 >,
7587 pub Economy_getReceived: ::std::option::Option<
7588 unsafe extern "C" fn(
7589 skirmishAIId: ::std::os::raw::c_int,
7590 resourceId: ::std::os::raw::c_int,
7591 ) -> f32,
7592 >,
7593 pub Economy_getExcess: ::std::option::Option<
7594 unsafe extern "C" fn(
7595 skirmishAIId: ::std::os::raw::c_int,
7596 resourceId: ::std::os::raw::c_int,
7597 ) -> f32,
7598 >,
7599 #[doc = " Return -1 when the file does not exist"]
7600 pub File_getSize: ::std::option::Option<
7601 unsafe extern "C" fn(
7602 skirmishAIId: ::std::os::raw::c_int,
7603 fileName: *const ::std::os::raw::c_char,
7604 ) -> ::std::os::raw::c_int,
7605 >,
7606 #[doc = " Returns false when file does not exist, or the buffer is too small"]
7607 pub File_getContent: ::std::option::Option<
7608 unsafe extern "C" fn(
7609 skirmishAIId: ::std::os::raw::c_int,
7610 fileName: *const ::std::os::raw::c_char,
7611 buffer: *mut ::std::os::raw::c_void,
7612 bufferLen: ::std::os::raw::c_int,
7613 ) -> bool,
7614 >,
7615 #[doc = " A UnitDef contains all properties of a unit that are specific to its type,\n for example the number and type of weapons or max-speed.\n These properties are usually fixed, and not meant to change during a game.\n The unitId is a unique id for this type of unit."]
7616 pub getUnitDefs: ::std::option::Option<
7617 unsafe extern "C" fn(
7618 skirmishAIId: ::std::os::raw::c_int,
7619 unitDefIds: *mut ::std::os::raw::c_int,
7620 unitDefIds_sizeMax: ::std::os::raw::c_int,
7621 ) -> ::std::os::raw::c_int,
7622 >,
7623 pub getUnitDefByName: ::std::option::Option<
7624 unsafe extern "C" fn(
7625 skirmishAIId: ::std::os::raw::c_int,
7626 unitName: *const ::std::os::raw::c_char,
7627 ) -> ::std::os::raw::c_int,
7628 >,
7629 #[doc = " Forces loading of the unit model"]
7630 pub UnitDef_getHeight: ::std::option::Option<
7631 unsafe extern "C" fn(
7632 skirmishAIId: ::std::os::raw::c_int,
7633 unitDefId: ::std::os::raw::c_int,
7634 ) -> f32,
7635 >,
7636 #[doc = " Forces loading of the unit model"]
7637 pub UnitDef_getRadius: ::std::option::Option<
7638 unsafe extern "C" fn(
7639 skirmishAIId: ::std::os::raw::c_int,
7640 unitDefId: ::std::os::raw::c_int,
7641 ) -> f32,
7642 >,
7643 pub UnitDef_getName: ::std::option::Option<
7644 unsafe extern "C" fn(
7645 skirmishAIId: ::std::os::raw::c_int,
7646 unitDefId: ::std::os::raw::c_int,
7647 ) -> *const ::std::os::raw::c_char,
7648 >,
7649 pub UnitDef_getHumanName: ::std::option::Option<
7650 unsafe extern "C" fn(
7651 skirmishAIId: ::std::os::raw::c_int,
7652 unitDefId: ::std::os::raw::c_int,
7653 ) -> *const ::std::os::raw::c_char,
7654 >,
7655 pub UnitDef_getUpkeep: ::std::option::Option<
7656 unsafe extern "C" fn(
7657 skirmishAIId: ::std::os::raw::c_int,
7658 unitDefId: ::std::os::raw::c_int,
7659 resourceId: ::std::os::raw::c_int,
7660 ) -> f32,
7661 >,
7662 #[doc = " This amount of the resource will always be created."]
7663 pub UnitDef_getResourceMake: ::std::option::Option<
7664 unsafe extern "C" fn(
7665 skirmishAIId: ::std::os::raw::c_int,
7666 unitDefId: ::std::os::raw::c_int,
7667 resourceId: ::std::os::raw::c_int,
7668 ) -> f32,
7669 >,
7670 #[doc = " This amount of the resource will be created when the unit is on and enough\n energy can be drained."]
7671 pub UnitDef_getMakesResource: ::std::option::Option<
7672 unsafe extern "C" fn(
7673 skirmishAIId: ::std::os::raw::c_int,
7674 unitDefId: ::std::os::raw::c_int,
7675 resourceId: ::std::os::raw::c_int,
7676 ) -> f32,
7677 >,
7678 pub UnitDef_getCost: ::std::option::Option<
7679 unsafe extern "C" fn(
7680 skirmishAIId: ::std::os::raw::c_int,
7681 unitDefId: ::std::os::raw::c_int,
7682 resourceId: ::std::os::raw::c_int,
7683 ) -> f32,
7684 >,
7685 pub UnitDef_getExtractsResource: ::std::option::Option<
7686 unsafe extern "C" fn(
7687 skirmishAIId: ::std::os::raw::c_int,
7688 unitDefId: ::std::os::raw::c_int,
7689 resourceId: ::std::os::raw::c_int,
7690 ) -> f32,
7691 >,
7692 pub UnitDef_getResourceExtractorRange: ::std::option::Option<
7693 unsafe extern "C" fn(
7694 skirmishAIId: ::std::os::raw::c_int,
7695 unitDefId: ::std::os::raw::c_int,
7696 resourceId: ::std::os::raw::c_int,
7697 ) -> f32,
7698 >,
7699 pub UnitDef_getWindResourceGenerator: ::std::option::Option<
7700 unsafe extern "C" fn(
7701 skirmishAIId: ::std::os::raw::c_int,
7702 unitDefId: ::std::os::raw::c_int,
7703 resourceId: ::std::os::raw::c_int,
7704 ) -> f32,
7705 >,
7706 pub UnitDef_getTidalResourceGenerator: ::std::option::Option<
7707 unsafe extern "C" fn(
7708 skirmishAIId: ::std::os::raw::c_int,
7709 unitDefId: ::std::os::raw::c_int,
7710 resourceId: ::std::os::raw::c_int,
7711 ) -> f32,
7712 >,
7713 pub UnitDef_getStorage: ::std::option::Option<
7714 unsafe extern "C" fn(
7715 skirmishAIId: ::std::os::raw::c_int,
7716 unitDefId: ::std::os::raw::c_int,
7717 resourceId: ::std::os::raw::c_int,
7718 ) -> f32,
7719 >,
7720 pub UnitDef_getBuildTime: ::std::option::Option<
7721 unsafe extern "C" fn(
7722 skirmishAIId: ::std::os::raw::c_int,
7723 unitDefId: ::std::os::raw::c_int,
7724 ) -> f32,
7725 >,
7726 #[doc = " This amount of auto-heal will always be applied."]
7727 pub UnitDef_getAutoHeal: ::std::option::Option<
7728 unsafe extern "C" fn(
7729 skirmishAIId: ::std::os::raw::c_int,
7730 unitDefId: ::std::os::raw::c_int,
7731 ) -> f32,
7732 >,
7733 #[doc = " This amount of auto-heal will only be applied while the unit is idling."]
7734 pub UnitDef_getIdleAutoHeal: ::std::option::Option<
7735 unsafe extern "C" fn(
7736 skirmishAIId: ::std::os::raw::c_int,
7737 unitDefId: ::std::os::raw::c_int,
7738 ) -> f32,
7739 >,
7740 #[doc = " Time a unit needs to idle before it is considered idling."]
7741 pub UnitDef_getIdleTime: ::std::option::Option<
7742 unsafe extern "C" fn(
7743 skirmishAIId: ::std::os::raw::c_int,
7744 unitDefId: ::std::os::raw::c_int,
7745 ) -> ::std::os::raw::c_int,
7746 >,
7747 pub UnitDef_getPower: ::std::option::Option<
7748 unsafe extern "C" fn(
7749 skirmishAIId: ::std::os::raw::c_int,
7750 unitDefId: ::std::os::raw::c_int,
7751 ) -> f32,
7752 >,
7753 pub UnitDef_getHealth: ::std::option::Option<
7754 unsafe extern "C" fn(
7755 skirmishAIId: ::std::os::raw::c_int,
7756 unitDefId: ::std::os::raw::c_int,
7757 ) -> f32,
7758 >,
7759 #[doc = " Returns the bit field value denoting the categories this unit is in.\n @see Game#getCategoryFlag\n @see Game#getCategoryName"]
7760 pub UnitDef_getCategory: ::std::option::Option<
7761 unsafe extern "C" fn(
7762 skirmishAIId: ::std::os::raw::c_int,
7763 unitDefId: ::std::os::raw::c_int,
7764 ) -> ::std::os::raw::c_int,
7765 >,
7766 pub UnitDef_getSpeed: ::std::option::Option<
7767 unsafe extern "C" fn(
7768 skirmishAIId: ::std::os::raw::c_int,
7769 unitDefId: ::std::os::raw::c_int,
7770 ) -> f32,
7771 >,
7772 pub UnitDef_getTurnRate: ::std::option::Option<
7773 unsafe extern "C" fn(
7774 skirmishAIId: ::std::os::raw::c_int,
7775 unitDefId: ::std::os::raw::c_int,
7776 ) -> f32,
7777 >,
7778 pub UnitDef_isTurnInPlace: ::std::option::Option<
7779 unsafe extern "C" fn(
7780 skirmishAIId: ::std::os::raw::c_int,
7781 unitDefId: ::std::os::raw::c_int,
7782 ) -> bool,
7783 >,
7784 #[doc = " Units above this distance to goal will try to turn while keeping\n some of their speed.\n 0 to disable"]
7785 pub UnitDef_getTurnInPlaceDistance: ::std::option::Option<
7786 unsafe extern "C" fn(
7787 skirmishAIId: ::std::os::raw::c_int,
7788 unitDefId: ::std::os::raw::c_int,
7789 ) -> f32,
7790 >,
7791 #[doc = " Units below this speed will turn in place regardless of their\n turnInPlace setting."]
7792 pub UnitDef_getTurnInPlaceSpeedLimit: ::std::option::Option<
7793 unsafe extern "C" fn(
7794 skirmishAIId: ::std::os::raw::c_int,
7795 unitDefId: ::std::os::raw::c_int,
7796 ) -> f32,
7797 >,
7798 pub UnitDef_isUpright: ::std::option::Option<
7799 unsafe extern "C" fn(
7800 skirmishAIId: ::std::os::raw::c_int,
7801 unitDefId: ::std::os::raw::c_int,
7802 ) -> bool,
7803 >,
7804 pub UnitDef_isCollide: ::std::option::Option<
7805 unsafe extern "C" fn(
7806 skirmishAIId: ::std::os::raw::c_int,
7807 unitDefId: ::std::os::raw::c_int,
7808 ) -> bool,
7809 >,
7810 pub UnitDef_getLosRadius: ::std::option::Option<
7811 unsafe extern "C" fn(
7812 skirmishAIId: ::std::os::raw::c_int,
7813 unitDefId: ::std::os::raw::c_int,
7814 ) -> f32,
7815 >,
7816 pub UnitDef_getAirLosRadius: ::std::option::Option<
7817 unsafe extern "C" fn(
7818 skirmishAIId: ::std::os::raw::c_int,
7819 unitDefId: ::std::os::raw::c_int,
7820 ) -> f32,
7821 >,
7822 pub UnitDef_getLosHeight: ::std::option::Option<
7823 unsafe extern "C" fn(
7824 skirmishAIId: ::std::os::raw::c_int,
7825 unitDefId: ::std::os::raw::c_int,
7826 ) -> f32,
7827 >,
7828 pub UnitDef_getRadarRadius: ::std::option::Option<
7829 unsafe extern "C" fn(
7830 skirmishAIId: ::std::os::raw::c_int,
7831 unitDefId: ::std::os::raw::c_int,
7832 ) -> ::std::os::raw::c_int,
7833 >,
7834 pub UnitDef_getSonarRadius: ::std::option::Option<
7835 unsafe extern "C" fn(
7836 skirmishAIId: ::std::os::raw::c_int,
7837 unitDefId: ::std::os::raw::c_int,
7838 ) -> ::std::os::raw::c_int,
7839 >,
7840 pub UnitDef_getJammerRadius: ::std::option::Option<
7841 unsafe extern "C" fn(
7842 skirmishAIId: ::std::os::raw::c_int,
7843 unitDefId: ::std::os::raw::c_int,
7844 ) -> ::std::os::raw::c_int,
7845 >,
7846 pub UnitDef_getSonarJamRadius: ::std::option::Option<
7847 unsafe extern "C" fn(
7848 skirmishAIId: ::std::os::raw::c_int,
7849 unitDefId: ::std::os::raw::c_int,
7850 ) -> ::std::os::raw::c_int,
7851 >,
7852 pub UnitDef_getSeismicRadius: ::std::option::Option<
7853 unsafe extern "C" fn(
7854 skirmishAIId: ::std::os::raw::c_int,
7855 unitDefId: ::std::os::raw::c_int,
7856 ) -> ::std::os::raw::c_int,
7857 >,
7858 pub UnitDef_getSeismicSignature: ::std::option::Option<
7859 unsafe extern "C" fn(
7860 skirmishAIId: ::std::os::raw::c_int,
7861 unitDefId: ::std::os::raw::c_int,
7862 ) -> f32,
7863 >,
7864 pub UnitDef_isStealth: ::std::option::Option<
7865 unsafe extern "C" fn(
7866 skirmishAIId: ::std::os::raw::c_int,
7867 unitDefId: ::std::os::raw::c_int,
7868 ) -> bool,
7869 >,
7870 pub UnitDef_isSonarStealth: ::std::option::Option<
7871 unsafe extern "C" fn(
7872 skirmishAIId: ::std::os::raw::c_int,
7873 unitDefId: ::std::os::raw::c_int,
7874 ) -> bool,
7875 >,
7876 pub UnitDef_isBuildRange3D: ::std::option::Option<
7877 unsafe extern "C" fn(
7878 skirmishAIId: ::std::os::raw::c_int,
7879 unitDefId: ::std::os::raw::c_int,
7880 ) -> bool,
7881 >,
7882 pub UnitDef_getBuildDistance: ::std::option::Option<
7883 unsafe extern "C" fn(
7884 skirmishAIId: ::std::os::raw::c_int,
7885 unitDefId: ::std::os::raw::c_int,
7886 ) -> f32,
7887 >,
7888 pub UnitDef_getBuildSpeed: ::std::option::Option<
7889 unsafe extern "C" fn(
7890 skirmishAIId: ::std::os::raw::c_int,
7891 unitDefId: ::std::os::raw::c_int,
7892 ) -> f32,
7893 >,
7894 pub UnitDef_getReclaimSpeed: ::std::option::Option<
7895 unsafe extern "C" fn(
7896 skirmishAIId: ::std::os::raw::c_int,
7897 unitDefId: ::std::os::raw::c_int,
7898 ) -> f32,
7899 >,
7900 pub UnitDef_getRepairSpeed: ::std::option::Option<
7901 unsafe extern "C" fn(
7902 skirmishAIId: ::std::os::raw::c_int,
7903 unitDefId: ::std::os::raw::c_int,
7904 ) -> f32,
7905 >,
7906 pub UnitDef_getMaxRepairSpeed: ::std::option::Option<
7907 unsafe extern "C" fn(
7908 skirmishAIId: ::std::os::raw::c_int,
7909 unitDefId: ::std::os::raw::c_int,
7910 ) -> f32,
7911 >,
7912 pub UnitDef_getResurrectSpeed: ::std::option::Option<
7913 unsafe extern "C" fn(
7914 skirmishAIId: ::std::os::raw::c_int,
7915 unitDefId: ::std::os::raw::c_int,
7916 ) -> f32,
7917 >,
7918 pub UnitDef_getCaptureSpeed: ::std::option::Option<
7919 unsafe extern "C" fn(
7920 skirmishAIId: ::std::os::raw::c_int,
7921 unitDefId: ::std::os::raw::c_int,
7922 ) -> f32,
7923 >,
7924 pub UnitDef_getTerraformSpeed: ::std::option::Option<
7925 unsafe extern "C" fn(
7926 skirmishAIId: ::std::os::raw::c_int,
7927 unitDefId: ::std::os::raw::c_int,
7928 ) -> f32,
7929 >,
7930 pub UnitDef_getUpDirSmoothing: ::std::option::Option<
7931 unsafe extern "C" fn(
7932 skirmishAIId: ::std::os::raw::c_int,
7933 unitDefId: ::std::os::raw::c_int,
7934 ) -> f32,
7935 >,
7936 pub UnitDef_getMass: ::std::option::Option<
7937 unsafe extern "C" fn(
7938 skirmishAIId: ::std::os::raw::c_int,
7939 unitDefId: ::std::os::raw::c_int,
7940 ) -> f32,
7941 >,
7942 pub UnitDef_isPushResistant: ::std::option::Option<
7943 unsafe extern "C" fn(
7944 skirmishAIId: ::std::os::raw::c_int,
7945 unitDefId: ::std::os::raw::c_int,
7946 ) -> bool,
7947 >,
7948 #[doc = " Should the unit move sideways when it can not shoot?"]
7949 pub UnitDef_isStrafeToAttack: ::std::option::Option<
7950 unsafe extern "C" fn(
7951 skirmishAIId: ::std::os::raw::c_int,
7952 unitDefId: ::std::os::raw::c_int,
7953 ) -> bool,
7954 >,
7955 pub UnitDef_getMinCollisionSpeed: ::std::option::Option<
7956 unsafe extern "C" fn(
7957 skirmishAIId: ::std::os::raw::c_int,
7958 unitDefId: ::std::os::raw::c_int,
7959 ) -> f32,
7960 >,
7961 pub UnitDef_getSlideTolerance: ::std::option::Option<
7962 unsafe extern "C" fn(
7963 skirmishAIId: ::std::os::raw::c_int,
7964 unitDefId: ::std::os::raw::c_int,
7965 ) -> f32,
7966 >,
7967 #[doc = " Maximum terra-form height this building allows.\n If this value is 0.0, you can only build this structure on\n totally flat terrain."]
7968 pub UnitDef_getMaxHeightDif: ::std::option::Option<
7969 unsafe extern "C" fn(
7970 skirmishAIId: ::std::os::raw::c_int,
7971 unitDefId: ::std::os::raw::c_int,
7972 ) -> f32,
7973 >,
7974 pub UnitDef_getMinWaterDepth: ::std::option::Option<
7975 unsafe extern "C" fn(
7976 skirmishAIId: ::std::os::raw::c_int,
7977 unitDefId: ::std::os::raw::c_int,
7978 ) -> f32,
7979 >,
7980 pub UnitDef_getWaterline: ::std::option::Option<
7981 unsafe extern "C" fn(
7982 skirmishAIId: ::std::os::raw::c_int,
7983 unitDefId: ::std::os::raw::c_int,
7984 ) -> f32,
7985 >,
7986 pub UnitDef_getMaxWaterDepth: ::std::option::Option<
7987 unsafe extern "C" fn(
7988 skirmishAIId: ::std::os::raw::c_int,
7989 unitDefId: ::std::os::raw::c_int,
7990 ) -> f32,
7991 >,
7992 pub UnitDef_getArmoredMultiple: ::std::option::Option<
7993 unsafe extern "C" fn(
7994 skirmishAIId: ::std::os::raw::c_int,
7995 unitDefId: ::std::os::raw::c_int,
7996 ) -> f32,
7997 >,
7998 pub UnitDef_getArmorType: ::std::option::Option<
7999 unsafe extern "C" fn(
8000 skirmishAIId: ::std::os::raw::c_int,
8001 unitDefId: ::std::os::raw::c_int,
8002 ) -> ::std::os::raw::c_int,
8003 >,
8004 #[doc = " The flanking bonus indicates how much additional damage you can inflict to\n a unit, if it gets attacked from different directions.\n See the spring source code if you want to know it more precisely.\n\n @return 0: no flanking bonus\n 1: global coords, mobile\n 2: unit coords, mobile\n 3: unit coords, locked"]
8005 pub UnitDef_FlankingBonus_getMode: ::std::option::Option<
8006 unsafe extern "C" fn(
8007 skirmishAIId: ::std::os::raw::c_int,
8008 unitDefId: ::std::os::raw::c_int,
8009 ) -> ::std::os::raw::c_int,
8010 >,
8011 #[doc = " The unit takes less damage when attacked from this direction.\n This encourage flanking fire."]
8012 pub UnitDef_FlankingBonus_getDir: ::std::option::Option<
8013 unsafe extern "C" fn(
8014 skirmishAIId: ::std::os::raw::c_int,
8015 unitDefId: ::std::os::raw::c_int,
8016 return_posF3_out: *mut f32,
8017 ),
8018 >,
8019 #[doc = " Damage factor for the least protected direction"]
8020 pub UnitDef_FlankingBonus_getMax: ::std::option::Option<
8021 unsafe extern "C" fn(
8022 skirmishAIId: ::std::os::raw::c_int,
8023 unitDefId: ::std::os::raw::c_int,
8024 ) -> f32,
8025 >,
8026 #[doc = " Damage factor for the most protected direction"]
8027 pub UnitDef_FlankingBonus_getMin: ::std::option::Option<
8028 unsafe extern "C" fn(
8029 skirmishAIId: ::std::os::raw::c_int,
8030 unitDefId: ::std::os::raw::c_int,
8031 ) -> f32,
8032 >,
8033 #[doc = " How much the ability of the flanking bonus direction to move builds up each\n frame."]
8034 pub UnitDef_FlankingBonus_getMobilityAdd: ::std::option::Option<
8035 unsafe extern "C" fn(
8036 skirmishAIId: ::std::os::raw::c_int,
8037 unitDefId: ::std::os::raw::c_int,
8038 ) -> f32,
8039 >,
8040 pub UnitDef_getMaxWeaponRange: ::std::option::Option<
8041 unsafe extern "C" fn(
8042 skirmishAIId: ::std::os::raw::c_int,
8043 unitDefId: ::std::os::raw::c_int,
8044 ) -> f32,
8045 >,
8046 pub UnitDef_getTooltip: ::std::option::Option<
8047 unsafe extern "C" fn(
8048 skirmishAIId: ::std::os::raw::c_int,
8049 unitDefId: ::std::os::raw::c_int,
8050 ) -> *const ::std::os::raw::c_char,
8051 >,
8052 pub UnitDef_getWreckName: ::std::option::Option<
8053 unsafe extern "C" fn(
8054 skirmishAIId: ::std::os::raw::c_int,
8055 unitDefId: ::std::os::raw::c_int,
8056 ) -> *const ::std::os::raw::c_char,
8057 >,
8058 pub UnitDef_getDeathExplosion: ::std::option::Option<
8059 unsafe extern "C" fn(
8060 skirmishAIId: ::std::os::raw::c_int,
8061 unitDefId: ::std::os::raw::c_int,
8062 ) -> ::std::os::raw::c_int,
8063 >,
8064 pub UnitDef_getSelfDExplosion: ::std::option::Option<
8065 unsafe extern "C" fn(
8066 skirmishAIId: ::std::os::raw::c_int,
8067 unitDefId: ::std::os::raw::c_int,
8068 ) -> ::std::os::raw::c_int,
8069 >,
8070 #[doc = " Returns the name of the category this unit is in.\n @see Game#getCategoryFlag\n @see Game#getCategoryName"]
8071 pub UnitDef_getCategoryString: ::std::option::Option<
8072 unsafe extern "C" fn(
8073 skirmishAIId: ::std::os::raw::c_int,
8074 unitDefId: ::std::os::raw::c_int,
8075 ) -> *const ::std::os::raw::c_char,
8076 >,
8077 pub UnitDef_isAbleToSelfD: ::std::option::Option<
8078 unsafe extern "C" fn(
8079 skirmishAIId: ::std::os::raw::c_int,
8080 unitDefId: ::std::os::raw::c_int,
8081 ) -> bool,
8082 >,
8083 pub UnitDef_getSelfDCountdown: ::std::option::Option<
8084 unsafe extern "C" fn(
8085 skirmishAIId: ::std::os::raw::c_int,
8086 unitDefId: ::std::os::raw::c_int,
8087 ) -> ::std::os::raw::c_int,
8088 >,
8089 pub UnitDef_isAbleToSubmerge: ::std::option::Option<
8090 unsafe extern "C" fn(
8091 skirmishAIId: ::std::os::raw::c_int,
8092 unitDefId: ::std::os::raw::c_int,
8093 ) -> bool,
8094 >,
8095 pub UnitDef_isAbleToFly: ::std::option::Option<
8096 unsafe extern "C" fn(
8097 skirmishAIId: ::std::os::raw::c_int,
8098 unitDefId: ::std::os::raw::c_int,
8099 ) -> bool,
8100 >,
8101 pub UnitDef_isAbleToMove: ::std::option::Option<
8102 unsafe extern "C" fn(
8103 skirmishAIId: ::std::os::raw::c_int,
8104 unitDefId: ::std::os::raw::c_int,
8105 ) -> bool,
8106 >,
8107 pub UnitDef_isAbleToHover: ::std::option::Option<
8108 unsafe extern "C" fn(
8109 skirmishAIId: ::std::os::raw::c_int,
8110 unitDefId: ::std::os::raw::c_int,
8111 ) -> bool,
8112 >,
8113 pub UnitDef_isFloater: ::std::option::Option<
8114 unsafe extern "C" fn(
8115 skirmishAIId: ::std::os::raw::c_int,
8116 unitDefId: ::std::os::raw::c_int,
8117 ) -> bool,
8118 >,
8119 pub UnitDef_isBuilder: ::std::option::Option<
8120 unsafe extern "C" fn(
8121 skirmishAIId: ::std::os::raw::c_int,
8122 unitDefId: ::std::os::raw::c_int,
8123 ) -> bool,
8124 >,
8125 pub UnitDef_isActivateWhenBuilt: ::std::option::Option<
8126 unsafe extern "C" fn(
8127 skirmishAIId: ::std::os::raw::c_int,
8128 unitDefId: ::std::os::raw::c_int,
8129 ) -> bool,
8130 >,
8131 pub UnitDef_isOnOffable: ::std::option::Option<
8132 unsafe extern "C" fn(
8133 skirmishAIId: ::std::os::raw::c_int,
8134 unitDefId: ::std::os::raw::c_int,
8135 ) -> bool,
8136 >,
8137 pub UnitDef_isFullHealthFactory: ::std::option::Option<
8138 unsafe extern "C" fn(
8139 skirmishAIId: ::std::os::raw::c_int,
8140 unitDefId: ::std::os::raw::c_int,
8141 ) -> bool,
8142 >,
8143 pub UnitDef_isFactoryHeadingTakeoff: ::std::option::Option<
8144 unsafe extern "C" fn(
8145 skirmishAIId: ::std::os::raw::c_int,
8146 unitDefId: ::std::os::raw::c_int,
8147 ) -> bool,
8148 >,
8149 pub UnitDef_isReclaimable: ::std::option::Option<
8150 unsafe extern "C" fn(
8151 skirmishAIId: ::std::os::raw::c_int,
8152 unitDefId: ::std::os::raw::c_int,
8153 ) -> bool,
8154 >,
8155 pub UnitDef_isCapturable: ::std::option::Option<
8156 unsafe extern "C" fn(
8157 skirmishAIId: ::std::os::raw::c_int,
8158 unitDefId: ::std::os::raw::c_int,
8159 ) -> bool,
8160 >,
8161 pub UnitDef_isAbleToRestore: ::std::option::Option<
8162 unsafe extern "C" fn(
8163 skirmishAIId: ::std::os::raw::c_int,
8164 unitDefId: ::std::os::raw::c_int,
8165 ) -> bool,
8166 >,
8167 pub UnitDef_isAbleToRepair: ::std::option::Option<
8168 unsafe extern "C" fn(
8169 skirmishAIId: ::std::os::raw::c_int,
8170 unitDefId: ::std::os::raw::c_int,
8171 ) -> bool,
8172 >,
8173 pub UnitDef_isAbleToSelfRepair: ::std::option::Option<
8174 unsafe extern "C" fn(
8175 skirmishAIId: ::std::os::raw::c_int,
8176 unitDefId: ::std::os::raw::c_int,
8177 ) -> bool,
8178 >,
8179 pub UnitDef_isAbleToReclaim: ::std::option::Option<
8180 unsafe extern "C" fn(
8181 skirmishAIId: ::std::os::raw::c_int,
8182 unitDefId: ::std::os::raw::c_int,
8183 ) -> bool,
8184 >,
8185 pub UnitDef_isAbleToAttack: ::std::option::Option<
8186 unsafe extern "C" fn(
8187 skirmishAIId: ::std::os::raw::c_int,
8188 unitDefId: ::std::os::raw::c_int,
8189 ) -> bool,
8190 >,
8191 pub UnitDef_isAbleToPatrol: ::std::option::Option<
8192 unsafe extern "C" fn(
8193 skirmishAIId: ::std::os::raw::c_int,
8194 unitDefId: ::std::os::raw::c_int,
8195 ) -> bool,
8196 >,
8197 pub UnitDef_isAbleToFight: ::std::option::Option<
8198 unsafe extern "C" fn(
8199 skirmishAIId: ::std::os::raw::c_int,
8200 unitDefId: ::std::os::raw::c_int,
8201 ) -> bool,
8202 >,
8203 pub UnitDef_isAbleToGuard: ::std::option::Option<
8204 unsafe extern "C" fn(
8205 skirmishAIId: ::std::os::raw::c_int,
8206 unitDefId: ::std::os::raw::c_int,
8207 ) -> bool,
8208 >,
8209 pub UnitDef_isAbleToAssist: ::std::option::Option<
8210 unsafe extern "C" fn(
8211 skirmishAIId: ::std::os::raw::c_int,
8212 unitDefId: ::std::os::raw::c_int,
8213 ) -> bool,
8214 >,
8215 pub UnitDef_isAssistable: ::std::option::Option<
8216 unsafe extern "C" fn(
8217 skirmishAIId: ::std::os::raw::c_int,
8218 unitDefId: ::std::os::raw::c_int,
8219 ) -> bool,
8220 >,
8221 pub UnitDef_isAbleToRepeat: ::std::option::Option<
8222 unsafe extern "C" fn(
8223 skirmishAIId: ::std::os::raw::c_int,
8224 unitDefId: ::std::os::raw::c_int,
8225 ) -> bool,
8226 >,
8227 pub UnitDef_isAbleToFireControl: ::std::option::Option<
8228 unsafe extern "C" fn(
8229 skirmishAIId: ::std::os::raw::c_int,
8230 unitDefId: ::std::os::raw::c_int,
8231 ) -> bool,
8232 >,
8233 pub UnitDef_getFireState: ::std::option::Option<
8234 unsafe extern "C" fn(
8235 skirmishAIId: ::std::os::raw::c_int,
8236 unitDefId: ::std::os::raw::c_int,
8237 ) -> ::std::os::raw::c_int,
8238 >,
8239 pub UnitDef_getMoveState: ::std::option::Option<
8240 unsafe extern "C" fn(
8241 skirmishAIId: ::std::os::raw::c_int,
8242 unitDefId: ::std::os::raw::c_int,
8243 ) -> ::std::os::raw::c_int,
8244 >,
8245 pub UnitDef_getWingDrag: ::std::option::Option<
8246 unsafe extern "C" fn(
8247 skirmishAIId: ::std::os::raw::c_int,
8248 unitDefId: ::std::os::raw::c_int,
8249 ) -> f32,
8250 >,
8251 pub UnitDef_getWingAngle: ::std::option::Option<
8252 unsafe extern "C" fn(
8253 skirmishAIId: ::std::os::raw::c_int,
8254 unitDefId: ::std::os::raw::c_int,
8255 ) -> f32,
8256 >,
8257 pub UnitDef_getFrontToSpeed: ::std::option::Option<
8258 unsafe extern "C" fn(
8259 skirmishAIId: ::std::os::raw::c_int,
8260 unitDefId: ::std::os::raw::c_int,
8261 ) -> f32,
8262 >,
8263 pub UnitDef_getSpeedToFront: ::std::option::Option<
8264 unsafe extern "C" fn(
8265 skirmishAIId: ::std::os::raw::c_int,
8266 unitDefId: ::std::os::raw::c_int,
8267 ) -> f32,
8268 >,
8269 pub UnitDef_getMyGravity: ::std::option::Option<
8270 unsafe extern "C" fn(
8271 skirmishAIId: ::std::os::raw::c_int,
8272 unitDefId: ::std::os::raw::c_int,
8273 ) -> f32,
8274 >,
8275 pub UnitDef_getMaxBank: ::std::option::Option<
8276 unsafe extern "C" fn(
8277 skirmishAIId: ::std::os::raw::c_int,
8278 unitDefId: ::std::os::raw::c_int,
8279 ) -> f32,
8280 >,
8281 pub UnitDef_getMaxPitch: ::std::option::Option<
8282 unsafe extern "C" fn(
8283 skirmishAIId: ::std::os::raw::c_int,
8284 unitDefId: ::std::os::raw::c_int,
8285 ) -> f32,
8286 >,
8287 pub UnitDef_getTurnRadius: ::std::option::Option<
8288 unsafe extern "C" fn(
8289 skirmishAIId: ::std::os::raw::c_int,
8290 unitDefId: ::std::os::raw::c_int,
8291 ) -> f32,
8292 >,
8293 pub UnitDef_getWantedHeight: ::std::option::Option<
8294 unsafe extern "C" fn(
8295 skirmishAIId: ::std::os::raw::c_int,
8296 unitDefId: ::std::os::raw::c_int,
8297 ) -> f32,
8298 >,
8299 pub UnitDef_getVerticalSpeed: ::std::option::Option<
8300 unsafe extern "C" fn(
8301 skirmishAIId: ::std::os::raw::c_int,
8302 unitDefId: ::std::os::raw::c_int,
8303 ) -> f32,
8304 >,
8305 pub UnitDef_isHoverAttack: ::std::option::Option<
8306 unsafe extern "C" fn(
8307 skirmishAIId: ::std::os::raw::c_int,
8308 unitDefId: ::std::os::raw::c_int,
8309 ) -> bool,
8310 >,
8311 pub UnitDef_isAirStrafe: ::std::option::Option<
8312 unsafe extern "C" fn(
8313 skirmishAIId: ::std::os::raw::c_int,
8314 unitDefId: ::std::os::raw::c_int,
8315 ) -> bool,
8316 >,
8317 #[doc = " @return < 0: it can land\n >= 0: how much the unit will move during hovering on the spot"]
8318 pub UnitDef_getDlHoverFactor: ::std::option::Option<
8319 unsafe extern "C" fn(
8320 skirmishAIId: ::std::os::raw::c_int,
8321 unitDefId: ::std::os::raw::c_int,
8322 ) -> f32,
8323 >,
8324 pub UnitDef_getMaxAcceleration: ::std::option::Option<
8325 unsafe extern "C" fn(
8326 skirmishAIId: ::std::os::raw::c_int,
8327 unitDefId: ::std::os::raw::c_int,
8328 ) -> f32,
8329 >,
8330 pub UnitDef_getMaxDeceleration: ::std::option::Option<
8331 unsafe extern "C" fn(
8332 skirmishAIId: ::std::os::raw::c_int,
8333 unitDefId: ::std::os::raw::c_int,
8334 ) -> f32,
8335 >,
8336 pub UnitDef_getMaxAileron: ::std::option::Option<
8337 unsafe extern "C" fn(
8338 skirmishAIId: ::std::os::raw::c_int,
8339 unitDefId: ::std::os::raw::c_int,
8340 ) -> f32,
8341 >,
8342 pub UnitDef_getMaxElevator: ::std::option::Option<
8343 unsafe extern "C" fn(
8344 skirmishAIId: ::std::os::raw::c_int,
8345 unitDefId: ::std::os::raw::c_int,
8346 ) -> f32,
8347 >,
8348 pub UnitDef_getMaxRudder: ::std::option::Option<
8349 unsafe extern "C" fn(
8350 skirmishAIId: ::std::os::raw::c_int,
8351 unitDefId: ::std::os::raw::c_int,
8352 ) -> f32,
8353 >,
8354 #[doc = " The yard map defines which parts of the square a unit occupies\n can still be walked on by other units.\n Example:\n In the BA Arm T2 K-Bot lab, htere is a line in hte middle where units\n walk, otherwise they would not be able ot exit the lab once they are\n built.\n @return 0 if invalid facing or the unit has no yard-map defined,\n the size of the yard-map otherwise: getXSize() * getXSize()"]
8355 pub UnitDef_getYardMap: ::std::option::Option<
8356 unsafe extern "C" fn(
8357 skirmishAIId: ::std::os::raw::c_int,
8358 unitDefId: ::std::os::raw::c_int,
8359 facing: ::std::os::raw::c_int,
8360 yardMap: *mut ::std::os::raw::c_short,
8361 yardMap_sizeMax: ::std::os::raw::c_int,
8362 ) -> ::std::os::raw::c_int,
8363 >,
8364 pub UnitDef_getXSize: ::std::option::Option<
8365 unsafe extern "C" fn(
8366 skirmishAIId: ::std::os::raw::c_int,
8367 unitDefId: ::std::os::raw::c_int,
8368 ) -> ::std::os::raw::c_int,
8369 >,
8370 pub UnitDef_getZSize: ::std::option::Option<
8371 unsafe extern "C" fn(
8372 skirmishAIId: ::std::os::raw::c_int,
8373 unitDefId: ::std::os::raw::c_int,
8374 ) -> ::std::os::raw::c_int,
8375 >,
8376 pub UnitDef_getLoadingRadius: ::std::option::Option<
8377 unsafe extern "C" fn(
8378 skirmishAIId: ::std::os::raw::c_int,
8379 unitDefId: ::std::os::raw::c_int,
8380 ) -> f32,
8381 >,
8382 pub UnitDef_getUnloadSpread: ::std::option::Option<
8383 unsafe extern "C" fn(
8384 skirmishAIId: ::std::os::raw::c_int,
8385 unitDefId: ::std::os::raw::c_int,
8386 ) -> f32,
8387 >,
8388 pub UnitDef_getTransportCapacity: ::std::option::Option<
8389 unsafe extern "C" fn(
8390 skirmishAIId: ::std::os::raw::c_int,
8391 unitDefId: ::std::os::raw::c_int,
8392 ) -> ::std::os::raw::c_int,
8393 >,
8394 pub UnitDef_getTransportSize: ::std::option::Option<
8395 unsafe extern "C" fn(
8396 skirmishAIId: ::std::os::raw::c_int,
8397 unitDefId: ::std::os::raw::c_int,
8398 ) -> ::std::os::raw::c_int,
8399 >,
8400 pub UnitDef_getMinTransportSize: ::std::option::Option<
8401 unsafe extern "C" fn(
8402 skirmishAIId: ::std::os::raw::c_int,
8403 unitDefId: ::std::os::raw::c_int,
8404 ) -> ::std::os::raw::c_int,
8405 >,
8406 pub UnitDef_isAirBase: ::std::option::Option<
8407 unsafe extern "C" fn(
8408 skirmishAIId: ::std::os::raw::c_int,
8409 unitDefId: ::std::os::raw::c_int,
8410 ) -> bool,
8411 >,
8412 pub UnitDef_isFirePlatform: ::std::option::Option<
8413 unsafe extern "C" fn(
8414 skirmishAIId: ::std::os::raw::c_int,
8415 unitDefId: ::std::os::raw::c_int,
8416 ) -> bool,
8417 >,
8418 pub UnitDef_getTransportMass: ::std::option::Option<
8419 unsafe extern "C" fn(
8420 skirmishAIId: ::std::os::raw::c_int,
8421 unitDefId: ::std::os::raw::c_int,
8422 ) -> f32,
8423 >,
8424 pub UnitDef_getMinTransportMass: ::std::option::Option<
8425 unsafe extern "C" fn(
8426 skirmishAIId: ::std::os::raw::c_int,
8427 unitDefId: ::std::os::raw::c_int,
8428 ) -> f32,
8429 >,
8430 pub UnitDef_isHoldSteady: ::std::option::Option<
8431 unsafe extern "C" fn(
8432 skirmishAIId: ::std::os::raw::c_int,
8433 unitDefId: ::std::os::raw::c_int,
8434 ) -> bool,
8435 >,
8436 pub UnitDef_isReleaseHeld: ::std::option::Option<
8437 unsafe extern "C" fn(
8438 skirmishAIId: ::std::os::raw::c_int,
8439 unitDefId: ::std::os::raw::c_int,
8440 ) -> bool,
8441 >,
8442 pub UnitDef_isNotTransportable: ::std::option::Option<
8443 unsafe extern "C" fn(
8444 skirmishAIId: ::std::os::raw::c_int,
8445 unitDefId: ::std::os::raw::c_int,
8446 ) -> bool,
8447 >,
8448 pub UnitDef_isTransportByEnemy: ::std::option::Option<
8449 unsafe extern "C" fn(
8450 skirmishAIId: ::std::os::raw::c_int,
8451 unitDefId: ::std::os::raw::c_int,
8452 ) -> bool,
8453 >,
8454 #[doc = " @return 0: land unload\n 1: fly-over drop\n 2: land flood"]
8455 pub UnitDef_getTransportUnloadMethod: ::std::option::Option<
8456 unsafe extern "C" fn(
8457 skirmishAIId: ::std::os::raw::c_int,
8458 unitDefId: ::std::os::raw::c_int,
8459 ) -> ::std::os::raw::c_int,
8460 >,
8461 #[doc = " Dictates fall speed of all transported units.\n This only makes sense for air transports,\n if they an drop units while in the air."]
8462 pub UnitDef_getFallSpeed: ::std::option::Option<
8463 unsafe extern "C" fn(
8464 skirmishAIId: ::std::os::raw::c_int,
8465 unitDefId: ::std::os::raw::c_int,
8466 ) -> f32,
8467 >,
8468 #[doc = " Sets the transported units FBI, overrides fallSpeed"]
8469 pub UnitDef_getUnitFallSpeed: ::std::option::Option<
8470 unsafe extern "C" fn(
8471 skirmishAIId: ::std::os::raw::c_int,
8472 unitDefId: ::std::os::raw::c_int,
8473 ) -> f32,
8474 >,
8475 #[doc = " If the unit can cloak"]
8476 pub UnitDef_isAbleToCloak: ::std::option::Option<
8477 unsafe extern "C" fn(
8478 skirmishAIId: ::std::os::raw::c_int,
8479 unitDefId: ::std::os::raw::c_int,
8480 ) -> bool,
8481 >,
8482 #[doc = " If the unit wants to start out cloaked"]
8483 pub UnitDef_isStartCloaked: ::std::option::Option<
8484 unsafe extern "C" fn(
8485 skirmishAIId: ::std::os::raw::c_int,
8486 unitDefId: ::std::os::raw::c_int,
8487 ) -> bool,
8488 >,
8489 #[doc = " Energy cost per second to stay cloaked when stationary"]
8490 pub UnitDef_getCloakCost: ::std::option::Option<
8491 unsafe extern "C" fn(
8492 skirmishAIId: ::std::os::raw::c_int,
8493 unitDefId: ::std::os::raw::c_int,
8494 ) -> f32,
8495 >,
8496 #[doc = " Energy cost per second to stay cloaked when moving"]
8497 pub UnitDef_getCloakCostMoving: ::std::option::Option<
8498 unsafe extern "C" fn(
8499 skirmishAIId: ::std::os::raw::c_int,
8500 unitDefId: ::std::os::raw::c_int,
8501 ) -> f32,
8502 >,
8503 #[doc = " If enemy unit comes within this range, decloaking is forced"]
8504 pub UnitDef_getDecloakDistance: ::std::option::Option<
8505 unsafe extern "C" fn(
8506 skirmishAIId: ::std::os::raw::c_int,
8507 unitDefId: ::std::os::raw::c_int,
8508 ) -> f32,
8509 >,
8510 #[doc = " Use a spherical, instead of a cylindrical test?"]
8511 pub UnitDef_isDecloakSpherical: ::std::option::Option<
8512 unsafe extern "C" fn(
8513 skirmishAIId: ::std::os::raw::c_int,
8514 unitDefId: ::std::os::raw::c_int,
8515 ) -> bool,
8516 >,
8517 #[doc = " Will the unit decloak upon firing?"]
8518 pub UnitDef_isDecloakOnFire: ::std::option::Option<
8519 unsafe extern "C" fn(
8520 skirmishAIId: ::std::os::raw::c_int,
8521 unitDefId: ::std::os::raw::c_int,
8522 ) -> bool,
8523 >,
8524 #[doc = " Will the unit self destruct if an enemy comes to close?"]
8525 pub UnitDef_isAbleToKamikaze: ::std::option::Option<
8526 unsafe extern "C" fn(
8527 skirmishAIId: ::std::os::raw::c_int,
8528 unitDefId: ::std::os::raw::c_int,
8529 ) -> bool,
8530 >,
8531 pub UnitDef_getKamikazeDist: ::std::option::Option<
8532 unsafe extern "C" fn(
8533 skirmishAIId: ::std::os::raw::c_int,
8534 unitDefId: ::std::os::raw::c_int,
8535 ) -> f32,
8536 >,
8537 pub UnitDef_isTargetingFacility: ::std::option::Option<
8538 unsafe extern "C" fn(
8539 skirmishAIId: ::std::os::raw::c_int,
8540 unitDefId: ::std::os::raw::c_int,
8541 ) -> bool,
8542 >,
8543 pub UnitDef_canManualFire: ::std::option::Option<
8544 unsafe extern "C" fn(
8545 skirmishAIId: ::std::os::raw::c_int,
8546 unitDefId: ::std::os::raw::c_int,
8547 ) -> bool,
8548 >,
8549 pub UnitDef_isNeedGeo: ::std::option::Option<
8550 unsafe extern "C" fn(
8551 skirmishAIId: ::std::os::raw::c_int,
8552 unitDefId: ::std::os::raw::c_int,
8553 ) -> bool,
8554 >,
8555 pub UnitDef_isFeature: ::std::option::Option<
8556 unsafe extern "C" fn(
8557 skirmishAIId: ::std::os::raw::c_int,
8558 unitDefId: ::std::os::raw::c_int,
8559 ) -> bool,
8560 >,
8561 pub UnitDef_isHideDamage: ::std::option::Option<
8562 unsafe extern "C" fn(
8563 skirmishAIId: ::std::os::raw::c_int,
8564 unitDefId: ::std::os::raw::c_int,
8565 ) -> bool,
8566 >,
8567 pub UnitDef_isShowPlayerName: ::std::option::Option<
8568 unsafe extern "C" fn(
8569 skirmishAIId: ::std::os::raw::c_int,
8570 unitDefId: ::std::os::raw::c_int,
8571 ) -> bool,
8572 >,
8573 pub UnitDef_isAbleToResurrect: ::std::option::Option<
8574 unsafe extern "C" fn(
8575 skirmishAIId: ::std::os::raw::c_int,
8576 unitDefId: ::std::os::raw::c_int,
8577 ) -> bool,
8578 >,
8579 pub UnitDef_isAbleToCapture: ::std::option::Option<
8580 unsafe extern "C" fn(
8581 skirmishAIId: ::std::os::raw::c_int,
8582 unitDefId: ::std::os::raw::c_int,
8583 ) -> bool,
8584 >,
8585 #[doc = " Indicates the trajectory types supported by this unit.\n\n @return 0: (default) = only low\n 1: only high\n 2: choose"]
8586 pub UnitDef_getHighTrajectoryType: ::std::option::Option<
8587 unsafe extern "C" fn(
8588 skirmishAIId: ::std::os::raw::c_int,
8589 unitDefId: ::std::os::raw::c_int,
8590 ) -> ::std::os::raw::c_int,
8591 >,
8592 #[doc = " Returns the bit field value denoting the categories this unit shall not\n chase.\n @see Game#getCategoryFlag\n @see Game#getCategoryName"]
8593 pub UnitDef_getNoChaseCategory: ::std::option::Option<
8594 unsafe extern "C" fn(
8595 skirmishAIId: ::std::os::raw::c_int,
8596 unitDefId: ::std::os::raw::c_int,
8597 ) -> ::std::os::raw::c_int,
8598 >,
8599 pub UnitDef_isAbleToDropFlare: ::std::option::Option<
8600 unsafe extern "C" fn(
8601 skirmishAIId: ::std::os::raw::c_int,
8602 unitDefId: ::std::os::raw::c_int,
8603 ) -> bool,
8604 >,
8605 pub UnitDef_getFlareReloadTime: ::std::option::Option<
8606 unsafe extern "C" fn(
8607 skirmishAIId: ::std::os::raw::c_int,
8608 unitDefId: ::std::os::raw::c_int,
8609 ) -> f32,
8610 >,
8611 pub UnitDef_getFlareEfficiency: ::std::option::Option<
8612 unsafe extern "C" fn(
8613 skirmishAIId: ::std::os::raw::c_int,
8614 unitDefId: ::std::os::raw::c_int,
8615 ) -> f32,
8616 >,
8617 pub UnitDef_getFlareDelay: ::std::option::Option<
8618 unsafe extern "C" fn(
8619 skirmishAIId: ::std::os::raw::c_int,
8620 unitDefId: ::std::os::raw::c_int,
8621 ) -> f32,
8622 >,
8623 pub UnitDef_getFlareDropVector: ::std::option::Option<
8624 unsafe extern "C" fn(
8625 skirmishAIId: ::std::os::raw::c_int,
8626 unitDefId: ::std::os::raw::c_int,
8627 return_posF3_out: *mut f32,
8628 ),
8629 >,
8630 pub UnitDef_getFlareTime: ::std::option::Option<
8631 unsafe extern "C" fn(
8632 skirmishAIId: ::std::os::raw::c_int,
8633 unitDefId: ::std::os::raw::c_int,
8634 ) -> ::std::os::raw::c_int,
8635 >,
8636 pub UnitDef_getFlareSalvoSize: ::std::option::Option<
8637 unsafe extern "C" fn(
8638 skirmishAIId: ::std::os::raw::c_int,
8639 unitDefId: ::std::os::raw::c_int,
8640 ) -> ::std::os::raw::c_int,
8641 >,
8642 pub UnitDef_getFlareSalvoDelay: ::std::option::Option<
8643 unsafe extern "C" fn(
8644 skirmishAIId: ::std::os::raw::c_int,
8645 unitDefId: ::std::os::raw::c_int,
8646 ) -> ::std::os::raw::c_int,
8647 >,
8648 #[doc = " Only matters for fighter aircraft"]
8649 pub UnitDef_isAbleToLoopbackAttack: ::std::option::Option<
8650 unsafe extern "C" fn(
8651 skirmishAIId: ::std::os::raw::c_int,
8652 unitDefId: ::std::os::raw::c_int,
8653 ) -> bool,
8654 >,
8655 #[doc = " Indicates whether the ground will be leveled/flattened out\n after this building has been built on it.\n Only matters for buildings."]
8656 pub UnitDef_isLevelGround: ::std::option::Option<
8657 unsafe extern "C" fn(
8658 skirmishAIId: ::std::os::raw::c_int,
8659 unitDefId: ::std::os::raw::c_int,
8660 ) -> bool,
8661 >,
8662 #[doc = " Number of units of this type allowed simultaneously in the game"]
8663 pub UnitDef_getMaxThisUnit: ::std::option::Option<
8664 unsafe extern "C" fn(
8665 skirmishAIId: ::std::os::raw::c_int,
8666 unitDefId: ::std::os::raw::c_int,
8667 ) -> ::std::os::raw::c_int,
8668 >,
8669 pub UnitDef_getDecoyDef: ::std::option::Option<
8670 unsafe extern "C" fn(
8671 skirmishAIId: ::std::os::raw::c_int,
8672 unitDefId: ::std::os::raw::c_int,
8673 ) -> ::std::os::raw::c_int,
8674 >,
8675 pub UnitDef_isDontLand: ::std::option::Option<
8676 unsafe extern "C" fn(
8677 skirmishAIId: ::std::os::raw::c_int,
8678 unitDefId: ::std::os::raw::c_int,
8679 ) -> bool,
8680 >,
8681 pub UnitDef_getShieldDef: ::std::option::Option<
8682 unsafe extern "C" fn(
8683 skirmishAIId: ::std::os::raw::c_int,
8684 unitDefId: ::std::os::raw::c_int,
8685 ) -> ::std::os::raw::c_int,
8686 >,
8687 pub UnitDef_getStockpileDef: ::std::option::Option<
8688 unsafe extern "C" fn(
8689 skirmishAIId: ::std::os::raw::c_int,
8690 unitDefId: ::std::os::raw::c_int,
8691 ) -> ::std::os::raw::c_int,
8692 >,
8693 pub UnitDef_getBuildOptions: ::std::option::Option<
8694 unsafe extern "C" fn(
8695 skirmishAIId: ::std::os::raw::c_int,
8696 unitDefId: ::std::os::raw::c_int,
8697 unitDefIds: *mut ::std::os::raw::c_int,
8698 unitDefIds_sizeMax: ::std::os::raw::c_int,
8699 ) -> ::std::os::raw::c_int,
8700 >,
8701 pub UnitDef_getCustomParams: ::std::option::Option<
8702 unsafe extern "C" fn(
8703 skirmishAIId: ::std::os::raw::c_int,
8704 unitDefId: ::std::os::raw::c_int,
8705 keys: *mut *const ::std::os::raw::c_char,
8706 values: *mut *const ::std::os::raw::c_char,
8707 ) -> ::std::os::raw::c_int,
8708 >,
8709 pub UnitDef_isMoveDataAvailable: ::std::option::Option<
8710 unsafe extern "C" fn(
8711 skirmishAIId: ::std::os::raw::c_int,
8712 unitDefId: ::std::os::raw::c_int,
8713 ) -> bool,
8714 >,
8715 pub UnitDef_MoveData_getXSize: ::std::option::Option<
8716 unsafe extern "C" fn(
8717 skirmishAIId: ::std::os::raw::c_int,
8718 unitDefId: ::std::os::raw::c_int,
8719 ) -> ::std::os::raw::c_int,
8720 >,
8721 pub UnitDef_MoveData_getZSize: ::std::option::Option<
8722 unsafe extern "C" fn(
8723 skirmishAIId: ::std::os::raw::c_int,
8724 unitDefId: ::std::os::raw::c_int,
8725 ) -> ::std::os::raw::c_int,
8726 >,
8727 pub UnitDef_MoveData_getDepth: ::std::option::Option<
8728 unsafe extern "C" fn(
8729 skirmishAIId: ::std::os::raw::c_int,
8730 unitDefId: ::std::os::raw::c_int,
8731 ) -> f32,
8732 >,
8733 pub UnitDef_MoveData_getMaxSlope: ::std::option::Option<
8734 unsafe extern "C" fn(
8735 skirmishAIId: ::std::os::raw::c_int,
8736 unitDefId: ::std::os::raw::c_int,
8737 ) -> f32,
8738 >,
8739 pub UnitDef_MoveData_getSlopeMod: ::std::option::Option<
8740 unsafe extern "C" fn(
8741 skirmishAIId: ::std::os::raw::c_int,
8742 unitDefId: ::std::os::raw::c_int,
8743 ) -> f32,
8744 >,
8745 pub UnitDef_MoveData_getDepthMod: ::std::option::Option<
8746 unsafe extern "C" fn(
8747 skirmishAIId: ::std::os::raw::c_int,
8748 unitDefId: ::std::os::raw::c_int,
8749 height: f32,
8750 ) -> f32,
8751 >,
8752 pub UnitDef_MoveData_getPathType: ::std::option::Option<
8753 unsafe extern "C" fn(
8754 skirmishAIId: ::std::os::raw::c_int,
8755 unitDefId: ::std::os::raw::c_int,
8756 ) -> ::std::os::raw::c_int,
8757 >,
8758 pub UnitDef_MoveData_getCrushStrength: ::std::option::Option<
8759 unsafe extern "C" fn(
8760 skirmishAIId: ::std::os::raw::c_int,
8761 unitDefId: ::std::os::raw::c_int,
8762 ) -> f32,
8763 >,
8764 #[doc = " enum SpeedModClass { Tank=0, KBot=1, Hover=2, Ship=3 };"]
8765 pub UnitDef_MoveData_getSpeedModClass: ::std::option::Option<
8766 unsafe extern "C" fn(
8767 skirmishAIId: ::std::os::raw::c_int,
8768 unitDefId: ::std::os::raw::c_int,
8769 ) -> ::std::os::raw::c_int,
8770 >,
8771 pub UnitDef_MoveData_getTerrainClass: ::std::option::Option<
8772 unsafe extern "C" fn(
8773 skirmishAIId: ::std::os::raw::c_int,
8774 unitDefId: ::std::os::raw::c_int,
8775 ) -> ::std::os::raw::c_int,
8776 >,
8777 pub UnitDef_MoveData_getFollowGround: ::std::option::Option<
8778 unsafe extern "C" fn(
8779 skirmishAIId: ::std::os::raw::c_int,
8780 unitDefId: ::std::os::raw::c_int,
8781 ) -> bool,
8782 >,
8783 pub UnitDef_MoveData_isSubMarine: ::std::option::Option<
8784 unsafe extern "C" fn(
8785 skirmishAIId: ::std::os::raw::c_int,
8786 unitDefId: ::std::os::raw::c_int,
8787 ) -> bool,
8788 >,
8789 pub UnitDef_MoveData_getName: ::std::option::Option<
8790 unsafe extern "C" fn(
8791 skirmishAIId: ::std::os::raw::c_int,
8792 unitDefId: ::std::os::raw::c_int,
8793 ) -> *const ::std::os::raw::c_char,
8794 >,
8795 pub UnitDef_getWeaponMounts: ::std::option::Option<
8796 unsafe extern "C" fn(
8797 skirmishAIId: ::std::os::raw::c_int,
8798 unitDefId: ::std::os::raw::c_int,
8799 ) -> ::std::os::raw::c_int,
8800 >,
8801 pub UnitDef_WeaponMount_getName: ::std::option::Option<
8802 unsafe extern "C" fn(
8803 skirmishAIId: ::std::os::raw::c_int,
8804 unitDefId: ::std::os::raw::c_int,
8805 weaponMountId: ::std::os::raw::c_int,
8806 ) -> *const ::std::os::raw::c_char,
8807 >,
8808 pub UnitDef_WeaponMount_getWeaponDef: ::std::option::Option<
8809 unsafe extern "C" fn(
8810 skirmishAIId: ::std::os::raw::c_int,
8811 unitDefId: ::std::os::raw::c_int,
8812 weaponMountId: ::std::os::raw::c_int,
8813 ) -> ::std::os::raw::c_int,
8814 >,
8815 pub UnitDef_WeaponMount_getSlavedTo: ::std::option::Option<
8816 unsafe extern "C" fn(
8817 skirmishAIId: ::std::os::raw::c_int,
8818 unitDefId: ::std::os::raw::c_int,
8819 weaponMountId: ::std::os::raw::c_int,
8820 ) -> ::std::os::raw::c_int,
8821 >,
8822 pub UnitDef_WeaponMount_getMainDir: ::std::option::Option<
8823 unsafe extern "C" fn(
8824 skirmishAIId: ::std::os::raw::c_int,
8825 unitDefId: ::std::os::raw::c_int,
8826 weaponMountId: ::std::os::raw::c_int,
8827 return_posF3_out: *mut f32,
8828 ),
8829 >,
8830 pub UnitDef_WeaponMount_getMaxAngleDif: ::std::option::Option<
8831 unsafe extern "C" fn(
8832 skirmishAIId: ::std::os::raw::c_int,
8833 unitDefId: ::std::os::raw::c_int,
8834 weaponMountId: ::std::os::raw::c_int,
8835 ) -> f32,
8836 >,
8837 #[doc = " Returns the bit field value denoting the categories this weapon should\n not target.\n @see Game#getCategoryFlag\n @see Game#getCategoryName"]
8838 pub UnitDef_WeaponMount_getBadTargetCategory: ::std::option::Option<
8839 unsafe extern "C" fn(
8840 skirmishAIId: ::std::os::raw::c_int,
8841 unitDefId: ::std::os::raw::c_int,
8842 weaponMountId: ::std::os::raw::c_int,
8843 ) -> ::std::os::raw::c_int,
8844 >,
8845 #[doc = " Returns the bit field value denoting the categories this weapon should\n target, excluding all others.\n @see Game#getCategoryFlag\n @see Game#getCategoryName"]
8846 pub UnitDef_WeaponMount_getOnlyTargetCategory: ::std::option::Option<
8847 unsafe extern "C" fn(
8848 skirmishAIId: ::std::os::raw::c_int,
8849 unitDefId: ::std::os::raw::c_int,
8850 weaponMountId: ::std::os::raw::c_int,
8851 ) -> ::std::os::raw::c_int,
8852 >,
8853 #[doc = " Returns the number of units a team can have, after which it can not build\n any more. It is possible that a team has more units then this value at\n some point in the game. This is possible for example with taking,\n reclaiming or capturing units.\n This value is usefull for controlling game performance, and will\n therefore often be set on games with old hardware to prevent lagging\n because of too many units."]
8854 pub Unit_getLimit: ::std::option::Option<
8855 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
8856 >,
8857 #[doc = " Returns the maximum total number of units that may exist at any one point\n in time induring the current game."]
8858 pub Unit_getMax: ::std::option::Option<
8859 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
8860 >,
8861 #[doc = " Returns all units that are not in this teams ally-team nor neutral\n and are in LOS.\n If cheats are enabled, this will return all enemies on the map."]
8862 pub getEnemyUnits: ::std::option::Option<
8863 unsafe extern "C" fn(
8864 skirmishAIId: ::std::os::raw::c_int,
8865 unitIds: *mut ::std::os::raw::c_int,
8866 unitIds_sizeMax: ::std::os::raw::c_int,
8867 ) -> ::std::os::raw::c_int,
8868 >,
8869 #[doc = " Returns all units that are not in this teams ally-team nor neutral\n and are in LOS plus they have to be located in the specified area\n of the map.\n If cheats are enabled, this will return all enemies\n in the specified area."]
8870 pub getEnemyUnitsIn: ::std::option::Option<
8871 unsafe extern "C" fn(
8872 skirmishAIId: ::std::os::raw::c_int,
8873 pos_posF3: *mut f32,
8874 radius: f32,
8875 spherical: bool,
8876 unitIds: *mut ::std::os::raw::c_int,
8877 unitIds_sizeMax: ::std::os::raw::c_int,
8878 ) -> ::std::os::raw::c_int,
8879 >,
8880 #[doc = " Returns all units that are not in this teams ally-team nor neutral\n and are in under sensor coverage (sight or radar).\n If cheats are enabled, this will return all enemies on the map."]
8881 pub getEnemyUnitsInRadarAndLos: ::std::option::Option<
8882 unsafe extern "C" fn(
8883 skirmishAIId: ::std::os::raw::c_int,
8884 unitIds: *mut ::std::os::raw::c_int,
8885 unitIds_sizeMax: ::std::os::raw::c_int,
8886 ) -> ::std::os::raw::c_int,
8887 >,
8888 #[doc = " Returns all units that are in this teams ally-team, including this teams\n units."]
8889 pub getFriendlyUnits: ::std::option::Option<
8890 unsafe extern "C" fn(
8891 skirmishAIId: ::std::os::raw::c_int,
8892 unitIds: *mut ::std::os::raw::c_int,
8893 unitIds_sizeMax: ::std::os::raw::c_int,
8894 ) -> ::std::os::raw::c_int,
8895 >,
8896 #[doc = " Returns all units that are in this teams ally-team, including this teams\n units plus they have to be located in the specified area of the map."]
8897 pub getFriendlyUnitsIn: ::std::option::Option<
8898 unsafe extern "C" fn(
8899 skirmishAIId: ::std::os::raw::c_int,
8900 pos_posF3: *mut f32,
8901 radius: f32,
8902 spherical: bool,
8903 unitIds: *mut ::std::os::raw::c_int,
8904 unitIds_sizeMax: ::std::os::raw::c_int,
8905 ) -> ::std::os::raw::c_int,
8906 >,
8907 #[doc = " Returns all units that are neutral and are in LOS."]
8908 pub getNeutralUnits: ::std::option::Option<
8909 unsafe extern "C" fn(
8910 skirmishAIId: ::std::os::raw::c_int,
8911 unitIds: *mut ::std::os::raw::c_int,
8912 unitIds_sizeMax: ::std::os::raw::c_int,
8913 ) -> ::std::os::raw::c_int,
8914 >,
8915 #[doc = " Returns all units that are neutral and are in LOS plus they have to be\n located in the specified area of the map."]
8916 pub getNeutralUnitsIn: ::std::option::Option<
8917 unsafe extern "C" fn(
8918 skirmishAIId: ::std::os::raw::c_int,
8919 pos_posF3: *mut f32,
8920 radius: f32,
8921 spherical: bool,
8922 unitIds: *mut ::std::os::raw::c_int,
8923 unitIds_sizeMax: ::std::os::raw::c_int,
8924 ) -> ::std::os::raw::c_int,
8925 >,
8926 #[doc = " Returns all units that are of the team controlled by this AI instance. This\n list can also be created dynamically by the AI, through updating a list on\n each unit-created and unit-destroyed event."]
8927 pub getTeamUnits: ::std::option::Option<
8928 unsafe extern "C" fn(
8929 skirmishAIId: ::std::os::raw::c_int,
8930 unitIds: *mut ::std::os::raw::c_int,
8931 unitIds_sizeMax: ::std::os::raw::c_int,
8932 ) -> ::std::os::raw::c_int,
8933 >,
8934 #[doc = " Returns all units that are currently selected\n (usually only contains units if a human player\n is controlling this team as well)."]
8935 pub getSelectedUnits: ::std::option::Option<
8936 unsafe extern "C" fn(
8937 skirmishAIId: ::std::os::raw::c_int,
8938 unitIds: *mut ::std::os::raw::c_int,
8939 unitIds_sizeMax: ::std::os::raw::c_int,
8940 ) -> ::std::os::raw::c_int,
8941 >,
8942 #[doc = " Returns the unit's unitdef struct from which you can read all\n the statistics of the unit, do NOT try to change any values in it."]
8943 pub Unit_getDef: ::std::option::Option<
8944 unsafe extern "C" fn(
8945 skirmishAIId: ::std::os::raw::c_int,
8946 unitId: ::std::os::raw::c_int,
8947 ) -> ::std::os::raw::c_int,
8948 >,
8949 #[doc = " @return float value of parameter if it's set, defaultValue otherwise."]
8950 pub Unit_getRulesParamFloat: ::std::option::Option<
8951 unsafe extern "C" fn(
8952 skirmishAIId: ::std::os::raw::c_int,
8953 unitId: ::std::os::raw::c_int,
8954 unitRulesParamName: *const ::std::os::raw::c_char,
8955 defaultValue: f32,
8956 ) -> f32,
8957 >,
8958 #[doc = " @return string value of parameter if it's set, defaultValue otherwise."]
8959 pub Unit_getRulesParamString: ::std::option::Option<
8960 unsafe extern "C" fn(
8961 skirmishAIId: ::std::os::raw::c_int,
8962 unitId: ::std::os::raw::c_int,
8963 unitRulesParamName: *const ::std::os::raw::c_char,
8964 defaultValue: *const ::std::os::raw::c_char,
8965 ) -> *const ::std::os::raw::c_char,
8966 >,
8967 pub Unit_getTeam: ::std::option::Option<
8968 unsafe extern "C" fn(
8969 skirmishAIId: ::std::os::raw::c_int,
8970 unitId: ::std::os::raw::c_int,
8971 ) -> ::std::os::raw::c_int,
8972 >,
8973 pub Unit_getAllyTeam: ::std::option::Option<
8974 unsafe extern "C" fn(
8975 skirmishAIId: ::std::os::raw::c_int,
8976 unitId: ::std::os::raw::c_int,
8977 ) -> ::std::os::raw::c_int,
8978 >,
8979 pub Unit_getStockpile: ::std::option::Option<
8980 unsafe extern "C" fn(
8981 skirmishAIId: ::std::os::raw::c_int,
8982 unitId: ::std::os::raw::c_int,
8983 ) -> ::std::os::raw::c_int,
8984 >,
8985 pub Unit_getStockpileQueued: ::std::option::Option<
8986 unsafe extern "C" fn(
8987 skirmishAIId: ::std::os::raw::c_int,
8988 unitId: ::std::os::raw::c_int,
8989 ) -> ::std::os::raw::c_int,
8990 >,
8991 #[doc = " The unit's max speed"]
8992 pub Unit_getMaxSpeed: ::std::option::Option<
8993 unsafe extern "C" fn(
8994 skirmishAIId: ::std::os::raw::c_int,
8995 unitId: ::std::os::raw::c_int,
8996 ) -> f32,
8997 >,
8998 #[doc = " The furthest any weapon of the unit can fire"]
8999 pub Unit_getMaxRange: ::std::option::Option<
9000 unsafe extern "C" fn(
9001 skirmishAIId: ::std::os::raw::c_int,
9002 unitId: ::std::os::raw::c_int,
9003 ) -> f32,
9004 >,
9005 #[doc = " The unit's max health"]
9006 pub Unit_getMaxHealth: ::std::option::Option<
9007 unsafe extern "C" fn(
9008 skirmishAIId: ::std::os::raw::c_int,
9009 unitId: ::std::os::raw::c_int,
9010 ) -> f32,
9011 >,
9012 #[doc = " How experienced the unit is (0.0f - 1.0f)"]
9013 pub Unit_getExperience: ::std::option::Option<
9014 unsafe extern "C" fn(
9015 skirmishAIId: ::std::os::raw::c_int,
9016 unitId: ::std::os::raw::c_int,
9017 ) -> f32,
9018 >,
9019 #[doc = " Returns the group a unit belongs to, -1 if none"]
9020 pub Unit_getGroup: ::std::option::Option<
9021 unsafe extern "C" fn(
9022 skirmishAIId: ::std::os::raw::c_int,
9023 unitId: ::std::os::raw::c_int,
9024 ) -> ::std::os::raw::c_int,
9025 >,
9026 pub Unit_getCurrentCommands: ::std::option::Option<
9027 unsafe extern "C" fn(
9028 skirmishAIId: ::std::os::raw::c_int,
9029 unitId: ::std::os::raw::c_int,
9030 ) -> ::std::os::raw::c_int,
9031 >,
9032 #[doc = " For the type of the command queue, see CCommandQueue::CommandQueueType\n in Sim/Unit/CommandAI/CommandQueue.h"]
9033 pub Unit_CurrentCommand_getType: ::std::option::Option<
9034 unsafe extern "C" fn(
9035 skirmishAIId: ::std::os::raw::c_int,
9036 unitId: ::std::os::raw::c_int,
9037 ) -> ::std::os::raw::c_int,
9038 >,
9039 #[doc = " For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h\n (custom codes can also be used)"]
9040 pub Unit_CurrentCommand_getId: ::std::option::Option<
9041 unsafe extern "C" fn(
9042 skirmishAIId: ::std::os::raw::c_int,
9043 unitId: ::std::os::raw::c_int,
9044 commandId: ::std::os::raw::c_int,
9045 ) -> ::std::os::raw::c_int,
9046 >,
9047 pub Unit_CurrentCommand_getOptions: ::std::option::Option<
9048 unsafe extern "C" fn(
9049 skirmishAIId: ::std::os::raw::c_int,
9050 unitId: ::std::os::raw::c_int,
9051 commandId: ::std::os::raw::c_int,
9052 ) -> ::std::os::raw::c_short,
9053 >,
9054 pub Unit_CurrentCommand_getTag: ::std::option::Option<
9055 unsafe extern "C" fn(
9056 skirmishAIId: ::std::os::raw::c_int,
9057 unitId: ::std::os::raw::c_int,
9058 commandId: ::std::os::raw::c_int,
9059 ) -> ::std::os::raw::c_int,
9060 >,
9061 pub Unit_CurrentCommand_getTimeOut: ::std::option::Option<
9062 unsafe extern "C" fn(
9063 skirmishAIId: ::std::os::raw::c_int,
9064 unitId: ::std::os::raw::c_int,
9065 commandId: ::std::os::raw::c_int,
9066 ) -> ::std::os::raw::c_int,
9067 >,
9068 pub Unit_CurrentCommand_getParams: ::std::option::Option<
9069 unsafe extern "C" fn(
9070 skirmishAIId: ::std::os::raw::c_int,
9071 unitId: ::std::os::raw::c_int,
9072 commandId: ::std::os::raw::c_int,
9073 params: *mut f32,
9074 params_sizeMax: ::std::os::raw::c_int,
9075 ) -> ::std::os::raw::c_int,
9076 >,
9077 #[doc = " The commands that this unit can understand, other commands will be ignored"]
9078 pub Unit_getSupportedCommands: ::std::option::Option<
9079 unsafe extern "C" fn(
9080 skirmishAIId: ::std::os::raw::c_int,
9081 unitId: ::std::os::raw::c_int,
9082 ) -> ::std::os::raw::c_int,
9083 >,
9084 #[doc = " For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h\n (custom codes can also be used)"]
9085 pub Unit_SupportedCommand_getId: ::std::option::Option<
9086 unsafe extern "C" fn(
9087 skirmishAIId: ::std::os::raw::c_int,
9088 unitId: ::std::os::raw::c_int,
9089 supportedCommandId: ::std::os::raw::c_int,
9090 ) -> ::std::os::raw::c_int,
9091 >,
9092 pub Unit_SupportedCommand_getName: ::std::option::Option<
9093 unsafe extern "C" fn(
9094 skirmishAIId: ::std::os::raw::c_int,
9095 unitId: ::std::os::raw::c_int,
9096 supportedCommandId: ::std::os::raw::c_int,
9097 ) -> *const ::std::os::raw::c_char,
9098 >,
9099 pub Unit_SupportedCommand_getToolTip: ::std::option::Option<
9100 unsafe extern "C" fn(
9101 skirmishAIId: ::std::os::raw::c_int,
9102 unitId: ::std::os::raw::c_int,
9103 supportedCommandId: ::std::os::raw::c_int,
9104 ) -> *const ::std::os::raw::c_char,
9105 >,
9106 pub Unit_SupportedCommand_isShowUnique: ::std::option::Option<
9107 unsafe extern "C" fn(
9108 skirmishAIId: ::std::os::raw::c_int,
9109 unitId: ::std::os::raw::c_int,
9110 supportedCommandId: ::std::os::raw::c_int,
9111 ) -> bool,
9112 >,
9113 pub Unit_SupportedCommand_isDisabled: ::std::option::Option<
9114 unsafe extern "C" fn(
9115 skirmishAIId: ::std::os::raw::c_int,
9116 unitId: ::std::os::raw::c_int,
9117 supportedCommandId: ::std::os::raw::c_int,
9118 ) -> bool,
9119 >,
9120 pub Unit_SupportedCommand_getParams: ::std::option::Option<
9121 unsafe extern "C" fn(
9122 skirmishAIId: ::std::os::raw::c_int,
9123 unitId: ::std::os::raw::c_int,
9124 supportedCommandId: ::std::os::raw::c_int,
9125 params: *mut *const ::std::os::raw::c_char,
9126 params_sizeMax: ::std::os::raw::c_int,
9127 ) -> ::std::os::raw::c_int,
9128 >,
9129 #[doc = " The unit's current health"]
9130 pub Unit_getHealth: ::std::option::Option<
9131 unsafe extern "C" fn(
9132 skirmishAIId: ::std::os::raw::c_int,
9133 unitId: ::std::os::raw::c_int,
9134 ) -> f32,
9135 >,
9136 pub Unit_getParalyzeDamage: ::std::option::Option<
9137 unsafe extern "C" fn(
9138 skirmishAIId: ::std::os::raw::c_int,
9139 unitId: ::std::os::raw::c_int,
9140 ) -> f32,
9141 >,
9142 pub Unit_getCaptureProgress: ::std::option::Option<
9143 unsafe extern "C" fn(
9144 skirmishAIId: ::std::os::raw::c_int,
9145 unitId: ::std::os::raw::c_int,
9146 ) -> f32,
9147 >,
9148 pub Unit_getBuildProgress: ::std::option::Option<
9149 unsafe extern "C" fn(
9150 skirmishAIId: ::std::os::raw::c_int,
9151 unitId: ::std::os::raw::c_int,
9152 ) -> f32,
9153 >,
9154 pub Unit_getSpeed: ::std::option::Option<
9155 unsafe extern "C" fn(
9156 skirmishAIId: ::std::os::raw::c_int,
9157 unitId: ::std::os::raw::c_int,
9158 ) -> f32,
9159 >,
9160 #[doc = " Indicate the relative power of the unit,\n used for experience calulations etc.\n This is sort of the measure of the units overall power."]
9161 pub Unit_getPower: ::std::option::Option<
9162 unsafe extern "C" fn(
9163 skirmishAIId: ::std::os::raw::c_int,
9164 unitId: ::std::os::raw::c_int,
9165 ) -> f32,
9166 >,
9167 pub Unit_getResourceUse: ::std::option::Option<
9168 unsafe extern "C" fn(
9169 skirmishAIId: ::std::os::raw::c_int,
9170 unitId: ::std::os::raw::c_int,
9171 resourceId: ::std::os::raw::c_int,
9172 ) -> f32,
9173 >,
9174 pub Unit_getResourceMake: ::std::option::Option<
9175 unsafe extern "C" fn(
9176 skirmishAIId: ::std::os::raw::c_int,
9177 unitId: ::std::os::raw::c_int,
9178 resourceId: ::std::os::raw::c_int,
9179 ) -> f32,
9180 >,
9181 pub Unit_getPos: ::std::option::Option<
9182 unsafe extern "C" fn(
9183 skirmishAIId: ::std::os::raw::c_int,
9184 unitId: ::std::os::raw::c_int,
9185 return_posF3_out: *mut f32,
9186 ),
9187 >,
9188 pub Unit_getVel: ::std::option::Option<
9189 unsafe extern "C" fn(
9190 skirmishAIId: ::std::os::raw::c_int,
9191 unitId: ::std::os::raw::c_int,
9192 return_posF3_out: *mut f32,
9193 ),
9194 >,
9195 pub Unit_isActivated: ::std::option::Option<
9196 unsafe extern "C" fn(
9197 skirmishAIId: ::std::os::raw::c_int,
9198 unitId: ::std::os::raw::c_int,
9199 ) -> bool,
9200 >,
9201 #[doc = " Returns true if the unit is currently being built"]
9202 pub Unit_isBeingBuilt: ::std::option::Option<
9203 unsafe extern "C" fn(
9204 skirmishAIId: ::std::os::raw::c_int,
9205 unitId: ::std::os::raw::c_int,
9206 ) -> bool,
9207 >,
9208 pub Unit_isCloaked: ::std::option::Option<
9209 unsafe extern "C" fn(
9210 skirmishAIId: ::std::os::raw::c_int,
9211 unitId: ::std::os::raw::c_int,
9212 ) -> bool,
9213 >,
9214 pub Unit_isParalyzed: ::std::option::Option<
9215 unsafe extern "C" fn(
9216 skirmishAIId: ::std::os::raw::c_int,
9217 unitId: ::std::os::raw::c_int,
9218 ) -> bool,
9219 >,
9220 pub Unit_isNeutral: ::std::option::Option<
9221 unsafe extern "C" fn(
9222 skirmishAIId: ::std::os::raw::c_int,
9223 unitId: ::std::os::raw::c_int,
9224 ) -> bool,
9225 >,
9226 #[doc = " Returns the unit's build facing (0-3)"]
9227 pub Unit_getBuildingFacing: ::std::option::Option<
9228 unsafe extern "C" fn(
9229 skirmishAIId: ::std::os::raw::c_int,
9230 unitId: ::std::os::raw::c_int,
9231 ) -> ::std::os::raw::c_int,
9232 >,
9233 #[doc = " Number of the last frame this unit received an order from a player."]
9234 pub Unit_getLastUserOrderFrame: ::std::option::Option<
9235 unsafe extern "C" fn(
9236 skirmishAIId: ::std::os::raw::c_int,
9237 unitId: ::std::os::raw::c_int,
9238 ) -> ::std::os::raw::c_int,
9239 >,
9240 pub Unit_getWeapons: ::std::option::Option<
9241 unsafe extern "C" fn(
9242 skirmishAIId: ::std::os::raw::c_int,
9243 unitId: ::std::os::raw::c_int,
9244 ) -> ::std::os::raw::c_int,
9245 >,
9246 pub Unit_getWeapon: ::std::option::Option<
9247 unsafe extern "C" fn(
9248 skirmishAIId: ::std::os::raw::c_int,
9249 unitId: ::std::os::raw::c_int,
9250 weaponMountId: ::std::os::raw::c_int,
9251 ) -> ::std::os::raw::c_int,
9252 >,
9253 pub Team_hasAIController: ::std::option::Option<
9254 unsafe extern "C" fn(
9255 skirmishAIId: ::std::os::raw::c_int,
9256 teamId: ::std::os::raw::c_int,
9257 ) -> bool,
9258 >,
9259 pub getEnemyTeams: ::std::option::Option<
9260 unsafe extern "C" fn(
9261 skirmishAIId: ::std::os::raw::c_int,
9262 teamIds: *mut ::std::os::raw::c_int,
9263 teamIds_sizeMax: ::std::os::raw::c_int,
9264 ) -> ::std::os::raw::c_int,
9265 >,
9266 pub getAlliedTeams: ::std::option::Option<
9267 unsafe extern "C" fn(
9268 skirmishAIId: ::std::os::raw::c_int,
9269 teamIds: *mut ::std::os::raw::c_int,
9270 teamIds_sizeMax: ::std::os::raw::c_int,
9271 ) -> ::std::os::raw::c_int,
9272 >,
9273 #[doc = " @return float value of parameter if it's set, defaultValue otherwise."]
9274 pub Team_getRulesParamFloat: ::std::option::Option<
9275 unsafe extern "C" fn(
9276 skirmishAIId: ::std::os::raw::c_int,
9277 teamId: ::std::os::raw::c_int,
9278 teamRulesParamName: *const ::std::os::raw::c_char,
9279 defaultValue: f32,
9280 ) -> f32,
9281 >,
9282 #[doc = " @return string value of parameter if it's set, defaultValue otherwise."]
9283 pub Team_getRulesParamString: ::std::option::Option<
9284 unsafe extern "C" fn(
9285 skirmishAIId: ::std::os::raw::c_int,
9286 teamId: ::std::os::raw::c_int,
9287 teamRulesParamName: *const ::std::os::raw::c_char,
9288 defaultValue: *const ::std::os::raw::c_char,
9289 ) -> *const ::std::os::raw::c_char,
9290 >,
9291 pub getGroups: ::std::option::Option<
9292 unsafe extern "C" fn(
9293 skirmishAIId: ::std::os::raw::c_int,
9294 groupIds: *mut ::std::os::raw::c_int,
9295 groupIds_sizeMax: ::std::os::raw::c_int,
9296 ) -> ::std::os::raw::c_int,
9297 >,
9298 pub Group_getSupportedCommands: ::std::option::Option<
9299 unsafe extern "C" fn(
9300 skirmishAIId: ::std::os::raw::c_int,
9301 groupId: ::std::os::raw::c_int,
9302 ) -> ::std::os::raw::c_int,
9303 >,
9304 #[doc = " For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h\n (custom codes can also be used)"]
9305 pub Group_SupportedCommand_getId: ::std::option::Option<
9306 unsafe extern "C" fn(
9307 skirmishAIId: ::std::os::raw::c_int,
9308 groupId: ::std::os::raw::c_int,
9309 supportedCommandId: ::std::os::raw::c_int,
9310 ) -> ::std::os::raw::c_int,
9311 >,
9312 pub Group_SupportedCommand_getName: ::std::option::Option<
9313 unsafe extern "C" fn(
9314 skirmishAIId: ::std::os::raw::c_int,
9315 groupId: ::std::os::raw::c_int,
9316 supportedCommandId: ::std::os::raw::c_int,
9317 ) -> *const ::std::os::raw::c_char,
9318 >,
9319 pub Group_SupportedCommand_getToolTip: ::std::option::Option<
9320 unsafe extern "C" fn(
9321 skirmishAIId: ::std::os::raw::c_int,
9322 groupId: ::std::os::raw::c_int,
9323 supportedCommandId: ::std::os::raw::c_int,
9324 ) -> *const ::std::os::raw::c_char,
9325 >,
9326 pub Group_SupportedCommand_isShowUnique: ::std::option::Option<
9327 unsafe extern "C" fn(
9328 skirmishAIId: ::std::os::raw::c_int,
9329 groupId: ::std::os::raw::c_int,
9330 supportedCommandId: ::std::os::raw::c_int,
9331 ) -> bool,
9332 >,
9333 pub Group_SupportedCommand_isDisabled: ::std::option::Option<
9334 unsafe extern "C" fn(
9335 skirmishAIId: ::std::os::raw::c_int,
9336 groupId: ::std::os::raw::c_int,
9337 supportedCommandId: ::std::os::raw::c_int,
9338 ) -> bool,
9339 >,
9340 pub Group_SupportedCommand_getParams: ::std::option::Option<
9341 unsafe extern "C" fn(
9342 skirmishAIId: ::std::os::raw::c_int,
9343 groupId: ::std::os::raw::c_int,
9344 supportedCommandId: ::std::os::raw::c_int,
9345 params: *mut *const ::std::os::raw::c_char,
9346 params_sizeMax: ::std::os::raw::c_int,
9347 ) -> ::std::os::raw::c_int,
9348 >,
9349 #[doc = " For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h\n (custom codes can also be used)"]
9350 pub Group_OrderPreview_getId: ::std::option::Option<
9351 unsafe extern "C" fn(
9352 skirmishAIId: ::std::os::raw::c_int,
9353 groupId: ::std::os::raw::c_int,
9354 ) -> ::std::os::raw::c_int,
9355 >,
9356 pub Group_OrderPreview_getOptions: ::std::option::Option<
9357 unsafe extern "C" fn(
9358 skirmishAIId: ::std::os::raw::c_int,
9359 groupId: ::std::os::raw::c_int,
9360 ) -> ::std::os::raw::c_short,
9361 >,
9362 pub Group_OrderPreview_getTag: ::std::option::Option<
9363 unsafe extern "C" fn(
9364 skirmishAIId: ::std::os::raw::c_int,
9365 groupId: ::std::os::raw::c_int,
9366 ) -> ::std::os::raw::c_int,
9367 >,
9368 pub Group_OrderPreview_getTimeOut: ::std::option::Option<
9369 unsafe extern "C" fn(
9370 skirmishAIId: ::std::os::raw::c_int,
9371 groupId: ::std::os::raw::c_int,
9372 ) -> ::std::os::raw::c_int,
9373 >,
9374 pub Group_OrderPreview_getParams: ::std::option::Option<
9375 unsafe extern "C" fn(
9376 skirmishAIId: ::std::os::raw::c_int,
9377 groupId: ::std::os::raw::c_int,
9378 params: *mut f32,
9379 params_sizeMax: ::std::os::raw::c_int,
9380 ) -> ::std::os::raw::c_int,
9381 >,
9382 pub Group_isSelected: ::std::option::Option<
9383 unsafe extern "C" fn(
9384 skirmishAIId: ::std::os::raw::c_int,
9385 groupId: ::std::os::raw::c_int,
9386 ) -> bool,
9387 >,
9388 #[doc = " Returns the mod archive file name.\n CAUTION:\n Never use this as reference in eg. cache- or config-file names,\n as one and the same mod can be packaged in different ways.\n Use the human name instead.\n @see getHumanName()\n @deprecated"]
9389 pub Mod_getFileName: ::std::option::Option<
9390 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
9391 >,
9392 #[doc = " Returns the archive hash of the mod.\n Use this for reference to the mod, eg. in a cache-file, wherever human\n readability does not matter.\n This value will never be the same for two mods not having equal content.\n Tip: convert to 64 Hex chars for use in file names.\n @see getHumanName()"]
9393 pub Mod_getHash: ::std::option::Option<
9394 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9395 >,
9396 #[doc = " Returns the human readable name of the mod, which includes the version.\n Use this for reference to the mod (including version), eg. in cache- or\n config-file names which are mod related, and wherever humans may come\n in contact with the reference.\n Be aware though, that this may contain special characters and spaces,\n and may not be used as a file name without checks and replaces.\n Alternatively, you may use the short name only, or the short name plus\n version. You should generally never use the file name.\n Tip: replace every char matching [^0-9a-zA-Z_-.] with '_'\n @see getHash()\n @see getShortName()\n @see getFileName()\n @see getVersion()"]
9397 pub Mod_getHumanName: ::std::option::Option<
9398 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
9399 >,
9400 #[doc = " Returns the short name of the mod, which does not include the version.\n Use this for reference to the mod in general, eg. as version independent\n reference.\n Be aware though, that this still contain special characters and spaces,\n and may not be used as a file name without checks and replaces.\n Tip: replace every char matching [^0-9a-zA-Z_-.] with '_'\n @see getVersion()\n @see getHumanName()"]
9401 pub Mod_getShortName: ::std::option::Option<
9402 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
9403 >,
9404 pub Mod_getVersion: ::std::option::Option<
9405 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
9406 >,
9407 pub Mod_getMutator: ::std::option::Option<
9408 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
9409 >,
9410 pub Mod_getDescription: ::std::option::Option<
9411 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
9412 >,
9413 #[doc = " Should constructions without builders decay?"]
9414 pub Mod_getConstructionDecay:
9415 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
9416 #[doc = " How long until they start decaying?"]
9417 pub Mod_getConstructionDecayTime: ::std::option::Option<
9418 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9419 >,
9420 #[doc = " How fast do they decay?"]
9421 pub Mod_getConstructionDecaySpeed:
9422 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9423 #[doc = " 0 = 1 reclaimer per feature max, otherwise unlimited"]
9424 pub Mod_getMultiReclaim: ::std::option::Option<
9425 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9426 >,
9427 #[doc = " 0 = gradual reclaim, 1 = all reclaimed at end, otherwise reclaim in reclaimMethod chunks"]
9428 pub Mod_getReclaimMethod: ::std::option::Option<
9429 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9430 >,
9431 #[doc = " 0 = Revert to wireframe, gradual reclaim, 1 = Subtract HP, give full metal at end, default 1"]
9432 pub Mod_getReclaimUnitMethod: ::std::option::Option<
9433 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9434 >,
9435 #[doc = " How much energy should reclaiming a unit cost, default 0.0"]
9436 pub Mod_getReclaimUnitEnergyCostFactor:
9437 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9438 #[doc = " How much metal should reclaim return, default 1.0"]
9439 pub Mod_getReclaimUnitEfficiency:
9440 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9441 #[doc = " How much should energy should reclaiming a feature cost, default 0.0"]
9442 pub Mod_getReclaimFeatureEnergyCostFactor:
9443 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9444 #[doc = " Allow reclaiming enemies? default true"]
9445 pub Mod_getReclaimAllowEnemies:
9446 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
9447 #[doc = " Allow reclaiming allies? default true"]
9448 pub Mod_getReclaimAllowAllies:
9449 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
9450 #[doc = " How much should energy should repair cost, default 0.0"]
9451 pub Mod_getRepairEnergyCostFactor:
9452 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9453 #[doc = " How much should energy should resurrect cost, default 0.5"]
9454 pub Mod_getResurrectEnergyCostFactor:
9455 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9456 #[doc = " How much should energy should capture cost, default 0.0"]
9457 pub Mod_getCaptureEnergyCostFactor:
9458 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9459 #[doc = " 0 = all ground units cannot be transported,\n 1 = all ground units can be transported\n (mass and size restrictions still apply).\n Defaults to 1."]
9460 pub Mod_getTransportGround: ::std::option::Option<
9461 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9462 >,
9463 #[doc = " 0 = all hover units cannot be transported,\n 1 = all hover units can be transported\n (mass and size restrictions still apply).\n Defaults to 0."]
9464 pub Mod_getTransportHover: ::std::option::Option<
9465 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9466 >,
9467 #[doc = " 0 = all naval units cannot be transported,\n 1 = all naval units can be transported\n (mass and size restrictions still apply).\n Defaults to 0."]
9468 pub Mod_getTransportShip: ::std::option::Option<
9469 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9470 >,
9471 #[doc = " 0 = all air units cannot be transported,\n 1 = all air units can be transported\n (mass and size restrictions still apply).\n Defaults to 0."]
9472 pub Mod_getTransportAir: ::std::option::Option<
9473 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9474 >,
9475 #[doc = " 1 = units fire at enemies running Killed() script, 0 = units ignore such enemies"]
9476 pub Mod_getFireAtKilled: ::std::option::Option<
9477 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9478 >,
9479 #[doc = " 1 = units fire at crashing aircrafts, 0 = units ignore crashing aircrafts"]
9480 pub Mod_getFireAtCrashing: ::std::option::Option<
9481 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9482 >,
9483 #[doc = " 0=no flanking bonus; 1=global coords, mobile; 2=unit coords, mobile; 3=unit coords, locked"]
9484 pub Mod_getFlankingBonusModeDefault: ::std::option::Option<
9485 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9486 >,
9487 #[doc = " miplevel for los"]
9488 pub Mod_getLosMipLevel: ::std::option::Option<
9489 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9490 >,
9491 #[doc = " miplevel to use for airlos"]
9492 pub Mod_getAirMipLevel: ::std::option::Option<
9493 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9494 >,
9495 #[doc = " miplevel for radar"]
9496 pub Mod_getRadarMipLevel: ::std::option::Option<
9497 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9498 >,
9499 #[doc = " when underwater, units are not in LOS unless also in sonar"]
9500 pub Mod_getRequireSonarUnderWater:
9501 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
9502 pub Map_getChecksum: ::std::option::Option<
9503 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9504 >,
9505 pub Map_getStartPos: ::std::option::Option<
9506 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int, return_posF3_out: *mut f32),
9507 >,
9508 pub Map_getMousePos: ::std::option::Option<
9509 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int, return_posF3_out: *mut f32),
9510 >,
9511 pub Map_isPosInCamera: ::std::option::Option<
9512 unsafe extern "C" fn(
9513 skirmishAIId: ::std::os::raw::c_int,
9514 pos_posF3: *mut f32,
9515 radius: f32,
9516 ) -> bool,
9517 >,
9518 #[doc = " Returns the maps center heightmap width.\n @see getHeightMap()"]
9519 pub Map_getWidth: ::std::option::Option<
9520 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9521 >,
9522 #[doc = " Returns the maps center heightmap height.\n @see getHeightMap()"]
9523 pub Map_getHeight: ::std::option::Option<
9524 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9525 >,
9526 #[doc = " Returns the height for the center of the squares.\n This differs slightly from the drawn map, since\n that one uses the height at the corners.\n Note that the actual map is 8 times larger (in each dimension) and\n all other maps (slope, los, resources, etc.) are relative to the\n size of the heightmap.\n\n - do NOT modify or delete the height-map (native code relevant only)\n - index 0 is top left\n - each data position is 8*8 in size\n - the value for the full resolution position (x, z) is at index (z * width + x)\n - the last value, bottom right, is at index (width * height - 1)\n\n @see getCornersHeightMap()"]
9527 pub Map_getHeightMap: ::std::option::Option<
9528 unsafe extern "C" fn(
9529 skirmishAIId: ::std::os::raw::c_int,
9530 heights: *mut f32,
9531 heights_sizeMax: ::std::os::raw::c_int,
9532 ) -> ::std::os::raw::c_int,
9533 >,
9534 #[doc = " Returns the height for the corners of the squares.\n This is the same like the drawn map.\n It is one unit wider and one higher then the centers height map.\n\n - do NOT modify or delete the height-map (native code relevant only)\n - index 0 is top left\n - 4 points mark the edges of an area of 8*8 in size\n - the value for upper left corner of the full resolution position (x, z) is at index (z * width + x)\n - the last value, bottom right, is at index ((width+1) * (height+1) - 1)\n\n @see getHeightMap()"]
9535 pub Map_getCornersHeightMap: ::std::option::Option<
9536 unsafe extern "C" fn(
9537 skirmishAIId: ::std::os::raw::c_int,
9538 cornerHeights: *mut f32,
9539 cornerHeights_sizeMax: ::std::os::raw::c_int,
9540 ) -> ::std::os::raw::c_int,
9541 >,
9542 pub Map_getMinHeight:
9543 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9544 pub Map_getMaxHeight:
9545 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9546 #[doc = " @brief the slope map\n The values are 1 minus the y-component of the (average) facenormal of the square.\n\n - do NOT modify or delete the height-map (native code relevant only)\n - index 0 is top left\n - each data position is 2*2 in size\n - the value for the full resolution position (x, z) is at index ((z * width + x) / 2)\n - the last value, bottom right, is at index (width/2 * height/2 - 1)"]
9547 pub Map_getSlopeMap: ::std::option::Option<
9548 unsafe extern "C" fn(
9549 skirmishAIId: ::std::os::raw::c_int,
9550 slopes: *mut f32,
9551 slopes_sizeMax: ::std::os::raw::c_int,
9552 ) -> ::std::os::raw::c_int,
9553 >,
9554 #[doc = " @brief the level of sight map\n mapDims.mapx >> losMipLevel\n A square with value zero means you do not have LOS coverage on it.\nMod_getLosMipLevel\n - do NOT modify or delete the height-map (native code relevant only)\n - index 0 is top left\n - resolution factor (res) is min(1, 1 << Mod_getLosMipLevel())\n examples:\n \t+ losMipLevel(0) -> res(1)\n \t+ losMipLevel(1) -> res(2)\n \t+ losMipLevel(2) -> res(4)\n \t+ losMipLevel(3) -> res(8)\n - each data position is res*res in size\n - the value for the full resolution position (x, z) is at index ((z * width + x) / res)\n - the last value, bottom right, is at index (width/res * height/res - 1)"]
9555 pub Map_getLosMap: ::std::option::Option<
9556 unsafe extern "C" fn(
9557 skirmishAIId: ::std::os::raw::c_int,
9558 losValues: *mut ::std::os::raw::c_int,
9559 losValues_sizeMax: ::std::os::raw::c_int,
9560 ) -> ::std::os::raw::c_int,
9561 >,
9562 #[doc = " @brief the level of sight map\n mapDims.mapx >> airMipLevel\n @see getLosMap()"]
9563 pub Map_getAirLosMap: ::std::option::Option<
9564 unsafe extern "C" fn(
9565 skirmishAIId: ::std::os::raw::c_int,
9566 airLosValues: *mut ::std::os::raw::c_int,
9567 airLosValues_sizeMax: ::std::os::raw::c_int,
9568 ) -> ::std::os::raw::c_int,
9569 >,
9570 #[doc = " @brief the radar map\n mapDims.mapx >> radarMipLevel\n @see getLosMap()"]
9571 pub Map_getRadarMap: ::std::option::Option<
9572 unsafe extern "C" fn(
9573 skirmishAIId: ::std::os::raw::c_int,
9574 radarValues: *mut ::std::os::raw::c_int,
9575 radarValues_sizeMax: ::std::os::raw::c_int,
9576 ) -> ::std::os::raw::c_int,
9577 >,
9578 #[doc = " @see getRadarMap()"]
9579 pub Map_getSonarMap: ::std::option::Option<
9580 unsafe extern "C" fn(
9581 skirmishAIId: ::std::os::raw::c_int,
9582 sonarValues: *mut ::std::os::raw::c_int,
9583 sonarValues_sizeMax: ::std::os::raw::c_int,
9584 ) -> ::std::os::raw::c_int,
9585 >,
9586 #[doc = " @see getRadarMap()"]
9587 pub Map_getSeismicMap: ::std::option::Option<
9588 unsafe extern "C" fn(
9589 skirmishAIId: ::std::os::raw::c_int,
9590 seismicValues: *mut ::std::os::raw::c_int,
9591 seismicValues_sizeMax: ::std::os::raw::c_int,
9592 ) -> ::std::os::raw::c_int,
9593 >,
9594 #[doc = " @see getRadarMap()"]
9595 pub Map_getJammerMap: ::std::option::Option<
9596 unsafe extern "C" fn(
9597 skirmishAIId: ::std::os::raw::c_int,
9598 jammerValues: *mut ::std::os::raw::c_int,
9599 jammerValues_sizeMax: ::std::os::raw::c_int,
9600 ) -> ::std::os::raw::c_int,
9601 >,
9602 #[doc = " @see getRadarMap()"]
9603 pub Map_getSonarJammerMap: ::std::option::Option<
9604 unsafe extern "C" fn(
9605 skirmishAIId: ::std::os::raw::c_int,
9606 sonarJammerValues: *mut ::std::os::raw::c_int,
9607 sonarJammerValues_sizeMax: ::std::os::raw::c_int,
9608 ) -> ::std::os::raw::c_int,
9609 >,
9610 #[doc = " @brief resource maps\n This map shows the resource density on the map.\n\n - do NOT modify or delete the height-map (native code relevant only)\n - index 0 is top left\n - each data position is 2*2 in size\n - the value for the full resolution position (x, z) is at index ((z * width + x) / 2)\n - the last value, bottom right, is at index (width/2 * height/2 - 1)"]
9611 pub Map_getResourceMapRaw: ::std::option::Option<
9612 unsafe extern "C" fn(
9613 skirmishAIId: ::std::os::raw::c_int,
9614 resourceId: ::std::os::raw::c_int,
9615 resources: *mut ::std::os::raw::c_short,
9616 resources_sizeMax: ::std::os::raw::c_int,
9617 ) -> ::std::os::raw::c_int,
9618 >,
9619 #[doc = " Returns positions indicating where to place resource extractors on the map.\n Only the x and z values give the location of the spots, while the y values\n represents the actual amount of resource an extractor placed there can make.\n You should only compare the y values to each other, and not try to estimate\n effective output from spots."]
9620 pub Map_getResourceMapSpotsPositions: ::std::option::Option<
9621 unsafe extern "C" fn(
9622 skirmishAIId: ::std::os::raw::c_int,
9623 resourceId: ::std::os::raw::c_int,
9624 spots_AposF3: *mut f32,
9625 spots_AposF3_sizeMax: ::std::os::raw::c_int,
9626 ) -> ::std::os::raw::c_int,
9627 >,
9628 #[doc = " Returns the average resource income for an extractor on one of the evaluated positions."]
9629 pub Map_getResourceMapSpotsAverageIncome: ::std::option::Option<
9630 unsafe extern "C" fn(
9631 skirmishAIId: ::std::os::raw::c_int,
9632 resourceId: ::std::os::raw::c_int,
9633 ) -> f32,
9634 >,
9635 #[doc = " Returns the nearest resource extractor spot to a specified position out of the evaluated list."]
9636 pub Map_getResourceMapSpotsNearest: ::std::option::Option<
9637 unsafe extern "C" fn(
9638 skirmishAIId: ::std::os::raw::c_int,
9639 resourceId: ::std::os::raw::c_int,
9640 pos_posF3: *mut f32,
9641 return_posF3_out: *mut f32,
9642 ),
9643 >,
9644 #[doc = " Returns the archive hash of the map.\n Use this for reference to the map, eg. in a cache-file, wherever human\n readability does not matter.\n This value will never be the same for two maps not having equal content.\n Tip: convert to 64 Hex chars for use in file names.\n @see getName()"]
9645 pub Map_getHash: ::std::option::Option<
9646 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
9647 >,
9648 #[doc = " Returns the name of the map.\n Use this for reference to the map, eg. in cache- or config-file names\n which are map related, wherever humans may come in contact with the reference.\n Be aware though, that this may contain special characters and spaces,\n and may not be used as a file name without checks and replaces.\n Tip: replace every char matching [^0-9a-zA-Z_-.] with '_'\n @see getHash()\n @see getHumanName()"]
9649 pub Map_getName: ::std::option::Option<
9650 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
9651 >,
9652 #[doc = " Returns the human readbale name of the map.\n @see getName()"]
9653 pub Map_getHumanName: ::std::option::Option<
9654 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
9655 >,
9656 #[doc = " Gets the elevation of the map at position (x, z)"]
9657 pub Map_getElevationAt: ::std::option::Option<
9658 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int, x: f32, z: f32) -> f32,
9659 >,
9660 #[doc = " Returns what value 255 in the resource map is worth"]
9661 pub Map_getMaxResource: ::std::option::Option<
9662 unsafe extern "C" fn(
9663 skirmishAIId: ::std::os::raw::c_int,
9664 resourceId: ::std::os::raw::c_int,
9665 ) -> f32,
9666 >,
9667 #[doc = " Returns extraction radius for resource extractors"]
9668 pub Map_getExtractorRadius: ::std::option::Option<
9669 unsafe extern "C" fn(
9670 skirmishAIId: ::std::os::raw::c_int,
9671 resourceId: ::std::os::raw::c_int,
9672 ) -> f32,
9673 >,
9674 pub Map_getMinWind:
9675 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9676 pub Map_getMaxWind:
9677 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9678 pub Map_getCurWind:
9679 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9680 pub Map_getTidalStrength:
9681 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9682 pub Map_getGravity:
9683 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9684 pub Map_getWaterDamage:
9685 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9686 pub Map_isDeformable:
9687 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
9688 #[doc = " Returns global map hardness"]
9689 pub Map_getHardness:
9690 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
9691 #[doc = " Returns hardness modifiers of the squares adjusted by terrain type.\n\n - index 0 is top left\n - each data position is 2*2 in size (relative to heightmap)\n - the value for the full resolution position (x, z) is at index ((z * width + x) / 2)\n - the last value, bottom right, is at index (width/2 * height/2 - 1)\n\n @see getHardness()"]
9692 pub Map_getHardnessModMap: ::std::option::Option<
9693 unsafe extern "C" fn(
9694 skirmishAIId: ::std::os::raw::c_int,
9695 hardMods: *mut f32,
9696 hardMods_sizeMax: ::std::os::raw::c_int,
9697 ) -> ::std::os::raw::c_int,
9698 >,
9699 #[doc = " Returns speed modifiers of the squares\n for specific speedModClass adjusted by terrain type.\n\n - index 0 is top left\n - each data position is 2*2 in size (relative to heightmap)\n - the value for the full resolution position (x, z) is at index ((z * width + x) / 2)\n - the last value, bottom right, is at index (width/2 * height/2 - 1)\n\n @see MoveData#getSpeedModClass"]
9700 pub Map_getSpeedModMap: ::std::option::Option<
9701 unsafe extern "C" fn(
9702 skirmishAIId: ::std::os::raw::c_int,
9703 speedModClass: ::std::os::raw::c_int,
9704 speedMods: *mut f32,
9705 speedMods_sizeMax: ::std::os::raw::c_int,
9706 ) -> ::std::os::raw::c_int,
9707 >,
9708 #[doc = " Returns all points drawn with this AIs team color,\n and additionally the ones drawn with allied team colors,\n if <code>includeAllies</code> is true."]
9709 pub Map_getPoints: ::std::option::Option<
9710 unsafe extern "C" fn(
9711 skirmishAIId: ::std::os::raw::c_int,
9712 includeAllies: bool,
9713 ) -> ::std::os::raw::c_int,
9714 >,
9715 pub Map_Point_getPosition: ::std::option::Option<
9716 unsafe extern "C" fn(
9717 skirmishAIId: ::std::os::raw::c_int,
9718 pointId: ::std::os::raw::c_int,
9719 return_posF3_out: *mut f32,
9720 ),
9721 >,
9722 pub Map_Point_getColor: ::std::option::Option<
9723 unsafe extern "C" fn(
9724 skirmishAIId: ::std::os::raw::c_int,
9725 pointId: ::std::os::raw::c_int,
9726 return_colorS3_out: *mut ::std::os::raw::c_short,
9727 ),
9728 >,
9729 pub Map_Point_getLabel: ::std::option::Option<
9730 unsafe extern "C" fn(
9731 skirmishAIId: ::std::os::raw::c_int,
9732 pointId: ::std::os::raw::c_int,
9733 ) -> *const ::std::os::raw::c_char,
9734 >,
9735 #[doc = " Returns all lines drawn with this AIs team color,\n and additionally the ones drawn with allied team colors,\n if <code>includeAllies</code> is true."]
9736 pub Map_getLines: ::std::option::Option<
9737 unsafe extern "C" fn(
9738 skirmishAIId: ::std::os::raw::c_int,
9739 includeAllies: bool,
9740 ) -> ::std::os::raw::c_int,
9741 >,
9742 pub Map_Line_getFirstPosition: ::std::option::Option<
9743 unsafe extern "C" fn(
9744 skirmishAIId: ::std::os::raw::c_int,
9745 lineId: ::std::os::raw::c_int,
9746 return_posF3_out: *mut f32,
9747 ),
9748 >,
9749 pub Map_Line_getSecondPosition: ::std::option::Option<
9750 unsafe extern "C" fn(
9751 skirmishAIId: ::std::os::raw::c_int,
9752 lineId: ::std::os::raw::c_int,
9753 return_posF3_out: *mut f32,
9754 ),
9755 >,
9756 pub Map_Line_getColor: ::std::option::Option<
9757 unsafe extern "C" fn(
9758 skirmishAIId: ::std::os::raw::c_int,
9759 lineId: ::std::os::raw::c_int,
9760 return_colorS3_out: *mut ::std::os::raw::c_short,
9761 ),
9762 >,
9763 pub Map_isPossibleToBuildAt: ::std::option::Option<
9764 unsafe extern "C" fn(
9765 skirmishAIId: ::std::os::raw::c_int,
9766 unitDefId: ::std::os::raw::c_int,
9767 pos_posF3: *mut f32,
9768 facing: ::std::os::raw::c_int,
9769 ) -> bool,
9770 >,
9771 #[doc = " Returns the closest position from a given position that a building can be\n built at.\n @param minDist the distance in 1/BUILD_SQUARE_SIZE = 1/16 of full map\n resolution, that the building must keep to other\n buildings; this makes it easier to keep free paths through\n a base\n @return actual map position with x, y and z all beeing positive,\n or float[3]{-1, 0, 0} if no suitable position is found."]
9772 pub Map_findClosestBuildSite: ::std::option::Option<
9773 unsafe extern "C" fn(
9774 skirmishAIId: ::std::os::raw::c_int,
9775 unitDefId: ::std::os::raw::c_int,
9776 pos_posF3: *mut f32,
9777 searchRadius: f32,
9778 minDist: ::std::os::raw::c_int,
9779 facing: ::std::os::raw::c_int,
9780 return_posF3_out: *mut f32,
9781 ),
9782 >,
9783 pub getFeatureDefs: ::std::option::Option<
9784 unsafe extern "C" fn(
9785 skirmishAIId: ::std::os::raw::c_int,
9786 featureDefIds: *mut ::std::os::raw::c_int,
9787 featureDefIds_sizeMax: ::std::os::raw::c_int,
9788 ) -> ::std::os::raw::c_int,
9789 >,
9790 pub FeatureDef_getName: ::std::option::Option<
9791 unsafe extern "C" fn(
9792 skirmishAIId: ::std::os::raw::c_int,
9793 featureDefId: ::std::os::raw::c_int,
9794 ) -> *const ::std::os::raw::c_char,
9795 >,
9796 pub FeatureDef_getDescription: ::std::option::Option<
9797 unsafe extern "C" fn(
9798 skirmishAIId: ::std::os::raw::c_int,
9799 featureDefId: ::std::os::raw::c_int,
9800 ) -> *const ::std::os::raw::c_char,
9801 >,
9802 pub FeatureDef_getContainedResource: ::std::option::Option<
9803 unsafe extern "C" fn(
9804 skirmishAIId: ::std::os::raw::c_int,
9805 featureDefId: ::std::os::raw::c_int,
9806 resourceId: ::std::os::raw::c_int,
9807 ) -> f32,
9808 >,
9809 pub FeatureDef_getMaxHealth: ::std::option::Option<
9810 unsafe extern "C" fn(
9811 skirmishAIId: ::std::os::raw::c_int,
9812 featureDefId: ::std::os::raw::c_int,
9813 ) -> f32,
9814 >,
9815 pub FeatureDef_getReclaimTime: ::std::option::Option<
9816 unsafe extern "C" fn(
9817 skirmishAIId: ::std::os::raw::c_int,
9818 featureDefId: ::std::os::raw::c_int,
9819 ) -> f32,
9820 >,
9821 #[doc = " Used to see if the object can be overrun by units of a certain heavyness"]
9822 pub FeatureDef_getMass: ::std::option::Option<
9823 unsafe extern "C" fn(
9824 skirmishAIId: ::std::os::raw::c_int,
9825 featureDefId: ::std::os::raw::c_int,
9826 ) -> f32,
9827 >,
9828 pub FeatureDef_isUpright: ::std::option::Option<
9829 unsafe extern "C" fn(
9830 skirmishAIId: ::std::os::raw::c_int,
9831 featureDefId: ::std::os::raw::c_int,
9832 ) -> bool,
9833 >,
9834 pub FeatureDef_getDrawType: ::std::option::Option<
9835 unsafe extern "C" fn(
9836 skirmishAIId: ::std::os::raw::c_int,
9837 featureDefId: ::std::os::raw::c_int,
9838 ) -> ::std::os::raw::c_int,
9839 >,
9840 pub FeatureDef_getModelName: ::std::option::Option<
9841 unsafe extern "C" fn(
9842 skirmishAIId: ::std::os::raw::c_int,
9843 featureDefId: ::std::os::raw::c_int,
9844 ) -> *const ::std::os::raw::c_char,
9845 >,
9846 #[doc = " Used to determine whether the feature is resurrectable.\n\n @return -1: (default) only if it is the 1st wreckage of\n the UnitDef it originates from\n 0: no, never\n 1: yes, always"]
9847 pub FeatureDef_getResurrectable: ::std::option::Option<
9848 unsafe extern "C" fn(
9849 skirmishAIId: ::std::os::raw::c_int,
9850 featureDefId: ::std::os::raw::c_int,
9851 ) -> ::std::os::raw::c_int,
9852 >,
9853 pub FeatureDef_getSmokeTime: ::std::option::Option<
9854 unsafe extern "C" fn(
9855 skirmishAIId: ::std::os::raw::c_int,
9856 featureDefId: ::std::os::raw::c_int,
9857 ) -> ::std::os::raw::c_int,
9858 >,
9859 pub FeatureDef_isDestructable: ::std::option::Option<
9860 unsafe extern "C" fn(
9861 skirmishAIId: ::std::os::raw::c_int,
9862 featureDefId: ::std::os::raw::c_int,
9863 ) -> bool,
9864 >,
9865 pub FeatureDef_isReclaimable: ::std::option::Option<
9866 unsafe extern "C" fn(
9867 skirmishAIId: ::std::os::raw::c_int,
9868 featureDefId: ::std::os::raw::c_int,
9869 ) -> bool,
9870 >,
9871 pub FeatureDef_isAutoreclaimable: ::std::option::Option<
9872 unsafe extern "C" fn(
9873 skirmishAIId: ::std::os::raw::c_int,
9874 featureDefId: ::std::os::raw::c_int,
9875 ) -> bool,
9876 >,
9877 pub FeatureDef_isBlocking: ::std::option::Option<
9878 unsafe extern "C" fn(
9879 skirmishAIId: ::std::os::raw::c_int,
9880 featureDefId: ::std::os::raw::c_int,
9881 ) -> bool,
9882 >,
9883 pub FeatureDef_isBurnable: ::std::option::Option<
9884 unsafe extern "C" fn(
9885 skirmishAIId: ::std::os::raw::c_int,
9886 featureDefId: ::std::os::raw::c_int,
9887 ) -> bool,
9888 >,
9889 pub FeatureDef_isFloating: ::std::option::Option<
9890 unsafe extern "C" fn(
9891 skirmishAIId: ::std::os::raw::c_int,
9892 featureDefId: ::std::os::raw::c_int,
9893 ) -> bool,
9894 >,
9895 pub FeatureDef_isNoSelect: ::std::option::Option<
9896 unsafe extern "C" fn(
9897 skirmishAIId: ::std::os::raw::c_int,
9898 featureDefId: ::std::os::raw::c_int,
9899 ) -> bool,
9900 >,
9901 pub FeatureDef_isGeoThermal: ::std::option::Option<
9902 unsafe extern "C" fn(
9903 skirmishAIId: ::std::os::raw::c_int,
9904 featureDefId: ::std::os::raw::c_int,
9905 ) -> bool,
9906 >,
9907 #[doc = " Size of the feature along the X axis - in other words: height.\n each size is 8 units"]
9908 pub FeatureDef_getXSize: ::std::option::Option<
9909 unsafe extern "C" fn(
9910 skirmishAIId: ::std::os::raw::c_int,
9911 featureDefId: ::std::os::raw::c_int,
9912 ) -> ::std::os::raw::c_int,
9913 >,
9914 #[doc = " Size of the feature along the Z axis - in other words: width.\n each size is 8 units"]
9915 pub FeatureDef_getZSize: ::std::option::Option<
9916 unsafe extern "C" fn(
9917 skirmishAIId: ::std::os::raw::c_int,
9918 featureDefId: ::std::os::raw::c_int,
9919 ) -> ::std::os::raw::c_int,
9920 >,
9921 pub FeatureDef_getCustomParams: ::std::option::Option<
9922 unsafe extern "C" fn(
9923 skirmishAIId: ::std::os::raw::c_int,
9924 featureDefId: ::std::os::raw::c_int,
9925 keys: *mut *const ::std::os::raw::c_char,
9926 values: *mut *const ::std::os::raw::c_char,
9927 ) -> ::std::os::raw::c_int,
9928 >,
9929 #[doc = " Returns all features currently in LOS, or all features on the map\n if cheating is enabled."]
9930 pub getFeatures: ::std::option::Option<
9931 unsafe extern "C" fn(
9932 skirmishAIId: ::std::os::raw::c_int,
9933 featureIds: *mut ::std::os::raw::c_int,
9934 featureIds_sizeMax: ::std::os::raw::c_int,
9935 ) -> ::std::os::raw::c_int,
9936 >,
9937 #[doc = " Returns all features in a specified area that are currently in LOS,\n or all features in this area if cheating is enabled."]
9938 pub getFeaturesIn: ::std::option::Option<
9939 unsafe extern "C" fn(
9940 skirmishAIId: ::std::os::raw::c_int,
9941 pos_posF3: *mut f32,
9942 radius: f32,
9943 spherical: bool,
9944 featureIds: *mut ::std::os::raw::c_int,
9945 featureIds_sizeMax: ::std::os::raw::c_int,
9946 ) -> ::std::os::raw::c_int,
9947 >,
9948 pub Feature_getDef: ::std::option::Option<
9949 unsafe extern "C" fn(
9950 skirmishAIId: ::std::os::raw::c_int,
9951 featureId: ::std::os::raw::c_int,
9952 ) -> ::std::os::raw::c_int,
9953 >,
9954 pub Feature_getHealth: ::std::option::Option<
9955 unsafe extern "C" fn(
9956 skirmishAIId: ::std::os::raw::c_int,
9957 featureId: ::std::os::raw::c_int,
9958 ) -> f32,
9959 >,
9960 pub Feature_getReclaimLeft: ::std::option::Option<
9961 unsafe extern "C" fn(
9962 skirmishAIId: ::std::os::raw::c_int,
9963 featureId: ::std::os::raw::c_int,
9964 ) -> f32,
9965 >,
9966 pub Feature_getPosition: ::std::option::Option<
9967 unsafe extern "C" fn(
9968 skirmishAIId: ::std::os::raw::c_int,
9969 featureId: ::std::os::raw::c_int,
9970 return_posF3_out: *mut f32,
9971 ),
9972 >,
9973 #[doc = " @return float value of parameter if it's set, defaultValue otherwise."]
9974 pub Feature_getRulesParamFloat: ::std::option::Option<
9975 unsafe extern "C" fn(
9976 skirmishAIId: ::std::os::raw::c_int,
9977 unitId: ::std::os::raw::c_int,
9978 featureRulesParamName: *const ::std::os::raw::c_char,
9979 defaultValue: f32,
9980 ) -> f32,
9981 >,
9982 #[doc = " @return string value of parameter if it's set, defaultValue otherwise."]
9983 pub Feature_getRulesParamString: ::std::option::Option<
9984 unsafe extern "C" fn(
9985 skirmishAIId: ::std::os::raw::c_int,
9986 unitId: ::std::os::raw::c_int,
9987 featureRulesParamName: *const ::std::os::raw::c_char,
9988 defaultValue: *const ::std::os::raw::c_char,
9989 ) -> *const ::std::os::raw::c_char,
9990 >,
9991 pub Feature_getResurrectDef: ::std::option::Option<
9992 unsafe extern "C" fn(
9993 skirmishAIId: ::std::os::raw::c_int,
9994 featureId: ::std::os::raw::c_int,
9995 ) -> ::std::os::raw::c_int,
9996 >,
9997 pub Feature_getBuildingFacing: ::std::option::Option<
9998 unsafe extern "C" fn(
9999 skirmishAIId: ::std::os::raw::c_int,
10000 featureId: ::std::os::raw::c_int,
10001 ) -> ::std::os::raw::c_short,
10002 >,
10003 pub getWeaponDefs: ::std::option::Option<
10004 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
10005 >,
10006 pub getWeaponDefByName: ::std::option::Option<
10007 unsafe extern "C" fn(
10008 skirmishAIId: ::std::os::raw::c_int,
10009 weaponDefName: *const ::std::os::raw::c_char,
10010 ) -> ::std::os::raw::c_int,
10011 >,
10012 pub WeaponDef_getName: ::std::option::Option<
10013 unsafe extern "C" fn(
10014 skirmishAIId: ::std::os::raw::c_int,
10015 weaponDefId: ::std::os::raw::c_int,
10016 ) -> *const ::std::os::raw::c_char,
10017 >,
10018 pub WeaponDef_getType: ::std::option::Option<
10019 unsafe extern "C" fn(
10020 skirmishAIId: ::std::os::raw::c_int,
10021 weaponDefId: ::std::os::raw::c_int,
10022 ) -> *const ::std::os::raw::c_char,
10023 >,
10024 pub WeaponDef_getDescription: ::std::option::Option<
10025 unsafe extern "C" fn(
10026 skirmishAIId: ::std::os::raw::c_int,
10027 weaponDefId: ::std::os::raw::c_int,
10028 ) -> *const ::std::os::raw::c_char,
10029 >,
10030 pub WeaponDef_getRange: ::std::option::Option<
10031 unsafe extern "C" fn(
10032 skirmishAIId: ::std::os::raw::c_int,
10033 weaponDefId: ::std::os::raw::c_int,
10034 ) -> f32,
10035 >,
10036 pub WeaponDef_getHeightMod: ::std::option::Option<
10037 unsafe extern "C" fn(
10038 skirmishAIId: ::std::os::raw::c_int,
10039 weaponDefId: ::std::os::raw::c_int,
10040 ) -> f32,
10041 >,
10042 #[doc = " Inaccuracy of whole burst"]
10043 pub WeaponDef_getAccuracy: ::std::option::Option<
10044 unsafe extern "C" fn(
10045 skirmishAIId: ::std::os::raw::c_int,
10046 weaponDefId: ::std::os::raw::c_int,
10047 ) -> f32,
10048 >,
10049 #[doc = " Inaccuracy of individual shots inside burst"]
10050 pub WeaponDef_getSprayAngle: ::std::option::Option<
10051 unsafe extern "C" fn(
10052 skirmishAIId: ::std::os::raw::c_int,
10053 weaponDefId: ::std::os::raw::c_int,
10054 ) -> f32,
10055 >,
10056 #[doc = " Inaccuracy while owner moving"]
10057 pub WeaponDef_getMovingAccuracy: ::std::option::Option<
10058 unsafe extern "C" fn(
10059 skirmishAIId: ::std::os::raw::c_int,
10060 weaponDefId: ::std::os::raw::c_int,
10061 ) -> f32,
10062 >,
10063 #[doc = " Fraction of targets move speed that is used as error offset"]
10064 pub WeaponDef_getTargetMoveError: ::std::option::Option<
10065 unsafe extern "C" fn(
10066 skirmishAIId: ::std::os::raw::c_int,
10067 weaponDefId: ::std::os::raw::c_int,
10068 ) -> f32,
10069 >,
10070 #[doc = " Maximum distance the weapon will lead the target"]
10071 pub WeaponDef_getLeadLimit: ::std::option::Option<
10072 unsafe extern "C" fn(
10073 skirmishAIId: ::std::os::raw::c_int,
10074 weaponDefId: ::std::os::raw::c_int,
10075 ) -> f32,
10076 >,
10077 #[doc = " Factor for increasing the leadLimit with experience"]
10078 pub WeaponDef_getLeadBonus: ::std::option::Option<
10079 unsafe extern "C" fn(
10080 skirmishAIId: ::std::os::raw::c_int,
10081 weaponDefId: ::std::os::raw::c_int,
10082 ) -> f32,
10083 >,
10084 #[doc = " Replaces hardcoded behaviour for burnblow cannons"]
10085 pub WeaponDef_getPredictBoost: ::std::option::Option<
10086 unsafe extern "C" fn(
10087 skirmishAIId: ::std::os::raw::c_int,
10088 weaponDefId: ::std::os::raw::c_int,
10089 ) -> f32,
10090 >,
10091 pub WeaponDef_getNumDamageTypes: ::std::option::Option<
10092 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
10093 >,
10094 pub WeaponDef_Damage_getParalyzeDamageTime: ::std::option::Option<
10095 unsafe extern "C" fn(
10096 skirmishAIId: ::std::os::raw::c_int,
10097 weaponDefId: ::std::os::raw::c_int,
10098 ) -> ::std::os::raw::c_int,
10099 >,
10100 pub WeaponDef_Damage_getImpulseFactor: ::std::option::Option<
10101 unsafe extern "C" fn(
10102 skirmishAIId: ::std::os::raw::c_int,
10103 weaponDefId: ::std::os::raw::c_int,
10104 ) -> f32,
10105 >,
10106 pub WeaponDef_Damage_getImpulseBoost: ::std::option::Option<
10107 unsafe extern "C" fn(
10108 skirmishAIId: ::std::os::raw::c_int,
10109 weaponDefId: ::std::os::raw::c_int,
10110 ) -> f32,
10111 >,
10112 pub WeaponDef_Damage_getCraterMult: ::std::option::Option<
10113 unsafe extern "C" fn(
10114 skirmishAIId: ::std::os::raw::c_int,
10115 weaponDefId: ::std::os::raw::c_int,
10116 ) -> f32,
10117 >,
10118 pub WeaponDef_Damage_getCraterBoost: ::std::option::Option<
10119 unsafe extern "C" fn(
10120 skirmishAIId: ::std::os::raw::c_int,
10121 weaponDefId: ::std::os::raw::c_int,
10122 ) -> f32,
10123 >,
10124 pub WeaponDef_Damage_getTypes: ::std::option::Option<
10125 unsafe extern "C" fn(
10126 skirmishAIId: ::std::os::raw::c_int,
10127 weaponDefId: ::std::os::raw::c_int,
10128 types: *mut f32,
10129 types_sizeMax: ::std::os::raw::c_int,
10130 ) -> ::std::os::raw::c_int,
10131 >,
10132 pub WeaponDef_getAreaOfEffect: ::std::option::Option<
10133 unsafe extern "C" fn(
10134 skirmishAIId: ::std::os::raw::c_int,
10135 weaponDefId: ::std::os::raw::c_int,
10136 ) -> f32,
10137 >,
10138 pub WeaponDef_isNoSelfDamage: ::std::option::Option<
10139 unsafe extern "C" fn(
10140 skirmishAIId: ::std::os::raw::c_int,
10141 weaponDefId: ::std::os::raw::c_int,
10142 ) -> bool,
10143 >,
10144 pub WeaponDef_getFireStarter: ::std::option::Option<
10145 unsafe extern "C" fn(
10146 skirmishAIId: ::std::os::raw::c_int,
10147 weaponDefId: ::std::os::raw::c_int,
10148 ) -> f32,
10149 >,
10150 pub WeaponDef_getEdgeEffectiveness: ::std::option::Option<
10151 unsafe extern "C" fn(
10152 skirmishAIId: ::std::os::raw::c_int,
10153 weaponDefId: ::std::os::raw::c_int,
10154 ) -> f32,
10155 >,
10156 pub WeaponDef_getSize: ::std::option::Option<
10157 unsafe extern "C" fn(
10158 skirmishAIId: ::std::os::raw::c_int,
10159 weaponDefId: ::std::os::raw::c_int,
10160 ) -> f32,
10161 >,
10162 pub WeaponDef_getSizeGrowth: ::std::option::Option<
10163 unsafe extern "C" fn(
10164 skirmishAIId: ::std::os::raw::c_int,
10165 weaponDefId: ::std::os::raw::c_int,
10166 ) -> f32,
10167 >,
10168 pub WeaponDef_getCollisionSize: ::std::option::Option<
10169 unsafe extern "C" fn(
10170 skirmishAIId: ::std::os::raw::c_int,
10171 weaponDefId: ::std::os::raw::c_int,
10172 ) -> f32,
10173 >,
10174 pub WeaponDef_getSalvoSize: ::std::option::Option<
10175 unsafe extern "C" fn(
10176 skirmishAIId: ::std::os::raw::c_int,
10177 weaponDefId: ::std::os::raw::c_int,
10178 ) -> ::std::os::raw::c_int,
10179 >,
10180 pub WeaponDef_getSalvoDelay: ::std::option::Option<
10181 unsafe extern "C" fn(
10182 skirmishAIId: ::std::os::raw::c_int,
10183 weaponDefId: ::std::os::raw::c_int,
10184 ) -> f32,
10185 >,
10186 pub WeaponDef_getReload: ::std::option::Option<
10187 unsafe extern "C" fn(
10188 skirmishAIId: ::std::os::raw::c_int,
10189 weaponDefId: ::std::os::raw::c_int,
10190 ) -> f32,
10191 >,
10192 pub WeaponDef_getBeamTime: ::std::option::Option<
10193 unsafe extern "C" fn(
10194 skirmishAIId: ::std::os::raw::c_int,
10195 weaponDefId: ::std::os::raw::c_int,
10196 ) -> f32,
10197 >,
10198 pub WeaponDef_isBeamBurst: ::std::option::Option<
10199 unsafe extern "C" fn(
10200 skirmishAIId: ::std::os::raw::c_int,
10201 weaponDefId: ::std::os::raw::c_int,
10202 ) -> bool,
10203 >,
10204 pub WeaponDef_isWaterBounce: ::std::option::Option<
10205 unsafe extern "C" fn(
10206 skirmishAIId: ::std::os::raw::c_int,
10207 weaponDefId: ::std::os::raw::c_int,
10208 ) -> bool,
10209 >,
10210 pub WeaponDef_isGroundBounce: ::std::option::Option<
10211 unsafe extern "C" fn(
10212 skirmishAIId: ::std::os::raw::c_int,
10213 weaponDefId: ::std::os::raw::c_int,
10214 ) -> bool,
10215 >,
10216 pub WeaponDef_getBounceRebound: ::std::option::Option<
10217 unsafe extern "C" fn(
10218 skirmishAIId: ::std::os::raw::c_int,
10219 weaponDefId: ::std::os::raw::c_int,
10220 ) -> f32,
10221 >,
10222 pub WeaponDef_getBounceSlip: ::std::option::Option<
10223 unsafe extern "C" fn(
10224 skirmishAIId: ::std::os::raw::c_int,
10225 weaponDefId: ::std::os::raw::c_int,
10226 ) -> f32,
10227 >,
10228 pub WeaponDef_getNumBounce: ::std::option::Option<
10229 unsafe extern "C" fn(
10230 skirmishAIId: ::std::os::raw::c_int,
10231 weaponDefId: ::std::os::raw::c_int,
10232 ) -> ::std::os::raw::c_int,
10233 >,
10234 pub WeaponDef_getMaxAngle: ::std::option::Option<
10235 unsafe extern "C" fn(
10236 skirmishAIId: ::std::os::raw::c_int,
10237 weaponDefId: ::std::os::raw::c_int,
10238 ) -> f32,
10239 >,
10240 pub WeaponDef_getUpTime: ::std::option::Option<
10241 unsafe extern "C" fn(
10242 skirmishAIId: ::std::os::raw::c_int,
10243 weaponDefId: ::std::os::raw::c_int,
10244 ) -> f32,
10245 >,
10246 pub WeaponDef_getFlightTime: ::std::option::Option<
10247 unsafe extern "C" fn(
10248 skirmishAIId: ::std::os::raw::c_int,
10249 weaponDefId: ::std::os::raw::c_int,
10250 ) -> ::std::os::raw::c_int,
10251 >,
10252 pub WeaponDef_getCost: ::std::option::Option<
10253 unsafe extern "C" fn(
10254 skirmishAIId: ::std::os::raw::c_int,
10255 weaponDefId: ::std::os::raw::c_int,
10256 resourceId: ::std::os::raw::c_int,
10257 ) -> f32,
10258 >,
10259 pub WeaponDef_getProjectilesPerShot: ::std::option::Option<
10260 unsafe extern "C" fn(
10261 skirmishAIId: ::std::os::raw::c_int,
10262 weaponDefId: ::std::os::raw::c_int,
10263 ) -> ::std::os::raw::c_int,
10264 >,
10265 pub WeaponDef_isTurret: ::std::option::Option<
10266 unsafe extern "C" fn(
10267 skirmishAIId: ::std::os::raw::c_int,
10268 weaponDefId: ::std::os::raw::c_int,
10269 ) -> bool,
10270 >,
10271 pub WeaponDef_isOnlyForward: ::std::option::Option<
10272 unsafe extern "C" fn(
10273 skirmishAIId: ::std::os::raw::c_int,
10274 weaponDefId: ::std::os::raw::c_int,
10275 ) -> bool,
10276 >,
10277 pub WeaponDef_isFixedLauncher: ::std::option::Option<
10278 unsafe extern "C" fn(
10279 skirmishAIId: ::std::os::raw::c_int,
10280 weaponDefId: ::std::os::raw::c_int,
10281 ) -> bool,
10282 >,
10283 pub WeaponDef_isWaterWeapon: ::std::option::Option<
10284 unsafe extern "C" fn(
10285 skirmishAIId: ::std::os::raw::c_int,
10286 weaponDefId: ::std::os::raw::c_int,
10287 ) -> bool,
10288 >,
10289 pub WeaponDef_isFireSubmersed: ::std::option::Option<
10290 unsafe extern "C" fn(
10291 skirmishAIId: ::std::os::raw::c_int,
10292 weaponDefId: ::std::os::raw::c_int,
10293 ) -> bool,
10294 >,
10295 #[doc = " Lets a torpedo travel above water like it does below water"]
10296 pub WeaponDef_isSubMissile: ::std::option::Option<
10297 unsafe extern "C" fn(
10298 skirmishAIId: ::std::os::raw::c_int,
10299 weaponDefId: ::std::os::raw::c_int,
10300 ) -> bool,
10301 >,
10302 pub WeaponDef_isTracks: ::std::option::Option<
10303 unsafe extern "C" fn(
10304 skirmishAIId: ::std::os::raw::c_int,
10305 weaponDefId: ::std::os::raw::c_int,
10306 ) -> bool,
10307 >,
10308 pub WeaponDef_isDropped: ::std::option::Option<
10309 unsafe extern "C" fn(
10310 skirmishAIId: ::std::os::raw::c_int,
10311 weaponDefId: ::std::os::raw::c_int,
10312 ) -> bool,
10313 >,
10314 #[doc = " The weapon will only paralyze, not do real damage."]
10315 pub WeaponDef_isParalyzer: ::std::option::Option<
10316 unsafe extern "C" fn(
10317 skirmishAIId: ::std::os::raw::c_int,
10318 weaponDefId: ::std::os::raw::c_int,
10319 ) -> bool,
10320 >,
10321 #[doc = " The weapon damages by impacting, not by exploding."]
10322 pub WeaponDef_isImpactOnly: ::std::option::Option<
10323 unsafe extern "C" fn(
10324 skirmishAIId: ::std::os::raw::c_int,
10325 weaponDefId: ::std::os::raw::c_int,
10326 ) -> bool,
10327 >,
10328 #[doc = " Can not target anything (for example: anti-nuke, D-Gun)"]
10329 pub WeaponDef_isNoAutoTarget: ::std::option::Option<
10330 unsafe extern "C" fn(
10331 skirmishAIId: ::std::os::raw::c_int,
10332 weaponDefId: ::std::os::raw::c_int,
10333 ) -> bool,
10334 >,
10335 #[doc = " Has to be fired manually (by the player or an AI, example: D-Gun)"]
10336 pub WeaponDef_isManualFire: ::std::option::Option<
10337 unsafe extern "C" fn(
10338 skirmishAIId: ::std::os::raw::c_int,
10339 weaponDefId: ::std::os::raw::c_int,
10340 ) -> bool,
10341 >,
10342 #[doc = " Can intercept targetable weapons shots.\n\n example: anti-nuke\n\n @see getTargetable()"]
10343 pub WeaponDef_getInterceptor: ::std::option::Option<
10344 unsafe extern "C" fn(
10345 skirmishAIId: ::std::os::raw::c_int,
10346 weaponDefId: ::std::os::raw::c_int,
10347 ) -> ::std::os::raw::c_int,
10348 >,
10349 #[doc = " Shoots interceptable projectiles.\n Shots can be intercepted by interceptors.\n\n example: nuke\n\n @see getInterceptor()"]
10350 pub WeaponDef_getTargetable: ::std::option::Option<
10351 unsafe extern "C" fn(
10352 skirmishAIId: ::std::os::raw::c_int,
10353 weaponDefId: ::std::os::raw::c_int,
10354 ) -> ::std::os::raw::c_int,
10355 >,
10356 pub WeaponDef_isStockpileable: ::std::option::Option<
10357 unsafe extern "C" fn(
10358 skirmishAIId: ::std::os::raw::c_int,
10359 weaponDefId: ::std::os::raw::c_int,
10360 ) -> bool,
10361 >,
10362 #[doc = " Range of interceptors.\n\n example: anti-nuke\n\n @see getInterceptor()"]
10363 pub WeaponDef_getCoverageRange: ::std::option::Option<
10364 unsafe extern "C" fn(
10365 skirmishAIId: ::std::os::raw::c_int,
10366 weaponDefId: ::std::os::raw::c_int,
10367 ) -> f32,
10368 >,
10369 #[doc = " Build time of a missile"]
10370 pub WeaponDef_getStockpileTime: ::std::option::Option<
10371 unsafe extern "C" fn(
10372 skirmishAIId: ::std::os::raw::c_int,
10373 weaponDefId: ::std::os::raw::c_int,
10374 ) -> f32,
10375 >,
10376 pub WeaponDef_getIntensity: ::std::option::Option<
10377 unsafe extern "C" fn(
10378 skirmishAIId: ::std::os::raw::c_int,
10379 weaponDefId: ::std::os::raw::c_int,
10380 ) -> f32,
10381 >,
10382 pub WeaponDef_getDuration: ::std::option::Option<
10383 unsafe extern "C" fn(
10384 skirmishAIId: ::std::os::raw::c_int,
10385 weaponDefId: ::std::os::raw::c_int,
10386 ) -> f32,
10387 >,
10388 pub WeaponDef_getFalloffRate: ::std::option::Option<
10389 unsafe extern "C" fn(
10390 skirmishAIId: ::std::os::raw::c_int,
10391 weaponDefId: ::std::os::raw::c_int,
10392 ) -> f32,
10393 >,
10394 pub WeaponDef_isSoundTrigger: ::std::option::Option<
10395 unsafe extern "C" fn(
10396 skirmishAIId: ::std::os::raw::c_int,
10397 weaponDefId: ::std::os::raw::c_int,
10398 ) -> bool,
10399 >,
10400 pub WeaponDef_isSelfExplode: ::std::option::Option<
10401 unsafe extern "C" fn(
10402 skirmishAIId: ::std::os::raw::c_int,
10403 weaponDefId: ::std::os::raw::c_int,
10404 ) -> bool,
10405 >,
10406 pub WeaponDef_isGravityAffected: ::std::option::Option<
10407 unsafe extern "C" fn(
10408 skirmishAIId: ::std::os::raw::c_int,
10409 weaponDefId: ::std::os::raw::c_int,
10410 ) -> bool,
10411 >,
10412 #[doc = " Per weapon high trajectory setting.\n UnitDef also has this property.\n\n @return 0: low\n 1: high\n 2: unit"]
10413 pub WeaponDef_getHighTrajectory: ::std::option::Option<
10414 unsafe extern "C" fn(
10415 skirmishAIId: ::std::os::raw::c_int,
10416 weaponDefId: ::std::os::raw::c_int,
10417 ) -> ::std::os::raw::c_int,
10418 >,
10419 pub WeaponDef_getMyGravity: ::std::option::Option<
10420 unsafe extern "C" fn(
10421 skirmishAIId: ::std::os::raw::c_int,
10422 weaponDefId: ::std::os::raw::c_int,
10423 ) -> f32,
10424 >,
10425 pub WeaponDef_isNoExplode: ::std::option::Option<
10426 unsafe extern "C" fn(
10427 skirmishAIId: ::std::os::raw::c_int,
10428 weaponDefId: ::std::os::raw::c_int,
10429 ) -> bool,
10430 >,
10431 pub WeaponDef_getStartVelocity: ::std::option::Option<
10432 unsafe extern "C" fn(
10433 skirmishAIId: ::std::os::raw::c_int,
10434 weaponDefId: ::std::os::raw::c_int,
10435 ) -> f32,
10436 >,
10437 pub WeaponDef_getWeaponAcceleration: ::std::option::Option<
10438 unsafe extern "C" fn(
10439 skirmishAIId: ::std::os::raw::c_int,
10440 weaponDefId: ::std::os::raw::c_int,
10441 ) -> f32,
10442 >,
10443 pub WeaponDef_getTurnRate: ::std::option::Option<
10444 unsafe extern "C" fn(
10445 skirmishAIId: ::std::os::raw::c_int,
10446 weaponDefId: ::std::os::raw::c_int,
10447 ) -> f32,
10448 >,
10449 pub WeaponDef_getMaxVelocity: ::std::option::Option<
10450 unsafe extern "C" fn(
10451 skirmishAIId: ::std::os::raw::c_int,
10452 weaponDefId: ::std::os::raw::c_int,
10453 ) -> f32,
10454 >,
10455 pub WeaponDef_getProjectileSpeed: ::std::option::Option<
10456 unsafe extern "C" fn(
10457 skirmishAIId: ::std::os::raw::c_int,
10458 weaponDefId: ::std::os::raw::c_int,
10459 ) -> f32,
10460 >,
10461 pub WeaponDef_getExplosionSpeed: ::std::option::Option<
10462 unsafe extern "C" fn(
10463 skirmishAIId: ::std::os::raw::c_int,
10464 weaponDefId: ::std::os::raw::c_int,
10465 ) -> f32,
10466 >,
10467 #[doc = " Returns the bit field value denoting the categories this weapon should\n target, excluding all others.\n @see Game#getCategoryFlag\n @see Game#getCategoryName"]
10468 pub WeaponDef_getOnlyTargetCategory: ::std::option::Option<
10469 unsafe extern "C" fn(
10470 skirmishAIId: ::std::os::raw::c_int,
10471 weaponDefId: ::std::os::raw::c_int,
10472 ) -> ::std::os::raw::c_int,
10473 >,
10474 #[doc = " How much the missile will wobble around its course."]
10475 pub WeaponDef_getWobble: ::std::option::Option<
10476 unsafe extern "C" fn(
10477 skirmishAIId: ::std::os::raw::c_int,
10478 weaponDefId: ::std::os::raw::c_int,
10479 ) -> f32,
10480 >,
10481 #[doc = " How much the missile will dance."]
10482 pub WeaponDef_getDance: ::std::option::Option<
10483 unsafe extern "C" fn(
10484 skirmishAIId: ::std::os::raw::c_int,
10485 weaponDefId: ::std::os::raw::c_int,
10486 ) -> f32,
10487 >,
10488 #[doc = " How high trajectory missiles will try to fly in."]
10489 pub WeaponDef_getTrajectoryHeight: ::std::option::Option<
10490 unsafe extern "C" fn(
10491 skirmishAIId: ::std::os::raw::c_int,
10492 weaponDefId: ::std::os::raw::c_int,
10493 ) -> f32,
10494 >,
10495 pub WeaponDef_isLargeBeamLaser: ::std::option::Option<
10496 unsafe extern "C" fn(
10497 skirmishAIId: ::std::os::raw::c_int,
10498 weaponDefId: ::std::os::raw::c_int,
10499 ) -> bool,
10500 >,
10501 #[doc = " If the weapon is a shield rather than a weapon."]
10502 pub WeaponDef_isShield: ::std::option::Option<
10503 unsafe extern "C" fn(
10504 skirmishAIId: ::std::os::raw::c_int,
10505 weaponDefId: ::std::os::raw::c_int,
10506 ) -> bool,
10507 >,
10508 #[doc = " If the weapon should be repulsed or absorbed."]
10509 pub WeaponDef_isShieldRepulser: ::std::option::Option<
10510 unsafe extern "C" fn(
10511 skirmishAIId: ::std::os::raw::c_int,
10512 weaponDefId: ::std::os::raw::c_int,
10513 ) -> bool,
10514 >,
10515 #[doc = " If the shield only affects enemy projectiles."]
10516 pub WeaponDef_isSmartShield: ::std::option::Option<
10517 unsafe extern "C" fn(
10518 skirmishAIId: ::std::os::raw::c_int,
10519 weaponDefId: ::std::os::raw::c_int,
10520 ) -> bool,
10521 >,
10522 #[doc = " If the shield only affects stuff coming from outside shield radius."]
10523 pub WeaponDef_isExteriorShield: ::std::option::Option<
10524 unsafe extern "C" fn(
10525 skirmishAIId: ::std::os::raw::c_int,
10526 weaponDefId: ::std::os::raw::c_int,
10527 ) -> bool,
10528 >,
10529 #[doc = " If the shield should be graphically shown."]
10530 pub WeaponDef_isVisibleShield: ::std::option::Option<
10531 unsafe extern "C" fn(
10532 skirmishAIId: ::std::os::raw::c_int,
10533 weaponDefId: ::std::os::raw::c_int,
10534 ) -> bool,
10535 >,
10536 #[doc = " If a small graphic should be shown at each repulse."]
10537 pub WeaponDef_isVisibleShieldRepulse: ::std::option::Option<
10538 unsafe extern "C" fn(
10539 skirmishAIId: ::std::os::raw::c_int,
10540 weaponDefId: ::std::os::raw::c_int,
10541 ) -> bool,
10542 >,
10543 #[doc = " The number of frames to draw the shield after it has been hit."]
10544 pub WeaponDef_getVisibleShieldHitFrames: ::std::option::Option<
10545 unsafe extern "C" fn(
10546 skirmishAIId: ::std::os::raw::c_int,
10547 weaponDefId: ::std::os::raw::c_int,
10548 ) -> ::std::os::raw::c_int,
10549 >,
10550 #[doc = " Amount of the resource used per shot or per second,\n depending on the type of projectile."]
10551 pub WeaponDef_Shield_getResourceUse: ::std::option::Option<
10552 unsafe extern "C" fn(
10553 skirmishAIId: ::std::os::raw::c_int,
10554 weaponDefId: ::std::os::raw::c_int,
10555 resourceId: ::std::os::raw::c_int,
10556 ) -> f32,
10557 >,
10558 #[doc = " Size of shield covered area"]
10559 pub WeaponDef_Shield_getRadius: ::std::option::Option<
10560 unsafe extern "C" fn(
10561 skirmishAIId: ::std::os::raw::c_int,
10562 weaponDefId: ::std::os::raw::c_int,
10563 ) -> f32,
10564 >,
10565 #[doc = " Shield acceleration on plasma stuff.\n How much will plasma be accelerated into the other direction\n when it hits the shield."]
10566 pub WeaponDef_Shield_getForce: ::std::option::Option<
10567 unsafe extern "C" fn(
10568 skirmishAIId: ::std::os::raw::c_int,
10569 weaponDefId: ::std::os::raw::c_int,
10570 ) -> f32,
10571 >,
10572 #[doc = " Maximum speed to which the shield can repulse plasma."]
10573 pub WeaponDef_Shield_getMaxSpeed: ::std::option::Option<
10574 unsafe extern "C" fn(
10575 skirmishAIId: ::std::os::raw::c_int,
10576 weaponDefId: ::std::os::raw::c_int,
10577 ) -> f32,
10578 >,
10579 #[doc = " Amount of damage the shield can reflect. (0=infinite)"]
10580 pub WeaponDef_Shield_getPower: ::std::option::Option<
10581 unsafe extern "C" fn(
10582 skirmishAIId: ::std::os::raw::c_int,
10583 weaponDefId: ::std::os::raw::c_int,
10584 ) -> f32,
10585 >,
10586 #[doc = " Amount of power that is regenerated per second."]
10587 pub WeaponDef_Shield_getPowerRegen: ::std::option::Option<
10588 unsafe extern "C" fn(
10589 skirmishAIId: ::std::os::raw::c_int,
10590 weaponDefId: ::std::os::raw::c_int,
10591 ) -> f32,
10592 >,
10593 #[doc = " How much of a given resource is needed to regenerate power\n with max speed per second."]
10594 pub WeaponDef_Shield_getPowerRegenResource: ::std::option::Option<
10595 unsafe extern "C" fn(
10596 skirmishAIId: ::std::os::raw::c_int,
10597 weaponDefId: ::std::os::raw::c_int,
10598 resourceId: ::std::os::raw::c_int,
10599 ) -> f32,
10600 >,
10601 #[doc = " How much power the shield has when it is created."]
10602 pub WeaponDef_Shield_getStartingPower: ::std::option::Option<
10603 unsafe extern "C" fn(
10604 skirmishAIId: ::std::os::raw::c_int,
10605 weaponDefId: ::std::os::raw::c_int,
10606 ) -> f32,
10607 >,
10608 #[doc = " Number of frames to delay recharging by after each hit."]
10609 pub WeaponDef_Shield_getRechargeDelay: ::std::option::Option<
10610 unsafe extern "C" fn(
10611 skirmishAIId: ::std::os::raw::c_int,
10612 weaponDefId: ::std::os::raw::c_int,
10613 ) -> ::std::os::raw::c_int,
10614 >,
10615 #[doc = " The type of the shield (bitfield).\n Defines what weapons can be intercepted by the shield.\n\n @see getInterceptedByShieldType()"]
10616 pub WeaponDef_Shield_getInterceptType: ::std::option::Option<
10617 unsafe extern "C" fn(
10618 skirmishAIId: ::std::os::raw::c_int,
10619 weaponDefId: ::std::os::raw::c_int,
10620 ) -> ::std::os::raw::c_int,
10621 >,
10622 #[doc = " The type of shields that can intercept this weapon (bitfield).\n The weapon can be affected by shields if:\n (shield.getInterceptType() & weapon.getInterceptedByShieldType()) != 0\n\n @see getInterceptType()"]
10623 pub WeaponDef_getInterceptedByShieldType: ::std::option::Option<
10624 unsafe extern "C" fn(
10625 skirmishAIId: ::std::os::raw::c_int,
10626 weaponDefId: ::std::os::raw::c_int,
10627 ) -> ::std::os::raw::c_int,
10628 >,
10629 #[doc = " Tries to avoid friendly units while aiming?"]
10630 pub WeaponDef_isAvoidFriendly: ::std::option::Option<
10631 unsafe extern "C" fn(
10632 skirmishAIId: ::std::os::raw::c_int,
10633 weaponDefId: ::std::os::raw::c_int,
10634 ) -> bool,
10635 >,
10636 #[doc = " Tries to avoid features while aiming?"]
10637 pub WeaponDef_isAvoidFeature: ::std::option::Option<
10638 unsafe extern "C" fn(
10639 skirmishAIId: ::std::os::raw::c_int,
10640 weaponDefId: ::std::os::raw::c_int,
10641 ) -> bool,
10642 >,
10643 #[doc = " Tries to avoid neutral units while aiming?"]
10644 pub WeaponDef_isAvoidNeutral: ::std::option::Option<
10645 unsafe extern "C" fn(
10646 skirmishAIId: ::std::os::raw::c_int,
10647 weaponDefId: ::std::os::raw::c_int,
10648 ) -> bool,
10649 >,
10650 #[doc = " If nonzero, targetting units will TryTarget at the edge of collision sphere\n (radius*tag value, [-1;1]) instead of its centre."]
10651 pub WeaponDef_getTargetBorder: ::std::option::Option<
10652 unsafe extern "C" fn(
10653 skirmishAIId: ::std::os::raw::c_int,
10654 weaponDefId: ::std::os::raw::c_int,
10655 ) -> f32,
10656 >,
10657 #[doc = " If greater than 0, the range will be checked in a cylinder\n (height=range*cylinderTargetting) instead of a sphere."]
10658 pub WeaponDef_getCylinderTargetting: ::std::option::Option<
10659 unsafe extern "C" fn(
10660 skirmishAIId: ::std::os::raw::c_int,
10661 weaponDefId: ::std::os::raw::c_int,
10662 ) -> f32,
10663 >,
10664 #[doc = " For beam-lasers only - always hit with some minimum intensity\n (a damage coeffcient normally dependent on distance).\n Do not confuse this with the intensity tag, it i completely unrelated."]
10665 pub WeaponDef_getMinIntensity: ::std::option::Option<
10666 unsafe extern "C" fn(
10667 skirmishAIId: ::std::os::raw::c_int,
10668 weaponDefId: ::std::os::raw::c_int,
10669 ) -> f32,
10670 >,
10671 #[doc = " Controls cannon range height boost.\n\n default: -1: automatically calculate a more or less sane value"]
10672 pub WeaponDef_getHeightBoostFactor: ::std::option::Option<
10673 unsafe extern "C" fn(
10674 skirmishAIId: ::std::os::raw::c_int,
10675 weaponDefId: ::std::os::raw::c_int,
10676 ) -> f32,
10677 >,
10678 #[doc = " Multiplier for the distance to the target for priority calculations."]
10679 pub WeaponDef_getProximityPriority: ::std::option::Option<
10680 unsafe extern "C" fn(
10681 skirmishAIId: ::std::os::raw::c_int,
10682 weaponDefId: ::std::os::raw::c_int,
10683 ) -> f32,
10684 >,
10685 pub WeaponDef_getCollisionFlags: ::std::option::Option<
10686 unsafe extern "C" fn(
10687 skirmishAIId: ::std::os::raw::c_int,
10688 weaponDefId: ::std::os::raw::c_int,
10689 ) -> ::std::os::raw::c_int,
10690 >,
10691 pub WeaponDef_isSweepFire: ::std::option::Option<
10692 unsafe extern "C" fn(
10693 skirmishAIId: ::std::os::raw::c_int,
10694 weaponDefId: ::std::os::raw::c_int,
10695 ) -> bool,
10696 >,
10697 pub WeaponDef_isAbleToAttackGround: ::std::option::Option<
10698 unsafe extern "C" fn(
10699 skirmishAIId: ::std::os::raw::c_int,
10700 weaponDefId: ::std::os::raw::c_int,
10701 ) -> bool,
10702 >,
10703 pub WeaponDef_getCameraShake: ::std::option::Option<
10704 unsafe extern "C" fn(
10705 skirmishAIId: ::std::os::raw::c_int,
10706 weaponDefId: ::std::os::raw::c_int,
10707 ) -> f32,
10708 >,
10709 pub WeaponDef_getDynDamageExp: ::std::option::Option<
10710 unsafe extern "C" fn(
10711 skirmishAIId: ::std::os::raw::c_int,
10712 weaponDefId: ::std::os::raw::c_int,
10713 ) -> f32,
10714 >,
10715 pub WeaponDef_getDynDamageMin: ::std::option::Option<
10716 unsafe extern "C" fn(
10717 skirmishAIId: ::std::os::raw::c_int,
10718 weaponDefId: ::std::os::raw::c_int,
10719 ) -> f32,
10720 >,
10721 pub WeaponDef_getDynDamageRange: ::std::option::Option<
10722 unsafe extern "C" fn(
10723 skirmishAIId: ::std::os::raw::c_int,
10724 weaponDefId: ::std::os::raw::c_int,
10725 ) -> f32,
10726 >,
10727 pub WeaponDef_isDynDamageInverted: ::std::option::Option<
10728 unsafe extern "C" fn(
10729 skirmishAIId: ::std::os::raw::c_int,
10730 weaponDefId: ::std::os::raw::c_int,
10731 ) -> bool,
10732 >,
10733 pub WeaponDef_getCustomParams: ::std::option::Option<
10734 unsafe extern "C" fn(
10735 skirmishAIId: ::std::os::raw::c_int,
10736 weaponDefId: ::std::os::raw::c_int,
10737 keys: *mut *const ::std::os::raw::c_char,
10738 values: *mut *const ::std::os::raw::c_char,
10739 ) -> ::std::os::raw::c_int,
10740 >,
10741 pub Unit_Weapon_getDef: ::std::option::Option<
10742 unsafe extern "C" fn(
10743 skirmishAIId: ::std::os::raw::c_int,
10744 unitId: ::std::os::raw::c_int,
10745 weaponId: ::std::os::raw::c_int,
10746 ) -> ::std::os::raw::c_int,
10747 >,
10748 #[doc = " Next tick the weapon can fire again."]
10749 pub Unit_Weapon_getReloadFrame: ::std::option::Option<
10750 unsafe extern "C" fn(
10751 skirmishAIId: ::std::os::raw::c_int,
10752 unitId: ::std::os::raw::c_int,
10753 weaponId: ::std::os::raw::c_int,
10754 ) -> ::std::os::raw::c_int,
10755 >,
10756 #[doc = " Time between succesive fires in ticks."]
10757 pub Unit_Weapon_getReloadTime: ::std::option::Option<
10758 unsafe extern "C" fn(
10759 skirmishAIId: ::std::os::raw::c_int,
10760 unitId: ::std::os::raw::c_int,
10761 weaponId: ::std::os::raw::c_int,
10762 ) -> ::std::os::raw::c_int,
10763 >,
10764 pub Unit_Weapon_getRange: ::std::option::Option<
10765 unsafe extern "C" fn(
10766 skirmishAIId: ::std::os::raw::c_int,
10767 unitId: ::std::os::raw::c_int,
10768 weaponId: ::std::os::raw::c_int,
10769 ) -> f32,
10770 >,
10771 pub Unit_Weapon_isShieldEnabled: ::std::option::Option<
10772 unsafe extern "C" fn(
10773 skirmishAIId: ::std::os::raw::c_int,
10774 unitId: ::std::os::raw::c_int,
10775 weaponId: ::std::os::raw::c_int,
10776 ) -> bool,
10777 >,
10778 pub Unit_Weapon_getShieldPower: ::std::option::Option<
10779 unsafe extern "C" fn(
10780 skirmishAIId: ::std::os::raw::c_int,
10781 unitId: ::std::os::raw::c_int,
10782 weaponId: ::std::os::raw::c_int,
10783 ) -> f32,
10784 >,
10785 pub Debug_GraphDrawer_isEnabled:
10786 ::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
10787}
10788#[test]
10789fn bindgen_test_layout_SSkirmishAICallback() {
10790 const UNINIT: ::std::mem::MaybeUninit<SSkirmishAICallback> = ::std::mem::MaybeUninit::uninit();
10791 let ptr = UNINIT.as_ptr();
10792 assert_eq!(
10793 ::std::mem::size_of::<SSkirmishAICallback>(),
10794 4720usize,
10795 concat!("Size of: ", stringify!(SSkirmishAICallback))
10796 );
10797 assert_eq!(
10798 ::std::mem::align_of::<SSkirmishAICallback>(),
10799 8usize,
10800 concat!("Alignment of ", stringify!(SSkirmishAICallback))
10801 );
10802 assert_eq!(
10803 unsafe { ::std::ptr::addr_of!((*ptr).Engine_handleCommand) as usize - ptr as usize },
10804 0usize,
10805 concat!(
10806 "Offset of field: ",
10807 stringify!(SSkirmishAICallback),
10808 "::",
10809 stringify!(Engine_handleCommand)
10810 )
10811 );
10812 assert_eq!(
10813 unsafe { ::std::ptr::addr_of!((*ptr).Engine_executeCommand) as usize - ptr as usize },
10814 8usize,
10815 concat!(
10816 "Offset of field: ",
10817 stringify!(SSkirmishAICallback),
10818 "::",
10819 stringify!(Engine_executeCommand)
10820 )
10821 );
10822 assert_eq!(
10823 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getMajor) as usize - ptr as usize },
10824 16usize,
10825 concat!(
10826 "Offset of field: ",
10827 stringify!(SSkirmishAICallback),
10828 "::",
10829 stringify!(Engine_Version_getMajor)
10830 )
10831 );
10832 assert_eq!(
10833 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getMinor) as usize - ptr as usize },
10834 24usize,
10835 concat!(
10836 "Offset of field: ",
10837 stringify!(SSkirmishAICallback),
10838 "::",
10839 stringify!(Engine_Version_getMinor)
10840 )
10841 );
10842 assert_eq!(
10843 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getPatchset) as usize - ptr as usize },
10844 32usize,
10845 concat!(
10846 "Offset of field: ",
10847 stringify!(SSkirmishAICallback),
10848 "::",
10849 stringify!(Engine_Version_getPatchset)
10850 )
10851 );
10852 assert_eq!(
10853 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getCommits) as usize - ptr as usize },
10854 40usize,
10855 concat!(
10856 "Offset of field: ",
10857 stringify!(SSkirmishAICallback),
10858 "::",
10859 stringify!(Engine_Version_getCommits)
10860 )
10861 );
10862 assert_eq!(
10863 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getHash) as usize - ptr as usize },
10864 48usize,
10865 concat!(
10866 "Offset of field: ",
10867 stringify!(SSkirmishAICallback),
10868 "::",
10869 stringify!(Engine_Version_getHash)
10870 )
10871 );
10872 assert_eq!(
10873 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getBranch) as usize - ptr as usize },
10874 56usize,
10875 concat!(
10876 "Offset of field: ",
10877 stringify!(SSkirmishAICallback),
10878 "::",
10879 stringify!(Engine_Version_getBranch)
10880 )
10881 );
10882 assert_eq!(
10883 unsafe {
10884 ::std::ptr::addr_of!((*ptr).Engine_Version_getAdditional) as usize - ptr as usize
10885 },
10886 64usize,
10887 concat!(
10888 "Offset of field: ",
10889 stringify!(SSkirmishAICallback),
10890 "::",
10891 stringify!(Engine_Version_getAdditional)
10892 )
10893 );
10894 assert_eq!(
10895 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getBuildTime) as usize - ptr as usize },
10896 72usize,
10897 concat!(
10898 "Offset of field: ",
10899 stringify!(SSkirmishAICallback),
10900 "::",
10901 stringify!(Engine_Version_getBuildTime)
10902 )
10903 );
10904 assert_eq!(
10905 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_isRelease) as usize - ptr as usize },
10906 80usize,
10907 concat!(
10908 "Offset of field: ",
10909 stringify!(SSkirmishAICallback),
10910 "::",
10911 stringify!(Engine_Version_isRelease)
10912 )
10913 );
10914 assert_eq!(
10915 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getNormal) as usize - ptr as usize },
10916 88usize,
10917 concat!(
10918 "Offset of field: ",
10919 stringify!(SSkirmishAICallback),
10920 "::",
10921 stringify!(Engine_Version_getNormal)
10922 )
10923 );
10924 assert_eq!(
10925 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getSync) as usize - ptr as usize },
10926 96usize,
10927 concat!(
10928 "Offset of field: ",
10929 stringify!(SSkirmishAICallback),
10930 "::",
10931 stringify!(Engine_Version_getSync)
10932 )
10933 );
10934 assert_eq!(
10935 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getFull) as usize - ptr as usize },
10936 104usize,
10937 concat!(
10938 "Offset of field: ",
10939 stringify!(SSkirmishAICallback),
10940 "::",
10941 stringify!(Engine_Version_getFull)
10942 )
10943 );
10944 assert_eq!(
10945 unsafe { ::std::ptr::addr_of!((*ptr).getNumTeams) as usize - ptr as usize },
10946 112usize,
10947 concat!(
10948 "Offset of field: ",
10949 stringify!(SSkirmishAICallback),
10950 "::",
10951 stringify!(getNumTeams)
10952 )
10953 );
10954 assert_eq!(
10955 unsafe { ::std::ptr::addr_of!((*ptr).getNumSkirmishAIs) as usize - ptr as usize },
10956 120usize,
10957 concat!(
10958 "Offset of field: ",
10959 stringify!(SSkirmishAICallback),
10960 "::",
10961 stringify!(getNumSkirmishAIs)
10962 )
10963 );
10964 assert_eq!(
10965 unsafe { ::std::ptr::addr_of!((*ptr).getMaxSkirmishAIs) as usize - ptr as usize },
10966 128usize,
10967 concat!(
10968 "Offset of field: ",
10969 stringify!(SSkirmishAICallback),
10970 "::",
10971 stringify!(getMaxSkirmishAIs)
10972 )
10973 );
10974 assert_eq!(
10975 unsafe { ::std::ptr::addr_of!((*ptr).SkirmishAI_getTeamId) as usize - ptr as usize },
10976 136usize,
10977 concat!(
10978 "Offset of field: ",
10979 stringify!(SSkirmishAICallback),
10980 "::",
10981 stringify!(SkirmishAI_getTeamId)
10982 )
10983 );
10984 assert_eq!(
10985 unsafe { ::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getSize) as usize - ptr as usize },
10986 144usize,
10987 concat!(
10988 "Offset of field: ",
10989 stringify!(SSkirmishAICallback),
10990 "::",
10991 stringify!(SkirmishAI_Info_getSize)
10992 )
10993 );
10994 assert_eq!(
10995 unsafe { ::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getKey) as usize - ptr as usize },
10996 152usize,
10997 concat!(
10998 "Offset of field: ",
10999 stringify!(SSkirmishAICallback),
11000 "::",
11001 stringify!(SkirmishAI_Info_getKey)
11002 )
11003 );
11004 assert_eq!(
11005 unsafe { ::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getValue) as usize - ptr as usize },
11006 160usize,
11007 concat!(
11008 "Offset of field: ",
11009 stringify!(SSkirmishAICallback),
11010 "::",
11011 stringify!(SkirmishAI_Info_getValue)
11012 )
11013 );
11014 assert_eq!(
11015 unsafe {
11016 ::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getDescription) as usize - ptr as usize
11017 },
11018 168usize,
11019 concat!(
11020 "Offset of field: ",
11021 stringify!(SSkirmishAICallback),
11022 "::",
11023 stringify!(SkirmishAI_Info_getDescription)
11024 )
11025 );
11026 assert_eq!(
11027 unsafe {
11028 ::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getValueByKey) as usize - ptr as usize
11029 },
11030 176usize,
11031 concat!(
11032 "Offset of field: ",
11033 stringify!(SSkirmishAICallback),
11034 "::",
11035 stringify!(SkirmishAI_Info_getValueByKey)
11036 )
11037 );
11038 assert_eq!(
11039 unsafe {
11040 ::std::ptr::addr_of!((*ptr).SkirmishAI_OptionValues_getSize) as usize - ptr as usize
11041 },
11042 184usize,
11043 concat!(
11044 "Offset of field: ",
11045 stringify!(SSkirmishAICallback),
11046 "::",
11047 stringify!(SkirmishAI_OptionValues_getSize)
11048 )
11049 );
11050 assert_eq!(
11051 unsafe {
11052 ::std::ptr::addr_of!((*ptr).SkirmishAI_OptionValues_getKey) as usize - ptr as usize
11053 },
11054 192usize,
11055 concat!(
11056 "Offset of field: ",
11057 stringify!(SSkirmishAICallback),
11058 "::",
11059 stringify!(SkirmishAI_OptionValues_getKey)
11060 )
11061 );
11062 assert_eq!(
11063 unsafe {
11064 ::std::ptr::addr_of!((*ptr).SkirmishAI_OptionValues_getValue) as usize - ptr as usize
11065 },
11066 200usize,
11067 concat!(
11068 "Offset of field: ",
11069 stringify!(SSkirmishAICallback),
11070 "::",
11071 stringify!(SkirmishAI_OptionValues_getValue)
11072 )
11073 );
11074 assert_eq!(
11075 unsafe {
11076 ::std::ptr::addr_of!((*ptr).SkirmishAI_OptionValues_getValueByKey) as usize
11077 - ptr as usize
11078 },
11079 208usize,
11080 concat!(
11081 "Offset of field: ",
11082 stringify!(SSkirmishAICallback),
11083 "::",
11084 stringify!(SkirmishAI_OptionValues_getValueByKey)
11085 )
11086 );
11087 assert_eq!(
11088 unsafe { ::std::ptr::addr_of!((*ptr).Log_log) as usize - ptr as usize },
11089 216usize,
11090 concat!(
11091 "Offset of field: ",
11092 stringify!(SSkirmishAICallback),
11093 "::",
11094 stringify!(Log_log)
11095 )
11096 );
11097 assert_eq!(
11098 unsafe { ::std::ptr::addr_of!((*ptr).Log_exception) as usize - ptr as usize },
11099 224usize,
11100 concat!(
11101 "Offset of field: ",
11102 stringify!(SSkirmishAICallback),
11103 "::",
11104 stringify!(Log_exception)
11105 )
11106 );
11107 assert_eq!(
11108 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getPathSeparator) as usize - ptr as usize },
11109 232usize,
11110 concat!(
11111 "Offset of field: ",
11112 stringify!(SSkirmishAICallback),
11113 "::",
11114 stringify!(DataDirs_getPathSeparator)
11115 )
11116 );
11117 assert_eq!(
11118 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getConfigDir) as usize - ptr as usize },
11119 240usize,
11120 concat!(
11121 "Offset of field: ",
11122 stringify!(SSkirmishAICallback),
11123 "::",
11124 stringify!(DataDirs_getConfigDir)
11125 )
11126 );
11127 assert_eq!(
11128 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getWriteableDir) as usize - ptr as usize },
11129 248usize,
11130 concat!(
11131 "Offset of field: ",
11132 stringify!(SSkirmishAICallback),
11133 "::",
11134 stringify!(DataDirs_getWriteableDir)
11135 )
11136 );
11137 assert_eq!(
11138 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_locatePath) as usize - ptr as usize },
11139 256usize,
11140 concat!(
11141 "Offset of field: ",
11142 stringify!(SSkirmishAICallback),
11143 "::",
11144 stringify!(DataDirs_locatePath)
11145 )
11146 );
11147 assert_eq!(
11148 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_getSize) as usize - ptr as usize },
11149 264usize,
11150 concat!(
11151 "Offset of field: ",
11152 stringify!(SSkirmishAICallback),
11153 "::",
11154 stringify!(DataDirs_Roots_getSize)
11155 )
11156 );
11157 assert_eq!(
11158 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_getDir) as usize - ptr as usize },
11159 272usize,
11160 concat!(
11161 "Offset of field: ",
11162 stringify!(SSkirmishAICallback),
11163 "::",
11164 stringify!(DataDirs_Roots_getDir)
11165 )
11166 );
11167 assert_eq!(
11168 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_locatePath) as usize - ptr as usize },
11169 280usize,
11170 concat!(
11171 "Offset of field: ",
11172 stringify!(SSkirmishAICallback),
11173 "::",
11174 stringify!(DataDirs_Roots_locatePath)
11175 )
11176 );
11177 assert_eq!(
11178 unsafe { ::std::ptr::addr_of!((*ptr).Game_getCurrentFrame) as usize - ptr as usize },
11179 288usize,
11180 concat!(
11181 "Offset of field: ",
11182 stringify!(SSkirmishAICallback),
11183 "::",
11184 stringify!(Game_getCurrentFrame)
11185 )
11186 );
11187 assert_eq!(
11188 unsafe { ::std::ptr::addr_of!((*ptr).Game_getAiInterfaceVersion) as usize - ptr as usize },
11189 296usize,
11190 concat!(
11191 "Offset of field: ",
11192 stringify!(SSkirmishAICallback),
11193 "::",
11194 stringify!(Game_getAiInterfaceVersion)
11195 )
11196 );
11197 assert_eq!(
11198 unsafe { ::std::ptr::addr_of!((*ptr).Game_getMyTeam) as usize - ptr as usize },
11199 304usize,
11200 concat!(
11201 "Offset of field: ",
11202 stringify!(SSkirmishAICallback),
11203 "::",
11204 stringify!(Game_getMyTeam)
11205 )
11206 );
11207 assert_eq!(
11208 unsafe { ::std::ptr::addr_of!((*ptr).Game_getMyAllyTeam) as usize - ptr as usize },
11209 312usize,
11210 concat!(
11211 "Offset of field: ",
11212 stringify!(SSkirmishAICallback),
11213 "::",
11214 stringify!(Game_getMyAllyTeam)
11215 )
11216 );
11217 assert_eq!(
11218 unsafe { ::std::ptr::addr_of!((*ptr).Game_getPlayerTeam) as usize - ptr as usize },
11219 320usize,
11220 concat!(
11221 "Offset of field: ",
11222 stringify!(SSkirmishAICallback),
11223 "::",
11224 stringify!(Game_getPlayerTeam)
11225 )
11226 );
11227 assert_eq!(
11228 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeams) as usize - ptr as usize },
11229 328usize,
11230 concat!(
11231 "Offset of field: ",
11232 stringify!(SSkirmishAICallback),
11233 "::",
11234 stringify!(Game_getTeams)
11235 )
11236 );
11237 assert_eq!(
11238 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamSide) as usize - ptr as usize },
11239 336usize,
11240 concat!(
11241 "Offset of field: ",
11242 stringify!(SSkirmishAICallback),
11243 "::",
11244 stringify!(Game_getTeamSide)
11245 )
11246 );
11247 assert_eq!(
11248 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamColor) as usize - ptr as usize },
11249 344usize,
11250 concat!(
11251 "Offset of field: ",
11252 stringify!(SSkirmishAICallback),
11253 "::",
11254 stringify!(Game_getTeamColor)
11255 )
11256 );
11257 assert_eq!(
11258 unsafe {
11259 ::std::ptr::addr_of!((*ptr).Game_getTeamIncomeMultiplier) as usize - ptr as usize
11260 },
11261 352usize,
11262 concat!(
11263 "Offset of field: ",
11264 stringify!(SSkirmishAICallback),
11265 "::",
11266 stringify!(Game_getTeamIncomeMultiplier)
11267 )
11268 );
11269 assert_eq!(
11270 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamAllyTeam) as usize - ptr as usize },
11271 360usize,
11272 concat!(
11273 "Offset of field: ",
11274 stringify!(SSkirmishAICallback),
11275 "::",
11276 stringify!(Game_getTeamAllyTeam)
11277 )
11278 );
11279 assert_eq!(
11280 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceCurrent) as usize - ptr as usize },
11281 368usize,
11282 concat!(
11283 "Offset of field: ",
11284 stringify!(SSkirmishAICallback),
11285 "::",
11286 stringify!(Game_getTeamResourceCurrent)
11287 )
11288 );
11289 assert_eq!(
11290 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceIncome) as usize - ptr as usize },
11291 376usize,
11292 concat!(
11293 "Offset of field: ",
11294 stringify!(SSkirmishAICallback),
11295 "::",
11296 stringify!(Game_getTeamResourceIncome)
11297 )
11298 );
11299 assert_eq!(
11300 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceUsage) as usize - ptr as usize },
11301 384usize,
11302 concat!(
11303 "Offset of field: ",
11304 stringify!(SSkirmishAICallback),
11305 "::",
11306 stringify!(Game_getTeamResourceUsage)
11307 )
11308 );
11309 assert_eq!(
11310 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceStorage) as usize - ptr as usize },
11311 392usize,
11312 concat!(
11313 "Offset of field: ",
11314 stringify!(SSkirmishAICallback),
11315 "::",
11316 stringify!(Game_getTeamResourceStorage)
11317 )
11318 );
11319 assert_eq!(
11320 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourcePull) as usize - ptr as usize },
11321 400usize,
11322 concat!(
11323 "Offset of field: ",
11324 stringify!(SSkirmishAICallback),
11325 "::",
11326 stringify!(Game_getTeamResourcePull)
11327 )
11328 );
11329 assert_eq!(
11330 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceShare) as usize - ptr as usize },
11331 408usize,
11332 concat!(
11333 "Offset of field: ",
11334 stringify!(SSkirmishAICallback),
11335 "::",
11336 stringify!(Game_getTeamResourceShare)
11337 )
11338 );
11339 assert_eq!(
11340 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceSent) as usize - ptr as usize },
11341 416usize,
11342 concat!(
11343 "Offset of field: ",
11344 stringify!(SSkirmishAICallback),
11345 "::",
11346 stringify!(Game_getTeamResourceSent)
11347 )
11348 );
11349 assert_eq!(
11350 unsafe {
11351 ::std::ptr::addr_of!((*ptr).Game_getTeamResourceReceived) as usize - ptr as usize
11352 },
11353 424usize,
11354 concat!(
11355 "Offset of field: ",
11356 stringify!(SSkirmishAICallback),
11357 "::",
11358 stringify!(Game_getTeamResourceReceived)
11359 )
11360 );
11361 assert_eq!(
11362 unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceExcess) as usize - ptr as usize },
11363 432usize,
11364 concat!(
11365 "Offset of field: ",
11366 stringify!(SSkirmishAICallback),
11367 "::",
11368 stringify!(Game_getTeamResourceExcess)
11369 )
11370 );
11371 assert_eq!(
11372 unsafe { ::std::ptr::addr_of!((*ptr).Game_isAllied) as usize - ptr as usize },
11373 440usize,
11374 concat!(
11375 "Offset of field: ",
11376 stringify!(SSkirmishAICallback),
11377 "::",
11378 stringify!(Game_isAllied)
11379 )
11380 );
11381 assert_eq!(
11382 unsafe { ::std::ptr::addr_of!((*ptr).Game_isDebugModeEnabled) as usize - ptr as usize },
11383 448usize,
11384 concat!(
11385 "Offset of field: ",
11386 stringify!(SSkirmishAICallback),
11387 "::",
11388 stringify!(Game_isDebugModeEnabled)
11389 )
11390 );
11391 assert_eq!(
11392 unsafe { ::std::ptr::addr_of!((*ptr).Game_getMode) as usize - ptr as usize },
11393 456usize,
11394 concat!(
11395 "Offset of field: ",
11396 stringify!(SSkirmishAICallback),
11397 "::",
11398 stringify!(Game_getMode)
11399 )
11400 );
11401 assert_eq!(
11402 unsafe { ::std::ptr::addr_of!((*ptr).Game_isPaused) as usize - ptr as usize },
11403 464usize,
11404 concat!(
11405 "Offset of field: ",
11406 stringify!(SSkirmishAICallback),
11407 "::",
11408 stringify!(Game_isPaused)
11409 )
11410 );
11411 assert_eq!(
11412 unsafe { ::std::ptr::addr_of!((*ptr).Game_getSpeedFactor) as usize - ptr as usize },
11413 472usize,
11414 concat!(
11415 "Offset of field: ",
11416 stringify!(SSkirmishAICallback),
11417 "::",
11418 stringify!(Game_getSpeedFactor)
11419 )
11420 );
11421 assert_eq!(
11422 unsafe { ::std::ptr::addr_of!((*ptr).Game_getSetupScript) as usize - ptr as usize },
11423 480usize,
11424 concat!(
11425 "Offset of field: ",
11426 stringify!(SSkirmishAICallback),
11427 "::",
11428 stringify!(Game_getSetupScript)
11429 )
11430 );
11431 assert_eq!(
11432 unsafe { ::std::ptr::addr_of!((*ptr).Game_getCategoryFlag) as usize - ptr as usize },
11433 488usize,
11434 concat!(
11435 "Offset of field: ",
11436 stringify!(SSkirmishAICallback),
11437 "::",
11438 stringify!(Game_getCategoryFlag)
11439 )
11440 );
11441 assert_eq!(
11442 unsafe { ::std::ptr::addr_of!((*ptr).Game_getCategoriesFlag) as usize - ptr as usize },
11443 496usize,
11444 concat!(
11445 "Offset of field: ",
11446 stringify!(SSkirmishAICallback),
11447 "::",
11448 stringify!(Game_getCategoriesFlag)
11449 )
11450 );
11451 assert_eq!(
11452 unsafe { ::std::ptr::addr_of!((*ptr).Game_getCategoryName) as usize - ptr as usize },
11453 504usize,
11454 concat!(
11455 "Offset of field: ",
11456 stringify!(SSkirmishAICallback),
11457 "::",
11458 stringify!(Game_getCategoryName)
11459 )
11460 );
11461 assert_eq!(
11462 unsafe { ::std::ptr::addr_of!((*ptr).Game_getRulesParamFloat) as usize - ptr as usize },
11463 512usize,
11464 concat!(
11465 "Offset of field: ",
11466 stringify!(SSkirmishAICallback),
11467 "::",
11468 stringify!(Game_getRulesParamFloat)
11469 )
11470 );
11471 assert_eq!(
11472 unsafe { ::std::ptr::addr_of!((*ptr).Game_getRulesParamString) as usize - ptr as usize },
11473 520usize,
11474 concat!(
11475 "Offset of field: ",
11476 stringify!(SSkirmishAICallback),
11477 "::",
11478 stringify!(Game_getRulesParamString)
11479 )
11480 );
11481 assert_eq!(
11482 unsafe { ::std::ptr::addr_of!((*ptr).Cheats_isEnabled) as usize - ptr as usize },
11483 528usize,
11484 concat!(
11485 "Offset of field: ",
11486 stringify!(SSkirmishAICallback),
11487 "::",
11488 stringify!(Cheats_isEnabled)
11489 )
11490 );
11491 assert_eq!(
11492 unsafe { ::std::ptr::addr_of!((*ptr).Cheats_setEnabled) as usize - ptr as usize },
11493 536usize,
11494 concat!(
11495 "Offset of field: ",
11496 stringify!(SSkirmishAICallback),
11497 "::",
11498 stringify!(Cheats_setEnabled)
11499 )
11500 );
11501 assert_eq!(
11502 unsafe { ::std::ptr::addr_of!((*ptr).Cheats_setEventsEnabled) as usize - ptr as usize },
11503 544usize,
11504 concat!(
11505 "Offset of field: ",
11506 stringify!(SSkirmishAICallback),
11507 "::",
11508 stringify!(Cheats_setEventsEnabled)
11509 )
11510 );
11511 assert_eq!(
11512 unsafe { ::std::ptr::addr_of!((*ptr).Cheats_isOnlyPassive) as usize - ptr as usize },
11513 552usize,
11514 concat!(
11515 "Offset of field: ",
11516 stringify!(SSkirmishAICallback),
11517 "::",
11518 stringify!(Cheats_isOnlyPassive)
11519 )
11520 );
11521 assert_eq!(
11522 unsafe { ::std::ptr::addr_of!((*ptr).getResources) as usize - ptr as usize },
11523 560usize,
11524 concat!(
11525 "Offset of field: ",
11526 stringify!(SSkirmishAICallback),
11527 "::",
11528 stringify!(getResources)
11529 )
11530 );
11531 assert_eq!(
11532 unsafe { ::std::ptr::addr_of!((*ptr).getResourceByName) as usize - ptr as usize },
11533 568usize,
11534 concat!(
11535 "Offset of field: ",
11536 stringify!(SSkirmishAICallback),
11537 "::",
11538 stringify!(getResourceByName)
11539 )
11540 );
11541 assert_eq!(
11542 unsafe { ::std::ptr::addr_of!((*ptr).Resource_getName) as usize - ptr as usize },
11543 576usize,
11544 concat!(
11545 "Offset of field: ",
11546 stringify!(SSkirmishAICallback),
11547 "::",
11548 stringify!(Resource_getName)
11549 )
11550 );
11551 assert_eq!(
11552 unsafe { ::std::ptr::addr_of!((*ptr).Resource_getOptimum) as usize - ptr as usize },
11553 584usize,
11554 concat!(
11555 "Offset of field: ",
11556 stringify!(SSkirmishAICallback),
11557 "::",
11558 stringify!(Resource_getOptimum)
11559 )
11560 );
11561 assert_eq!(
11562 unsafe { ::std::ptr::addr_of!((*ptr).Economy_getCurrent) as usize - ptr as usize },
11563 592usize,
11564 concat!(
11565 "Offset of field: ",
11566 stringify!(SSkirmishAICallback),
11567 "::",
11568 stringify!(Economy_getCurrent)
11569 )
11570 );
11571 assert_eq!(
11572 unsafe { ::std::ptr::addr_of!((*ptr).Economy_getIncome) as usize - ptr as usize },
11573 600usize,
11574 concat!(
11575 "Offset of field: ",
11576 stringify!(SSkirmishAICallback),
11577 "::",
11578 stringify!(Economy_getIncome)
11579 )
11580 );
11581 assert_eq!(
11582 unsafe { ::std::ptr::addr_of!((*ptr).Economy_getUsage) as usize - ptr as usize },
11583 608usize,
11584 concat!(
11585 "Offset of field: ",
11586 stringify!(SSkirmishAICallback),
11587 "::",
11588 stringify!(Economy_getUsage)
11589 )
11590 );
11591 assert_eq!(
11592 unsafe { ::std::ptr::addr_of!((*ptr).Economy_getStorage) as usize - ptr as usize },
11593 616usize,
11594 concat!(
11595 "Offset of field: ",
11596 stringify!(SSkirmishAICallback),
11597 "::",
11598 stringify!(Economy_getStorage)
11599 )
11600 );
11601 assert_eq!(
11602 unsafe { ::std::ptr::addr_of!((*ptr).Economy_getPull) as usize - ptr as usize },
11603 624usize,
11604 concat!(
11605 "Offset of field: ",
11606 stringify!(SSkirmishAICallback),
11607 "::",
11608 stringify!(Economy_getPull)
11609 )
11610 );
11611 assert_eq!(
11612 unsafe { ::std::ptr::addr_of!((*ptr).Economy_getShare) as usize - ptr as usize },
11613 632usize,
11614 concat!(
11615 "Offset of field: ",
11616 stringify!(SSkirmishAICallback),
11617 "::",
11618 stringify!(Economy_getShare)
11619 )
11620 );
11621 assert_eq!(
11622 unsafe { ::std::ptr::addr_of!((*ptr).Economy_getSent) as usize - ptr as usize },
11623 640usize,
11624 concat!(
11625 "Offset of field: ",
11626 stringify!(SSkirmishAICallback),
11627 "::",
11628 stringify!(Economy_getSent)
11629 )
11630 );
11631 assert_eq!(
11632 unsafe { ::std::ptr::addr_of!((*ptr).Economy_getReceived) as usize - ptr as usize },
11633 648usize,
11634 concat!(
11635 "Offset of field: ",
11636 stringify!(SSkirmishAICallback),
11637 "::",
11638 stringify!(Economy_getReceived)
11639 )
11640 );
11641 assert_eq!(
11642 unsafe { ::std::ptr::addr_of!((*ptr).Economy_getExcess) as usize - ptr as usize },
11643 656usize,
11644 concat!(
11645 "Offset of field: ",
11646 stringify!(SSkirmishAICallback),
11647 "::",
11648 stringify!(Economy_getExcess)
11649 )
11650 );
11651 assert_eq!(
11652 unsafe { ::std::ptr::addr_of!((*ptr).File_getSize) as usize - ptr as usize },
11653 664usize,
11654 concat!(
11655 "Offset of field: ",
11656 stringify!(SSkirmishAICallback),
11657 "::",
11658 stringify!(File_getSize)
11659 )
11660 );
11661 assert_eq!(
11662 unsafe { ::std::ptr::addr_of!((*ptr).File_getContent) as usize - ptr as usize },
11663 672usize,
11664 concat!(
11665 "Offset of field: ",
11666 stringify!(SSkirmishAICallback),
11667 "::",
11668 stringify!(File_getContent)
11669 )
11670 );
11671 assert_eq!(
11672 unsafe { ::std::ptr::addr_of!((*ptr).getUnitDefs) as usize - ptr as usize },
11673 680usize,
11674 concat!(
11675 "Offset of field: ",
11676 stringify!(SSkirmishAICallback),
11677 "::",
11678 stringify!(getUnitDefs)
11679 )
11680 );
11681 assert_eq!(
11682 unsafe { ::std::ptr::addr_of!((*ptr).getUnitDefByName) as usize - ptr as usize },
11683 688usize,
11684 concat!(
11685 "Offset of field: ",
11686 stringify!(SSkirmishAICallback),
11687 "::",
11688 stringify!(getUnitDefByName)
11689 )
11690 );
11691 assert_eq!(
11692 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getHeight) as usize - ptr as usize },
11693 696usize,
11694 concat!(
11695 "Offset of field: ",
11696 stringify!(SSkirmishAICallback),
11697 "::",
11698 stringify!(UnitDef_getHeight)
11699 )
11700 );
11701 assert_eq!(
11702 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getRadius) as usize - ptr as usize },
11703 704usize,
11704 concat!(
11705 "Offset of field: ",
11706 stringify!(SSkirmishAICallback),
11707 "::",
11708 stringify!(UnitDef_getRadius)
11709 )
11710 );
11711 assert_eq!(
11712 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getName) as usize - ptr as usize },
11713 712usize,
11714 concat!(
11715 "Offset of field: ",
11716 stringify!(SSkirmishAICallback),
11717 "::",
11718 stringify!(UnitDef_getName)
11719 )
11720 );
11721 assert_eq!(
11722 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getHumanName) as usize - ptr as usize },
11723 720usize,
11724 concat!(
11725 "Offset of field: ",
11726 stringify!(SSkirmishAICallback),
11727 "::",
11728 stringify!(UnitDef_getHumanName)
11729 )
11730 );
11731 assert_eq!(
11732 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getUpkeep) as usize - ptr as usize },
11733 728usize,
11734 concat!(
11735 "Offset of field: ",
11736 stringify!(SSkirmishAICallback),
11737 "::",
11738 stringify!(UnitDef_getUpkeep)
11739 )
11740 );
11741 assert_eq!(
11742 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getResourceMake) as usize - ptr as usize },
11743 736usize,
11744 concat!(
11745 "Offset of field: ",
11746 stringify!(SSkirmishAICallback),
11747 "::",
11748 stringify!(UnitDef_getResourceMake)
11749 )
11750 );
11751 assert_eq!(
11752 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMakesResource) as usize - ptr as usize },
11753 744usize,
11754 concat!(
11755 "Offset of field: ",
11756 stringify!(SSkirmishAICallback),
11757 "::",
11758 stringify!(UnitDef_getMakesResource)
11759 )
11760 );
11761 assert_eq!(
11762 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCost) as usize - ptr as usize },
11763 752usize,
11764 concat!(
11765 "Offset of field: ",
11766 stringify!(SSkirmishAICallback),
11767 "::",
11768 stringify!(UnitDef_getCost)
11769 )
11770 );
11771 assert_eq!(
11772 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getExtractsResource) as usize - ptr as usize },
11773 760usize,
11774 concat!(
11775 "Offset of field: ",
11776 stringify!(SSkirmishAICallback),
11777 "::",
11778 stringify!(UnitDef_getExtractsResource)
11779 )
11780 );
11781 assert_eq!(
11782 unsafe {
11783 ::std::ptr::addr_of!((*ptr).UnitDef_getResourceExtractorRange) as usize - ptr as usize
11784 },
11785 768usize,
11786 concat!(
11787 "Offset of field: ",
11788 stringify!(SSkirmishAICallback),
11789 "::",
11790 stringify!(UnitDef_getResourceExtractorRange)
11791 )
11792 );
11793 assert_eq!(
11794 unsafe {
11795 ::std::ptr::addr_of!((*ptr).UnitDef_getWindResourceGenerator) as usize - ptr as usize
11796 },
11797 776usize,
11798 concat!(
11799 "Offset of field: ",
11800 stringify!(SSkirmishAICallback),
11801 "::",
11802 stringify!(UnitDef_getWindResourceGenerator)
11803 )
11804 );
11805 assert_eq!(
11806 unsafe {
11807 ::std::ptr::addr_of!((*ptr).UnitDef_getTidalResourceGenerator) as usize - ptr as usize
11808 },
11809 784usize,
11810 concat!(
11811 "Offset of field: ",
11812 stringify!(SSkirmishAICallback),
11813 "::",
11814 stringify!(UnitDef_getTidalResourceGenerator)
11815 )
11816 );
11817 assert_eq!(
11818 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getStorage) as usize - ptr as usize },
11819 792usize,
11820 concat!(
11821 "Offset of field: ",
11822 stringify!(SSkirmishAICallback),
11823 "::",
11824 stringify!(UnitDef_getStorage)
11825 )
11826 );
11827 assert_eq!(
11828 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getBuildTime) as usize - ptr as usize },
11829 800usize,
11830 concat!(
11831 "Offset of field: ",
11832 stringify!(SSkirmishAICallback),
11833 "::",
11834 stringify!(UnitDef_getBuildTime)
11835 )
11836 );
11837 assert_eq!(
11838 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getAutoHeal) as usize - ptr as usize },
11839 808usize,
11840 concat!(
11841 "Offset of field: ",
11842 stringify!(SSkirmishAICallback),
11843 "::",
11844 stringify!(UnitDef_getAutoHeal)
11845 )
11846 );
11847 assert_eq!(
11848 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getIdleAutoHeal) as usize - ptr as usize },
11849 816usize,
11850 concat!(
11851 "Offset of field: ",
11852 stringify!(SSkirmishAICallback),
11853 "::",
11854 stringify!(UnitDef_getIdleAutoHeal)
11855 )
11856 );
11857 assert_eq!(
11858 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getIdleTime) as usize - ptr as usize },
11859 824usize,
11860 concat!(
11861 "Offset of field: ",
11862 stringify!(SSkirmishAICallback),
11863 "::",
11864 stringify!(UnitDef_getIdleTime)
11865 )
11866 );
11867 assert_eq!(
11868 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getPower) as usize - ptr as usize },
11869 832usize,
11870 concat!(
11871 "Offset of field: ",
11872 stringify!(SSkirmishAICallback),
11873 "::",
11874 stringify!(UnitDef_getPower)
11875 )
11876 );
11877 assert_eq!(
11878 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getHealth) as usize - ptr as usize },
11879 840usize,
11880 concat!(
11881 "Offset of field: ",
11882 stringify!(SSkirmishAICallback),
11883 "::",
11884 stringify!(UnitDef_getHealth)
11885 )
11886 );
11887 assert_eq!(
11888 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCategory) as usize - ptr as usize },
11889 848usize,
11890 concat!(
11891 "Offset of field: ",
11892 stringify!(SSkirmishAICallback),
11893 "::",
11894 stringify!(UnitDef_getCategory)
11895 )
11896 );
11897 assert_eq!(
11898 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSpeed) as usize - ptr as usize },
11899 856usize,
11900 concat!(
11901 "Offset of field: ",
11902 stringify!(SSkirmishAICallback),
11903 "::",
11904 stringify!(UnitDef_getSpeed)
11905 )
11906 );
11907 assert_eq!(
11908 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTurnRate) as usize - ptr as usize },
11909 864usize,
11910 concat!(
11911 "Offset of field: ",
11912 stringify!(SSkirmishAICallback),
11913 "::",
11914 stringify!(UnitDef_getTurnRate)
11915 )
11916 );
11917 assert_eq!(
11918 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isTurnInPlace) as usize - ptr as usize },
11919 872usize,
11920 concat!(
11921 "Offset of field: ",
11922 stringify!(SSkirmishAICallback),
11923 "::",
11924 stringify!(UnitDef_isTurnInPlace)
11925 )
11926 );
11927 assert_eq!(
11928 unsafe {
11929 ::std::ptr::addr_of!((*ptr).UnitDef_getTurnInPlaceDistance) as usize - ptr as usize
11930 },
11931 880usize,
11932 concat!(
11933 "Offset of field: ",
11934 stringify!(SSkirmishAICallback),
11935 "::",
11936 stringify!(UnitDef_getTurnInPlaceDistance)
11937 )
11938 );
11939 assert_eq!(
11940 unsafe {
11941 ::std::ptr::addr_of!((*ptr).UnitDef_getTurnInPlaceSpeedLimit) as usize - ptr as usize
11942 },
11943 888usize,
11944 concat!(
11945 "Offset of field: ",
11946 stringify!(SSkirmishAICallback),
11947 "::",
11948 stringify!(UnitDef_getTurnInPlaceSpeedLimit)
11949 )
11950 );
11951 assert_eq!(
11952 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isUpright) as usize - ptr as usize },
11953 896usize,
11954 concat!(
11955 "Offset of field: ",
11956 stringify!(SSkirmishAICallback),
11957 "::",
11958 stringify!(UnitDef_isUpright)
11959 )
11960 );
11961 assert_eq!(
11962 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isCollide) as usize - ptr as usize },
11963 904usize,
11964 concat!(
11965 "Offset of field: ",
11966 stringify!(SSkirmishAICallback),
11967 "::",
11968 stringify!(UnitDef_isCollide)
11969 )
11970 );
11971 assert_eq!(
11972 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getLosRadius) as usize - ptr as usize },
11973 912usize,
11974 concat!(
11975 "Offset of field: ",
11976 stringify!(SSkirmishAICallback),
11977 "::",
11978 stringify!(UnitDef_getLosRadius)
11979 )
11980 );
11981 assert_eq!(
11982 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getAirLosRadius) as usize - ptr as usize },
11983 920usize,
11984 concat!(
11985 "Offset of field: ",
11986 stringify!(SSkirmishAICallback),
11987 "::",
11988 stringify!(UnitDef_getAirLosRadius)
11989 )
11990 );
11991 assert_eq!(
11992 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getLosHeight) as usize - ptr as usize },
11993 928usize,
11994 concat!(
11995 "Offset of field: ",
11996 stringify!(SSkirmishAICallback),
11997 "::",
11998 stringify!(UnitDef_getLosHeight)
11999 )
12000 );
12001 assert_eq!(
12002 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getRadarRadius) as usize - ptr as usize },
12003 936usize,
12004 concat!(
12005 "Offset of field: ",
12006 stringify!(SSkirmishAICallback),
12007 "::",
12008 stringify!(UnitDef_getRadarRadius)
12009 )
12010 );
12011 assert_eq!(
12012 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSonarRadius) as usize - ptr as usize },
12013 944usize,
12014 concat!(
12015 "Offset of field: ",
12016 stringify!(SSkirmishAICallback),
12017 "::",
12018 stringify!(UnitDef_getSonarRadius)
12019 )
12020 );
12021 assert_eq!(
12022 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getJammerRadius) as usize - ptr as usize },
12023 952usize,
12024 concat!(
12025 "Offset of field: ",
12026 stringify!(SSkirmishAICallback),
12027 "::",
12028 stringify!(UnitDef_getJammerRadius)
12029 )
12030 );
12031 assert_eq!(
12032 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSonarJamRadius) as usize - ptr as usize },
12033 960usize,
12034 concat!(
12035 "Offset of field: ",
12036 stringify!(SSkirmishAICallback),
12037 "::",
12038 stringify!(UnitDef_getSonarJamRadius)
12039 )
12040 );
12041 assert_eq!(
12042 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSeismicRadius) as usize - ptr as usize },
12043 968usize,
12044 concat!(
12045 "Offset of field: ",
12046 stringify!(SSkirmishAICallback),
12047 "::",
12048 stringify!(UnitDef_getSeismicRadius)
12049 )
12050 );
12051 assert_eq!(
12052 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSeismicSignature) as usize - ptr as usize },
12053 976usize,
12054 concat!(
12055 "Offset of field: ",
12056 stringify!(SSkirmishAICallback),
12057 "::",
12058 stringify!(UnitDef_getSeismicSignature)
12059 )
12060 );
12061 assert_eq!(
12062 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isStealth) as usize - ptr as usize },
12063 984usize,
12064 concat!(
12065 "Offset of field: ",
12066 stringify!(SSkirmishAICallback),
12067 "::",
12068 stringify!(UnitDef_isStealth)
12069 )
12070 );
12071 assert_eq!(
12072 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isSonarStealth) as usize - ptr as usize },
12073 992usize,
12074 concat!(
12075 "Offset of field: ",
12076 stringify!(SSkirmishAICallback),
12077 "::",
12078 stringify!(UnitDef_isSonarStealth)
12079 )
12080 );
12081 assert_eq!(
12082 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isBuildRange3D) as usize - ptr as usize },
12083 1000usize,
12084 concat!(
12085 "Offset of field: ",
12086 stringify!(SSkirmishAICallback),
12087 "::",
12088 stringify!(UnitDef_isBuildRange3D)
12089 )
12090 );
12091 assert_eq!(
12092 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getBuildDistance) as usize - ptr as usize },
12093 1008usize,
12094 concat!(
12095 "Offset of field: ",
12096 stringify!(SSkirmishAICallback),
12097 "::",
12098 stringify!(UnitDef_getBuildDistance)
12099 )
12100 );
12101 assert_eq!(
12102 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getBuildSpeed) as usize - ptr as usize },
12103 1016usize,
12104 concat!(
12105 "Offset of field: ",
12106 stringify!(SSkirmishAICallback),
12107 "::",
12108 stringify!(UnitDef_getBuildSpeed)
12109 )
12110 );
12111 assert_eq!(
12112 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getReclaimSpeed) as usize - ptr as usize },
12113 1024usize,
12114 concat!(
12115 "Offset of field: ",
12116 stringify!(SSkirmishAICallback),
12117 "::",
12118 stringify!(UnitDef_getReclaimSpeed)
12119 )
12120 );
12121 assert_eq!(
12122 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getRepairSpeed) as usize - ptr as usize },
12123 1032usize,
12124 concat!(
12125 "Offset of field: ",
12126 stringify!(SSkirmishAICallback),
12127 "::",
12128 stringify!(UnitDef_getRepairSpeed)
12129 )
12130 );
12131 assert_eq!(
12132 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxRepairSpeed) as usize - ptr as usize },
12133 1040usize,
12134 concat!(
12135 "Offset of field: ",
12136 stringify!(SSkirmishAICallback),
12137 "::",
12138 stringify!(UnitDef_getMaxRepairSpeed)
12139 )
12140 );
12141 assert_eq!(
12142 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getResurrectSpeed) as usize - ptr as usize },
12143 1048usize,
12144 concat!(
12145 "Offset of field: ",
12146 stringify!(SSkirmishAICallback),
12147 "::",
12148 stringify!(UnitDef_getResurrectSpeed)
12149 )
12150 );
12151 assert_eq!(
12152 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCaptureSpeed) as usize - ptr as usize },
12153 1056usize,
12154 concat!(
12155 "Offset of field: ",
12156 stringify!(SSkirmishAICallback),
12157 "::",
12158 stringify!(UnitDef_getCaptureSpeed)
12159 )
12160 );
12161 assert_eq!(
12162 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTerraformSpeed) as usize - ptr as usize },
12163 1064usize,
12164 concat!(
12165 "Offset of field: ",
12166 stringify!(SSkirmishAICallback),
12167 "::",
12168 stringify!(UnitDef_getTerraformSpeed)
12169 )
12170 );
12171 assert_eq!(
12172 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getUpDirSmoothing) as usize - ptr as usize },
12173 1072usize,
12174 concat!(
12175 "Offset of field: ",
12176 stringify!(SSkirmishAICallback),
12177 "::",
12178 stringify!(UnitDef_getUpDirSmoothing)
12179 )
12180 );
12181 assert_eq!(
12182 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMass) as usize - ptr as usize },
12183 1080usize,
12184 concat!(
12185 "Offset of field: ",
12186 stringify!(SSkirmishAICallback),
12187 "::",
12188 stringify!(UnitDef_getMass)
12189 )
12190 );
12191 assert_eq!(
12192 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isPushResistant) as usize - ptr as usize },
12193 1088usize,
12194 concat!(
12195 "Offset of field: ",
12196 stringify!(SSkirmishAICallback),
12197 "::",
12198 stringify!(UnitDef_isPushResistant)
12199 )
12200 );
12201 assert_eq!(
12202 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isStrafeToAttack) as usize - ptr as usize },
12203 1096usize,
12204 concat!(
12205 "Offset of field: ",
12206 stringify!(SSkirmishAICallback),
12207 "::",
12208 stringify!(UnitDef_isStrafeToAttack)
12209 )
12210 );
12211 assert_eq!(
12212 unsafe {
12213 ::std::ptr::addr_of!((*ptr).UnitDef_getMinCollisionSpeed) as usize - ptr as usize
12214 },
12215 1104usize,
12216 concat!(
12217 "Offset of field: ",
12218 stringify!(SSkirmishAICallback),
12219 "::",
12220 stringify!(UnitDef_getMinCollisionSpeed)
12221 )
12222 );
12223 assert_eq!(
12224 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSlideTolerance) as usize - ptr as usize },
12225 1112usize,
12226 concat!(
12227 "Offset of field: ",
12228 stringify!(SSkirmishAICallback),
12229 "::",
12230 stringify!(UnitDef_getSlideTolerance)
12231 )
12232 );
12233 assert_eq!(
12234 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxHeightDif) as usize - ptr as usize },
12235 1120usize,
12236 concat!(
12237 "Offset of field: ",
12238 stringify!(SSkirmishAICallback),
12239 "::",
12240 stringify!(UnitDef_getMaxHeightDif)
12241 )
12242 );
12243 assert_eq!(
12244 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMinWaterDepth) as usize - ptr as usize },
12245 1128usize,
12246 concat!(
12247 "Offset of field: ",
12248 stringify!(SSkirmishAICallback),
12249 "::",
12250 stringify!(UnitDef_getMinWaterDepth)
12251 )
12252 );
12253 assert_eq!(
12254 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWaterline) as usize - ptr as usize },
12255 1136usize,
12256 concat!(
12257 "Offset of field: ",
12258 stringify!(SSkirmishAICallback),
12259 "::",
12260 stringify!(UnitDef_getWaterline)
12261 )
12262 );
12263 assert_eq!(
12264 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxWaterDepth) as usize - ptr as usize },
12265 1144usize,
12266 concat!(
12267 "Offset of field: ",
12268 stringify!(SSkirmishAICallback),
12269 "::",
12270 stringify!(UnitDef_getMaxWaterDepth)
12271 )
12272 );
12273 assert_eq!(
12274 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getArmoredMultiple) as usize - ptr as usize },
12275 1152usize,
12276 concat!(
12277 "Offset of field: ",
12278 stringify!(SSkirmishAICallback),
12279 "::",
12280 stringify!(UnitDef_getArmoredMultiple)
12281 )
12282 );
12283 assert_eq!(
12284 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getArmorType) as usize - ptr as usize },
12285 1160usize,
12286 concat!(
12287 "Offset of field: ",
12288 stringify!(SSkirmishAICallback),
12289 "::",
12290 stringify!(UnitDef_getArmorType)
12291 )
12292 );
12293 assert_eq!(
12294 unsafe {
12295 ::std::ptr::addr_of!((*ptr).UnitDef_FlankingBonus_getMode) as usize - ptr as usize
12296 },
12297 1168usize,
12298 concat!(
12299 "Offset of field: ",
12300 stringify!(SSkirmishAICallback),
12301 "::",
12302 stringify!(UnitDef_FlankingBonus_getMode)
12303 )
12304 );
12305 assert_eq!(
12306 unsafe {
12307 ::std::ptr::addr_of!((*ptr).UnitDef_FlankingBonus_getDir) as usize - ptr as usize
12308 },
12309 1176usize,
12310 concat!(
12311 "Offset of field: ",
12312 stringify!(SSkirmishAICallback),
12313 "::",
12314 stringify!(UnitDef_FlankingBonus_getDir)
12315 )
12316 );
12317 assert_eq!(
12318 unsafe {
12319 ::std::ptr::addr_of!((*ptr).UnitDef_FlankingBonus_getMax) as usize - ptr as usize
12320 },
12321 1184usize,
12322 concat!(
12323 "Offset of field: ",
12324 stringify!(SSkirmishAICallback),
12325 "::",
12326 stringify!(UnitDef_FlankingBonus_getMax)
12327 )
12328 );
12329 assert_eq!(
12330 unsafe {
12331 ::std::ptr::addr_of!((*ptr).UnitDef_FlankingBonus_getMin) as usize - ptr as usize
12332 },
12333 1192usize,
12334 concat!(
12335 "Offset of field: ",
12336 stringify!(SSkirmishAICallback),
12337 "::",
12338 stringify!(UnitDef_FlankingBonus_getMin)
12339 )
12340 );
12341 assert_eq!(
12342 unsafe {
12343 ::std::ptr::addr_of!((*ptr).UnitDef_FlankingBonus_getMobilityAdd) as usize
12344 - ptr as usize
12345 },
12346 1200usize,
12347 concat!(
12348 "Offset of field: ",
12349 stringify!(SSkirmishAICallback),
12350 "::",
12351 stringify!(UnitDef_FlankingBonus_getMobilityAdd)
12352 )
12353 );
12354 assert_eq!(
12355 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxWeaponRange) as usize - ptr as usize },
12356 1208usize,
12357 concat!(
12358 "Offset of field: ",
12359 stringify!(SSkirmishAICallback),
12360 "::",
12361 stringify!(UnitDef_getMaxWeaponRange)
12362 )
12363 );
12364 assert_eq!(
12365 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTooltip) as usize - ptr as usize },
12366 1216usize,
12367 concat!(
12368 "Offset of field: ",
12369 stringify!(SSkirmishAICallback),
12370 "::",
12371 stringify!(UnitDef_getTooltip)
12372 )
12373 );
12374 assert_eq!(
12375 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWreckName) as usize - ptr as usize },
12376 1224usize,
12377 concat!(
12378 "Offset of field: ",
12379 stringify!(SSkirmishAICallback),
12380 "::",
12381 stringify!(UnitDef_getWreckName)
12382 )
12383 );
12384 assert_eq!(
12385 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getDeathExplosion) as usize - ptr as usize },
12386 1232usize,
12387 concat!(
12388 "Offset of field: ",
12389 stringify!(SSkirmishAICallback),
12390 "::",
12391 stringify!(UnitDef_getDeathExplosion)
12392 )
12393 );
12394 assert_eq!(
12395 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSelfDExplosion) as usize - ptr as usize },
12396 1240usize,
12397 concat!(
12398 "Offset of field: ",
12399 stringify!(SSkirmishAICallback),
12400 "::",
12401 stringify!(UnitDef_getSelfDExplosion)
12402 )
12403 );
12404 assert_eq!(
12405 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCategoryString) as usize - ptr as usize },
12406 1248usize,
12407 concat!(
12408 "Offset of field: ",
12409 stringify!(SSkirmishAICallback),
12410 "::",
12411 stringify!(UnitDef_getCategoryString)
12412 )
12413 );
12414 assert_eq!(
12415 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToSelfD) as usize - ptr as usize },
12416 1256usize,
12417 concat!(
12418 "Offset of field: ",
12419 stringify!(SSkirmishAICallback),
12420 "::",
12421 stringify!(UnitDef_isAbleToSelfD)
12422 )
12423 );
12424 assert_eq!(
12425 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSelfDCountdown) as usize - ptr as usize },
12426 1264usize,
12427 concat!(
12428 "Offset of field: ",
12429 stringify!(SSkirmishAICallback),
12430 "::",
12431 stringify!(UnitDef_getSelfDCountdown)
12432 )
12433 );
12434 assert_eq!(
12435 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToSubmerge) as usize - ptr as usize },
12436 1272usize,
12437 concat!(
12438 "Offset of field: ",
12439 stringify!(SSkirmishAICallback),
12440 "::",
12441 stringify!(UnitDef_isAbleToSubmerge)
12442 )
12443 );
12444 assert_eq!(
12445 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToFly) as usize - ptr as usize },
12446 1280usize,
12447 concat!(
12448 "Offset of field: ",
12449 stringify!(SSkirmishAICallback),
12450 "::",
12451 stringify!(UnitDef_isAbleToFly)
12452 )
12453 );
12454 assert_eq!(
12455 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToMove) as usize - ptr as usize },
12456 1288usize,
12457 concat!(
12458 "Offset of field: ",
12459 stringify!(SSkirmishAICallback),
12460 "::",
12461 stringify!(UnitDef_isAbleToMove)
12462 )
12463 );
12464 assert_eq!(
12465 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToHover) as usize - ptr as usize },
12466 1296usize,
12467 concat!(
12468 "Offset of field: ",
12469 stringify!(SSkirmishAICallback),
12470 "::",
12471 stringify!(UnitDef_isAbleToHover)
12472 )
12473 );
12474 assert_eq!(
12475 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isFloater) as usize - ptr as usize },
12476 1304usize,
12477 concat!(
12478 "Offset of field: ",
12479 stringify!(SSkirmishAICallback),
12480 "::",
12481 stringify!(UnitDef_isFloater)
12482 )
12483 );
12484 assert_eq!(
12485 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isBuilder) as usize - ptr as usize },
12486 1312usize,
12487 concat!(
12488 "Offset of field: ",
12489 stringify!(SSkirmishAICallback),
12490 "::",
12491 stringify!(UnitDef_isBuilder)
12492 )
12493 );
12494 assert_eq!(
12495 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isActivateWhenBuilt) as usize - ptr as usize },
12496 1320usize,
12497 concat!(
12498 "Offset of field: ",
12499 stringify!(SSkirmishAICallback),
12500 "::",
12501 stringify!(UnitDef_isActivateWhenBuilt)
12502 )
12503 );
12504 assert_eq!(
12505 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isOnOffable) as usize - ptr as usize },
12506 1328usize,
12507 concat!(
12508 "Offset of field: ",
12509 stringify!(SSkirmishAICallback),
12510 "::",
12511 stringify!(UnitDef_isOnOffable)
12512 )
12513 );
12514 assert_eq!(
12515 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isFullHealthFactory) as usize - ptr as usize },
12516 1336usize,
12517 concat!(
12518 "Offset of field: ",
12519 stringify!(SSkirmishAICallback),
12520 "::",
12521 stringify!(UnitDef_isFullHealthFactory)
12522 )
12523 );
12524 assert_eq!(
12525 unsafe {
12526 ::std::ptr::addr_of!((*ptr).UnitDef_isFactoryHeadingTakeoff) as usize - ptr as usize
12527 },
12528 1344usize,
12529 concat!(
12530 "Offset of field: ",
12531 stringify!(SSkirmishAICallback),
12532 "::",
12533 stringify!(UnitDef_isFactoryHeadingTakeoff)
12534 )
12535 );
12536 assert_eq!(
12537 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isReclaimable) as usize - ptr as usize },
12538 1352usize,
12539 concat!(
12540 "Offset of field: ",
12541 stringify!(SSkirmishAICallback),
12542 "::",
12543 stringify!(UnitDef_isReclaimable)
12544 )
12545 );
12546 assert_eq!(
12547 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isCapturable) as usize - ptr as usize },
12548 1360usize,
12549 concat!(
12550 "Offset of field: ",
12551 stringify!(SSkirmishAICallback),
12552 "::",
12553 stringify!(UnitDef_isCapturable)
12554 )
12555 );
12556 assert_eq!(
12557 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToRestore) as usize - ptr as usize },
12558 1368usize,
12559 concat!(
12560 "Offset of field: ",
12561 stringify!(SSkirmishAICallback),
12562 "::",
12563 stringify!(UnitDef_isAbleToRestore)
12564 )
12565 );
12566 assert_eq!(
12567 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToRepair) as usize - ptr as usize },
12568 1376usize,
12569 concat!(
12570 "Offset of field: ",
12571 stringify!(SSkirmishAICallback),
12572 "::",
12573 stringify!(UnitDef_isAbleToRepair)
12574 )
12575 );
12576 assert_eq!(
12577 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToSelfRepair) as usize - ptr as usize },
12578 1384usize,
12579 concat!(
12580 "Offset of field: ",
12581 stringify!(SSkirmishAICallback),
12582 "::",
12583 stringify!(UnitDef_isAbleToSelfRepair)
12584 )
12585 );
12586 assert_eq!(
12587 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToReclaim) as usize - ptr as usize },
12588 1392usize,
12589 concat!(
12590 "Offset of field: ",
12591 stringify!(SSkirmishAICallback),
12592 "::",
12593 stringify!(UnitDef_isAbleToReclaim)
12594 )
12595 );
12596 assert_eq!(
12597 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToAttack) as usize - ptr as usize },
12598 1400usize,
12599 concat!(
12600 "Offset of field: ",
12601 stringify!(SSkirmishAICallback),
12602 "::",
12603 stringify!(UnitDef_isAbleToAttack)
12604 )
12605 );
12606 assert_eq!(
12607 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToPatrol) as usize - ptr as usize },
12608 1408usize,
12609 concat!(
12610 "Offset of field: ",
12611 stringify!(SSkirmishAICallback),
12612 "::",
12613 stringify!(UnitDef_isAbleToPatrol)
12614 )
12615 );
12616 assert_eq!(
12617 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToFight) as usize - ptr as usize },
12618 1416usize,
12619 concat!(
12620 "Offset of field: ",
12621 stringify!(SSkirmishAICallback),
12622 "::",
12623 stringify!(UnitDef_isAbleToFight)
12624 )
12625 );
12626 assert_eq!(
12627 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToGuard) as usize - ptr as usize },
12628 1424usize,
12629 concat!(
12630 "Offset of field: ",
12631 stringify!(SSkirmishAICallback),
12632 "::",
12633 stringify!(UnitDef_isAbleToGuard)
12634 )
12635 );
12636 assert_eq!(
12637 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToAssist) as usize - ptr as usize },
12638 1432usize,
12639 concat!(
12640 "Offset of field: ",
12641 stringify!(SSkirmishAICallback),
12642 "::",
12643 stringify!(UnitDef_isAbleToAssist)
12644 )
12645 );
12646 assert_eq!(
12647 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAssistable) as usize - ptr as usize },
12648 1440usize,
12649 concat!(
12650 "Offset of field: ",
12651 stringify!(SSkirmishAICallback),
12652 "::",
12653 stringify!(UnitDef_isAssistable)
12654 )
12655 );
12656 assert_eq!(
12657 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToRepeat) as usize - ptr as usize },
12658 1448usize,
12659 concat!(
12660 "Offset of field: ",
12661 stringify!(SSkirmishAICallback),
12662 "::",
12663 stringify!(UnitDef_isAbleToRepeat)
12664 )
12665 );
12666 assert_eq!(
12667 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToFireControl) as usize - ptr as usize },
12668 1456usize,
12669 concat!(
12670 "Offset of field: ",
12671 stringify!(SSkirmishAICallback),
12672 "::",
12673 stringify!(UnitDef_isAbleToFireControl)
12674 )
12675 );
12676 assert_eq!(
12677 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFireState) as usize - ptr as usize },
12678 1464usize,
12679 concat!(
12680 "Offset of field: ",
12681 stringify!(SSkirmishAICallback),
12682 "::",
12683 stringify!(UnitDef_getFireState)
12684 )
12685 );
12686 assert_eq!(
12687 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMoveState) as usize - ptr as usize },
12688 1472usize,
12689 concat!(
12690 "Offset of field: ",
12691 stringify!(SSkirmishAICallback),
12692 "::",
12693 stringify!(UnitDef_getMoveState)
12694 )
12695 );
12696 assert_eq!(
12697 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWingDrag) as usize - ptr as usize },
12698 1480usize,
12699 concat!(
12700 "Offset of field: ",
12701 stringify!(SSkirmishAICallback),
12702 "::",
12703 stringify!(UnitDef_getWingDrag)
12704 )
12705 );
12706 assert_eq!(
12707 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWingAngle) as usize - ptr as usize },
12708 1488usize,
12709 concat!(
12710 "Offset of field: ",
12711 stringify!(SSkirmishAICallback),
12712 "::",
12713 stringify!(UnitDef_getWingAngle)
12714 )
12715 );
12716 assert_eq!(
12717 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFrontToSpeed) as usize - ptr as usize },
12718 1496usize,
12719 concat!(
12720 "Offset of field: ",
12721 stringify!(SSkirmishAICallback),
12722 "::",
12723 stringify!(UnitDef_getFrontToSpeed)
12724 )
12725 );
12726 assert_eq!(
12727 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSpeedToFront) as usize - ptr as usize },
12728 1504usize,
12729 concat!(
12730 "Offset of field: ",
12731 stringify!(SSkirmishAICallback),
12732 "::",
12733 stringify!(UnitDef_getSpeedToFront)
12734 )
12735 );
12736 assert_eq!(
12737 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMyGravity) as usize - ptr as usize },
12738 1512usize,
12739 concat!(
12740 "Offset of field: ",
12741 stringify!(SSkirmishAICallback),
12742 "::",
12743 stringify!(UnitDef_getMyGravity)
12744 )
12745 );
12746 assert_eq!(
12747 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxBank) as usize - ptr as usize },
12748 1520usize,
12749 concat!(
12750 "Offset of field: ",
12751 stringify!(SSkirmishAICallback),
12752 "::",
12753 stringify!(UnitDef_getMaxBank)
12754 )
12755 );
12756 assert_eq!(
12757 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxPitch) as usize - ptr as usize },
12758 1528usize,
12759 concat!(
12760 "Offset of field: ",
12761 stringify!(SSkirmishAICallback),
12762 "::",
12763 stringify!(UnitDef_getMaxPitch)
12764 )
12765 );
12766 assert_eq!(
12767 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTurnRadius) as usize - ptr as usize },
12768 1536usize,
12769 concat!(
12770 "Offset of field: ",
12771 stringify!(SSkirmishAICallback),
12772 "::",
12773 stringify!(UnitDef_getTurnRadius)
12774 )
12775 );
12776 assert_eq!(
12777 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWantedHeight) as usize - ptr as usize },
12778 1544usize,
12779 concat!(
12780 "Offset of field: ",
12781 stringify!(SSkirmishAICallback),
12782 "::",
12783 stringify!(UnitDef_getWantedHeight)
12784 )
12785 );
12786 assert_eq!(
12787 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getVerticalSpeed) as usize - ptr as usize },
12788 1552usize,
12789 concat!(
12790 "Offset of field: ",
12791 stringify!(SSkirmishAICallback),
12792 "::",
12793 stringify!(UnitDef_getVerticalSpeed)
12794 )
12795 );
12796 assert_eq!(
12797 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isHoverAttack) as usize - ptr as usize },
12798 1560usize,
12799 concat!(
12800 "Offset of field: ",
12801 stringify!(SSkirmishAICallback),
12802 "::",
12803 stringify!(UnitDef_isHoverAttack)
12804 )
12805 );
12806 assert_eq!(
12807 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAirStrafe) as usize - ptr as usize },
12808 1568usize,
12809 concat!(
12810 "Offset of field: ",
12811 stringify!(SSkirmishAICallback),
12812 "::",
12813 stringify!(UnitDef_isAirStrafe)
12814 )
12815 );
12816 assert_eq!(
12817 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getDlHoverFactor) as usize - ptr as usize },
12818 1576usize,
12819 concat!(
12820 "Offset of field: ",
12821 stringify!(SSkirmishAICallback),
12822 "::",
12823 stringify!(UnitDef_getDlHoverFactor)
12824 )
12825 );
12826 assert_eq!(
12827 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxAcceleration) as usize - ptr as usize },
12828 1584usize,
12829 concat!(
12830 "Offset of field: ",
12831 stringify!(SSkirmishAICallback),
12832 "::",
12833 stringify!(UnitDef_getMaxAcceleration)
12834 )
12835 );
12836 assert_eq!(
12837 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxDeceleration) as usize - ptr as usize },
12838 1592usize,
12839 concat!(
12840 "Offset of field: ",
12841 stringify!(SSkirmishAICallback),
12842 "::",
12843 stringify!(UnitDef_getMaxDeceleration)
12844 )
12845 );
12846 assert_eq!(
12847 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxAileron) as usize - ptr as usize },
12848 1600usize,
12849 concat!(
12850 "Offset of field: ",
12851 stringify!(SSkirmishAICallback),
12852 "::",
12853 stringify!(UnitDef_getMaxAileron)
12854 )
12855 );
12856 assert_eq!(
12857 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxElevator) as usize - ptr as usize },
12858 1608usize,
12859 concat!(
12860 "Offset of field: ",
12861 stringify!(SSkirmishAICallback),
12862 "::",
12863 stringify!(UnitDef_getMaxElevator)
12864 )
12865 );
12866 assert_eq!(
12867 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxRudder) as usize - ptr as usize },
12868 1616usize,
12869 concat!(
12870 "Offset of field: ",
12871 stringify!(SSkirmishAICallback),
12872 "::",
12873 stringify!(UnitDef_getMaxRudder)
12874 )
12875 );
12876 assert_eq!(
12877 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getYardMap) as usize - ptr as usize },
12878 1624usize,
12879 concat!(
12880 "Offset of field: ",
12881 stringify!(SSkirmishAICallback),
12882 "::",
12883 stringify!(UnitDef_getYardMap)
12884 )
12885 );
12886 assert_eq!(
12887 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getXSize) as usize - ptr as usize },
12888 1632usize,
12889 concat!(
12890 "Offset of field: ",
12891 stringify!(SSkirmishAICallback),
12892 "::",
12893 stringify!(UnitDef_getXSize)
12894 )
12895 );
12896 assert_eq!(
12897 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getZSize) as usize - ptr as usize },
12898 1640usize,
12899 concat!(
12900 "Offset of field: ",
12901 stringify!(SSkirmishAICallback),
12902 "::",
12903 stringify!(UnitDef_getZSize)
12904 )
12905 );
12906 assert_eq!(
12907 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getLoadingRadius) as usize - ptr as usize },
12908 1648usize,
12909 concat!(
12910 "Offset of field: ",
12911 stringify!(SSkirmishAICallback),
12912 "::",
12913 stringify!(UnitDef_getLoadingRadius)
12914 )
12915 );
12916 assert_eq!(
12917 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getUnloadSpread) as usize - ptr as usize },
12918 1656usize,
12919 concat!(
12920 "Offset of field: ",
12921 stringify!(SSkirmishAICallback),
12922 "::",
12923 stringify!(UnitDef_getUnloadSpread)
12924 )
12925 );
12926 assert_eq!(
12927 unsafe {
12928 ::std::ptr::addr_of!((*ptr).UnitDef_getTransportCapacity) as usize - ptr as usize
12929 },
12930 1664usize,
12931 concat!(
12932 "Offset of field: ",
12933 stringify!(SSkirmishAICallback),
12934 "::",
12935 stringify!(UnitDef_getTransportCapacity)
12936 )
12937 );
12938 assert_eq!(
12939 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTransportSize) as usize - ptr as usize },
12940 1672usize,
12941 concat!(
12942 "Offset of field: ",
12943 stringify!(SSkirmishAICallback),
12944 "::",
12945 stringify!(UnitDef_getTransportSize)
12946 )
12947 );
12948 assert_eq!(
12949 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMinTransportSize) as usize - ptr as usize },
12950 1680usize,
12951 concat!(
12952 "Offset of field: ",
12953 stringify!(SSkirmishAICallback),
12954 "::",
12955 stringify!(UnitDef_getMinTransportSize)
12956 )
12957 );
12958 assert_eq!(
12959 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAirBase) as usize - ptr as usize },
12960 1688usize,
12961 concat!(
12962 "Offset of field: ",
12963 stringify!(SSkirmishAICallback),
12964 "::",
12965 stringify!(UnitDef_isAirBase)
12966 )
12967 );
12968 assert_eq!(
12969 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isFirePlatform) as usize - ptr as usize },
12970 1696usize,
12971 concat!(
12972 "Offset of field: ",
12973 stringify!(SSkirmishAICallback),
12974 "::",
12975 stringify!(UnitDef_isFirePlatform)
12976 )
12977 );
12978 assert_eq!(
12979 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTransportMass) as usize - ptr as usize },
12980 1704usize,
12981 concat!(
12982 "Offset of field: ",
12983 stringify!(SSkirmishAICallback),
12984 "::",
12985 stringify!(UnitDef_getTransportMass)
12986 )
12987 );
12988 assert_eq!(
12989 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMinTransportMass) as usize - ptr as usize },
12990 1712usize,
12991 concat!(
12992 "Offset of field: ",
12993 stringify!(SSkirmishAICallback),
12994 "::",
12995 stringify!(UnitDef_getMinTransportMass)
12996 )
12997 );
12998 assert_eq!(
12999 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isHoldSteady) as usize - ptr as usize },
13000 1720usize,
13001 concat!(
13002 "Offset of field: ",
13003 stringify!(SSkirmishAICallback),
13004 "::",
13005 stringify!(UnitDef_isHoldSteady)
13006 )
13007 );
13008 assert_eq!(
13009 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isReleaseHeld) as usize - ptr as usize },
13010 1728usize,
13011 concat!(
13012 "Offset of field: ",
13013 stringify!(SSkirmishAICallback),
13014 "::",
13015 stringify!(UnitDef_isReleaseHeld)
13016 )
13017 );
13018 assert_eq!(
13019 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isNotTransportable) as usize - ptr as usize },
13020 1736usize,
13021 concat!(
13022 "Offset of field: ",
13023 stringify!(SSkirmishAICallback),
13024 "::",
13025 stringify!(UnitDef_isNotTransportable)
13026 )
13027 );
13028 assert_eq!(
13029 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isTransportByEnemy) as usize - ptr as usize },
13030 1744usize,
13031 concat!(
13032 "Offset of field: ",
13033 stringify!(SSkirmishAICallback),
13034 "::",
13035 stringify!(UnitDef_isTransportByEnemy)
13036 )
13037 );
13038 assert_eq!(
13039 unsafe {
13040 ::std::ptr::addr_of!((*ptr).UnitDef_getTransportUnloadMethod) as usize - ptr as usize
13041 },
13042 1752usize,
13043 concat!(
13044 "Offset of field: ",
13045 stringify!(SSkirmishAICallback),
13046 "::",
13047 stringify!(UnitDef_getTransportUnloadMethod)
13048 )
13049 );
13050 assert_eq!(
13051 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFallSpeed) as usize - ptr as usize },
13052 1760usize,
13053 concat!(
13054 "Offset of field: ",
13055 stringify!(SSkirmishAICallback),
13056 "::",
13057 stringify!(UnitDef_getFallSpeed)
13058 )
13059 );
13060 assert_eq!(
13061 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getUnitFallSpeed) as usize - ptr as usize },
13062 1768usize,
13063 concat!(
13064 "Offset of field: ",
13065 stringify!(SSkirmishAICallback),
13066 "::",
13067 stringify!(UnitDef_getUnitFallSpeed)
13068 )
13069 );
13070 assert_eq!(
13071 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToCloak) as usize - ptr as usize },
13072 1776usize,
13073 concat!(
13074 "Offset of field: ",
13075 stringify!(SSkirmishAICallback),
13076 "::",
13077 stringify!(UnitDef_isAbleToCloak)
13078 )
13079 );
13080 assert_eq!(
13081 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isStartCloaked) as usize - ptr as usize },
13082 1784usize,
13083 concat!(
13084 "Offset of field: ",
13085 stringify!(SSkirmishAICallback),
13086 "::",
13087 stringify!(UnitDef_isStartCloaked)
13088 )
13089 );
13090 assert_eq!(
13091 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCloakCost) as usize - ptr as usize },
13092 1792usize,
13093 concat!(
13094 "Offset of field: ",
13095 stringify!(SSkirmishAICallback),
13096 "::",
13097 stringify!(UnitDef_getCloakCost)
13098 )
13099 );
13100 assert_eq!(
13101 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCloakCostMoving) as usize - ptr as usize },
13102 1800usize,
13103 concat!(
13104 "Offset of field: ",
13105 stringify!(SSkirmishAICallback),
13106 "::",
13107 stringify!(UnitDef_getCloakCostMoving)
13108 )
13109 );
13110 assert_eq!(
13111 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getDecloakDistance) as usize - ptr as usize },
13112 1808usize,
13113 concat!(
13114 "Offset of field: ",
13115 stringify!(SSkirmishAICallback),
13116 "::",
13117 stringify!(UnitDef_getDecloakDistance)
13118 )
13119 );
13120 assert_eq!(
13121 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isDecloakSpherical) as usize - ptr as usize },
13122 1816usize,
13123 concat!(
13124 "Offset of field: ",
13125 stringify!(SSkirmishAICallback),
13126 "::",
13127 stringify!(UnitDef_isDecloakSpherical)
13128 )
13129 );
13130 assert_eq!(
13131 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isDecloakOnFire) as usize - ptr as usize },
13132 1824usize,
13133 concat!(
13134 "Offset of field: ",
13135 stringify!(SSkirmishAICallback),
13136 "::",
13137 stringify!(UnitDef_isDecloakOnFire)
13138 )
13139 );
13140 assert_eq!(
13141 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToKamikaze) as usize - ptr as usize },
13142 1832usize,
13143 concat!(
13144 "Offset of field: ",
13145 stringify!(SSkirmishAICallback),
13146 "::",
13147 stringify!(UnitDef_isAbleToKamikaze)
13148 )
13149 );
13150 assert_eq!(
13151 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getKamikazeDist) as usize - ptr as usize },
13152 1840usize,
13153 concat!(
13154 "Offset of field: ",
13155 stringify!(SSkirmishAICallback),
13156 "::",
13157 stringify!(UnitDef_getKamikazeDist)
13158 )
13159 );
13160 assert_eq!(
13161 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isTargetingFacility) as usize - ptr as usize },
13162 1848usize,
13163 concat!(
13164 "Offset of field: ",
13165 stringify!(SSkirmishAICallback),
13166 "::",
13167 stringify!(UnitDef_isTargetingFacility)
13168 )
13169 );
13170 assert_eq!(
13171 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_canManualFire) as usize - ptr as usize },
13172 1856usize,
13173 concat!(
13174 "Offset of field: ",
13175 stringify!(SSkirmishAICallback),
13176 "::",
13177 stringify!(UnitDef_canManualFire)
13178 )
13179 );
13180 assert_eq!(
13181 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isNeedGeo) as usize - ptr as usize },
13182 1864usize,
13183 concat!(
13184 "Offset of field: ",
13185 stringify!(SSkirmishAICallback),
13186 "::",
13187 stringify!(UnitDef_isNeedGeo)
13188 )
13189 );
13190 assert_eq!(
13191 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isFeature) as usize - ptr as usize },
13192 1872usize,
13193 concat!(
13194 "Offset of field: ",
13195 stringify!(SSkirmishAICallback),
13196 "::",
13197 stringify!(UnitDef_isFeature)
13198 )
13199 );
13200 assert_eq!(
13201 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isHideDamage) as usize - ptr as usize },
13202 1880usize,
13203 concat!(
13204 "Offset of field: ",
13205 stringify!(SSkirmishAICallback),
13206 "::",
13207 stringify!(UnitDef_isHideDamage)
13208 )
13209 );
13210 assert_eq!(
13211 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isShowPlayerName) as usize - ptr as usize },
13212 1888usize,
13213 concat!(
13214 "Offset of field: ",
13215 stringify!(SSkirmishAICallback),
13216 "::",
13217 stringify!(UnitDef_isShowPlayerName)
13218 )
13219 );
13220 assert_eq!(
13221 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToResurrect) as usize - ptr as usize },
13222 1896usize,
13223 concat!(
13224 "Offset of field: ",
13225 stringify!(SSkirmishAICallback),
13226 "::",
13227 stringify!(UnitDef_isAbleToResurrect)
13228 )
13229 );
13230 assert_eq!(
13231 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToCapture) as usize - ptr as usize },
13232 1904usize,
13233 concat!(
13234 "Offset of field: ",
13235 stringify!(SSkirmishAICallback),
13236 "::",
13237 stringify!(UnitDef_isAbleToCapture)
13238 )
13239 );
13240 assert_eq!(
13241 unsafe {
13242 ::std::ptr::addr_of!((*ptr).UnitDef_getHighTrajectoryType) as usize - ptr as usize
13243 },
13244 1912usize,
13245 concat!(
13246 "Offset of field: ",
13247 stringify!(SSkirmishAICallback),
13248 "::",
13249 stringify!(UnitDef_getHighTrajectoryType)
13250 )
13251 );
13252 assert_eq!(
13253 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getNoChaseCategory) as usize - ptr as usize },
13254 1920usize,
13255 concat!(
13256 "Offset of field: ",
13257 stringify!(SSkirmishAICallback),
13258 "::",
13259 stringify!(UnitDef_getNoChaseCategory)
13260 )
13261 );
13262 assert_eq!(
13263 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToDropFlare) as usize - ptr as usize },
13264 1928usize,
13265 concat!(
13266 "Offset of field: ",
13267 stringify!(SSkirmishAICallback),
13268 "::",
13269 stringify!(UnitDef_isAbleToDropFlare)
13270 )
13271 );
13272 assert_eq!(
13273 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareReloadTime) as usize - ptr as usize },
13274 1936usize,
13275 concat!(
13276 "Offset of field: ",
13277 stringify!(SSkirmishAICallback),
13278 "::",
13279 stringify!(UnitDef_getFlareReloadTime)
13280 )
13281 );
13282 assert_eq!(
13283 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareEfficiency) as usize - ptr as usize },
13284 1944usize,
13285 concat!(
13286 "Offset of field: ",
13287 stringify!(SSkirmishAICallback),
13288 "::",
13289 stringify!(UnitDef_getFlareEfficiency)
13290 )
13291 );
13292 assert_eq!(
13293 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareDelay) as usize - ptr as usize },
13294 1952usize,
13295 concat!(
13296 "Offset of field: ",
13297 stringify!(SSkirmishAICallback),
13298 "::",
13299 stringify!(UnitDef_getFlareDelay)
13300 )
13301 );
13302 assert_eq!(
13303 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareDropVector) as usize - ptr as usize },
13304 1960usize,
13305 concat!(
13306 "Offset of field: ",
13307 stringify!(SSkirmishAICallback),
13308 "::",
13309 stringify!(UnitDef_getFlareDropVector)
13310 )
13311 );
13312 assert_eq!(
13313 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareTime) as usize - ptr as usize },
13314 1968usize,
13315 concat!(
13316 "Offset of field: ",
13317 stringify!(SSkirmishAICallback),
13318 "::",
13319 stringify!(UnitDef_getFlareTime)
13320 )
13321 );
13322 assert_eq!(
13323 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareSalvoSize) as usize - ptr as usize },
13324 1976usize,
13325 concat!(
13326 "Offset of field: ",
13327 stringify!(SSkirmishAICallback),
13328 "::",
13329 stringify!(UnitDef_getFlareSalvoSize)
13330 )
13331 );
13332 assert_eq!(
13333 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareSalvoDelay) as usize - ptr as usize },
13334 1984usize,
13335 concat!(
13336 "Offset of field: ",
13337 stringify!(SSkirmishAICallback),
13338 "::",
13339 stringify!(UnitDef_getFlareSalvoDelay)
13340 )
13341 );
13342 assert_eq!(
13343 unsafe {
13344 ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToLoopbackAttack) as usize - ptr as usize
13345 },
13346 1992usize,
13347 concat!(
13348 "Offset of field: ",
13349 stringify!(SSkirmishAICallback),
13350 "::",
13351 stringify!(UnitDef_isAbleToLoopbackAttack)
13352 )
13353 );
13354 assert_eq!(
13355 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isLevelGround) as usize - ptr as usize },
13356 2000usize,
13357 concat!(
13358 "Offset of field: ",
13359 stringify!(SSkirmishAICallback),
13360 "::",
13361 stringify!(UnitDef_isLevelGround)
13362 )
13363 );
13364 assert_eq!(
13365 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxThisUnit) as usize - ptr as usize },
13366 2008usize,
13367 concat!(
13368 "Offset of field: ",
13369 stringify!(SSkirmishAICallback),
13370 "::",
13371 stringify!(UnitDef_getMaxThisUnit)
13372 )
13373 );
13374 assert_eq!(
13375 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getDecoyDef) as usize - ptr as usize },
13376 2016usize,
13377 concat!(
13378 "Offset of field: ",
13379 stringify!(SSkirmishAICallback),
13380 "::",
13381 stringify!(UnitDef_getDecoyDef)
13382 )
13383 );
13384 assert_eq!(
13385 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isDontLand) as usize - ptr as usize },
13386 2024usize,
13387 concat!(
13388 "Offset of field: ",
13389 stringify!(SSkirmishAICallback),
13390 "::",
13391 stringify!(UnitDef_isDontLand)
13392 )
13393 );
13394 assert_eq!(
13395 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getShieldDef) as usize - ptr as usize },
13396 2032usize,
13397 concat!(
13398 "Offset of field: ",
13399 stringify!(SSkirmishAICallback),
13400 "::",
13401 stringify!(UnitDef_getShieldDef)
13402 )
13403 );
13404 assert_eq!(
13405 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getStockpileDef) as usize - ptr as usize },
13406 2040usize,
13407 concat!(
13408 "Offset of field: ",
13409 stringify!(SSkirmishAICallback),
13410 "::",
13411 stringify!(UnitDef_getStockpileDef)
13412 )
13413 );
13414 assert_eq!(
13415 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getBuildOptions) as usize - ptr as usize },
13416 2048usize,
13417 concat!(
13418 "Offset of field: ",
13419 stringify!(SSkirmishAICallback),
13420 "::",
13421 stringify!(UnitDef_getBuildOptions)
13422 )
13423 );
13424 assert_eq!(
13425 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCustomParams) as usize - ptr as usize },
13426 2056usize,
13427 concat!(
13428 "Offset of field: ",
13429 stringify!(SSkirmishAICallback),
13430 "::",
13431 stringify!(UnitDef_getCustomParams)
13432 )
13433 );
13434 assert_eq!(
13435 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isMoveDataAvailable) as usize - ptr as usize },
13436 2064usize,
13437 concat!(
13438 "Offset of field: ",
13439 stringify!(SSkirmishAICallback),
13440 "::",
13441 stringify!(UnitDef_isMoveDataAvailable)
13442 )
13443 );
13444 assert_eq!(
13445 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getXSize) as usize - ptr as usize },
13446 2072usize,
13447 concat!(
13448 "Offset of field: ",
13449 stringify!(SSkirmishAICallback),
13450 "::",
13451 stringify!(UnitDef_MoveData_getXSize)
13452 )
13453 );
13454 assert_eq!(
13455 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getZSize) as usize - ptr as usize },
13456 2080usize,
13457 concat!(
13458 "Offset of field: ",
13459 stringify!(SSkirmishAICallback),
13460 "::",
13461 stringify!(UnitDef_MoveData_getZSize)
13462 )
13463 );
13464 assert_eq!(
13465 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getDepth) as usize - ptr as usize },
13466 2088usize,
13467 concat!(
13468 "Offset of field: ",
13469 stringify!(SSkirmishAICallback),
13470 "::",
13471 stringify!(UnitDef_MoveData_getDepth)
13472 )
13473 );
13474 assert_eq!(
13475 unsafe {
13476 ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getMaxSlope) as usize - ptr as usize
13477 },
13478 2096usize,
13479 concat!(
13480 "Offset of field: ",
13481 stringify!(SSkirmishAICallback),
13482 "::",
13483 stringify!(UnitDef_MoveData_getMaxSlope)
13484 )
13485 );
13486 assert_eq!(
13487 unsafe {
13488 ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getSlopeMod) as usize - ptr as usize
13489 },
13490 2104usize,
13491 concat!(
13492 "Offset of field: ",
13493 stringify!(SSkirmishAICallback),
13494 "::",
13495 stringify!(UnitDef_MoveData_getSlopeMod)
13496 )
13497 );
13498 assert_eq!(
13499 unsafe {
13500 ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getDepthMod) as usize - ptr as usize
13501 },
13502 2112usize,
13503 concat!(
13504 "Offset of field: ",
13505 stringify!(SSkirmishAICallback),
13506 "::",
13507 stringify!(UnitDef_MoveData_getDepthMod)
13508 )
13509 );
13510 assert_eq!(
13511 unsafe {
13512 ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getPathType) as usize - ptr as usize
13513 },
13514 2120usize,
13515 concat!(
13516 "Offset of field: ",
13517 stringify!(SSkirmishAICallback),
13518 "::",
13519 stringify!(UnitDef_MoveData_getPathType)
13520 )
13521 );
13522 assert_eq!(
13523 unsafe {
13524 ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getCrushStrength) as usize - ptr as usize
13525 },
13526 2128usize,
13527 concat!(
13528 "Offset of field: ",
13529 stringify!(SSkirmishAICallback),
13530 "::",
13531 stringify!(UnitDef_MoveData_getCrushStrength)
13532 )
13533 );
13534 assert_eq!(
13535 unsafe {
13536 ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getSpeedModClass) as usize - ptr as usize
13537 },
13538 2136usize,
13539 concat!(
13540 "Offset of field: ",
13541 stringify!(SSkirmishAICallback),
13542 "::",
13543 stringify!(UnitDef_MoveData_getSpeedModClass)
13544 )
13545 );
13546 assert_eq!(
13547 unsafe {
13548 ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getTerrainClass) as usize - ptr as usize
13549 },
13550 2144usize,
13551 concat!(
13552 "Offset of field: ",
13553 stringify!(SSkirmishAICallback),
13554 "::",
13555 stringify!(UnitDef_MoveData_getTerrainClass)
13556 )
13557 );
13558 assert_eq!(
13559 unsafe {
13560 ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getFollowGround) as usize - ptr as usize
13561 },
13562 2152usize,
13563 concat!(
13564 "Offset of field: ",
13565 stringify!(SSkirmishAICallback),
13566 "::",
13567 stringify!(UnitDef_MoveData_getFollowGround)
13568 )
13569 );
13570 assert_eq!(
13571 unsafe {
13572 ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_isSubMarine) as usize - ptr as usize
13573 },
13574 2160usize,
13575 concat!(
13576 "Offset of field: ",
13577 stringify!(SSkirmishAICallback),
13578 "::",
13579 stringify!(UnitDef_MoveData_isSubMarine)
13580 )
13581 );
13582 assert_eq!(
13583 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getName) as usize - ptr as usize },
13584 2168usize,
13585 concat!(
13586 "Offset of field: ",
13587 stringify!(SSkirmishAICallback),
13588 "::",
13589 stringify!(UnitDef_MoveData_getName)
13590 )
13591 );
13592 assert_eq!(
13593 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWeaponMounts) as usize - ptr as usize },
13594 2176usize,
13595 concat!(
13596 "Offset of field: ",
13597 stringify!(SSkirmishAICallback),
13598 "::",
13599 stringify!(UnitDef_getWeaponMounts)
13600 )
13601 );
13602 assert_eq!(
13603 unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getName) as usize - ptr as usize },
13604 2184usize,
13605 concat!(
13606 "Offset of field: ",
13607 stringify!(SSkirmishAICallback),
13608 "::",
13609 stringify!(UnitDef_WeaponMount_getName)
13610 )
13611 );
13612 assert_eq!(
13613 unsafe {
13614 ::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getWeaponDef) as usize - ptr as usize
13615 },
13616 2192usize,
13617 concat!(
13618 "Offset of field: ",
13619 stringify!(SSkirmishAICallback),
13620 "::",
13621 stringify!(UnitDef_WeaponMount_getWeaponDef)
13622 )
13623 );
13624 assert_eq!(
13625 unsafe {
13626 ::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getSlavedTo) as usize - ptr as usize
13627 },
13628 2200usize,
13629 concat!(
13630 "Offset of field: ",
13631 stringify!(SSkirmishAICallback),
13632 "::",
13633 stringify!(UnitDef_WeaponMount_getSlavedTo)
13634 )
13635 );
13636 assert_eq!(
13637 unsafe {
13638 ::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getMainDir) as usize - ptr as usize
13639 },
13640 2208usize,
13641 concat!(
13642 "Offset of field: ",
13643 stringify!(SSkirmishAICallback),
13644 "::",
13645 stringify!(UnitDef_WeaponMount_getMainDir)
13646 )
13647 );
13648 assert_eq!(
13649 unsafe {
13650 ::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getMaxAngleDif) as usize - ptr as usize
13651 },
13652 2216usize,
13653 concat!(
13654 "Offset of field: ",
13655 stringify!(SSkirmishAICallback),
13656 "::",
13657 stringify!(UnitDef_WeaponMount_getMaxAngleDif)
13658 )
13659 );
13660 assert_eq!(
13661 unsafe {
13662 ::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getBadTargetCategory) as usize
13663 - ptr as usize
13664 },
13665 2224usize,
13666 concat!(
13667 "Offset of field: ",
13668 stringify!(SSkirmishAICallback),
13669 "::",
13670 stringify!(UnitDef_WeaponMount_getBadTargetCategory)
13671 )
13672 );
13673 assert_eq!(
13674 unsafe {
13675 ::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getOnlyTargetCategory) as usize
13676 - ptr as usize
13677 },
13678 2232usize,
13679 concat!(
13680 "Offset of field: ",
13681 stringify!(SSkirmishAICallback),
13682 "::",
13683 stringify!(UnitDef_WeaponMount_getOnlyTargetCategory)
13684 )
13685 );
13686 assert_eq!(
13687 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getLimit) as usize - ptr as usize },
13688 2240usize,
13689 concat!(
13690 "Offset of field: ",
13691 stringify!(SSkirmishAICallback),
13692 "::",
13693 stringify!(Unit_getLimit)
13694 )
13695 );
13696 assert_eq!(
13697 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getMax) as usize - ptr as usize },
13698 2248usize,
13699 concat!(
13700 "Offset of field: ",
13701 stringify!(SSkirmishAICallback),
13702 "::",
13703 stringify!(Unit_getMax)
13704 )
13705 );
13706 assert_eq!(
13707 unsafe { ::std::ptr::addr_of!((*ptr).getEnemyUnits) as usize - ptr as usize },
13708 2256usize,
13709 concat!(
13710 "Offset of field: ",
13711 stringify!(SSkirmishAICallback),
13712 "::",
13713 stringify!(getEnemyUnits)
13714 )
13715 );
13716 assert_eq!(
13717 unsafe { ::std::ptr::addr_of!((*ptr).getEnemyUnitsIn) as usize - ptr as usize },
13718 2264usize,
13719 concat!(
13720 "Offset of field: ",
13721 stringify!(SSkirmishAICallback),
13722 "::",
13723 stringify!(getEnemyUnitsIn)
13724 )
13725 );
13726 assert_eq!(
13727 unsafe { ::std::ptr::addr_of!((*ptr).getEnemyUnitsInRadarAndLos) as usize - ptr as usize },
13728 2272usize,
13729 concat!(
13730 "Offset of field: ",
13731 stringify!(SSkirmishAICallback),
13732 "::",
13733 stringify!(getEnemyUnitsInRadarAndLos)
13734 )
13735 );
13736 assert_eq!(
13737 unsafe { ::std::ptr::addr_of!((*ptr).getFriendlyUnits) as usize - ptr as usize },
13738 2280usize,
13739 concat!(
13740 "Offset of field: ",
13741 stringify!(SSkirmishAICallback),
13742 "::",
13743 stringify!(getFriendlyUnits)
13744 )
13745 );
13746 assert_eq!(
13747 unsafe { ::std::ptr::addr_of!((*ptr).getFriendlyUnitsIn) as usize - ptr as usize },
13748 2288usize,
13749 concat!(
13750 "Offset of field: ",
13751 stringify!(SSkirmishAICallback),
13752 "::",
13753 stringify!(getFriendlyUnitsIn)
13754 )
13755 );
13756 assert_eq!(
13757 unsafe { ::std::ptr::addr_of!((*ptr).getNeutralUnits) as usize - ptr as usize },
13758 2296usize,
13759 concat!(
13760 "Offset of field: ",
13761 stringify!(SSkirmishAICallback),
13762 "::",
13763 stringify!(getNeutralUnits)
13764 )
13765 );
13766 assert_eq!(
13767 unsafe { ::std::ptr::addr_of!((*ptr).getNeutralUnitsIn) as usize - ptr as usize },
13768 2304usize,
13769 concat!(
13770 "Offset of field: ",
13771 stringify!(SSkirmishAICallback),
13772 "::",
13773 stringify!(getNeutralUnitsIn)
13774 )
13775 );
13776 assert_eq!(
13777 unsafe { ::std::ptr::addr_of!((*ptr).getTeamUnits) as usize - ptr as usize },
13778 2312usize,
13779 concat!(
13780 "Offset of field: ",
13781 stringify!(SSkirmishAICallback),
13782 "::",
13783 stringify!(getTeamUnits)
13784 )
13785 );
13786 assert_eq!(
13787 unsafe { ::std::ptr::addr_of!((*ptr).getSelectedUnits) as usize - ptr as usize },
13788 2320usize,
13789 concat!(
13790 "Offset of field: ",
13791 stringify!(SSkirmishAICallback),
13792 "::",
13793 stringify!(getSelectedUnits)
13794 )
13795 );
13796 assert_eq!(
13797 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getDef) as usize - ptr as usize },
13798 2328usize,
13799 concat!(
13800 "Offset of field: ",
13801 stringify!(SSkirmishAICallback),
13802 "::",
13803 stringify!(Unit_getDef)
13804 )
13805 );
13806 assert_eq!(
13807 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getRulesParamFloat) as usize - ptr as usize },
13808 2336usize,
13809 concat!(
13810 "Offset of field: ",
13811 stringify!(SSkirmishAICallback),
13812 "::",
13813 stringify!(Unit_getRulesParamFloat)
13814 )
13815 );
13816 assert_eq!(
13817 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getRulesParamString) as usize - ptr as usize },
13818 2344usize,
13819 concat!(
13820 "Offset of field: ",
13821 stringify!(SSkirmishAICallback),
13822 "::",
13823 stringify!(Unit_getRulesParamString)
13824 )
13825 );
13826 assert_eq!(
13827 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getTeam) as usize - ptr as usize },
13828 2352usize,
13829 concat!(
13830 "Offset of field: ",
13831 stringify!(SSkirmishAICallback),
13832 "::",
13833 stringify!(Unit_getTeam)
13834 )
13835 );
13836 assert_eq!(
13837 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getAllyTeam) as usize - ptr as usize },
13838 2360usize,
13839 concat!(
13840 "Offset of field: ",
13841 stringify!(SSkirmishAICallback),
13842 "::",
13843 stringify!(Unit_getAllyTeam)
13844 )
13845 );
13846 assert_eq!(
13847 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getStockpile) as usize - ptr as usize },
13848 2368usize,
13849 concat!(
13850 "Offset of field: ",
13851 stringify!(SSkirmishAICallback),
13852 "::",
13853 stringify!(Unit_getStockpile)
13854 )
13855 );
13856 assert_eq!(
13857 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getStockpileQueued) as usize - ptr as usize },
13858 2376usize,
13859 concat!(
13860 "Offset of field: ",
13861 stringify!(SSkirmishAICallback),
13862 "::",
13863 stringify!(Unit_getStockpileQueued)
13864 )
13865 );
13866 assert_eq!(
13867 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getMaxSpeed) as usize - ptr as usize },
13868 2384usize,
13869 concat!(
13870 "Offset of field: ",
13871 stringify!(SSkirmishAICallback),
13872 "::",
13873 stringify!(Unit_getMaxSpeed)
13874 )
13875 );
13876 assert_eq!(
13877 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getMaxRange) as usize - ptr as usize },
13878 2392usize,
13879 concat!(
13880 "Offset of field: ",
13881 stringify!(SSkirmishAICallback),
13882 "::",
13883 stringify!(Unit_getMaxRange)
13884 )
13885 );
13886 assert_eq!(
13887 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getMaxHealth) as usize - ptr as usize },
13888 2400usize,
13889 concat!(
13890 "Offset of field: ",
13891 stringify!(SSkirmishAICallback),
13892 "::",
13893 stringify!(Unit_getMaxHealth)
13894 )
13895 );
13896 assert_eq!(
13897 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getExperience) as usize - ptr as usize },
13898 2408usize,
13899 concat!(
13900 "Offset of field: ",
13901 stringify!(SSkirmishAICallback),
13902 "::",
13903 stringify!(Unit_getExperience)
13904 )
13905 );
13906 assert_eq!(
13907 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getGroup) as usize - ptr as usize },
13908 2416usize,
13909 concat!(
13910 "Offset of field: ",
13911 stringify!(SSkirmishAICallback),
13912 "::",
13913 stringify!(Unit_getGroup)
13914 )
13915 );
13916 assert_eq!(
13917 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getCurrentCommands) as usize - ptr as usize },
13918 2424usize,
13919 concat!(
13920 "Offset of field: ",
13921 stringify!(SSkirmishAICallback),
13922 "::",
13923 stringify!(Unit_getCurrentCommands)
13924 )
13925 );
13926 assert_eq!(
13927 unsafe { ::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getType) as usize - ptr as usize },
13928 2432usize,
13929 concat!(
13930 "Offset of field: ",
13931 stringify!(SSkirmishAICallback),
13932 "::",
13933 stringify!(Unit_CurrentCommand_getType)
13934 )
13935 );
13936 assert_eq!(
13937 unsafe { ::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getId) as usize - ptr as usize },
13938 2440usize,
13939 concat!(
13940 "Offset of field: ",
13941 stringify!(SSkirmishAICallback),
13942 "::",
13943 stringify!(Unit_CurrentCommand_getId)
13944 )
13945 );
13946 assert_eq!(
13947 unsafe {
13948 ::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getOptions) as usize - ptr as usize
13949 },
13950 2448usize,
13951 concat!(
13952 "Offset of field: ",
13953 stringify!(SSkirmishAICallback),
13954 "::",
13955 stringify!(Unit_CurrentCommand_getOptions)
13956 )
13957 );
13958 assert_eq!(
13959 unsafe { ::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getTag) as usize - ptr as usize },
13960 2456usize,
13961 concat!(
13962 "Offset of field: ",
13963 stringify!(SSkirmishAICallback),
13964 "::",
13965 stringify!(Unit_CurrentCommand_getTag)
13966 )
13967 );
13968 assert_eq!(
13969 unsafe {
13970 ::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getTimeOut) as usize - ptr as usize
13971 },
13972 2464usize,
13973 concat!(
13974 "Offset of field: ",
13975 stringify!(SSkirmishAICallback),
13976 "::",
13977 stringify!(Unit_CurrentCommand_getTimeOut)
13978 )
13979 );
13980 assert_eq!(
13981 unsafe {
13982 ::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getParams) as usize - ptr as usize
13983 },
13984 2472usize,
13985 concat!(
13986 "Offset of field: ",
13987 stringify!(SSkirmishAICallback),
13988 "::",
13989 stringify!(Unit_CurrentCommand_getParams)
13990 )
13991 );
13992 assert_eq!(
13993 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getSupportedCommands) as usize - ptr as usize },
13994 2480usize,
13995 concat!(
13996 "Offset of field: ",
13997 stringify!(SSkirmishAICallback),
13998 "::",
13999 stringify!(Unit_getSupportedCommands)
14000 )
14001 );
14002 assert_eq!(
14003 unsafe { ::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_getId) as usize - ptr as usize },
14004 2488usize,
14005 concat!(
14006 "Offset of field: ",
14007 stringify!(SSkirmishAICallback),
14008 "::",
14009 stringify!(Unit_SupportedCommand_getId)
14010 )
14011 );
14012 assert_eq!(
14013 unsafe {
14014 ::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_getName) as usize - ptr as usize
14015 },
14016 2496usize,
14017 concat!(
14018 "Offset of field: ",
14019 stringify!(SSkirmishAICallback),
14020 "::",
14021 stringify!(Unit_SupportedCommand_getName)
14022 )
14023 );
14024 assert_eq!(
14025 unsafe {
14026 ::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_getToolTip) as usize - ptr as usize
14027 },
14028 2504usize,
14029 concat!(
14030 "Offset of field: ",
14031 stringify!(SSkirmishAICallback),
14032 "::",
14033 stringify!(Unit_SupportedCommand_getToolTip)
14034 )
14035 );
14036 assert_eq!(
14037 unsafe {
14038 ::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_isShowUnique) as usize - ptr as usize
14039 },
14040 2512usize,
14041 concat!(
14042 "Offset of field: ",
14043 stringify!(SSkirmishAICallback),
14044 "::",
14045 stringify!(Unit_SupportedCommand_isShowUnique)
14046 )
14047 );
14048 assert_eq!(
14049 unsafe {
14050 ::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_isDisabled) as usize - ptr as usize
14051 },
14052 2520usize,
14053 concat!(
14054 "Offset of field: ",
14055 stringify!(SSkirmishAICallback),
14056 "::",
14057 stringify!(Unit_SupportedCommand_isDisabled)
14058 )
14059 );
14060 assert_eq!(
14061 unsafe {
14062 ::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_getParams) as usize - ptr as usize
14063 },
14064 2528usize,
14065 concat!(
14066 "Offset of field: ",
14067 stringify!(SSkirmishAICallback),
14068 "::",
14069 stringify!(Unit_SupportedCommand_getParams)
14070 )
14071 );
14072 assert_eq!(
14073 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getHealth) as usize - ptr as usize },
14074 2536usize,
14075 concat!(
14076 "Offset of field: ",
14077 stringify!(SSkirmishAICallback),
14078 "::",
14079 stringify!(Unit_getHealth)
14080 )
14081 );
14082 assert_eq!(
14083 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getParalyzeDamage) as usize - ptr as usize },
14084 2544usize,
14085 concat!(
14086 "Offset of field: ",
14087 stringify!(SSkirmishAICallback),
14088 "::",
14089 stringify!(Unit_getParalyzeDamage)
14090 )
14091 );
14092 assert_eq!(
14093 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getCaptureProgress) as usize - ptr as usize },
14094 2552usize,
14095 concat!(
14096 "Offset of field: ",
14097 stringify!(SSkirmishAICallback),
14098 "::",
14099 stringify!(Unit_getCaptureProgress)
14100 )
14101 );
14102 assert_eq!(
14103 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getBuildProgress) as usize - ptr as usize },
14104 2560usize,
14105 concat!(
14106 "Offset of field: ",
14107 stringify!(SSkirmishAICallback),
14108 "::",
14109 stringify!(Unit_getBuildProgress)
14110 )
14111 );
14112 assert_eq!(
14113 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getSpeed) as usize - ptr as usize },
14114 2568usize,
14115 concat!(
14116 "Offset of field: ",
14117 stringify!(SSkirmishAICallback),
14118 "::",
14119 stringify!(Unit_getSpeed)
14120 )
14121 );
14122 assert_eq!(
14123 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getPower) as usize - ptr as usize },
14124 2576usize,
14125 concat!(
14126 "Offset of field: ",
14127 stringify!(SSkirmishAICallback),
14128 "::",
14129 stringify!(Unit_getPower)
14130 )
14131 );
14132 assert_eq!(
14133 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getResourceUse) as usize - ptr as usize },
14134 2584usize,
14135 concat!(
14136 "Offset of field: ",
14137 stringify!(SSkirmishAICallback),
14138 "::",
14139 stringify!(Unit_getResourceUse)
14140 )
14141 );
14142 assert_eq!(
14143 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getResourceMake) as usize - ptr as usize },
14144 2592usize,
14145 concat!(
14146 "Offset of field: ",
14147 stringify!(SSkirmishAICallback),
14148 "::",
14149 stringify!(Unit_getResourceMake)
14150 )
14151 );
14152 assert_eq!(
14153 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getPos) as usize - ptr as usize },
14154 2600usize,
14155 concat!(
14156 "Offset of field: ",
14157 stringify!(SSkirmishAICallback),
14158 "::",
14159 stringify!(Unit_getPos)
14160 )
14161 );
14162 assert_eq!(
14163 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getVel) as usize - ptr as usize },
14164 2608usize,
14165 concat!(
14166 "Offset of field: ",
14167 stringify!(SSkirmishAICallback),
14168 "::",
14169 stringify!(Unit_getVel)
14170 )
14171 );
14172 assert_eq!(
14173 unsafe { ::std::ptr::addr_of!((*ptr).Unit_isActivated) as usize - ptr as usize },
14174 2616usize,
14175 concat!(
14176 "Offset of field: ",
14177 stringify!(SSkirmishAICallback),
14178 "::",
14179 stringify!(Unit_isActivated)
14180 )
14181 );
14182 assert_eq!(
14183 unsafe { ::std::ptr::addr_of!((*ptr).Unit_isBeingBuilt) as usize - ptr as usize },
14184 2624usize,
14185 concat!(
14186 "Offset of field: ",
14187 stringify!(SSkirmishAICallback),
14188 "::",
14189 stringify!(Unit_isBeingBuilt)
14190 )
14191 );
14192 assert_eq!(
14193 unsafe { ::std::ptr::addr_of!((*ptr).Unit_isCloaked) as usize - ptr as usize },
14194 2632usize,
14195 concat!(
14196 "Offset of field: ",
14197 stringify!(SSkirmishAICallback),
14198 "::",
14199 stringify!(Unit_isCloaked)
14200 )
14201 );
14202 assert_eq!(
14203 unsafe { ::std::ptr::addr_of!((*ptr).Unit_isParalyzed) as usize - ptr as usize },
14204 2640usize,
14205 concat!(
14206 "Offset of field: ",
14207 stringify!(SSkirmishAICallback),
14208 "::",
14209 stringify!(Unit_isParalyzed)
14210 )
14211 );
14212 assert_eq!(
14213 unsafe { ::std::ptr::addr_of!((*ptr).Unit_isNeutral) as usize - ptr as usize },
14214 2648usize,
14215 concat!(
14216 "Offset of field: ",
14217 stringify!(SSkirmishAICallback),
14218 "::",
14219 stringify!(Unit_isNeutral)
14220 )
14221 );
14222 assert_eq!(
14223 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getBuildingFacing) as usize - ptr as usize },
14224 2656usize,
14225 concat!(
14226 "Offset of field: ",
14227 stringify!(SSkirmishAICallback),
14228 "::",
14229 stringify!(Unit_getBuildingFacing)
14230 )
14231 );
14232 assert_eq!(
14233 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getLastUserOrderFrame) as usize - ptr as usize },
14234 2664usize,
14235 concat!(
14236 "Offset of field: ",
14237 stringify!(SSkirmishAICallback),
14238 "::",
14239 stringify!(Unit_getLastUserOrderFrame)
14240 )
14241 );
14242 assert_eq!(
14243 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getWeapons) as usize - ptr as usize },
14244 2672usize,
14245 concat!(
14246 "Offset of field: ",
14247 stringify!(SSkirmishAICallback),
14248 "::",
14249 stringify!(Unit_getWeapons)
14250 )
14251 );
14252 assert_eq!(
14253 unsafe { ::std::ptr::addr_of!((*ptr).Unit_getWeapon) as usize - ptr as usize },
14254 2680usize,
14255 concat!(
14256 "Offset of field: ",
14257 stringify!(SSkirmishAICallback),
14258 "::",
14259 stringify!(Unit_getWeapon)
14260 )
14261 );
14262 assert_eq!(
14263 unsafe { ::std::ptr::addr_of!((*ptr).Team_hasAIController) as usize - ptr as usize },
14264 2688usize,
14265 concat!(
14266 "Offset of field: ",
14267 stringify!(SSkirmishAICallback),
14268 "::",
14269 stringify!(Team_hasAIController)
14270 )
14271 );
14272 assert_eq!(
14273 unsafe { ::std::ptr::addr_of!((*ptr).getEnemyTeams) as usize - ptr as usize },
14274 2696usize,
14275 concat!(
14276 "Offset of field: ",
14277 stringify!(SSkirmishAICallback),
14278 "::",
14279 stringify!(getEnemyTeams)
14280 )
14281 );
14282 assert_eq!(
14283 unsafe { ::std::ptr::addr_of!((*ptr).getAlliedTeams) as usize - ptr as usize },
14284 2704usize,
14285 concat!(
14286 "Offset of field: ",
14287 stringify!(SSkirmishAICallback),
14288 "::",
14289 stringify!(getAlliedTeams)
14290 )
14291 );
14292 assert_eq!(
14293 unsafe { ::std::ptr::addr_of!((*ptr).Team_getRulesParamFloat) as usize - ptr as usize },
14294 2712usize,
14295 concat!(
14296 "Offset of field: ",
14297 stringify!(SSkirmishAICallback),
14298 "::",
14299 stringify!(Team_getRulesParamFloat)
14300 )
14301 );
14302 assert_eq!(
14303 unsafe { ::std::ptr::addr_of!((*ptr).Team_getRulesParamString) as usize - ptr as usize },
14304 2720usize,
14305 concat!(
14306 "Offset of field: ",
14307 stringify!(SSkirmishAICallback),
14308 "::",
14309 stringify!(Team_getRulesParamString)
14310 )
14311 );
14312 assert_eq!(
14313 unsafe { ::std::ptr::addr_of!((*ptr).getGroups) as usize - ptr as usize },
14314 2728usize,
14315 concat!(
14316 "Offset of field: ",
14317 stringify!(SSkirmishAICallback),
14318 "::",
14319 stringify!(getGroups)
14320 )
14321 );
14322 assert_eq!(
14323 unsafe { ::std::ptr::addr_of!((*ptr).Group_getSupportedCommands) as usize - ptr as usize },
14324 2736usize,
14325 concat!(
14326 "Offset of field: ",
14327 stringify!(SSkirmishAICallback),
14328 "::",
14329 stringify!(Group_getSupportedCommands)
14330 )
14331 );
14332 assert_eq!(
14333 unsafe {
14334 ::std::ptr::addr_of!((*ptr).Group_SupportedCommand_getId) as usize - ptr as usize
14335 },
14336 2744usize,
14337 concat!(
14338 "Offset of field: ",
14339 stringify!(SSkirmishAICallback),
14340 "::",
14341 stringify!(Group_SupportedCommand_getId)
14342 )
14343 );
14344 assert_eq!(
14345 unsafe {
14346 ::std::ptr::addr_of!((*ptr).Group_SupportedCommand_getName) as usize - ptr as usize
14347 },
14348 2752usize,
14349 concat!(
14350 "Offset of field: ",
14351 stringify!(SSkirmishAICallback),
14352 "::",
14353 stringify!(Group_SupportedCommand_getName)
14354 )
14355 );
14356 assert_eq!(
14357 unsafe {
14358 ::std::ptr::addr_of!((*ptr).Group_SupportedCommand_getToolTip) as usize - ptr as usize
14359 },
14360 2760usize,
14361 concat!(
14362 "Offset of field: ",
14363 stringify!(SSkirmishAICallback),
14364 "::",
14365 stringify!(Group_SupportedCommand_getToolTip)
14366 )
14367 );
14368 assert_eq!(
14369 unsafe {
14370 ::std::ptr::addr_of!((*ptr).Group_SupportedCommand_isShowUnique) as usize - ptr as usize
14371 },
14372 2768usize,
14373 concat!(
14374 "Offset of field: ",
14375 stringify!(SSkirmishAICallback),
14376 "::",
14377 stringify!(Group_SupportedCommand_isShowUnique)
14378 )
14379 );
14380 assert_eq!(
14381 unsafe {
14382 ::std::ptr::addr_of!((*ptr).Group_SupportedCommand_isDisabled) as usize - ptr as usize
14383 },
14384 2776usize,
14385 concat!(
14386 "Offset of field: ",
14387 stringify!(SSkirmishAICallback),
14388 "::",
14389 stringify!(Group_SupportedCommand_isDisabled)
14390 )
14391 );
14392 assert_eq!(
14393 unsafe {
14394 ::std::ptr::addr_of!((*ptr).Group_SupportedCommand_getParams) as usize - ptr as usize
14395 },
14396 2784usize,
14397 concat!(
14398 "Offset of field: ",
14399 stringify!(SSkirmishAICallback),
14400 "::",
14401 stringify!(Group_SupportedCommand_getParams)
14402 )
14403 );
14404 assert_eq!(
14405 unsafe { ::std::ptr::addr_of!((*ptr).Group_OrderPreview_getId) as usize - ptr as usize },
14406 2792usize,
14407 concat!(
14408 "Offset of field: ",
14409 stringify!(SSkirmishAICallback),
14410 "::",
14411 stringify!(Group_OrderPreview_getId)
14412 )
14413 );
14414 assert_eq!(
14415 unsafe {
14416 ::std::ptr::addr_of!((*ptr).Group_OrderPreview_getOptions) as usize - ptr as usize
14417 },
14418 2800usize,
14419 concat!(
14420 "Offset of field: ",
14421 stringify!(SSkirmishAICallback),
14422 "::",
14423 stringify!(Group_OrderPreview_getOptions)
14424 )
14425 );
14426 assert_eq!(
14427 unsafe { ::std::ptr::addr_of!((*ptr).Group_OrderPreview_getTag) as usize - ptr as usize },
14428 2808usize,
14429 concat!(
14430 "Offset of field: ",
14431 stringify!(SSkirmishAICallback),
14432 "::",
14433 stringify!(Group_OrderPreview_getTag)
14434 )
14435 );
14436 assert_eq!(
14437 unsafe {
14438 ::std::ptr::addr_of!((*ptr).Group_OrderPreview_getTimeOut) as usize - ptr as usize
14439 },
14440 2816usize,
14441 concat!(
14442 "Offset of field: ",
14443 stringify!(SSkirmishAICallback),
14444 "::",
14445 stringify!(Group_OrderPreview_getTimeOut)
14446 )
14447 );
14448 assert_eq!(
14449 unsafe {
14450 ::std::ptr::addr_of!((*ptr).Group_OrderPreview_getParams) as usize - ptr as usize
14451 },
14452 2824usize,
14453 concat!(
14454 "Offset of field: ",
14455 stringify!(SSkirmishAICallback),
14456 "::",
14457 stringify!(Group_OrderPreview_getParams)
14458 )
14459 );
14460 assert_eq!(
14461 unsafe { ::std::ptr::addr_of!((*ptr).Group_isSelected) as usize - ptr as usize },
14462 2832usize,
14463 concat!(
14464 "Offset of field: ",
14465 stringify!(SSkirmishAICallback),
14466 "::",
14467 stringify!(Group_isSelected)
14468 )
14469 );
14470 assert_eq!(
14471 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getFileName) as usize - ptr as usize },
14472 2840usize,
14473 concat!(
14474 "Offset of field: ",
14475 stringify!(SSkirmishAICallback),
14476 "::",
14477 stringify!(Mod_getFileName)
14478 )
14479 );
14480 assert_eq!(
14481 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getHash) as usize - ptr as usize },
14482 2848usize,
14483 concat!(
14484 "Offset of field: ",
14485 stringify!(SSkirmishAICallback),
14486 "::",
14487 stringify!(Mod_getHash)
14488 )
14489 );
14490 assert_eq!(
14491 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getHumanName) as usize - ptr as usize },
14492 2856usize,
14493 concat!(
14494 "Offset of field: ",
14495 stringify!(SSkirmishAICallback),
14496 "::",
14497 stringify!(Mod_getHumanName)
14498 )
14499 );
14500 assert_eq!(
14501 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getShortName) as usize - ptr as usize },
14502 2864usize,
14503 concat!(
14504 "Offset of field: ",
14505 stringify!(SSkirmishAICallback),
14506 "::",
14507 stringify!(Mod_getShortName)
14508 )
14509 );
14510 assert_eq!(
14511 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getVersion) as usize - ptr as usize },
14512 2872usize,
14513 concat!(
14514 "Offset of field: ",
14515 stringify!(SSkirmishAICallback),
14516 "::",
14517 stringify!(Mod_getVersion)
14518 )
14519 );
14520 assert_eq!(
14521 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getMutator) as usize - ptr as usize },
14522 2880usize,
14523 concat!(
14524 "Offset of field: ",
14525 stringify!(SSkirmishAICallback),
14526 "::",
14527 stringify!(Mod_getMutator)
14528 )
14529 );
14530 assert_eq!(
14531 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getDescription) as usize - ptr as usize },
14532 2888usize,
14533 concat!(
14534 "Offset of field: ",
14535 stringify!(SSkirmishAICallback),
14536 "::",
14537 stringify!(Mod_getDescription)
14538 )
14539 );
14540 assert_eq!(
14541 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getConstructionDecay) as usize - ptr as usize },
14542 2896usize,
14543 concat!(
14544 "Offset of field: ",
14545 stringify!(SSkirmishAICallback),
14546 "::",
14547 stringify!(Mod_getConstructionDecay)
14548 )
14549 );
14550 assert_eq!(
14551 unsafe {
14552 ::std::ptr::addr_of!((*ptr).Mod_getConstructionDecayTime) as usize - ptr as usize
14553 },
14554 2904usize,
14555 concat!(
14556 "Offset of field: ",
14557 stringify!(SSkirmishAICallback),
14558 "::",
14559 stringify!(Mod_getConstructionDecayTime)
14560 )
14561 );
14562 assert_eq!(
14563 unsafe {
14564 ::std::ptr::addr_of!((*ptr).Mod_getConstructionDecaySpeed) as usize - ptr as usize
14565 },
14566 2912usize,
14567 concat!(
14568 "Offset of field: ",
14569 stringify!(SSkirmishAICallback),
14570 "::",
14571 stringify!(Mod_getConstructionDecaySpeed)
14572 )
14573 );
14574 assert_eq!(
14575 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getMultiReclaim) as usize - ptr as usize },
14576 2920usize,
14577 concat!(
14578 "Offset of field: ",
14579 stringify!(SSkirmishAICallback),
14580 "::",
14581 stringify!(Mod_getMultiReclaim)
14582 )
14583 );
14584 assert_eq!(
14585 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getReclaimMethod) as usize - ptr as usize },
14586 2928usize,
14587 concat!(
14588 "Offset of field: ",
14589 stringify!(SSkirmishAICallback),
14590 "::",
14591 stringify!(Mod_getReclaimMethod)
14592 )
14593 );
14594 assert_eq!(
14595 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getReclaimUnitMethod) as usize - ptr as usize },
14596 2936usize,
14597 concat!(
14598 "Offset of field: ",
14599 stringify!(SSkirmishAICallback),
14600 "::",
14601 stringify!(Mod_getReclaimUnitMethod)
14602 )
14603 );
14604 assert_eq!(
14605 unsafe {
14606 ::std::ptr::addr_of!((*ptr).Mod_getReclaimUnitEnergyCostFactor) as usize - ptr as usize
14607 },
14608 2944usize,
14609 concat!(
14610 "Offset of field: ",
14611 stringify!(SSkirmishAICallback),
14612 "::",
14613 stringify!(Mod_getReclaimUnitEnergyCostFactor)
14614 )
14615 );
14616 assert_eq!(
14617 unsafe {
14618 ::std::ptr::addr_of!((*ptr).Mod_getReclaimUnitEfficiency) as usize - ptr as usize
14619 },
14620 2952usize,
14621 concat!(
14622 "Offset of field: ",
14623 stringify!(SSkirmishAICallback),
14624 "::",
14625 stringify!(Mod_getReclaimUnitEfficiency)
14626 )
14627 );
14628 assert_eq!(
14629 unsafe {
14630 ::std::ptr::addr_of!((*ptr).Mod_getReclaimFeatureEnergyCostFactor) as usize
14631 - ptr as usize
14632 },
14633 2960usize,
14634 concat!(
14635 "Offset of field: ",
14636 stringify!(SSkirmishAICallback),
14637 "::",
14638 stringify!(Mod_getReclaimFeatureEnergyCostFactor)
14639 )
14640 );
14641 assert_eq!(
14642 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getReclaimAllowEnemies) as usize - ptr as usize },
14643 2968usize,
14644 concat!(
14645 "Offset of field: ",
14646 stringify!(SSkirmishAICallback),
14647 "::",
14648 stringify!(Mod_getReclaimAllowEnemies)
14649 )
14650 );
14651 assert_eq!(
14652 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getReclaimAllowAllies) as usize - ptr as usize },
14653 2976usize,
14654 concat!(
14655 "Offset of field: ",
14656 stringify!(SSkirmishAICallback),
14657 "::",
14658 stringify!(Mod_getReclaimAllowAllies)
14659 )
14660 );
14661 assert_eq!(
14662 unsafe {
14663 ::std::ptr::addr_of!((*ptr).Mod_getRepairEnergyCostFactor) as usize - ptr as usize
14664 },
14665 2984usize,
14666 concat!(
14667 "Offset of field: ",
14668 stringify!(SSkirmishAICallback),
14669 "::",
14670 stringify!(Mod_getRepairEnergyCostFactor)
14671 )
14672 );
14673 assert_eq!(
14674 unsafe {
14675 ::std::ptr::addr_of!((*ptr).Mod_getResurrectEnergyCostFactor) as usize - ptr as usize
14676 },
14677 2992usize,
14678 concat!(
14679 "Offset of field: ",
14680 stringify!(SSkirmishAICallback),
14681 "::",
14682 stringify!(Mod_getResurrectEnergyCostFactor)
14683 )
14684 );
14685 assert_eq!(
14686 unsafe {
14687 ::std::ptr::addr_of!((*ptr).Mod_getCaptureEnergyCostFactor) as usize - ptr as usize
14688 },
14689 3000usize,
14690 concat!(
14691 "Offset of field: ",
14692 stringify!(SSkirmishAICallback),
14693 "::",
14694 stringify!(Mod_getCaptureEnergyCostFactor)
14695 )
14696 );
14697 assert_eq!(
14698 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getTransportGround) as usize - ptr as usize },
14699 3008usize,
14700 concat!(
14701 "Offset of field: ",
14702 stringify!(SSkirmishAICallback),
14703 "::",
14704 stringify!(Mod_getTransportGround)
14705 )
14706 );
14707 assert_eq!(
14708 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getTransportHover) as usize - ptr as usize },
14709 3016usize,
14710 concat!(
14711 "Offset of field: ",
14712 stringify!(SSkirmishAICallback),
14713 "::",
14714 stringify!(Mod_getTransportHover)
14715 )
14716 );
14717 assert_eq!(
14718 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getTransportShip) as usize - ptr as usize },
14719 3024usize,
14720 concat!(
14721 "Offset of field: ",
14722 stringify!(SSkirmishAICallback),
14723 "::",
14724 stringify!(Mod_getTransportShip)
14725 )
14726 );
14727 assert_eq!(
14728 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getTransportAir) as usize - ptr as usize },
14729 3032usize,
14730 concat!(
14731 "Offset of field: ",
14732 stringify!(SSkirmishAICallback),
14733 "::",
14734 stringify!(Mod_getTransportAir)
14735 )
14736 );
14737 assert_eq!(
14738 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getFireAtKilled) as usize - ptr as usize },
14739 3040usize,
14740 concat!(
14741 "Offset of field: ",
14742 stringify!(SSkirmishAICallback),
14743 "::",
14744 stringify!(Mod_getFireAtKilled)
14745 )
14746 );
14747 assert_eq!(
14748 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getFireAtCrashing) as usize - ptr as usize },
14749 3048usize,
14750 concat!(
14751 "Offset of field: ",
14752 stringify!(SSkirmishAICallback),
14753 "::",
14754 stringify!(Mod_getFireAtCrashing)
14755 )
14756 );
14757 assert_eq!(
14758 unsafe {
14759 ::std::ptr::addr_of!((*ptr).Mod_getFlankingBonusModeDefault) as usize - ptr as usize
14760 },
14761 3056usize,
14762 concat!(
14763 "Offset of field: ",
14764 stringify!(SSkirmishAICallback),
14765 "::",
14766 stringify!(Mod_getFlankingBonusModeDefault)
14767 )
14768 );
14769 assert_eq!(
14770 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getLosMipLevel) as usize - ptr as usize },
14771 3064usize,
14772 concat!(
14773 "Offset of field: ",
14774 stringify!(SSkirmishAICallback),
14775 "::",
14776 stringify!(Mod_getLosMipLevel)
14777 )
14778 );
14779 assert_eq!(
14780 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getAirMipLevel) as usize - ptr as usize },
14781 3072usize,
14782 concat!(
14783 "Offset of field: ",
14784 stringify!(SSkirmishAICallback),
14785 "::",
14786 stringify!(Mod_getAirMipLevel)
14787 )
14788 );
14789 assert_eq!(
14790 unsafe { ::std::ptr::addr_of!((*ptr).Mod_getRadarMipLevel) as usize - ptr as usize },
14791 3080usize,
14792 concat!(
14793 "Offset of field: ",
14794 stringify!(SSkirmishAICallback),
14795 "::",
14796 stringify!(Mod_getRadarMipLevel)
14797 )
14798 );
14799 assert_eq!(
14800 unsafe {
14801 ::std::ptr::addr_of!((*ptr).Mod_getRequireSonarUnderWater) as usize - ptr as usize
14802 },
14803 3088usize,
14804 concat!(
14805 "Offset of field: ",
14806 stringify!(SSkirmishAICallback),
14807 "::",
14808 stringify!(Mod_getRequireSonarUnderWater)
14809 )
14810 );
14811 assert_eq!(
14812 unsafe { ::std::ptr::addr_of!((*ptr).Map_getChecksum) as usize - ptr as usize },
14813 3096usize,
14814 concat!(
14815 "Offset of field: ",
14816 stringify!(SSkirmishAICallback),
14817 "::",
14818 stringify!(Map_getChecksum)
14819 )
14820 );
14821 assert_eq!(
14822 unsafe { ::std::ptr::addr_of!((*ptr).Map_getStartPos) as usize - ptr as usize },
14823 3104usize,
14824 concat!(
14825 "Offset of field: ",
14826 stringify!(SSkirmishAICallback),
14827 "::",
14828 stringify!(Map_getStartPos)
14829 )
14830 );
14831 assert_eq!(
14832 unsafe { ::std::ptr::addr_of!((*ptr).Map_getMousePos) as usize - ptr as usize },
14833 3112usize,
14834 concat!(
14835 "Offset of field: ",
14836 stringify!(SSkirmishAICallback),
14837 "::",
14838 stringify!(Map_getMousePos)
14839 )
14840 );
14841 assert_eq!(
14842 unsafe { ::std::ptr::addr_of!((*ptr).Map_isPosInCamera) as usize - ptr as usize },
14843 3120usize,
14844 concat!(
14845 "Offset of field: ",
14846 stringify!(SSkirmishAICallback),
14847 "::",
14848 stringify!(Map_isPosInCamera)
14849 )
14850 );
14851 assert_eq!(
14852 unsafe { ::std::ptr::addr_of!((*ptr).Map_getWidth) as usize - ptr as usize },
14853 3128usize,
14854 concat!(
14855 "Offset of field: ",
14856 stringify!(SSkirmishAICallback),
14857 "::",
14858 stringify!(Map_getWidth)
14859 )
14860 );
14861 assert_eq!(
14862 unsafe { ::std::ptr::addr_of!((*ptr).Map_getHeight) as usize - ptr as usize },
14863 3136usize,
14864 concat!(
14865 "Offset of field: ",
14866 stringify!(SSkirmishAICallback),
14867 "::",
14868 stringify!(Map_getHeight)
14869 )
14870 );
14871 assert_eq!(
14872 unsafe { ::std::ptr::addr_of!((*ptr).Map_getHeightMap) as usize - ptr as usize },
14873 3144usize,
14874 concat!(
14875 "Offset of field: ",
14876 stringify!(SSkirmishAICallback),
14877 "::",
14878 stringify!(Map_getHeightMap)
14879 )
14880 );
14881 assert_eq!(
14882 unsafe { ::std::ptr::addr_of!((*ptr).Map_getCornersHeightMap) as usize - ptr as usize },
14883 3152usize,
14884 concat!(
14885 "Offset of field: ",
14886 stringify!(SSkirmishAICallback),
14887 "::",
14888 stringify!(Map_getCornersHeightMap)
14889 )
14890 );
14891 assert_eq!(
14892 unsafe { ::std::ptr::addr_of!((*ptr).Map_getMinHeight) as usize - ptr as usize },
14893 3160usize,
14894 concat!(
14895 "Offset of field: ",
14896 stringify!(SSkirmishAICallback),
14897 "::",
14898 stringify!(Map_getMinHeight)
14899 )
14900 );
14901 assert_eq!(
14902 unsafe { ::std::ptr::addr_of!((*ptr).Map_getMaxHeight) as usize - ptr as usize },
14903 3168usize,
14904 concat!(
14905 "Offset of field: ",
14906 stringify!(SSkirmishAICallback),
14907 "::",
14908 stringify!(Map_getMaxHeight)
14909 )
14910 );
14911 assert_eq!(
14912 unsafe { ::std::ptr::addr_of!((*ptr).Map_getSlopeMap) as usize - ptr as usize },
14913 3176usize,
14914 concat!(
14915 "Offset of field: ",
14916 stringify!(SSkirmishAICallback),
14917 "::",
14918 stringify!(Map_getSlopeMap)
14919 )
14920 );
14921 assert_eq!(
14922 unsafe { ::std::ptr::addr_of!((*ptr).Map_getLosMap) as usize - ptr as usize },
14923 3184usize,
14924 concat!(
14925 "Offset of field: ",
14926 stringify!(SSkirmishAICallback),
14927 "::",
14928 stringify!(Map_getLosMap)
14929 )
14930 );
14931 assert_eq!(
14932 unsafe { ::std::ptr::addr_of!((*ptr).Map_getAirLosMap) as usize - ptr as usize },
14933 3192usize,
14934 concat!(
14935 "Offset of field: ",
14936 stringify!(SSkirmishAICallback),
14937 "::",
14938 stringify!(Map_getAirLosMap)
14939 )
14940 );
14941 assert_eq!(
14942 unsafe { ::std::ptr::addr_of!((*ptr).Map_getRadarMap) as usize - ptr as usize },
14943 3200usize,
14944 concat!(
14945 "Offset of field: ",
14946 stringify!(SSkirmishAICallback),
14947 "::",
14948 stringify!(Map_getRadarMap)
14949 )
14950 );
14951 assert_eq!(
14952 unsafe { ::std::ptr::addr_of!((*ptr).Map_getSonarMap) as usize - ptr as usize },
14953 3208usize,
14954 concat!(
14955 "Offset of field: ",
14956 stringify!(SSkirmishAICallback),
14957 "::",
14958 stringify!(Map_getSonarMap)
14959 )
14960 );
14961 assert_eq!(
14962 unsafe { ::std::ptr::addr_of!((*ptr).Map_getSeismicMap) as usize - ptr as usize },
14963 3216usize,
14964 concat!(
14965 "Offset of field: ",
14966 stringify!(SSkirmishAICallback),
14967 "::",
14968 stringify!(Map_getSeismicMap)
14969 )
14970 );
14971 assert_eq!(
14972 unsafe { ::std::ptr::addr_of!((*ptr).Map_getJammerMap) as usize - ptr as usize },
14973 3224usize,
14974 concat!(
14975 "Offset of field: ",
14976 stringify!(SSkirmishAICallback),
14977 "::",
14978 stringify!(Map_getJammerMap)
14979 )
14980 );
14981 assert_eq!(
14982 unsafe { ::std::ptr::addr_of!((*ptr).Map_getSonarJammerMap) as usize - ptr as usize },
14983 3232usize,
14984 concat!(
14985 "Offset of field: ",
14986 stringify!(SSkirmishAICallback),
14987 "::",
14988 stringify!(Map_getSonarJammerMap)
14989 )
14990 );
14991 assert_eq!(
14992 unsafe { ::std::ptr::addr_of!((*ptr).Map_getResourceMapRaw) as usize - ptr as usize },
14993 3240usize,
14994 concat!(
14995 "Offset of field: ",
14996 stringify!(SSkirmishAICallback),
14997 "::",
14998 stringify!(Map_getResourceMapRaw)
14999 )
15000 );
15001 assert_eq!(
15002 unsafe {
15003 ::std::ptr::addr_of!((*ptr).Map_getResourceMapSpotsPositions) as usize - ptr as usize
15004 },
15005 3248usize,
15006 concat!(
15007 "Offset of field: ",
15008 stringify!(SSkirmishAICallback),
15009 "::",
15010 stringify!(Map_getResourceMapSpotsPositions)
15011 )
15012 );
15013 assert_eq!(
15014 unsafe {
15015 ::std::ptr::addr_of!((*ptr).Map_getResourceMapSpotsAverageIncome) as usize
15016 - ptr as usize
15017 },
15018 3256usize,
15019 concat!(
15020 "Offset of field: ",
15021 stringify!(SSkirmishAICallback),
15022 "::",
15023 stringify!(Map_getResourceMapSpotsAverageIncome)
15024 )
15025 );
15026 assert_eq!(
15027 unsafe {
15028 ::std::ptr::addr_of!((*ptr).Map_getResourceMapSpotsNearest) as usize - ptr as usize
15029 },
15030 3264usize,
15031 concat!(
15032 "Offset of field: ",
15033 stringify!(SSkirmishAICallback),
15034 "::",
15035 stringify!(Map_getResourceMapSpotsNearest)
15036 )
15037 );
15038 assert_eq!(
15039 unsafe { ::std::ptr::addr_of!((*ptr).Map_getHash) as usize - ptr as usize },
15040 3272usize,
15041 concat!(
15042 "Offset of field: ",
15043 stringify!(SSkirmishAICallback),
15044 "::",
15045 stringify!(Map_getHash)
15046 )
15047 );
15048 assert_eq!(
15049 unsafe { ::std::ptr::addr_of!((*ptr).Map_getName) as usize - ptr as usize },
15050 3280usize,
15051 concat!(
15052 "Offset of field: ",
15053 stringify!(SSkirmishAICallback),
15054 "::",
15055 stringify!(Map_getName)
15056 )
15057 );
15058 assert_eq!(
15059 unsafe { ::std::ptr::addr_of!((*ptr).Map_getHumanName) as usize - ptr as usize },
15060 3288usize,
15061 concat!(
15062 "Offset of field: ",
15063 stringify!(SSkirmishAICallback),
15064 "::",
15065 stringify!(Map_getHumanName)
15066 )
15067 );
15068 assert_eq!(
15069 unsafe { ::std::ptr::addr_of!((*ptr).Map_getElevationAt) as usize - ptr as usize },
15070 3296usize,
15071 concat!(
15072 "Offset of field: ",
15073 stringify!(SSkirmishAICallback),
15074 "::",
15075 stringify!(Map_getElevationAt)
15076 )
15077 );
15078 assert_eq!(
15079 unsafe { ::std::ptr::addr_of!((*ptr).Map_getMaxResource) as usize - ptr as usize },
15080 3304usize,
15081 concat!(
15082 "Offset of field: ",
15083 stringify!(SSkirmishAICallback),
15084 "::",
15085 stringify!(Map_getMaxResource)
15086 )
15087 );
15088 assert_eq!(
15089 unsafe { ::std::ptr::addr_of!((*ptr).Map_getExtractorRadius) as usize - ptr as usize },
15090 3312usize,
15091 concat!(
15092 "Offset of field: ",
15093 stringify!(SSkirmishAICallback),
15094 "::",
15095 stringify!(Map_getExtractorRadius)
15096 )
15097 );
15098 assert_eq!(
15099 unsafe { ::std::ptr::addr_of!((*ptr).Map_getMinWind) as usize - ptr as usize },
15100 3320usize,
15101 concat!(
15102 "Offset of field: ",
15103 stringify!(SSkirmishAICallback),
15104 "::",
15105 stringify!(Map_getMinWind)
15106 )
15107 );
15108 assert_eq!(
15109 unsafe { ::std::ptr::addr_of!((*ptr).Map_getMaxWind) as usize - ptr as usize },
15110 3328usize,
15111 concat!(
15112 "Offset of field: ",
15113 stringify!(SSkirmishAICallback),
15114 "::",
15115 stringify!(Map_getMaxWind)
15116 )
15117 );
15118 assert_eq!(
15119 unsafe { ::std::ptr::addr_of!((*ptr).Map_getCurWind) as usize - ptr as usize },
15120 3336usize,
15121 concat!(
15122 "Offset of field: ",
15123 stringify!(SSkirmishAICallback),
15124 "::",
15125 stringify!(Map_getCurWind)
15126 )
15127 );
15128 assert_eq!(
15129 unsafe { ::std::ptr::addr_of!((*ptr).Map_getTidalStrength) as usize - ptr as usize },
15130 3344usize,
15131 concat!(
15132 "Offset of field: ",
15133 stringify!(SSkirmishAICallback),
15134 "::",
15135 stringify!(Map_getTidalStrength)
15136 )
15137 );
15138 assert_eq!(
15139 unsafe { ::std::ptr::addr_of!((*ptr).Map_getGravity) as usize - ptr as usize },
15140 3352usize,
15141 concat!(
15142 "Offset of field: ",
15143 stringify!(SSkirmishAICallback),
15144 "::",
15145 stringify!(Map_getGravity)
15146 )
15147 );
15148 assert_eq!(
15149 unsafe { ::std::ptr::addr_of!((*ptr).Map_getWaterDamage) as usize - ptr as usize },
15150 3360usize,
15151 concat!(
15152 "Offset of field: ",
15153 stringify!(SSkirmishAICallback),
15154 "::",
15155 stringify!(Map_getWaterDamage)
15156 )
15157 );
15158 assert_eq!(
15159 unsafe { ::std::ptr::addr_of!((*ptr).Map_isDeformable) as usize - ptr as usize },
15160 3368usize,
15161 concat!(
15162 "Offset of field: ",
15163 stringify!(SSkirmishAICallback),
15164 "::",
15165 stringify!(Map_isDeformable)
15166 )
15167 );
15168 assert_eq!(
15169 unsafe { ::std::ptr::addr_of!((*ptr).Map_getHardness) as usize - ptr as usize },
15170 3376usize,
15171 concat!(
15172 "Offset of field: ",
15173 stringify!(SSkirmishAICallback),
15174 "::",
15175 stringify!(Map_getHardness)
15176 )
15177 );
15178 assert_eq!(
15179 unsafe { ::std::ptr::addr_of!((*ptr).Map_getHardnessModMap) as usize - ptr as usize },
15180 3384usize,
15181 concat!(
15182 "Offset of field: ",
15183 stringify!(SSkirmishAICallback),
15184 "::",
15185 stringify!(Map_getHardnessModMap)
15186 )
15187 );
15188 assert_eq!(
15189 unsafe { ::std::ptr::addr_of!((*ptr).Map_getSpeedModMap) as usize - ptr as usize },
15190 3392usize,
15191 concat!(
15192 "Offset of field: ",
15193 stringify!(SSkirmishAICallback),
15194 "::",
15195 stringify!(Map_getSpeedModMap)
15196 )
15197 );
15198 assert_eq!(
15199 unsafe { ::std::ptr::addr_of!((*ptr).Map_getPoints) as usize - ptr as usize },
15200 3400usize,
15201 concat!(
15202 "Offset of field: ",
15203 stringify!(SSkirmishAICallback),
15204 "::",
15205 stringify!(Map_getPoints)
15206 )
15207 );
15208 assert_eq!(
15209 unsafe { ::std::ptr::addr_of!((*ptr).Map_Point_getPosition) as usize - ptr as usize },
15210 3408usize,
15211 concat!(
15212 "Offset of field: ",
15213 stringify!(SSkirmishAICallback),
15214 "::",
15215 stringify!(Map_Point_getPosition)
15216 )
15217 );
15218 assert_eq!(
15219 unsafe { ::std::ptr::addr_of!((*ptr).Map_Point_getColor) as usize - ptr as usize },
15220 3416usize,
15221 concat!(
15222 "Offset of field: ",
15223 stringify!(SSkirmishAICallback),
15224 "::",
15225 stringify!(Map_Point_getColor)
15226 )
15227 );
15228 assert_eq!(
15229 unsafe { ::std::ptr::addr_of!((*ptr).Map_Point_getLabel) as usize - ptr as usize },
15230 3424usize,
15231 concat!(
15232 "Offset of field: ",
15233 stringify!(SSkirmishAICallback),
15234 "::",
15235 stringify!(Map_Point_getLabel)
15236 )
15237 );
15238 assert_eq!(
15239 unsafe { ::std::ptr::addr_of!((*ptr).Map_getLines) as usize - ptr as usize },
15240 3432usize,
15241 concat!(
15242 "Offset of field: ",
15243 stringify!(SSkirmishAICallback),
15244 "::",
15245 stringify!(Map_getLines)
15246 )
15247 );
15248 assert_eq!(
15249 unsafe { ::std::ptr::addr_of!((*ptr).Map_Line_getFirstPosition) as usize - ptr as usize },
15250 3440usize,
15251 concat!(
15252 "Offset of field: ",
15253 stringify!(SSkirmishAICallback),
15254 "::",
15255 stringify!(Map_Line_getFirstPosition)
15256 )
15257 );
15258 assert_eq!(
15259 unsafe { ::std::ptr::addr_of!((*ptr).Map_Line_getSecondPosition) as usize - ptr as usize },
15260 3448usize,
15261 concat!(
15262 "Offset of field: ",
15263 stringify!(SSkirmishAICallback),
15264 "::",
15265 stringify!(Map_Line_getSecondPosition)
15266 )
15267 );
15268 assert_eq!(
15269 unsafe { ::std::ptr::addr_of!((*ptr).Map_Line_getColor) as usize - ptr as usize },
15270 3456usize,
15271 concat!(
15272 "Offset of field: ",
15273 stringify!(SSkirmishAICallback),
15274 "::",
15275 stringify!(Map_Line_getColor)
15276 )
15277 );
15278 assert_eq!(
15279 unsafe { ::std::ptr::addr_of!((*ptr).Map_isPossibleToBuildAt) as usize - ptr as usize },
15280 3464usize,
15281 concat!(
15282 "Offset of field: ",
15283 stringify!(SSkirmishAICallback),
15284 "::",
15285 stringify!(Map_isPossibleToBuildAt)
15286 )
15287 );
15288 assert_eq!(
15289 unsafe { ::std::ptr::addr_of!((*ptr).Map_findClosestBuildSite) as usize - ptr as usize },
15290 3472usize,
15291 concat!(
15292 "Offset of field: ",
15293 stringify!(SSkirmishAICallback),
15294 "::",
15295 stringify!(Map_findClosestBuildSite)
15296 )
15297 );
15298 assert_eq!(
15299 unsafe { ::std::ptr::addr_of!((*ptr).getFeatureDefs) as usize - ptr as usize },
15300 3480usize,
15301 concat!(
15302 "Offset of field: ",
15303 stringify!(SSkirmishAICallback),
15304 "::",
15305 stringify!(getFeatureDefs)
15306 )
15307 );
15308 assert_eq!(
15309 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getName) as usize - ptr as usize },
15310 3488usize,
15311 concat!(
15312 "Offset of field: ",
15313 stringify!(SSkirmishAICallback),
15314 "::",
15315 stringify!(FeatureDef_getName)
15316 )
15317 );
15318 assert_eq!(
15319 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getDescription) as usize - ptr as usize },
15320 3496usize,
15321 concat!(
15322 "Offset of field: ",
15323 stringify!(SSkirmishAICallback),
15324 "::",
15325 stringify!(FeatureDef_getDescription)
15326 )
15327 );
15328 assert_eq!(
15329 unsafe {
15330 ::std::ptr::addr_of!((*ptr).FeatureDef_getContainedResource) as usize - ptr as usize
15331 },
15332 3504usize,
15333 concat!(
15334 "Offset of field: ",
15335 stringify!(SSkirmishAICallback),
15336 "::",
15337 stringify!(FeatureDef_getContainedResource)
15338 )
15339 );
15340 assert_eq!(
15341 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getMaxHealth) as usize - ptr as usize },
15342 3512usize,
15343 concat!(
15344 "Offset of field: ",
15345 stringify!(SSkirmishAICallback),
15346 "::",
15347 stringify!(FeatureDef_getMaxHealth)
15348 )
15349 );
15350 assert_eq!(
15351 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getReclaimTime) as usize - ptr as usize },
15352 3520usize,
15353 concat!(
15354 "Offset of field: ",
15355 stringify!(SSkirmishAICallback),
15356 "::",
15357 stringify!(FeatureDef_getReclaimTime)
15358 )
15359 );
15360 assert_eq!(
15361 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getMass) as usize - ptr as usize },
15362 3528usize,
15363 concat!(
15364 "Offset of field: ",
15365 stringify!(SSkirmishAICallback),
15366 "::",
15367 stringify!(FeatureDef_getMass)
15368 )
15369 );
15370 assert_eq!(
15371 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isUpright) as usize - ptr as usize },
15372 3536usize,
15373 concat!(
15374 "Offset of field: ",
15375 stringify!(SSkirmishAICallback),
15376 "::",
15377 stringify!(FeatureDef_isUpright)
15378 )
15379 );
15380 assert_eq!(
15381 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getDrawType) as usize - ptr as usize },
15382 3544usize,
15383 concat!(
15384 "Offset of field: ",
15385 stringify!(SSkirmishAICallback),
15386 "::",
15387 stringify!(FeatureDef_getDrawType)
15388 )
15389 );
15390 assert_eq!(
15391 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getModelName) as usize - ptr as usize },
15392 3552usize,
15393 concat!(
15394 "Offset of field: ",
15395 stringify!(SSkirmishAICallback),
15396 "::",
15397 stringify!(FeatureDef_getModelName)
15398 )
15399 );
15400 assert_eq!(
15401 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getResurrectable) as usize - ptr as usize },
15402 3560usize,
15403 concat!(
15404 "Offset of field: ",
15405 stringify!(SSkirmishAICallback),
15406 "::",
15407 stringify!(FeatureDef_getResurrectable)
15408 )
15409 );
15410 assert_eq!(
15411 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getSmokeTime) as usize - ptr as usize },
15412 3568usize,
15413 concat!(
15414 "Offset of field: ",
15415 stringify!(SSkirmishAICallback),
15416 "::",
15417 stringify!(FeatureDef_getSmokeTime)
15418 )
15419 );
15420 assert_eq!(
15421 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isDestructable) as usize - ptr as usize },
15422 3576usize,
15423 concat!(
15424 "Offset of field: ",
15425 stringify!(SSkirmishAICallback),
15426 "::",
15427 stringify!(FeatureDef_isDestructable)
15428 )
15429 );
15430 assert_eq!(
15431 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isReclaimable) as usize - ptr as usize },
15432 3584usize,
15433 concat!(
15434 "Offset of field: ",
15435 stringify!(SSkirmishAICallback),
15436 "::",
15437 stringify!(FeatureDef_isReclaimable)
15438 )
15439 );
15440 assert_eq!(
15441 unsafe {
15442 ::std::ptr::addr_of!((*ptr).FeatureDef_isAutoreclaimable) as usize - ptr as usize
15443 },
15444 3592usize,
15445 concat!(
15446 "Offset of field: ",
15447 stringify!(SSkirmishAICallback),
15448 "::",
15449 stringify!(FeatureDef_isAutoreclaimable)
15450 )
15451 );
15452 assert_eq!(
15453 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isBlocking) as usize - ptr as usize },
15454 3600usize,
15455 concat!(
15456 "Offset of field: ",
15457 stringify!(SSkirmishAICallback),
15458 "::",
15459 stringify!(FeatureDef_isBlocking)
15460 )
15461 );
15462 assert_eq!(
15463 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isBurnable) as usize - ptr as usize },
15464 3608usize,
15465 concat!(
15466 "Offset of field: ",
15467 stringify!(SSkirmishAICallback),
15468 "::",
15469 stringify!(FeatureDef_isBurnable)
15470 )
15471 );
15472 assert_eq!(
15473 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isFloating) as usize - ptr as usize },
15474 3616usize,
15475 concat!(
15476 "Offset of field: ",
15477 stringify!(SSkirmishAICallback),
15478 "::",
15479 stringify!(FeatureDef_isFloating)
15480 )
15481 );
15482 assert_eq!(
15483 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isNoSelect) as usize - ptr as usize },
15484 3624usize,
15485 concat!(
15486 "Offset of field: ",
15487 stringify!(SSkirmishAICallback),
15488 "::",
15489 stringify!(FeatureDef_isNoSelect)
15490 )
15491 );
15492 assert_eq!(
15493 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isGeoThermal) as usize - ptr as usize },
15494 3632usize,
15495 concat!(
15496 "Offset of field: ",
15497 stringify!(SSkirmishAICallback),
15498 "::",
15499 stringify!(FeatureDef_isGeoThermal)
15500 )
15501 );
15502 assert_eq!(
15503 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getXSize) as usize - ptr as usize },
15504 3640usize,
15505 concat!(
15506 "Offset of field: ",
15507 stringify!(SSkirmishAICallback),
15508 "::",
15509 stringify!(FeatureDef_getXSize)
15510 )
15511 );
15512 assert_eq!(
15513 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getZSize) as usize - ptr as usize },
15514 3648usize,
15515 concat!(
15516 "Offset of field: ",
15517 stringify!(SSkirmishAICallback),
15518 "::",
15519 stringify!(FeatureDef_getZSize)
15520 )
15521 );
15522 assert_eq!(
15523 unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getCustomParams) as usize - ptr as usize },
15524 3656usize,
15525 concat!(
15526 "Offset of field: ",
15527 stringify!(SSkirmishAICallback),
15528 "::",
15529 stringify!(FeatureDef_getCustomParams)
15530 )
15531 );
15532 assert_eq!(
15533 unsafe { ::std::ptr::addr_of!((*ptr).getFeatures) as usize - ptr as usize },
15534 3664usize,
15535 concat!(
15536 "Offset of field: ",
15537 stringify!(SSkirmishAICallback),
15538 "::",
15539 stringify!(getFeatures)
15540 )
15541 );
15542 assert_eq!(
15543 unsafe { ::std::ptr::addr_of!((*ptr).getFeaturesIn) as usize - ptr as usize },
15544 3672usize,
15545 concat!(
15546 "Offset of field: ",
15547 stringify!(SSkirmishAICallback),
15548 "::",
15549 stringify!(getFeaturesIn)
15550 )
15551 );
15552 assert_eq!(
15553 unsafe { ::std::ptr::addr_of!((*ptr).Feature_getDef) as usize - ptr as usize },
15554 3680usize,
15555 concat!(
15556 "Offset of field: ",
15557 stringify!(SSkirmishAICallback),
15558 "::",
15559 stringify!(Feature_getDef)
15560 )
15561 );
15562 assert_eq!(
15563 unsafe { ::std::ptr::addr_of!((*ptr).Feature_getHealth) as usize - ptr as usize },
15564 3688usize,
15565 concat!(
15566 "Offset of field: ",
15567 stringify!(SSkirmishAICallback),
15568 "::",
15569 stringify!(Feature_getHealth)
15570 )
15571 );
15572 assert_eq!(
15573 unsafe { ::std::ptr::addr_of!((*ptr).Feature_getReclaimLeft) as usize - ptr as usize },
15574 3696usize,
15575 concat!(
15576 "Offset of field: ",
15577 stringify!(SSkirmishAICallback),
15578 "::",
15579 stringify!(Feature_getReclaimLeft)
15580 )
15581 );
15582 assert_eq!(
15583 unsafe { ::std::ptr::addr_of!((*ptr).Feature_getPosition) as usize - ptr as usize },
15584 3704usize,
15585 concat!(
15586 "Offset of field: ",
15587 stringify!(SSkirmishAICallback),
15588 "::",
15589 stringify!(Feature_getPosition)
15590 )
15591 );
15592 assert_eq!(
15593 unsafe { ::std::ptr::addr_of!((*ptr).Feature_getRulesParamFloat) as usize - ptr as usize },
15594 3712usize,
15595 concat!(
15596 "Offset of field: ",
15597 stringify!(SSkirmishAICallback),
15598 "::",
15599 stringify!(Feature_getRulesParamFloat)
15600 )
15601 );
15602 assert_eq!(
15603 unsafe { ::std::ptr::addr_of!((*ptr).Feature_getRulesParamString) as usize - ptr as usize },
15604 3720usize,
15605 concat!(
15606 "Offset of field: ",
15607 stringify!(SSkirmishAICallback),
15608 "::",
15609 stringify!(Feature_getRulesParamString)
15610 )
15611 );
15612 assert_eq!(
15613 unsafe { ::std::ptr::addr_of!((*ptr).Feature_getResurrectDef) as usize - ptr as usize },
15614 3728usize,
15615 concat!(
15616 "Offset of field: ",
15617 stringify!(SSkirmishAICallback),
15618 "::",
15619 stringify!(Feature_getResurrectDef)
15620 )
15621 );
15622 assert_eq!(
15623 unsafe { ::std::ptr::addr_of!((*ptr).Feature_getBuildingFacing) as usize - ptr as usize },
15624 3736usize,
15625 concat!(
15626 "Offset of field: ",
15627 stringify!(SSkirmishAICallback),
15628 "::",
15629 stringify!(Feature_getBuildingFacing)
15630 )
15631 );
15632 assert_eq!(
15633 unsafe { ::std::ptr::addr_of!((*ptr).getWeaponDefs) as usize - ptr as usize },
15634 3744usize,
15635 concat!(
15636 "Offset of field: ",
15637 stringify!(SSkirmishAICallback),
15638 "::",
15639 stringify!(getWeaponDefs)
15640 )
15641 );
15642 assert_eq!(
15643 unsafe { ::std::ptr::addr_of!((*ptr).getWeaponDefByName) as usize - ptr as usize },
15644 3752usize,
15645 concat!(
15646 "Offset of field: ",
15647 stringify!(SSkirmishAICallback),
15648 "::",
15649 stringify!(getWeaponDefByName)
15650 )
15651 );
15652 assert_eq!(
15653 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getName) as usize - ptr as usize },
15654 3760usize,
15655 concat!(
15656 "Offset of field: ",
15657 stringify!(SSkirmishAICallback),
15658 "::",
15659 stringify!(WeaponDef_getName)
15660 )
15661 );
15662 assert_eq!(
15663 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getType) as usize - ptr as usize },
15664 3768usize,
15665 concat!(
15666 "Offset of field: ",
15667 stringify!(SSkirmishAICallback),
15668 "::",
15669 stringify!(WeaponDef_getType)
15670 )
15671 );
15672 assert_eq!(
15673 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDescription) as usize - ptr as usize },
15674 3776usize,
15675 concat!(
15676 "Offset of field: ",
15677 stringify!(SSkirmishAICallback),
15678 "::",
15679 stringify!(WeaponDef_getDescription)
15680 )
15681 );
15682 assert_eq!(
15683 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getRange) as usize - ptr as usize },
15684 3784usize,
15685 concat!(
15686 "Offset of field: ",
15687 stringify!(SSkirmishAICallback),
15688 "::",
15689 stringify!(WeaponDef_getRange)
15690 )
15691 );
15692 assert_eq!(
15693 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getHeightMod) as usize - ptr as usize },
15694 3792usize,
15695 concat!(
15696 "Offset of field: ",
15697 stringify!(SSkirmishAICallback),
15698 "::",
15699 stringify!(WeaponDef_getHeightMod)
15700 )
15701 );
15702 assert_eq!(
15703 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getAccuracy) as usize - ptr as usize },
15704 3800usize,
15705 concat!(
15706 "Offset of field: ",
15707 stringify!(SSkirmishAICallback),
15708 "::",
15709 stringify!(WeaponDef_getAccuracy)
15710 )
15711 );
15712 assert_eq!(
15713 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getSprayAngle) as usize - ptr as usize },
15714 3808usize,
15715 concat!(
15716 "Offset of field: ",
15717 stringify!(SSkirmishAICallback),
15718 "::",
15719 stringify!(WeaponDef_getSprayAngle)
15720 )
15721 );
15722 assert_eq!(
15723 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getMovingAccuracy) as usize - ptr as usize },
15724 3816usize,
15725 concat!(
15726 "Offset of field: ",
15727 stringify!(SSkirmishAICallback),
15728 "::",
15729 stringify!(WeaponDef_getMovingAccuracy)
15730 )
15731 );
15732 assert_eq!(
15733 unsafe {
15734 ::std::ptr::addr_of!((*ptr).WeaponDef_getTargetMoveError) as usize - ptr as usize
15735 },
15736 3824usize,
15737 concat!(
15738 "Offset of field: ",
15739 stringify!(SSkirmishAICallback),
15740 "::",
15741 stringify!(WeaponDef_getTargetMoveError)
15742 )
15743 );
15744 assert_eq!(
15745 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getLeadLimit) as usize - ptr as usize },
15746 3832usize,
15747 concat!(
15748 "Offset of field: ",
15749 stringify!(SSkirmishAICallback),
15750 "::",
15751 stringify!(WeaponDef_getLeadLimit)
15752 )
15753 );
15754 assert_eq!(
15755 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getLeadBonus) as usize - ptr as usize },
15756 3840usize,
15757 concat!(
15758 "Offset of field: ",
15759 stringify!(SSkirmishAICallback),
15760 "::",
15761 stringify!(WeaponDef_getLeadBonus)
15762 )
15763 );
15764 assert_eq!(
15765 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getPredictBoost) as usize - ptr as usize },
15766 3848usize,
15767 concat!(
15768 "Offset of field: ",
15769 stringify!(SSkirmishAICallback),
15770 "::",
15771 stringify!(WeaponDef_getPredictBoost)
15772 )
15773 );
15774 assert_eq!(
15775 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getNumDamageTypes) as usize - ptr as usize },
15776 3856usize,
15777 concat!(
15778 "Offset of field: ",
15779 stringify!(SSkirmishAICallback),
15780 "::",
15781 stringify!(WeaponDef_getNumDamageTypes)
15782 )
15783 );
15784 assert_eq!(
15785 unsafe {
15786 ::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getParalyzeDamageTime) as usize
15787 - ptr as usize
15788 },
15789 3864usize,
15790 concat!(
15791 "Offset of field: ",
15792 stringify!(SSkirmishAICallback),
15793 "::",
15794 stringify!(WeaponDef_Damage_getParalyzeDamageTime)
15795 )
15796 );
15797 assert_eq!(
15798 unsafe {
15799 ::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getImpulseFactor) as usize - ptr as usize
15800 },
15801 3872usize,
15802 concat!(
15803 "Offset of field: ",
15804 stringify!(SSkirmishAICallback),
15805 "::",
15806 stringify!(WeaponDef_Damage_getImpulseFactor)
15807 )
15808 );
15809 assert_eq!(
15810 unsafe {
15811 ::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getImpulseBoost) as usize - ptr as usize
15812 },
15813 3880usize,
15814 concat!(
15815 "Offset of field: ",
15816 stringify!(SSkirmishAICallback),
15817 "::",
15818 stringify!(WeaponDef_Damage_getImpulseBoost)
15819 )
15820 );
15821 assert_eq!(
15822 unsafe {
15823 ::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getCraterMult) as usize - ptr as usize
15824 },
15825 3888usize,
15826 concat!(
15827 "Offset of field: ",
15828 stringify!(SSkirmishAICallback),
15829 "::",
15830 stringify!(WeaponDef_Damage_getCraterMult)
15831 )
15832 );
15833 assert_eq!(
15834 unsafe {
15835 ::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getCraterBoost) as usize - ptr as usize
15836 },
15837 3896usize,
15838 concat!(
15839 "Offset of field: ",
15840 stringify!(SSkirmishAICallback),
15841 "::",
15842 stringify!(WeaponDef_Damage_getCraterBoost)
15843 )
15844 );
15845 assert_eq!(
15846 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getTypes) as usize - ptr as usize },
15847 3904usize,
15848 concat!(
15849 "Offset of field: ",
15850 stringify!(SSkirmishAICallback),
15851 "::",
15852 stringify!(WeaponDef_Damage_getTypes)
15853 )
15854 );
15855 assert_eq!(
15856 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getAreaOfEffect) as usize - ptr as usize },
15857 3912usize,
15858 concat!(
15859 "Offset of field: ",
15860 stringify!(SSkirmishAICallback),
15861 "::",
15862 stringify!(WeaponDef_getAreaOfEffect)
15863 )
15864 );
15865 assert_eq!(
15866 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isNoSelfDamage) as usize - ptr as usize },
15867 3920usize,
15868 concat!(
15869 "Offset of field: ",
15870 stringify!(SSkirmishAICallback),
15871 "::",
15872 stringify!(WeaponDef_isNoSelfDamage)
15873 )
15874 );
15875 assert_eq!(
15876 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getFireStarter) as usize - ptr as usize },
15877 3928usize,
15878 concat!(
15879 "Offset of field: ",
15880 stringify!(SSkirmishAICallback),
15881 "::",
15882 stringify!(WeaponDef_getFireStarter)
15883 )
15884 );
15885 assert_eq!(
15886 unsafe {
15887 ::std::ptr::addr_of!((*ptr).WeaponDef_getEdgeEffectiveness) as usize - ptr as usize
15888 },
15889 3936usize,
15890 concat!(
15891 "Offset of field: ",
15892 stringify!(SSkirmishAICallback),
15893 "::",
15894 stringify!(WeaponDef_getEdgeEffectiveness)
15895 )
15896 );
15897 assert_eq!(
15898 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getSize) as usize - ptr as usize },
15899 3944usize,
15900 concat!(
15901 "Offset of field: ",
15902 stringify!(SSkirmishAICallback),
15903 "::",
15904 stringify!(WeaponDef_getSize)
15905 )
15906 );
15907 assert_eq!(
15908 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getSizeGrowth) as usize - ptr as usize },
15909 3952usize,
15910 concat!(
15911 "Offset of field: ",
15912 stringify!(SSkirmishAICallback),
15913 "::",
15914 stringify!(WeaponDef_getSizeGrowth)
15915 )
15916 );
15917 assert_eq!(
15918 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCollisionSize) as usize - ptr as usize },
15919 3960usize,
15920 concat!(
15921 "Offset of field: ",
15922 stringify!(SSkirmishAICallback),
15923 "::",
15924 stringify!(WeaponDef_getCollisionSize)
15925 )
15926 );
15927 assert_eq!(
15928 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getSalvoSize) as usize - ptr as usize },
15929 3968usize,
15930 concat!(
15931 "Offset of field: ",
15932 stringify!(SSkirmishAICallback),
15933 "::",
15934 stringify!(WeaponDef_getSalvoSize)
15935 )
15936 );
15937 assert_eq!(
15938 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getSalvoDelay) as usize - ptr as usize },
15939 3976usize,
15940 concat!(
15941 "Offset of field: ",
15942 stringify!(SSkirmishAICallback),
15943 "::",
15944 stringify!(WeaponDef_getSalvoDelay)
15945 )
15946 );
15947 assert_eq!(
15948 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getReload) as usize - ptr as usize },
15949 3984usize,
15950 concat!(
15951 "Offset of field: ",
15952 stringify!(SSkirmishAICallback),
15953 "::",
15954 stringify!(WeaponDef_getReload)
15955 )
15956 );
15957 assert_eq!(
15958 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getBeamTime) as usize - ptr as usize },
15959 3992usize,
15960 concat!(
15961 "Offset of field: ",
15962 stringify!(SSkirmishAICallback),
15963 "::",
15964 stringify!(WeaponDef_getBeamTime)
15965 )
15966 );
15967 assert_eq!(
15968 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isBeamBurst) as usize - ptr as usize },
15969 4000usize,
15970 concat!(
15971 "Offset of field: ",
15972 stringify!(SSkirmishAICallback),
15973 "::",
15974 stringify!(WeaponDef_isBeamBurst)
15975 )
15976 );
15977 assert_eq!(
15978 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isWaterBounce) as usize - ptr as usize },
15979 4008usize,
15980 concat!(
15981 "Offset of field: ",
15982 stringify!(SSkirmishAICallback),
15983 "::",
15984 stringify!(WeaponDef_isWaterBounce)
15985 )
15986 );
15987 assert_eq!(
15988 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isGroundBounce) as usize - ptr as usize },
15989 4016usize,
15990 concat!(
15991 "Offset of field: ",
15992 stringify!(SSkirmishAICallback),
15993 "::",
15994 stringify!(WeaponDef_isGroundBounce)
15995 )
15996 );
15997 assert_eq!(
15998 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getBounceRebound) as usize - ptr as usize },
15999 4024usize,
16000 concat!(
16001 "Offset of field: ",
16002 stringify!(SSkirmishAICallback),
16003 "::",
16004 stringify!(WeaponDef_getBounceRebound)
16005 )
16006 );
16007 assert_eq!(
16008 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getBounceSlip) as usize - ptr as usize },
16009 4032usize,
16010 concat!(
16011 "Offset of field: ",
16012 stringify!(SSkirmishAICallback),
16013 "::",
16014 stringify!(WeaponDef_getBounceSlip)
16015 )
16016 );
16017 assert_eq!(
16018 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getNumBounce) as usize - ptr as usize },
16019 4040usize,
16020 concat!(
16021 "Offset of field: ",
16022 stringify!(SSkirmishAICallback),
16023 "::",
16024 stringify!(WeaponDef_getNumBounce)
16025 )
16026 );
16027 assert_eq!(
16028 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getMaxAngle) as usize - ptr as usize },
16029 4048usize,
16030 concat!(
16031 "Offset of field: ",
16032 stringify!(SSkirmishAICallback),
16033 "::",
16034 stringify!(WeaponDef_getMaxAngle)
16035 )
16036 );
16037 assert_eq!(
16038 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getUpTime) as usize - ptr as usize },
16039 4056usize,
16040 concat!(
16041 "Offset of field: ",
16042 stringify!(SSkirmishAICallback),
16043 "::",
16044 stringify!(WeaponDef_getUpTime)
16045 )
16046 );
16047 assert_eq!(
16048 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getFlightTime) as usize - ptr as usize },
16049 4064usize,
16050 concat!(
16051 "Offset of field: ",
16052 stringify!(SSkirmishAICallback),
16053 "::",
16054 stringify!(WeaponDef_getFlightTime)
16055 )
16056 );
16057 assert_eq!(
16058 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCost) as usize - ptr as usize },
16059 4072usize,
16060 concat!(
16061 "Offset of field: ",
16062 stringify!(SSkirmishAICallback),
16063 "::",
16064 stringify!(WeaponDef_getCost)
16065 )
16066 );
16067 assert_eq!(
16068 unsafe {
16069 ::std::ptr::addr_of!((*ptr).WeaponDef_getProjectilesPerShot) as usize - ptr as usize
16070 },
16071 4080usize,
16072 concat!(
16073 "Offset of field: ",
16074 stringify!(SSkirmishAICallback),
16075 "::",
16076 stringify!(WeaponDef_getProjectilesPerShot)
16077 )
16078 );
16079 assert_eq!(
16080 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isTurret) as usize - ptr as usize },
16081 4088usize,
16082 concat!(
16083 "Offset of field: ",
16084 stringify!(SSkirmishAICallback),
16085 "::",
16086 stringify!(WeaponDef_isTurret)
16087 )
16088 );
16089 assert_eq!(
16090 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isOnlyForward) as usize - ptr as usize },
16091 4096usize,
16092 concat!(
16093 "Offset of field: ",
16094 stringify!(SSkirmishAICallback),
16095 "::",
16096 stringify!(WeaponDef_isOnlyForward)
16097 )
16098 );
16099 assert_eq!(
16100 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isFixedLauncher) as usize - ptr as usize },
16101 4104usize,
16102 concat!(
16103 "Offset of field: ",
16104 stringify!(SSkirmishAICallback),
16105 "::",
16106 stringify!(WeaponDef_isFixedLauncher)
16107 )
16108 );
16109 assert_eq!(
16110 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isWaterWeapon) as usize - ptr as usize },
16111 4112usize,
16112 concat!(
16113 "Offset of field: ",
16114 stringify!(SSkirmishAICallback),
16115 "::",
16116 stringify!(WeaponDef_isWaterWeapon)
16117 )
16118 );
16119 assert_eq!(
16120 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isFireSubmersed) as usize - ptr as usize },
16121 4120usize,
16122 concat!(
16123 "Offset of field: ",
16124 stringify!(SSkirmishAICallback),
16125 "::",
16126 stringify!(WeaponDef_isFireSubmersed)
16127 )
16128 );
16129 assert_eq!(
16130 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isSubMissile) as usize - ptr as usize },
16131 4128usize,
16132 concat!(
16133 "Offset of field: ",
16134 stringify!(SSkirmishAICallback),
16135 "::",
16136 stringify!(WeaponDef_isSubMissile)
16137 )
16138 );
16139 assert_eq!(
16140 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isTracks) as usize - ptr as usize },
16141 4136usize,
16142 concat!(
16143 "Offset of field: ",
16144 stringify!(SSkirmishAICallback),
16145 "::",
16146 stringify!(WeaponDef_isTracks)
16147 )
16148 );
16149 assert_eq!(
16150 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isDropped) as usize - ptr as usize },
16151 4144usize,
16152 concat!(
16153 "Offset of field: ",
16154 stringify!(SSkirmishAICallback),
16155 "::",
16156 stringify!(WeaponDef_isDropped)
16157 )
16158 );
16159 assert_eq!(
16160 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isParalyzer) as usize - ptr as usize },
16161 4152usize,
16162 concat!(
16163 "Offset of field: ",
16164 stringify!(SSkirmishAICallback),
16165 "::",
16166 stringify!(WeaponDef_isParalyzer)
16167 )
16168 );
16169 assert_eq!(
16170 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isImpactOnly) as usize - ptr as usize },
16171 4160usize,
16172 concat!(
16173 "Offset of field: ",
16174 stringify!(SSkirmishAICallback),
16175 "::",
16176 stringify!(WeaponDef_isImpactOnly)
16177 )
16178 );
16179 assert_eq!(
16180 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isNoAutoTarget) as usize - ptr as usize },
16181 4168usize,
16182 concat!(
16183 "Offset of field: ",
16184 stringify!(SSkirmishAICallback),
16185 "::",
16186 stringify!(WeaponDef_isNoAutoTarget)
16187 )
16188 );
16189 assert_eq!(
16190 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isManualFire) as usize - ptr as usize },
16191 4176usize,
16192 concat!(
16193 "Offset of field: ",
16194 stringify!(SSkirmishAICallback),
16195 "::",
16196 stringify!(WeaponDef_isManualFire)
16197 )
16198 );
16199 assert_eq!(
16200 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getInterceptor) as usize - ptr as usize },
16201 4184usize,
16202 concat!(
16203 "Offset of field: ",
16204 stringify!(SSkirmishAICallback),
16205 "::",
16206 stringify!(WeaponDef_getInterceptor)
16207 )
16208 );
16209 assert_eq!(
16210 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getTargetable) as usize - ptr as usize },
16211 4192usize,
16212 concat!(
16213 "Offset of field: ",
16214 stringify!(SSkirmishAICallback),
16215 "::",
16216 stringify!(WeaponDef_getTargetable)
16217 )
16218 );
16219 assert_eq!(
16220 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isStockpileable) as usize - ptr as usize },
16221 4200usize,
16222 concat!(
16223 "Offset of field: ",
16224 stringify!(SSkirmishAICallback),
16225 "::",
16226 stringify!(WeaponDef_isStockpileable)
16227 )
16228 );
16229 assert_eq!(
16230 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCoverageRange) as usize - ptr as usize },
16231 4208usize,
16232 concat!(
16233 "Offset of field: ",
16234 stringify!(SSkirmishAICallback),
16235 "::",
16236 stringify!(WeaponDef_getCoverageRange)
16237 )
16238 );
16239 assert_eq!(
16240 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getStockpileTime) as usize - ptr as usize },
16241 4216usize,
16242 concat!(
16243 "Offset of field: ",
16244 stringify!(SSkirmishAICallback),
16245 "::",
16246 stringify!(WeaponDef_getStockpileTime)
16247 )
16248 );
16249 assert_eq!(
16250 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getIntensity) as usize - ptr as usize },
16251 4224usize,
16252 concat!(
16253 "Offset of field: ",
16254 stringify!(SSkirmishAICallback),
16255 "::",
16256 stringify!(WeaponDef_getIntensity)
16257 )
16258 );
16259 assert_eq!(
16260 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDuration) as usize - ptr as usize },
16261 4232usize,
16262 concat!(
16263 "Offset of field: ",
16264 stringify!(SSkirmishAICallback),
16265 "::",
16266 stringify!(WeaponDef_getDuration)
16267 )
16268 );
16269 assert_eq!(
16270 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getFalloffRate) as usize - ptr as usize },
16271 4240usize,
16272 concat!(
16273 "Offset of field: ",
16274 stringify!(SSkirmishAICallback),
16275 "::",
16276 stringify!(WeaponDef_getFalloffRate)
16277 )
16278 );
16279 assert_eq!(
16280 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isSoundTrigger) as usize - ptr as usize },
16281 4248usize,
16282 concat!(
16283 "Offset of field: ",
16284 stringify!(SSkirmishAICallback),
16285 "::",
16286 stringify!(WeaponDef_isSoundTrigger)
16287 )
16288 );
16289 assert_eq!(
16290 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isSelfExplode) as usize - ptr as usize },
16291 4256usize,
16292 concat!(
16293 "Offset of field: ",
16294 stringify!(SSkirmishAICallback),
16295 "::",
16296 stringify!(WeaponDef_isSelfExplode)
16297 )
16298 );
16299 assert_eq!(
16300 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isGravityAffected) as usize - ptr as usize },
16301 4264usize,
16302 concat!(
16303 "Offset of field: ",
16304 stringify!(SSkirmishAICallback),
16305 "::",
16306 stringify!(WeaponDef_isGravityAffected)
16307 )
16308 );
16309 assert_eq!(
16310 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getHighTrajectory) as usize - ptr as usize },
16311 4272usize,
16312 concat!(
16313 "Offset of field: ",
16314 stringify!(SSkirmishAICallback),
16315 "::",
16316 stringify!(WeaponDef_getHighTrajectory)
16317 )
16318 );
16319 assert_eq!(
16320 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getMyGravity) as usize - ptr as usize },
16321 4280usize,
16322 concat!(
16323 "Offset of field: ",
16324 stringify!(SSkirmishAICallback),
16325 "::",
16326 stringify!(WeaponDef_getMyGravity)
16327 )
16328 );
16329 assert_eq!(
16330 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isNoExplode) as usize - ptr as usize },
16331 4288usize,
16332 concat!(
16333 "Offset of field: ",
16334 stringify!(SSkirmishAICallback),
16335 "::",
16336 stringify!(WeaponDef_isNoExplode)
16337 )
16338 );
16339 assert_eq!(
16340 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getStartVelocity) as usize - ptr as usize },
16341 4296usize,
16342 concat!(
16343 "Offset of field: ",
16344 stringify!(SSkirmishAICallback),
16345 "::",
16346 stringify!(WeaponDef_getStartVelocity)
16347 )
16348 );
16349 assert_eq!(
16350 unsafe {
16351 ::std::ptr::addr_of!((*ptr).WeaponDef_getWeaponAcceleration) as usize - ptr as usize
16352 },
16353 4304usize,
16354 concat!(
16355 "Offset of field: ",
16356 stringify!(SSkirmishAICallback),
16357 "::",
16358 stringify!(WeaponDef_getWeaponAcceleration)
16359 )
16360 );
16361 assert_eq!(
16362 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getTurnRate) as usize - ptr as usize },
16363 4312usize,
16364 concat!(
16365 "Offset of field: ",
16366 stringify!(SSkirmishAICallback),
16367 "::",
16368 stringify!(WeaponDef_getTurnRate)
16369 )
16370 );
16371 assert_eq!(
16372 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getMaxVelocity) as usize - ptr as usize },
16373 4320usize,
16374 concat!(
16375 "Offset of field: ",
16376 stringify!(SSkirmishAICallback),
16377 "::",
16378 stringify!(WeaponDef_getMaxVelocity)
16379 )
16380 );
16381 assert_eq!(
16382 unsafe {
16383 ::std::ptr::addr_of!((*ptr).WeaponDef_getProjectileSpeed) as usize - ptr as usize
16384 },
16385 4328usize,
16386 concat!(
16387 "Offset of field: ",
16388 stringify!(SSkirmishAICallback),
16389 "::",
16390 stringify!(WeaponDef_getProjectileSpeed)
16391 )
16392 );
16393 assert_eq!(
16394 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getExplosionSpeed) as usize - ptr as usize },
16395 4336usize,
16396 concat!(
16397 "Offset of field: ",
16398 stringify!(SSkirmishAICallback),
16399 "::",
16400 stringify!(WeaponDef_getExplosionSpeed)
16401 )
16402 );
16403 assert_eq!(
16404 unsafe {
16405 ::std::ptr::addr_of!((*ptr).WeaponDef_getOnlyTargetCategory) as usize - ptr as usize
16406 },
16407 4344usize,
16408 concat!(
16409 "Offset of field: ",
16410 stringify!(SSkirmishAICallback),
16411 "::",
16412 stringify!(WeaponDef_getOnlyTargetCategory)
16413 )
16414 );
16415 assert_eq!(
16416 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getWobble) as usize - ptr as usize },
16417 4352usize,
16418 concat!(
16419 "Offset of field: ",
16420 stringify!(SSkirmishAICallback),
16421 "::",
16422 stringify!(WeaponDef_getWobble)
16423 )
16424 );
16425 assert_eq!(
16426 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDance) as usize - ptr as usize },
16427 4360usize,
16428 concat!(
16429 "Offset of field: ",
16430 stringify!(SSkirmishAICallback),
16431 "::",
16432 stringify!(WeaponDef_getDance)
16433 )
16434 );
16435 assert_eq!(
16436 unsafe {
16437 ::std::ptr::addr_of!((*ptr).WeaponDef_getTrajectoryHeight) as usize - ptr as usize
16438 },
16439 4368usize,
16440 concat!(
16441 "Offset of field: ",
16442 stringify!(SSkirmishAICallback),
16443 "::",
16444 stringify!(WeaponDef_getTrajectoryHeight)
16445 )
16446 );
16447 assert_eq!(
16448 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isLargeBeamLaser) as usize - ptr as usize },
16449 4376usize,
16450 concat!(
16451 "Offset of field: ",
16452 stringify!(SSkirmishAICallback),
16453 "::",
16454 stringify!(WeaponDef_isLargeBeamLaser)
16455 )
16456 );
16457 assert_eq!(
16458 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isShield) as usize - ptr as usize },
16459 4384usize,
16460 concat!(
16461 "Offset of field: ",
16462 stringify!(SSkirmishAICallback),
16463 "::",
16464 stringify!(WeaponDef_isShield)
16465 )
16466 );
16467 assert_eq!(
16468 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isShieldRepulser) as usize - ptr as usize },
16469 4392usize,
16470 concat!(
16471 "Offset of field: ",
16472 stringify!(SSkirmishAICallback),
16473 "::",
16474 stringify!(WeaponDef_isShieldRepulser)
16475 )
16476 );
16477 assert_eq!(
16478 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isSmartShield) as usize - ptr as usize },
16479 4400usize,
16480 concat!(
16481 "Offset of field: ",
16482 stringify!(SSkirmishAICallback),
16483 "::",
16484 stringify!(WeaponDef_isSmartShield)
16485 )
16486 );
16487 assert_eq!(
16488 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isExteriorShield) as usize - ptr as usize },
16489 4408usize,
16490 concat!(
16491 "Offset of field: ",
16492 stringify!(SSkirmishAICallback),
16493 "::",
16494 stringify!(WeaponDef_isExteriorShield)
16495 )
16496 );
16497 assert_eq!(
16498 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isVisibleShield) as usize - ptr as usize },
16499 4416usize,
16500 concat!(
16501 "Offset of field: ",
16502 stringify!(SSkirmishAICallback),
16503 "::",
16504 stringify!(WeaponDef_isVisibleShield)
16505 )
16506 );
16507 assert_eq!(
16508 unsafe {
16509 ::std::ptr::addr_of!((*ptr).WeaponDef_isVisibleShieldRepulse) as usize - ptr as usize
16510 },
16511 4424usize,
16512 concat!(
16513 "Offset of field: ",
16514 stringify!(SSkirmishAICallback),
16515 "::",
16516 stringify!(WeaponDef_isVisibleShieldRepulse)
16517 )
16518 );
16519 assert_eq!(
16520 unsafe {
16521 ::std::ptr::addr_of!((*ptr).WeaponDef_getVisibleShieldHitFrames) as usize - ptr as usize
16522 },
16523 4432usize,
16524 concat!(
16525 "Offset of field: ",
16526 stringify!(SSkirmishAICallback),
16527 "::",
16528 stringify!(WeaponDef_getVisibleShieldHitFrames)
16529 )
16530 );
16531 assert_eq!(
16532 unsafe {
16533 ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getResourceUse) as usize - ptr as usize
16534 },
16535 4440usize,
16536 concat!(
16537 "Offset of field: ",
16538 stringify!(SSkirmishAICallback),
16539 "::",
16540 stringify!(WeaponDef_Shield_getResourceUse)
16541 )
16542 );
16543 assert_eq!(
16544 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getRadius) as usize - ptr as usize },
16545 4448usize,
16546 concat!(
16547 "Offset of field: ",
16548 stringify!(SSkirmishAICallback),
16549 "::",
16550 stringify!(WeaponDef_Shield_getRadius)
16551 )
16552 );
16553 assert_eq!(
16554 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getForce) as usize - ptr as usize },
16555 4456usize,
16556 concat!(
16557 "Offset of field: ",
16558 stringify!(SSkirmishAICallback),
16559 "::",
16560 stringify!(WeaponDef_Shield_getForce)
16561 )
16562 );
16563 assert_eq!(
16564 unsafe {
16565 ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getMaxSpeed) as usize - ptr as usize
16566 },
16567 4464usize,
16568 concat!(
16569 "Offset of field: ",
16570 stringify!(SSkirmishAICallback),
16571 "::",
16572 stringify!(WeaponDef_Shield_getMaxSpeed)
16573 )
16574 );
16575 assert_eq!(
16576 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getPower) as usize - ptr as usize },
16577 4472usize,
16578 concat!(
16579 "Offset of field: ",
16580 stringify!(SSkirmishAICallback),
16581 "::",
16582 stringify!(WeaponDef_Shield_getPower)
16583 )
16584 );
16585 assert_eq!(
16586 unsafe {
16587 ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getPowerRegen) as usize - ptr as usize
16588 },
16589 4480usize,
16590 concat!(
16591 "Offset of field: ",
16592 stringify!(SSkirmishAICallback),
16593 "::",
16594 stringify!(WeaponDef_Shield_getPowerRegen)
16595 )
16596 );
16597 assert_eq!(
16598 unsafe {
16599 ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getPowerRegenResource) as usize
16600 - ptr as usize
16601 },
16602 4488usize,
16603 concat!(
16604 "Offset of field: ",
16605 stringify!(SSkirmishAICallback),
16606 "::",
16607 stringify!(WeaponDef_Shield_getPowerRegenResource)
16608 )
16609 );
16610 assert_eq!(
16611 unsafe {
16612 ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getStartingPower) as usize - ptr as usize
16613 },
16614 4496usize,
16615 concat!(
16616 "Offset of field: ",
16617 stringify!(SSkirmishAICallback),
16618 "::",
16619 stringify!(WeaponDef_Shield_getStartingPower)
16620 )
16621 );
16622 assert_eq!(
16623 unsafe {
16624 ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getRechargeDelay) as usize - ptr as usize
16625 },
16626 4504usize,
16627 concat!(
16628 "Offset of field: ",
16629 stringify!(SSkirmishAICallback),
16630 "::",
16631 stringify!(WeaponDef_Shield_getRechargeDelay)
16632 )
16633 );
16634 assert_eq!(
16635 unsafe {
16636 ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getInterceptType) as usize - ptr as usize
16637 },
16638 4512usize,
16639 concat!(
16640 "Offset of field: ",
16641 stringify!(SSkirmishAICallback),
16642 "::",
16643 stringify!(WeaponDef_Shield_getInterceptType)
16644 )
16645 );
16646 assert_eq!(
16647 unsafe {
16648 ::std::ptr::addr_of!((*ptr).WeaponDef_getInterceptedByShieldType) as usize
16649 - ptr as usize
16650 },
16651 4520usize,
16652 concat!(
16653 "Offset of field: ",
16654 stringify!(SSkirmishAICallback),
16655 "::",
16656 stringify!(WeaponDef_getInterceptedByShieldType)
16657 )
16658 );
16659 assert_eq!(
16660 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isAvoidFriendly) as usize - ptr as usize },
16661 4528usize,
16662 concat!(
16663 "Offset of field: ",
16664 stringify!(SSkirmishAICallback),
16665 "::",
16666 stringify!(WeaponDef_isAvoidFriendly)
16667 )
16668 );
16669 assert_eq!(
16670 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isAvoidFeature) as usize - ptr as usize },
16671 4536usize,
16672 concat!(
16673 "Offset of field: ",
16674 stringify!(SSkirmishAICallback),
16675 "::",
16676 stringify!(WeaponDef_isAvoidFeature)
16677 )
16678 );
16679 assert_eq!(
16680 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isAvoidNeutral) as usize - ptr as usize },
16681 4544usize,
16682 concat!(
16683 "Offset of field: ",
16684 stringify!(SSkirmishAICallback),
16685 "::",
16686 stringify!(WeaponDef_isAvoidNeutral)
16687 )
16688 );
16689 assert_eq!(
16690 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getTargetBorder) as usize - ptr as usize },
16691 4552usize,
16692 concat!(
16693 "Offset of field: ",
16694 stringify!(SSkirmishAICallback),
16695 "::",
16696 stringify!(WeaponDef_getTargetBorder)
16697 )
16698 );
16699 assert_eq!(
16700 unsafe {
16701 ::std::ptr::addr_of!((*ptr).WeaponDef_getCylinderTargetting) as usize - ptr as usize
16702 },
16703 4560usize,
16704 concat!(
16705 "Offset of field: ",
16706 stringify!(SSkirmishAICallback),
16707 "::",
16708 stringify!(WeaponDef_getCylinderTargetting)
16709 )
16710 );
16711 assert_eq!(
16712 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getMinIntensity) as usize - ptr as usize },
16713 4568usize,
16714 concat!(
16715 "Offset of field: ",
16716 stringify!(SSkirmishAICallback),
16717 "::",
16718 stringify!(WeaponDef_getMinIntensity)
16719 )
16720 );
16721 assert_eq!(
16722 unsafe {
16723 ::std::ptr::addr_of!((*ptr).WeaponDef_getHeightBoostFactor) as usize - ptr as usize
16724 },
16725 4576usize,
16726 concat!(
16727 "Offset of field: ",
16728 stringify!(SSkirmishAICallback),
16729 "::",
16730 stringify!(WeaponDef_getHeightBoostFactor)
16731 )
16732 );
16733 assert_eq!(
16734 unsafe {
16735 ::std::ptr::addr_of!((*ptr).WeaponDef_getProximityPriority) as usize - ptr as usize
16736 },
16737 4584usize,
16738 concat!(
16739 "Offset of field: ",
16740 stringify!(SSkirmishAICallback),
16741 "::",
16742 stringify!(WeaponDef_getProximityPriority)
16743 )
16744 );
16745 assert_eq!(
16746 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCollisionFlags) as usize - ptr as usize },
16747 4592usize,
16748 concat!(
16749 "Offset of field: ",
16750 stringify!(SSkirmishAICallback),
16751 "::",
16752 stringify!(WeaponDef_getCollisionFlags)
16753 )
16754 );
16755 assert_eq!(
16756 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isSweepFire) as usize - ptr as usize },
16757 4600usize,
16758 concat!(
16759 "Offset of field: ",
16760 stringify!(SSkirmishAICallback),
16761 "::",
16762 stringify!(WeaponDef_isSweepFire)
16763 )
16764 );
16765 assert_eq!(
16766 unsafe {
16767 ::std::ptr::addr_of!((*ptr).WeaponDef_isAbleToAttackGround) as usize - ptr as usize
16768 },
16769 4608usize,
16770 concat!(
16771 "Offset of field: ",
16772 stringify!(SSkirmishAICallback),
16773 "::",
16774 stringify!(WeaponDef_isAbleToAttackGround)
16775 )
16776 );
16777 assert_eq!(
16778 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCameraShake) as usize - ptr as usize },
16779 4616usize,
16780 concat!(
16781 "Offset of field: ",
16782 stringify!(SSkirmishAICallback),
16783 "::",
16784 stringify!(WeaponDef_getCameraShake)
16785 )
16786 );
16787 assert_eq!(
16788 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDynDamageExp) as usize - ptr as usize },
16789 4624usize,
16790 concat!(
16791 "Offset of field: ",
16792 stringify!(SSkirmishAICallback),
16793 "::",
16794 stringify!(WeaponDef_getDynDamageExp)
16795 )
16796 );
16797 assert_eq!(
16798 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDynDamageMin) as usize - ptr as usize },
16799 4632usize,
16800 concat!(
16801 "Offset of field: ",
16802 stringify!(SSkirmishAICallback),
16803 "::",
16804 stringify!(WeaponDef_getDynDamageMin)
16805 )
16806 );
16807 assert_eq!(
16808 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDynDamageRange) as usize - ptr as usize },
16809 4640usize,
16810 concat!(
16811 "Offset of field: ",
16812 stringify!(SSkirmishAICallback),
16813 "::",
16814 stringify!(WeaponDef_getDynDamageRange)
16815 )
16816 );
16817 assert_eq!(
16818 unsafe {
16819 ::std::ptr::addr_of!((*ptr).WeaponDef_isDynDamageInverted) as usize - ptr as usize
16820 },
16821 4648usize,
16822 concat!(
16823 "Offset of field: ",
16824 stringify!(SSkirmishAICallback),
16825 "::",
16826 stringify!(WeaponDef_isDynDamageInverted)
16827 )
16828 );
16829 assert_eq!(
16830 unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCustomParams) as usize - ptr as usize },
16831 4656usize,
16832 concat!(
16833 "Offset of field: ",
16834 stringify!(SSkirmishAICallback),
16835 "::",
16836 stringify!(WeaponDef_getCustomParams)
16837 )
16838 );
16839 assert_eq!(
16840 unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_getDef) as usize - ptr as usize },
16841 4664usize,
16842 concat!(
16843 "Offset of field: ",
16844 stringify!(SSkirmishAICallback),
16845 "::",
16846 stringify!(Unit_Weapon_getDef)
16847 )
16848 );
16849 assert_eq!(
16850 unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_getReloadFrame) as usize - ptr as usize },
16851 4672usize,
16852 concat!(
16853 "Offset of field: ",
16854 stringify!(SSkirmishAICallback),
16855 "::",
16856 stringify!(Unit_Weapon_getReloadFrame)
16857 )
16858 );
16859 assert_eq!(
16860 unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_getReloadTime) as usize - ptr as usize },
16861 4680usize,
16862 concat!(
16863 "Offset of field: ",
16864 stringify!(SSkirmishAICallback),
16865 "::",
16866 stringify!(Unit_Weapon_getReloadTime)
16867 )
16868 );
16869 assert_eq!(
16870 unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_getRange) as usize - ptr as usize },
16871 4688usize,
16872 concat!(
16873 "Offset of field: ",
16874 stringify!(SSkirmishAICallback),
16875 "::",
16876 stringify!(Unit_Weapon_getRange)
16877 )
16878 );
16879 assert_eq!(
16880 unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_isShieldEnabled) as usize - ptr as usize },
16881 4696usize,
16882 concat!(
16883 "Offset of field: ",
16884 stringify!(SSkirmishAICallback),
16885 "::",
16886 stringify!(Unit_Weapon_isShieldEnabled)
16887 )
16888 );
16889 assert_eq!(
16890 unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_getShieldPower) as usize - ptr as usize },
16891 4704usize,
16892 concat!(
16893 "Offset of field: ",
16894 stringify!(SSkirmishAICallback),
16895 "::",
16896 stringify!(Unit_Weapon_getShieldPower)
16897 )
16898 );
16899 assert_eq!(
16900 unsafe { ::std::ptr::addr_of!((*ptr).Debug_GraphDrawer_isEnabled) as usize - ptr as usize },
16901 4712usize,
16902 concat!(
16903 "Offset of field: ",
16904 stringify!(SSkirmishAICallback),
16905 "::",
16906 stringify!(Debug_GraphDrawer_isEnabled)
16907 )
16908 );
16909}
16910pub const EventTopic_EVENT_NULL: EventTopic = 0;
16911pub const EventTopic_EVENT_INIT: EventTopic = 1;
16912pub const EventTopic_EVENT_RELEASE: EventTopic = 2;
16913pub const EventTopic_EVENT_UPDATE: EventTopic = 3;
16914pub const EventTopic_EVENT_MESSAGE: EventTopic = 4;
16915pub const EventTopic_EVENT_UNIT_CREATED: EventTopic = 5;
16916pub const EventTopic_EVENT_UNIT_FINISHED: EventTopic = 6;
16917pub const EventTopic_EVENT_UNIT_IDLE: EventTopic = 7;
16918pub const EventTopic_EVENT_UNIT_MOVE_FAILED: EventTopic = 8;
16919pub const EventTopic_EVENT_UNIT_DAMAGED: EventTopic = 9;
16920pub const EventTopic_EVENT_UNIT_DESTROYED: EventTopic = 10;
16921pub const EventTopic_EVENT_UNIT_GIVEN: EventTopic = 11;
16922pub const EventTopic_EVENT_UNIT_CAPTURED: EventTopic = 12;
16923pub const EventTopic_EVENT_ENEMY_ENTER_LOS: EventTopic = 13;
16924pub const EventTopic_EVENT_ENEMY_LEAVE_LOS: EventTopic = 14;
16925pub const EventTopic_EVENT_ENEMY_ENTER_RADAR: EventTopic = 15;
16926pub const EventTopic_EVENT_ENEMY_LEAVE_RADAR: EventTopic = 16;
16927pub const EventTopic_EVENT_ENEMY_DAMAGED: EventTopic = 17;
16928pub const EventTopic_EVENT_ENEMY_DESTROYED: EventTopic = 18;
16929pub const EventTopic_EVENT_WEAPON_FIRED: EventTopic = 19;
16930pub const EventTopic_EVENT_PLAYER_COMMAND: EventTopic = 20;
16931pub const EventTopic_EVENT_SEISMIC_PING: EventTopic = 21;
16932pub const EventTopic_EVENT_COMMAND_FINISHED: EventTopic = 22;
16933pub const EventTopic_EVENT_LOAD: EventTopic = 23;
16934pub const EventTopic_EVENT_SAVE: EventTopic = 24;
16935pub const EventTopic_EVENT_ENEMY_CREATED: EventTopic = 25;
16936pub const EventTopic_EVENT_ENEMY_FINISHED: EventTopic = 26;
16937pub const EventTopic_EVENT_LUA_MESSAGE: EventTopic = 27;
16938#[doc = " Each event type can be identified through a unique ID,\n which we call event topic.\n Events are sent from the engine to AIs.\n\n Note: Do NOT change the values assigned to these topics,\n as this would be bad for inter-version compatibility.\n You should always append new event topics at the end of this list,\n and adjust NUM_EVENTS.\n\n @see SSkirmishAILibrary.handleEvent()"]
16939pub type EventTopic = ::std::os::raw::c_int;
16940pub const NUM_EVENTS: ::std::os::raw::c_int = 28;
16941#[doc = " This AI event initializes a Skirmish AI instance.\n It is sent only once per AI instance and game, as the very first event."]
16942#[repr(C)]
16943#[derive(Debug, Copy, Clone)]
16944pub struct SInitEvent {
16945 pub skirmishAIId: ::std::os::raw::c_int,
16946 pub callback: *const SSkirmishAICallback,
16947 pub savedGame: bool,
16948}
16949#[test]
16950fn bindgen_test_layout_SInitEvent() {
16951 const UNINIT: ::std::mem::MaybeUninit<SInitEvent> = ::std::mem::MaybeUninit::uninit();
16952 let ptr = UNINIT.as_ptr();
16953 assert_eq!(
16954 ::std::mem::size_of::<SInitEvent>(),
16955 24usize,
16956 concat!("Size of: ", stringify!(SInitEvent))
16957 );
16958 assert_eq!(
16959 ::std::mem::align_of::<SInitEvent>(),
16960 8usize,
16961 concat!("Alignment of ", stringify!(SInitEvent))
16962 );
16963 assert_eq!(
16964 unsafe { ::std::ptr::addr_of!((*ptr).skirmishAIId) as usize - ptr as usize },
16965 0usize,
16966 concat!(
16967 "Offset of field: ",
16968 stringify!(SInitEvent),
16969 "::",
16970 stringify!(skirmishAIId)
16971 )
16972 );
16973 assert_eq!(
16974 unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
16975 8usize,
16976 concat!(
16977 "Offset of field: ",
16978 stringify!(SInitEvent),
16979 "::",
16980 stringify!(callback)
16981 )
16982 );
16983 assert_eq!(
16984 unsafe { ::std::ptr::addr_of!((*ptr).savedGame) as usize - ptr as usize },
16985 16usize,
16986 concat!(
16987 "Offset of field: ",
16988 stringify!(SInitEvent),
16989 "::",
16990 stringify!(savedGame)
16991 )
16992 );
16993}
16994#[doc = " This AI event tells a Skirmish AI instance, that it is no longer needed. It\n can be used to free memory or do other cleanup work.\n It is sent only once per AI instance and game, as the very last event.\n Values description for reason:\n 0: unspecified\n 1: game ended\n 2: team died\n 3: AI killed\n 4: AI crashed\n 5: AI failed to init\n 6: connection lost\n 7: other reason"]
16995#[repr(C)]
16996#[derive(Debug, Copy, Clone)]
16997pub struct SReleaseEvent {
16998 pub reason: ::std::os::raw::c_int,
16999}
17000#[test]
17001fn bindgen_test_layout_SReleaseEvent() {
17002 const UNINIT: ::std::mem::MaybeUninit<SReleaseEvent> = ::std::mem::MaybeUninit::uninit();
17003 let ptr = UNINIT.as_ptr();
17004 assert_eq!(
17005 ::std::mem::size_of::<SReleaseEvent>(),
17006 4usize,
17007 concat!("Size of: ", stringify!(SReleaseEvent))
17008 );
17009 assert_eq!(
17010 ::std::mem::align_of::<SReleaseEvent>(),
17011 4usize,
17012 concat!("Alignment of ", stringify!(SReleaseEvent))
17013 );
17014 assert_eq!(
17015 unsafe { ::std::ptr::addr_of!((*ptr).reason) as usize - ptr as usize },
17016 0usize,
17017 concat!(
17018 "Offset of field: ",
17019 stringify!(SReleaseEvent),
17020 "::",
17021 stringify!(reason)
17022 )
17023 );
17024}
17025#[doc = " This AI event is sent once per game frame, which is about 30 times per second\n by default."]
17026#[repr(C)]
17027#[derive(Debug, Copy, Clone)]
17028pub struct SUpdateEvent {
17029 pub frame: ::std::os::raw::c_int,
17030}
17031#[test]
17032fn bindgen_test_layout_SUpdateEvent() {
17033 const UNINIT: ::std::mem::MaybeUninit<SUpdateEvent> = ::std::mem::MaybeUninit::uninit();
17034 let ptr = UNINIT.as_ptr();
17035 assert_eq!(
17036 ::std::mem::size_of::<SUpdateEvent>(),
17037 4usize,
17038 concat!("Size of: ", stringify!(SUpdateEvent))
17039 );
17040 assert_eq!(
17041 ::std::mem::align_of::<SUpdateEvent>(),
17042 4usize,
17043 concat!("Alignment of ", stringify!(SUpdateEvent))
17044 );
17045 assert_eq!(
17046 unsafe { ::std::ptr::addr_of!((*ptr).frame) as usize - ptr as usize },
17047 0usize,
17048 concat!(
17049 "Offset of field: ",
17050 stringify!(SUpdateEvent),
17051 "::",
17052 stringify!(frame)
17053 )
17054 );
17055}
17056#[doc = " This AI event is a notification about a chat message sent by one of the\n participants of this game, which may be a player or an AI, including this AI."]
17057#[repr(C)]
17058#[derive(Debug, Copy, Clone)]
17059pub struct SMessageEvent {
17060 pub player: ::std::os::raw::c_int,
17061 pub message: *const ::std::os::raw::c_char,
17062}
17063#[test]
17064fn bindgen_test_layout_SMessageEvent() {
17065 const UNINIT: ::std::mem::MaybeUninit<SMessageEvent> = ::std::mem::MaybeUninit::uninit();
17066 let ptr = UNINIT.as_ptr();
17067 assert_eq!(
17068 ::std::mem::size_of::<SMessageEvent>(),
17069 16usize,
17070 concat!("Size of: ", stringify!(SMessageEvent))
17071 );
17072 assert_eq!(
17073 ::std::mem::align_of::<SMessageEvent>(),
17074 8usize,
17075 concat!("Alignment of ", stringify!(SMessageEvent))
17076 );
17077 assert_eq!(
17078 unsafe { ::std::ptr::addr_of!((*ptr).player) as usize - ptr as usize },
17079 0usize,
17080 concat!(
17081 "Offset of field: ",
17082 stringify!(SMessageEvent),
17083 "::",
17084 stringify!(player)
17085 )
17086 );
17087 assert_eq!(
17088 unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize },
17089 8usize,
17090 concat!(
17091 "Offset of field: ",
17092 stringify!(SMessageEvent),
17093 "::",
17094 stringify!(message)
17095 )
17096 );
17097}
17098#[doc = " This AI event triggers whenever any message\n is sent by a Lua widget or unsynced gadget."]
17099#[repr(C)]
17100#[derive(Debug, Copy, Clone)]
17101pub struct SLuaMessageEvent {
17102 pub inData: *const ::std::os::raw::c_char,
17103}
17104#[test]
17105fn bindgen_test_layout_SLuaMessageEvent() {
17106 const UNINIT: ::std::mem::MaybeUninit<SLuaMessageEvent> = ::std::mem::MaybeUninit::uninit();
17107 let ptr = UNINIT.as_ptr();
17108 assert_eq!(
17109 ::std::mem::size_of::<SLuaMessageEvent>(),
17110 8usize,
17111 concat!("Size of: ", stringify!(SLuaMessageEvent))
17112 );
17113 assert_eq!(
17114 ::std::mem::align_of::<SLuaMessageEvent>(),
17115 8usize,
17116 concat!("Alignment of ", stringify!(SLuaMessageEvent))
17117 );
17118 assert_eq!(
17119 unsafe { ::std::ptr::addr_of!((*ptr).inData) as usize - ptr as usize },
17120 0usize,
17121 concat!(
17122 "Offset of field: ",
17123 stringify!(SLuaMessageEvent),
17124 "::",
17125 stringify!(inData)
17126 )
17127 );
17128}
17129#[doc = " This AI event is sent whenever a unit of this team is created, and contains\n the created unit. Usually, the unit has only 1 HP at this time, and consists\n only of a nano frame (-> will not accept commands yet).\n See also the unit-finished event."]
17130#[repr(C)]
17131#[derive(Debug, Copy, Clone)]
17132pub struct SUnitCreatedEvent {
17133 pub unit: ::std::os::raw::c_int,
17134 pub builder: ::std::os::raw::c_int,
17135}
17136#[test]
17137fn bindgen_test_layout_SUnitCreatedEvent() {
17138 const UNINIT: ::std::mem::MaybeUninit<SUnitCreatedEvent> = ::std::mem::MaybeUninit::uninit();
17139 let ptr = UNINIT.as_ptr();
17140 assert_eq!(
17141 ::std::mem::size_of::<SUnitCreatedEvent>(),
17142 8usize,
17143 concat!("Size of: ", stringify!(SUnitCreatedEvent))
17144 );
17145 assert_eq!(
17146 ::std::mem::align_of::<SUnitCreatedEvent>(),
17147 4usize,
17148 concat!("Alignment of ", stringify!(SUnitCreatedEvent))
17149 );
17150 assert_eq!(
17151 unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
17152 0usize,
17153 concat!(
17154 "Offset of field: ",
17155 stringify!(SUnitCreatedEvent),
17156 "::",
17157 stringify!(unit)
17158 )
17159 );
17160 assert_eq!(
17161 unsafe { ::std::ptr::addr_of!((*ptr).builder) as usize - ptr as usize },
17162 4usize,
17163 concat!(
17164 "Offset of field: ",
17165 stringify!(SUnitCreatedEvent),
17166 "::",
17167 stringify!(builder)
17168 )
17169 );
17170}
17171#[doc = " This AI event is sent whenever a unit is fully built, and contains the\n finished unit. Usually, the unit has full health at this time, and is ready\n to accept commands.\n See also the unit-created event."]
17172#[repr(C)]
17173#[derive(Debug, Copy, Clone)]
17174pub struct SUnitFinishedEvent {
17175 pub unit: ::std::os::raw::c_int,
17176}
17177#[test]
17178fn bindgen_test_layout_SUnitFinishedEvent() {
17179 const UNINIT: ::std::mem::MaybeUninit<SUnitFinishedEvent> = ::std::mem::MaybeUninit::uninit();
17180 let ptr = UNINIT.as_ptr();
17181 assert_eq!(
17182 ::std::mem::size_of::<SUnitFinishedEvent>(),
17183 4usize,
17184 concat!("Size of: ", stringify!(SUnitFinishedEvent))
17185 );
17186 assert_eq!(
17187 ::std::mem::align_of::<SUnitFinishedEvent>(),
17188 4usize,
17189 concat!("Alignment of ", stringify!(SUnitFinishedEvent))
17190 );
17191 assert_eq!(
17192 unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
17193 0usize,
17194 concat!(
17195 "Offset of field: ",
17196 stringify!(SUnitFinishedEvent),
17197 "::",
17198 stringify!(unit)
17199 )
17200 );
17201}
17202#[doc = " This AI event is sent when a unit finished processing a command or just\n finished building, and it has currently no commands in it's queue."]
17203#[repr(C)]
17204#[derive(Debug, Copy, Clone)]
17205pub struct SUnitIdleEvent {
17206 pub unit: ::std::os::raw::c_int,
17207}
17208#[test]
17209fn bindgen_test_layout_SUnitIdleEvent() {
17210 const UNINIT: ::std::mem::MaybeUninit<SUnitIdleEvent> = ::std::mem::MaybeUninit::uninit();
17211 let ptr = UNINIT.as_ptr();
17212 assert_eq!(
17213 ::std::mem::size_of::<SUnitIdleEvent>(),
17214 4usize,
17215 concat!("Size of: ", stringify!(SUnitIdleEvent))
17216 );
17217 assert_eq!(
17218 ::std::mem::align_of::<SUnitIdleEvent>(),
17219 4usize,
17220 concat!("Alignment of ", stringify!(SUnitIdleEvent))
17221 );
17222 assert_eq!(
17223 unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
17224 0usize,
17225 concat!(
17226 "Offset of field: ",
17227 stringify!(SUnitIdleEvent),
17228 "::",
17229 stringify!(unit)
17230 )
17231 );
17232}
17233#[doc = " This AI event is sent when a unit received a move command and is not able to\n fullfill it. Reasons for this are:\n - The unit is not able to move\n - The path to the target location is blocked\n - The unit can not move on the terain of the target location (for example,\n the target is on land, and the unit is a ship)"]
17234#[repr(C)]
17235#[derive(Debug, Copy, Clone)]
17236pub struct SUnitMoveFailedEvent {
17237 pub unit: ::std::os::raw::c_int,
17238}
17239#[test]
17240fn bindgen_test_layout_SUnitMoveFailedEvent() {
17241 const UNINIT: ::std::mem::MaybeUninit<SUnitMoveFailedEvent> = ::std::mem::MaybeUninit::uninit();
17242 let ptr = UNINIT.as_ptr();
17243 assert_eq!(
17244 ::std::mem::size_of::<SUnitMoveFailedEvent>(),
17245 4usize,
17246 concat!("Size of: ", stringify!(SUnitMoveFailedEvent))
17247 );
17248 assert_eq!(
17249 ::std::mem::align_of::<SUnitMoveFailedEvent>(),
17250 4usize,
17251 concat!("Alignment of ", stringify!(SUnitMoveFailedEvent))
17252 );
17253 assert_eq!(
17254 unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
17255 0usize,
17256 concat!(
17257 "Offset of field: ",
17258 stringify!(SUnitMoveFailedEvent),
17259 "::",
17260 stringify!(unit)
17261 )
17262 );
17263}
17264#[doc = " This AI event is sent when a unit was damaged. It contains the attacked unit,\n the attacking unit, the ammount of damage and the direction from where the\n damage was inflickted. In case of a laser weapon, the direction will point\n directly from the attacker to the attacked unit, while with artillery it will\n rather be from somewhere up in the sky to the attacked unit.\n See also the unit-destroyed event."]
17265#[repr(C)]
17266#[derive(Debug, Copy, Clone)]
17267pub struct SUnitDamagedEvent {
17268 pub unit: ::std::os::raw::c_int,
17269 #[doc = " may be -1, which means no attacker was directly involveld,\n or the attacker is not visible and cheat events are off"]
17270 pub attacker: ::std::os::raw::c_int,
17271 pub damage: f32,
17272 pub dir_posF3: *mut f32,
17273 pub weaponDefId: ::std::os::raw::c_int,
17274 #[doc = " if true, then damage is paralyzation damage, otherwise it is real damage"]
17275 pub paralyzer: bool,
17276}
17277#[test]
17278fn bindgen_test_layout_SUnitDamagedEvent() {
17279 const UNINIT: ::std::mem::MaybeUninit<SUnitDamagedEvent> = ::std::mem::MaybeUninit::uninit();
17280 let ptr = UNINIT.as_ptr();
17281 assert_eq!(
17282 ::std::mem::size_of::<SUnitDamagedEvent>(),
17283 32usize,
17284 concat!("Size of: ", stringify!(SUnitDamagedEvent))
17285 );
17286 assert_eq!(
17287 ::std::mem::align_of::<SUnitDamagedEvent>(),
17288 8usize,
17289 concat!("Alignment of ", stringify!(SUnitDamagedEvent))
17290 );
17291 assert_eq!(
17292 unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
17293 0usize,
17294 concat!(
17295 "Offset of field: ",
17296 stringify!(SUnitDamagedEvent),
17297 "::",
17298 stringify!(unit)
17299 )
17300 );
17301 assert_eq!(
17302 unsafe { ::std::ptr::addr_of!((*ptr).attacker) as usize - ptr as usize },
17303 4usize,
17304 concat!(
17305 "Offset of field: ",
17306 stringify!(SUnitDamagedEvent),
17307 "::",
17308 stringify!(attacker)
17309 )
17310 );
17311 assert_eq!(
17312 unsafe { ::std::ptr::addr_of!((*ptr).damage) as usize - ptr as usize },
17313 8usize,
17314 concat!(
17315 "Offset of field: ",
17316 stringify!(SUnitDamagedEvent),
17317 "::",
17318 stringify!(damage)
17319 )
17320 );
17321 assert_eq!(
17322 unsafe { ::std::ptr::addr_of!((*ptr).dir_posF3) as usize - ptr as usize },
17323 16usize,
17324 concat!(
17325 "Offset of field: ",
17326 stringify!(SUnitDamagedEvent),
17327 "::",
17328 stringify!(dir_posF3)
17329 )
17330 );
17331 assert_eq!(
17332 unsafe { ::std::ptr::addr_of!((*ptr).weaponDefId) as usize - ptr as usize },
17333 24usize,
17334 concat!(
17335 "Offset of field: ",
17336 stringify!(SUnitDamagedEvent),
17337 "::",
17338 stringify!(weaponDefId)
17339 )
17340 );
17341 assert_eq!(
17342 unsafe { ::std::ptr::addr_of!((*ptr).paralyzer) as usize - ptr as usize },
17343 28usize,
17344 concat!(
17345 "Offset of field: ",
17346 stringify!(SUnitDamagedEvent),
17347 "::",
17348 stringify!(paralyzer)
17349 )
17350 );
17351}
17352#[doc = " This AI event is sent when a unit was destroyed; see also the unit-damaged\n event."]
17353#[repr(C)]
17354#[derive(Debug, Copy, Clone)]
17355pub struct SUnitDestroyedEvent {
17356 pub unit: ::std::os::raw::c_int,
17357 #[doc = " may be -1, which means no attacker was directly involveld,\n or the attacker is not visible and cheat events are off"]
17358 pub attacker: ::std::os::raw::c_int,
17359 pub weaponDefID: ::std::os::raw::c_int,
17360}
17361#[test]
17362fn bindgen_test_layout_SUnitDestroyedEvent() {
17363 const UNINIT: ::std::mem::MaybeUninit<SUnitDestroyedEvent> = ::std::mem::MaybeUninit::uninit();
17364 let ptr = UNINIT.as_ptr();
17365 assert_eq!(
17366 ::std::mem::size_of::<SUnitDestroyedEvent>(),
17367 12usize,
17368 concat!("Size of: ", stringify!(SUnitDestroyedEvent))
17369 );
17370 assert_eq!(
17371 ::std::mem::align_of::<SUnitDestroyedEvent>(),
17372 4usize,
17373 concat!("Alignment of ", stringify!(SUnitDestroyedEvent))
17374 );
17375 assert_eq!(
17376 unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
17377 0usize,
17378 concat!(
17379 "Offset of field: ",
17380 stringify!(SUnitDestroyedEvent),
17381 "::",
17382 stringify!(unit)
17383 )
17384 );
17385 assert_eq!(
17386 unsafe { ::std::ptr::addr_of!((*ptr).attacker) as usize - ptr as usize },
17387 4usize,
17388 concat!(
17389 "Offset of field: ",
17390 stringify!(SUnitDestroyedEvent),
17391 "::",
17392 stringify!(attacker)
17393 )
17394 );
17395 assert_eq!(
17396 unsafe { ::std::ptr::addr_of!((*ptr).weaponDefID) as usize - ptr as usize },
17397 8usize,
17398 concat!(
17399 "Offset of field: ",
17400 stringify!(SUnitDestroyedEvent),
17401 "::",
17402 stringify!(weaponDefID)
17403 )
17404 );
17405}
17406#[doc = " This AI event is sent when a unit changed from one team to another,\n either because the old owner gave it to the new one, or because the\n new one took it from the old one; see the /take command.\n Both giving and receiving team will get this event."]
17407#[repr(C)]
17408#[derive(Debug, Copy, Clone)]
17409pub struct SUnitGivenEvent {
17410 pub unitId: ::std::os::raw::c_int,
17411 pub oldTeamId: ::std::os::raw::c_int,
17412 pub newTeamId: ::std::os::raw::c_int,
17413}
17414#[test]
17415fn bindgen_test_layout_SUnitGivenEvent() {
17416 const UNINIT: ::std::mem::MaybeUninit<SUnitGivenEvent> = ::std::mem::MaybeUninit::uninit();
17417 let ptr = UNINIT.as_ptr();
17418 assert_eq!(
17419 ::std::mem::size_of::<SUnitGivenEvent>(),
17420 12usize,
17421 concat!("Size of: ", stringify!(SUnitGivenEvent))
17422 );
17423 assert_eq!(
17424 ::std::mem::align_of::<SUnitGivenEvent>(),
17425 4usize,
17426 concat!("Alignment of ", stringify!(SUnitGivenEvent))
17427 );
17428 assert_eq!(
17429 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
17430 0usize,
17431 concat!(
17432 "Offset of field: ",
17433 stringify!(SUnitGivenEvent),
17434 "::",
17435 stringify!(unitId)
17436 )
17437 );
17438 assert_eq!(
17439 unsafe { ::std::ptr::addr_of!((*ptr).oldTeamId) as usize - ptr as usize },
17440 4usize,
17441 concat!(
17442 "Offset of field: ",
17443 stringify!(SUnitGivenEvent),
17444 "::",
17445 stringify!(oldTeamId)
17446 )
17447 );
17448 assert_eq!(
17449 unsafe { ::std::ptr::addr_of!((*ptr).newTeamId) as usize - ptr as usize },
17450 8usize,
17451 concat!(
17452 "Offset of field: ",
17453 stringify!(SUnitGivenEvent),
17454 "::",
17455 stringify!(newTeamId)
17456 )
17457 );
17458}
17459#[doc = " This AI event is sent when a unit changed from one team to an other through\n capturing.\n Both giving and receiving team will get this event."]
17460#[repr(C)]
17461#[derive(Debug, Copy, Clone)]
17462pub struct SUnitCapturedEvent {
17463 pub unitId: ::std::os::raw::c_int,
17464 pub oldTeamId: ::std::os::raw::c_int,
17465 pub newTeamId: ::std::os::raw::c_int,
17466}
17467#[test]
17468fn bindgen_test_layout_SUnitCapturedEvent() {
17469 const UNINIT: ::std::mem::MaybeUninit<SUnitCapturedEvent> = ::std::mem::MaybeUninit::uninit();
17470 let ptr = UNINIT.as_ptr();
17471 assert_eq!(
17472 ::std::mem::size_of::<SUnitCapturedEvent>(),
17473 12usize,
17474 concat!("Size of: ", stringify!(SUnitCapturedEvent))
17475 );
17476 assert_eq!(
17477 ::std::mem::align_of::<SUnitCapturedEvent>(),
17478 4usize,
17479 concat!("Alignment of ", stringify!(SUnitCapturedEvent))
17480 );
17481 assert_eq!(
17482 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
17483 0usize,
17484 concat!(
17485 "Offset of field: ",
17486 stringify!(SUnitCapturedEvent),
17487 "::",
17488 stringify!(unitId)
17489 )
17490 );
17491 assert_eq!(
17492 unsafe { ::std::ptr::addr_of!((*ptr).oldTeamId) as usize - ptr as usize },
17493 4usize,
17494 concat!(
17495 "Offset of field: ",
17496 stringify!(SUnitCapturedEvent),
17497 "::",
17498 stringify!(oldTeamId)
17499 )
17500 );
17501 assert_eq!(
17502 unsafe { ::std::ptr::addr_of!((*ptr).newTeamId) as usize - ptr as usize },
17503 8usize,
17504 concat!(
17505 "Offset of field: ",
17506 stringify!(SUnitCapturedEvent),
17507 "::",
17508 stringify!(newTeamId)
17509 )
17510 );
17511}
17512#[doc = " This AI event is sent when an enemy unit entered the LOS of this team."]
17513#[repr(C)]
17514#[derive(Debug, Copy, Clone)]
17515pub struct SEnemyEnterLOSEvent {
17516 pub enemy: ::std::os::raw::c_int,
17517}
17518#[test]
17519fn bindgen_test_layout_SEnemyEnterLOSEvent() {
17520 const UNINIT: ::std::mem::MaybeUninit<SEnemyEnterLOSEvent> = ::std::mem::MaybeUninit::uninit();
17521 let ptr = UNINIT.as_ptr();
17522 assert_eq!(
17523 ::std::mem::size_of::<SEnemyEnterLOSEvent>(),
17524 4usize,
17525 concat!("Size of: ", stringify!(SEnemyEnterLOSEvent))
17526 );
17527 assert_eq!(
17528 ::std::mem::align_of::<SEnemyEnterLOSEvent>(),
17529 4usize,
17530 concat!("Alignment of ", stringify!(SEnemyEnterLOSEvent))
17531 );
17532 assert_eq!(
17533 unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
17534 0usize,
17535 concat!(
17536 "Offset of field: ",
17537 stringify!(SEnemyEnterLOSEvent),
17538 "::",
17539 stringify!(enemy)
17540 )
17541 );
17542}
17543#[doc = " This AI event is sent when an enemy unit left the LOS of this team."]
17544#[repr(C)]
17545#[derive(Debug, Copy, Clone)]
17546pub struct SEnemyLeaveLOSEvent {
17547 pub enemy: ::std::os::raw::c_int,
17548}
17549#[test]
17550fn bindgen_test_layout_SEnemyLeaveLOSEvent() {
17551 const UNINIT: ::std::mem::MaybeUninit<SEnemyLeaveLOSEvent> = ::std::mem::MaybeUninit::uninit();
17552 let ptr = UNINIT.as_ptr();
17553 assert_eq!(
17554 ::std::mem::size_of::<SEnemyLeaveLOSEvent>(),
17555 4usize,
17556 concat!("Size of: ", stringify!(SEnemyLeaveLOSEvent))
17557 );
17558 assert_eq!(
17559 ::std::mem::align_of::<SEnemyLeaveLOSEvent>(),
17560 4usize,
17561 concat!("Alignment of ", stringify!(SEnemyLeaveLOSEvent))
17562 );
17563 assert_eq!(
17564 unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
17565 0usize,
17566 concat!(
17567 "Offset of field: ",
17568 stringify!(SEnemyLeaveLOSEvent),
17569 "::",
17570 stringify!(enemy)
17571 )
17572 );
17573}
17574#[doc = " This AI event is sent when an enemy unit entered the radar covered area of\n this team."]
17575#[repr(C)]
17576#[derive(Debug, Copy, Clone)]
17577pub struct SEnemyEnterRadarEvent {
17578 pub enemy: ::std::os::raw::c_int,
17579}
17580#[test]
17581fn bindgen_test_layout_SEnemyEnterRadarEvent() {
17582 const UNINIT: ::std::mem::MaybeUninit<SEnemyEnterRadarEvent> =
17583 ::std::mem::MaybeUninit::uninit();
17584 let ptr = UNINIT.as_ptr();
17585 assert_eq!(
17586 ::std::mem::size_of::<SEnemyEnterRadarEvent>(),
17587 4usize,
17588 concat!("Size of: ", stringify!(SEnemyEnterRadarEvent))
17589 );
17590 assert_eq!(
17591 ::std::mem::align_of::<SEnemyEnterRadarEvent>(),
17592 4usize,
17593 concat!("Alignment of ", stringify!(SEnemyEnterRadarEvent))
17594 );
17595 assert_eq!(
17596 unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
17597 0usize,
17598 concat!(
17599 "Offset of field: ",
17600 stringify!(SEnemyEnterRadarEvent),
17601 "::",
17602 stringify!(enemy)
17603 )
17604 );
17605}
17606#[doc = " This AI event is sent when an enemy unit left the radar covered area of this\n team."]
17607#[repr(C)]
17608#[derive(Debug, Copy, Clone)]
17609pub struct SEnemyLeaveRadarEvent {
17610 pub enemy: ::std::os::raw::c_int,
17611}
17612#[test]
17613fn bindgen_test_layout_SEnemyLeaveRadarEvent() {
17614 const UNINIT: ::std::mem::MaybeUninit<SEnemyLeaveRadarEvent> =
17615 ::std::mem::MaybeUninit::uninit();
17616 let ptr = UNINIT.as_ptr();
17617 assert_eq!(
17618 ::std::mem::size_of::<SEnemyLeaveRadarEvent>(),
17619 4usize,
17620 concat!("Size of: ", stringify!(SEnemyLeaveRadarEvent))
17621 );
17622 assert_eq!(
17623 ::std::mem::align_of::<SEnemyLeaveRadarEvent>(),
17624 4usize,
17625 concat!("Alignment of ", stringify!(SEnemyLeaveRadarEvent))
17626 );
17627 assert_eq!(
17628 unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
17629 0usize,
17630 concat!(
17631 "Offset of field: ",
17632 stringify!(SEnemyLeaveRadarEvent),
17633 "::",
17634 stringify!(enemy)
17635 )
17636 );
17637}
17638#[doc = " This AI event is sent when an enemy unit was damaged. It contains the\n attacked unit, the attacking unit, the ammount of damage and the direction\n from where the damage was inflickted. In case of a laser weapon, the\n direction will point directly from the attacker to the attacked unit, while\n with artillery it will rather be from somewhere up in the sky to the attacked\n unit.\n See also the enemy-destroyed event."]
17639#[repr(C)]
17640#[derive(Debug, Copy, Clone)]
17641pub struct SEnemyDamagedEvent {
17642 pub enemy: ::std::os::raw::c_int,
17643 #[doc = " may be -1, which means no attacker was directly involveld,\n or the attacker is not allied with the team receiving this event"]
17644 pub attacker: ::std::os::raw::c_int,
17645 pub damage: f32,
17646 pub dir_posF3: *mut f32,
17647 pub weaponDefId: ::std::os::raw::c_int,
17648 #[doc = " if true, then damage is paralyzation damage, otherwise it is real damage"]
17649 pub paralyzer: bool,
17650}
17651#[test]
17652fn bindgen_test_layout_SEnemyDamagedEvent() {
17653 const UNINIT: ::std::mem::MaybeUninit<SEnemyDamagedEvent> = ::std::mem::MaybeUninit::uninit();
17654 let ptr = UNINIT.as_ptr();
17655 assert_eq!(
17656 ::std::mem::size_of::<SEnemyDamagedEvent>(),
17657 32usize,
17658 concat!("Size of: ", stringify!(SEnemyDamagedEvent))
17659 );
17660 assert_eq!(
17661 ::std::mem::align_of::<SEnemyDamagedEvent>(),
17662 8usize,
17663 concat!("Alignment of ", stringify!(SEnemyDamagedEvent))
17664 );
17665 assert_eq!(
17666 unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
17667 0usize,
17668 concat!(
17669 "Offset of field: ",
17670 stringify!(SEnemyDamagedEvent),
17671 "::",
17672 stringify!(enemy)
17673 )
17674 );
17675 assert_eq!(
17676 unsafe { ::std::ptr::addr_of!((*ptr).attacker) as usize - ptr as usize },
17677 4usize,
17678 concat!(
17679 "Offset of field: ",
17680 stringify!(SEnemyDamagedEvent),
17681 "::",
17682 stringify!(attacker)
17683 )
17684 );
17685 assert_eq!(
17686 unsafe { ::std::ptr::addr_of!((*ptr).damage) as usize - ptr as usize },
17687 8usize,
17688 concat!(
17689 "Offset of field: ",
17690 stringify!(SEnemyDamagedEvent),
17691 "::",
17692 stringify!(damage)
17693 )
17694 );
17695 assert_eq!(
17696 unsafe { ::std::ptr::addr_of!((*ptr).dir_posF3) as usize - ptr as usize },
17697 16usize,
17698 concat!(
17699 "Offset of field: ",
17700 stringify!(SEnemyDamagedEvent),
17701 "::",
17702 stringify!(dir_posF3)
17703 )
17704 );
17705 assert_eq!(
17706 unsafe { ::std::ptr::addr_of!((*ptr).weaponDefId) as usize - ptr as usize },
17707 24usize,
17708 concat!(
17709 "Offset of field: ",
17710 stringify!(SEnemyDamagedEvent),
17711 "::",
17712 stringify!(weaponDefId)
17713 )
17714 );
17715 assert_eq!(
17716 unsafe { ::std::ptr::addr_of!((*ptr).paralyzer) as usize - ptr as usize },
17717 28usize,
17718 concat!(
17719 "Offset of field: ",
17720 stringify!(SEnemyDamagedEvent),
17721 "::",
17722 stringify!(paralyzer)
17723 )
17724 );
17725}
17726#[doc = " This AI event is sent when an enemy unit was destroyed; see also the\n enemy-damaged event."]
17727#[repr(C)]
17728#[derive(Debug, Copy, Clone)]
17729pub struct SEnemyDestroyedEvent {
17730 pub enemy: ::std::os::raw::c_int,
17731 #[doc = " may be -1, which means no attacker was directly involveld,\n or the attacker is not allied with the team receiving this event"]
17732 pub attacker: ::std::os::raw::c_int,
17733}
17734#[test]
17735fn bindgen_test_layout_SEnemyDestroyedEvent() {
17736 const UNINIT: ::std::mem::MaybeUninit<SEnemyDestroyedEvent> = ::std::mem::MaybeUninit::uninit();
17737 let ptr = UNINIT.as_ptr();
17738 assert_eq!(
17739 ::std::mem::size_of::<SEnemyDestroyedEvent>(),
17740 8usize,
17741 concat!("Size of: ", stringify!(SEnemyDestroyedEvent))
17742 );
17743 assert_eq!(
17744 ::std::mem::align_of::<SEnemyDestroyedEvent>(),
17745 4usize,
17746 concat!("Alignment of ", stringify!(SEnemyDestroyedEvent))
17747 );
17748 assert_eq!(
17749 unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
17750 0usize,
17751 concat!(
17752 "Offset of field: ",
17753 stringify!(SEnemyDestroyedEvent),
17754 "::",
17755 stringify!(enemy)
17756 )
17757 );
17758 assert_eq!(
17759 unsafe { ::std::ptr::addr_of!((*ptr).attacker) as usize - ptr as usize },
17760 4usize,
17761 concat!(
17762 "Offset of field: ",
17763 stringify!(SEnemyDestroyedEvent),
17764 "::",
17765 stringify!(attacker)
17766 )
17767 );
17768}
17769#[doc = " This AI event is sent when certain weapons are fired.\n For performance reasons, it is not possible to send this event\n for all weapons. Therefore, it is currently only sent for manuall-fire\n weapons like for example the TA Commanders D-Gun or the Nuke."]
17770#[repr(C)]
17771#[derive(Debug, Copy, Clone)]
17772pub struct SWeaponFiredEvent {
17773 pub unitId: ::std::os::raw::c_int,
17774 pub weaponDefId: ::std::os::raw::c_int,
17775}
17776#[test]
17777fn bindgen_test_layout_SWeaponFiredEvent() {
17778 const UNINIT: ::std::mem::MaybeUninit<SWeaponFiredEvent> = ::std::mem::MaybeUninit::uninit();
17779 let ptr = UNINIT.as_ptr();
17780 assert_eq!(
17781 ::std::mem::size_of::<SWeaponFiredEvent>(),
17782 8usize,
17783 concat!("Size of: ", stringify!(SWeaponFiredEvent))
17784 );
17785 assert_eq!(
17786 ::std::mem::align_of::<SWeaponFiredEvent>(),
17787 4usize,
17788 concat!("Alignment of ", stringify!(SWeaponFiredEvent))
17789 );
17790 assert_eq!(
17791 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
17792 0usize,
17793 concat!(
17794 "Offset of field: ",
17795 stringify!(SWeaponFiredEvent),
17796 "::",
17797 stringify!(unitId)
17798 )
17799 );
17800 assert_eq!(
17801 unsafe { ::std::ptr::addr_of!((*ptr).weaponDefId) as usize - ptr as usize },
17802 4usize,
17803 concat!(
17804 "Offset of field: ",
17805 stringify!(SWeaponFiredEvent),
17806 "::",
17807 stringify!(weaponDefId)
17808 )
17809 );
17810}
17811#[doc = " This AI event is sent when a user gives a command to one or multiple units\n belonging to a team controlled by the AI.\n For more info about the given commands, please use the\n Unit.getCurrentCommands() method of the callback."]
17812#[repr(C)]
17813#[derive(Debug, Copy, Clone)]
17814pub struct SPlayerCommandEvent {
17815 pub unitIds: *mut ::std::os::raw::c_int,
17816 pub unitIds_size: ::std::os::raw::c_int,
17817 #[doc = " see COMMAND_* defines in AISCommands.h"]
17818 pub commandTopicId: ::std::os::raw::c_int,
17819 #[doc = " Id of the player that issued the command"]
17820 pub playerId: ::std::os::raw::c_int,
17821}
17822#[test]
17823fn bindgen_test_layout_SPlayerCommandEvent() {
17824 const UNINIT: ::std::mem::MaybeUninit<SPlayerCommandEvent> = ::std::mem::MaybeUninit::uninit();
17825 let ptr = UNINIT.as_ptr();
17826 assert_eq!(
17827 ::std::mem::size_of::<SPlayerCommandEvent>(),
17828 24usize,
17829 concat!("Size of: ", stringify!(SPlayerCommandEvent))
17830 );
17831 assert_eq!(
17832 ::std::mem::align_of::<SPlayerCommandEvent>(),
17833 8usize,
17834 concat!("Alignment of ", stringify!(SPlayerCommandEvent))
17835 );
17836 assert_eq!(
17837 unsafe { ::std::ptr::addr_of!((*ptr).unitIds) as usize - ptr as usize },
17838 0usize,
17839 concat!(
17840 "Offset of field: ",
17841 stringify!(SPlayerCommandEvent),
17842 "::",
17843 stringify!(unitIds)
17844 )
17845 );
17846 assert_eq!(
17847 unsafe { ::std::ptr::addr_of!((*ptr).unitIds_size) as usize - ptr as usize },
17848 8usize,
17849 concat!(
17850 "Offset of field: ",
17851 stringify!(SPlayerCommandEvent),
17852 "::",
17853 stringify!(unitIds_size)
17854 )
17855 );
17856 assert_eq!(
17857 unsafe { ::std::ptr::addr_of!((*ptr).commandTopicId) as usize - ptr as usize },
17858 12usize,
17859 concat!(
17860 "Offset of field: ",
17861 stringify!(SPlayerCommandEvent),
17862 "::",
17863 stringify!(commandTopicId)
17864 )
17865 );
17866 assert_eq!(
17867 unsafe { ::std::ptr::addr_of!((*ptr).playerId) as usize - ptr as usize },
17868 16usize,
17869 concat!(
17870 "Offset of field: ",
17871 stringify!(SPlayerCommandEvent),
17872 "::",
17873 stringify!(playerId)
17874 )
17875 );
17876}
17877#[doc = " This AI event is sent when a unit finished processing a command.\n @param commandId used on asynchronous commands only (is -1 for regular commands).\n this allows the AI to identify a possible result event,\n which would come with the same id\n @param commandTopicId unique identifier of a command\n (see COMMAND_* defines in AISCommands.h)\n @see callback.handleCommand(..., int commandId, ...)"]
17878#[repr(C)]
17879#[derive(Debug, Copy, Clone)]
17880pub struct SCommandFinishedEvent {
17881 pub unitId: ::std::os::raw::c_int,
17882 pub commandId: ::std::os::raw::c_int,
17883 pub commandTopicId: ::std::os::raw::c_int,
17884}
17885#[test]
17886fn bindgen_test_layout_SCommandFinishedEvent() {
17887 const UNINIT: ::std::mem::MaybeUninit<SCommandFinishedEvent> =
17888 ::std::mem::MaybeUninit::uninit();
17889 let ptr = UNINIT.as_ptr();
17890 assert_eq!(
17891 ::std::mem::size_of::<SCommandFinishedEvent>(),
17892 12usize,
17893 concat!("Size of: ", stringify!(SCommandFinishedEvent))
17894 );
17895 assert_eq!(
17896 ::std::mem::align_of::<SCommandFinishedEvent>(),
17897 4usize,
17898 concat!("Alignment of ", stringify!(SCommandFinishedEvent))
17899 );
17900 assert_eq!(
17901 unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
17902 0usize,
17903 concat!(
17904 "Offset of field: ",
17905 stringify!(SCommandFinishedEvent),
17906 "::",
17907 stringify!(unitId)
17908 )
17909 );
17910 assert_eq!(
17911 unsafe { ::std::ptr::addr_of!((*ptr).commandId) as usize - ptr as usize },
17912 4usize,
17913 concat!(
17914 "Offset of field: ",
17915 stringify!(SCommandFinishedEvent),
17916 "::",
17917 stringify!(commandId)
17918 )
17919 );
17920 assert_eq!(
17921 unsafe { ::std::ptr::addr_of!((*ptr).commandTopicId) as usize - ptr as usize },
17922 8usize,
17923 concat!(
17924 "Offset of field: ",
17925 stringify!(SCommandFinishedEvent),
17926 "::",
17927 stringify!(commandTopicId)
17928 )
17929 );
17930}
17931#[doc = " This AI event is sent when a unit movement is detected by means of a seismic\n event. A seismic event means erruption/movement/shakings of the ground. This\n can be detected by only by special units usually, eg by the seismic detector\n building in Balanced Annihilation."]
17932#[repr(C)]
17933#[derive(Debug, Copy, Clone)]
17934pub struct SSeismicPingEvent {
17935 pub pos_posF3: *mut f32,
17936 pub strength: f32,
17937}
17938#[test]
17939fn bindgen_test_layout_SSeismicPingEvent() {
17940 const UNINIT: ::std::mem::MaybeUninit<SSeismicPingEvent> = ::std::mem::MaybeUninit::uninit();
17941 let ptr = UNINIT.as_ptr();
17942 assert_eq!(
17943 ::std::mem::size_of::<SSeismicPingEvent>(),
17944 16usize,
17945 concat!("Size of: ", stringify!(SSeismicPingEvent))
17946 );
17947 assert_eq!(
17948 ::std::mem::align_of::<SSeismicPingEvent>(),
17949 8usize,
17950 concat!("Alignment of ", stringify!(SSeismicPingEvent))
17951 );
17952 assert_eq!(
17953 unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
17954 0usize,
17955 concat!(
17956 "Offset of field: ",
17957 stringify!(SSeismicPingEvent),
17958 "::",
17959 stringify!(pos_posF3)
17960 )
17961 );
17962 assert_eq!(
17963 unsafe { ::std::ptr::addr_of!((*ptr).strength) as usize - ptr as usize },
17964 8usize,
17965 concat!(
17966 "Offset of field: ",
17967 stringify!(SSeismicPingEvent),
17968 "::",
17969 stringify!(strength)
17970 )
17971 );
17972}
17973#[doc = " This AI event is sent when the AI should be loading its full state from a\n file."]
17974#[repr(C)]
17975#[derive(Debug, Copy, Clone)]
17976pub struct SLoadEvent {
17977 #[doc = " Absolute file path, should be treated read-only"]
17978 pub file: *const ::std::os::raw::c_char,
17979}
17980#[test]
17981fn bindgen_test_layout_SLoadEvent() {
17982 const UNINIT: ::std::mem::MaybeUninit<SLoadEvent> = ::std::mem::MaybeUninit::uninit();
17983 let ptr = UNINIT.as_ptr();
17984 assert_eq!(
17985 ::std::mem::size_of::<SLoadEvent>(),
17986 8usize,
17987 concat!("Size of: ", stringify!(SLoadEvent))
17988 );
17989 assert_eq!(
17990 ::std::mem::align_of::<SLoadEvent>(),
17991 8usize,
17992 concat!("Alignment of ", stringify!(SLoadEvent))
17993 );
17994 assert_eq!(
17995 unsafe { ::std::ptr::addr_of!((*ptr).file) as usize - ptr as usize },
17996 0usize,
17997 concat!(
17998 "Offset of field: ",
17999 stringify!(SLoadEvent),
18000 "::",
18001 stringify!(file)
18002 )
18003 );
18004}
18005#[doc = " This AI event is sent when the AI should be saving its full state to a file."]
18006#[repr(C)]
18007#[derive(Debug, Copy, Clone)]
18008pub struct SSaveEvent {
18009 #[doc = " Absolute file path, writable"]
18010 pub file: *const ::std::os::raw::c_char,
18011}
18012#[test]
18013fn bindgen_test_layout_SSaveEvent() {
18014 const UNINIT: ::std::mem::MaybeUninit<SSaveEvent> = ::std::mem::MaybeUninit::uninit();
18015 let ptr = UNINIT.as_ptr();
18016 assert_eq!(
18017 ::std::mem::size_of::<SSaveEvent>(),
18018 8usize,
18019 concat!("Size of: ", stringify!(SSaveEvent))
18020 );
18021 assert_eq!(
18022 ::std::mem::align_of::<SSaveEvent>(),
18023 8usize,
18024 concat!("Alignment of ", stringify!(SSaveEvent))
18025 );
18026 assert_eq!(
18027 unsafe { ::std::ptr::addr_of!((*ptr).file) as usize - ptr as usize },
18028 0usize,
18029 concat!(
18030 "Offset of field: ",
18031 stringify!(SSaveEvent),
18032 "::",
18033 stringify!(file)
18034 )
18035 );
18036}
18037#[doc = " This AI event is sent whenever a unit of an enemy team is created,\n and contains the created unit. Usually, the unit has only 1 HP at this time,\n and consists only of a nano frame.\n See also the enemy-finished event."]
18038#[repr(C)]
18039#[derive(Debug, Copy, Clone)]
18040pub struct SEnemyCreatedEvent {
18041 pub enemy: ::std::os::raw::c_int,
18042}
18043#[test]
18044fn bindgen_test_layout_SEnemyCreatedEvent() {
18045 const UNINIT: ::std::mem::MaybeUninit<SEnemyCreatedEvent> = ::std::mem::MaybeUninit::uninit();
18046 let ptr = UNINIT.as_ptr();
18047 assert_eq!(
18048 ::std::mem::size_of::<SEnemyCreatedEvent>(),
18049 4usize,
18050 concat!("Size of: ", stringify!(SEnemyCreatedEvent))
18051 );
18052 assert_eq!(
18053 ::std::mem::align_of::<SEnemyCreatedEvent>(),
18054 4usize,
18055 concat!("Alignment of ", stringify!(SEnemyCreatedEvent))
18056 );
18057 assert_eq!(
18058 unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
18059 0usize,
18060 concat!(
18061 "Offset of field: ",
18062 stringify!(SEnemyCreatedEvent),
18063 "::",
18064 stringify!(enemy)
18065 )
18066 );
18067}
18068#[doc = " This AI event is sent whenever an enemy unit is fully built, and contains the\n finished unit. Usually, the unit has full health at this time.\n See also the unit-created event."]
18069#[repr(C)]
18070#[derive(Debug, Copy, Clone)]
18071pub struct SEnemyFinishedEvent {
18072 pub enemy: ::std::os::raw::c_int,
18073}
18074#[test]
18075fn bindgen_test_layout_SEnemyFinishedEvent() {
18076 const UNINIT: ::std::mem::MaybeUninit<SEnemyFinishedEvent> = ::std::mem::MaybeUninit::uninit();
18077 let ptr = UNINIT.as_ptr();
18078 assert_eq!(
18079 ::std::mem::size_of::<SEnemyFinishedEvent>(),
18080 4usize,
18081 concat!("Size of: ", stringify!(SEnemyFinishedEvent))
18082 );
18083 assert_eq!(
18084 ::std::mem::align_of::<SEnemyFinishedEvent>(),
18085 4usize,
18086 concat!("Alignment of ", stringify!(SEnemyFinishedEvent))
18087 );
18088 assert_eq!(
18089 unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
18090 0usize,
18091 concat!(
18092 "Offset of field: ",
18093 stringify!(SEnemyFinishedEvent),
18094 "::",
18095 stringify!(enemy)
18096 )
18097 );
18098}
18099pub const LevelOfSupport_LOS_None: LevelOfSupport = 0;
18100pub const LevelOfSupport_LOS_Bad: LevelOfSupport = 1;
18101pub const LevelOfSupport_LOS_Working: LevelOfSupport = 2;
18102pub const LevelOfSupport_LOS_Compleet: LevelOfSupport = 3;
18103pub const LevelOfSupport_LOS_Optimal: LevelOfSupport = 4;
18104pub const LevelOfSupport_LOS_Unknown: LevelOfSupport = 5;
18105#[doc = " @brief level of support\n\n This is used by Skirmish AIs for example.\n The engine can pass some info to the AI,\n eg. a mod name plus version and the engine version,\n and the AI will report with a value from this enum,\n to indicate the level of support it can serve for a\n game using all of the supplied info.\n If the AI is unable to determine its level of support,\n it should return LOS_Unknown."]
18106pub type LevelOfSupport = ::std::os::raw::c_int;
18107#[doc = " AI Interface -> engine callback.\n Each AI Interface will receive an instance of this struct at initialization.\n The interfaceId passed as the first parameter to each function in this struct\n has to be the same as the one received by the interface,\n when it received the instance of this struct.\n @see SAIInterfaceLibrary"]
18108#[repr(C)]
18109#[derive(Debug, Copy, Clone)]
18110pub struct SAIInterfaceCallback {
18111 #[doc = " Returns the Application Binary Interface version, fail part.\n If the engine and the AI INterface differ in this,\n the AI Interface will not be used.\n Changes here usually indicate that struct memebers were\n added or removed."]
18112 pub Engine_AIInterface_ABIVersion_getFailPart: ::std::option::Option<
18113 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
18114 >,
18115 #[doc = " Returns the Application Binary Interface version, warning part.\n Interface and engine will try to run/work together,\n if they differ only in the warning part of the ABI version.\n Changes here could indicate that function arguments got changed,\n which could cause a crash, but it could be unimportant changes\n like added comments or code reformatting aswell."]
18116 pub Engine_AIInterface_ABIVersion_getWarningPart: ::std::option::Option<
18117 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
18118 >,
18119 #[doc = " Returns the major engine revision number (e.g. 83)"]
18120 pub Engine_Version_getMajor: ::std::option::Option<
18121 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18122 >,
18123 #[doc = " Minor version number (e.g. \"5\")\n @deprecated since 4. October 2011 (pre release 83), will always return \"0\""]
18124 pub Engine_Version_getMinor: ::std::option::Option<
18125 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18126 >,
18127 #[doc = " Clients that only differ in patchset can still play together.\n Also demos should be compatible between patchsets."]
18128 pub Engine_Version_getPatchset: ::std::option::Option<
18129 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18130 >,
18131 #[doc = " SCM Commits version part (e.g. \"\" or \"13\")\n Number of commits since the last version tag.\n This matches the regex \"[0-9]*\"."]
18132 pub Engine_Version_getCommits: ::std::option::Option<
18133 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18134 >,
18135 #[doc = " SCM unique identifier for the current commit.\n This matches the regex \"([0-9a-f]{6})?\"."]
18136 pub Engine_Version_getHash: ::std::option::Option<
18137 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18138 >,
18139 #[doc = " SCM branch name (e.g. \"master\" or \"develop\")"]
18140 pub Engine_Version_getBranch: ::std::option::Option<
18141 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18142 >,
18143 #[doc = " Additional information (compiler flags, svn revision etc.)"]
18144 pub Engine_Version_getAdditional: ::std::option::Option<
18145 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18146 >,
18147 #[doc = " time of build"]
18148 pub Engine_Version_getBuildTime: ::std::option::Option<
18149 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18150 >,
18151 #[doc = " Returns whether this is a release build of the engine"]
18152 pub Engine_Version_isRelease:
18153 ::std::option::Option<unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> bool>,
18154 #[doc = " The basic part of a spring version.\n This may only be used for sync-checking if IsRelease() returns true.\n @return \"Major.PatchSet\" or \"Major.PatchSet.1\""]
18155 pub Engine_Version_getNormal: ::std::option::Option<
18156 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18157 >,
18158 #[doc = " The sync relevant part of a spring version.\n This may be used for sync-checking through a simple string-equality test.\n @return \"Major\" or \"Major.PatchSet.1-Commits-gHash Branch\""]
18159 pub Engine_Version_getSync: ::std::option::Option<
18160 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18161 >,
18162 #[doc = " The verbose, human readable version.\n @return \"Major.Patchset[.1-Commits-gHash Branch] (Additional)\""]
18163 pub Engine_Version_getFull: ::std::option::Option<
18164 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18165 >,
18166 #[doc = " Returns the number of info key-value pairs in the info map\n for this interface."]
18167 pub AIInterface_Info_getSize: ::std::option::Option<
18168 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
18169 >,
18170 #[doc = " Returns the key at index infoIndex in the info map\n for this interface, or NULL if the infoIndex is invalid."]
18171 pub AIInterface_Info_getKey: ::std::option::Option<
18172 unsafe extern "C" fn(
18173 interfaceId: ::std::os::raw::c_int,
18174 infoIndex: ::std::os::raw::c_int,
18175 ) -> *const ::std::os::raw::c_char,
18176 >,
18177 #[doc = " Returns the value at index infoIndex in the info map\n for this interface, or NULL if the infoIndex is invalid."]
18178 pub AIInterface_Info_getValue: ::std::option::Option<
18179 unsafe extern "C" fn(
18180 interfaceId: ::std::os::raw::c_int,
18181 infoIndex: ::std::os::raw::c_int,
18182 ) -> *const ::std::os::raw::c_char,
18183 >,
18184 #[doc = " Returns the description of the key at index infoIndex in the info map\n for this interface, or NULL if the infoIndex is invalid."]
18185 pub AIInterface_Info_getDescription: ::std::option::Option<
18186 unsafe extern "C" fn(
18187 interfaceId: ::std::os::raw::c_int,
18188 infoIndex: ::std::os::raw::c_int,
18189 ) -> *const ::std::os::raw::c_char,
18190 >,
18191 #[doc = " Returns the value associated with the given key in the info map\n for this interface, or NULL if not found."]
18192 pub AIInterface_Info_getValueByKey: ::std::option::Option<
18193 unsafe extern "C" fn(
18194 interfaceId: ::std::os::raw::c_int,
18195 key: *const ::std::os::raw::c_char,
18196 ) -> *const ::std::os::raw::c_char,
18197 >,
18198 #[doc = " the number of teams in this game"]
18199 pub getNumTeams: ::std::option::Option<
18200 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
18201 >,
18202 #[doc = " the number of skirmish AIs in this game"]
18203 pub getNumSkirmishAIs: ::std::option::Option<
18204 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
18205 >,
18206 #[doc = " the maximum number of skirmish AIs in any game"]
18207 pub getMaxSkirmishAIs: ::std::option::Option<
18208 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
18209 >,
18210 #[doc = " Returns the value accosiated to the given key from the skirmish AIs info map"]
18211 pub SkirmishAI_Info_getValueByKey: ::std::option::Option<
18212 unsafe extern "C" fn(
18213 interfaceId: ::std::os::raw::c_int,
18214 shortName: *const ::std::os::raw::c_char,
18215 version: *const ::std::os::raw::c_char,
18216 key: *const ::std::os::raw::c_char,
18217 ) -> *const ::std::os::raw::c_char,
18218 >,
18219 #[doc = " This will end up in infolog"]
18220 pub Log_log: ::std::option::Option<
18221 unsafe extern "C" fn(
18222 interfaceId: ::std::os::raw::c_int,
18223 msg: *const ::std::os::raw::c_char,
18224 ),
18225 >,
18226 #[doc = " This will end up in infolog"]
18227 pub Log_logsl: ::std::option::Option<
18228 unsafe extern "C" fn(
18229 interfaceId: ::std::os::raw::c_int,
18230 section: *const ::std::os::raw::c_char,
18231 loglevel: ::std::os::raw::c_int,
18232 msg: *const ::std::os::raw::c_char,
18233 ),
18234 >,
18235 #[doc = " Inform the engine of an error that happend in the interface.\n @param msg error message\n @param severety from 10 for minor to 0 for fatal\n @param die if this is set to true, the engine assumes\n the interface is in an irreparable state, and it will\n unload it immediately."]
18236 pub Log_exception: ::std::option::Option<
18237 unsafe extern "C" fn(
18238 interfaceId: ::std::os::raw::c_int,
18239 msg: *const ::std::os::raw::c_char,
18240 severety: ::std::os::raw::c_int,
18241 die: bool,
18242 ),
18243 >,
18244 #[doc = " Basically returns '/' on posix and '\\\\' on windows"]
18245 pub DataDirs_getPathSeparator: ::std::option::Option<
18246 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_char,
18247 >,
18248 #[doc = " This interfaces main data dir, which is where the shared library\n and the InterfaceInfo.lua file are located, e.g.:\n /usr/share/games/spring/AI/Interfaces/C/0.1/"]
18249 pub DataDirs_getConfigDir: ::std::option::Option<
18250 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18251 >,
18252 #[doc = " This interfaces writable data dir, which is where eg logs, caches\n and learning data should be stored, e.g.:\n /home/userX/.spring/AI/Interfaces/C/0.1/"]
18253 pub DataDirs_getWriteableDir: ::std::option::Option<
18254 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
18255 >,
18256 #[doc = " Returns an absolute path which consists of:\n data-dir + AI-Interface-path + relative-path.\n\n example:\n input: \"log/main.log\", writeable, create, !dir, !common\n output: \"/home/userX/.spring/AI/Interfaces/C/0.1/log/main.log\"\n The path \"/home/userX/.spring/AI/Interfaces/C/0.1/log/\" is created,\n if it does not yet exist.\n\n @see DataDirs_Roots_locatePath\n @param path store for the resulting absolute path\n @param path_sizeMax storage size of the above\n @param writeable if true, only the writable data-dir is considered\n @param create if true, and realPath is not found, its dir structure\n is created recursively under the writable data-dir\n @param dir if true, realPath specifies a dir, which means if\n create is true, the whole path will be created,\n including the last part\n @param common if true, the version independent data-dir is formed,\n which uses \"common\" instead of the version, eg:\n \"/home/userX/.spring/AI/Interfaces/C/common/...\"\n @return whether the locating process was successfull\n -> the path exists and is stored in an absolute form in path"]
18257 pub DataDirs_locatePath: ::std::option::Option<
18258 unsafe extern "C" fn(
18259 interfaceId: ::std::os::raw::c_int,
18260 path: *mut ::std::os::raw::c_char,
18261 path_sizeMax: ::std::os::raw::c_int,
18262 relPath: *const ::std::os::raw::c_char,
18263 writeable: bool,
18264 create: bool,
18265 dir: bool,
18266 common: bool,
18267 ) -> bool,
18268 >,
18269 #[doc = " Returns the number of springs data dirs."]
18270 pub DataDirs_Roots_getSize: ::std::option::Option<
18271 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
18272 >,
18273 #[doc = " Returns the data dir at dirIndex, which is valid between 0 and (DataDirs_Roots_getSize() - 1)."]
18274 pub DataDirs_Roots_getDir: ::std::option::Option<
18275 unsafe extern "C" fn(
18276 interfaceId: ::std::os::raw::c_int,
18277 path: *mut ::std::os::raw::c_char,
18278 path_sizeMax: ::std::os::raw::c_int,
18279 dirIndex: ::std::os::raw::c_int,
18280 ) -> bool,
18281 >,
18282 #[doc = " Returns an absolute path which consists of:\n data-dir + relative-path.\n\n example:\n input: \"AI/Skirmish\", writeable, create, dir\n output: \"/home/userX/.spring/AI/Skirmish/\"\n The path \"/home/userX/.spring/AI/Skirmish/\" is created,\n if it does not yet exist.\n\n @see DataDirs_locatePath\n @param path store for the resulting absolute path\n @param path_sizeMax storage size of the above\n @param relPath the relative path to find\n @param writeable if true, only the writable data-dir is considered\n @param create if true, and realPath is not found, its dir structure\n is created recursively under the writable data-dir\n @param dir if true, realPath specifies a dir, which means if\n create is true, the whole path will be created,\n including the last part\n @return whether the locating process was successfull\n -> the path exists and is stored in an absolute form in path"]
18283 pub DataDirs_Roots_locatePath: ::std::option::Option<
18284 unsafe extern "C" fn(
18285 interfaceId: ::std::os::raw::c_int,
18286 path: *mut ::std::os::raw::c_char,
18287 path_sizeMax: ::std::os::raw::c_int,
18288 relPath: *const ::std::os::raw::c_char,
18289 writeable: bool,
18290 create: bool,
18291 dir: bool,
18292 ) -> bool,
18293 >,
18294}
18295#[test]
18296fn bindgen_test_layout_SAIInterfaceCallback() {
18297 const UNINIT: ::std::mem::MaybeUninit<SAIInterfaceCallback> = ::std::mem::MaybeUninit::uninit();
18298 let ptr = UNINIT.as_ptr();
18299 assert_eq!(
18300 ::std::mem::size_of::<SAIInterfaceCallback>(),
18301 264usize,
18302 concat!("Size of: ", stringify!(SAIInterfaceCallback))
18303 );
18304 assert_eq!(
18305 ::std::mem::align_of::<SAIInterfaceCallback>(),
18306 8usize,
18307 concat!("Alignment of ", stringify!(SAIInterfaceCallback))
18308 );
18309 assert_eq!(
18310 unsafe {
18311 ::std::ptr::addr_of!((*ptr).Engine_AIInterface_ABIVersion_getFailPart) as usize
18312 - ptr as usize
18313 },
18314 0usize,
18315 concat!(
18316 "Offset of field: ",
18317 stringify!(SAIInterfaceCallback),
18318 "::",
18319 stringify!(Engine_AIInterface_ABIVersion_getFailPart)
18320 )
18321 );
18322 assert_eq!(
18323 unsafe {
18324 ::std::ptr::addr_of!((*ptr).Engine_AIInterface_ABIVersion_getWarningPart) as usize
18325 - ptr as usize
18326 },
18327 8usize,
18328 concat!(
18329 "Offset of field: ",
18330 stringify!(SAIInterfaceCallback),
18331 "::",
18332 stringify!(Engine_AIInterface_ABIVersion_getWarningPart)
18333 )
18334 );
18335 assert_eq!(
18336 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getMajor) as usize - ptr as usize },
18337 16usize,
18338 concat!(
18339 "Offset of field: ",
18340 stringify!(SAIInterfaceCallback),
18341 "::",
18342 stringify!(Engine_Version_getMajor)
18343 )
18344 );
18345 assert_eq!(
18346 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getMinor) as usize - ptr as usize },
18347 24usize,
18348 concat!(
18349 "Offset of field: ",
18350 stringify!(SAIInterfaceCallback),
18351 "::",
18352 stringify!(Engine_Version_getMinor)
18353 )
18354 );
18355 assert_eq!(
18356 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getPatchset) as usize - ptr as usize },
18357 32usize,
18358 concat!(
18359 "Offset of field: ",
18360 stringify!(SAIInterfaceCallback),
18361 "::",
18362 stringify!(Engine_Version_getPatchset)
18363 )
18364 );
18365 assert_eq!(
18366 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getCommits) as usize - ptr as usize },
18367 40usize,
18368 concat!(
18369 "Offset of field: ",
18370 stringify!(SAIInterfaceCallback),
18371 "::",
18372 stringify!(Engine_Version_getCommits)
18373 )
18374 );
18375 assert_eq!(
18376 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getHash) as usize - ptr as usize },
18377 48usize,
18378 concat!(
18379 "Offset of field: ",
18380 stringify!(SAIInterfaceCallback),
18381 "::",
18382 stringify!(Engine_Version_getHash)
18383 )
18384 );
18385 assert_eq!(
18386 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getBranch) as usize - ptr as usize },
18387 56usize,
18388 concat!(
18389 "Offset of field: ",
18390 stringify!(SAIInterfaceCallback),
18391 "::",
18392 stringify!(Engine_Version_getBranch)
18393 )
18394 );
18395 assert_eq!(
18396 unsafe {
18397 ::std::ptr::addr_of!((*ptr).Engine_Version_getAdditional) as usize - ptr as usize
18398 },
18399 64usize,
18400 concat!(
18401 "Offset of field: ",
18402 stringify!(SAIInterfaceCallback),
18403 "::",
18404 stringify!(Engine_Version_getAdditional)
18405 )
18406 );
18407 assert_eq!(
18408 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getBuildTime) as usize - ptr as usize },
18409 72usize,
18410 concat!(
18411 "Offset of field: ",
18412 stringify!(SAIInterfaceCallback),
18413 "::",
18414 stringify!(Engine_Version_getBuildTime)
18415 )
18416 );
18417 assert_eq!(
18418 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_isRelease) as usize - ptr as usize },
18419 80usize,
18420 concat!(
18421 "Offset of field: ",
18422 stringify!(SAIInterfaceCallback),
18423 "::",
18424 stringify!(Engine_Version_isRelease)
18425 )
18426 );
18427 assert_eq!(
18428 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getNormal) as usize - ptr as usize },
18429 88usize,
18430 concat!(
18431 "Offset of field: ",
18432 stringify!(SAIInterfaceCallback),
18433 "::",
18434 stringify!(Engine_Version_getNormal)
18435 )
18436 );
18437 assert_eq!(
18438 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getSync) as usize - ptr as usize },
18439 96usize,
18440 concat!(
18441 "Offset of field: ",
18442 stringify!(SAIInterfaceCallback),
18443 "::",
18444 stringify!(Engine_Version_getSync)
18445 )
18446 );
18447 assert_eq!(
18448 unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getFull) as usize - ptr as usize },
18449 104usize,
18450 concat!(
18451 "Offset of field: ",
18452 stringify!(SAIInterfaceCallback),
18453 "::",
18454 stringify!(Engine_Version_getFull)
18455 )
18456 );
18457 assert_eq!(
18458 unsafe { ::std::ptr::addr_of!((*ptr).AIInterface_Info_getSize) as usize - ptr as usize },
18459 112usize,
18460 concat!(
18461 "Offset of field: ",
18462 stringify!(SAIInterfaceCallback),
18463 "::",
18464 stringify!(AIInterface_Info_getSize)
18465 )
18466 );
18467 assert_eq!(
18468 unsafe { ::std::ptr::addr_of!((*ptr).AIInterface_Info_getKey) as usize - ptr as usize },
18469 120usize,
18470 concat!(
18471 "Offset of field: ",
18472 stringify!(SAIInterfaceCallback),
18473 "::",
18474 stringify!(AIInterface_Info_getKey)
18475 )
18476 );
18477 assert_eq!(
18478 unsafe { ::std::ptr::addr_of!((*ptr).AIInterface_Info_getValue) as usize - ptr as usize },
18479 128usize,
18480 concat!(
18481 "Offset of field: ",
18482 stringify!(SAIInterfaceCallback),
18483 "::",
18484 stringify!(AIInterface_Info_getValue)
18485 )
18486 );
18487 assert_eq!(
18488 unsafe {
18489 ::std::ptr::addr_of!((*ptr).AIInterface_Info_getDescription) as usize - ptr as usize
18490 },
18491 136usize,
18492 concat!(
18493 "Offset of field: ",
18494 stringify!(SAIInterfaceCallback),
18495 "::",
18496 stringify!(AIInterface_Info_getDescription)
18497 )
18498 );
18499 assert_eq!(
18500 unsafe {
18501 ::std::ptr::addr_of!((*ptr).AIInterface_Info_getValueByKey) as usize - ptr as usize
18502 },
18503 144usize,
18504 concat!(
18505 "Offset of field: ",
18506 stringify!(SAIInterfaceCallback),
18507 "::",
18508 stringify!(AIInterface_Info_getValueByKey)
18509 )
18510 );
18511 assert_eq!(
18512 unsafe { ::std::ptr::addr_of!((*ptr).getNumTeams) as usize - ptr as usize },
18513 152usize,
18514 concat!(
18515 "Offset of field: ",
18516 stringify!(SAIInterfaceCallback),
18517 "::",
18518 stringify!(getNumTeams)
18519 )
18520 );
18521 assert_eq!(
18522 unsafe { ::std::ptr::addr_of!((*ptr).getNumSkirmishAIs) as usize - ptr as usize },
18523 160usize,
18524 concat!(
18525 "Offset of field: ",
18526 stringify!(SAIInterfaceCallback),
18527 "::",
18528 stringify!(getNumSkirmishAIs)
18529 )
18530 );
18531 assert_eq!(
18532 unsafe { ::std::ptr::addr_of!((*ptr).getMaxSkirmishAIs) as usize - ptr as usize },
18533 168usize,
18534 concat!(
18535 "Offset of field: ",
18536 stringify!(SAIInterfaceCallback),
18537 "::",
18538 stringify!(getMaxSkirmishAIs)
18539 )
18540 );
18541 assert_eq!(
18542 unsafe {
18543 ::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getValueByKey) as usize - ptr as usize
18544 },
18545 176usize,
18546 concat!(
18547 "Offset of field: ",
18548 stringify!(SAIInterfaceCallback),
18549 "::",
18550 stringify!(SkirmishAI_Info_getValueByKey)
18551 )
18552 );
18553 assert_eq!(
18554 unsafe { ::std::ptr::addr_of!((*ptr).Log_log) as usize - ptr as usize },
18555 184usize,
18556 concat!(
18557 "Offset of field: ",
18558 stringify!(SAIInterfaceCallback),
18559 "::",
18560 stringify!(Log_log)
18561 )
18562 );
18563 assert_eq!(
18564 unsafe { ::std::ptr::addr_of!((*ptr).Log_logsl) as usize - ptr as usize },
18565 192usize,
18566 concat!(
18567 "Offset of field: ",
18568 stringify!(SAIInterfaceCallback),
18569 "::",
18570 stringify!(Log_logsl)
18571 )
18572 );
18573 assert_eq!(
18574 unsafe { ::std::ptr::addr_of!((*ptr).Log_exception) as usize - ptr as usize },
18575 200usize,
18576 concat!(
18577 "Offset of field: ",
18578 stringify!(SAIInterfaceCallback),
18579 "::",
18580 stringify!(Log_exception)
18581 )
18582 );
18583 assert_eq!(
18584 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getPathSeparator) as usize - ptr as usize },
18585 208usize,
18586 concat!(
18587 "Offset of field: ",
18588 stringify!(SAIInterfaceCallback),
18589 "::",
18590 stringify!(DataDirs_getPathSeparator)
18591 )
18592 );
18593 assert_eq!(
18594 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getConfigDir) as usize - ptr as usize },
18595 216usize,
18596 concat!(
18597 "Offset of field: ",
18598 stringify!(SAIInterfaceCallback),
18599 "::",
18600 stringify!(DataDirs_getConfigDir)
18601 )
18602 );
18603 assert_eq!(
18604 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getWriteableDir) as usize - ptr as usize },
18605 224usize,
18606 concat!(
18607 "Offset of field: ",
18608 stringify!(SAIInterfaceCallback),
18609 "::",
18610 stringify!(DataDirs_getWriteableDir)
18611 )
18612 );
18613 assert_eq!(
18614 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_locatePath) as usize - ptr as usize },
18615 232usize,
18616 concat!(
18617 "Offset of field: ",
18618 stringify!(SAIInterfaceCallback),
18619 "::",
18620 stringify!(DataDirs_locatePath)
18621 )
18622 );
18623 assert_eq!(
18624 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_getSize) as usize - ptr as usize },
18625 240usize,
18626 concat!(
18627 "Offset of field: ",
18628 stringify!(SAIInterfaceCallback),
18629 "::",
18630 stringify!(DataDirs_Roots_getSize)
18631 )
18632 );
18633 assert_eq!(
18634 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_getDir) as usize - ptr as usize },
18635 248usize,
18636 concat!(
18637 "Offset of field: ",
18638 stringify!(SAIInterfaceCallback),
18639 "::",
18640 stringify!(DataDirs_Roots_getDir)
18641 )
18642 );
18643 assert_eq!(
18644 unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_locatePath) as usize - ptr as usize },
18645 256usize,
18646 concat!(
18647 "Offset of field: ",
18648 stringify!(SAIInterfaceCallback),
18649 "::",
18650 stringify!(DataDirs_Roots_locatePath)
18651 )
18652 );
18653}
18654#[repr(C)]
18655#[derive(Debug, Copy, Clone)]
18656pub struct SStaticGlobalData {
18657 _unused: [u8; 0],
18658}
18659#[doc = " @brief Artificial Intelligence Interface library interface\n\n This is the interface between the engine and an implementation of\n an AI Interface.\n The engine will address AI Interfaces through this interface,\n but AI Interfaces will not actually implement it. It is the job\n of the engine, to make sure it can address AI Interface\n implementations through instances of this struct.\n\n An example of loading the C AI Interface:\n The C AI Interface library exports functions fitting the\n function pointers in this struct. When the engine needs therefore\n C AI Interface, it loads the shared library, eg C-AI-Interface.dll,\n creates a new instance of this struct, and sets the member function\n pointers to the addresses of the fitting functions exported\n by the shared library. The functions of the AI Interface are then\n allways called through this struct."]
18660#[repr(C)]
18661#[derive(Debug, Copy, Clone)]
18662pub struct SAIInterfaceLibrary {
18663 #[doc = " This function is called right after the library is dynamically loaded.\n It can be used to initialize variables and to check or prepare\n the environment (os, engine, filesystem, ...).\n @see releaseStatic()\n\n [optional]\n An AI Interface not exporting this function is still valid.\n\n @param\tstaticGlobalData contains global data about the engine and the\n environment; is guaranteed to be valid till\n releaseStatic() is called.\n @return 0: ok\n != 0: error"]
18664 pub initStatic: ::std::option::Option<
18665 unsafe extern "C" fn(
18666 interfaceId: ::std::os::raw::c_int,
18667 arg1: *const SAIInterfaceCallback,
18668 ) -> ::std::os::raw::c_int,
18669 >,
18670 #[doc = " This function is called right right before the library is unloaded.\n It can be used to deinitialize variables and to cleanup the environment,\n for example the filesystem.\n\n See also initStatic().\n\n [optional]\n An AI Interface not exporting this function is still valid.\n\n @return 0: ok\n != 0: error"]
18671 pub releaseStatic: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
18672 #[doc = " Loads the specified Skirmish AI.\n\n @return 0: ok\n != 0: error"]
18673 pub loadSkirmishAILibrary: ::std::option::Option<
18674 unsafe extern "C" fn(
18675 shortName: *const ::std::os::raw::c_char,
18676 version: *const ::std::os::raw::c_char,
18677 ) -> *const SSkirmishAILibrary,
18678 >,
18679 #[doc = " Unloads the specified Skirmish AI.\n\n @return 0: ok\n != 0: error"]
18680 pub unloadSkirmishAILibrary: ::std::option::Option<
18681 unsafe extern "C" fn(
18682 shortName: *const ::std::os::raw::c_char,
18683 version: *const ::std::os::raw::c_char,
18684 ) -> ::std::os::raw::c_int,
18685 >,
18686 #[doc = " Unloads all Skirmish AI libraries currently loaded by this interface.\n\n @return 0: ok\n != 0: error"]
18687 pub unloadAllSkirmishAILibraries:
18688 ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
18689 #[doc = " Dynamic Skirmish AI library lookup system entry method.\n This system works as an alternative/addition to AIInfo.lua and\n AIOptions.lua files.\n\n [optional]\n An AI Interface not exporting this function is still valid.\n\n @see AI_INTERFACE_PROPERTY_SUPPORTS_LOOKUP\n @see listSkirmishAILibraryInfos\n @see listSkirmishAILibraryOptions\n @return the number of Skirmish AI libraries available through this\n interface through the dynamic lookup system"]
18690 pub listSkirmishAILibraries: ::std::option::Option<
18691 unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
18692 >,
18693 #[doc = " Returns the number of info key-value pairs for a certain Skirmish AI\n library.\n\n [optional]\n An AI Interface not exporting this function is still valid.\n\n @see listSkirmishAILibraries\n @see listSkirmishAILibraryInfoKey\n @see listSkirmishAILibraryInfoValue\n @return the number of info key-value pairs for a certain Skirmish AI\n library."]
18694 pub listSkirmishAILibraryInfos: ::std::option::Option<
18695 unsafe extern "C" fn(
18696 interfaceId: ::std::os::raw::c_int,
18697 aiIndex: ::std::os::raw::c_int,
18698 ) -> ::std::os::raw::c_int,
18699 >,
18700 #[doc = " Returns the key of an info item for a certain Skirmish AI library.\n\n [optional]\n An AI Interface not exporting this function is still valid.\n\n @see listSkirmishAILibraryInfos\n @see listSkirmishAILibraryInfoValue\n @return the key of an info item for a certain Skirmish AI library."]
18701 pub listSkirmishAILibraryInfoKey: ::std::option::Option<
18702 unsafe extern "C" fn(
18703 interfaceId: ::std::os::raw::c_int,
18704 aiIndex: ::std::os::raw::c_int,
18705 infoIndex: ::std::os::raw::c_int,
18706 ) -> *const ::std::os::raw::c_char,
18707 >,
18708 #[doc = " Returns the value of an info item for a certain Skirmish AI library.\n\n [optional]\n An AI Interface not exporting this function is still valid.\n\n @see listSkirmishAILibraryInfos\n @see listSkirmishAILibraryInfoKey\n @return the value of an info item for a certain Skirmish AI library."]
18709 pub listSkirmishAILibraryInfoValue: ::std::option::Option<
18710 unsafe extern "C" fn(
18711 interfaceId: ::std::os::raw::c_int,
18712 aiIndex: ::std::os::raw::c_int,
18713 infoIndex: ::std::os::raw::c_int,
18714 ) -> *const ::std::os::raw::c_char,
18715 >,
18716 #[doc = " Returns a string consisting of Lua code, that returns an options table.\n\n [optional]\n An AI Interface not exporting this function is still valid.\n\n @see listSkirmishAILibraries\n @return NULL for no options, otherwise\n a string consisting of Lua code that returns an options table"]
18717 pub listSkirmishAILibraryOptions: ::std::option::Option<
18718 unsafe extern "C" fn(
18719 interfaceId: ::std::os::raw::c_int,
18720 aiIndex: ::std::os::raw::c_int,
18721 ) -> *const ::std::os::raw::c_char,
18722 >,
18723}
18724#[test]
18725fn bindgen_test_layout_SAIInterfaceLibrary() {
18726 const UNINIT: ::std::mem::MaybeUninit<SAIInterfaceLibrary> = ::std::mem::MaybeUninit::uninit();
18727 let ptr = UNINIT.as_ptr();
18728 assert_eq!(
18729 ::std::mem::size_of::<SAIInterfaceLibrary>(),
18730 80usize,
18731 concat!("Size of: ", stringify!(SAIInterfaceLibrary))
18732 );
18733 assert_eq!(
18734 ::std::mem::align_of::<SAIInterfaceLibrary>(),
18735 8usize,
18736 concat!("Alignment of ", stringify!(SAIInterfaceLibrary))
18737 );
18738 assert_eq!(
18739 unsafe { ::std::ptr::addr_of!((*ptr).initStatic) as usize - ptr as usize },
18740 0usize,
18741 concat!(
18742 "Offset of field: ",
18743 stringify!(SAIInterfaceLibrary),
18744 "::",
18745 stringify!(initStatic)
18746 )
18747 );
18748 assert_eq!(
18749 unsafe { ::std::ptr::addr_of!((*ptr).releaseStatic) as usize - ptr as usize },
18750 8usize,
18751 concat!(
18752 "Offset of field: ",
18753 stringify!(SAIInterfaceLibrary),
18754 "::",
18755 stringify!(releaseStatic)
18756 )
18757 );
18758 assert_eq!(
18759 unsafe { ::std::ptr::addr_of!((*ptr).loadSkirmishAILibrary) as usize - ptr as usize },
18760 16usize,
18761 concat!(
18762 "Offset of field: ",
18763 stringify!(SAIInterfaceLibrary),
18764 "::",
18765 stringify!(loadSkirmishAILibrary)
18766 )
18767 );
18768 assert_eq!(
18769 unsafe { ::std::ptr::addr_of!((*ptr).unloadSkirmishAILibrary) as usize - ptr as usize },
18770 24usize,
18771 concat!(
18772 "Offset of field: ",
18773 stringify!(SAIInterfaceLibrary),
18774 "::",
18775 stringify!(unloadSkirmishAILibrary)
18776 )
18777 );
18778 assert_eq!(
18779 unsafe {
18780 ::std::ptr::addr_of!((*ptr).unloadAllSkirmishAILibraries) as usize - ptr as usize
18781 },
18782 32usize,
18783 concat!(
18784 "Offset of field: ",
18785 stringify!(SAIInterfaceLibrary),
18786 "::",
18787 stringify!(unloadAllSkirmishAILibraries)
18788 )
18789 );
18790 assert_eq!(
18791 unsafe { ::std::ptr::addr_of!((*ptr).listSkirmishAILibraries) as usize - ptr as usize },
18792 40usize,
18793 concat!(
18794 "Offset of field: ",
18795 stringify!(SAIInterfaceLibrary),
18796 "::",
18797 stringify!(listSkirmishAILibraries)
18798 )
18799 );
18800 assert_eq!(
18801 unsafe { ::std::ptr::addr_of!((*ptr).listSkirmishAILibraryInfos) as usize - ptr as usize },
18802 48usize,
18803 concat!(
18804 "Offset of field: ",
18805 stringify!(SAIInterfaceLibrary),
18806 "::",
18807 stringify!(listSkirmishAILibraryInfos)
18808 )
18809 );
18810 assert_eq!(
18811 unsafe {
18812 ::std::ptr::addr_of!((*ptr).listSkirmishAILibraryInfoKey) as usize - ptr as usize
18813 },
18814 56usize,
18815 concat!(
18816 "Offset of field: ",
18817 stringify!(SAIInterfaceLibrary),
18818 "::",
18819 stringify!(listSkirmishAILibraryInfoKey)
18820 )
18821 );
18822 assert_eq!(
18823 unsafe {
18824 ::std::ptr::addr_of!((*ptr).listSkirmishAILibraryInfoValue) as usize - ptr as usize
18825 },
18826 64usize,
18827 concat!(
18828 "Offset of field: ",
18829 stringify!(SAIInterfaceLibrary),
18830 "::",
18831 stringify!(listSkirmishAILibraryInfoValue)
18832 )
18833 );
18834 assert_eq!(
18835 unsafe {
18836 ::std::ptr::addr_of!((*ptr).listSkirmishAILibraryOptions) as usize - ptr as usize
18837 },
18838 72usize,
18839 concat!(
18840 "Offset of field: ",
18841 stringify!(SAIInterfaceLibrary),
18842 "::",
18843 stringify!(listSkirmishAILibraryOptions)
18844 )
18845 );
18846}
18847#[doc = " @brief Skirmish Artificial Intelligence library interface\n\n This is the interface between the engine and an implementation of a\n Skirmish AI.\n The engine will address AIs through this interface, but AIs will\n not actually implement it. It is the job of the AI Interface library,\n to make sure the engine can address AI implementations through\n instances of this struct.\n\n An example of loading a C AI through the C AI Interface:\n The C AI exports functions fitting the function pointers in this\n struct. When the engine requests C-AI-X on the C AI Interface,\n the interface loads the shared library, eg C-AI-X.dll, creates\n a new instance of this struct, and sets the member function\n pointers to the addresses of the fitting functions exported\n by the shared AI library. This struct then goes to the engine\n which calls the functions appropriately."]
18848#[repr(C)]
18849#[derive(Debug, Copy, Clone)]
18850pub struct SSkirmishAILibrary {
18851 #[doc = " Level of Support for a specific engine version and AI interface version.\n\n [optional]\n An AI not exporting this function is still valid.\n\n @param aiShortName this is indisposable for non-native interfaces,\n as they need a means of redirecting from\n one wrapper function to the respective non-native\n libraries\n @param aiVersion see aiShortName\n @return the level of support for the supplied engine and AI interface\n versions"]
18852 pub getLevelOfSupportFor: ::std::option::Option<
18853 unsafe extern "C" fn(
18854 aiShortName: *const ::std::os::raw::c_char,
18855 aiVersion: *const ::std::os::raw::c_char,
18856 engineVersionString: *const ::std::os::raw::c_char,
18857 engineVersionNumber: ::std::os::raw::c_int,
18858 aiInterfaceShortName: *const ::std::os::raw::c_char,
18859 aiInterfaceVersion: *const ::std::os::raw::c_char,
18860 ) -> LevelOfSupport,
18861 >,
18862 #[doc = " This function is called, when an AI instance shall be created\n for skirmishAIId. It is called before the first call to handleEvent()\n for that AI instance.\n\n A typical series of events (engine point of view, conceptual):\n [code]\n KAIK.init(1)\n KAIK.handleEvent(EVENT_INIT, InitEvent(1))\n RAI.init(2)\n RAI.handleEvent(EVENT_INIT, InitEvent(2))\n KAIK.handleEvent(EVENT_UPDATE, UpdateEvent(0))\n RAI.handleEvent(EVENT_UPDATE, UpdateEvent(0))\n KAIK.handleEvent(EVENT_UPDATE, UpdateEvent(1))\n RAI.handleEvent(EVENT_UPDATE, UpdateEvent(1))\n ...\n [/code]\n\n This method exists only for performance reasons, which come into play on\n OO languages. For non-OO language AIs, this method can be ignored,\n because using only EVENT_INIT will cause no performance decrease.\n\n [optional]\n An AI not exporting this function is still valid.\n\n @param skirmishAIId the ID this library shall create an instance for\n @param callback the callback for this Skirmish AI\n @return 0: ok\n != 0: error"]
18863 pub init: ::std::option::Option<
18864 unsafe extern "C" fn(
18865 skirmishAIId: ::std::os::raw::c_int,
18866 callback: *const SSkirmishAICallback,
18867 ) -> ::std::os::raw::c_int,
18868 >,
18869 #[doc = " This function is called, when an AI instance shall be deleted.\n It is called after the last call to handleEvent() for that AI instance.\n\n A typical series of events (engine point of view, conceptual):\n [code]\n ...\n KAIK.handleEvent(EVENT_UPDATE, UpdateEvent(654321))\n RAI.handleEvent(EVENT_UPDATE, UpdateEvent(654321))\n KAIK.handleEvent(EVENT_UPDATE, UpdateEvent(654322))\n RAI.handleEvent(EVENT_UPDATE, UpdateEvent(654322))\n KAIK.handleEvent(EVENT_RELEASE, ReleaseEvent(1))\n KAIK.release(1)\n RAI.handleEvent(EVENT_RELEASE, ReleaseEvent(2))\n RAI.release(2)\n [/code]\n\n This method exists only for performance reasons, which come into play on\n OO languages. For non-OO language AIs, this method can be ignored,\n because using only EVENT_RELEASE will cause no performance decrease.\n\n [optional]\n An AI not exporting this function is still valid.\n\n @param skirmishAIId the ID the library shall release the instance of\n @return 0: ok\n != 0: error"]
18870 pub release: ::std::option::Option<
18871 unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
18872 >,
18873 #[doc = " Through this function, the AI receives events from the engine.\n For details about events that may arrive here, see file AISEvents.h.\n\n @param skirmishAIId the AI instance the event is addressed to\n//\t * @param fromId the id of the AI the event comes from,\n//\t * or FROM_ENGINE_ID if it comes from the engine\n//\t * @param eventId used on asynchronous events. this allows the AI to\n//\t * identify a possible result message, which was sent\n//\t * with the same eventId\n @param topicId unique identifier of a message\n (see EVENT_* defines in AISEvents.h)\n @param data an topic specific struct, which contains the data\n associatedwith the event\n (see S*Event structs in AISEvents.h)\n @return 0: ok\n != 0: error"]
18874 pub handleEvent: ::std::option::Option<
18875 unsafe extern "C" fn(
18876 skirmishAIId: ::std::os::raw::c_int,
18877 topicId: ::std::os::raw::c_int,
18878 data: *const ::std::os::raw::c_void,
18879 ) -> ::std::os::raw::c_int,
18880 >,
18881}
18882#[test]
18883fn bindgen_test_layout_SSkirmishAILibrary() {
18884 const UNINIT: ::std::mem::MaybeUninit<SSkirmishAILibrary> = ::std::mem::MaybeUninit::uninit();
18885 let ptr = UNINIT.as_ptr();
18886 assert_eq!(
18887 ::std::mem::size_of::<SSkirmishAILibrary>(),
18888 32usize,
18889 concat!("Size of: ", stringify!(SSkirmishAILibrary))
18890 );
18891 assert_eq!(
18892 ::std::mem::align_of::<SSkirmishAILibrary>(),
18893 8usize,
18894 concat!("Alignment of ", stringify!(SSkirmishAILibrary))
18895 );
18896 assert_eq!(
18897 unsafe { ::std::ptr::addr_of!((*ptr).getLevelOfSupportFor) as usize - ptr as usize },
18898 0usize,
18899 concat!(
18900 "Offset of field: ",
18901 stringify!(SSkirmishAILibrary),
18902 "::",
18903 stringify!(getLevelOfSupportFor)
18904 )
18905 );
18906 assert_eq!(
18907 unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
18908 8usize,
18909 concat!(
18910 "Offset of field: ",
18911 stringify!(SSkirmishAILibrary),
18912 "::",
18913 stringify!(init)
18914 )
18915 );
18916 assert_eq!(
18917 unsafe { ::std::ptr::addr_of!((*ptr).release) as usize - ptr as usize },
18918 16usize,
18919 concat!(
18920 "Offset of field: ",
18921 stringify!(SSkirmishAILibrary),
18922 "::",
18923 stringify!(release)
18924 )
18925 );
18926 assert_eq!(
18927 unsafe { ::std::ptr::addr_of!((*ptr).handleEvent) as usize - ptr as usize },
18928 24usize,
18929 concat!(
18930 "Offset of field: ",
18931 stringify!(SSkirmishAILibrary),
18932 "::",
18933 stringify!(handleEvent)
18934 )
18935 );
18936}
18937#[repr(C)]
18938#[derive(Debug, Copy, Clone)]
18939pub struct __crt_locale_data {
18940 pub _address: u8,
18941}
18942#[repr(C)]
18943#[derive(Debug, Copy, Clone)]
18944pub struct __crt_multibyte_data {
18945 pub _address: u8,
18946}
18947pub type __builtin_va_list = *mut ::std::os::raw::c_char;