|  | 
|  | 1 | +#pragma once | 
|  | 2 | + | 
|  | 3 | +#include <sourceppc/API.h> | 
|  | 4 | +#include <sourceppc/Buffer.h> | 
|  | 5 | + | 
|  | 6 | +#ifdef __cplusplus | 
|  | 7 | +extern "C" { | 
|  | 8 | +#endif | 
|  | 9 | + | 
|  | 10 | +typedef enum { | 
|  | 11 | +	VTFPP_IMAGE_FORMAT_RGBA8888 = 0, | 
|  | 12 | +	VTFPP_IMAGE_FORMAT_ABGR8888, | 
|  | 13 | +	VTFPP_IMAGE_FORMAT_RGB888, | 
|  | 14 | +	VTFPP_IMAGE_FORMAT_BGR888, | 
|  | 15 | +	VTFPP_IMAGE_FORMAT_RGB565, | 
|  | 16 | +	VTFPP_IMAGE_FORMAT_I8, | 
|  | 17 | +	VTFPP_IMAGE_FORMAT_IA88, | 
|  | 18 | +	VTFPP_IMAGE_FORMAT_P8, | 
|  | 19 | +	VTFPP_IMAGE_FORMAT_A8, | 
|  | 20 | +	VTFPP_IMAGE_FORMAT_RGB888_BLUESCREEN, | 
|  | 21 | +	VTFPP_IMAGE_FORMAT_BGR888_BLUESCREEN, | 
|  | 22 | +	VTFPP_IMAGE_FORMAT_ARGB8888, | 
|  | 23 | +	VTFPP_IMAGE_FORMAT_BGRA8888, | 
|  | 24 | +	VTFPP_IMAGE_FORMAT_DXT1, | 
|  | 25 | +	VTFPP_IMAGE_FORMAT_DXT3, | 
|  | 26 | +	VTFPP_IMAGE_FORMAT_DXT5, | 
|  | 27 | +	VTFPP_IMAGE_FORMAT_BGRX8888, | 
|  | 28 | +	VTFPP_IMAGE_FORMAT_BGR565, | 
|  | 29 | +	VTFPP_IMAGE_FORMAT_BGRX5551, | 
|  | 30 | +	VTFPP_IMAGE_FORMAT_BGRA4444, | 
|  | 31 | +	VTFPP_IMAGE_FORMAT_DXT1_ONE_BIT_ALPHA, | 
|  | 32 | +	VTFPP_IMAGE_FORMAT_BGRA5551, | 
|  | 33 | +	VTFPP_IMAGE_FORMAT_UV88, | 
|  | 34 | +	VTFPP_IMAGE_FORMAT_UVWQ8888, | 
|  | 35 | +	VTFPP_IMAGE_FORMAT_RGBA16161616F, | 
|  | 36 | +	VTFPP_IMAGE_FORMAT_RGBA16161616, | 
|  | 37 | +	VTFPP_IMAGE_FORMAT_UVLX8888, | 
|  | 38 | +	VTFPP_IMAGE_FORMAT_R32F, | 
|  | 39 | +	VTFPP_IMAGE_FORMAT_RGB323232F, | 
|  | 40 | +	VTFPP_IMAGE_FORMAT_RGBA32323232F, | 
|  | 41 | +	VTFPP_IMAGE_FORMAT_RG1616F, | 
|  | 42 | +	VTFPP_IMAGE_FORMAT_RG3232F, | 
|  | 43 | +	VTFPP_IMAGE_FORMAT_RGBX8888, | 
|  | 44 | +	VTFPP_IMAGE_FORMAT_EMPTY, | 
|  | 45 | +	VTFPP_IMAGE_FORMAT_ATI2N, | 
|  | 46 | +	VTFPP_IMAGE_FORMAT_ATI1N, | 
|  | 47 | +	VTFPP_IMAGE_FORMAT_RGBA1010102, | 
|  | 48 | +	VTFPP_IMAGE_FORMAT_BGRA1010102, | 
|  | 49 | +	VTFPP_IMAGE_FORMAT_R16F, | 
|  | 50 | + | 
|  | 51 | +	VTFPP_IMAGE_FORMAT_CONSOLE_BGRX8888_LINEAR = 42, | 
|  | 52 | +	VTFPP_IMAGE_FORMAT_CONSOLE_RGBA8888_LINEAR, | 
|  | 53 | +	VTFPP_IMAGE_FORMAT_CONSOLE_ABGR8888_LINEAR, | 
|  | 54 | +	VTFPP_IMAGE_FORMAT_CONSOLE_ARGB8888_LINEAR, | 
|  | 55 | +	VTFPP_IMAGE_FORMAT_CONSOLE_BGRA8888_LINEAR, | 
|  | 56 | +	VTFPP_IMAGE_FORMAT_CONSOLE_RGB888_LINEAR, | 
|  | 57 | +	VTFPP_IMAGE_FORMAT_CONSOLE_BGR888_LINEAR, | 
|  | 58 | +	VTFPP_IMAGE_FORMAT_CONSOLE_BGRX5551_LINEAR, | 
|  | 59 | +	VTFPP_IMAGE_FORMAT_CONSOLE_I8_LINEAR, | 
|  | 60 | +	VTFPP_IMAGE_FORMAT_CONSOLE_RGBA16161616_LINEAR, | 
|  | 61 | +	VTFPP_IMAGE_FORMAT_CONSOLE_BGRX8888_LE, | 
|  | 62 | +	VTFPP_IMAGE_FORMAT_CONSOLE_BGRA8888_LE, | 
|  | 63 | + | 
|  | 64 | +	VTFPP_IMAGE_FORMAT_R8 = 69, | 
|  | 65 | +	VTFPP_IMAGE_FORMAT_BC7, | 
|  | 66 | +	VTFPP_IMAGE_FORMAT_BC6H, | 
|  | 67 | +} vtfpp_image_format_e; | 
|  | 68 | + | 
|  | 69 | +#ifdef __cplusplus | 
|  | 70 | +} // extern "C" | 
|  | 71 | +#endif | 
|  | 72 | + | 
|  | 73 | +SOURCEPP_API int8_t vtfpp_image_format_details_red(vtfpp_image_format_e format); | 
|  | 74 | + | 
|  | 75 | +SOURCEPP_API int8_t vtfpp_image_format_details_decompressed_red(vtfpp_image_format_e format); | 
|  | 76 | + | 
|  | 77 | +SOURCEPP_API int8_t vtfpp_image_format_details_green(vtfpp_image_format_e format); | 
|  | 78 | + | 
|  | 79 | +SOURCEPP_API int8_t vtfpp_image_format_details_decompressed_green(vtfpp_image_format_e format); | 
|  | 80 | + | 
|  | 81 | +SOURCEPP_API int8_t vtfpp_image_format_details_blue(vtfpp_image_format_e format); | 
|  | 82 | + | 
|  | 83 | +SOURCEPP_API int8_t vtfpp_image_format_details_decompressed_blue(vtfpp_image_format_e format); | 
|  | 84 | + | 
|  | 85 | +SOURCEPP_API int8_t vtfpp_image_format_details_alpha(vtfpp_image_format_e format); | 
|  | 86 | + | 
|  | 87 | +SOURCEPP_API int8_t vtfpp_image_format_details_decompressed_alpha(vtfpp_image_format_e format); | 
|  | 88 | + | 
|  | 89 | +SOURCEPP_API int8_t vtfpp_image_format_details_bpp(vtfpp_image_format_e format); | 
|  | 90 | + | 
|  | 91 | +SOURCEPP_API vtfpp_image_format_e vtfpp_image_format_details_container_format(vtfpp_image_format_e format); | 
|  | 92 | + | 
|  | 93 | +SOURCEPP_API int vtfpp_image_format_details_large(vtfpp_image_format_e format); | 
|  | 94 | + | 
|  | 95 | +SOURCEPP_API int vtfpp_image_format_details_decimal(vtfpp_image_format_e format); | 
|  | 96 | + | 
|  | 97 | +SOURCEPP_API int vtfpp_image_format_details_compressed(vtfpp_image_format_e format); | 
|  | 98 | + | 
|  | 99 | +SOURCEPP_API int vtfpp_image_format_details_transparent(vtfpp_image_format_e format); | 
|  | 100 | + | 
|  | 101 | +SOURCEPP_API int vtfpp_image_format_details_opaque(vtfpp_image_format_e format); | 
|  | 102 | + | 
|  | 103 | +SOURCEPP_API uint32_t vtfpp_image_dimensions_get_mip_dim(uint8_t mip, uint16_t dim); | 
|  | 104 | + | 
|  | 105 | +SOURCEPP_API uint8_t vtfpp_image_dimensions_get_recommended_mip_count_for_dim(vtfpp_image_format_e format, uint16_t width, uint16_t height); | 
|  | 106 | + | 
|  | 107 | +SOURCEPP_API uint8_t vtfpp_image_dimensions_get_actual_mip_count_for_dims_on_console(uint16_t width, uint16_t height); | 
|  | 108 | + | 
|  | 109 | +SOURCEPP_API uint32_t vtfpp_image_format_details_get_data_length(vtfpp_image_format_e format, uint16_t width, uint16_t height, uint16_t sliceCount); | 
|  | 110 | + | 
|  | 111 | +SOURCEPP_API uint32_t vtfpp_image_format_details_get_data_length_ex(vtfpp_image_format_e format, uint8_t mipCount, uint16_t frameCount, uint8_t faceCount, uint16_t width, uint16_t height, uint16_t sliceCount); | 
|  | 112 | + | 
|  | 113 | +SOURCEPP_API int vtfpp_image_format_details_get_data_position(uint32_t* offset, uint32_t* length, vtfpp_image_format_e format, uint8_t mip, uint8_t mipCount, uint16_t frame, uint16_t frameCount, uint8_t face, uint8_t faceCount, uint16_t width, uint16_t height, uint16_t slice, uint16_t sliceCount); | 
0 commit comments