vtflib_sys/
lib.rs

1#![allow(non_snake_case)]
2#![allow(non_camel_case_types)]
3#![allow(non_upper_case_globals)]
4#![allow(clippy::all)]
5#![deny(clippy::cargo)]
6
7/* automatically generated by rust-bindgen 0.58.1 */
8
9pub const vlFalse: ::std::os::raw::c_uchar = 0;
10pub const vlTrue: ::std::os::raw::c_uchar = 1;
11pub const VL_VERSION: u32 = 132;
12pub const VL_VERSION_STRING: &'static [u8; 6usize] = b"1.3.2\0";
13pub const VTF_MAJOR_VERSION: u32 = 7;
14pub const VTF_MINOR_VERSION: u32 = 5;
15pub const VTF_MINOR_VERSION_MIN_SPHERE_MAP: u32 = 1;
16pub const VTF_MINOR_VERSION_MIN_VOLUME: u32 = 2;
17pub type vlBool = ::std::os::raw::c_uchar;
18pub type vlChar = ::std::os::raw::c_char;
19pub type vlByte = ::std::os::raw::c_uchar;
20pub type vlShort = ::std::os::raw::c_short;
21pub type vlUShort = ::std::os::raw::c_ushort;
22pub type vlInt = ::std::os::raw::c_int;
23pub type vlUInt = ::std::os::raw::c_uint;
24pub type vlLong = ::std::os::raw::c_long;
25pub type vlULong = ::std::os::raw::c_ulong;
26pub type vlSingle = f32;
27pub type vlDouble = f64;
28pub type vlVoid = ::std::os::raw::c_void;
29pub type vlFloat = vlSingle;
30pub const tagVTFLibOption_VTFLIB_DXT_QUALITY: tagVTFLibOption = 0;
31pub const tagVTFLibOption_VTFLIB_LUMINANCE_WEIGHT_R: tagVTFLibOption = 1;
32pub const tagVTFLibOption_VTFLIB_LUMINANCE_WEIGHT_G: tagVTFLibOption = 2;
33pub const tagVTFLibOption_VTFLIB_LUMINANCE_WEIGHT_B: tagVTFLibOption = 3;
34pub const tagVTFLibOption_VTFLIB_BLUESCREEN_MASK_R: tagVTFLibOption = 4;
35pub const tagVTFLibOption_VTFLIB_BLUESCREEN_MASK_G: tagVTFLibOption = 5;
36pub const tagVTFLibOption_VTFLIB_BLUESCREEN_MASK_B: tagVTFLibOption = 6;
37pub const tagVTFLibOption_VTFLIB_BLUESCREEN_CLEAR_R: tagVTFLibOption = 7;
38pub const tagVTFLibOption_VTFLIB_BLUESCREEN_CLEAR_G: tagVTFLibOption = 8;
39pub const tagVTFLibOption_VTFLIB_BLUESCREEN_CLEAR_B: tagVTFLibOption = 9;
40pub const tagVTFLibOption_VTFLIB_FP16_HDR_KEY: tagVTFLibOption = 10;
41pub const tagVTFLibOption_VTFLIB_FP16_HDR_SHIFT: tagVTFLibOption = 11;
42pub const tagVTFLibOption_VTFLIB_FP16_HDR_GAMMA: tagVTFLibOption = 12;
43pub const tagVTFLibOption_VTFLIB_UNSHARPEN_RADIUS: tagVTFLibOption = 13;
44pub const tagVTFLibOption_VTFLIB_UNSHARPEN_AMOUNT: tagVTFLibOption = 14;
45pub const tagVTFLibOption_VTFLIB_UNSHARPEN_THRESHOLD: tagVTFLibOption = 15;
46pub const tagVTFLibOption_VTFLIB_XSHARPEN_STRENGTH: tagVTFLibOption = 16;
47pub const tagVTFLibOption_VTFLIB_XSHARPEN_THRESHOLD: tagVTFLibOption = 17;
48pub const tagVTFLibOption_VTFLIB_VMT_PARSE_MODE: tagVTFLibOption = 18;
49pub type tagVTFLibOption = ::std::os::raw::c_int;
50pub use self::tagVTFLibOption as VTFLibOption;
51pub const tagVTFImageFormat_IMAGE_FORMAT_RGBA8888: tagVTFImageFormat = 0;
52pub const tagVTFImageFormat_IMAGE_FORMAT_ABGR8888: tagVTFImageFormat = 1;
53pub const tagVTFImageFormat_IMAGE_FORMAT_RGB888: tagVTFImageFormat = 2;
54pub const tagVTFImageFormat_IMAGE_FORMAT_BGR888: tagVTFImageFormat = 3;
55pub const tagVTFImageFormat_IMAGE_FORMAT_RGB565: tagVTFImageFormat = 4;
56pub const tagVTFImageFormat_IMAGE_FORMAT_I8: tagVTFImageFormat = 5;
57pub const tagVTFImageFormat_IMAGE_FORMAT_IA88: tagVTFImageFormat = 6;
58pub const tagVTFImageFormat_IMAGE_FORMAT_P8: tagVTFImageFormat = 7;
59pub const tagVTFImageFormat_IMAGE_FORMAT_A8: tagVTFImageFormat = 8;
60pub const tagVTFImageFormat_IMAGE_FORMAT_RGB888_BLUESCREEN: tagVTFImageFormat = 9;
61pub const tagVTFImageFormat_IMAGE_FORMAT_BGR888_BLUESCREEN: tagVTFImageFormat = 10;
62pub const tagVTFImageFormat_IMAGE_FORMAT_ARGB8888: tagVTFImageFormat = 11;
63pub const tagVTFImageFormat_IMAGE_FORMAT_BGRA8888: tagVTFImageFormat = 12;
64pub const tagVTFImageFormat_IMAGE_FORMAT_DXT1: tagVTFImageFormat = 13;
65pub const tagVTFImageFormat_IMAGE_FORMAT_DXT3: tagVTFImageFormat = 14;
66pub const tagVTFImageFormat_IMAGE_FORMAT_DXT5: tagVTFImageFormat = 15;
67pub const tagVTFImageFormat_IMAGE_FORMAT_BGRX8888: tagVTFImageFormat = 16;
68pub const tagVTFImageFormat_IMAGE_FORMAT_BGR565: tagVTFImageFormat = 17;
69pub const tagVTFImageFormat_IMAGE_FORMAT_BGRX5551: tagVTFImageFormat = 18;
70pub const tagVTFImageFormat_IMAGE_FORMAT_BGRA4444: tagVTFImageFormat = 19;
71pub const tagVTFImageFormat_IMAGE_FORMAT_DXT1_ONEBITALPHA: tagVTFImageFormat = 20;
72pub const tagVTFImageFormat_IMAGE_FORMAT_BGRA5551: tagVTFImageFormat = 21;
73pub const tagVTFImageFormat_IMAGE_FORMAT_UV88: tagVTFImageFormat = 22;
74pub const tagVTFImageFormat_IMAGE_FORMAT_UVWQ8888: tagVTFImageFormat = 23;
75pub const tagVTFImageFormat_IMAGE_FORMAT_RGBA16161616F: tagVTFImageFormat = 24;
76pub const tagVTFImageFormat_IMAGE_FORMAT_RGBA16161616: tagVTFImageFormat = 25;
77pub const tagVTFImageFormat_IMAGE_FORMAT_UVLX8888: tagVTFImageFormat = 26;
78pub const tagVTFImageFormat_IMAGE_FORMAT_R32F: tagVTFImageFormat = 27;
79pub const tagVTFImageFormat_IMAGE_FORMAT_RGB323232F: tagVTFImageFormat = 28;
80pub const tagVTFImageFormat_IMAGE_FORMAT_RGBA32323232F: tagVTFImageFormat = 29;
81pub const tagVTFImageFormat_IMAGE_FORMAT_NV_DST16: tagVTFImageFormat = 30;
82pub const tagVTFImageFormat_IMAGE_FORMAT_NV_DST24: tagVTFImageFormat = 31;
83pub const tagVTFImageFormat_IMAGE_FORMAT_NV_INTZ: tagVTFImageFormat = 32;
84pub const tagVTFImageFormat_IMAGE_FORMAT_NV_RAWZ: tagVTFImageFormat = 33;
85pub const tagVTFImageFormat_IMAGE_FORMAT_ATI_DST16: tagVTFImageFormat = 34;
86pub const tagVTFImageFormat_IMAGE_FORMAT_ATI_DST24: tagVTFImageFormat = 35;
87pub const tagVTFImageFormat_IMAGE_FORMAT_NV_NULL: tagVTFImageFormat = 36;
88pub const tagVTFImageFormat_IMAGE_FORMAT_ATI2N: tagVTFImageFormat = 37;
89pub const tagVTFImageFormat_IMAGE_FORMAT_ATI1N: tagVTFImageFormat = 38;
90pub const tagVTFImageFormat_IMAGE_FORMAT_COUNT: tagVTFImageFormat = 39;
91pub const tagVTFImageFormat_IMAGE_FORMAT_NONE: tagVTFImageFormat = -1;
92pub type tagVTFImageFormat = ::std::os::raw::c_int;
93pub use self::tagVTFImageFormat as VTFImageFormat;
94pub const tagVTFImageFlag_TEXTUREFLAGS_POINTSAMPLE: tagVTFImageFlag = 1;
95pub const tagVTFImageFlag_TEXTUREFLAGS_TRILINEAR: tagVTFImageFlag = 2;
96pub const tagVTFImageFlag_TEXTUREFLAGS_CLAMPS: tagVTFImageFlag = 4;
97pub const tagVTFImageFlag_TEXTUREFLAGS_CLAMPT: tagVTFImageFlag = 8;
98pub const tagVTFImageFlag_TEXTUREFLAGS_ANISOTROPIC: tagVTFImageFlag = 16;
99pub const tagVTFImageFlag_TEXTUREFLAGS_HINT_DXT5: tagVTFImageFlag = 32;
100pub const tagVTFImageFlag_TEXTUREFLAGS_SRGB: tagVTFImageFlag = 64;
101pub const tagVTFImageFlag_TEXTUREFLAGS_DEPRECATED_NOCOMPRESS: tagVTFImageFlag = 64;
102pub const tagVTFImageFlag_TEXTUREFLAGS_NORMAL: tagVTFImageFlag = 128;
103pub const tagVTFImageFlag_TEXTUREFLAGS_NOMIP: tagVTFImageFlag = 256;
104pub const tagVTFImageFlag_TEXTUREFLAGS_NOLOD: tagVTFImageFlag = 512;
105pub const tagVTFImageFlag_TEXTUREFLAGS_MINMIP: tagVTFImageFlag = 1024;
106pub const tagVTFImageFlag_TEXTUREFLAGS_PROCEDURAL: tagVTFImageFlag = 2048;
107#[doc = "!< Automatically generated by VTex."]
108pub const tagVTFImageFlag_TEXTUREFLAGS_ONEBITALPHA: tagVTFImageFlag = 4096;
109#[doc = "!< Automatically generated by VTex."]
110pub const tagVTFImageFlag_TEXTUREFLAGS_EIGHTBITALPHA: tagVTFImageFlag = 8192;
111pub const tagVTFImageFlag_TEXTUREFLAGS_ENVMAP: tagVTFImageFlag = 16384;
112pub const tagVTFImageFlag_TEXTUREFLAGS_RENDERTARGET: tagVTFImageFlag = 32768;
113pub const tagVTFImageFlag_TEXTUREFLAGS_DEPTHRENDERTARGET: tagVTFImageFlag = 65536;
114pub const tagVTFImageFlag_TEXTUREFLAGS_NODEBUGOVERRIDE: tagVTFImageFlag = 131072;
115pub const tagVTFImageFlag_TEXTUREFLAGS_SINGLECOPY: tagVTFImageFlag = 262144;
116#[doc = "!< Originally internal to VTex as TEXTUREFLAGS_ONEOVERMIPLEVELINALPHA."]
117pub const tagVTFImageFlag_TEXTUREFLAGS_UNUSED0: tagVTFImageFlag = 524288;
118pub const tagVTFImageFlag_TEXTUREFLAGS_DEPRECATED_ONEOVERMIPLEVELINALPHA: tagVTFImageFlag = 524288;
119#[doc = "!< Originally internal to VTex as TEXTUREFLAGS_PREMULTCOLORBYONEOVERMIPLEVEL."]
120pub const tagVTFImageFlag_TEXTUREFLAGS_UNUSED1: tagVTFImageFlag = 1048576;
121pub const tagVTFImageFlag_TEXTUREFLAGS_DEPRECATED_PREMULTCOLORBYONEOVERMIPLEVEL: tagVTFImageFlag =
122    1048576;
123#[doc = "!< Originally internal to VTex as TEXTUREFLAGS_NORMALTODUDV."]
124pub const tagVTFImageFlag_TEXTUREFLAGS_UNUSED2: tagVTFImageFlag = 2097152;
125pub const tagVTFImageFlag_TEXTUREFLAGS_DEPRECATED_NORMALTODUDV: tagVTFImageFlag = 2097152;
126#[doc = "!< Originally internal to VTex as TEXTUREFLAGS_ALPHATESTMIPGENERATION."]
127pub const tagVTFImageFlag_TEXTUREFLAGS_UNUSED3: tagVTFImageFlag = 4194304;
128pub const tagVTFImageFlag_TEXTUREFLAGS_DEPRECATED_ALPHATESTMIPGENERATION: tagVTFImageFlag = 4194304;
129pub const tagVTFImageFlag_TEXTUREFLAGS_NODEPTHBUFFER: tagVTFImageFlag = 8388608;
130#[doc = "!< Originally internal to VTex as TEXTUREFLAGS_NICEFILTERED."]
131pub const tagVTFImageFlag_TEXTUREFLAGS_UNUSED4: tagVTFImageFlag = 16777216;
132pub const tagVTFImageFlag_TEXTUREFLAGS_DEPRECATED_NICEFILTERED: tagVTFImageFlag = 16777216;
133pub const tagVTFImageFlag_TEXTUREFLAGS_CLAMPU: tagVTFImageFlag = 33554432;
134pub const tagVTFImageFlag_TEXTUREFLAGS_VERTEXTEXTURE: tagVTFImageFlag = 67108864;
135pub const tagVTFImageFlag_TEXTUREFLAGS_SSBUMP: tagVTFImageFlag = 134217728;
136#[doc = "!< Originally TEXTUREFLAGS_UNFILTERABLE_OK."]
137pub const tagVTFImageFlag_TEXTUREFLAGS_UNUSED5: tagVTFImageFlag = 268435456;
138pub const tagVTFImageFlag_TEXTUREFLAGS_DEPRECATED_UNFILTERABLE_OK: tagVTFImageFlag = 268435456;
139pub const tagVTFImageFlag_TEXTUREFLAGS_BORDER: tagVTFImageFlag = 536870912;
140pub const tagVTFImageFlag_TEXTUREFLAGS_DEPRECATED_SPECVAR_RED: tagVTFImageFlag = 1073741824;
141pub const tagVTFImageFlag_TEXTUREFLAGS_DEPRECATED_SPECVAR_ALPHA: tagVTFImageFlag = -2147483648;
142pub const tagVTFImageFlag_TEXTUREFLAGS_LAST: tagVTFImageFlag = 536870912;
143pub const tagVTFImageFlag_TEXTUREFLAGS_COUNT: tagVTFImageFlag = 30;
144pub type tagVTFImageFlag = ::std::os::raw::c_int;
145pub use self::tagVTFImageFlag as VTFImageFlag;
146pub const tagVTFCubeMapFace_CUBEMAP_FACE_RIGHT: tagVTFCubeMapFace = 0;
147pub const tagVTFCubeMapFace_CUBEMAP_FACE_LEFT: tagVTFCubeMapFace = 1;
148pub const tagVTFCubeMapFace_CUBEMAP_FACE_BACK: tagVTFCubeMapFace = 2;
149pub const tagVTFCubeMapFace_CUBEMAP_FACE_FRONT: tagVTFCubeMapFace = 3;
150pub const tagVTFCubeMapFace_CUBEMAP_FACE_UP: tagVTFCubeMapFace = 4;
151pub const tagVTFCubeMapFace_CUBEMAP_FACE_DOWN: tagVTFCubeMapFace = 5;
152pub const tagVTFCubeMapFace_CUBEMAP_FACE_SPHERE_MAP: tagVTFCubeMapFace = 6;
153pub const tagVTFCubeMapFace_CUBEMAP_FACE_COUNT: tagVTFCubeMapFace = 7;
154pub type tagVTFCubeMapFace = ::std::os::raw::c_int;
155pub use self::tagVTFCubeMapFace as VTFCubeMapFace;
156pub const tagVTFMipmapFilter_MIPMAP_FILTER_POINT: tagVTFMipmapFilter = 0;
157pub const tagVTFMipmapFilter_MIPMAP_FILTER_BOX: tagVTFMipmapFilter = 1;
158pub const tagVTFMipmapFilter_MIPMAP_FILTER_TRIANGLE: tagVTFMipmapFilter = 2;
159pub const tagVTFMipmapFilter_MIPMAP_FILTER_QUADRATIC: tagVTFMipmapFilter = 3;
160pub const tagVTFMipmapFilter_MIPMAP_FILTER_CUBIC: tagVTFMipmapFilter = 4;
161pub const tagVTFMipmapFilter_MIPMAP_FILTER_CATROM: tagVTFMipmapFilter = 5;
162pub const tagVTFMipmapFilter_MIPMAP_FILTER_MITCHELL: tagVTFMipmapFilter = 6;
163pub const tagVTFMipmapFilter_MIPMAP_FILTER_GAUSSIAN: tagVTFMipmapFilter = 7;
164pub const tagVTFMipmapFilter_MIPMAP_FILTER_SINC: tagVTFMipmapFilter = 8;
165pub const tagVTFMipmapFilter_MIPMAP_FILTER_BESSEL: tagVTFMipmapFilter = 9;
166pub const tagVTFMipmapFilter_MIPMAP_FILTER_HANNING: tagVTFMipmapFilter = 10;
167pub const tagVTFMipmapFilter_MIPMAP_FILTER_HAMMING: tagVTFMipmapFilter = 11;
168pub const tagVTFMipmapFilter_MIPMAP_FILTER_BLACKMAN: tagVTFMipmapFilter = 12;
169pub const tagVTFMipmapFilter_MIPMAP_FILTER_KAISER: tagVTFMipmapFilter = 13;
170pub const tagVTFMipmapFilter_MIPMAP_FILTER_COUNT: tagVTFMipmapFilter = 14;
171pub type tagVTFMipmapFilter = ::std::os::raw::c_int;
172pub use self::tagVTFMipmapFilter as VTFMipmapFilter;
173pub const tagVTFSharpenFilter_SHARPEN_FILTER_NONE: tagVTFSharpenFilter = 0;
174pub const tagVTFSharpenFilter_SHARPEN_FILTER_NEGATIVE: tagVTFSharpenFilter = 1;
175pub const tagVTFSharpenFilter_SHARPEN_FILTER_LIGHTER: tagVTFSharpenFilter = 2;
176pub const tagVTFSharpenFilter_SHARPEN_FILTER_DARKER: tagVTFSharpenFilter = 3;
177pub const tagVTFSharpenFilter_SHARPEN_FILTER_CONTRASTMORE: tagVTFSharpenFilter = 4;
178pub const tagVTFSharpenFilter_SHARPEN_FILTER_CONTRASTLESS: tagVTFSharpenFilter = 5;
179pub const tagVTFSharpenFilter_SHARPEN_FILTER_SMOOTHEN: tagVTFSharpenFilter = 6;
180pub const tagVTFSharpenFilter_SHARPEN_FILTER_SHARPENSOFT: tagVTFSharpenFilter = 7;
181pub const tagVTFSharpenFilter_SHARPEN_FILTER_SHARPENMEDIUM: tagVTFSharpenFilter = 8;
182pub const tagVTFSharpenFilter_SHARPEN_FILTER_SHARPENSTRONG: tagVTFSharpenFilter = 9;
183pub const tagVTFSharpenFilter_SHARPEN_FILTER_FINDEDGES: tagVTFSharpenFilter = 10;
184pub const tagVTFSharpenFilter_SHARPEN_FILTER_CONTOUR: tagVTFSharpenFilter = 11;
185pub const tagVTFSharpenFilter_SHARPEN_FILTER_EDGEDETECT: tagVTFSharpenFilter = 12;
186pub const tagVTFSharpenFilter_SHARPEN_FILTER_EDGEDETECTSOFT: tagVTFSharpenFilter = 13;
187pub const tagVTFSharpenFilter_SHARPEN_FILTER_EMBOSS: tagVTFSharpenFilter = 14;
188pub const tagVTFSharpenFilter_SHARPEN_FILTER_MEANREMOVAL: tagVTFSharpenFilter = 15;
189pub const tagVTFSharpenFilter_SHARPEN_FILTER_UNSHARP: tagVTFSharpenFilter = 16;
190pub const tagVTFSharpenFilter_SHARPEN_FILTER_XSHARPEN: tagVTFSharpenFilter = 17;
191pub const tagVTFSharpenFilter_SHARPEN_FILTER_WARPSHARP: tagVTFSharpenFilter = 18;
192pub const tagVTFSharpenFilter_SHARPEN_FILTER_COUNT: tagVTFSharpenFilter = 19;
193pub type tagVTFSharpenFilter = ::std::os::raw::c_int;
194pub use self::tagVTFSharpenFilter as VTFSharpenFilter;
195pub const tagDXTQuality_DXT_QUALITY_LOW: tagDXTQuality = 0;
196pub const tagDXTQuality_DXT_QUALITY_MEDIUM: tagDXTQuality = 1;
197pub const tagDXTQuality_DXT_QUALITY_HIGH: tagDXTQuality = 2;
198pub const tagDXTQuality_DXT_QUALITY_HIGHEST: tagDXTQuality = 3;
199pub const tagDXTQuality_DXT_QUALITY_COUNT: tagDXTQuality = 4;
200pub type tagDXTQuality = ::std::os::raw::c_int;
201pub use self::tagDXTQuality as VTFDXTQuality;
202pub const tagVTFKernelFilter_KERNEL_FILTER_4X: tagVTFKernelFilter = 0;
203pub const tagVTFKernelFilter_KERNEL_FILTER_3X3: tagVTFKernelFilter = 1;
204pub const tagVTFKernelFilter_KERNEL_FILTER_5X5: tagVTFKernelFilter = 2;
205pub const tagVTFKernelFilter_KERNEL_FILTER_7X7: tagVTFKernelFilter = 3;
206pub const tagVTFKernelFilter_KERNEL_FILTER_9X9: tagVTFKernelFilter = 4;
207pub const tagVTFKernelFilter_KERNEL_FILTER_DUDV: tagVTFKernelFilter = 5;
208pub const tagVTFKernelFilter_KERNEL_FILTER_COUNT: tagVTFKernelFilter = 6;
209pub type tagVTFKernelFilter = ::std::os::raw::c_int;
210pub use self::tagVTFKernelFilter as VTFKernelFilter;
211pub const tagVTFHeightConversionMethod_HEIGHT_CONVERSION_METHOD_ALPHA:
212    tagVTFHeightConversionMethod = 0;
213pub const tagVTFHeightConversionMethod_HEIGHT_CONVERSION_METHOD_AVERAGE_RGB:
214    tagVTFHeightConversionMethod = 1;
215pub const tagVTFHeightConversionMethod_HEIGHT_CONVERSION_METHOD_BIASED_RGB:
216    tagVTFHeightConversionMethod = 2;
217pub const tagVTFHeightConversionMethod_HEIGHT_CONVERSION_METHOD_RED: tagVTFHeightConversionMethod =
218    3;
219pub const tagVTFHeightConversionMethod_HEIGHT_CONVERSION_METHOD_GREEN:
220    tagVTFHeightConversionMethod = 4;
221pub const tagVTFHeightConversionMethod_HEIGHT_CONVERSION_METHOD_BLUE: tagVTFHeightConversionMethod =
222    5;
223pub const tagVTFHeightConversionMethod_HEIGHT_CONVERSION_METHOD_MAX_RGB:
224    tagVTFHeightConversionMethod = 6;
225pub const tagVTFHeightConversionMethod_HEIGHT_CONVERSION_METHOD_COLORSPACE:
226    tagVTFHeightConversionMethod = 7;
227pub const tagVTFHeightConversionMethod_HEIGHT_CONVERSION_METHOD_COUNT:
228    tagVTFHeightConversionMethod = 8;
229pub type tagVTFHeightConversionMethod = ::std::os::raw::c_int;
230pub use self::tagVTFHeightConversionMethod as VTFHeightConversionMethod;
231pub const tagVTFNormalAlphaResult_NORMAL_ALPHA_RESULT_NOCHANGE: tagVTFNormalAlphaResult = 0;
232pub const tagVTFNormalAlphaResult_NORMAL_ALPHA_RESULT_HEIGHT: tagVTFNormalAlphaResult = 1;
233pub const tagVTFNormalAlphaResult_NORMAL_ALPHA_RESULT_BLACK: tagVTFNormalAlphaResult = 2;
234pub const tagVTFNormalAlphaResult_NORMAL_ALPHA_RESULT_WHITE: tagVTFNormalAlphaResult = 3;
235pub const tagVTFNormalAlphaResult_NORMAL_ALPHA_RESULT_COUNT: tagVTFNormalAlphaResult = 4;
236pub type tagVTFNormalAlphaResult = ::std::os::raw::c_int;
237pub use self::tagVTFNormalAlphaResult as VTFNormalAlphaResult;
238pub const tagVTFResizeMethod_RESIZE_NEAREST_POWER2: tagVTFResizeMethod = 0;
239pub const tagVTFResizeMethod_RESIZE_BIGGEST_POWER2: tagVTFResizeMethod = 1;
240pub const tagVTFResizeMethod_RESIZE_SMALLEST_POWER2: tagVTFResizeMethod = 2;
241pub const tagVTFResizeMethod_RESIZE_SET: tagVTFResizeMethod = 3;
242pub const tagVTFResizeMethod_RESIZE_COUNT: tagVTFResizeMethod = 4;
243pub type tagVTFResizeMethod = ::std::os::raw::c_int;
244pub use self::tagVTFResizeMethod as VTFResizeMethod;
245pub const tagVTFResourceEntryTypeFlag_RSRCF_HAS_NO_DATA_CHUNK: tagVTFResourceEntryTypeFlag = 2;
246pub type tagVTFResourceEntryTypeFlag = ::std::os::raw::c_int;
247pub use self::tagVTFResourceEntryTypeFlag as VTFResourceEntryTypeFlag;
248pub const tagVTFResourceEntryType_VTF_LEGACY_RSRC_LOW_RES_IMAGE: tagVTFResourceEntryType = 1;
249pub const tagVTFResourceEntryType_VTF_LEGACY_RSRC_IMAGE: tagVTFResourceEntryType = 48;
250pub const tagVTFResourceEntryType_VTF_RSRC_SHEET: tagVTFResourceEntryType = 16;
251pub const tagVTFResourceEntryType_VTF_RSRC_CRC: tagVTFResourceEntryType = 37966403;
252pub const tagVTFResourceEntryType_VTF_RSRC_TEXTURE_LOD_SETTINGS: tagVTFResourceEntryType = 38031180;
253pub const tagVTFResourceEntryType_VTF_RSRC_TEXTURE_SETTINGS_EX: tagVTFResourceEntryType = 38753108;
254pub const tagVTFResourceEntryType_VTF_RSRC_KEY_VALUE_DATA: tagVTFResourceEntryType = 4478539;
255pub const tagVTFResourceEntryType_VTF_RSRC_MAX_DICTIONARY_ENTRIES: tagVTFResourceEntryType = 32;
256pub type tagVTFResourceEntryType = ::std::os::raw::c_int;
257pub use self::tagVTFResourceEntryType as VTFResourceEntryType;
258pub const tagVMTParseMode_PARSE_MODE_STRICT: tagVMTParseMode = 0;
259pub const tagVMTParseMode_PARSE_MODE_LOOSE: tagVMTParseMode = 1;
260pub const tagVMTParseMode_PARSE_MODE_COUNT: tagVMTParseMode = 2;
261pub type tagVMTParseMode = ::std::os::raw::c_int;
262pub use self::tagVMTParseMode as VMTParseMode;
263pub const tagVMTNodeType_NODE_TYPE_GROUP: tagVMTNodeType = 0;
264pub const tagVMTNodeType_NODE_TYPE_GROUP_END: tagVMTNodeType = 1;
265pub const tagVMTNodeType_NODE_TYPE_STRING: tagVMTNodeType = 2;
266pub const tagVMTNodeType_NODE_TYPE_INTEGER: tagVMTNodeType = 3;
267pub const tagVMTNodeType_NODE_TYPE_SINGLE: tagVMTNodeType = 4;
268pub const tagVMTNodeType_NODE_TYPE_COUNT: tagVMTNodeType = 5;
269pub type tagVMTNodeType = ::std::os::raw::c_int;
270pub use self::tagVMTNodeType as VMTNodeType;
271#[repr(C, packed)]
272#[derive(Debug, Copy, Clone)]
273pub struct tagSVTFImageFormatInfo {
274    #[doc = "!< Enumeration text equivalent."]
275    pub lpName: *mut vlChar,
276    #[doc = "!< Format bits per pixel."]
277    pub uiBitsPerPixel: vlUInt,
278    #[doc = "!< Format bytes per pixel."]
279    pub uiBytesPerPixel: vlUInt,
280    #[doc = "!< Format red bits per pixel.  0 for N/A."]
281    pub uiRedBitsPerPixel: vlUInt,
282    #[doc = "!< Format green bits per pixel.  0 for N/A."]
283    pub uiGreenBitsPerPixel: vlUInt,
284    #[doc = "!< Format blue bits per pixel.  0 for N/A."]
285    pub uiBlueBitsPerPixel: vlUInt,
286    #[doc = "!< Format alpha bits per pixel.  0 for N/A."]
287    pub uiAlphaBitsPerPixel: vlUInt,
288    #[doc = "!< Format is compressed (DXT)."]
289    pub bIsCompressed: vlBool,
290    #[doc = "!< Format is supported by VTFLib."]
291    pub bIsSupported: vlBool,
292}
293pub type SVTFImageFormatInfo = tagSVTFImageFormatInfo;
294#[repr(C, packed)]
295#[derive(Debug, Copy, Clone)]
296pub struct tagSVTFCreateOptions {
297    #[doc = "!< Output image version."]
298    pub uiVersion: [vlUInt; 2usize],
299    #[doc = "!< Output image output storage format."]
300    pub ImageFormat: VTFImageFormat,
301    #[doc = "!< Output image header flags."]
302    pub uiFlags: vlUInt,
303    #[doc = "!< Output image start frame."]
304    pub uiStartFrame: vlUInt,
305    #[doc = "!< Output image bump scale."]
306    pub sBumpScale: vlSingle,
307    #[doc = "!< Output image reflectivity. (Only used if bReflectivity is false.)"]
308    pub sReflectivity: [vlSingle; 3usize],
309    #[doc = "!< Generate MIPmaps. (Space is always allocated.)"]
310    pub bMipmaps: vlBool,
311    #[doc = "!< MIP map re-size filter."]
312    pub MipmapFilter: VTFMipmapFilter,
313    #[doc = "!< MIP map sharpen filter."]
314    pub MipmapSharpenFilter: VTFSharpenFilter,
315    #[doc = "!< Generate thumbnail image."]
316    pub bThumbnail: vlBool,
317    #[doc = "!< Compute image reflectivity."]
318    pub bReflectivity: vlBool,
319    #[doc = "!< Resize the input image."]
320    pub bResize: vlBool,
321    #[doc = "!< New size compution method."]
322    pub ResizeMethod: VTFResizeMethod,
323    #[doc = "!< Re-size filter."]
324    pub ResizeFilter: VTFMipmapFilter,
325    #[doc = "!< Sharpen filter."]
326    pub ResizeSharpenFilter: VTFSharpenFilter,
327    #[doc = "!< New width after re-size if method is RESIZE_SET."]
328    pub uiResizeWidth: vlUInt,
329    #[doc = "!< New height after re-size if method is RESIZE_SET."]
330    pub uiResizeHeight: vlUInt,
331    #[doc = "!< Clamp re-size size."]
332    pub bResizeClamp: vlBool,
333    #[doc = "!< Maximum width to re-size to."]
334    pub uiResizeClampWidth: vlUInt,
335    #[doc = "!< Maximum height to re-size to."]
336    pub uiResizeClampHeight: vlUInt,
337    #[doc = "!< Gamma correct input image."]
338    pub bGammaCorrection: vlBool,
339    #[doc = "!< Gamma correction to apply."]
340    pub sGammaCorrection: vlSingle,
341    #[doc = "!< Convert input image to a normal map."]
342    pub bNormalMap: vlBool,
343    #[doc = "!< Normal map generation kernel."]
344    pub KernelFilter: VTFKernelFilter,
345    #[doc = "!< Method or determining height from input image during normal map creation."]
346    pub HeightConversionMethod: VTFHeightConversionMethod,
347    #[doc = "!< How to handle output image alpha channel, post normal map creation."]
348    pub NormalAlphaResult: VTFNormalAlphaResult,
349    #[doc = "!< Minimum normal Z value."]
350    pub bNormalMinimumZ: vlByte,
351    #[doc = "!< Normal map scale."]
352    pub sNormalScale: vlSingle,
353    #[doc = "!< Wrap the normal map."]
354    pub bNormalWrap: vlBool,
355    #[doc = "!< Invert the normal X component."]
356    pub bNormalInvertX: vlBool,
357    #[doc = "!< Invert the normal Y component."]
358    pub bNormalInvertY: vlBool,
359    #[doc = "!< Invert the normal Z component."]
360    pub bNormalInvertZ: vlBool,
361    #[doc = "!< Generate a sphere map for six faced environment maps."]
362    pub bSphereMap: vlBool,
363}
364pub type SVTFCreateOptions = tagSVTFCreateOptions;
365#[repr(C)]
366#[derive(Debug, Copy, Clone)]
367pub struct tagSVTFTextureLODControlResource {
368    pub ResolutionClampU: vlByte,
369    pub ResolutionClampV: vlByte,
370    pub Padding: [vlByte; 2usize],
371}
372pub type SVTFTextureLODControlResource = tagSVTFTextureLODControlResource;
373pub const tagVLProc_PROC_READ_CLOSE: tagVLProc = 0;
374pub const tagVLProc_PROC_READ_OPEN: tagVLProc = 1;
375pub const tagVLProc_PROC_READ_READ: tagVLProc = 2;
376pub const tagVLProc_PROC_READ_SEEK: tagVLProc = 3;
377pub const tagVLProc_PROC_READ_TELL: tagVLProc = 4;
378pub const tagVLProc_PROC_READ_SIZE: tagVLProc = 5;
379pub const tagVLProc_PROC_WRITE_CLOSE: tagVLProc = 6;
380pub const tagVLProc_PROC_WRITE_OPEN: tagVLProc = 7;
381pub const tagVLProc_PROC_WRITE_WRITE: tagVLProc = 8;
382pub const tagVLProc_PROC_WRITE_SEEK: tagVLProc = 9;
383pub const tagVLProc_PROC_WRITE_SIZE: tagVLProc = 10;
384pub const tagVLProc_PROC_WRITE_TELL: tagVLProc = 11;
385pub const tagVLProc_PROC_COUNT: tagVLProc = 12;
386pub type tagVLProc = ::std::os::raw::c_int;
387pub use self::tagVLProc as VLProc;
388pub const tagVLSeekMode_SEEK_MODE_BEGIN: tagVLSeekMode = 0;
389pub const tagVLSeekMode_SEEK_MODE_CURRENT: tagVLSeekMode = 1;
390pub const tagVLSeekMode_SEEK_MODE_END: tagVLSeekMode = 2;
391pub type tagVLSeekMode = ::std::os::raw::c_int;
392pub use self::tagVLSeekMode as VLSeekMode;
393pub type PReadCloseProc = ::std::option::Option<unsafe extern "C" fn(arg1: *mut vlVoid) -> vlVoid>;
394pub type PReadOpenProc = ::std::option::Option<unsafe extern "C" fn(arg1: *mut vlVoid) -> vlBool>;
395pub type PReadReadProc = ::std::option::Option<
396    unsafe extern "C" fn(arg1: *mut vlVoid, arg2: vlUInt, arg3: *mut vlVoid) -> vlUInt,
397>;
398pub type PReadSeekProc = ::std::option::Option<
399    unsafe extern "C" fn(arg1: vlLong, arg2: VLSeekMode, arg3: *mut vlVoid) -> vlUInt,
400>;
401pub type PReadSizeProc = ::std::option::Option<unsafe extern "C" fn(arg1: *mut vlVoid) -> vlUInt>;
402pub type PReadTellProc = ::std::option::Option<unsafe extern "C" fn(arg1: *mut vlVoid) -> vlUInt>;
403pub type PWriteCloseProc = ::std::option::Option<unsafe extern "C" fn(arg1: *mut vlVoid) -> vlVoid>;
404pub type PWriteOpenProc = ::std::option::Option<unsafe extern "C" fn(arg1: *mut vlVoid) -> vlBool>;
405pub type PWriteWriteProc = ::std::option::Option<
406    unsafe extern "C" fn(arg1: *mut vlVoid, arg2: vlUInt, arg3: *mut vlVoid) -> vlUInt,
407>;
408pub type PWriteSeekProc = ::std::option::Option<
409    unsafe extern "C" fn(arg1: vlLong, arg2: VLSeekMode, arg3: *mut vlVoid) -> vlUInt,
410>;
411pub type PWriteSizeProc = ::std::option::Option<unsafe extern "C" fn(arg1: *mut vlVoid) -> vlUInt>;
412pub type PWriteTellProc = ::std::option::Option<unsafe extern "C" fn(arg1: *mut vlVoid) -> vlUInt>;
413extern "C" {
414    pub fn vlGetVersion() -> vlUInt;
415}
416extern "C" {
417    pub fn vlGetVersionString() -> *const vlChar;
418}
419extern "C" {
420    pub fn vlGetLastError() -> *const vlChar;
421}
422extern "C" {
423    pub fn vlInitialize() -> vlBool;
424}
425extern "C" {
426    pub fn vlShutdown() -> vlVoid;
427}
428extern "C" {
429    pub fn vlGetBoolean(Option: VTFLibOption) -> vlBool;
430}
431extern "C" {
432    pub fn vlSetBoolean(Option: VTFLibOption, bValue: vlBool) -> vlVoid;
433}
434extern "C" {
435    pub fn vlGetInteger(Option: VTFLibOption) -> vlInt;
436}
437extern "C" {
438    pub fn vlSetInteger(Option: VTFLibOption, iValue: vlInt) -> vlVoid;
439}
440extern "C" {
441    pub fn vlGetFloat(Option: VTFLibOption) -> vlSingle;
442}
443extern "C" {
444    pub fn vlSetFloat(Option: VTFLibOption, sValue: vlSingle) -> vlVoid;
445}
446extern "C" {
447    pub fn vlSetProc(Proc: VLProc, pProc: *mut vlVoid) -> vlVoid;
448}
449extern "C" {
450    pub fn vlGetProc(Proc: VLProc) -> *mut vlVoid;
451}
452extern "C" {
453    pub fn vlImageIsBound() -> vlBool;
454}
455extern "C" {
456    pub fn vlBindImage(uiImage: vlUInt) -> vlBool;
457}
458extern "C" {
459    pub fn vlCreateImage(uiImage: *mut vlUInt) -> vlBool;
460}
461extern "C" {
462    pub fn vlDeleteImage(uiImage: vlUInt) -> vlVoid;
463}
464extern "C" {
465    pub fn vlImageCreateDefaultCreateStructure(VTFCreateOptions: *mut SVTFCreateOptions) -> vlVoid;
466}
467extern "C" {
468    pub fn vlImageCreate(
469        uiWidth: vlUInt,
470        uiHeight: vlUInt,
471        uiFrames: vlUInt,
472        uiFaces: vlUInt,
473        uiSlices: vlUInt,
474        ImageFormat: VTFImageFormat,
475        bThumbnail: vlBool,
476        bMipmaps: vlBool,
477        bNullImageData: vlBool,
478    ) -> vlBool;
479}
480extern "C" {
481    pub fn vlImageCreateSingle(
482        uiWidth: vlUInt,
483        uiHeight: vlUInt,
484        lpImageDataRGBA8888: *mut vlByte,
485        VTFCreateOptions: *mut SVTFCreateOptions,
486    ) -> vlBool;
487}
488extern "C" {
489    pub fn vlImageCreateMultiple(
490        uiWidth: vlUInt,
491        uiHeight: vlUInt,
492        uiFrames: vlUInt,
493        uiFaces: vlUInt,
494        uiSlices: vlUInt,
495        lpImageDataRGBA8888: *mut *mut vlByte,
496        VTFCreateOptions: *mut SVTFCreateOptions,
497    ) -> vlBool;
498}
499extern "C" {
500    pub fn vlImageDestroy() -> vlVoid;
501}
502extern "C" {
503    pub fn vlImageIsLoaded() -> vlBool;
504}
505extern "C" {
506    pub fn vlImageLoad(cFileName: *const vlChar, bHeaderOnly: vlBool) -> vlBool;
507}
508extern "C" {
509    pub fn vlImageLoadLump(
510        lpData: *const vlVoid,
511        uiBufferSize: vlUInt,
512        bHeaderOnly: vlBool,
513    ) -> vlBool;
514}
515extern "C" {
516    pub fn vlImageLoadProc(pUserData: *mut vlVoid, bHeaderOnly: vlBool) -> vlBool;
517}
518extern "C" {
519    pub fn vlImageSave(cFileName: *const vlChar) -> vlBool;
520}
521extern "C" {
522    pub fn vlImageSaveLump(
523        lpData: *mut vlVoid,
524        uiBufferSize: vlUInt,
525        uiSize: *mut vlUInt,
526    ) -> vlBool;
527}
528extern "C" {
529    pub fn vlImageSaveProc(pUserData: *mut vlVoid) -> vlBool;
530}
531extern "C" {
532    pub fn vlImageGetHasImage() -> vlUInt;
533}
534extern "C" {
535    pub fn vlImageGetMajorVersion() -> vlUInt;
536}
537extern "C" {
538    pub fn vlImageGetMinorVersion() -> vlUInt;
539}
540extern "C" {
541    pub fn vlImageGetSize() -> vlUInt;
542}
543extern "C" {
544    pub fn vlImageGetWidth() -> vlUInt;
545}
546extern "C" {
547    pub fn vlImageGetHeight() -> vlUInt;
548}
549extern "C" {
550    pub fn vlImageGetDepth() -> vlUInt;
551}
552extern "C" {
553    pub fn vlImageGetFrameCount() -> vlUInt;
554}
555extern "C" {
556    pub fn vlImageGetFaceCount() -> vlUInt;
557}
558extern "C" {
559    pub fn vlImageGetMipmapCount() -> vlUInt;
560}
561extern "C" {
562    pub fn vlImageGetStartFrame() -> vlUInt;
563}
564extern "C" {
565    pub fn vlImageSetStartFrame(uiStartFrame: vlUInt) -> vlVoid;
566}
567extern "C" {
568    pub fn vlImageGetFlags() -> vlUInt;
569}
570extern "C" {
571    pub fn vlImageSetFlags(uiFlags: vlUInt) -> vlVoid;
572}
573extern "C" {
574    pub fn vlImageGetFlag(ImageFlag: VTFImageFlag) -> vlBool;
575}
576extern "C" {
577    pub fn vlImageSetFlag(ImageFlag: VTFImageFlag, bState: vlBool) -> vlVoid;
578}
579extern "C" {
580    pub fn vlImageGetBumpmapScale() -> vlSingle;
581}
582extern "C" {
583    pub fn vlImageSetBumpmapScale(sBumpmapScale: vlSingle) -> vlVoid;
584}
585extern "C" {
586    pub fn vlImageGetReflectivity(
587        sX: *mut vlSingle,
588        sY: *mut vlSingle,
589        sZ: *mut vlSingle,
590    ) -> vlVoid;
591}
592extern "C" {
593    pub fn vlImageSetReflectivity(sX: vlSingle, sY: vlSingle, sZ: vlSingle) -> vlVoid;
594}
595extern "C" {
596    pub fn vlImageGetFormat() -> VTFImageFormat;
597}
598extern "C" {
599    pub fn vlImageGetData(
600        uiFrame: vlUInt,
601        uiFace: vlUInt,
602        uiSlice: vlUInt,
603        uiMipmapLevel: vlUInt,
604    ) -> *mut vlByte;
605}
606extern "C" {
607    pub fn vlImageSetData(
608        uiFrame: vlUInt,
609        uiFace: vlUInt,
610        uiSlice: vlUInt,
611        uiMipmapLevel: vlUInt,
612        lpData: *mut vlByte,
613    ) -> vlVoid;
614}
615extern "C" {
616    pub fn vlImageGetHasThumbnail() -> vlBool;
617}
618extern "C" {
619    pub fn vlImageGetThumbnailWidth() -> vlUInt;
620}
621extern "C" {
622    pub fn vlImageGetThumbnailHeight() -> vlUInt;
623}
624extern "C" {
625    pub fn vlImageGetThumbnailFormat() -> VTFImageFormat;
626}
627extern "C" {
628    pub fn vlImageGetThumbnailData() -> *mut vlByte;
629}
630extern "C" {
631    pub fn vlImageSetThumbnailData(lpData: *mut vlByte) -> vlVoid;
632}
633extern "C" {
634    pub fn vlImageGetSupportsResources() -> vlBool;
635}
636extern "C" {
637    pub fn vlImageGetResourceCount() -> vlUInt;
638}
639extern "C" {
640    pub fn vlImageGetResourceType(uiIndex: vlUInt) -> vlUInt;
641}
642extern "C" {
643    pub fn vlImageGetHasResource(uiType: vlUInt) -> vlBool;
644}
645extern "C" {
646    pub fn vlImageGetResourceData(uiType: vlUInt, uiSize: *mut vlUInt) -> *mut vlVoid;
647}
648extern "C" {
649    pub fn vlImageSetResourceData(
650        uiType: vlUInt,
651        uiSize: vlUInt,
652        lpData: *mut vlVoid,
653    ) -> *mut vlVoid;
654}
655extern "C" {
656    pub fn vlImageGenerateMipmaps(
657        uiFace: vlUInt,
658        uiFrame: vlUInt,
659        MipmapFilter: VTFMipmapFilter,
660        SharpenFilter: VTFSharpenFilter,
661    ) -> vlBool;
662}
663extern "C" {
664    pub fn vlImageGenerateAllMipmaps(
665        MipmapFilter: VTFMipmapFilter,
666        SharpenFilter: VTFSharpenFilter,
667    ) -> vlBool;
668}
669extern "C" {
670    pub fn vlImageGenerateThumbnail() -> vlBool;
671}
672extern "C" {
673    pub fn vlImageGenerateNormalMap(
674        uiFrame: vlUInt,
675        KernelFilter: VTFKernelFilter,
676        HeightConversionMethod: VTFHeightConversionMethod,
677        NormalAlphaResult: VTFNormalAlphaResult,
678    ) -> vlBool;
679}
680extern "C" {
681    pub fn vlImageGenerateAllNormalMaps(
682        KernelFilter: VTFKernelFilter,
683        HeightConversionMethod: VTFHeightConversionMethod,
684        NormalAlphaResult: VTFNormalAlphaResult,
685    ) -> vlBool;
686}
687extern "C" {
688    pub fn vlImageGenerateSphereMap() -> vlBool;
689}
690extern "C" {
691    pub fn vlImageComputeReflectivity() -> vlBool;
692}
693extern "C" {
694    pub fn vlImageGetImageFormatInfo(ImageFormat: VTFImageFormat) -> *const SVTFImageFormatInfo;
695}
696extern "C" {
697    pub fn vlImageGetImageFormatInfoEx(
698        ImageFormat: VTFImageFormat,
699        VTFImageFormatInfo: *mut SVTFImageFormatInfo,
700    ) -> vlBool;
701}
702extern "C" {
703    pub fn vlImageComputeImageSize(
704        uiWidth: vlUInt,
705        uiHeight: vlUInt,
706        uiDepth: vlUInt,
707        uiMipmaps: vlUInt,
708        ImageFormat: VTFImageFormat,
709    ) -> vlUInt;
710}
711extern "C" {
712    pub fn vlImageComputeMipmapCount(uiWidth: vlUInt, uiHeight: vlUInt, uiDepth: vlUInt) -> vlUInt;
713}
714extern "C" {
715    pub fn vlImageComputeMipmapDimensions(
716        uiWidth: vlUInt,
717        uiHeight: vlUInt,
718        uiDepth: vlUInt,
719        uiMipmapLevel: vlUInt,
720        uiMipmapWidth: *mut vlUInt,
721        uiMipmapHeight: *mut vlUInt,
722        uiMipmapDepth: *mut vlUInt,
723    ) -> vlVoid;
724}
725extern "C" {
726    pub fn vlImageComputeMipmapSize(
727        uiWidth: vlUInt,
728        uiHeight: vlUInt,
729        uiDepth: vlUInt,
730        uiMipmapLevel: vlUInt,
731        ImageFormat: VTFImageFormat,
732    ) -> vlUInt;
733}
734extern "C" {
735    pub fn vlImageConvertToRGBA8888(
736        lpSource: *mut vlByte,
737        lpDest: *mut vlByte,
738        uiWidth: vlUInt,
739        uiHeight: vlUInt,
740        SourceFormat: VTFImageFormat,
741    ) -> vlBool;
742}
743extern "C" {
744    pub fn vlImageConvertFromRGBA8888(
745        lpSource: *mut vlByte,
746        lpDest: *mut vlByte,
747        uiWidth: vlUInt,
748        uiHeight: vlUInt,
749        DestFormat: VTFImageFormat,
750    ) -> vlBool;
751}
752extern "C" {
753    pub fn vlImageConvert(
754        lpSource: *mut vlByte,
755        lpDest: *mut vlByte,
756        uiWidth: vlUInt,
757        uiHeight: vlUInt,
758        SourceFormat: VTFImageFormat,
759        DestFormat: VTFImageFormat,
760    ) -> vlBool;
761}
762extern "C" {
763    pub fn vlImageConvertToNormalMap(
764        lpSourceRGBA8888: *mut vlByte,
765        lpDestRGBA8888: *mut vlByte,
766        uiWidth: vlUInt,
767        uiHeight: vlUInt,
768        KernelFilter: VTFKernelFilter,
769        HeightConversionMethod: VTFHeightConversionMethod,
770        NormalAlphaResult: VTFNormalAlphaResult,
771        bMinimumZ: vlByte,
772        sScale: vlSingle,
773        bWrap: vlBool,
774        bInvertX: vlBool,
775        bInvertY: vlBool,
776    ) -> vlBool;
777}
778extern "C" {
779    pub fn vlImageResize(
780        lpSourceRGBA8888: *mut vlByte,
781        lpDestRGBA8888: *mut vlByte,
782        uiSourceWidth: vlUInt,
783        uiSourceHeight: vlUInt,
784        uiDestWidth: vlUInt,
785        uiDestHeight: vlUInt,
786        ResizeFilter: VTFMipmapFilter,
787        SharpenFilter: VTFSharpenFilter,
788    ) -> vlBool;
789}
790extern "C" {
791    pub fn vlImageCorrectImageGamma(
792        lpImageDataRGBA8888: *mut vlByte,
793        uiWidth: vlUInt,
794        uiHeight: vlUInt,
795        sGammaCorrection: vlSingle,
796    ) -> vlVoid;
797}
798extern "C" {
799    pub fn vlImageComputeImageReflectivity(
800        lpImageDataRGBA8888: *mut vlByte,
801        uiWidth: vlUInt,
802        uiHeight: vlUInt,
803        sX: *mut vlSingle,
804        sY: *mut vlSingle,
805        sZ: *mut vlSingle,
806    ) -> vlVoid;
807}
808extern "C" {
809    pub fn vlImageFlipImage(
810        lpImageDataRGBA8888: *mut vlByte,
811        uiWidth: vlUInt,
812        uiHeight: vlUInt,
813    ) -> vlVoid;
814}
815extern "C" {
816    pub fn vlImageMirrorImage(
817        lpImageDataRGBA8888: *mut vlByte,
818        uiWidth: vlUInt,
819        uiHeight: vlUInt,
820    ) -> vlVoid;
821}
822extern "C" {
823    pub fn vlMaterialIsBound() -> vlBool;
824}
825extern "C" {
826    pub fn vlBindMaterial(uiMaterial: vlUInt) -> vlBool;
827}
828extern "C" {
829    pub fn vlCreateMaterial(uiMaterial: *mut vlUInt) -> vlBool;
830}
831extern "C" {
832    pub fn vlDeleteMaterial(uiMaterial: vlUInt) -> vlVoid;
833}
834extern "C" {
835    pub fn vlMaterialCreate(cRoot: *const vlChar) -> vlBool;
836}
837extern "C" {
838    pub fn vlMaterialDestroy() -> vlVoid;
839}
840extern "C" {
841    pub fn vlMaterialIsLoaded() -> vlBool;
842}
843extern "C" {
844    pub fn vlMaterialLoad(cFileName: *const vlChar) -> vlBool;
845}
846extern "C" {
847    pub fn vlMaterialLoadLump(lpData: *const vlVoid, uiBufferSize: vlUInt) -> vlBool;
848}
849extern "C" {
850    pub fn vlMaterialLoadProc(pUserData: *mut vlVoid) -> vlBool;
851}
852extern "C" {
853    pub fn vlMaterialSave(cFileName: *const vlChar) -> vlBool;
854}
855extern "C" {
856    pub fn vlMaterialSaveLump(
857        lpData: *mut vlVoid,
858        uiBufferSize: vlUInt,
859        uiSize: *mut vlUInt,
860    ) -> vlBool;
861}
862extern "C" {
863    pub fn vlMaterialSaveProc(pUserData: *mut vlVoid) -> vlBool;
864}
865extern "C" {
866    pub fn vlMaterialGetFirstNode() -> vlBool;
867}
868extern "C" {
869    pub fn vlMaterialGetLastNode() -> vlBool;
870}
871extern "C" {
872    pub fn vlMaterialGetNextNode() -> vlBool;
873}
874extern "C" {
875    pub fn vlMaterialGetPreviousNode() -> vlBool;
876}
877extern "C" {
878    pub fn vlMaterialGetParentNode() -> vlBool;
879}
880extern "C" {
881    pub fn vlMaterialGetChildNode(cName: *const vlChar) -> vlBool;
882}
883extern "C" {
884    pub fn vlMaterialGetNodeName() -> *const vlChar;
885}
886extern "C" {
887    pub fn vlMaterialSetNodeName(cName: *const vlChar) -> vlVoid;
888}
889extern "C" {
890    pub fn vlMaterialGetNodeType() -> VMTNodeType;
891}
892extern "C" {
893    pub fn vlMaterialGetNodeString() -> *const vlChar;
894}
895extern "C" {
896    pub fn vlMaterialSetNodeString(cValue: *const vlChar) -> vlVoid;
897}
898extern "C" {
899    pub fn vlMaterialGetNodeInteger() -> vlUInt;
900}
901extern "C" {
902    pub fn vlMaterialSetNodeInteger(iValue: vlUInt) -> vlVoid;
903}
904extern "C" {
905    pub fn vlMaterialGetNodeSingle() -> vlFloat;
906}
907extern "C" {
908    pub fn vlMaterialSetNodeSingle(sValue: vlFloat) -> vlVoid;
909}
910extern "C" {
911    pub fn vlMaterialAddNodeGroup(cName: *const vlChar) -> vlVoid;
912}
913extern "C" {
914    pub fn vlMaterialAddNodeString(cName: *const vlChar, cValue: *const vlChar) -> vlVoid;
915}
916extern "C" {
917    pub fn vlMaterialAddNodeInteger(cName: *const vlChar, iValue: vlUInt) -> vlVoid;
918}
919extern "C" {
920    pub fn vlMaterialAddNodeSingle(cName: *const vlChar, sValue: vlFloat) -> vlVoid;
921}