pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
pub const _SAL_VERSION: u32 = 20;
pub const __SAL_H_VERSION: u32 = 180000000;
pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
pub const _CRT_PACKING: u32 = 8;
pub const _HAS_EXCEPTIONS: u32 = 1;
pub const _STL_LANG: u32 = 0;
pub const _HAS_CXX17: u32 = 0;
pub const _HAS_CXX20: u32 = 0;
pub const _HAS_CXX23: u32 = 0;
pub const _HAS_NODISCARD: u32 = 0;
pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
pub const _ARGMAX: u32 = 100;
pub const _CRT_INT_MAX: u32 = 2147483647;
pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
pub const _CRT_HAS_CXX17: u32 = 0;
pub const _CRT_HAS_C11: u32 = 1;
pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1;
pub const __STDC_SECURE_LIB__: u32 = 200411;
pub const __GOT_SECURE_LIB__: u32 = 200411;
pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
pub const _CRT_INTERNAL_STDIO_SYMBOL_PREFIX: &[u8; 1] = b"\0";
pub const _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION: u32 = 1;
pub const _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR: u32 = 2;
pub const _CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS: u32 = 4;
pub const _CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 8;
pub const _CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS: u32 = 16;
pub const _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING: u32 = 32;
pub const _CRT_INTERNAL_SCANF_SECURECRT: u32 = 1;
pub const _CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS: u32 = 2;
pub const _CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY: u32 = 4;
pub const BUFSIZ: u32 = 512;
pub const _NSTREAM_: u32 = 512;
pub const _IOB_ENTRIES: u32 = 3;
pub const EOF: i32 = -1;
pub const _IOFBF: u32 = 0;
pub const _IOLBF: u32 = 64;
pub const _IONBF: u32 = 4;
pub const L_tmpnam: u32 = 260;
pub const L_tmpnam_s: u32 = 260;
pub const SEEK_CUR: u32 = 1;
pub const SEEK_END: u32 = 2;
pub const SEEK_SET: u32 = 0;
pub const FILENAME_MAX: u32 = 260;
pub const FOPEN_MAX: u32 = 20;
pub const _SYS_OPEN: u32 = 20;
pub const TMP_MAX: u32 = 2147483647;
pub const TMP_MAX_S: u32 = 2147483647;
pub const _TMP_MAX_S: u32 = 2147483647;
pub const SYS_OPEN: u32 = 20;
pub const __bool_true_false_are_defined: u32 = 1;
pub const false_: u32 = 0;
pub const true_: u32 = 1;
pub const __is_x86_arch__: u32 = 1;
pub const __archBits__: u32 = 64;
pub const __SIZE_T_PRINTF_FORMAT__: &[u8; 5] = b"%llu\0";
pub const _STPF_: &[u8; 5] = b"%llu\0";
pub const sPS_WIN32: &[u8; 2] = b"\\\0";
pub const sPS_POSIX: &[u8; 2] = b"/\0";
pub const sPS: &[u8; 2] = b"\\\0";
pub const cPS_WIN32: u8 = 92u8;
pub const cPS_POSIX: u8 = 47u8;
pub const cPS: u8 = 92u8;
pub const sPD_WIN32: &[u8; 2] = b";\0";
pub const sPD_POSIX: &[u8; 2] = b":\0";
pub const sPD: &[u8; 2] = b";\0";
pub const cPD_WIN32: u8 = 59u8;
pub const cPD_POSIX: u8 = 58u8;
pub const cPD: u8 = 59u8;
pub const ENGINE_VERSION_NUMBER: u32 = 1000;
pub const AIINTERFACE_ABI_VERSION_WARNING: u32 = 0;
pub const MAX_SKIRMISH_AIS: u32 = 255;
pub const AI_INTERFACES_DATA_DIR: &[u8; 14] = b"AI/Interfaces\0";
pub const SKIRMISH_AI_DATA_DIR: &[u8; 12] = b"AI/Skirmish\0";
pub const MAX_RESPONSE_SIZE: u32 = 10240;
pub const COMMAND_TO_ID_ENGINE: i32 = -1;
pub const UNIT_COMMAND_BUILD_NO_FACING: i32 = -1;
pub const AI_INTERFACE_PROPERTY_DATA_DIR: &[u8; 8] = b"dataDir\0";
pub const AI_INTERFACE_PROPERTY_DATA_DIR_COMMON: &[u8; 14] = b"dataDirCommon\0";
pub const AI_INTERFACE_PROPERTY_SHORT_NAME: &[u8; 10] = b"shortName\0";
pub const AI_INTERFACE_PROPERTY_VERSION: &[u8; 8] = b"version\0";
pub const AI_INTERFACE_PROPERTY_NAME: &[u8; 5] = b"name\0";
pub const AI_INTERFACE_PROPERTY_DESCRIPTION: &[u8; 12] = b"description\0";
pub const AI_INTERFACE_PROPERTY_URL: &[u8; 4] = b"url\0";
pub const AI_INTERFACE_PROPERTY_SUPPORTED_LANGUAGES: &[u8; 19] = b"supportedLanguages\0";
pub const AI_INTERFACE_PROPERTY_ENGINE_VERSION: &[u8; 14] = b"engineVersion\0";
pub const AI_INTERFACE_PROPERTY_SUPPORTS_LOOKUP: &[u8; 15] = b"supportsLookup\0";
pub const SKIRMISH_AI_PROPERTY_DATA_DIR: &[u8; 8] = b"dataDir\0";
pub const SKIRMISH_AI_PROPERTY_DATA_DIR_COMMON: &[u8; 14] = b"dataDirCommon\0";
pub const SKIRMISH_AI_PROPERTY_SHORT_NAME: &[u8; 10] = b"shortName\0";
pub const SKIRMISH_AI_PROPERTY_VERSION: &[u8; 8] = b"version\0";
pub const SKIRMISH_AI_PROPERTY_NAME: &[u8; 5] = b"name\0";
pub const SKIRMISH_AI_PROPERTY_DESCRIPTION: &[u8; 12] = b"description\0";
pub const SKIRMISH_AI_PROPERTY_URL: &[u8; 4] = b"url\0";
pub const SKIRMISH_AI_PROPERTY_LOAD_SUPPORTED: &[u8; 14] = b"loadSupported\0";
pub const SKIRMISH_AI_PROPERTY_ENGINE_VERSION: &[u8; 14] = b"engineVersion\0";
pub const SKIRMISH_AI_PROPERTY_INTERFACE_SHORT_NAME: &[u8; 19] = b"interfaceShortName\0";
pub const SKIRMISH_AI_PROPERTY_INTERFACE_VERSION: &[u8; 17] = b"interfaceVersion\0";
pub type va_list = *mut ::std::os::raw::c_char;
extern "C" {
pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
}
pub type __vcrt_bool = bool;
pub type wchar_t = ::std::os::raw::c_ushort;
extern "C" {
pub fn __security_init_cookie();
}
extern "C" {
pub fn __security_check_cookie(_StackCookie: usize);
}
extern "C" {
pub fn __report_gsfailure(_StackCookie: usize) -> !;
}
extern "C" {
pub static mut __security_cookie: usize;
}
pub type __crt_bool = bool;
extern "C" {
pub fn _invalid_parameter_noinfo();
}
extern "C" {
pub fn _invalid_parameter_noinfo_noreturn() -> !;
}
extern "C" {
pub fn _invoke_watson(
_Expression: *const wchar_t,
_FunctionName: *const wchar_t,
_FileName: *const wchar_t,
_LineNo: ::std::os::raw::c_uint,
_Reserved: usize,
) -> !;
}
pub type errno_t = ::std::os::raw::c_int;
pub type wint_t = ::std::os::raw::c_ushort;
pub type wctype_t = ::std::os::raw::c_ushort;
pub type __time32_t = ::std::os::raw::c_long;
pub type __time64_t = ::std::os::raw::c_longlong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __crt_locale_data_public {
pub _locale_pctype: *const ::std::os::raw::c_ushort,
pub _locale_mb_cur_max: ::std::os::raw::c_int,
pub _locale_lc_codepage: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___crt_locale_data_public() {
const UNINIT: ::std::mem::MaybeUninit<__crt_locale_data_public> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__crt_locale_data_public>(),
16usize,
concat!("Size of: ", stringify!(__crt_locale_data_public))
);
assert_eq!(
::std::mem::align_of::<__crt_locale_data_public>(),
8usize,
concat!("Alignment of ", stringify!(__crt_locale_data_public))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._locale_pctype) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__crt_locale_data_public),
"::",
stringify!(_locale_pctype)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._locale_mb_cur_max) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__crt_locale_data_public),
"::",
stringify!(_locale_mb_cur_max)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._locale_lc_codepage) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(__crt_locale_data_public),
"::",
stringify!(_locale_lc_codepage)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __crt_locale_pointers {
pub locinfo: *mut __crt_locale_data,
pub mbcinfo: *mut __crt_multibyte_data,
}
#[test]
fn bindgen_test_layout___crt_locale_pointers() {
const UNINIT: ::std::mem::MaybeUninit<__crt_locale_pointers> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__crt_locale_pointers>(),
16usize,
concat!("Size of: ", stringify!(__crt_locale_pointers))
);
assert_eq!(
::std::mem::align_of::<__crt_locale_pointers>(),
8usize,
concat!("Alignment of ", stringify!(__crt_locale_pointers))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).locinfo) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__crt_locale_pointers),
"::",
stringify!(locinfo)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).mbcinfo) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__crt_locale_pointers),
"::",
stringify!(mbcinfo)
)
);
}
pub type _locale_t = *mut __crt_locale_pointers;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _Mbstatet {
pub _Wchar: ::std::os::raw::c_ulong,
pub _Byte: ::std::os::raw::c_ushort,
pub _State: ::std::os::raw::c_ushort,
}
#[test]
fn bindgen_test_layout__Mbstatet() {
const UNINIT: ::std::mem::MaybeUninit<_Mbstatet> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_Mbstatet>(),
8usize,
concat!("Size of: ", stringify!(_Mbstatet))
);
assert_eq!(
::std::mem::align_of::<_Mbstatet>(),
4usize,
concat!("Alignment of ", stringify!(_Mbstatet))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._Wchar) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_Mbstatet),
"::",
stringify!(_Wchar)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._Byte) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(_Mbstatet),
"::",
stringify!(_Byte)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._State) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(_Mbstatet),
"::",
stringify!(_State)
)
);
}
pub type mbstate_t = _Mbstatet;
pub type time_t = __time64_t;
pub type rsize_t = usize;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _iobuf {
pub _Placeholder: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout__iobuf() {
const UNINIT: ::std::mem::MaybeUninit<_iobuf> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<_iobuf>(),
8usize,
concat!("Size of: ", stringify!(_iobuf))
);
assert_eq!(
::std::mem::align_of::<_iobuf>(),
8usize,
concat!("Alignment of ", stringify!(_iobuf))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr)._Placeholder) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(_iobuf),
"::",
stringify!(_Placeholder)
)
);
}
pub type FILE = _iobuf;
extern "C" {
pub fn __acrt_iob_func(_Ix: ::std::os::raw::c_uint) -> *mut FILE;
}
extern "C" {
pub fn fgetwc(_Stream: *mut FILE) -> wint_t;
}
extern "C" {
pub fn _fgetwchar() -> wint_t;
}
extern "C" {
pub fn fputwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
}
extern "C" {
pub fn _fputwchar(_Character: wchar_t) -> wint_t;
}
extern "C" {
pub fn getwc(_Stream: *mut FILE) -> wint_t;
}
extern "C" {
pub fn getwchar() -> wint_t;
}
extern "C" {
pub fn fgetws(
_Buffer: *mut wchar_t,
_BufferCount: ::std::os::raw::c_int,
_Stream: *mut FILE,
) -> *mut wchar_t;
}
extern "C" {
pub fn fputws(_Buffer: *const wchar_t, _Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _getws_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> *mut wchar_t;
}
extern "C" {
pub fn putwc(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
}
extern "C" {
pub fn putwchar(_Character: wchar_t) -> wint_t;
}
extern "C" {
pub fn _putws(_Buffer: *const wchar_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ungetwc(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
}
extern "C" {
pub fn _wfdopen(_FileHandle: ::std::os::raw::c_int, _Mode: *const wchar_t) -> *mut FILE;
}
extern "C" {
pub fn _wfopen(_FileName: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
}
extern "C" {
pub fn _wfopen_s(
_Stream: *mut *mut FILE,
_FileName: *const wchar_t,
_Mode: *const wchar_t,
) -> errno_t;
}
extern "C" {
pub fn _wfreopen(
_FileName: *const wchar_t,
_Mode: *const wchar_t,
_OldStream: *mut FILE,
) -> *mut FILE;
}
extern "C" {
pub fn _wfreopen_s(
_Stream: *mut *mut FILE,
_FileName: *const wchar_t,
_Mode: *const wchar_t,
_OldStream: *mut FILE,
) -> errno_t;
}
extern "C" {
pub fn _wfsopen(
_FileName: *const wchar_t,
_Mode: *const wchar_t,
_ShFlag: ::std::os::raw::c_int,
) -> *mut FILE;
}
extern "C" {
pub fn _wperror(_ErrorMessage: *const wchar_t);
}
extern "C" {
pub fn _wpopen(_Command: *const wchar_t, _Mode: *const wchar_t) -> *mut FILE;
}
extern "C" {
pub fn _wremove(_FileName: *const wchar_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _wtempnam(_Directory: *const wchar_t, _FilePrefix: *const wchar_t) -> *mut wchar_t;
}
extern "C" {
pub fn _wtmpnam_s(_Buffer: *mut wchar_t, _BufferCount: usize) -> errno_t;
}
extern "C" {
pub fn _wtmpnam(_Buffer: *mut wchar_t) -> *mut wchar_t;
}
extern "C" {
pub fn _fgetwc_nolock(_Stream: *mut FILE) -> wint_t;
}
extern "C" {
pub fn _fputwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
}
extern "C" {
pub fn _getwc_nolock(_Stream: *mut FILE) -> wint_t;
}
extern "C" {
pub fn _putwc_nolock(_Character: wchar_t, _Stream: *mut FILE) -> wint_t;
}
extern "C" {
pub fn _ungetwc_nolock(_Character: wint_t, _Stream: *mut FILE) -> wint_t;
}
extern "C" {
pub fn __stdio_common_vfwprintf(
_Options: ::std::os::raw::c_ulonglong,
_Stream: *mut FILE,
_Format: *const wchar_t,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vfwprintf_s(
_Options: ::std::os::raw::c_ulonglong,
_Stream: *mut FILE,
_Format: *const wchar_t,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vfwprintf_p(
_Options: ::std::os::raw::c_ulonglong,
_Stream: *mut FILE,
_Format: *const wchar_t,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vfwscanf(
_Options: ::std::os::raw::c_ulonglong,
_Stream: *mut FILE,
_Format: *const wchar_t,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vswprintf(
_Options: ::std::os::raw::c_ulonglong,
_Buffer: *mut wchar_t,
_BufferCount: usize,
_Format: *const wchar_t,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vswprintf_s(
_Options: ::std::os::raw::c_ulonglong,
_Buffer: *mut wchar_t,
_BufferCount: usize,
_Format: *const wchar_t,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vsnwprintf_s(
_Options: ::std::os::raw::c_ulonglong,
_Buffer: *mut wchar_t,
_BufferCount: usize,
_MaxCount: usize,
_Format: *const wchar_t,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vswprintf_p(
_Options: ::std::os::raw::c_ulonglong,
_Buffer: *mut wchar_t,
_BufferCount: usize,
_Format: *const wchar_t,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vswscanf(
_Options: ::std::os::raw::c_ulonglong,
_Buffer: *const wchar_t,
_BufferCount: usize,
_Format: *const wchar_t,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
pub type fpos_t = ::std::os::raw::c_longlong;
extern "C" {
pub fn _get_stream_buffer_pointers(
_Stream: *mut FILE,
_Base: *mut *mut *mut ::std::os::raw::c_char,
_Pointer: *mut *mut *mut ::std::os::raw::c_char,
_Count: *mut *mut ::std::os::raw::c_int,
) -> errno_t;
}
extern "C" {
pub fn clearerr_s(_Stream: *mut FILE) -> errno_t;
}
extern "C" {
pub fn fopen_s(
_Stream: *mut *mut FILE,
_FileName: *const ::std::os::raw::c_char,
_Mode: *const ::std::os::raw::c_char,
) -> errno_t;
}
extern "C" {
pub fn fread_s(
_Buffer: *mut ::std::os::raw::c_void,
_BufferSize: usize,
_ElementSize: usize,
_ElementCount: usize,
_Stream: *mut FILE,
) -> usize;
}
extern "C" {
pub fn freopen_s(
_Stream: *mut *mut FILE,
_FileName: *const ::std::os::raw::c_char,
_Mode: *const ::std::os::raw::c_char,
_OldStream: *mut FILE,
) -> errno_t;
}
extern "C" {
pub fn gets_s(
_Buffer: *mut ::std::os::raw::c_char,
_Size: rsize_t,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn tmpfile_s(_Stream: *mut *mut FILE) -> errno_t;
}
extern "C" {
pub fn tmpnam_s(_Buffer: *mut ::std::os::raw::c_char, _Size: rsize_t) -> errno_t;
}
extern "C" {
pub fn clearerr(_Stream: *mut FILE);
}
extern "C" {
pub fn fclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fcloseall() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fdopen(
_FileHandle: ::std::os::raw::c_int,
_Mode: *const ::std::os::raw::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn feof(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ferror(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fflush(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fgetc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fgetchar() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fgetpos(_Stream: *mut FILE, _Position: *mut fpos_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fgets(
_Buffer: *mut ::std::os::raw::c_char,
_MaxCount: ::std::os::raw::c_int,
_Stream: *mut FILE,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn _fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _flushall() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fopen(
_FileName: *const ::std::os::raw::c_char,
_Mode: *const ::std::os::raw::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn fputc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fputchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fputs(
_Buffer: *const ::std::os::raw::c_char,
_Stream: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fread(
_Buffer: *mut ::std::os::raw::c_void,
_ElementSize: ::std::os::raw::c_ulonglong,
_ElementCount: ::std::os::raw::c_ulonglong,
_Stream: *mut FILE,
) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
pub fn freopen(
_FileName: *const ::std::os::raw::c_char,
_Mode: *const ::std::os::raw::c_char,
_Stream: *mut FILE,
) -> *mut FILE;
}
extern "C" {
pub fn _fsopen(
_FileName: *const ::std::os::raw::c_char,
_Mode: *const ::std::os::raw::c_char,
_ShFlag: ::std::os::raw::c_int,
) -> *mut FILE;
}
extern "C" {
pub fn fsetpos(_Stream: *mut FILE, _Position: *const fpos_t) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fseek(
_Stream: *mut FILE,
_Offset: ::std::os::raw::c_long,
_Origin: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fseeki64(
_Stream: *mut FILE,
_Offset: ::std::os::raw::c_longlong,
_Origin: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn ftell(_Stream: *mut FILE) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn _ftelli64(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn fwrite(
_Buffer: *const ::std::os::raw::c_void,
_ElementSize: ::std::os::raw::c_ulonglong,
_ElementCount: ::std::os::raw::c_ulonglong,
_Stream: *mut FILE,
) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
pub fn getc(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getchar() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _getmaxstdio() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn perror(_ErrorMessage: *const ::std::os::raw::c_char);
}
extern "C" {
pub fn _pclose(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _popen(
_Command: *const ::std::os::raw::c_char,
_Mode: *const ::std::os::raw::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn putc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn putchar(_Character: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn puts(_Buffer: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _putw(_Word: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn remove(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn rename(
_OldFileName: *const ::std::os::raw::c_char,
_NewFileName: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn unlink(_FileName: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn rewind(_Stream: *mut FILE);
}
extern "C" {
pub fn _rmtmp() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn setbuf(_Stream: *mut FILE, _Buffer: *mut ::std::os::raw::c_char);
}
extern "C" {
pub fn _setmaxstdio(_Maximum: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn setvbuf(
_Stream: *mut FILE,
_Buffer: *mut ::std::os::raw::c_char,
_Mode: ::std::os::raw::c_int,
_Size: usize,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _tempnam(
_DirectoryName: *const ::std::os::raw::c_char,
_FilePrefix: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn tmpfile() -> *mut FILE;
}
extern "C" {
pub fn tmpnam(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn ungetc(_Character: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _lock_file(_Stream: *mut FILE);
}
extern "C" {
pub fn _unlock_file(_Stream: *mut FILE);
}
extern "C" {
pub fn _fclose_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fflush_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fgetc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fputc_nolock(
_Character: ::std::os::raw::c_int,
_Stream: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fread_nolock(
_Buffer: *mut ::std::os::raw::c_void,
_ElementSize: usize,
_ElementCount: usize,
_Stream: *mut FILE,
) -> usize;
}
extern "C" {
pub fn _fread_nolock_s(
_Buffer: *mut ::std::os::raw::c_void,
_BufferSize: usize,
_ElementSize: usize,
_ElementCount: usize,
_Stream: *mut FILE,
) -> usize;
}
extern "C" {
pub fn _fseek_nolock(
_Stream: *mut FILE,
_Offset: ::std::os::raw::c_long,
_Origin: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _fseeki64_nolock(
_Stream: *mut FILE,
_Offset: ::std::os::raw::c_longlong,
_Origin: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _ftell_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_long;
}
extern "C" {
pub fn _ftelli64_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_longlong;
}
extern "C" {
pub fn _fwrite_nolock(
_Buffer: *const ::std::os::raw::c_void,
_ElementSize: usize,
_ElementCount: usize,
_Stream: *mut FILE,
) -> usize;
}
extern "C" {
pub fn _getc_nolock(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _putc_nolock(
_Character: ::std::os::raw::c_int,
_Stream: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _ungetc_nolock(
_Character: ::std::os::raw::c_int,
_Stream: *mut FILE,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __p__commode() -> *mut ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vfprintf(
_Options: ::std::os::raw::c_ulonglong,
_Stream: *mut FILE,
_Format: *const ::std::os::raw::c_char,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vfprintf_s(
_Options: ::std::os::raw::c_ulonglong,
_Stream: *mut FILE,
_Format: *const ::std::os::raw::c_char,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vfprintf_p(
_Options: ::std::os::raw::c_ulonglong,
_Stream: *mut FILE,
_Format: *const ::std::os::raw::c_char,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _set_printf_count_output(_Value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn _get_printf_count_output() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vfscanf(
_Options: ::std::os::raw::c_ulonglong,
_Stream: *mut FILE,
_Format: *const ::std::os::raw::c_char,
_Locale: _locale_t,
_Arglist: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vsprintf(
_Options: ::std::os::raw::c_ulonglong,
_Buffer: *mut ::std::os::raw::c_char,
_BufferCount: usize,
_Format: *const ::std::os::raw::c_char,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vsprintf_s(
_Options: ::std::os::raw::c_ulonglong,
_Buffer: *mut ::std::os::raw::c_char,
_BufferCount: usize,
_Format: *const ::std::os::raw::c_char,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vsnprintf_s(
_Options: ::std::os::raw::c_ulonglong,
_Buffer: *mut ::std::os::raw::c_char,
_BufferCount: usize,
_MaxCount: usize,
_Format: *const ::std::os::raw::c_char,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vsprintf_p(
_Options: ::std::os::raw::c_ulonglong,
_Buffer: *mut ::std::os::raw::c_char,
_BufferCount: usize,
_Format: *const ::std::os::raw::c_char,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn __stdio_common_vsscanf(
_Options: ::std::os::raw::c_ulonglong,
_Buffer: *const ::std::os::raw::c_char,
_BufferCount: usize,
_Format: *const ::std::os::raw::c_char,
_Locale: _locale_t,
_ArgList: va_list,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn tempnam(
_Directory: *const ::std::os::raw::c_char,
_FilePrefix: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_char;
}
extern "C" {
pub fn fcloseall() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fdopen(
_FileHandle: ::std::os::raw::c_int,
_Format: *const ::std::os::raw::c_char,
) -> *mut FILE;
}
extern "C" {
pub fn fgetchar() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fileno(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn flushall() -> ::std::os::raw::c_int;
}
extern "C" {
pub fn fputchar(_Ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn getw(_Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn putw(_Ch: ::std::os::raw::c_int, _Stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn rmtmp() -> ::std::os::raw::c_int;
}
pub const CommandTopic_COMMAND_NULL: CommandTopic = 0;
pub const CommandTopic_COMMAND_DRAWER_POINT_ADD: CommandTopic = 1;
pub const CommandTopic_COMMAND_DRAWER_LINE_ADD: CommandTopic = 2;
pub const CommandTopic_COMMAND_DRAWER_POINT_REMOVE: CommandTopic = 3;
pub const CommandTopic_COMMAND_SEND_START_POS: CommandTopic = 4;
pub const CommandTopic_COMMAND_CHEATS_SET_MY_INCOME_MULTIPLIER: CommandTopic = 5;
pub const CommandTopic_COMMAND_SEND_TEXT_MESSAGE: CommandTopic = 6;
pub const CommandTopic_COMMAND_SET_LAST_POS_MESSAGE: CommandTopic = 7;
pub const CommandTopic_COMMAND_SEND_RESOURCES: CommandTopic = 8;
pub const CommandTopic_COMMAND_SEND_UNITS: CommandTopic = 9;
pub const CommandTopic_COMMAND_UNUSED_0: CommandTopic = 10;
pub const CommandTopic_COMMAND_UNUSED_1: CommandTopic = 11;
pub const CommandTopic_COMMAND_GROUP_CREATE: CommandTopic = 12;
pub const CommandTopic_COMMAND_GROUP_ERASE: CommandTopic = 13;
pub const CommandTopic_COMMAND_GROUP_ADD_UNIT: CommandTopic = 14;
pub const CommandTopic_COMMAND_GROUP_REMOVE_UNIT: CommandTopic = 15;
pub const CommandTopic_COMMAND_PATH_INIT: CommandTopic = 16;
pub const CommandTopic_COMMAND_PATH_GET_APPROXIMATE_LENGTH: CommandTopic = 17;
pub const CommandTopic_COMMAND_PATH_GET_NEXT_WAYPOINT: CommandTopic = 18;
pub const CommandTopic_COMMAND_PATH_FREE: CommandTopic = 19;
pub const CommandTopic_COMMAND_CHEATS_GIVE_ME_RESOURCE: CommandTopic = 20;
pub const CommandTopic_COMMAND_CALL_LUA_RULES: CommandTopic = 21;
pub const CommandTopic_COMMAND_DRAWER_ADD_NOTIFICATION: CommandTopic = 22;
pub const CommandTopic_COMMAND_DRAWER_DRAW_UNIT: CommandTopic = 23;
pub const CommandTopic_COMMAND_DRAWER_PATH_START: CommandTopic = 24;
pub const CommandTopic_COMMAND_DRAWER_PATH_FINISH: CommandTopic = 25;
pub const CommandTopic_COMMAND_DRAWER_PATH_DRAW_LINE: CommandTopic = 26;
pub const CommandTopic_COMMAND_DRAWER_PATH_DRAW_LINE_AND_ICON: CommandTopic = 27;
pub const CommandTopic_COMMAND_DRAWER_PATH_DRAW_ICON_AT_LAST_POS: CommandTopic = 28;
pub const CommandTopic_COMMAND_DRAWER_PATH_BREAK: CommandTopic = 29;
pub const CommandTopic_COMMAND_DRAWER_PATH_RESTART: CommandTopic = 30;
pub const CommandTopic_COMMAND_DRAWER_FIGURE_CREATE_SPLINE: CommandTopic = 31;
pub const CommandTopic_COMMAND_DRAWER_FIGURE_CREATE_LINE: CommandTopic = 32;
pub const CommandTopic_COMMAND_DRAWER_FIGURE_SET_COLOR: CommandTopic = 33;
pub const CommandTopic_COMMAND_DRAWER_FIGURE_DELETE: CommandTopic = 34;
pub const CommandTopic_COMMAND_UNIT_BUILD: CommandTopic = 35;
pub const CommandTopic_COMMAND_UNIT_STOP: CommandTopic = 36;
pub const CommandTopic_COMMAND_UNIT_WAIT: CommandTopic = 37;
pub const CommandTopic_COMMAND_UNIT_WAIT_TIME: CommandTopic = 38;
pub const CommandTopic_COMMAND_UNIT_WAIT_DEATH: CommandTopic = 39;
pub const CommandTopic_COMMAND_UNIT_WAIT_SQUAD: CommandTopic = 40;
pub const CommandTopic_COMMAND_UNIT_WAIT_GATHER: CommandTopic = 41;
pub const CommandTopic_COMMAND_UNIT_MOVE: CommandTopic = 42;
pub const CommandTopic_COMMAND_UNIT_PATROL: CommandTopic = 43;
pub const CommandTopic_COMMAND_UNIT_FIGHT: CommandTopic = 44;
pub const CommandTopic_COMMAND_UNIT_ATTACK: CommandTopic = 45;
pub const CommandTopic_COMMAND_UNIT_ATTACK_AREA: CommandTopic = 46;
pub const CommandTopic_COMMAND_UNIT_GUARD: CommandTopic = 47;
pub const CommandTopic_COMMAND_UNIT_AI_SELECT: CommandTopic = 48;
pub const CommandTopic_COMMAND_UNIT_GROUP_ADD: CommandTopic = 49;
pub const CommandTopic_COMMAND_UNIT_GROUP_CLEAR: CommandTopic = 50;
pub const CommandTopic_COMMAND_UNIT_REPAIR: CommandTopic = 51;
pub const CommandTopic_COMMAND_UNIT_SET_FIRE_STATE: CommandTopic = 52;
pub const CommandTopic_COMMAND_UNIT_SET_MOVE_STATE: CommandTopic = 53;
pub const CommandTopic_COMMAND_UNIT_SET_BASE: CommandTopic = 54;
pub const CommandTopic_COMMAND_UNIT_SELF_DESTROY: CommandTopic = 55;
pub const CommandTopic_COMMAND_UNIT_SET_WANTED_MAX_SPEED: CommandTopic = 56;
pub const CommandTopic_COMMAND_UNIT_LOAD_UNITS: CommandTopic = 57;
pub const CommandTopic_COMMAND_UNIT_LOAD_UNITS_AREA: CommandTopic = 58;
pub const CommandTopic_COMMAND_UNIT_LOAD_ONTO: CommandTopic = 59;
pub const CommandTopic_COMMAND_UNIT_UNLOAD_UNITS_AREA: CommandTopic = 60;
pub const CommandTopic_COMMAND_UNIT_UNLOAD_UNIT: CommandTopic = 61;
pub const CommandTopic_COMMAND_UNIT_SET_ON_OFF: CommandTopic = 62;
pub const CommandTopic_COMMAND_UNIT_RECLAIM_UNIT: CommandTopic = 63;
pub const CommandTopic_COMMAND_UNIT_RECLAIM_AREA: CommandTopic = 64;
pub const CommandTopic_COMMAND_UNIT_CLOAK: CommandTopic = 65;
pub const CommandTopic_COMMAND_UNIT_STOCKPILE: CommandTopic = 66;
pub const CommandTopic_COMMAND_UNIT_D_GUN: CommandTopic = 67;
pub const CommandTopic_COMMAND_UNIT_D_GUN_POS: CommandTopic = 68;
pub const CommandTopic_COMMAND_UNIT_RESTORE_AREA: CommandTopic = 69;
pub const CommandTopic_COMMAND_UNIT_SET_REPEAT: CommandTopic = 70;
pub const CommandTopic_COMMAND_UNIT_SET_TRAJECTORY: CommandTopic = 71;
pub const CommandTopic_COMMAND_UNIT_RESURRECT: CommandTopic = 72;
pub const CommandTopic_COMMAND_UNIT_RESURRECT_AREA: CommandTopic = 73;
pub const CommandTopic_COMMAND_UNIT_CAPTURE: CommandTopic = 74;
pub const CommandTopic_COMMAND_UNIT_CAPTURE_AREA: CommandTopic = 75;
pub const CommandTopic_COMMAND_UNIT_SET_AUTO_REPAIR_LEVEL: CommandTopic = 76;
pub const CommandTopic_COMMAND_UNIT_SET_IDLE_MODE: CommandTopic = 77;
pub const CommandTopic_COMMAND_UNIT_CUSTOM: CommandTopic = 78;
pub const CommandTopic_COMMAND_CHEATS_GIVE_ME_NEW_UNIT: CommandTopic = 79;
pub const CommandTopic_COMMAND_TRACE_RAY: CommandTopic = 80;
pub const CommandTopic_COMMAND_PAUSE: CommandTopic = 81;
pub const CommandTopic_COMMAND_UNIT_RECLAIM_FEATURE: CommandTopic = 82;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_SET_POS: CommandTopic = 83;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_SET_SIZE: CommandTopic = 84;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_ADD_POINT: CommandTopic = 85;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_DELETE_POINTS: CommandTopic = 86;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_SET_COLOR: CommandTopic = 87;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_GRAPH_LINE_SET_LABEL: CommandTopic = 88;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_ADD: CommandTopic = 89;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_UPDATE: CommandTopic = 90;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_DELETE: CommandTopic = 91;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_POS: CommandTopic = 92;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_SIZE: CommandTopic = 93;
pub const CommandTopic_COMMAND_DEBUG_DRAWER_OVERLAYTEXTURE_SET_LABEL: CommandTopic = 94;
pub const CommandTopic_COMMAND_TRACE_RAY_FEATURE: CommandTopic = 95;
pub const CommandTopic_COMMAND_CALL_LUA_UI: CommandTopic = 96;
#[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()"]
pub type CommandTopic = ::std::os::raw::c_int;
pub const NUM_CMD_TOPICS: ::std::os::raw::c_int = 97;
pub const UnitCommandOptions_UNIT_COMMAND_OPTION_INTERNAL_ORDER: UnitCommandOptions = 8;
pub const UnitCommandOptions_UNIT_COMMAND_OPTION_RIGHT_MOUSE_KEY: UnitCommandOptions = 16;
pub const UnitCommandOptions_UNIT_COMMAND_OPTION_SHIFT_KEY: UnitCommandOptions = 32;
pub const UnitCommandOptions_UNIT_COMMAND_OPTION_CONTROL_KEY: UnitCommandOptions = 64;
pub const UnitCommandOptions_UNIT_COMMAND_OPTION_ALT_KEY: UnitCommandOptions = 128;
#[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"]
pub type UnitCommandOptions = ::std::os::raw::c_int;
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetMyIncomeMultiplierCheatCommand {
#[doc = " default: 1.0; common: [0.0, 2.0]; valid: [0.0, FLOAT_MAX]"]
pub factor: f32,
}
#[test]
fn bindgen_test_layout_SSetMyIncomeMultiplierCheatCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetMyIncomeMultiplierCheatCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetMyIncomeMultiplierCheatCommand>(),
4usize,
concat!("Size of: ", stringify!(SSetMyIncomeMultiplierCheatCommand))
);
assert_eq!(
::std::mem::align_of::<SSetMyIncomeMultiplierCheatCommand>(),
4usize,
concat!(
"Alignment of ",
stringify!(SSetMyIncomeMultiplierCheatCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).factor) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetMyIncomeMultiplierCheatCommand),
"::",
stringify!(factor)
)
);
}
#[doc = " The AI team receives the specified amount of units of the specified resource."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SGiveMeResourceCheatCommand {
pub resourceId: ::std::os::raw::c_int,
pub amount: f32,
}
#[test]
fn bindgen_test_layout_SGiveMeResourceCheatCommand() {
const UNINIT: ::std::mem::MaybeUninit<SGiveMeResourceCheatCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SGiveMeResourceCheatCommand>(),
8usize,
concat!("Size of: ", stringify!(SGiveMeResourceCheatCommand))
);
assert_eq!(
::std::mem::align_of::<SGiveMeResourceCheatCommand>(),
4usize,
concat!("Alignment of ", stringify!(SGiveMeResourceCheatCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).resourceId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SGiveMeResourceCheatCommand),
"::",
stringify!(resourceId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).amount) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SGiveMeResourceCheatCommand),
"::",
stringify!(amount)
)
);
}
#[doc = " Creates a new unit with the selected name at pos,\n and returns its unit ID in ret_newUnitId."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SGiveMeNewUnitCheatCommand {
pub unitDefId: ::std::os::raw::c_int,
pub pos_posF3: *mut f32,
pub ret_newUnitId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SGiveMeNewUnitCheatCommand() {
const UNINIT: ::std::mem::MaybeUninit<SGiveMeNewUnitCheatCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SGiveMeNewUnitCheatCommand>(),
24usize,
concat!("Size of: ", stringify!(SGiveMeNewUnitCheatCommand))
);
assert_eq!(
::std::mem::align_of::<SGiveMeNewUnitCheatCommand>(),
8usize,
concat!("Alignment of ", stringify!(SGiveMeNewUnitCheatCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitDefId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SGiveMeNewUnitCheatCommand),
"::",
stringify!(unitDefId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SGiveMeNewUnitCheatCommand),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_newUnitId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SGiveMeNewUnitCheatCommand),
"::",
stringify!(ret_newUnitId)
)
);
}
#[doc = " @brief Sends a chat/text message to other players.\n This text will also end up in infolog.txt."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSendTextMessageCommand {
pub text: *const ::std::os::raw::c_char,
pub zone: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SSendTextMessageCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSendTextMessageCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSendTextMessageCommand>(),
16usize,
concat!("Size of: ", stringify!(SSendTextMessageCommand))
);
assert_eq!(
::std::mem::align_of::<SSendTextMessageCommand>(),
8usize,
concat!("Alignment of ", stringify!(SSendTextMessageCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).text) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSendTextMessageCommand),
"::",
stringify!(text)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).zone) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSendTextMessageCommand),
"::",
stringify!(zone)
)
);
}
#[doc = " Assigns a map location to the last text message sent by the AI."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetLastPosMessageCommand {
pub pos_posF3: *mut f32,
}
#[test]
fn bindgen_test_layout_SSetLastPosMessageCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetLastPosMessageCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetLastPosMessageCommand>(),
8usize,
concat!("Size of: ", stringify!(SSetLastPosMessageCommand))
);
assert_eq!(
::std::mem::align_of::<SSetLastPosMessageCommand>(),
8usize,
concat!("Alignment of ", stringify!(SSetLastPosMessageCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetLastPosMessageCommand),
"::",
stringify!(pos_posF3)
)
);
}
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSendResourcesCommand {
pub resourceId: ::std::os::raw::c_int,
pub amount: f32,
pub receivingTeamId: ::std::os::raw::c_int,
pub ret_isExecuted: bool,
}
#[test]
fn bindgen_test_layout_SSendResourcesCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSendResourcesCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSendResourcesCommand>(),
16usize,
concat!("Size of: ", stringify!(SSendResourcesCommand))
);
assert_eq!(
::std::mem::align_of::<SSendResourcesCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSendResourcesCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).resourceId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSendResourcesCommand),
"::",
stringify!(resourceId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).amount) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSendResourcesCommand),
"::",
stringify!(amount)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).receivingTeamId) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSendResourcesCommand),
"::",
stringify!(receivingTeamId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_isExecuted) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSendResourcesCommand),
"::",
stringify!(ret_isExecuted)
)
);
}
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSendUnitsCommand {
pub unitIds: *mut ::std::os::raw::c_int,
pub unitIds_size: ::std::os::raw::c_int,
pub receivingTeamId: ::std::os::raw::c_int,
pub ret_sentUnits: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SSendUnitsCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSendUnitsCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSendUnitsCommand>(),
24usize,
concat!("Size of: ", stringify!(SSendUnitsCommand))
);
assert_eq!(
::std::mem::align_of::<SSendUnitsCommand>(),
8usize,
concat!("Alignment of ", stringify!(SSendUnitsCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitIds) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSendUnitsCommand),
"::",
stringify!(unitIds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitIds_size) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSendUnitsCommand),
"::",
stringify!(unitIds_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).receivingTeamId) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSendUnitsCommand),
"::",
stringify!(receivingTeamId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_sentUnits) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSendUnitsCommand),
"::",
stringify!(ret_sentUnits)
)
);
}
#[doc = " Creates a group and returns the id it was given, returns -1 on failure"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SCreateGroupCommand {
pub ret_groupId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SCreateGroupCommand() {
const UNINIT: ::std::mem::MaybeUninit<SCreateGroupCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SCreateGroupCommand>(),
4usize,
concat!("Size of: ", stringify!(SCreateGroupCommand))
);
assert_eq!(
::std::mem::align_of::<SCreateGroupCommand>(),
4usize,
concat!("Alignment of ", stringify!(SCreateGroupCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_groupId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SCreateGroupCommand),
"::",
stringify!(ret_groupId)
)
);
}
#[doc = " Erases a specified group"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SEraseGroupCommand {
pub groupId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SEraseGroupCommand() {
const UNINIT: ::std::mem::MaybeUninit<SEraseGroupCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SEraseGroupCommand>(),
4usize,
concat!("Size of: ", stringify!(SEraseGroupCommand))
);
assert_eq!(
::std::mem::align_of::<SEraseGroupCommand>(),
4usize,
concat!("Alignment of ", stringify!(SEraseGroupCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SEraseGroupCommand),
"::",
stringify!(groupId)
)
);
}
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SInitPathCommand {
#[doc = " The starting location of the requested path"]
pub start_posF3: *mut f32,
#[doc = " The goal location of the requested path"]
pub end_posF3: *mut f32,
#[doc = " For what type of unit should the path be calculated"]
pub pathType: ::std::os::raw::c_int,
#[doc = " default: 8.0f"]
pub goalRadius: f32,
pub ret_pathId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SInitPathCommand() {
const UNINIT: ::std::mem::MaybeUninit<SInitPathCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SInitPathCommand>(),
32usize,
concat!("Size of: ", stringify!(SInitPathCommand))
);
assert_eq!(
::std::mem::align_of::<SInitPathCommand>(),
8usize,
concat!("Alignment of ", stringify!(SInitPathCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).start_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SInitPathCommand),
"::",
stringify!(start_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).end_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SInitPathCommand),
"::",
stringify!(end_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pathType) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SInitPathCommand),
"::",
stringify!(pathType)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).goalRadius) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(SInitPathCommand),
"::",
stringify!(goalRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_pathId) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SInitPathCommand),
"::",
stringify!(ret_pathId)
)
);
}
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SGetApproximateLengthPathCommand {
#[doc = " The starting location of the requested path"]
pub start_posF3: *mut f32,
#[doc = " The goal location of the requested path"]
pub end_posF3: *mut f32,
#[doc = " For what type of unit should the path be calculated"]
pub pathType: ::std::os::raw::c_int,
#[doc = " default: 8.0f"]
pub goalRadius: f32,
pub ret_approximatePathLength: f32,
}
#[test]
fn bindgen_test_layout_SGetApproximateLengthPathCommand() {
const UNINIT: ::std::mem::MaybeUninit<SGetApproximateLengthPathCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SGetApproximateLengthPathCommand>(),
32usize,
concat!("Size of: ", stringify!(SGetApproximateLengthPathCommand))
);
assert_eq!(
::std::mem::align_of::<SGetApproximateLengthPathCommand>(),
8usize,
concat!(
"Alignment of ",
stringify!(SGetApproximateLengthPathCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).start_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SGetApproximateLengthPathCommand),
"::",
stringify!(start_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).end_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SGetApproximateLengthPathCommand),
"::",
stringify!(end_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pathType) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SGetApproximateLengthPathCommand),
"::",
stringify!(pathType)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).goalRadius) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(SGetApproximateLengthPathCommand),
"::",
stringify!(goalRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_approximatePathLength) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SGetApproximateLengthPathCommand),
"::",
stringify!(ret_approximatePathLength)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SGetNextWaypointPathCommand {
pub pathId: ::std::os::raw::c_int,
pub ret_nextWaypoint_posF3_out: *mut f32,
}
#[test]
fn bindgen_test_layout_SGetNextWaypointPathCommand() {
const UNINIT: ::std::mem::MaybeUninit<SGetNextWaypointPathCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SGetNextWaypointPathCommand>(),
16usize,
concat!("Size of: ", stringify!(SGetNextWaypointPathCommand))
);
assert_eq!(
::std::mem::align_of::<SGetNextWaypointPathCommand>(),
8usize,
concat!("Alignment of ", stringify!(SGetNextWaypointPathCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pathId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SGetNextWaypointPathCommand),
"::",
stringify!(pathId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_nextWaypoint_posF3_out) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SGetNextWaypointPathCommand),
"::",
stringify!(ret_nextWaypoint_posF3_out)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SFreePathCommand {
pub pathId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SFreePathCommand() {
const UNINIT: ::std::mem::MaybeUninit<SFreePathCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SFreePathCommand>(),
4usize,
concat!("Size of: ", stringify!(SFreePathCommand))
);
assert_eq!(
::std::mem::align_of::<SFreePathCommand>(),
4usize,
concat!("Alignment of ", stringify!(SFreePathCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pathId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SFreePathCommand),
"::",
stringify!(pathId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SCallLuaRulesCommand {
#[doc = " Can be set to NULL to skip passing in a string"]
pub inData: *const ::std::os::raw::c_char,
#[doc = " If this is less than 0, the data size is calculated using strlen()"]
pub inSize: ::std::os::raw::c_int,
#[doc = " Buffer for response, must be const size of MAX_RESPONSE_SIZE bytes"]
pub ret_outData: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_SCallLuaRulesCommand() {
const UNINIT: ::std::mem::MaybeUninit<SCallLuaRulesCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SCallLuaRulesCommand>(),
24usize,
concat!("Size of: ", stringify!(SCallLuaRulesCommand))
);
assert_eq!(
::std::mem::align_of::<SCallLuaRulesCommand>(),
8usize,
concat!("Alignment of ", stringify!(SCallLuaRulesCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).inData) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SCallLuaRulesCommand),
"::",
stringify!(inData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).inSize) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SCallLuaRulesCommand),
"::",
stringify!(inSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_outData) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SCallLuaRulesCommand),
"::",
stringify!(ret_outData)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SCallLuaUICommand {
#[doc = " Can be set to NULL to skip passing in a string"]
pub inData: *const ::std::os::raw::c_char,
#[doc = " If this is less than 0, the data size is calculated using strlen()"]
pub inSize: ::std::os::raw::c_int,
#[doc = " Buffer for response, must be const size of MAX_RESPONSE_SIZE bytes"]
pub ret_outData: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_SCallLuaUICommand() {
const UNINIT: ::std::mem::MaybeUninit<SCallLuaUICommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SCallLuaUICommand>(),
24usize,
concat!("Size of: ", stringify!(SCallLuaUICommand))
);
assert_eq!(
::std::mem::align_of::<SCallLuaUICommand>(),
8usize,
concat!("Alignment of ", stringify!(SCallLuaUICommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).inData) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SCallLuaUICommand),
"::",
stringify!(inData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).inSize) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SCallLuaUICommand),
"::",
stringify!(inSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_outData) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SCallLuaUICommand),
"::",
stringify!(ret_outData)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSendStartPosCommand {
pub ready: bool,
#[doc = " on this position, only x and z matter"]
pub pos_posF3: *mut f32,
}
#[test]
fn bindgen_test_layout_SSendStartPosCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSendStartPosCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSendStartPosCommand>(),
16usize,
concat!("Size of: ", stringify!(SSendStartPosCommand))
);
assert_eq!(
::std::mem::align_of::<SSendStartPosCommand>(),
8usize,
concat!("Alignment of ", stringify!(SSendStartPosCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ready) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSendStartPosCommand),
"::",
stringify!(ready)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSendStartPosCommand),
"::",
stringify!(pos_posF3)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SAddNotificationDrawerCommand {
#[doc = " on this position, only x and z matter"]
pub pos_posF3: *mut f32,
pub color_colorS3: *mut ::std::os::raw::c_short,
pub alpha: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_SAddNotificationDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SAddNotificationDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SAddNotificationDrawerCommand>(),
24usize,
concat!("Size of: ", stringify!(SAddNotificationDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SAddNotificationDrawerCommand>(),
8usize,
concat!("Alignment of ", stringify!(SAddNotificationDrawerCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SAddNotificationDrawerCommand),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SAddNotificationDrawerCommand),
"::",
stringify!(color_colorS3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SAddNotificationDrawerCommand),
"::",
stringify!(alpha)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SAddPointDrawCommand {
#[doc = " on this position, only x and z matter"]
pub pos_posF3: *mut f32,
#[doc = " create this text on pos in my team color"]
pub label: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_SAddPointDrawCommand() {
const UNINIT: ::std::mem::MaybeUninit<SAddPointDrawCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SAddPointDrawCommand>(),
16usize,
concat!("Size of: ", stringify!(SAddPointDrawCommand))
);
assert_eq!(
::std::mem::align_of::<SAddPointDrawCommand>(),
8usize,
concat!("Alignment of ", stringify!(SAddPointDrawCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SAddPointDrawCommand),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).label) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SAddPointDrawCommand),
"::",
stringify!(label)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SRemovePointDrawCommand {
#[doc = " remove map points and lines near this point (100 distance)"]
pub pos_posF3: *mut f32,
}
#[test]
fn bindgen_test_layout_SRemovePointDrawCommand() {
const UNINIT: ::std::mem::MaybeUninit<SRemovePointDrawCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SRemovePointDrawCommand>(),
8usize,
concat!("Size of: ", stringify!(SRemovePointDrawCommand))
);
assert_eq!(
::std::mem::align_of::<SRemovePointDrawCommand>(),
8usize,
concat!("Alignment of ", stringify!(SRemovePointDrawCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SRemovePointDrawCommand),
"::",
stringify!(pos_posF3)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SAddLineDrawCommand {
#[doc = " draw line from this pos"]
pub posFrom_posF3: *mut f32,
#[doc = " to this pos, again only x and z matter"]
pub posTo_posF3: *mut f32,
}
#[test]
fn bindgen_test_layout_SAddLineDrawCommand() {
const UNINIT: ::std::mem::MaybeUninit<SAddLineDrawCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SAddLineDrawCommand>(),
16usize,
concat!("Size of: ", stringify!(SAddLineDrawCommand))
);
assert_eq!(
::std::mem::align_of::<SAddLineDrawCommand>(),
8usize,
concat!("Alignment of ", stringify!(SAddLineDrawCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).posFrom_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SAddLineDrawCommand),
"::",
stringify!(posFrom_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).posTo_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SAddLineDrawCommand),
"::",
stringify!(posTo_posF3)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SStartPathDrawerCommand {
pub pos_posF3: *mut f32,
pub color_colorS3: *mut ::std::os::raw::c_short,
pub alpha: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_SStartPathDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SStartPathDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SStartPathDrawerCommand>(),
24usize,
concat!("Size of: ", stringify!(SStartPathDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SStartPathDrawerCommand>(),
8usize,
concat!("Alignment of ", stringify!(SStartPathDrawerCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SStartPathDrawerCommand),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SStartPathDrawerCommand),
"::",
stringify!(color_colorS3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SStartPathDrawerCommand),
"::",
stringify!(alpha)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SFinishPathDrawerCommand {
pub iAmUseless: bool,
}
#[test]
fn bindgen_test_layout_SFinishPathDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SFinishPathDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SFinishPathDrawerCommand>(),
1usize,
concat!("Size of: ", stringify!(SFinishPathDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SFinishPathDrawerCommand>(),
1usize,
concat!("Alignment of ", stringify!(SFinishPathDrawerCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).iAmUseless) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SFinishPathDrawerCommand),
"::",
stringify!(iAmUseless)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SDrawLinePathDrawerCommand {
pub endPos_posF3: *mut f32,
pub color_colorS3: *mut ::std::os::raw::c_short,
pub alpha: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_SDrawLinePathDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SDrawLinePathDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SDrawLinePathDrawerCommand>(),
24usize,
concat!("Size of: ", stringify!(SDrawLinePathDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SDrawLinePathDrawerCommand>(),
8usize,
concat!("Alignment of ", stringify!(SDrawLinePathDrawerCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).endPos_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SDrawLinePathDrawerCommand),
"::",
stringify!(endPos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SDrawLinePathDrawerCommand),
"::",
stringify!(color_colorS3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SDrawLinePathDrawerCommand),
"::",
stringify!(alpha)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SDrawLineAndIconPathDrawerCommand {
pub cmdId: ::std::os::raw::c_int,
pub endPos_posF3: *mut f32,
pub color_colorS3: *mut ::std::os::raw::c_short,
pub alpha: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_SDrawLineAndIconPathDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SDrawLineAndIconPathDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SDrawLineAndIconPathDrawerCommand>(),
32usize,
concat!("Size of: ", stringify!(SDrawLineAndIconPathDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SDrawLineAndIconPathDrawerCommand>(),
8usize,
concat!(
"Alignment of ",
stringify!(SDrawLineAndIconPathDrawerCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cmdId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SDrawLineAndIconPathDrawerCommand),
"::",
stringify!(cmdId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).endPos_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SDrawLineAndIconPathDrawerCommand),
"::",
stringify!(endPos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SDrawLineAndIconPathDrawerCommand),
"::",
stringify!(color_colorS3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SDrawLineAndIconPathDrawerCommand),
"::",
stringify!(alpha)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SDrawIconAtLastPosPathDrawerCommand {
pub cmdId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SDrawIconAtLastPosPathDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SDrawIconAtLastPosPathDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SDrawIconAtLastPosPathDrawerCommand>(),
4usize,
concat!("Size of: ", stringify!(SDrawIconAtLastPosPathDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SDrawIconAtLastPosPathDrawerCommand>(),
4usize,
concat!(
"Alignment of ",
stringify!(SDrawIconAtLastPosPathDrawerCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cmdId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SDrawIconAtLastPosPathDrawerCommand),
"::",
stringify!(cmdId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SBreakPathDrawerCommand {
pub endPos_posF3: *mut f32,
pub color_colorS3: *mut ::std::os::raw::c_short,
pub alpha: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_SBreakPathDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SBreakPathDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SBreakPathDrawerCommand>(),
24usize,
concat!("Size of: ", stringify!(SBreakPathDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SBreakPathDrawerCommand>(),
8usize,
concat!("Alignment of ", stringify!(SBreakPathDrawerCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).endPos_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SBreakPathDrawerCommand),
"::",
stringify!(endPos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SBreakPathDrawerCommand),
"::",
stringify!(color_colorS3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SBreakPathDrawerCommand),
"::",
stringify!(alpha)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SRestartPathDrawerCommand {
pub sameColor: bool,
}
#[test]
fn bindgen_test_layout_SRestartPathDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SRestartPathDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SRestartPathDrawerCommand>(),
1usize,
concat!("Size of: ", stringify!(SRestartPathDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SRestartPathDrawerCommand>(),
1usize,
concat!("Alignment of ", stringify!(SRestartPathDrawerCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).sameColor) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SRestartPathDrawerCommand),
"::",
stringify!(sameColor)
)
);
}
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SCreateSplineFigureDrawerCommand {
pub pos1_posF3: *mut f32,
pub pos2_posF3: *mut f32,
pub pos3_posF3: *mut f32,
pub pos4_posF3: *mut f32,
pub width: f32,
#[doc = " true: means that the figure will get an arrow at the end"]
pub arrow: bool,
#[doc = " how many frames a figure should live before being autoremoved, 0 means no removal"]
pub lifeTime: ::std::os::raw::c_int,
#[doc = " use 0 to get a new group"]
pub figureGroupId: ::std::os::raw::c_int,
#[doc = " the new group"]
pub ret_newFigureGroupId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SCreateSplineFigureDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SCreateSplineFigureDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SCreateSplineFigureDrawerCommand>(),
56usize,
concat!("Size of: ", stringify!(SCreateSplineFigureDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SCreateSplineFigureDrawerCommand>(),
8usize,
concat!(
"Alignment of ",
stringify!(SCreateSplineFigureDrawerCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos1_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SCreateSplineFigureDrawerCommand),
"::",
stringify!(pos1_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos2_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SCreateSplineFigureDrawerCommand),
"::",
stringify!(pos2_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos3_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SCreateSplineFigureDrawerCommand),
"::",
stringify!(pos3_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos4_posF3) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SCreateSplineFigureDrawerCommand),
"::",
stringify!(pos4_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(SCreateSplineFigureDrawerCommand),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).arrow) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(SCreateSplineFigureDrawerCommand),
"::",
stringify!(arrow)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lifeTime) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(SCreateSplineFigureDrawerCommand),
"::",
stringify!(lifeTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).figureGroupId) as usize - ptr as usize },
44usize,
concat!(
"Offset of field: ",
stringify!(SCreateSplineFigureDrawerCommand),
"::",
stringify!(figureGroupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_newFigureGroupId) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(SCreateSplineFigureDrawerCommand),
"::",
stringify!(ret_newFigureGroupId)
)
);
}
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SCreateLineFigureDrawerCommand {
pub pos1_posF3: *mut f32,
pub pos2_posF3: *mut f32,
pub width: f32,
#[doc = " true: means that the figure will get an arrow at the end"]
pub arrow: bool,
#[doc = " how many frames a figure should live before being autoremoved, 0 means no removal"]
pub lifeTime: ::std::os::raw::c_int,
#[doc = " use 0 to get a new group"]
pub figureGroupId: ::std::os::raw::c_int,
#[doc = " the new group"]
pub ret_newFigureGroupId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SCreateLineFigureDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SCreateLineFigureDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SCreateLineFigureDrawerCommand>(),
40usize,
concat!("Size of: ", stringify!(SCreateLineFigureDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SCreateLineFigureDrawerCommand>(),
8usize,
concat!("Alignment of ", stringify!(SCreateLineFigureDrawerCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos1_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SCreateLineFigureDrawerCommand),
"::",
stringify!(pos1_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos2_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SCreateLineFigureDrawerCommand),
"::",
stringify!(pos2_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SCreateLineFigureDrawerCommand),
"::",
stringify!(width)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).arrow) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(SCreateLineFigureDrawerCommand),
"::",
stringify!(arrow)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lifeTime) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SCreateLineFigureDrawerCommand),
"::",
stringify!(lifeTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).figureGroupId) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(SCreateLineFigureDrawerCommand),
"::",
stringify!(figureGroupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_newFigureGroupId) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(SCreateLineFigureDrawerCommand),
"::",
stringify!(ret_newFigureGroupId)
)
);
}
#[doc = " Sets the color used to draw all lines of figures in a figure group."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetColorFigureDrawerCommand {
pub figureGroupId: ::std::os::raw::c_int,
#[doc = " (x, y, z) -> (red, green, blue)"]
pub color_colorS3: *mut ::std::os::raw::c_short,
pub alpha: ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_SSetColorFigureDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetColorFigureDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetColorFigureDrawerCommand>(),
24usize,
concat!("Size of: ", stringify!(SSetColorFigureDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SSetColorFigureDrawerCommand>(),
8usize,
concat!("Alignment of ", stringify!(SSetColorFigureDrawerCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).figureGroupId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetColorFigureDrawerCommand),
"::",
stringify!(figureGroupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetColorFigureDrawerCommand),
"::",
stringify!(color_colorS3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).alpha) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSetColorFigureDrawerCommand),
"::",
stringify!(alpha)
)
);
}
#[doc = " Removes a figure group, which means it will not be drawn anymore."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SDeleteFigureDrawerCommand {
pub figureGroupId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SDeleteFigureDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SDeleteFigureDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SDeleteFigureDrawerCommand>(),
4usize,
concat!("Size of: ", stringify!(SDeleteFigureDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SDeleteFigureDrawerCommand>(),
4usize,
concat!("Alignment of ", stringify!(SDeleteFigureDrawerCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).figureGroupId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SDeleteFigureDrawerCommand),
"::",
stringify!(figureGroupId)
)
);
}
#[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)"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SDrawUnitDrawerCommand {
pub toDrawUnitDefId: ::std::os::raw::c_int,
pub pos_posF3: *mut f32,
#[doc = " in radians"]
pub rotation: f32,
#[doc = " specifies how many frames a figure should live before being auto-removed; 0 means no removal"]
pub lifeTime: ::std::os::raw::c_int,
#[doc = " teamId affects the color of the unit"]
pub teamId: ::std::os::raw::c_int,
pub transparent: bool,
pub drawBorder: bool,
pub facing: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SDrawUnitDrawerCommand() {
const UNINIT: ::std::mem::MaybeUninit<SDrawUnitDrawerCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SDrawUnitDrawerCommand>(),
40usize,
concat!("Size of: ", stringify!(SDrawUnitDrawerCommand))
);
assert_eq!(
::std::mem::align_of::<SDrawUnitDrawerCommand>(),
8usize,
concat!("Alignment of ", stringify!(SDrawUnitDrawerCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toDrawUnitDefId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SDrawUnitDrawerCommand),
"::",
stringify!(toDrawUnitDefId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SDrawUnitDrawerCommand),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rotation) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SDrawUnitDrawerCommand),
"::",
stringify!(rotation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lifeTime) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(SDrawUnitDrawerCommand),
"::",
stringify!(lifeTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).teamId) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SDrawUnitDrawerCommand),
"::",
stringify!(teamId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).transparent) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(SDrawUnitDrawerCommand),
"::",
stringify!(transparent)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).drawBorder) as usize - ptr as usize },
29usize,
concat!(
"Offset of field: ",
stringify!(SDrawUnitDrawerCommand),
"::",
stringify!(drawBorder)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).facing) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(SDrawUnitDrawerCommand),
"::",
stringify!(facing)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SBuildUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toBuildUnitDefId: ::std::os::raw::c_int,
pub buildPos_posF3: *mut f32,
#[doc = " set it to UNIT_COMMAND_BUILD_NO_FACING, if you do not want to specify a certain facing"]
pub facing: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SBuildUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SBuildUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SBuildUnitCommand>(),
40usize,
concat!("Size of: ", stringify!(SBuildUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SBuildUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SBuildUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SBuildUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SBuildUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SBuildUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SBuildUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toBuildUnitDefId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SBuildUnitCommand),
"::",
stringify!(toBuildUnitDefId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).buildPos_posF3) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SBuildUnitCommand),
"::",
stringify!(buildPos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).facing) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(SBuildUnitCommand),
"::",
stringify!(facing)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SStopUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SStopUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SStopUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SStopUnitCommand>(),
16usize,
concat!("Size of: ", stringify!(SStopUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SStopUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SStopUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SStopUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SStopUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SStopUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SStopUnitCommand),
"::",
stringify!(timeOut)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SWaitUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SWaitUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SWaitUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SWaitUnitCommand>(),
16usize,
concat!("Size of: ", stringify!(SWaitUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SWaitUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SWaitUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SWaitUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SWaitUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SWaitUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SWaitUnitCommand),
"::",
stringify!(timeOut)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct STimeWaitUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
#[doc = " the time in seconds to wait"]
pub time: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_STimeWaitUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<STimeWaitUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<STimeWaitUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(STimeWaitUnitCommand))
);
assert_eq!(
::std::mem::align_of::<STimeWaitUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(STimeWaitUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(STimeWaitUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(STimeWaitUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(STimeWaitUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(STimeWaitUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(STimeWaitUnitCommand),
"::",
stringify!(time)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SDeathWaitUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
#[doc = " wait until this unit is dead"]
pub toDieUnitId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SDeathWaitUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SDeathWaitUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SDeathWaitUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SDeathWaitUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SDeathWaitUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SDeathWaitUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SDeathWaitUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SDeathWaitUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SDeathWaitUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SDeathWaitUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toDieUnitId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SDeathWaitUnitCommand),
"::",
stringify!(toDieUnitId)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSquadWaitUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub numUnits: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SSquadWaitUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSquadWaitUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSquadWaitUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SSquadWaitUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SSquadWaitUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSquadWaitUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSquadWaitUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSquadWaitUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSquadWaitUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSquadWaitUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).numUnits) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSquadWaitUnitCommand),
"::",
stringify!(numUnits)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SGatherWaitUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SGatherWaitUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SGatherWaitUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SGatherWaitUnitCommand>(),
16usize,
concat!("Size of: ", stringify!(SGatherWaitUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SGatherWaitUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SGatherWaitUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SGatherWaitUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SGatherWaitUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SGatherWaitUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SGatherWaitUnitCommand),
"::",
stringify!(timeOut)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SMoveUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toPos_posF3: *mut f32,
}
#[test]
fn bindgen_test_layout_SMoveUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SMoveUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SMoveUnitCommand>(),
24usize,
concat!("Size of: ", stringify!(SMoveUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SMoveUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SMoveUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SMoveUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SMoveUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SMoveUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SMoveUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toPos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SMoveUnitCommand),
"::",
stringify!(toPos_posF3)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SPatrolUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toPos_posF3: *mut f32,
}
#[test]
fn bindgen_test_layout_SPatrolUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SPatrolUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SPatrolUnitCommand>(),
24usize,
concat!("Size of: ", stringify!(SPatrolUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SPatrolUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SPatrolUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SPatrolUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SPatrolUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SPatrolUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SPatrolUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toPos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SPatrolUnitCommand),
"::",
stringify!(toPos_posF3)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SFightUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toPos_posF3: *mut f32,
}
#[test]
fn bindgen_test_layout_SFightUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SFightUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SFightUnitCommand>(),
24usize,
concat!("Size of: ", stringify!(SFightUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SFightUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SFightUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SFightUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SFightUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SFightUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SFightUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toPos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SFightUnitCommand),
"::",
stringify!(toPos_posF3)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SAttackUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toAttackUnitId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SAttackUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SAttackUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SAttackUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SAttackUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SAttackUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SAttackUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SAttackUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SAttackUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SAttackUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SAttackUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toAttackUnitId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SAttackUnitCommand),
"::",
stringify!(toAttackUnitId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SAttackAreaUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toAttackPos_posF3: *mut f32,
pub radius: f32,
}
#[test]
fn bindgen_test_layout_SAttackAreaUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SAttackAreaUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SAttackAreaUnitCommand>(),
32usize,
concat!("Size of: ", stringify!(SAttackAreaUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SAttackAreaUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SAttackAreaUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SAttackAreaUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SAttackAreaUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SAttackAreaUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SAttackAreaUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toAttackPos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SAttackAreaUnitCommand),
"::",
stringify!(toAttackPos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SAttackAreaUnitCommand),
"::",
stringify!(radius)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SGuardUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toGuardUnitId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SGuardUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SGuardUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SGuardUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SGuardUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SGuardUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SGuardUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SGuardUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SGuardUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SGuardUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SGuardUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toGuardUnitId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SGuardUnitCommand),
"::",
stringify!(toGuardUnitId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SAiSelectUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SAiSelectUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SAiSelectUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SAiSelectUnitCommand>(),
16usize,
concat!("Size of: ", stringify!(SAiSelectUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SAiSelectUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SAiSelectUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SAiSelectUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SAiSelectUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SAiSelectUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SAiSelectUnitCommand),
"::",
stringify!(timeOut)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SGroupAddUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toGroupId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SGroupAddUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SGroupAddUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SGroupAddUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SGroupAddUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SGroupAddUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SGroupAddUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SGroupAddUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SGroupAddUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SGroupAddUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SGroupAddUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toGroupId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SGroupAddUnitCommand),
"::",
stringify!(toGroupId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SGroupClearUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SGroupClearUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SGroupClearUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SGroupClearUnitCommand>(),
16usize,
concat!("Size of: ", stringify!(SGroupClearUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SGroupClearUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SGroupClearUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SGroupClearUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SGroupClearUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SGroupClearUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SGroupClearUnitCommand),
"::",
stringify!(timeOut)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SRepairUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toRepairUnitId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SRepairUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SRepairUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SRepairUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SRepairUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SRepairUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SRepairUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SRepairUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SRepairUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SRepairUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SRepairUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toRepairUnitId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SRepairUnitCommand),
"::",
stringify!(toRepairUnitId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetFireStateUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
#[doc = " can be: 0=hold fire, 1=return fire, 2=fire at will"]
pub fireState: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SSetFireStateUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetFireStateUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetFireStateUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SSetFireStateUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SSetFireStateUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSetFireStateUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetFireStateUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetFireStateUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetFireStateUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSetFireStateUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fireState) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSetFireStateUnitCommand),
"::",
stringify!(fireState)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetMoveStateUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
#[doc = " 0=hold pos, 1=maneuvre, 2=roam"]
pub moveState: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SSetMoveStateUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetMoveStateUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetMoveStateUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SSetMoveStateUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SSetMoveStateUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSetMoveStateUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetMoveStateUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetMoveStateUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetMoveStateUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSetMoveStateUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).moveState) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSetMoveStateUnitCommand),
"::",
stringify!(moveState)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetBaseUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub basePos_posF3: *mut f32,
}
#[test]
fn bindgen_test_layout_SSetBaseUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetBaseUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetBaseUnitCommand>(),
24usize,
concat!("Size of: ", stringify!(SSetBaseUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SSetBaseUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SSetBaseUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetBaseUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetBaseUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetBaseUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSetBaseUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).basePos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSetBaseUnitCommand),
"::",
stringify!(basePos_posF3)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSelfDestroyUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SSelfDestroyUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSelfDestroyUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSelfDestroyUnitCommand>(),
16usize,
concat!("Size of: ", stringify!(SSelfDestroyUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SSelfDestroyUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSelfDestroyUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSelfDestroyUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSelfDestroyUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSelfDestroyUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSelfDestroyUnitCommand),
"::",
stringify!(timeOut)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SLoadUnitsUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
pub timeOut: ::std::os::raw::c_int,
pub toLoadUnitIds: *mut ::std::os::raw::c_int,
pub toLoadUnitIds_size: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SLoadUnitsUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SLoadUnitsUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SLoadUnitsUnitCommand>(),
32usize,
concat!("Size of: ", stringify!(SLoadUnitsUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SLoadUnitsUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SLoadUnitsUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toLoadUnitIds) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsUnitCommand),
"::",
stringify!(toLoadUnitIds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toLoadUnitIds_size) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsUnitCommand),
"::",
stringify!(toLoadUnitIds_size)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SLoadUnitsAreaUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub pos_posF3: *mut f32,
pub radius: f32,
}
#[test]
fn bindgen_test_layout_SLoadUnitsAreaUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SLoadUnitsAreaUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SLoadUnitsAreaUnitCommand>(),
32usize,
concat!("Size of: ", stringify!(SLoadUnitsAreaUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SLoadUnitsAreaUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SLoadUnitsAreaUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsAreaUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsAreaUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsAreaUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsAreaUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsAreaUnitCommand),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SLoadUnitsAreaUnitCommand),
"::",
stringify!(radius)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SLoadOntoUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub transporterUnitId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SLoadOntoUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SLoadOntoUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SLoadOntoUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SLoadOntoUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SLoadOntoUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SLoadOntoUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SLoadOntoUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SLoadOntoUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SLoadOntoUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SLoadOntoUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).transporterUnitId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SLoadOntoUnitCommand),
"::",
stringify!(transporterUnitId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUnloadUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toPos_posF3: *mut f32,
pub toUnloadUnitId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SUnloadUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SUnloadUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUnloadUnitCommand>(),
32usize,
concat!("Size of: ", stringify!(SUnloadUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SUnloadUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SUnloadUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toPos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitCommand),
"::",
stringify!(toPos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toUnloadUnitId) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitCommand),
"::",
stringify!(toUnloadUnitId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUnloadUnitsAreaUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toPos_posF3: *mut f32,
pub radius: f32,
}
#[test]
fn bindgen_test_layout_SUnloadUnitsAreaUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SUnloadUnitsAreaUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUnloadUnitsAreaUnitCommand>(),
32usize,
concat!("Size of: ", stringify!(SUnloadUnitsAreaUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SUnloadUnitsAreaUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SUnloadUnitsAreaUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitsAreaUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitsAreaUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitsAreaUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitsAreaUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toPos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitsAreaUnitCommand),
"::",
stringify!(toPos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SUnloadUnitsAreaUnitCommand),
"::",
stringify!(radius)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetOnOffUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub on: bool,
}
#[test]
fn bindgen_test_layout_SSetOnOffUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetOnOffUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetOnOffUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SSetOnOffUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SSetOnOffUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSetOnOffUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetOnOffUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetOnOffUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetOnOffUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSetOnOffUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).on) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSetOnOffUnitCommand),
"::",
stringify!(on)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SReclaimUnitUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toReclaimUnitId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SReclaimUnitUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SReclaimUnitUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SReclaimUnitUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SReclaimUnitUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SReclaimUnitUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SReclaimUnitUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SReclaimUnitUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SReclaimUnitUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SReclaimUnitUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SReclaimUnitUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toReclaimUnitId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SReclaimUnitUnitCommand),
"::",
stringify!(toReclaimUnitId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SReclaimFeatureUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toReclaimFeatureId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SReclaimFeatureUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SReclaimFeatureUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SReclaimFeatureUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SReclaimFeatureUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SReclaimFeatureUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SReclaimFeatureUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SReclaimFeatureUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SReclaimFeatureUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SReclaimFeatureUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SReclaimFeatureUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toReclaimFeatureId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SReclaimFeatureUnitCommand),
"::",
stringify!(toReclaimFeatureId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SReclaimAreaUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub pos_posF3: *mut f32,
pub radius: f32,
}
#[test]
fn bindgen_test_layout_SReclaimAreaUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SReclaimAreaUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SReclaimAreaUnitCommand>(),
32usize,
concat!("Size of: ", stringify!(SReclaimAreaUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SReclaimAreaUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SReclaimAreaUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SReclaimAreaUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SReclaimAreaUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SReclaimAreaUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SReclaimAreaUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SReclaimAreaUnitCommand),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SReclaimAreaUnitCommand),
"::",
stringify!(radius)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SCloakUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub cloak: bool,
}
#[test]
fn bindgen_test_layout_SCloakUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SCloakUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SCloakUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SCloakUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SCloakUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SCloakUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SCloakUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SCloakUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SCloakUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SCloakUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cloak) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SCloakUnitCommand),
"::",
stringify!(cloak)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SStockpileUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SStockpileUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SStockpileUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SStockpileUnitCommand>(),
16usize,
concat!("Size of: ", stringify!(SStockpileUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SStockpileUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SStockpileUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SStockpileUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SStockpileUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SStockpileUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SStockpileUnitCommand),
"::",
stringify!(timeOut)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SDGunUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toAttackUnitId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SDGunUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SDGunUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SDGunUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SDGunUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SDGunUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SDGunUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SDGunUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SDGunUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SDGunUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SDGunUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toAttackUnitId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SDGunUnitCommand),
"::",
stringify!(toAttackUnitId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SDGunPosUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub pos_posF3: *mut f32,
}
#[test]
fn bindgen_test_layout_SDGunPosUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SDGunPosUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SDGunPosUnitCommand>(),
24usize,
concat!("Size of: ", stringify!(SDGunPosUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SDGunPosUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SDGunPosUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SDGunPosUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SDGunPosUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SDGunPosUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SDGunPosUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SDGunPosUnitCommand),
"::",
stringify!(pos_posF3)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SRestoreAreaUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub pos_posF3: *mut f32,
pub radius: f32,
}
#[test]
fn bindgen_test_layout_SRestoreAreaUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SRestoreAreaUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SRestoreAreaUnitCommand>(),
32usize,
concat!("Size of: ", stringify!(SRestoreAreaUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SRestoreAreaUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SRestoreAreaUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SRestoreAreaUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SRestoreAreaUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SRestoreAreaUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SRestoreAreaUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SRestoreAreaUnitCommand),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SRestoreAreaUnitCommand),
"::",
stringify!(radius)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetRepeatUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub repeat: bool,
}
#[test]
fn bindgen_test_layout_SSetRepeatUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetRepeatUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetRepeatUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SSetRepeatUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SSetRepeatUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSetRepeatUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetRepeatUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetRepeatUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetRepeatUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSetRepeatUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).repeat) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSetRepeatUnitCommand),
"::",
stringify!(repeat)
)
);
}
#[doc = " Tells weapons that support it to try to use a high trajectory"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetTrajectoryUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
#[doc = " 0: low-trajectory, 1: high-trajectory"]
pub trajectory: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SSetTrajectoryUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetTrajectoryUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetTrajectoryUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SSetTrajectoryUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SSetTrajectoryUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSetTrajectoryUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetTrajectoryUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetTrajectoryUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetTrajectoryUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSetTrajectoryUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).trajectory) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSetTrajectoryUnitCommand),
"::",
stringify!(trajectory)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SResurrectUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toResurrectFeatureId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SResurrectUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SResurrectUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SResurrectUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SResurrectUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SResurrectUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SResurrectUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SResurrectUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SResurrectUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SResurrectUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SResurrectUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toResurrectFeatureId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SResurrectUnitCommand),
"::",
stringify!(toResurrectFeatureId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SResurrectAreaUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub pos_posF3: *mut f32,
pub radius: f32,
}
#[test]
fn bindgen_test_layout_SResurrectAreaUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SResurrectAreaUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SResurrectAreaUnitCommand>(),
32usize,
concat!("Size of: ", stringify!(SResurrectAreaUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SResurrectAreaUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SResurrectAreaUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SResurrectAreaUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SResurrectAreaUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SResurrectAreaUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SResurrectAreaUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SResurrectAreaUnitCommand),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SResurrectAreaUnitCommand),
"::",
stringify!(radius)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SCaptureUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub toCaptureUnitId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SCaptureUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SCaptureUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SCaptureUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SCaptureUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SCaptureUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SCaptureUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SCaptureUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SCaptureUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SCaptureUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SCaptureUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).toCaptureUnitId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SCaptureUnitCommand),
"::",
stringify!(toCaptureUnitId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SCaptureAreaUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub pos_posF3: *mut f32,
pub radius: f32,
}
#[test]
fn bindgen_test_layout_SCaptureAreaUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SCaptureAreaUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SCaptureAreaUnitCommand>(),
32usize,
concat!("Size of: ", stringify!(SCaptureAreaUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SCaptureAreaUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SCaptureAreaUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SCaptureAreaUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SCaptureAreaUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SCaptureAreaUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SCaptureAreaUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SCaptureAreaUnitCommand),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).radius) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SCaptureAreaUnitCommand),
"::",
stringify!(radius)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetAutoRepairLevelUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
#[doc = " 0: 0%, 1: 30%, 2: 50%, 3: 80%"]
pub autoRepairLevel: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SSetAutoRepairLevelUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetAutoRepairLevelUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetAutoRepairLevelUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SSetAutoRepairLevelUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SSetAutoRepairLevelUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSetAutoRepairLevelUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetAutoRepairLevelUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetAutoRepairLevelUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetAutoRepairLevelUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSetAutoRepairLevelUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).autoRepairLevel) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSetAutoRepairLevelUnitCommand),
"::",
stringify!(autoRepairLevel)
)
);
}
#[doc = " Set what a unit should do when it is idle.\n This only works for a few units so far, mainly aircraft."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetIdleModeUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
#[doc = " 0: fly, 1: land"]
pub idleMode: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SSetIdleModeUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetIdleModeUnitCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetIdleModeUnitCommand>(),
20usize,
concat!("Size of: ", stringify!(SSetIdleModeUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SSetIdleModeUnitCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSetIdleModeUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetIdleModeUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetIdleModeUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetIdleModeUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SSetIdleModeUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).idleMode) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSetIdleModeUnitCommand),
"::",
stringify!(idleMode)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SCustomUnitCommand {
pub unitId: ::std::os::raw::c_int,
pub groupId: ::std::os::raw::c_int,
#[doc = " see enum UnitCommandOptions"]
pub options: ::std::os::raw::c_short,
#[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"]
pub timeOut: ::std::os::raw::c_int,
pub cmdId: ::std::os::raw::c_int,
pub params: *mut f32,
pub params_size: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SCustomUnitCommand() {
const UNINIT: ::std::mem::MaybeUninit<SCustomUnitCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SCustomUnitCommand>(),
40usize,
concat!("Size of: ", stringify!(SCustomUnitCommand))
);
assert_eq!(
::std::mem::align_of::<SCustomUnitCommand>(),
8usize,
concat!("Alignment of ", stringify!(SCustomUnitCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SCustomUnitCommand),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).groupId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SCustomUnitCommand),
"::",
stringify!(groupId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SCustomUnitCommand),
"::",
stringify!(options)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).timeOut) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SCustomUnitCommand),
"::",
stringify!(timeOut)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).cmdId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SCustomUnitCommand),
"::",
stringify!(cmdId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).params) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SCustomUnitCommand),
"::",
stringify!(params)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).params_size) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(SCustomUnitCommand),
"::",
stringify!(params_size)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct STraceRayCommand {
pub rayPos_posF3: *mut f32,
pub rayDir_posF3: *mut f32,
pub rayLen: f32,
pub srcUnitId: ::std::os::raw::c_int,
pub ret_hitUnitId: ::std::os::raw::c_int,
pub flags: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_STraceRayCommand() {
const UNINIT: ::std::mem::MaybeUninit<STraceRayCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<STraceRayCommand>(),
32usize,
concat!("Size of: ", stringify!(STraceRayCommand))
);
assert_eq!(
::std::mem::align_of::<STraceRayCommand>(),
8usize,
concat!("Alignment of ", stringify!(STraceRayCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rayPos_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(STraceRayCommand),
"::",
stringify!(rayPos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rayDir_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(STraceRayCommand),
"::",
stringify!(rayDir_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rayLen) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(STraceRayCommand),
"::",
stringify!(rayLen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).srcUnitId) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(STraceRayCommand),
"::",
stringify!(srcUnitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_hitUnitId) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(STraceRayCommand),
"::",
stringify!(ret_hitUnitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(STraceRayCommand),
"::",
stringify!(flags)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SFeatureTraceRayCommand {
pub rayPos_posF3: *mut f32,
pub rayDir_posF3: *mut f32,
pub rayLen: f32,
pub srcUnitId: ::std::os::raw::c_int,
pub ret_hitFeatureId: ::std::os::raw::c_int,
pub flags: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SFeatureTraceRayCommand() {
const UNINIT: ::std::mem::MaybeUninit<SFeatureTraceRayCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SFeatureTraceRayCommand>(),
32usize,
concat!("Size of: ", stringify!(SFeatureTraceRayCommand))
);
assert_eq!(
::std::mem::align_of::<SFeatureTraceRayCommand>(),
8usize,
concat!("Alignment of ", stringify!(SFeatureTraceRayCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rayPos_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SFeatureTraceRayCommand),
"::",
stringify!(rayPos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rayDir_posF3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SFeatureTraceRayCommand),
"::",
stringify!(rayDir_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rayLen) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SFeatureTraceRayCommand),
"::",
stringify!(rayLen)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).srcUnitId) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(SFeatureTraceRayCommand),
"::",
stringify!(srcUnitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_hitFeatureId) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SFeatureTraceRayCommand),
"::",
stringify!(ret_hitFeatureId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(SFeatureTraceRayCommand),
"::",
stringify!(flags)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SPauseCommand {
pub enable: bool,
#[doc = " reason for the (un-)pause, or NULL"]
pub reason: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_SPauseCommand() {
const UNINIT: ::std::mem::MaybeUninit<SPauseCommand> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SPauseCommand>(),
16usize,
concat!("Size of: ", stringify!(SPauseCommand))
);
assert_eq!(
::std::mem::align_of::<SPauseCommand>(),
8usize,
concat!("Alignment of ", stringify!(SPauseCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enable) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SPauseCommand),
"::",
stringify!(enable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reason) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SPauseCommand),
"::",
stringify!(reason)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetPositionGraphDrawerDebugCommand {
pub x: f32,
pub y: f32,
}
#[test]
fn bindgen_test_layout_SSetPositionGraphDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetPositionGraphDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetPositionGraphDrawerDebugCommand>(),
8usize,
concat!("Size of: ", stringify!(SSetPositionGraphDrawerDebugCommand))
);
assert_eq!(
::std::mem::align_of::<SSetPositionGraphDrawerDebugCommand>(),
4usize,
concat!(
"Alignment of ",
stringify!(SSetPositionGraphDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetPositionGraphDrawerDebugCommand),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetPositionGraphDrawerDebugCommand),
"::",
stringify!(y)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetSizeGraphDrawerDebugCommand {
pub w: f32,
pub h: f32,
}
#[test]
fn bindgen_test_layout_SSetSizeGraphDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetSizeGraphDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetSizeGraphDrawerDebugCommand>(),
8usize,
concat!("Size of: ", stringify!(SSetSizeGraphDrawerDebugCommand))
);
assert_eq!(
::std::mem::align_of::<SSetSizeGraphDrawerDebugCommand>(),
4usize,
concat!("Alignment of ", stringify!(SSetSizeGraphDrawerDebugCommand))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetSizeGraphDrawerDebugCommand),
"::",
stringify!(w)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetSizeGraphDrawerDebugCommand),
"::",
stringify!(h)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SAddPointLineGraphDrawerDebugCommand {
pub lineId: ::std::os::raw::c_int,
pub x: f32,
pub y: f32,
}
#[test]
fn bindgen_test_layout_SAddPointLineGraphDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SAddPointLineGraphDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SAddPointLineGraphDrawerDebugCommand>(),
12usize,
concat!(
"Size of: ",
stringify!(SAddPointLineGraphDrawerDebugCommand)
)
);
assert_eq!(
::std::mem::align_of::<SAddPointLineGraphDrawerDebugCommand>(),
4usize,
concat!(
"Alignment of ",
stringify!(SAddPointLineGraphDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lineId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SAddPointLineGraphDrawerDebugCommand),
"::",
stringify!(lineId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SAddPointLineGraphDrawerDebugCommand),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SAddPointLineGraphDrawerDebugCommand),
"::",
stringify!(y)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SDeletePointsLineGraphDrawerDebugCommand {
pub lineId: ::std::os::raw::c_int,
pub numPoints: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SDeletePointsLineGraphDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SDeletePointsLineGraphDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SDeletePointsLineGraphDrawerDebugCommand>(),
8usize,
concat!(
"Size of: ",
stringify!(SDeletePointsLineGraphDrawerDebugCommand)
)
);
assert_eq!(
::std::mem::align_of::<SDeletePointsLineGraphDrawerDebugCommand>(),
4usize,
concat!(
"Alignment of ",
stringify!(SDeletePointsLineGraphDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lineId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SDeletePointsLineGraphDrawerDebugCommand),
"::",
stringify!(lineId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).numPoints) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SDeletePointsLineGraphDrawerDebugCommand),
"::",
stringify!(numPoints)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetColorLineGraphDrawerDebugCommand {
pub lineId: ::std::os::raw::c_int,
pub color_colorS3: *mut ::std::os::raw::c_short,
}
#[test]
fn bindgen_test_layout_SSetColorLineGraphDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetColorLineGraphDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetColorLineGraphDrawerDebugCommand>(),
16usize,
concat!(
"Size of: ",
stringify!(SSetColorLineGraphDrawerDebugCommand)
)
);
assert_eq!(
::std::mem::align_of::<SSetColorLineGraphDrawerDebugCommand>(),
8usize,
concat!(
"Alignment of ",
stringify!(SSetColorLineGraphDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lineId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetColorLineGraphDrawerDebugCommand),
"::",
stringify!(lineId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).color_colorS3) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetColorLineGraphDrawerDebugCommand),
"::",
stringify!(color_colorS3)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetLabelLineGraphDrawerDebugCommand {
pub lineId: ::std::os::raw::c_int,
pub label: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_SSetLabelLineGraphDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetLabelLineGraphDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetLabelLineGraphDrawerDebugCommand>(),
16usize,
concat!(
"Size of: ",
stringify!(SSetLabelLineGraphDrawerDebugCommand)
)
);
assert_eq!(
::std::mem::align_of::<SSetLabelLineGraphDrawerDebugCommand>(),
8usize,
concat!(
"Alignment of ",
stringify!(SSetLabelLineGraphDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).lineId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetLabelLineGraphDrawerDebugCommand),
"::",
stringify!(lineId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).label) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetLabelLineGraphDrawerDebugCommand),
"::",
stringify!(label)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SAddOverlayTextureDrawerDebugCommand {
pub ret_overlayTextureId: ::std::os::raw::c_int,
pub texData: *const f32,
pub w: ::std::os::raw::c_int,
pub h: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SAddOverlayTextureDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SAddOverlayTextureDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SAddOverlayTextureDrawerDebugCommand>(),
24usize,
concat!(
"Size of: ",
stringify!(SAddOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
::std::mem::align_of::<SAddOverlayTextureDrawerDebugCommand>(),
8usize,
concat!(
"Alignment of ",
stringify!(SAddOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ret_overlayTextureId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SAddOverlayTextureDrawerDebugCommand),
"::",
stringify!(ret_overlayTextureId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).texData) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SAddOverlayTextureDrawerDebugCommand),
"::",
stringify!(texData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SAddOverlayTextureDrawerDebugCommand),
"::",
stringify!(w)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(SAddOverlayTextureDrawerDebugCommand),
"::",
stringify!(h)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUpdateOverlayTextureDrawerDebugCommand {
pub overlayTextureId: ::std::os::raw::c_int,
pub texData: *const f32,
pub x: ::std::os::raw::c_int,
pub y: ::std::os::raw::c_int,
pub w: ::std::os::raw::c_int,
pub h: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SUpdateOverlayTextureDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SUpdateOverlayTextureDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUpdateOverlayTextureDrawerDebugCommand>(),
32usize,
concat!(
"Size of: ",
stringify!(SUpdateOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
::std::mem::align_of::<SUpdateOverlayTextureDrawerDebugCommand>(),
8usize,
concat!(
"Alignment of ",
stringify!(SUpdateOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).overlayTextureId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUpdateOverlayTextureDrawerDebugCommand),
"::",
stringify!(overlayTextureId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).texData) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SUpdateOverlayTextureDrawerDebugCommand),
"::",
stringify!(texData)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SUpdateOverlayTextureDrawerDebugCommand),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(SUpdateOverlayTextureDrawerDebugCommand),
"::",
stringify!(y)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SUpdateOverlayTextureDrawerDebugCommand),
"::",
stringify!(w)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(SUpdateOverlayTextureDrawerDebugCommand),
"::",
stringify!(h)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SDeleteOverlayTextureDrawerDebugCommand {
pub overlayTextureId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SDeleteOverlayTextureDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SDeleteOverlayTextureDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SDeleteOverlayTextureDrawerDebugCommand>(),
4usize,
concat!(
"Size of: ",
stringify!(SDeleteOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
::std::mem::align_of::<SDeleteOverlayTextureDrawerDebugCommand>(),
4usize,
concat!(
"Alignment of ",
stringify!(SDeleteOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).overlayTextureId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SDeleteOverlayTextureDrawerDebugCommand),
"::",
stringify!(overlayTextureId)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetPositionOverlayTextureDrawerDebugCommand {
pub overlayTextureId: ::std::os::raw::c_int,
pub x: f32,
pub y: f32,
}
#[test]
fn bindgen_test_layout_SSetPositionOverlayTextureDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetPositionOverlayTextureDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetPositionOverlayTextureDrawerDebugCommand>(),
12usize,
concat!(
"Size of: ",
stringify!(SSetPositionOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
::std::mem::align_of::<SSetPositionOverlayTextureDrawerDebugCommand>(),
4usize,
concat!(
"Alignment of ",
stringify!(SSetPositionOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).overlayTextureId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetPositionOverlayTextureDrawerDebugCommand),
"::",
stringify!(overlayTextureId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetPositionOverlayTextureDrawerDebugCommand),
"::",
stringify!(x)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetPositionOverlayTextureDrawerDebugCommand),
"::",
stringify!(y)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetSizeOverlayTextureDrawerDebugCommand {
pub overlayTextureId: ::std::os::raw::c_int,
pub w: f32,
pub h: f32,
}
#[test]
fn bindgen_test_layout_SSetSizeOverlayTextureDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetSizeOverlayTextureDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetSizeOverlayTextureDrawerDebugCommand>(),
12usize,
concat!(
"Size of: ",
stringify!(SSetSizeOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
::std::mem::align_of::<SSetSizeOverlayTextureDrawerDebugCommand>(),
4usize,
concat!(
"Alignment of ",
stringify!(SSetSizeOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).overlayTextureId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetSizeOverlayTextureDrawerDebugCommand),
"::",
stringify!(overlayTextureId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SSetSizeOverlayTextureDrawerDebugCommand),
"::",
stringify!(w)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetSizeOverlayTextureDrawerDebugCommand),
"::",
stringify!(h)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSetLabelOverlayTextureDrawerDebugCommand {
pub overlayTextureId: ::std::os::raw::c_int,
pub label: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_SSetLabelOverlayTextureDrawerDebugCommand() {
const UNINIT: ::std::mem::MaybeUninit<SSetLabelOverlayTextureDrawerDebugCommand> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSetLabelOverlayTextureDrawerDebugCommand>(),
16usize,
concat!(
"Size of: ",
stringify!(SSetLabelOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
::std::mem::align_of::<SSetLabelOverlayTextureDrawerDebugCommand>(),
8usize,
concat!(
"Alignment of ",
stringify!(SSetLabelOverlayTextureDrawerDebugCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).overlayTextureId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSetLabelOverlayTextureDrawerDebugCommand),
"::",
stringify!(overlayTextureId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).label) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSetLabelOverlayTextureDrawerDebugCommand),
"::",
stringify!(label)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSkirmishAICallback {
#[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"]
pub Engine_handleCommand: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
toId: ::std::os::raw::c_int,
commandId: ::std::os::raw::c_int,
commandTopic: ::std::os::raw::c_int,
commandData: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
pub Engine_executeCommand: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
commandData: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the major engine revision number (e.g. 83)"]
pub Engine_Version_getMajor: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Minor version number (e.g. \"5\")\n @deprecated since 4. October 2011 (pre release 83), will always return \"0\""]
pub Engine_Version_getMinor: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Clients that only differ in patchset can still play together.\n Also demos should be compatible between patchsets."]
pub Engine_Version_getPatchset: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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]*\"."]
pub Engine_Version_getCommits: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " SCM unique identifier for the current commit.\n This matches the regex \"([0-9a-f]{6})?\"."]
pub Engine_Version_getHash: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " SCM branch name (e.g. \"master\" or \"develop\")"]
pub Engine_Version_getBranch: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Additional information (compiler flags, svn revision etc.)"]
pub Engine_Version_getAdditional: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " time of build"]
pub Engine_Version_getBuildTime: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns whether this is a release build of the engine"]
pub Engine_Version_isRelease:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
#[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\""]
pub Engine_Version_getNormal: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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\""]
pub Engine_Version_getSync: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " The verbose, human readable version.\n @return \"Major.Patchset[.1-Commits-gHash Branch] (Additional)\""]
pub Engine_Version_getFull: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns the number of teams in this game"]
pub getNumTeams: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the number of skirmish AIs in this game"]
pub getNumSkirmishAIs: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the maximum number of skirmish AIs in any game"]
pub getMaxSkirmishAIs: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the ID of the team controled by this Skirmish AI."]
pub SkirmishAI_getTeamId: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the number of info key-value pairs in the info map\n for this Skirmish AI."]
pub SkirmishAI_Info_getSize: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the key at index infoIndex in the info map\n for this Skirmish AI, or NULL if the infoIndex is invalid."]
pub SkirmishAI_Info_getKey: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
infoIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns the value at index infoIndex in the info map\n for this Skirmish AI, or NULL if the infoIndex is invalid."]
pub SkirmishAI_Info_getValue: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
infoIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[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."]
pub SkirmishAI_Info_getDescription: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
infoIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns the value associated with the given key in the info map\n for this Skirmish AI, or NULL if not found."]
pub SkirmishAI_Info_getValueByKey: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
key: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns the number of option key-value pairs in the options map\n for this Skirmish AI."]
pub SkirmishAI_OptionValues_getSize: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the key at index optionIndex in the options map\n for this Skirmish AI, or NULL if the optionIndex is invalid."]
pub SkirmishAI_OptionValues_getKey: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
optionIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns the value at index optionIndex in the options map\n for this Skirmish AI, or NULL if the optionIndex is invalid."]
pub SkirmishAI_OptionValues_getValue: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
optionIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns the value associated with the given key in the options map\n for this Skirmish AI, or NULL if not found."]
pub SkirmishAI_OptionValues_getValueByKey: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
key: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " This will end up in infolog"]
pub Log_log: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
msg: *const ::std::os::raw::c_char,
),
>,
#[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."]
pub Log_exception: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
msg: *const ::std::os::raw::c_char,
severety: ::std::os::raw::c_int,
die: bool,
),
>,
#[doc = " Returns '/' on posix and '\\\\' on windows"]
pub DataDirs_getPathSeparator: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_char,
>,
#[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/"]
pub DataDirs_getConfigDir: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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/"]
pub DataDirs_getWriteableDir: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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"]
pub DataDirs_locatePath: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
path: *mut ::std::os::raw::c_char,
path_sizeMax: ::std::os::raw::c_int,
relPath: *const ::std::os::raw::c_char,
writeable: bool,
create: bool,
dir: bool,
common: bool,
) -> bool,
>,
#[doc = " Returns the number of springs data dirs."]
pub DataDirs_Roots_getSize: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the data dir at dirIndex, which is valid between 0 and (DataDirs_Roots_getSize() - 1)."]
pub DataDirs_Roots_getDir: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
path: *mut ::std::os::raw::c_char,
path_sizeMax: ::std::os::raw::c_int,
dirIndex: ::std::os::raw::c_int,
) -> bool,
>,
#[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"]
pub DataDirs_Roots_locatePath: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
path: *mut ::std::os::raw::c_char,
path_sizeMax: ::std::os::raw::c_int,
relPath: *const ::std::os::raw::c_char,
writeable: bool,
create: bool,
dir: bool,
) -> bool,
>,
#[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"]
pub Game_getCurrentFrame: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
pub Game_getAiInterfaceVersion: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
pub Game_getMyTeam: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
pub Game_getMyAllyTeam: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
pub Game_getPlayerTeam: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
playerId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub Game_getTeams: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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"]
pub Game_getTeamSide: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[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]"]
pub Game_getTeamColor: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
return_colorS3_out: *mut ::std::os::raw::c_short,
),
>,
#[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]."]
pub Game_getTeamIncomeMultiplier: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Returns the ally-team of a team"]
pub Game_getTeamAllyTeam: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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"]
pub Game_getTeamResourceCurrent: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[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"]
pub Game_getTeamResourceIncome: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[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"]
pub Game_getTeamResourceUsage: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[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"]
pub Game_getTeamResourceStorage: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Game_getTeamResourcePull: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Game_getTeamResourceShare: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Game_getTeamResourceSent: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Game_getTeamResourceReceived: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Game_getTeamResourceExcess: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
otherTeamId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Returns true, if the two supplied ally-teams are currently allied"]
pub Game_isAllied: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
firstAllyTeamId: ::std::os::raw::c_int,
secondAllyTeamId: ::std::os::raw::c_int,
) -> bool,
>,
pub Game_isDebugModeEnabled:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
pub Game_getMode: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
pub Game_isPaused:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
pub Game_getSpeedFactor:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
pub Game_getSetupScript: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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"]
pub Game_getCategoryFlag: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
categoryName: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the bitfield values of a list of category names.\n @param categoryNames space delimited list of names\n @see Game#getCategoryFlag"]
pub Game_getCategoriesFlag: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
categoryNames: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
#[doc = " Return the name of the category described by a category flag.\n @see Game#getCategoryFlag"]
pub Game_getCategoryName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
categoryFlag: ::std::os::raw::c_int,
name: *mut ::std::os::raw::c_char,
name_sizeMax: ::std::os::raw::c_int,
),
>,
#[doc = " @return float value of parameter if it's set, defaultValue otherwise."]
pub Game_getRulesParamFloat: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
gameRulesParamName: *const ::std::os::raw::c_char,
defaultValue: f32,
) -> f32,
>,
#[doc = " @return string value of parameter if it's set, defaultValue otherwise."]
pub Game_getRulesParamString: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
gameRulesParamName: *const ::std::os::raw::c_char,
defaultValue: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns whether this AI may use active cheats."]
pub Cheats_isEnabled:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
#[doc = " Set whether this AI may use active cheats."]
pub Cheats_setEnabled: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int, enable: bool) -> bool,
>,
#[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."]
pub Cheats_setEventsEnabled: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int, enabled: bool) -> bool,
>,
#[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."]
pub Cheats_isOnlyPassive:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
pub getResources: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
pub getResourceByName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceName: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
pub Resource_getName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub Resource_getOptimum: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Economy_getCurrent: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Economy_getIncome: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Economy_getUsage: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Economy_getStorage: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Economy_getPull: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Economy_getShare: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Economy_getSent: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Economy_getReceived: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Economy_getExcess: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Return -1 when the file does not exist"]
pub File_getSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
fileName: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns false when file does not exist, or the buffer is too small"]
pub File_getContent: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
fileName: *const ::std::os::raw::c_char,
buffer: *mut ::std::os::raw::c_void,
bufferLen: ::std::os::raw::c_int,
) -> bool,
>,
#[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."]
pub getUnitDefs: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefIds: *mut ::std::os::raw::c_int,
unitDefIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub getUnitDefByName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitName: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
#[doc = " Forces loading of the unit model"]
pub UnitDef_getHeight: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Forces loading of the unit model"]
pub UnitDef_getRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub UnitDef_getHumanName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub UnitDef_getUpkeep: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " This amount of the resource will always be created."]
pub UnitDef_getResourceMake: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " This amount of the resource will be created when the unit is on and enough\n energy can be drained."]
pub UnitDef_getMakesResource: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getCost: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getExtractsResource: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getResourceExtractorRange: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getWindResourceGenerator: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getTidalResourceGenerator: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getStorage: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getBuildTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " This amount of auto-heal will always be applied."]
pub UnitDef_getAutoHeal: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " This amount of auto-heal will only be applied while the unit is idling."]
pub UnitDef_getIdleAutoHeal: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Time a unit needs to idle before it is considered idling."]
pub UnitDef_getIdleTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getPower: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getHealth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Returns the bit field value denoting the categories this unit is in.\n @see Game#getCategoryFlag\n @see Game#getCategoryName"]
pub UnitDef_getCategory: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getTurnRate: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_isTurnInPlace: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Units above this distance to goal will try to turn while keeping\n some of their speed.\n 0 to disable"]
pub UnitDef_getTurnInPlaceDistance: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Units below this speed will turn in place regardless of their\n turnInPlace setting."]
pub UnitDef_getTurnInPlaceSpeedLimit: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_isUpright: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isCollide: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_getLosRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getAirLosRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getLosHeight: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getRadarRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getSonarRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getJammerRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getSonarJamRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getSeismicRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getSeismicSignature: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_isStealth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isSonarStealth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isBuildRange3D: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_getBuildDistance: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getBuildSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getReclaimSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getRepairSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMaxRepairSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getResurrectSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getCaptureSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getTerraformSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getUpDirSmoothing: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMass: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_isPushResistant: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Should the unit move sideways when it can not shoot?"]
pub UnitDef_isStrafeToAttack: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_getMinCollisionSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getSlideTolerance: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[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."]
pub UnitDef_getMaxHeightDif: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMinWaterDepth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getWaterline: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMaxWaterDepth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getArmoredMultiple: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getArmorType: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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"]
pub UnitDef_FlankingBonus_getMode: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " The unit takes less damage when attacked from this direction.\n This encourage flanking fire."]
pub UnitDef_FlankingBonus_getDir: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
return_posF3_out: *mut f32,
),
>,
#[doc = " Damage factor for the least protected direction"]
pub UnitDef_FlankingBonus_getMax: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Damage factor for the most protected direction"]
pub UnitDef_FlankingBonus_getMin: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " How much the ability of the flanking bonus direction to move builds up each\n frame."]
pub UnitDef_FlankingBonus_getMobilityAdd: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMaxWeaponRange: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getTooltip: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub UnitDef_getWreckName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub UnitDef_getDeathExplosion: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getSelfDExplosion: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the name of the category this unit is in.\n @see Game#getCategoryFlag\n @see Game#getCategoryName"]
pub UnitDef_getCategoryString: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub UnitDef_isAbleToSelfD: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_getSelfDCountdown: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_isAbleToSubmerge: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToFly: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToMove: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToHover: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isFloater: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isBuilder: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isActivateWhenBuilt: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isOnOffable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isFullHealthFactory: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isFactoryHeadingTakeoff: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isReclaimable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isCapturable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToRestore: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToRepair: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToSelfRepair: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToReclaim: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToAttack: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToPatrol: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToFight: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToGuard: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToAssist: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAssistable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToRepeat: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToFireControl: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_getFireState: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getMoveState: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getWingDrag: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getWingAngle: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getFrontToSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getSpeedToFront: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMyGravity: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMaxBank: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMaxPitch: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getTurnRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getWantedHeight: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getVerticalSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_isHoverAttack: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAirStrafe: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " @return < 0: it can land\n >= 0: how much the unit will move during hovering on the spot"]
pub UnitDef_getDlHoverFactor: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMaxAcceleration: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMaxDeceleration: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMaxAileron: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMaxElevator: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMaxRudder: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[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()"]
pub UnitDef_getYardMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
facing: ::std::os::raw::c_int,
yardMap: *mut ::std::os::raw::c_short,
yardMap_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getXSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getZSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getLoadingRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getUnloadSpread: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getTransportCapacity: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getTransportSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getMinTransportSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_isAirBase: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isFirePlatform: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_getTransportMass: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getMinTransportMass: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_isHoldSteady: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isReleaseHeld: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isNotTransportable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isTransportByEnemy: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " @return 0: land unload\n 1: fly-over drop\n 2: land flood"]
pub UnitDef_getTransportUnloadMethod: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub UnitDef_getFallSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Sets the transported units FBI, overrides fallSpeed"]
pub UnitDef_getUnitFallSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " If the unit can cloak"]
pub UnitDef_isAbleToCloak: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " If the unit wants to start out cloaked"]
pub UnitDef_isStartCloaked: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Energy cost per second to stay cloaked when stationary"]
pub UnitDef_getCloakCost: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Energy cost per second to stay cloaked when moving"]
pub UnitDef_getCloakCostMoving: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " If enemy unit comes within this range, decloaking is forced"]
pub UnitDef_getDecloakDistance: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Use a spherical, instead of a cylindrical test?"]
pub UnitDef_isDecloakSpherical: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Will the unit decloak upon firing?"]
pub UnitDef_isDecloakOnFire: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Will the unit self destruct if an enemy comes to close?"]
pub UnitDef_isAbleToKamikaze: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_getKamikazeDist: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_isTargetingFacility: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_canManualFire: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isNeedGeo: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isFeature: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isHideDamage: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isShowPlayerName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToResurrect: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_isAbleToCapture: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Indicates the trajectory types supported by this unit.\n\n @return 0: (default) = only low\n 1: only high\n 2: choose"]
pub UnitDef_getHighTrajectoryType: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the bit field value denoting the categories this unit shall not\n chase.\n @see Game#getCategoryFlag\n @see Game#getCategoryName"]
pub UnitDef_getNoChaseCategory: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_isAbleToDropFlare: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_getFlareReloadTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getFlareEfficiency: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getFlareDelay: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_getFlareDropVector: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
return_posF3_out: *mut f32,
),
>,
pub UnitDef_getFlareTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getFlareSalvoSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getFlareSalvoDelay: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Only matters for fighter aircraft"]
pub UnitDef_isAbleToLoopbackAttack: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Indicates whether the ground will be leveled/flattened out\n after this building has been built on it.\n Only matters for buildings."]
pub UnitDef_isLevelGround: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Number of units of this type allowed simultaneously in the game"]
pub UnitDef_getMaxThisUnit: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getDecoyDef: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_isDontLand: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_getShieldDef: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getStockpileDef: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getBuildOptions: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
unitDefIds: *mut ::std::os::raw::c_int,
unitDefIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_getCustomParams: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
keys: *mut *const ::std::os::raw::c_char,
values: *mut *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_isMoveDataAvailable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_MoveData_getXSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_MoveData_getZSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_MoveData_getDepth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_MoveData_getMaxSlope: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_MoveData_getSlopeMod: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub UnitDef_MoveData_getDepthMod: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
height: f32,
) -> f32,
>,
pub UnitDef_MoveData_getPathType: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_MoveData_getCrushStrength: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " enum SpeedModClass { Tank=0, KBot=1, Hover=2, Ship=3 };"]
pub UnitDef_MoveData_getSpeedModClass: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_MoveData_getTerrainClass: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_MoveData_getFollowGround: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_MoveData_isSubMarine: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub UnitDef_MoveData_getName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub UnitDef_getWeaponMounts: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_WeaponMount_getName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
weaponMountId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub UnitDef_WeaponMount_getWeaponDef: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
weaponMountId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_WeaponMount_getSlavedTo: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
weaponMountId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub UnitDef_WeaponMount_getMainDir: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
weaponMountId: ::std::os::raw::c_int,
return_posF3_out: *mut f32,
),
>,
pub UnitDef_WeaponMount_getMaxAngleDif: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
weaponMountId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Returns the bit field value denoting the categories this weapon should\n not target.\n @see Game#getCategoryFlag\n @see Game#getCategoryName"]
pub UnitDef_WeaponMount_getBadTargetCategory: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
weaponMountId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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"]
pub UnitDef_WeaponMount_getOnlyTargetCategory: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
weaponMountId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub Unit_getLimit: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the maximum total number of units that may exist at any one point\n in time induring the current game."]
pub Unit_getMax: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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."]
pub getEnemyUnits: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitIds: *mut ::std::os::raw::c_int,
unitIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub getEnemyUnitsIn: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
pos_posF3: *mut f32,
radius: f32,
spherical: bool,
unitIds: *mut ::std::os::raw::c_int,
unitIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub getEnemyUnitsInRadarAndLos: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitIds: *mut ::std::os::raw::c_int,
unitIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns all units that are in this teams ally-team, including this teams\n units."]
pub getFriendlyUnits: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitIds: *mut ::std::os::raw::c_int,
unitIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub getFriendlyUnitsIn: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
pos_posF3: *mut f32,
radius: f32,
spherical: bool,
unitIds: *mut ::std::os::raw::c_int,
unitIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns all units that are neutral and are in LOS."]
pub getNeutralUnits: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitIds: *mut ::std::os::raw::c_int,
unitIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub getNeutralUnitsIn: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
pos_posF3: *mut f32,
radius: f32,
spherical: bool,
unitIds: *mut ::std::os::raw::c_int,
unitIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub getTeamUnits: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitIds: *mut ::std::os::raw::c_int,
unitIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns all units that are currently selected\n (usually only contains units if a human player\n is controlling this team as well)."]
pub getSelectedUnits: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitIds: *mut ::std::os::raw::c_int,
unitIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub Unit_getDef: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " @return float value of parameter if it's set, defaultValue otherwise."]
pub Unit_getRulesParamFloat: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
unitRulesParamName: *const ::std::os::raw::c_char,
defaultValue: f32,
) -> f32,
>,
#[doc = " @return string value of parameter if it's set, defaultValue otherwise."]
pub Unit_getRulesParamString: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
unitRulesParamName: *const ::std::os::raw::c_char,
defaultValue: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
pub Unit_getTeam: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_getAllyTeam: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_getStockpile: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_getStockpileQueued: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " The unit's max speed"]
pub Unit_getMaxSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " The furthest any weapon of the unit can fire"]
pub Unit_getMaxRange: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " The unit's max health"]
pub Unit_getMaxHealth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " How experienced the unit is (0.0f - 1.0f)"]
pub Unit_getExperience: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Returns the group a unit belongs to, -1 if none"]
pub Unit_getGroup: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_getCurrentCommands: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " For the type of the command queue, see CCommandQueue::CommandQueueType\n in Sim/Unit/CommandAI/CommandQueue.h"]
pub Unit_CurrentCommand_getType: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h\n (custom codes can also be used)"]
pub Unit_CurrentCommand_getId: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
commandId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_CurrentCommand_getOptions: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
commandId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_short,
>,
pub Unit_CurrentCommand_getTag: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
commandId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_CurrentCommand_getTimeOut: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
commandId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_CurrentCommand_getParams: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
commandId: ::std::os::raw::c_int,
params: *mut f32,
params_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " The commands that this unit can understand, other commands will be ignored"]
pub Unit_getSupportedCommands: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h\n (custom codes can also be used)"]
pub Unit_SupportedCommand_getId: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_SupportedCommand_getName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub Unit_SupportedCommand_getToolTip: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub Unit_SupportedCommand_isShowUnique: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
) -> bool,
>,
pub Unit_SupportedCommand_isDisabled: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
) -> bool,
>,
pub Unit_SupportedCommand_getParams: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
params: *mut *const ::std::os::raw::c_char,
params_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " The unit's current health"]
pub Unit_getHealth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> f32,
>,
pub Unit_getParalyzeDamage: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> f32,
>,
pub Unit_getCaptureProgress: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> f32,
>,
pub Unit_getBuildProgress: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> f32,
>,
pub Unit_getSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> f32,
>,
#[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."]
pub Unit_getPower: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> f32,
>,
pub Unit_getResourceUse: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Unit_getResourceMake: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Unit_getPos: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
return_posF3_out: *mut f32,
),
>,
pub Unit_getVel: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
return_posF3_out: *mut f32,
),
>,
pub Unit_isActivated: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Returns true if the unit is currently being built"]
pub Unit_isBeingBuilt: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> bool,
>,
pub Unit_isCloaked: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> bool,
>,
pub Unit_isParalyzed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> bool,
>,
pub Unit_isNeutral: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Returns the unit's build facing (0-3)"]
pub Unit_getBuildingFacing: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Number of the last frame this unit received an order from a player."]
pub Unit_getLastUserOrderFrame: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_getWeapons: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_getWeapon: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
weaponMountId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Team_hasAIController: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
teamId: ::std::os::raw::c_int,
) -> bool,
>,
pub getEnemyTeams: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
teamIds: *mut ::std::os::raw::c_int,
teamIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub getAlliedTeams: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
teamIds: *mut ::std::os::raw::c_int,
teamIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " @return float value of parameter if it's set, defaultValue otherwise."]
pub Team_getRulesParamFloat: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
teamId: ::std::os::raw::c_int,
teamRulesParamName: *const ::std::os::raw::c_char,
defaultValue: f32,
) -> f32,
>,
#[doc = " @return string value of parameter if it's set, defaultValue otherwise."]
pub Team_getRulesParamString: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
teamId: ::std::os::raw::c_int,
teamRulesParamName: *const ::std::os::raw::c_char,
defaultValue: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
pub getGroups: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupIds: *mut ::std::os::raw::c_int,
groupIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Group_getSupportedCommands: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h\n (custom codes can also be used)"]
pub Group_SupportedCommand_getId: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Group_SupportedCommand_getName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub Group_SupportedCommand_getToolTip: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub Group_SupportedCommand_isShowUnique: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
) -> bool,
>,
pub Group_SupportedCommand_isDisabled: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
) -> bool,
>,
pub Group_SupportedCommand_getParams: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
supportedCommandId: ::std::os::raw::c_int,
params: *mut *const ::std::os::raw::c_char,
params_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " For the id, see CMD_xxx codes in Sim/Unit/CommandAI/Command.h\n (custom codes can also be used)"]
pub Group_OrderPreview_getId: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Group_OrderPreview_getOptions: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_short,
>,
pub Group_OrderPreview_getTag: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Group_OrderPreview_getTimeOut: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Group_OrderPreview_getParams: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
params: *mut f32,
params_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Group_isSelected: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
groupId: ::std::os::raw::c_int,
) -> bool,
>,
#[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"]
pub Mod_getFileName: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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()"]
pub Mod_getHash: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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()"]
pub Mod_getHumanName: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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()"]
pub Mod_getShortName: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
pub Mod_getVersion: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
pub Mod_getMutator: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
pub Mod_getDescription: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Should constructions without builders decay?"]
pub Mod_getConstructionDecay:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
#[doc = " How long until they start decaying?"]
pub Mod_getConstructionDecayTime: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " How fast do they decay?"]
pub Mod_getConstructionDecaySpeed:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
#[doc = " 0 = 1 reclaimer per feature max, otherwise unlimited"]
pub Mod_getMultiReclaim: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " 0 = gradual reclaim, 1 = all reclaimed at end, otherwise reclaim in reclaimMethod chunks"]
pub Mod_getReclaimMethod: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " 0 = Revert to wireframe, gradual reclaim, 1 = Subtract HP, give full metal at end, default 1"]
pub Mod_getReclaimUnitMethod: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " How much energy should reclaiming a unit cost, default 0.0"]
pub Mod_getReclaimUnitEnergyCostFactor:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
#[doc = " How much metal should reclaim return, default 1.0"]
pub Mod_getReclaimUnitEfficiency:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
#[doc = " How much should energy should reclaiming a feature cost, default 0.0"]
pub Mod_getReclaimFeatureEnergyCostFactor:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
#[doc = " Allow reclaiming enemies? default true"]
pub Mod_getReclaimAllowEnemies:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
#[doc = " Allow reclaiming allies? default true"]
pub Mod_getReclaimAllowAllies:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
#[doc = " How much should energy should repair cost, default 0.0"]
pub Mod_getRepairEnergyCostFactor:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
#[doc = " How much should energy should resurrect cost, default 0.5"]
pub Mod_getResurrectEnergyCostFactor:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
#[doc = " How much should energy should capture cost, default 0.0"]
pub Mod_getCaptureEnergyCostFactor:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
#[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."]
pub Mod_getTransportGround: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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."]
pub Mod_getTransportHover: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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."]
pub Mod_getTransportShip: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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."]
pub Mod_getTransportAir: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " 1 = units fire at enemies running Killed() script, 0 = units ignore such enemies"]
pub Mod_getFireAtKilled: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " 1 = units fire at crashing aircrafts, 0 = units ignore crashing aircrafts"]
pub Mod_getFireAtCrashing: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " 0=no flanking bonus; 1=global coords, mobile; 2=unit coords, mobile; 3=unit coords, locked"]
pub Mod_getFlankingBonusModeDefault: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " miplevel for los"]
pub Mod_getLosMipLevel: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " miplevel to use for airlos"]
pub Mod_getAirMipLevel: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " miplevel for radar"]
pub Mod_getRadarMipLevel: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " when underwater, units are not in LOS unless also in sonar"]
pub Mod_getRequireSonarUnderWater:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
pub Map_getChecksum: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
pub Map_getStartPos: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int, return_posF3_out: *mut f32),
>,
pub Map_getMousePos: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int, return_posF3_out: *mut f32),
>,
pub Map_isPosInCamera: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
pos_posF3: *mut f32,
radius: f32,
) -> bool,
>,
#[doc = " Returns the maps center heightmap width.\n @see getHeightMap()"]
pub Map_getWidth: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the maps center heightmap height.\n @see getHeightMap()"]
pub Map_getHeight: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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()"]
pub Map_getHeightMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
heights: *mut f32,
heights_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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()"]
pub Map_getCornersHeightMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
cornerHeights: *mut f32,
cornerHeights_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Map_getMinHeight:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
pub Map_getMaxHeight:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
#[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)"]
pub Map_getSlopeMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
slopes: *mut f32,
slopes_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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)"]
pub Map_getLosMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
losValues: *mut ::std::os::raw::c_int,
losValues_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " @brief the level of sight map\n mapDims.mapx >> airMipLevel\n @see getLosMap()"]
pub Map_getAirLosMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
airLosValues: *mut ::std::os::raw::c_int,
airLosValues_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " @brief the radar map\n mapDims.mapx >> radarMipLevel\n @see getLosMap()"]
pub Map_getRadarMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
radarValues: *mut ::std::os::raw::c_int,
radarValues_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " @see getRadarMap()"]
pub Map_getSonarMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
sonarValues: *mut ::std::os::raw::c_int,
sonarValues_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " @see getRadarMap()"]
pub Map_getSeismicMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
seismicValues: *mut ::std::os::raw::c_int,
seismicValues_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " @see getRadarMap()"]
pub Map_getJammerMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
jammerValues: *mut ::std::os::raw::c_int,
jammerValues_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " @see getRadarMap()"]
pub Map_getSonarJammerMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
sonarJammerValues: *mut ::std::os::raw::c_int,
sonarJammerValues_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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)"]
pub Map_getResourceMapRaw: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
resources: *mut ::std::os::raw::c_short,
resources_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub Map_getResourceMapSpotsPositions: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
spots_AposF3: *mut f32,
spots_AposF3_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the average resource income for an extractor on one of the evaluated positions."]
pub Map_getResourceMapSpotsAverageIncome: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Returns the nearest resource extractor spot to a specified position out of the evaluated list."]
pub Map_getResourceMapSpotsNearest: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
pos_posF3: *mut f32,
return_posF3_out: *mut f32,
),
>,
#[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()"]
pub Map_getHash: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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()"]
pub Map_getName: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns the human readbale name of the map.\n @see getName()"]
pub Map_getHumanName: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Gets the elevation of the map at position (x, z)"]
pub Map_getElevationAt: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int, x: f32, z: f32) -> f32,
>,
#[doc = " Returns what value 255 in the resource map is worth"]
pub Map_getMaxResource: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Returns extraction radius for resource extractors"]
pub Map_getExtractorRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub Map_getMinWind:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
pub Map_getMaxWind:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
pub Map_getCurWind:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
pub Map_getTidalStrength:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
pub Map_getGravity:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
pub Map_getWaterDamage:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
pub Map_isDeformable:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
#[doc = " Returns global map hardness"]
pub Map_getHardness:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> f32>,
#[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()"]
pub Map_getHardnessModMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
hardMods: *mut f32,
hardMods_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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"]
pub Map_getSpeedModMap: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
speedModClass: ::std::os::raw::c_int,
speedMods: *mut f32,
speedMods_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub Map_getPoints: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
includeAllies: bool,
) -> ::std::os::raw::c_int,
>,
pub Map_Point_getPosition: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
pointId: ::std::os::raw::c_int,
return_posF3_out: *mut f32,
),
>,
pub Map_Point_getColor: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
pointId: ::std::os::raw::c_int,
return_colorS3_out: *mut ::std::os::raw::c_short,
),
>,
pub Map_Point_getLabel: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
pointId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[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."]
pub Map_getLines: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
includeAllies: bool,
) -> ::std::os::raw::c_int,
>,
pub Map_Line_getFirstPosition: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
lineId: ::std::os::raw::c_int,
return_posF3_out: *mut f32,
),
>,
pub Map_Line_getSecondPosition: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
lineId: ::std::os::raw::c_int,
return_posF3_out: *mut f32,
),
>,
pub Map_Line_getColor: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
lineId: ::std::os::raw::c_int,
return_colorS3_out: *mut ::std::os::raw::c_short,
),
>,
pub Map_isPossibleToBuildAt: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
pos_posF3: *mut f32,
facing: ::std::os::raw::c_int,
) -> bool,
>,
#[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."]
pub Map_findClosestBuildSite: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitDefId: ::std::os::raw::c_int,
pos_posF3: *mut f32,
searchRadius: f32,
minDist: ::std::os::raw::c_int,
facing: ::std::os::raw::c_int,
return_posF3_out: *mut f32,
),
>,
pub getFeatureDefs: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefIds: *mut ::std::os::raw::c_int,
featureDefIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub FeatureDef_getName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub FeatureDef_getDescription: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub FeatureDef_getContainedResource: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub FeatureDef_getMaxHealth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub FeatureDef_getReclaimTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Used to see if the object can be overrun by units of a certain heavyness"]
pub FeatureDef_getMass: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub FeatureDef_isUpright: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub FeatureDef_getDrawType: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub FeatureDef_getModelName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[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"]
pub FeatureDef_getResurrectable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub FeatureDef_getSmokeTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub FeatureDef_isDestructable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub FeatureDef_isReclaimable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub FeatureDef_isAutoreclaimable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub FeatureDef_isBlocking: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub FeatureDef_isBurnable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub FeatureDef_isFloating: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub FeatureDef_isNoSelect: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub FeatureDef_isGeoThermal: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Size of the feature along the X axis - in other words: height.\n each size is 8 units"]
pub FeatureDef_getXSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Size of the feature along the Z axis - in other words: width.\n each size is 8 units"]
pub FeatureDef_getZSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub FeatureDef_getCustomParams: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureDefId: ::std::os::raw::c_int,
keys: *mut *const ::std::os::raw::c_char,
values: *mut *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns all features currently in LOS, or all features on the map\n if cheating is enabled."]
pub getFeatures: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureIds: *mut ::std::os::raw::c_int,
featureIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Returns all features in a specified area that are currently in LOS,\n or all features in this area if cheating is enabled."]
pub getFeaturesIn: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
pos_posF3: *mut f32,
radius: f32,
spherical: bool,
featureIds: *mut ::std::os::raw::c_int,
featureIds_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Feature_getDef: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Feature_getHealth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureId: ::std::os::raw::c_int,
) -> f32,
>,
pub Feature_getReclaimLeft: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureId: ::std::os::raw::c_int,
) -> f32,
>,
pub Feature_getPosition: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureId: ::std::os::raw::c_int,
return_posF3_out: *mut f32,
),
>,
#[doc = " @return float value of parameter if it's set, defaultValue otherwise."]
pub Feature_getRulesParamFloat: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
featureRulesParamName: *const ::std::os::raw::c_char,
defaultValue: f32,
) -> f32,
>,
#[doc = " @return string value of parameter if it's set, defaultValue otherwise."]
pub Feature_getRulesParamString: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
featureRulesParamName: *const ::std::os::raw::c_char,
defaultValue: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
pub Feature_getResurrectDef: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Feature_getBuildingFacing: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
featureId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_short,
>,
pub getWeaponDefs: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
pub getWeaponDefByName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefName: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
pub WeaponDef_getName: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub WeaponDef_getType: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub WeaponDef_getDescription: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
pub WeaponDef_getRange: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getHeightMod: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Inaccuracy of whole burst"]
pub WeaponDef_getAccuracy: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Inaccuracy of individual shots inside burst"]
pub WeaponDef_getSprayAngle: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Inaccuracy while owner moving"]
pub WeaponDef_getMovingAccuracy: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Fraction of targets move speed that is used as error offset"]
pub WeaponDef_getTargetMoveError: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Maximum distance the weapon will lead the target"]
pub WeaponDef_getLeadLimit: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Factor for increasing the leadLimit with experience"]
pub WeaponDef_getLeadBonus: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Replaces hardcoded behaviour for burnblow cannons"]
pub WeaponDef_getPredictBoost: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getNumDamageTypes: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
pub WeaponDef_Damage_getParalyzeDamageTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub WeaponDef_Damage_getImpulseFactor: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_Damage_getImpulseBoost: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_Damage_getCraterMult: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_Damage_getCraterBoost: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_Damage_getTypes: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
types: *mut f32,
types_sizeMax: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub WeaponDef_getAreaOfEffect: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_isNoSelfDamage: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_getFireStarter: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getEdgeEffectiveness: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getSizeGrowth: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getCollisionSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getSalvoSize: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub WeaponDef_getSalvoDelay: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getReload: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getBeamTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_isBeamBurst: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isWaterBounce: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isGroundBounce: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_getBounceRebound: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getBounceSlip: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getNumBounce: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub WeaponDef_getMaxAngle: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getUpTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getFlightTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub WeaponDef_getCost: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getProjectilesPerShot: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub WeaponDef_isTurret: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isOnlyForward: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isFixedLauncher: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isWaterWeapon: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isFireSubmersed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Lets a torpedo travel above water like it does below water"]
pub WeaponDef_isSubMissile: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isTracks: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isDropped: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " The weapon will only paralyze, not do real damage."]
pub WeaponDef_isParalyzer: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " The weapon damages by impacting, not by exploding."]
pub WeaponDef_isImpactOnly: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Can not target anything (for example: anti-nuke, D-Gun)"]
pub WeaponDef_isNoAutoTarget: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Has to be fired manually (by the player or an AI, example: D-Gun)"]
pub WeaponDef_isManualFire: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Can intercept targetable weapons shots.\n\n example: anti-nuke\n\n @see getTargetable()"]
pub WeaponDef_getInterceptor: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Shoots interceptable projectiles.\n Shots can be intercepted by interceptors.\n\n example: nuke\n\n @see getInterceptor()"]
pub WeaponDef_getTargetable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub WeaponDef_isStockpileable: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Range of interceptors.\n\n example: anti-nuke\n\n @see getInterceptor()"]
pub WeaponDef_getCoverageRange: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Build time of a missile"]
pub WeaponDef_getStockpileTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getIntensity: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getDuration: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getFalloffRate: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_isSoundTrigger: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isSelfExplode: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isGravityAffected: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Per weapon high trajectory setting.\n UnitDef also has this property.\n\n @return 0: low\n 1: high\n 2: unit"]
pub WeaponDef_getHighTrajectory: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub WeaponDef_getMyGravity: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_isNoExplode: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_getStartVelocity: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getWeaponAcceleration: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getTurnRate: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getMaxVelocity: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getProjectileSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getExplosionSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[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"]
pub WeaponDef_getOnlyTargetCategory: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " How much the missile will wobble around its course."]
pub WeaponDef_getWobble: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " How much the missile will dance."]
pub WeaponDef_getDance: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " How high trajectory missiles will try to fly in."]
pub WeaponDef_getTrajectoryHeight: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_isLargeBeamLaser: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " If the weapon is a shield rather than a weapon."]
pub WeaponDef_isShield: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " If the weapon should be repulsed or absorbed."]
pub WeaponDef_isShieldRepulser: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " If the shield only affects enemy projectiles."]
pub WeaponDef_isSmartShield: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " If the shield only affects stuff coming from outside shield radius."]
pub WeaponDef_isExteriorShield: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " If the shield should be graphically shown."]
pub WeaponDef_isVisibleShield: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " If a small graphic should be shown at each repulse."]
pub WeaponDef_isVisibleShieldRepulse: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " The number of frames to draw the shield after it has been hit."]
pub WeaponDef_getVisibleShieldHitFrames: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Amount of the resource used per shot or per second,\n depending on the type of projectile."]
pub WeaponDef_Shield_getResourceUse: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Size of shield covered area"]
pub WeaponDef_Shield_getRadius: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Shield acceleration on plasma stuff.\n How much will plasma be accelerated into the other direction\n when it hits the shield."]
pub WeaponDef_Shield_getForce: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Maximum speed to which the shield can repulse plasma."]
pub WeaponDef_Shield_getMaxSpeed: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Amount of damage the shield can reflect. (0=infinite)"]
pub WeaponDef_Shield_getPower: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Amount of power that is regenerated per second."]
pub WeaponDef_Shield_getPowerRegen: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " How much of a given resource is needed to regenerate power\n with max speed per second."]
pub WeaponDef_Shield_getPowerRegenResource: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
resourceId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " How much power the shield has when it is created."]
pub WeaponDef_Shield_getStartingPower: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Number of frames to delay recharging by after each hit."]
pub WeaponDef_Shield_getRechargeDelay: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " The type of the shield (bitfield).\n Defines what weapons can be intercepted by the shield.\n\n @see getInterceptedByShieldType()"]
pub WeaponDef_Shield_getInterceptType: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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()"]
pub WeaponDef_getInterceptedByShieldType: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Tries to avoid friendly units while aiming?"]
pub WeaponDef_isAvoidFriendly: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Tries to avoid features while aiming?"]
pub WeaponDef_isAvoidFeature: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " Tries to avoid neutral units while aiming?"]
pub WeaponDef_isAvoidNeutral: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
#[doc = " If nonzero, targetting units will TryTarget at the edge of collision sphere\n (radius*tag value, [-1;1]) instead of its centre."]
pub WeaponDef_getTargetBorder: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " If greater than 0, the range will be checked in a cylinder\n (height=range*cylinderTargetting) instead of a sphere."]
pub WeaponDef_getCylinderTargetting: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[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."]
pub WeaponDef_getMinIntensity: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Controls cannon range height boost.\n\n default: -1: automatically calculate a more or less sane value"]
pub WeaponDef_getHeightBoostFactor: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
#[doc = " Multiplier for the distance to the target for priority calculations."]
pub WeaponDef_getProximityPriority: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getCollisionFlags: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub WeaponDef_isSweepFire: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_isAbleToAttackGround: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_getCameraShake: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getDynDamageExp: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getDynDamageMin: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_getDynDamageRange: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> f32,
>,
pub WeaponDef_isDynDamageInverted: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
) -> bool,
>,
pub WeaponDef_getCustomParams: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
weaponDefId: ::std::os::raw::c_int,
keys: *mut *const ::std::os::raw::c_char,
values: *mut *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
pub Unit_Weapon_getDef: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
weaponId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Next tick the weapon can fire again."]
pub Unit_Weapon_getReloadFrame: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
weaponId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[doc = " Time between succesive fires in ticks."]
pub Unit_Weapon_getReloadTime: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
weaponId: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
pub Unit_Weapon_getRange: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
weaponId: ::std::os::raw::c_int,
) -> f32,
>,
pub Unit_Weapon_isShieldEnabled: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
weaponId: ::std::os::raw::c_int,
) -> bool,
>,
pub Unit_Weapon_getShieldPower: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
unitId: ::std::os::raw::c_int,
weaponId: ::std::os::raw::c_int,
) -> f32,
>,
pub Debug_GraphDrawer_isEnabled:
::std::option::Option<unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> bool>,
}
#[test]
fn bindgen_test_layout_SSkirmishAICallback() {
const UNINIT: ::std::mem::MaybeUninit<SSkirmishAICallback> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSkirmishAICallback>(),
4720usize,
concat!("Size of: ", stringify!(SSkirmishAICallback))
);
assert_eq!(
::std::mem::align_of::<SSkirmishAICallback>(),
8usize,
concat!("Alignment of ", stringify!(SSkirmishAICallback))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_handleCommand) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_handleCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_executeCommand) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_executeCommand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getMajor) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getMajor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getMinor) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getMinor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getPatchset) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getPatchset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getCommits) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getCommits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getHash) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getHash)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getBranch) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getBranch)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Engine_Version_getAdditional) as usize - ptr as usize
},
64usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getAdditional)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getBuildTime) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getBuildTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_isRelease) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_isRelease)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getNormal) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getNormal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getSync) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getSync)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getFull) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Engine_Version_getFull)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getNumTeams) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getNumTeams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getNumSkirmishAIs) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getNumSkirmishAIs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getMaxSkirmishAIs) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getMaxSkirmishAIs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).SkirmishAI_getTeamId) as usize - ptr as usize },
136usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(SkirmishAI_getTeamId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getSize) as usize - ptr as usize },
144usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(SkirmishAI_Info_getSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getKey) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(SkirmishAI_Info_getKey)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getValue) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(SkirmishAI_Info_getValue)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getDescription) as usize - ptr as usize
},
168usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(SkirmishAI_Info_getDescription)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getValueByKey) as usize - ptr as usize
},
176usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(SkirmishAI_Info_getValueByKey)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).SkirmishAI_OptionValues_getSize) as usize - ptr as usize
},
184usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(SkirmishAI_OptionValues_getSize)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).SkirmishAI_OptionValues_getKey) as usize - ptr as usize
},
192usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(SkirmishAI_OptionValues_getKey)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).SkirmishAI_OptionValues_getValue) as usize - ptr as usize
},
200usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(SkirmishAI_OptionValues_getValue)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).SkirmishAI_OptionValues_getValueByKey) as usize
- ptr as usize
},
208usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(SkirmishAI_OptionValues_getValueByKey)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Log_log) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Log_log)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Log_exception) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Log_exception)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getPathSeparator) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(DataDirs_getPathSeparator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getConfigDir) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(DataDirs_getConfigDir)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getWriteableDir) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(DataDirs_getWriteableDir)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_locatePath) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(DataDirs_locatePath)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_getSize) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(DataDirs_Roots_getSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_getDir) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(DataDirs_Roots_getDir)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_locatePath) as usize - ptr as usize },
280usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(DataDirs_Roots_locatePath)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getCurrentFrame) as usize - ptr as usize },
288usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getCurrentFrame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getAiInterfaceVersion) as usize - ptr as usize },
296usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getAiInterfaceVersion)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getMyTeam) as usize - ptr as usize },
304usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getMyTeam)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getMyAllyTeam) as usize - ptr as usize },
312usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getMyAllyTeam)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getPlayerTeam) as usize - ptr as usize },
320usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getPlayerTeam)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeams) as usize - ptr as usize },
328usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamSide) as usize - ptr as usize },
336usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamSide)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamColor) as usize - ptr as usize },
344usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamColor)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Game_getTeamIncomeMultiplier) as usize - ptr as usize
},
352usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamIncomeMultiplier)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamAllyTeam) as usize - ptr as usize },
360usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamAllyTeam)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceCurrent) as usize - ptr as usize },
368usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamResourceCurrent)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceIncome) as usize - ptr as usize },
376usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamResourceIncome)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceUsage) as usize - ptr as usize },
384usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamResourceUsage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceStorage) as usize - ptr as usize },
392usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamResourceStorage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourcePull) as usize - ptr as usize },
400usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamResourcePull)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceShare) as usize - ptr as usize },
408usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamResourceShare)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceSent) as usize - ptr as usize },
416usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamResourceSent)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Game_getTeamResourceReceived) as usize - ptr as usize
},
424usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamResourceReceived)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getTeamResourceExcess) as usize - ptr as usize },
432usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getTeamResourceExcess)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_isAllied) as usize - ptr as usize },
440usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_isAllied)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_isDebugModeEnabled) as usize - ptr as usize },
448usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_isDebugModeEnabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getMode) as usize - ptr as usize },
456usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getMode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_isPaused) as usize - ptr as usize },
464usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_isPaused)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getSpeedFactor) as usize - ptr as usize },
472usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getSpeedFactor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getSetupScript) as usize - ptr as usize },
480usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getSetupScript)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getCategoryFlag) as usize - ptr as usize },
488usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getCategoryFlag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getCategoriesFlag) as usize - ptr as usize },
496usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getCategoriesFlag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getCategoryName) as usize - ptr as usize },
504usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getCategoryName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getRulesParamFloat) as usize - ptr as usize },
512usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getRulesParamFloat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Game_getRulesParamString) as usize - ptr as usize },
520usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Game_getRulesParamString)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Cheats_isEnabled) as usize - ptr as usize },
528usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Cheats_isEnabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Cheats_setEnabled) as usize - ptr as usize },
536usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Cheats_setEnabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Cheats_setEventsEnabled) as usize - ptr as usize },
544usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Cheats_setEventsEnabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Cheats_isOnlyPassive) as usize - ptr as usize },
552usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Cheats_isOnlyPassive)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getResources) as usize - ptr as usize },
560usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getResources)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getResourceByName) as usize - ptr as usize },
568usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getResourceByName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Resource_getName) as usize - ptr as usize },
576usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Resource_getName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Resource_getOptimum) as usize - ptr as usize },
584usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Resource_getOptimum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Economy_getCurrent) as usize - ptr as usize },
592usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Economy_getCurrent)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Economy_getIncome) as usize - ptr as usize },
600usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Economy_getIncome)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Economy_getUsage) as usize - ptr as usize },
608usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Economy_getUsage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Economy_getStorage) as usize - ptr as usize },
616usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Economy_getStorage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Economy_getPull) as usize - ptr as usize },
624usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Economy_getPull)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Economy_getShare) as usize - ptr as usize },
632usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Economy_getShare)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Economy_getSent) as usize - ptr as usize },
640usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Economy_getSent)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Economy_getReceived) as usize - ptr as usize },
648usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Economy_getReceived)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Economy_getExcess) as usize - ptr as usize },
656usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Economy_getExcess)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).File_getSize) as usize - ptr as usize },
664usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(File_getSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).File_getContent) as usize - ptr as usize },
672usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(File_getContent)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getUnitDefs) as usize - ptr as usize },
680usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getUnitDefs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getUnitDefByName) as usize - ptr as usize },
688usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getUnitDefByName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getHeight) as usize - ptr as usize },
696usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getHeight)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getRadius) as usize - ptr as usize },
704usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getName) as usize - ptr as usize },
712usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getHumanName) as usize - ptr as usize },
720usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getHumanName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getUpkeep) as usize - ptr as usize },
728usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getUpkeep)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getResourceMake) as usize - ptr as usize },
736usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getResourceMake)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMakesResource) as usize - ptr as usize },
744usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMakesResource)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCost) as usize - ptr as usize },
752usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getCost)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getExtractsResource) as usize - ptr as usize },
760usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getExtractsResource)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_getResourceExtractorRange) as usize - ptr as usize
},
768usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getResourceExtractorRange)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_getWindResourceGenerator) as usize - ptr as usize
},
776usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getWindResourceGenerator)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_getTidalResourceGenerator) as usize - ptr as usize
},
784usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTidalResourceGenerator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getStorage) as usize - ptr as usize },
792usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getStorage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getBuildTime) as usize - ptr as usize },
800usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getBuildTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getAutoHeal) as usize - ptr as usize },
808usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getAutoHeal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getIdleAutoHeal) as usize - ptr as usize },
816usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getIdleAutoHeal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getIdleTime) as usize - ptr as usize },
824usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getIdleTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getPower) as usize - ptr as usize },
832usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getPower)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getHealth) as usize - ptr as usize },
840usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getHealth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCategory) as usize - ptr as usize },
848usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getCategory)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSpeed) as usize - ptr as usize },
856usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTurnRate) as usize - ptr as usize },
864usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTurnRate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isTurnInPlace) as usize - ptr as usize },
872usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isTurnInPlace)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_getTurnInPlaceDistance) as usize - ptr as usize
},
880usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTurnInPlaceDistance)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_getTurnInPlaceSpeedLimit) as usize - ptr as usize
},
888usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTurnInPlaceSpeedLimit)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isUpright) as usize - ptr as usize },
896usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isUpright)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isCollide) as usize - ptr as usize },
904usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isCollide)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getLosRadius) as usize - ptr as usize },
912usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getLosRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getAirLosRadius) as usize - ptr as usize },
920usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getAirLosRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getLosHeight) as usize - ptr as usize },
928usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getLosHeight)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getRadarRadius) as usize - ptr as usize },
936usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getRadarRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSonarRadius) as usize - ptr as usize },
944usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getSonarRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getJammerRadius) as usize - ptr as usize },
952usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getJammerRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSonarJamRadius) as usize - ptr as usize },
960usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getSonarJamRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSeismicRadius) as usize - ptr as usize },
968usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getSeismicRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSeismicSignature) as usize - ptr as usize },
976usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getSeismicSignature)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isStealth) as usize - ptr as usize },
984usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isStealth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isSonarStealth) as usize - ptr as usize },
992usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isSonarStealth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isBuildRange3D) as usize - ptr as usize },
1000usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isBuildRange3D)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getBuildDistance) as usize - ptr as usize },
1008usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getBuildDistance)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getBuildSpeed) as usize - ptr as usize },
1016usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getBuildSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getReclaimSpeed) as usize - ptr as usize },
1024usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getReclaimSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getRepairSpeed) as usize - ptr as usize },
1032usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getRepairSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxRepairSpeed) as usize - ptr as usize },
1040usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxRepairSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getResurrectSpeed) as usize - ptr as usize },
1048usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getResurrectSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCaptureSpeed) as usize - ptr as usize },
1056usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getCaptureSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTerraformSpeed) as usize - ptr as usize },
1064usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTerraformSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getUpDirSmoothing) as usize - ptr as usize },
1072usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getUpDirSmoothing)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMass) as usize - ptr as usize },
1080usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMass)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isPushResistant) as usize - ptr as usize },
1088usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isPushResistant)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isStrafeToAttack) as usize - ptr as usize },
1096usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isStrafeToAttack)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_getMinCollisionSpeed) as usize - ptr as usize
},
1104usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMinCollisionSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSlideTolerance) as usize - ptr as usize },
1112usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getSlideTolerance)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxHeightDif) as usize - ptr as usize },
1120usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxHeightDif)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMinWaterDepth) as usize - ptr as usize },
1128usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMinWaterDepth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWaterline) as usize - ptr as usize },
1136usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getWaterline)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxWaterDepth) as usize - ptr as usize },
1144usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxWaterDepth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getArmoredMultiple) as usize - ptr as usize },
1152usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getArmoredMultiple)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getArmorType) as usize - ptr as usize },
1160usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getArmorType)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_FlankingBonus_getMode) as usize - ptr as usize
},
1168usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_FlankingBonus_getMode)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_FlankingBonus_getDir) as usize - ptr as usize
},
1176usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_FlankingBonus_getDir)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_FlankingBonus_getMax) as usize - ptr as usize
},
1184usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_FlankingBonus_getMax)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_FlankingBonus_getMin) as usize - ptr as usize
},
1192usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_FlankingBonus_getMin)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_FlankingBonus_getMobilityAdd) as usize
- ptr as usize
},
1200usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_FlankingBonus_getMobilityAdd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxWeaponRange) as usize - ptr as usize },
1208usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxWeaponRange)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTooltip) as usize - ptr as usize },
1216usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTooltip)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWreckName) as usize - ptr as usize },
1224usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getWreckName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getDeathExplosion) as usize - ptr as usize },
1232usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getDeathExplosion)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSelfDExplosion) as usize - ptr as usize },
1240usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getSelfDExplosion)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCategoryString) as usize - ptr as usize },
1248usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getCategoryString)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToSelfD) as usize - ptr as usize },
1256usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToSelfD)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSelfDCountdown) as usize - ptr as usize },
1264usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getSelfDCountdown)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToSubmerge) as usize - ptr as usize },
1272usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToSubmerge)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToFly) as usize - ptr as usize },
1280usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToFly)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToMove) as usize - ptr as usize },
1288usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToMove)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToHover) as usize - ptr as usize },
1296usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToHover)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isFloater) as usize - ptr as usize },
1304usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isFloater)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isBuilder) as usize - ptr as usize },
1312usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isBuilder)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isActivateWhenBuilt) as usize - ptr as usize },
1320usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isActivateWhenBuilt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isOnOffable) as usize - ptr as usize },
1328usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isOnOffable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isFullHealthFactory) as usize - ptr as usize },
1336usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isFullHealthFactory)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_isFactoryHeadingTakeoff) as usize - ptr as usize
},
1344usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isFactoryHeadingTakeoff)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isReclaimable) as usize - ptr as usize },
1352usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isReclaimable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isCapturable) as usize - ptr as usize },
1360usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isCapturable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToRestore) as usize - ptr as usize },
1368usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToRestore)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToRepair) as usize - ptr as usize },
1376usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToRepair)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToSelfRepair) as usize - ptr as usize },
1384usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToSelfRepair)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToReclaim) as usize - ptr as usize },
1392usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToReclaim)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToAttack) as usize - ptr as usize },
1400usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToAttack)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToPatrol) as usize - ptr as usize },
1408usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToPatrol)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToFight) as usize - ptr as usize },
1416usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToFight)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToGuard) as usize - ptr as usize },
1424usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToGuard)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToAssist) as usize - ptr as usize },
1432usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToAssist)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAssistable) as usize - ptr as usize },
1440usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAssistable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToRepeat) as usize - ptr as usize },
1448usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToRepeat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToFireControl) as usize - ptr as usize },
1456usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToFireControl)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFireState) as usize - ptr as usize },
1464usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getFireState)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMoveState) as usize - ptr as usize },
1472usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMoveState)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWingDrag) as usize - ptr as usize },
1480usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getWingDrag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWingAngle) as usize - ptr as usize },
1488usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getWingAngle)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFrontToSpeed) as usize - ptr as usize },
1496usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getFrontToSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getSpeedToFront) as usize - ptr as usize },
1504usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getSpeedToFront)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMyGravity) as usize - ptr as usize },
1512usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMyGravity)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxBank) as usize - ptr as usize },
1520usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxBank)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxPitch) as usize - ptr as usize },
1528usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxPitch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTurnRadius) as usize - ptr as usize },
1536usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTurnRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWantedHeight) as usize - ptr as usize },
1544usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getWantedHeight)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getVerticalSpeed) as usize - ptr as usize },
1552usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getVerticalSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isHoverAttack) as usize - ptr as usize },
1560usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isHoverAttack)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAirStrafe) as usize - ptr as usize },
1568usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAirStrafe)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getDlHoverFactor) as usize - ptr as usize },
1576usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getDlHoverFactor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxAcceleration) as usize - ptr as usize },
1584usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxAcceleration)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxDeceleration) as usize - ptr as usize },
1592usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxDeceleration)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxAileron) as usize - ptr as usize },
1600usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxAileron)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxElevator) as usize - ptr as usize },
1608usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxElevator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxRudder) as usize - ptr as usize },
1616usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxRudder)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getYardMap) as usize - ptr as usize },
1624usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getYardMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getXSize) as usize - ptr as usize },
1632usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getXSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getZSize) as usize - ptr as usize },
1640usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getZSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getLoadingRadius) as usize - ptr as usize },
1648usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getLoadingRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getUnloadSpread) as usize - ptr as usize },
1656usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getUnloadSpread)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_getTransportCapacity) as usize - ptr as usize
},
1664usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTransportCapacity)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTransportSize) as usize - ptr as usize },
1672usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTransportSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMinTransportSize) as usize - ptr as usize },
1680usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMinTransportSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAirBase) as usize - ptr as usize },
1688usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAirBase)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isFirePlatform) as usize - ptr as usize },
1696usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isFirePlatform)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getTransportMass) as usize - ptr as usize },
1704usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTransportMass)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMinTransportMass) as usize - ptr as usize },
1712usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMinTransportMass)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isHoldSteady) as usize - ptr as usize },
1720usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isHoldSteady)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isReleaseHeld) as usize - ptr as usize },
1728usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isReleaseHeld)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isNotTransportable) as usize - ptr as usize },
1736usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isNotTransportable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isTransportByEnemy) as usize - ptr as usize },
1744usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isTransportByEnemy)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_getTransportUnloadMethod) as usize - ptr as usize
},
1752usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getTransportUnloadMethod)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFallSpeed) as usize - ptr as usize },
1760usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getFallSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getUnitFallSpeed) as usize - ptr as usize },
1768usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getUnitFallSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToCloak) as usize - ptr as usize },
1776usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToCloak)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isStartCloaked) as usize - ptr as usize },
1784usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isStartCloaked)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCloakCost) as usize - ptr as usize },
1792usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getCloakCost)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCloakCostMoving) as usize - ptr as usize },
1800usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getCloakCostMoving)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getDecloakDistance) as usize - ptr as usize },
1808usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getDecloakDistance)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isDecloakSpherical) as usize - ptr as usize },
1816usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isDecloakSpherical)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isDecloakOnFire) as usize - ptr as usize },
1824usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isDecloakOnFire)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToKamikaze) as usize - ptr as usize },
1832usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToKamikaze)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getKamikazeDist) as usize - ptr as usize },
1840usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getKamikazeDist)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isTargetingFacility) as usize - ptr as usize },
1848usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isTargetingFacility)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_canManualFire) as usize - ptr as usize },
1856usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_canManualFire)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isNeedGeo) as usize - ptr as usize },
1864usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isNeedGeo)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isFeature) as usize - ptr as usize },
1872usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isFeature)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isHideDamage) as usize - ptr as usize },
1880usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isHideDamage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isShowPlayerName) as usize - ptr as usize },
1888usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isShowPlayerName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToResurrect) as usize - ptr as usize },
1896usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToResurrect)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToCapture) as usize - ptr as usize },
1904usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToCapture)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_getHighTrajectoryType) as usize - ptr as usize
},
1912usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getHighTrajectoryType)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getNoChaseCategory) as usize - ptr as usize },
1920usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getNoChaseCategory)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isAbleToDropFlare) as usize - ptr as usize },
1928usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToDropFlare)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareReloadTime) as usize - ptr as usize },
1936usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getFlareReloadTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareEfficiency) as usize - ptr as usize },
1944usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getFlareEfficiency)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareDelay) as usize - ptr as usize },
1952usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getFlareDelay)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareDropVector) as usize - ptr as usize },
1960usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getFlareDropVector)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareTime) as usize - ptr as usize },
1968usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getFlareTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareSalvoSize) as usize - ptr as usize },
1976usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getFlareSalvoSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getFlareSalvoDelay) as usize - ptr as usize },
1984usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getFlareSalvoDelay)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_isAbleToLoopbackAttack) as usize - ptr as usize
},
1992usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isAbleToLoopbackAttack)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isLevelGround) as usize - ptr as usize },
2000usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isLevelGround)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getMaxThisUnit) as usize - ptr as usize },
2008usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getMaxThisUnit)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getDecoyDef) as usize - ptr as usize },
2016usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getDecoyDef)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isDontLand) as usize - ptr as usize },
2024usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isDontLand)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getShieldDef) as usize - ptr as usize },
2032usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getShieldDef)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getStockpileDef) as usize - ptr as usize },
2040usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getStockpileDef)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getBuildOptions) as usize - ptr as usize },
2048usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getBuildOptions)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getCustomParams) as usize - ptr as usize },
2056usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getCustomParams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_isMoveDataAvailable) as usize - ptr as usize },
2064usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_isMoveDataAvailable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getXSize) as usize - ptr as usize },
2072usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getXSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getZSize) as usize - ptr as usize },
2080usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getZSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getDepth) as usize - ptr as usize },
2088usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getDepth)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getMaxSlope) as usize - ptr as usize
},
2096usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getMaxSlope)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getSlopeMod) as usize - ptr as usize
},
2104usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getSlopeMod)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getDepthMod) as usize - ptr as usize
},
2112usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getDepthMod)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getPathType) as usize - ptr as usize
},
2120usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getPathType)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getCrushStrength) as usize - ptr as usize
},
2128usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getCrushStrength)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getSpeedModClass) as usize - ptr as usize
},
2136usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getSpeedModClass)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getTerrainClass) as usize - ptr as usize
},
2144usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getTerrainClass)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getFollowGround) as usize - ptr as usize
},
2152usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getFollowGround)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_MoveData_isSubMarine) as usize - ptr as usize
},
2160usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_isSubMarine)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_MoveData_getName) as usize - ptr as usize },
2168usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_MoveData_getName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_getWeaponMounts) as usize - ptr as usize },
2176usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_getWeaponMounts)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getName) as usize - ptr as usize },
2184usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_WeaponMount_getName)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getWeaponDef) as usize - ptr as usize
},
2192usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_WeaponMount_getWeaponDef)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getSlavedTo) as usize - ptr as usize
},
2200usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_WeaponMount_getSlavedTo)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getMainDir) as usize - ptr as usize
},
2208usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_WeaponMount_getMainDir)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getMaxAngleDif) as usize - ptr as usize
},
2216usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_WeaponMount_getMaxAngleDif)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getBadTargetCategory) as usize
- ptr as usize
},
2224usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_WeaponMount_getBadTargetCategory)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).UnitDef_WeaponMount_getOnlyTargetCategory) as usize
- ptr as usize
},
2232usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(UnitDef_WeaponMount_getOnlyTargetCategory)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getLimit) as usize - ptr as usize },
2240usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getLimit)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getMax) as usize - ptr as usize },
2248usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getMax)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getEnemyUnits) as usize - ptr as usize },
2256usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getEnemyUnits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getEnemyUnitsIn) as usize - ptr as usize },
2264usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getEnemyUnitsIn)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getEnemyUnitsInRadarAndLos) as usize - ptr as usize },
2272usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getEnemyUnitsInRadarAndLos)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getFriendlyUnits) as usize - ptr as usize },
2280usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getFriendlyUnits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getFriendlyUnitsIn) as usize - ptr as usize },
2288usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getFriendlyUnitsIn)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getNeutralUnits) as usize - ptr as usize },
2296usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getNeutralUnits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getNeutralUnitsIn) as usize - ptr as usize },
2304usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getNeutralUnitsIn)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getTeamUnits) as usize - ptr as usize },
2312usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getTeamUnits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getSelectedUnits) as usize - ptr as usize },
2320usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getSelectedUnits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getDef) as usize - ptr as usize },
2328usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getDef)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getRulesParamFloat) as usize - ptr as usize },
2336usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getRulesParamFloat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getRulesParamString) as usize - ptr as usize },
2344usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getRulesParamString)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getTeam) as usize - ptr as usize },
2352usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getTeam)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getAllyTeam) as usize - ptr as usize },
2360usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getAllyTeam)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getStockpile) as usize - ptr as usize },
2368usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getStockpile)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getStockpileQueued) as usize - ptr as usize },
2376usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getStockpileQueued)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getMaxSpeed) as usize - ptr as usize },
2384usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getMaxSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getMaxRange) as usize - ptr as usize },
2392usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getMaxRange)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getMaxHealth) as usize - ptr as usize },
2400usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getMaxHealth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getExperience) as usize - ptr as usize },
2408usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getExperience)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getGroup) as usize - ptr as usize },
2416usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getGroup)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getCurrentCommands) as usize - ptr as usize },
2424usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getCurrentCommands)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getType) as usize - ptr as usize },
2432usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_CurrentCommand_getType)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getId) as usize - ptr as usize },
2440usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_CurrentCommand_getId)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getOptions) as usize - ptr as usize
},
2448usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_CurrentCommand_getOptions)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getTag) as usize - ptr as usize },
2456usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_CurrentCommand_getTag)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getTimeOut) as usize - ptr as usize
},
2464usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_CurrentCommand_getTimeOut)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Unit_CurrentCommand_getParams) as usize - ptr as usize
},
2472usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_CurrentCommand_getParams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getSupportedCommands) as usize - ptr as usize },
2480usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getSupportedCommands)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_getId) as usize - ptr as usize },
2488usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_SupportedCommand_getId)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_getName) as usize - ptr as usize
},
2496usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_SupportedCommand_getName)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_getToolTip) as usize - ptr as usize
},
2504usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_SupportedCommand_getToolTip)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_isShowUnique) as usize - ptr as usize
},
2512usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_SupportedCommand_isShowUnique)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_isDisabled) as usize - ptr as usize
},
2520usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_SupportedCommand_isDisabled)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Unit_SupportedCommand_getParams) as usize - ptr as usize
},
2528usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_SupportedCommand_getParams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getHealth) as usize - ptr as usize },
2536usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getHealth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getParalyzeDamage) as usize - ptr as usize },
2544usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getParalyzeDamage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getCaptureProgress) as usize - ptr as usize },
2552usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getCaptureProgress)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getBuildProgress) as usize - ptr as usize },
2560usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getBuildProgress)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getSpeed) as usize - ptr as usize },
2568usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getPower) as usize - ptr as usize },
2576usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getPower)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getResourceUse) as usize - ptr as usize },
2584usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getResourceUse)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getResourceMake) as usize - ptr as usize },
2592usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getResourceMake)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getPos) as usize - ptr as usize },
2600usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getPos)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getVel) as usize - ptr as usize },
2608usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getVel)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_isActivated) as usize - ptr as usize },
2616usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_isActivated)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_isBeingBuilt) as usize - ptr as usize },
2624usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_isBeingBuilt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_isCloaked) as usize - ptr as usize },
2632usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_isCloaked)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_isParalyzed) as usize - ptr as usize },
2640usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_isParalyzed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_isNeutral) as usize - ptr as usize },
2648usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_isNeutral)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getBuildingFacing) as usize - ptr as usize },
2656usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getBuildingFacing)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getLastUserOrderFrame) as usize - ptr as usize },
2664usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getLastUserOrderFrame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getWeapons) as usize - ptr as usize },
2672usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getWeapons)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_getWeapon) as usize - ptr as usize },
2680usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_getWeapon)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Team_hasAIController) as usize - ptr as usize },
2688usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Team_hasAIController)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getEnemyTeams) as usize - ptr as usize },
2696usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getEnemyTeams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getAlliedTeams) as usize - ptr as usize },
2704usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getAlliedTeams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Team_getRulesParamFloat) as usize - ptr as usize },
2712usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Team_getRulesParamFloat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Team_getRulesParamString) as usize - ptr as usize },
2720usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Team_getRulesParamString)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getGroups) as usize - ptr as usize },
2728usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getGroups)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Group_getSupportedCommands) as usize - ptr as usize },
2736usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_getSupportedCommands)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Group_SupportedCommand_getId) as usize - ptr as usize
},
2744usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_SupportedCommand_getId)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Group_SupportedCommand_getName) as usize - ptr as usize
},
2752usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_SupportedCommand_getName)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Group_SupportedCommand_getToolTip) as usize - ptr as usize
},
2760usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_SupportedCommand_getToolTip)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Group_SupportedCommand_isShowUnique) as usize - ptr as usize
},
2768usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_SupportedCommand_isShowUnique)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Group_SupportedCommand_isDisabled) as usize - ptr as usize
},
2776usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_SupportedCommand_isDisabled)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Group_SupportedCommand_getParams) as usize - ptr as usize
},
2784usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_SupportedCommand_getParams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Group_OrderPreview_getId) as usize - ptr as usize },
2792usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_OrderPreview_getId)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Group_OrderPreview_getOptions) as usize - ptr as usize
},
2800usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_OrderPreview_getOptions)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Group_OrderPreview_getTag) as usize - ptr as usize },
2808usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_OrderPreview_getTag)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Group_OrderPreview_getTimeOut) as usize - ptr as usize
},
2816usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_OrderPreview_getTimeOut)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Group_OrderPreview_getParams) as usize - ptr as usize
},
2824usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_OrderPreview_getParams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Group_isSelected) as usize - ptr as usize },
2832usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Group_isSelected)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getFileName) as usize - ptr as usize },
2840usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getFileName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getHash) as usize - ptr as usize },
2848usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getHash)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getHumanName) as usize - ptr as usize },
2856usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getHumanName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getShortName) as usize - ptr as usize },
2864usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getShortName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getVersion) as usize - ptr as usize },
2872usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getVersion)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getMutator) as usize - ptr as usize },
2880usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getMutator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getDescription) as usize - ptr as usize },
2888usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getDescription)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getConstructionDecay) as usize - ptr as usize },
2896usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getConstructionDecay)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Mod_getConstructionDecayTime) as usize - ptr as usize
},
2904usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getConstructionDecayTime)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Mod_getConstructionDecaySpeed) as usize - ptr as usize
},
2912usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getConstructionDecaySpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getMultiReclaim) as usize - ptr as usize },
2920usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getMultiReclaim)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getReclaimMethod) as usize - ptr as usize },
2928usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getReclaimMethod)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getReclaimUnitMethod) as usize - ptr as usize },
2936usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getReclaimUnitMethod)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Mod_getReclaimUnitEnergyCostFactor) as usize - ptr as usize
},
2944usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getReclaimUnitEnergyCostFactor)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Mod_getReclaimUnitEfficiency) as usize - ptr as usize
},
2952usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getReclaimUnitEfficiency)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Mod_getReclaimFeatureEnergyCostFactor) as usize
- ptr as usize
},
2960usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getReclaimFeatureEnergyCostFactor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getReclaimAllowEnemies) as usize - ptr as usize },
2968usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getReclaimAllowEnemies)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getReclaimAllowAllies) as usize - ptr as usize },
2976usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getReclaimAllowAllies)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Mod_getRepairEnergyCostFactor) as usize - ptr as usize
},
2984usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getRepairEnergyCostFactor)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Mod_getResurrectEnergyCostFactor) as usize - ptr as usize
},
2992usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getResurrectEnergyCostFactor)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Mod_getCaptureEnergyCostFactor) as usize - ptr as usize
},
3000usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getCaptureEnergyCostFactor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getTransportGround) as usize - ptr as usize },
3008usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getTransportGround)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getTransportHover) as usize - ptr as usize },
3016usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getTransportHover)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getTransportShip) as usize - ptr as usize },
3024usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getTransportShip)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getTransportAir) as usize - ptr as usize },
3032usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getTransportAir)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getFireAtKilled) as usize - ptr as usize },
3040usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getFireAtKilled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getFireAtCrashing) as usize - ptr as usize },
3048usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getFireAtCrashing)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Mod_getFlankingBonusModeDefault) as usize - ptr as usize
},
3056usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getFlankingBonusModeDefault)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getLosMipLevel) as usize - ptr as usize },
3064usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getLosMipLevel)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getAirMipLevel) as usize - ptr as usize },
3072usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getAirMipLevel)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Mod_getRadarMipLevel) as usize - ptr as usize },
3080usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getRadarMipLevel)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Mod_getRequireSonarUnderWater) as usize - ptr as usize
},
3088usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Mod_getRequireSonarUnderWater)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getChecksum) as usize - ptr as usize },
3096usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getChecksum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getStartPos) as usize - ptr as usize },
3104usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getStartPos)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getMousePos) as usize - ptr as usize },
3112usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getMousePos)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_isPosInCamera) as usize - ptr as usize },
3120usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_isPosInCamera)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getWidth) as usize - ptr as usize },
3128usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getWidth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getHeight) as usize - ptr as usize },
3136usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getHeight)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getHeightMap) as usize - ptr as usize },
3144usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getHeightMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getCornersHeightMap) as usize - ptr as usize },
3152usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getCornersHeightMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getMinHeight) as usize - ptr as usize },
3160usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getMinHeight)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getMaxHeight) as usize - ptr as usize },
3168usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getMaxHeight)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getSlopeMap) as usize - ptr as usize },
3176usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getSlopeMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getLosMap) as usize - ptr as usize },
3184usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getLosMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getAirLosMap) as usize - ptr as usize },
3192usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getAirLosMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getRadarMap) as usize - ptr as usize },
3200usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getRadarMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getSonarMap) as usize - ptr as usize },
3208usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getSonarMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getSeismicMap) as usize - ptr as usize },
3216usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getSeismicMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getJammerMap) as usize - ptr as usize },
3224usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getJammerMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getSonarJammerMap) as usize - ptr as usize },
3232usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getSonarJammerMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getResourceMapRaw) as usize - ptr as usize },
3240usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getResourceMapRaw)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Map_getResourceMapSpotsPositions) as usize - ptr as usize
},
3248usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getResourceMapSpotsPositions)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Map_getResourceMapSpotsAverageIncome) as usize
- ptr as usize
},
3256usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getResourceMapSpotsAverageIncome)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Map_getResourceMapSpotsNearest) as usize - ptr as usize
},
3264usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getResourceMapSpotsNearest)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getHash) as usize - ptr as usize },
3272usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getHash)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getName) as usize - ptr as usize },
3280usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getHumanName) as usize - ptr as usize },
3288usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getHumanName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getElevationAt) as usize - ptr as usize },
3296usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getElevationAt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getMaxResource) as usize - ptr as usize },
3304usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getMaxResource)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getExtractorRadius) as usize - ptr as usize },
3312usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getExtractorRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getMinWind) as usize - ptr as usize },
3320usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getMinWind)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getMaxWind) as usize - ptr as usize },
3328usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getMaxWind)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getCurWind) as usize - ptr as usize },
3336usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getCurWind)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getTidalStrength) as usize - ptr as usize },
3344usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getTidalStrength)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getGravity) as usize - ptr as usize },
3352usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getGravity)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getWaterDamage) as usize - ptr as usize },
3360usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getWaterDamage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_isDeformable) as usize - ptr as usize },
3368usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_isDeformable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getHardness) as usize - ptr as usize },
3376usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getHardness)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getHardnessModMap) as usize - ptr as usize },
3384usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getHardnessModMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getSpeedModMap) as usize - ptr as usize },
3392usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getSpeedModMap)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getPoints) as usize - ptr as usize },
3400usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getPoints)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_Point_getPosition) as usize - ptr as usize },
3408usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_Point_getPosition)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_Point_getColor) as usize - ptr as usize },
3416usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_Point_getColor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_Point_getLabel) as usize - ptr as usize },
3424usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_Point_getLabel)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_getLines) as usize - ptr as usize },
3432usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_getLines)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_Line_getFirstPosition) as usize - ptr as usize },
3440usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_Line_getFirstPosition)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_Line_getSecondPosition) as usize - ptr as usize },
3448usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_Line_getSecondPosition)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_Line_getColor) as usize - ptr as usize },
3456usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_Line_getColor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_isPossibleToBuildAt) as usize - ptr as usize },
3464usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_isPossibleToBuildAt)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Map_findClosestBuildSite) as usize - ptr as usize },
3472usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Map_findClosestBuildSite)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getFeatureDefs) as usize - ptr as usize },
3480usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getFeatureDefs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getName) as usize - ptr as usize },
3488usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getDescription) as usize - ptr as usize },
3496usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getDescription)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).FeatureDef_getContainedResource) as usize - ptr as usize
},
3504usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getContainedResource)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getMaxHealth) as usize - ptr as usize },
3512usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getMaxHealth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getReclaimTime) as usize - ptr as usize },
3520usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getReclaimTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getMass) as usize - ptr as usize },
3528usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getMass)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isUpright) as usize - ptr as usize },
3536usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_isUpright)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getDrawType) as usize - ptr as usize },
3544usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getDrawType)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getModelName) as usize - ptr as usize },
3552usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getModelName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getResurrectable) as usize - ptr as usize },
3560usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getResurrectable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getSmokeTime) as usize - ptr as usize },
3568usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getSmokeTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isDestructable) as usize - ptr as usize },
3576usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_isDestructable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isReclaimable) as usize - ptr as usize },
3584usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_isReclaimable)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).FeatureDef_isAutoreclaimable) as usize - ptr as usize
},
3592usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_isAutoreclaimable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isBlocking) as usize - ptr as usize },
3600usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_isBlocking)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isBurnable) as usize - ptr as usize },
3608usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_isBurnable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isFloating) as usize - ptr as usize },
3616usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_isFloating)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isNoSelect) as usize - ptr as usize },
3624usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_isNoSelect)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_isGeoThermal) as usize - ptr as usize },
3632usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_isGeoThermal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getXSize) as usize - ptr as usize },
3640usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getXSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getZSize) as usize - ptr as usize },
3648usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getZSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).FeatureDef_getCustomParams) as usize - ptr as usize },
3656usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(FeatureDef_getCustomParams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getFeatures) as usize - ptr as usize },
3664usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getFeatures)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getFeaturesIn) as usize - ptr as usize },
3672usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getFeaturesIn)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Feature_getDef) as usize - ptr as usize },
3680usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Feature_getDef)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Feature_getHealth) as usize - ptr as usize },
3688usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Feature_getHealth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Feature_getReclaimLeft) as usize - ptr as usize },
3696usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Feature_getReclaimLeft)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Feature_getPosition) as usize - ptr as usize },
3704usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Feature_getPosition)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Feature_getRulesParamFloat) as usize - ptr as usize },
3712usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Feature_getRulesParamFloat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Feature_getRulesParamString) as usize - ptr as usize },
3720usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Feature_getRulesParamString)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Feature_getResurrectDef) as usize - ptr as usize },
3728usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Feature_getResurrectDef)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Feature_getBuildingFacing) as usize - ptr as usize },
3736usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Feature_getBuildingFacing)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getWeaponDefs) as usize - ptr as usize },
3744usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getWeaponDefs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getWeaponDefByName) as usize - ptr as usize },
3752usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(getWeaponDefByName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getName) as usize - ptr as usize },
3760usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getName)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getType) as usize - ptr as usize },
3768usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getType)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDescription) as usize - ptr as usize },
3776usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getDescription)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getRange) as usize - ptr as usize },
3784usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getRange)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getHeightMod) as usize - ptr as usize },
3792usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getHeightMod)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getAccuracy) as usize - ptr as usize },
3800usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getAccuracy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getSprayAngle) as usize - ptr as usize },
3808usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getSprayAngle)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getMovingAccuracy) as usize - ptr as usize },
3816usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getMovingAccuracy)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getTargetMoveError) as usize - ptr as usize
},
3824usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getTargetMoveError)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getLeadLimit) as usize - ptr as usize },
3832usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getLeadLimit)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getLeadBonus) as usize - ptr as usize },
3840usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getLeadBonus)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getPredictBoost) as usize - ptr as usize },
3848usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getPredictBoost)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getNumDamageTypes) as usize - ptr as usize },
3856usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getNumDamageTypes)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getParalyzeDamageTime) as usize
- ptr as usize
},
3864usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Damage_getParalyzeDamageTime)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getImpulseFactor) as usize - ptr as usize
},
3872usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Damage_getImpulseFactor)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getImpulseBoost) as usize - ptr as usize
},
3880usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Damage_getImpulseBoost)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getCraterMult) as usize - ptr as usize
},
3888usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Damage_getCraterMult)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getCraterBoost) as usize - ptr as usize
},
3896usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Damage_getCraterBoost)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_Damage_getTypes) as usize - ptr as usize },
3904usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Damage_getTypes)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getAreaOfEffect) as usize - ptr as usize },
3912usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getAreaOfEffect)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isNoSelfDamage) as usize - ptr as usize },
3920usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isNoSelfDamage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getFireStarter) as usize - ptr as usize },
3928usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getFireStarter)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getEdgeEffectiveness) as usize - ptr as usize
},
3936usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getEdgeEffectiveness)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getSize) as usize - ptr as usize },
3944usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getSizeGrowth) as usize - ptr as usize },
3952usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getSizeGrowth)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCollisionSize) as usize - ptr as usize },
3960usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getCollisionSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getSalvoSize) as usize - ptr as usize },
3968usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getSalvoSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getSalvoDelay) as usize - ptr as usize },
3976usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getSalvoDelay)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getReload) as usize - ptr as usize },
3984usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getReload)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getBeamTime) as usize - ptr as usize },
3992usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getBeamTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isBeamBurst) as usize - ptr as usize },
4000usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isBeamBurst)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isWaterBounce) as usize - ptr as usize },
4008usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isWaterBounce)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isGroundBounce) as usize - ptr as usize },
4016usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isGroundBounce)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getBounceRebound) as usize - ptr as usize },
4024usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getBounceRebound)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getBounceSlip) as usize - ptr as usize },
4032usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getBounceSlip)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getNumBounce) as usize - ptr as usize },
4040usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getNumBounce)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getMaxAngle) as usize - ptr as usize },
4048usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getMaxAngle)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getUpTime) as usize - ptr as usize },
4056usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getUpTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getFlightTime) as usize - ptr as usize },
4064usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getFlightTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCost) as usize - ptr as usize },
4072usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getCost)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getProjectilesPerShot) as usize - ptr as usize
},
4080usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getProjectilesPerShot)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isTurret) as usize - ptr as usize },
4088usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isTurret)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isOnlyForward) as usize - ptr as usize },
4096usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isOnlyForward)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isFixedLauncher) as usize - ptr as usize },
4104usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isFixedLauncher)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isWaterWeapon) as usize - ptr as usize },
4112usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isWaterWeapon)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isFireSubmersed) as usize - ptr as usize },
4120usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isFireSubmersed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isSubMissile) as usize - ptr as usize },
4128usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isSubMissile)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isTracks) as usize - ptr as usize },
4136usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isTracks)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isDropped) as usize - ptr as usize },
4144usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isDropped)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isParalyzer) as usize - ptr as usize },
4152usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isParalyzer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isImpactOnly) as usize - ptr as usize },
4160usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isImpactOnly)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isNoAutoTarget) as usize - ptr as usize },
4168usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isNoAutoTarget)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isManualFire) as usize - ptr as usize },
4176usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isManualFire)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getInterceptor) as usize - ptr as usize },
4184usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getInterceptor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getTargetable) as usize - ptr as usize },
4192usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getTargetable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isStockpileable) as usize - ptr as usize },
4200usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isStockpileable)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCoverageRange) as usize - ptr as usize },
4208usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getCoverageRange)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getStockpileTime) as usize - ptr as usize },
4216usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getStockpileTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getIntensity) as usize - ptr as usize },
4224usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getIntensity)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDuration) as usize - ptr as usize },
4232usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getDuration)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getFalloffRate) as usize - ptr as usize },
4240usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getFalloffRate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isSoundTrigger) as usize - ptr as usize },
4248usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isSoundTrigger)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isSelfExplode) as usize - ptr as usize },
4256usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isSelfExplode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isGravityAffected) as usize - ptr as usize },
4264usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isGravityAffected)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getHighTrajectory) as usize - ptr as usize },
4272usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getHighTrajectory)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getMyGravity) as usize - ptr as usize },
4280usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getMyGravity)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isNoExplode) as usize - ptr as usize },
4288usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isNoExplode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getStartVelocity) as usize - ptr as usize },
4296usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getStartVelocity)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getWeaponAcceleration) as usize - ptr as usize
},
4304usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getWeaponAcceleration)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getTurnRate) as usize - ptr as usize },
4312usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getTurnRate)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getMaxVelocity) as usize - ptr as usize },
4320usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getMaxVelocity)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getProjectileSpeed) as usize - ptr as usize
},
4328usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getProjectileSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getExplosionSpeed) as usize - ptr as usize },
4336usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getExplosionSpeed)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getOnlyTargetCategory) as usize - ptr as usize
},
4344usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getOnlyTargetCategory)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getWobble) as usize - ptr as usize },
4352usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getWobble)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDance) as usize - ptr as usize },
4360usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getDance)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getTrajectoryHeight) as usize - ptr as usize
},
4368usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getTrajectoryHeight)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isLargeBeamLaser) as usize - ptr as usize },
4376usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isLargeBeamLaser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isShield) as usize - ptr as usize },
4384usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isShield)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isShieldRepulser) as usize - ptr as usize },
4392usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isShieldRepulser)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isSmartShield) as usize - ptr as usize },
4400usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isSmartShield)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isExteriorShield) as usize - ptr as usize },
4408usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isExteriorShield)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isVisibleShield) as usize - ptr as usize },
4416usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isVisibleShield)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_isVisibleShieldRepulse) as usize - ptr as usize
},
4424usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isVisibleShieldRepulse)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getVisibleShieldHitFrames) as usize - ptr as usize
},
4432usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getVisibleShieldHitFrames)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getResourceUse) as usize - ptr as usize
},
4440usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Shield_getResourceUse)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getRadius) as usize - ptr as usize },
4448usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Shield_getRadius)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getForce) as usize - ptr as usize },
4456usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Shield_getForce)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getMaxSpeed) as usize - ptr as usize
},
4464usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Shield_getMaxSpeed)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getPower) as usize - ptr as usize },
4472usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Shield_getPower)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getPowerRegen) as usize - ptr as usize
},
4480usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Shield_getPowerRegen)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getPowerRegenResource) as usize
- ptr as usize
},
4488usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Shield_getPowerRegenResource)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getStartingPower) as usize - ptr as usize
},
4496usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Shield_getStartingPower)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getRechargeDelay) as usize - ptr as usize
},
4504usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Shield_getRechargeDelay)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_Shield_getInterceptType) as usize - ptr as usize
},
4512usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_Shield_getInterceptType)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getInterceptedByShieldType) as usize
- ptr as usize
},
4520usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getInterceptedByShieldType)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isAvoidFriendly) as usize - ptr as usize },
4528usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isAvoidFriendly)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isAvoidFeature) as usize - ptr as usize },
4536usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isAvoidFeature)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isAvoidNeutral) as usize - ptr as usize },
4544usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isAvoidNeutral)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getTargetBorder) as usize - ptr as usize },
4552usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getTargetBorder)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getCylinderTargetting) as usize - ptr as usize
},
4560usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getCylinderTargetting)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getMinIntensity) as usize - ptr as usize },
4568usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getMinIntensity)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getHeightBoostFactor) as usize - ptr as usize
},
4576usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getHeightBoostFactor)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_getProximityPriority) as usize - ptr as usize
},
4584usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getProximityPriority)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCollisionFlags) as usize - ptr as usize },
4592usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getCollisionFlags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_isSweepFire) as usize - ptr as usize },
4600usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isSweepFire)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_isAbleToAttackGround) as usize - ptr as usize
},
4608usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isAbleToAttackGround)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCameraShake) as usize - ptr as usize },
4616usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getCameraShake)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDynDamageExp) as usize - ptr as usize },
4624usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getDynDamageExp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDynDamageMin) as usize - ptr as usize },
4632usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getDynDamageMin)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getDynDamageRange) as usize - ptr as usize },
4640usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getDynDamageRange)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).WeaponDef_isDynDamageInverted) as usize - ptr as usize
},
4648usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_isDynDamageInverted)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).WeaponDef_getCustomParams) as usize - ptr as usize },
4656usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(WeaponDef_getCustomParams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_getDef) as usize - ptr as usize },
4664usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_Weapon_getDef)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_getReloadFrame) as usize - ptr as usize },
4672usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_Weapon_getReloadFrame)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_getReloadTime) as usize - ptr as usize },
4680usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_Weapon_getReloadTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_getRange) as usize - ptr as usize },
4688usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_Weapon_getRange)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_isShieldEnabled) as usize - ptr as usize },
4696usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_Weapon_isShieldEnabled)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Unit_Weapon_getShieldPower) as usize - ptr as usize },
4704usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Unit_Weapon_getShieldPower)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Debug_GraphDrawer_isEnabled) as usize - ptr as usize },
4712usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAICallback),
"::",
stringify!(Debug_GraphDrawer_isEnabled)
)
);
}
pub const EventTopic_EVENT_NULL: EventTopic = 0;
pub const EventTopic_EVENT_INIT: EventTopic = 1;
pub const EventTopic_EVENT_RELEASE: EventTopic = 2;
pub const EventTopic_EVENT_UPDATE: EventTopic = 3;
pub const EventTopic_EVENT_MESSAGE: EventTopic = 4;
pub const EventTopic_EVENT_UNIT_CREATED: EventTopic = 5;
pub const EventTopic_EVENT_UNIT_FINISHED: EventTopic = 6;
pub const EventTopic_EVENT_UNIT_IDLE: EventTopic = 7;
pub const EventTopic_EVENT_UNIT_MOVE_FAILED: EventTopic = 8;
pub const EventTopic_EVENT_UNIT_DAMAGED: EventTopic = 9;
pub const EventTopic_EVENT_UNIT_DESTROYED: EventTopic = 10;
pub const EventTopic_EVENT_UNIT_GIVEN: EventTopic = 11;
pub const EventTopic_EVENT_UNIT_CAPTURED: EventTopic = 12;
pub const EventTopic_EVENT_ENEMY_ENTER_LOS: EventTopic = 13;
pub const EventTopic_EVENT_ENEMY_LEAVE_LOS: EventTopic = 14;
pub const EventTopic_EVENT_ENEMY_ENTER_RADAR: EventTopic = 15;
pub const EventTopic_EVENT_ENEMY_LEAVE_RADAR: EventTopic = 16;
pub const EventTopic_EVENT_ENEMY_DAMAGED: EventTopic = 17;
pub const EventTopic_EVENT_ENEMY_DESTROYED: EventTopic = 18;
pub const EventTopic_EVENT_WEAPON_FIRED: EventTopic = 19;
pub const EventTopic_EVENT_PLAYER_COMMAND: EventTopic = 20;
pub const EventTopic_EVENT_SEISMIC_PING: EventTopic = 21;
pub const EventTopic_EVENT_COMMAND_FINISHED: EventTopic = 22;
pub const EventTopic_EVENT_LOAD: EventTopic = 23;
pub const EventTopic_EVENT_SAVE: EventTopic = 24;
pub const EventTopic_EVENT_ENEMY_CREATED: EventTopic = 25;
pub const EventTopic_EVENT_ENEMY_FINISHED: EventTopic = 26;
pub const EventTopic_EVENT_LUA_MESSAGE: EventTopic = 27;
#[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()"]
pub type EventTopic = ::std::os::raw::c_int;
pub const NUM_EVENTS: ::std::os::raw::c_int = 28;
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SInitEvent {
pub skirmishAIId: ::std::os::raw::c_int,
pub callback: *const SSkirmishAICallback,
pub savedGame: bool,
}
#[test]
fn bindgen_test_layout_SInitEvent() {
const UNINIT: ::std::mem::MaybeUninit<SInitEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SInitEvent>(),
24usize,
concat!("Size of: ", stringify!(SInitEvent))
);
assert_eq!(
::std::mem::align_of::<SInitEvent>(),
8usize,
concat!("Alignment of ", stringify!(SInitEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).skirmishAIId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SInitEvent),
"::",
stringify!(skirmishAIId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SInitEvent),
"::",
stringify!(callback)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).savedGame) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SInitEvent),
"::",
stringify!(savedGame)
)
);
}
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SReleaseEvent {
pub reason: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SReleaseEvent() {
const UNINIT: ::std::mem::MaybeUninit<SReleaseEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SReleaseEvent>(),
4usize,
concat!("Size of: ", stringify!(SReleaseEvent))
);
assert_eq!(
::std::mem::align_of::<SReleaseEvent>(),
4usize,
concat!("Alignment of ", stringify!(SReleaseEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).reason) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SReleaseEvent),
"::",
stringify!(reason)
)
);
}
#[doc = " This AI event is sent once per game frame, which is about 30 times per second\n by default."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUpdateEvent {
pub frame: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SUpdateEvent() {
const UNINIT: ::std::mem::MaybeUninit<SUpdateEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUpdateEvent>(),
4usize,
concat!("Size of: ", stringify!(SUpdateEvent))
);
assert_eq!(
::std::mem::align_of::<SUpdateEvent>(),
4usize,
concat!("Alignment of ", stringify!(SUpdateEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).frame) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUpdateEvent),
"::",
stringify!(frame)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SMessageEvent {
pub player: ::std::os::raw::c_int,
pub message: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_SMessageEvent() {
const UNINIT: ::std::mem::MaybeUninit<SMessageEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SMessageEvent>(),
16usize,
concat!("Size of: ", stringify!(SMessageEvent))
);
assert_eq!(
::std::mem::align_of::<SMessageEvent>(),
8usize,
concat!("Alignment of ", stringify!(SMessageEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).player) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SMessageEvent),
"::",
stringify!(player)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SMessageEvent),
"::",
stringify!(message)
)
);
}
#[doc = " This AI event triggers whenever any message\n is sent by a Lua widget or unsynced gadget."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SLuaMessageEvent {
pub inData: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_SLuaMessageEvent() {
const UNINIT: ::std::mem::MaybeUninit<SLuaMessageEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SLuaMessageEvent>(),
8usize,
concat!("Size of: ", stringify!(SLuaMessageEvent))
);
assert_eq!(
::std::mem::align_of::<SLuaMessageEvent>(),
8usize,
concat!("Alignment of ", stringify!(SLuaMessageEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).inData) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SLuaMessageEvent),
"::",
stringify!(inData)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUnitCreatedEvent {
pub unit: ::std::os::raw::c_int,
pub builder: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SUnitCreatedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SUnitCreatedEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUnitCreatedEvent>(),
8usize,
concat!("Size of: ", stringify!(SUnitCreatedEvent))
);
assert_eq!(
::std::mem::align_of::<SUnitCreatedEvent>(),
4usize,
concat!("Alignment of ", stringify!(SUnitCreatedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUnitCreatedEvent),
"::",
stringify!(unit)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).builder) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SUnitCreatedEvent),
"::",
stringify!(builder)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUnitFinishedEvent {
pub unit: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SUnitFinishedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SUnitFinishedEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUnitFinishedEvent>(),
4usize,
concat!("Size of: ", stringify!(SUnitFinishedEvent))
);
assert_eq!(
::std::mem::align_of::<SUnitFinishedEvent>(),
4usize,
concat!("Alignment of ", stringify!(SUnitFinishedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUnitFinishedEvent),
"::",
stringify!(unit)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUnitIdleEvent {
pub unit: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SUnitIdleEvent() {
const UNINIT: ::std::mem::MaybeUninit<SUnitIdleEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUnitIdleEvent>(),
4usize,
concat!("Size of: ", stringify!(SUnitIdleEvent))
);
assert_eq!(
::std::mem::align_of::<SUnitIdleEvent>(),
4usize,
concat!("Alignment of ", stringify!(SUnitIdleEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUnitIdleEvent),
"::",
stringify!(unit)
)
);
}
#[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)"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUnitMoveFailedEvent {
pub unit: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SUnitMoveFailedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SUnitMoveFailedEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUnitMoveFailedEvent>(),
4usize,
concat!("Size of: ", stringify!(SUnitMoveFailedEvent))
);
assert_eq!(
::std::mem::align_of::<SUnitMoveFailedEvent>(),
4usize,
concat!("Alignment of ", stringify!(SUnitMoveFailedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUnitMoveFailedEvent),
"::",
stringify!(unit)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUnitDamagedEvent {
pub unit: ::std::os::raw::c_int,
#[doc = " may be -1, which means no attacker was directly involveld,\n or the attacker is not visible and cheat events are off"]
pub attacker: ::std::os::raw::c_int,
pub damage: f32,
pub dir_posF3: *mut f32,
pub weaponDefId: ::std::os::raw::c_int,
#[doc = " if true, then damage is paralyzation damage, otherwise it is real damage"]
pub paralyzer: bool,
}
#[test]
fn bindgen_test_layout_SUnitDamagedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SUnitDamagedEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUnitDamagedEvent>(),
32usize,
concat!("Size of: ", stringify!(SUnitDamagedEvent))
);
assert_eq!(
::std::mem::align_of::<SUnitDamagedEvent>(),
8usize,
concat!("Alignment of ", stringify!(SUnitDamagedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUnitDamagedEvent),
"::",
stringify!(unit)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).attacker) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SUnitDamagedEvent),
"::",
stringify!(attacker)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).damage) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SUnitDamagedEvent),
"::",
stringify!(damage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dir_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SUnitDamagedEvent),
"::",
stringify!(dir_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).weaponDefId) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SUnitDamagedEvent),
"::",
stringify!(weaponDefId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).paralyzer) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(SUnitDamagedEvent),
"::",
stringify!(paralyzer)
)
);
}
#[doc = " This AI event is sent when a unit was destroyed; see also the unit-damaged\n event."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUnitDestroyedEvent {
pub unit: ::std::os::raw::c_int,
#[doc = " may be -1, which means no attacker was directly involveld,\n or the attacker is not visible and cheat events are off"]
pub attacker: ::std::os::raw::c_int,
pub weaponDefID: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SUnitDestroyedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SUnitDestroyedEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUnitDestroyedEvent>(),
12usize,
concat!("Size of: ", stringify!(SUnitDestroyedEvent))
);
assert_eq!(
::std::mem::align_of::<SUnitDestroyedEvent>(),
4usize,
concat!("Alignment of ", stringify!(SUnitDestroyedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUnitDestroyedEvent),
"::",
stringify!(unit)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).attacker) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SUnitDestroyedEvent),
"::",
stringify!(attacker)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).weaponDefID) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SUnitDestroyedEvent),
"::",
stringify!(weaponDefID)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUnitGivenEvent {
pub unitId: ::std::os::raw::c_int,
pub oldTeamId: ::std::os::raw::c_int,
pub newTeamId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SUnitGivenEvent() {
const UNINIT: ::std::mem::MaybeUninit<SUnitGivenEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUnitGivenEvent>(),
12usize,
concat!("Size of: ", stringify!(SUnitGivenEvent))
);
assert_eq!(
::std::mem::align_of::<SUnitGivenEvent>(),
4usize,
concat!("Alignment of ", stringify!(SUnitGivenEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUnitGivenEvent),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).oldTeamId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SUnitGivenEvent),
"::",
stringify!(oldTeamId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).newTeamId) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SUnitGivenEvent),
"::",
stringify!(newTeamId)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SUnitCapturedEvent {
pub unitId: ::std::os::raw::c_int,
pub oldTeamId: ::std::os::raw::c_int,
pub newTeamId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SUnitCapturedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SUnitCapturedEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SUnitCapturedEvent>(),
12usize,
concat!("Size of: ", stringify!(SUnitCapturedEvent))
);
assert_eq!(
::std::mem::align_of::<SUnitCapturedEvent>(),
4usize,
concat!("Alignment of ", stringify!(SUnitCapturedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SUnitCapturedEvent),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).oldTeamId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SUnitCapturedEvent),
"::",
stringify!(oldTeamId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).newTeamId) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SUnitCapturedEvent),
"::",
stringify!(newTeamId)
)
);
}
#[doc = " This AI event is sent when an enemy unit entered the LOS of this team."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SEnemyEnterLOSEvent {
pub enemy: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SEnemyEnterLOSEvent() {
const UNINIT: ::std::mem::MaybeUninit<SEnemyEnterLOSEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SEnemyEnterLOSEvent>(),
4usize,
concat!("Size of: ", stringify!(SEnemyEnterLOSEvent))
);
assert_eq!(
::std::mem::align_of::<SEnemyEnterLOSEvent>(),
4usize,
concat!("Alignment of ", stringify!(SEnemyEnterLOSEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SEnemyEnterLOSEvent),
"::",
stringify!(enemy)
)
);
}
#[doc = " This AI event is sent when an enemy unit left the LOS of this team."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SEnemyLeaveLOSEvent {
pub enemy: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SEnemyLeaveLOSEvent() {
const UNINIT: ::std::mem::MaybeUninit<SEnemyLeaveLOSEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SEnemyLeaveLOSEvent>(),
4usize,
concat!("Size of: ", stringify!(SEnemyLeaveLOSEvent))
);
assert_eq!(
::std::mem::align_of::<SEnemyLeaveLOSEvent>(),
4usize,
concat!("Alignment of ", stringify!(SEnemyLeaveLOSEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SEnemyLeaveLOSEvent),
"::",
stringify!(enemy)
)
);
}
#[doc = " This AI event is sent when an enemy unit entered the radar covered area of\n this team."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SEnemyEnterRadarEvent {
pub enemy: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SEnemyEnterRadarEvent() {
const UNINIT: ::std::mem::MaybeUninit<SEnemyEnterRadarEvent> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SEnemyEnterRadarEvent>(),
4usize,
concat!("Size of: ", stringify!(SEnemyEnterRadarEvent))
);
assert_eq!(
::std::mem::align_of::<SEnemyEnterRadarEvent>(),
4usize,
concat!("Alignment of ", stringify!(SEnemyEnterRadarEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SEnemyEnterRadarEvent),
"::",
stringify!(enemy)
)
);
}
#[doc = " This AI event is sent when an enemy unit left the radar covered area of this\n team."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SEnemyLeaveRadarEvent {
pub enemy: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SEnemyLeaveRadarEvent() {
const UNINIT: ::std::mem::MaybeUninit<SEnemyLeaveRadarEvent> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SEnemyLeaveRadarEvent>(),
4usize,
concat!("Size of: ", stringify!(SEnemyLeaveRadarEvent))
);
assert_eq!(
::std::mem::align_of::<SEnemyLeaveRadarEvent>(),
4usize,
concat!("Alignment of ", stringify!(SEnemyLeaveRadarEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SEnemyLeaveRadarEvent),
"::",
stringify!(enemy)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SEnemyDamagedEvent {
pub enemy: ::std::os::raw::c_int,
#[doc = " may be -1, which means no attacker was directly involveld,\n or the attacker is not allied with the team receiving this event"]
pub attacker: ::std::os::raw::c_int,
pub damage: f32,
pub dir_posF3: *mut f32,
pub weaponDefId: ::std::os::raw::c_int,
#[doc = " if true, then damage is paralyzation damage, otherwise it is real damage"]
pub paralyzer: bool,
}
#[test]
fn bindgen_test_layout_SEnemyDamagedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SEnemyDamagedEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SEnemyDamagedEvent>(),
32usize,
concat!("Size of: ", stringify!(SEnemyDamagedEvent))
);
assert_eq!(
::std::mem::align_of::<SEnemyDamagedEvent>(),
8usize,
concat!("Alignment of ", stringify!(SEnemyDamagedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SEnemyDamagedEvent),
"::",
stringify!(enemy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).attacker) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SEnemyDamagedEvent),
"::",
stringify!(attacker)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).damage) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SEnemyDamagedEvent),
"::",
stringify!(damage)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dir_posF3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SEnemyDamagedEvent),
"::",
stringify!(dir_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).weaponDefId) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SEnemyDamagedEvent),
"::",
stringify!(weaponDefId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).paralyzer) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(SEnemyDamagedEvent),
"::",
stringify!(paralyzer)
)
);
}
#[doc = " This AI event is sent when an enemy unit was destroyed; see also the\n enemy-damaged event."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SEnemyDestroyedEvent {
pub enemy: ::std::os::raw::c_int,
#[doc = " may be -1, which means no attacker was directly involveld,\n or the attacker is not allied with the team receiving this event"]
pub attacker: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SEnemyDestroyedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SEnemyDestroyedEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SEnemyDestroyedEvent>(),
8usize,
concat!("Size of: ", stringify!(SEnemyDestroyedEvent))
);
assert_eq!(
::std::mem::align_of::<SEnemyDestroyedEvent>(),
4usize,
concat!("Alignment of ", stringify!(SEnemyDestroyedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SEnemyDestroyedEvent),
"::",
stringify!(enemy)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).attacker) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SEnemyDestroyedEvent),
"::",
stringify!(attacker)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SWeaponFiredEvent {
pub unitId: ::std::os::raw::c_int,
pub weaponDefId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SWeaponFiredEvent() {
const UNINIT: ::std::mem::MaybeUninit<SWeaponFiredEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SWeaponFiredEvent>(),
8usize,
concat!("Size of: ", stringify!(SWeaponFiredEvent))
);
assert_eq!(
::std::mem::align_of::<SWeaponFiredEvent>(),
4usize,
concat!("Alignment of ", stringify!(SWeaponFiredEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SWeaponFiredEvent),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).weaponDefId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SWeaponFiredEvent),
"::",
stringify!(weaponDefId)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SPlayerCommandEvent {
pub unitIds: *mut ::std::os::raw::c_int,
pub unitIds_size: ::std::os::raw::c_int,
#[doc = " see COMMAND_* defines in AISCommands.h"]
pub commandTopicId: ::std::os::raw::c_int,
#[doc = " Id of the player that issued the command"]
pub playerId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SPlayerCommandEvent() {
const UNINIT: ::std::mem::MaybeUninit<SPlayerCommandEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SPlayerCommandEvent>(),
24usize,
concat!("Size of: ", stringify!(SPlayerCommandEvent))
);
assert_eq!(
::std::mem::align_of::<SPlayerCommandEvent>(),
8usize,
concat!("Alignment of ", stringify!(SPlayerCommandEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitIds) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SPlayerCommandEvent),
"::",
stringify!(unitIds)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitIds_size) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SPlayerCommandEvent),
"::",
stringify!(unitIds_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).commandTopicId) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(SPlayerCommandEvent),
"::",
stringify!(commandTopicId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).playerId) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SPlayerCommandEvent),
"::",
stringify!(playerId)
)
);
}
#[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, ...)"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SCommandFinishedEvent {
pub unitId: ::std::os::raw::c_int,
pub commandId: ::std::os::raw::c_int,
pub commandTopicId: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SCommandFinishedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SCommandFinishedEvent> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SCommandFinishedEvent>(),
12usize,
concat!("Size of: ", stringify!(SCommandFinishedEvent))
);
assert_eq!(
::std::mem::align_of::<SCommandFinishedEvent>(),
4usize,
concat!("Alignment of ", stringify!(SCommandFinishedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unitId) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SCommandFinishedEvent),
"::",
stringify!(unitId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).commandId) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(SCommandFinishedEvent),
"::",
stringify!(commandId)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).commandTopicId) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SCommandFinishedEvent),
"::",
stringify!(commandTopicId)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSeismicPingEvent {
pub pos_posF3: *mut f32,
pub strength: f32,
}
#[test]
fn bindgen_test_layout_SSeismicPingEvent() {
const UNINIT: ::std::mem::MaybeUninit<SSeismicPingEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSeismicPingEvent>(),
16usize,
concat!("Size of: ", stringify!(SSeismicPingEvent))
);
assert_eq!(
::std::mem::align_of::<SSeismicPingEvent>(),
8usize,
concat!("Alignment of ", stringify!(SSeismicPingEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pos_posF3) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSeismicPingEvent),
"::",
stringify!(pos_posF3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).strength) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSeismicPingEvent),
"::",
stringify!(strength)
)
);
}
#[doc = " This AI event is sent when the AI should be loading its full state from a\n file."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SLoadEvent {
#[doc = " Absolute file path, should be treated read-only"]
pub file: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_SLoadEvent() {
const UNINIT: ::std::mem::MaybeUninit<SLoadEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SLoadEvent>(),
8usize,
concat!("Size of: ", stringify!(SLoadEvent))
);
assert_eq!(
::std::mem::align_of::<SLoadEvent>(),
8usize,
concat!("Alignment of ", stringify!(SLoadEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).file) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SLoadEvent),
"::",
stringify!(file)
)
);
}
#[doc = " This AI event is sent when the AI should be saving its full state to a file."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSaveEvent {
#[doc = " Absolute file path, writable"]
pub file: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_SSaveEvent() {
const UNINIT: ::std::mem::MaybeUninit<SSaveEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSaveEvent>(),
8usize,
concat!("Size of: ", stringify!(SSaveEvent))
);
assert_eq!(
::std::mem::align_of::<SSaveEvent>(),
8usize,
concat!("Alignment of ", stringify!(SSaveEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).file) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSaveEvent),
"::",
stringify!(file)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SEnemyCreatedEvent {
pub enemy: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SEnemyCreatedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SEnemyCreatedEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SEnemyCreatedEvent>(),
4usize,
concat!("Size of: ", stringify!(SEnemyCreatedEvent))
);
assert_eq!(
::std::mem::align_of::<SEnemyCreatedEvent>(),
4usize,
concat!("Alignment of ", stringify!(SEnemyCreatedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SEnemyCreatedEvent),
"::",
stringify!(enemy)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SEnemyFinishedEvent {
pub enemy: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_SEnemyFinishedEvent() {
const UNINIT: ::std::mem::MaybeUninit<SEnemyFinishedEvent> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SEnemyFinishedEvent>(),
4usize,
concat!("Size of: ", stringify!(SEnemyFinishedEvent))
);
assert_eq!(
::std::mem::align_of::<SEnemyFinishedEvent>(),
4usize,
concat!("Alignment of ", stringify!(SEnemyFinishedEvent))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).enemy) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SEnemyFinishedEvent),
"::",
stringify!(enemy)
)
);
}
pub const LevelOfSupport_LOS_None: LevelOfSupport = 0;
pub const LevelOfSupport_LOS_Bad: LevelOfSupport = 1;
pub const LevelOfSupport_LOS_Working: LevelOfSupport = 2;
pub const LevelOfSupport_LOS_Compleet: LevelOfSupport = 3;
pub const LevelOfSupport_LOS_Optimal: LevelOfSupport = 4;
pub const LevelOfSupport_LOS_Unknown: LevelOfSupport = 5;
#[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."]
pub type LevelOfSupport = ::std::os::raw::c_int;
#[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"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SAIInterfaceCallback {
#[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."]
pub Engine_AIInterface_ABIVersion_getFailPart: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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."]
pub Engine_AIInterface_ABIVersion_getWarningPart: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the major engine revision number (e.g. 83)"]
pub Engine_Version_getMajor: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Minor version number (e.g. \"5\")\n @deprecated since 4. October 2011 (pre release 83), will always return \"0\""]
pub Engine_Version_getMinor: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Clients that only differ in patchset can still play together.\n Also demos should be compatible between patchsets."]
pub Engine_Version_getPatchset: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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]*\"."]
pub Engine_Version_getCommits: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " SCM unique identifier for the current commit.\n This matches the regex \"([0-9a-f]{6})?\"."]
pub Engine_Version_getHash: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " SCM branch name (e.g. \"master\" or \"develop\")"]
pub Engine_Version_getBranch: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Additional information (compiler flags, svn revision etc.)"]
pub Engine_Version_getAdditional: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " time of build"]
pub Engine_Version_getBuildTime: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns whether this is a release build of the engine"]
pub Engine_Version_isRelease:
::std::option::Option<unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> bool>,
#[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\""]
pub Engine_Version_getNormal: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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\""]
pub Engine_Version_getSync: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " The verbose, human readable version.\n @return \"Major.Patchset[.1-Commits-gHash Branch] (Additional)\""]
pub Engine_Version_getFull: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns the number of info key-value pairs in the info map\n for this interface."]
pub AIInterface_Info_getSize: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the key at index infoIndex in the info map\n for this interface, or NULL if the infoIndex is invalid."]
pub AIInterface_Info_getKey: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
infoIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns the value at index infoIndex in the info map\n for this interface, or NULL if the infoIndex is invalid."]
pub AIInterface_Info_getValue: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
infoIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[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."]
pub AIInterface_Info_getDescription: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
infoIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " Returns the value associated with the given key in the info map\n for this interface, or NULL if not found."]
pub AIInterface_Info_getValueByKey: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
key: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " the number of teams in this game"]
pub getNumTeams: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " the number of skirmish AIs in this game"]
pub getNumSkirmishAIs: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " the maximum number of skirmish AIs in any game"]
pub getMaxSkirmishAIs: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the value accosiated to the given key from the skirmish AIs info map"]
pub SkirmishAI_Info_getValueByKey: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
shortName: *const ::std::os::raw::c_char,
version: *const ::std::os::raw::c_char,
key: *const ::std::os::raw::c_char,
) -> *const ::std::os::raw::c_char,
>,
#[doc = " This will end up in infolog"]
pub Log_log: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
msg: *const ::std::os::raw::c_char,
),
>,
#[doc = " This will end up in infolog"]
pub Log_logsl: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
section: *const ::std::os::raw::c_char,
loglevel: ::std::os::raw::c_int,
msg: *const ::std::os::raw::c_char,
),
>,
#[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."]
pub Log_exception: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
msg: *const ::std::os::raw::c_char,
severety: ::std::os::raw::c_int,
die: bool,
),
>,
#[doc = " Basically returns '/' on posix and '\\\\' on windows"]
pub DataDirs_getPathSeparator: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_char,
>,
#[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/"]
pub DataDirs_getConfigDir: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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/"]
pub DataDirs_getWriteableDir: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char,
>,
#[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"]
pub DataDirs_locatePath: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
path: *mut ::std::os::raw::c_char,
path_sizeMax: ::std::os::raw::c_int,
relPath: *const ::std::os::raw::c_char,
writeable: bool,
create: bool,
dir: bool,
common: bool,
) -> bool,
>,
#[doc = " Returns the number of springs data dirs."]
pub DataDirs_Roots_getSize: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[doc = " Returns the data dir at dirIndex, which is valid between 0 and (DataDirs_Roots_getSize() - 1)."]
pub DataDirs_Roots_getDir: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
path: *mut ::std::os::raw::c_char,
path_sizeMax: ::std::os::raw::c_int,
dirIndex: ::std::os::raw::c_int,
) -> bool,
>,
#[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"]
pub DataDirs_Roots_locatePath: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
path: *mut ::std::os::raw::c_char,
path_sizeMax: ::std::os::raw::c_int,
relPath: *const ::std::os::raw::c_char,
writeable: bool,
create: bool,
dir: bool,
) -> bool,
>,
}
#[test]
fn bindgen_test_layout_SAIInterfaceCallback() {
const UNINIT: ::std::mem::MaybeUninit<SAIInterfaceCallback> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SAIInterfaceCallback>(),
264usize,
concat!("Size of: ", stringify!(SAIInterfaceCallback))
);
assert_eq!(
::std::mem::align_of::<SAIInterfaceCallback>(),
8usize,
concat!("Alignment of ", stringify!(SAIInterfaceCallback))
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Engine_AIInterface_ABIVersion_getFailPart) as usize
- ptr as usize
},
0usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_AIInterface_ABIVersion_getFailPart)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Engine_AIInterface_ABIVersion_getWarningPart) as usize
- ptr as usize
},
8usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_AIInterface_ABIVersion_getWarningPart)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getMajor) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getMajor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getMinor) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getMinor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getPatchset) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getPatchset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getCommits) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getCommits)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getHash) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getHash)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getBranch) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getBranch)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).Engine_Version_getAdditional) as usize - ptr as usize
},
64usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getAdditional)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getBuildTime) as usize - ptr as usize },
72usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getBuildTime)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_isRelease) as usize - ptr as usize },
80usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_isRelease)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getNormal) as usize - ptr as usize },
88usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getNormal)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getSync) as usize - ptr as usize },
96usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getSync)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Engine_Version_getFull) as usize - ptr as usize },
104usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Engine_Version_getFull)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).AIInterface_Info_getSize) as usize - ptr as usize },
112usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(AIInterface_Info_getSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).AIInterface_Info_getKey) as usize - ptr as usize },
120usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(AIInterface_Info_getKey)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).AIInterface_Info_getValue) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(AIInterface_Info_getValue)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).AIInterface_Info_getDescription) as usize - ptr as usize
},
136usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(AIInterface_Info_getDescription)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).AIInterface_Info_getValueByKey) as usize - ptr as usize
},
144usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(AIInterface_Info_getValueByKey)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getNumTeams) as usize - ptr as usize },
152usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(getNumTeams)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getNumSkirmishAIs) as usize - ptr as usize },
160usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(getNumSkirmishAIs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getMaxSkirmishAIs) as usize - ptr as usize },
168usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(getMaxSkirmishAIs)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).SkirmishAI_Info_getValueByKey) as usize - ptr as usize
},
176usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(SkirmishAI_Info_getValueByKey)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Log_log) as usize - ptr as usize },
184usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Log_log)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Log_logsl) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Log_logsl)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).Log_exception) as usize - ptr as usize },
200usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(Log_exception)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getPathSeparator) as usize - ptr as usize },
208usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(DataDirs_getPathSeparator)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getConfigDir) as usize - ptr as usize },
216usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(DataDirs_getConfigDir)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_getWriteableDir) as usize - ptr as usize },
224usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(DataDirs_getWriteableDir)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_locatePath) as usize - ptr as usize },
232usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(DataDirs_locatePath)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_getSize) as usize - ptr as usize },
240usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(DataDirs_Roots_getSize)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_getDir) as usize - ptr as usize },
248usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(DataDirs_Roots_getDir)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).DataDirs_Roots_locatePath) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceCallback),
"::",
stringify!(DataDirs_Roots_locatePath)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SStaticGlobalData {
_unused: [u8; 0],
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SAIInterfaceLibrary {
#[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"]
pub initStatic: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
arg1: *const SAIInterfaceCallback,
) -> ::std::os::raw::c_int,
>,
#[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"]
pub releaseStatic: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
#[doc = " Loads the specified Skirmish AI.\n\n @return 0: ok\n != 0: error"]
pub loadSkirmishAILibrary: ::std::option::Option<
unsafe extern "C" fn(
shortName: *const ::std::os::raw::c_char,
version: *const ::std::os::raw::c_char,
) -> *const SSkirmishAILibrary,
>,
#[doc = " Unloads the specified Skirmish AI.\n\n @return 0: ok\n != 0: error"]
pub unloadSkirmishAILibrary: ::std::option::Option<
unsafe extern "C" fn(
shortName: *const ::std::os::raw::c_char,
version: *const ::std::os::raw::c_char,
) -> ::std::os::raw::c_int,
>,
#[doc = " Unloads all Skirmish AI libraries currently loaded by this interface.\n\n @return 0: ok\n != 0: error"]
pub unloadAllSkirmishAILibraries:
::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
#[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"]
pub listSkirmishAILibraries: ::std::option::Option<
unsafe extern "C" fn(interfaceId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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."]
pub listSkirmishAILibraryInfos: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
aiIndex: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int,
>,
#[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."]
pub listSkirmishAILibraryInfoKey: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
aiIndex: ::std::os::raw::c_int,
infoIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[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."]
pub listSkirmishAILibraryInfoValue: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
aiIndex: ::std::os::raw::c_int,
infoIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
#[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"]
pub listSkirmishAILibraryOptions: ::std::option::Option<
unsafe extern "C" fn(
interfaceId: ::std::os::raw::c_int,
aiIndex: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char,
>,
}
#[test]
fn bindgen_test_layout_SAIInterfaceLibrary() {
const UNINIT: ::std::mem::MaybeUninit<SAIInterfaceLibrary> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SAIInterfaceLibrary>(),
80usize,
concat!("Size of: ", stringify!(SAIInterfaceLibrary))
);
assert_eq!(
::std::mem::align_of::<SAIInterfaceLibrary>(),
8usize,
concat!("Alignment of ", stringify!(SAIInterfaceLibrary))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).initStatic) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceLibrary),
"::",
stringify!(initStatic)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).releaseStatic) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceLibrary),
"::",
stringify!(releaseStatic)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).loadSkirmishAILibrary) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceLibrary),
"::",
stringify!(loadSkirmishAILibrary)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).unloadSkirmishAILibrary) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceLibrary),
"::",
stringify!(unloadSkirmishAILibrary)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).unloadAllSkirmishAILibraries) as usize - ptr as usize
},
32usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceLibrary),
"::",
stringify!(unloadAllSkirmishAILibraries)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).listSkirmishAILibraries) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceLibrary),
"::",
stringify!(listSkirmishAILibraries)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).listSkirmishAILibraryInfos) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceLibrary),
"::",
stringify!(listSkirmishAILibraryInfos)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).listSkirmishAILibraryInfoKey) as usize - ptr as usize
},
56usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceLibrary),
"::",
stringify!(listSkirmishAILibraryInfoKey)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).listSkirmishAILibraryInfoValue) as usize - ptr as usize
},
64usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceLibrary),
"::",
stringify!(listSkirmishAILibraryInfoValue)
)
);
assert_eq!(
unsafe {
::std::ptr::addr_of!((*ptr).listSkirmishAILibraryOptions) as usize - ptr as usize
},
72usize,
concat!(
"Offset of field: ",
stringify!(SAIInterfaceLibrary),
"::",
stringify!(listSkirmishAILibraryOptions)
)
);
}
#[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."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct SSkirmishAILibrary {
#[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"]
pub getLevelOfSupportFor: ::std::option::Option<
unsafe extern "C" fn(
aiShortName: *const ::std::os::raw::c_char,
aiVersion: *const ::std::os::raw::c_char,
engineVersionString: *const ::std::os::raw::c_char,
engineVersionNumber: ::std::os::raw::c_int,
aiInterfaceShortName: *const ::std::os::raw::c_char,
aiInterfaceVersion: *const ::std::os::raw::c_char,
) -> LevelOfSupport,
>,
#[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"]
pub init: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
callback: *const SSkirmishAICallback,
) -> ::std::os::raw::c_int,
>,
#[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"]
pub release: ::std::option::Option<
unsafe extern "C" fn(skirmishAIId: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
>,
#[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"]
pub handleEvent: ::std::option::Option<
unsafe extern "C" fn(
skirmishAIId: ::std::os::raw::c_int,
topicId: ::std::os::raw::c_int,
data: *const ::std::os::raw::c_void,
) -> ::std::os::raw::c_int,
>,
}
#[test]
fn bindgen_test_layout_SSkirmishAILibrary() {
const UNINIT: ::std::mem::MaybeUninit<SSkirmishAILibrary> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<SSkirmishAILibrary>(),
32usize,
concat!("Size of: ", stringify!(SSkirmishAILibrary))
);
assert_eq!(
::std::mem::align_of::<SSkirmishAILibrary>(),
8usize,
concat!("Alignment of ", stringify!(SSkirmishAILibrary))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).getLevelOfSupportFor) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAILibrary),
"::",
stringify!(getLevelOfSupportFor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAILibrary),
"::",
stringify!(init)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).release) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAILibrary),
"::",
stringify!(release)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).handleEvent) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(SSkirmishAILibrary),
"::",
stringify!(handleEvent)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __crt_locale_data {
pub _address: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __crt_multibyte_data {
pub _address: u8,
}
pub type __builtin_va_list = *mut ::std::os::raw::c_char;