SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
Loading...
Searching...
No Matches
vtfpp::Resource Struct Reference

#include <VTF.h>

Collaboration diagram for vtfpp::Resource:

Public Types

enum  Type : uint32_t {
  TYPE_UNKNOWN = 0 , TYPE_THUMBNAIL_DATA = sourcepp::parser::binary::makeFourCC("\x01\0\0\0") , TYPE_IMAGE_DATA = sourcepp::parser::binary::makeFourCC("\x30\0\0\0") , TYPE_PARTICLE_SHEET_DATA = sourcepp::parser::binary::makeFourCC("\x10\0\0\0") ,
  TYPE_CRC = sourcepp::parser::binary::makeFourCC("CRC\0") , TYPE_LOD_CONTROL_INFO = sourcepp::parser::binary::makeFourCC("LOD\0") , TYPE_EXTENDED_FLAGS = sourcepp::parser::binary::makeFourCC("TSO\0") , TYPE_KEYVALUES_DATA = sourcepp::parser::binary::makeFourCC("KVD\0") ,
  TYPE_AUX_COMPRESSION = sourcepp::parser::binary::makeFourCC("AXC\0")
}
 
enum  Flags : uint8_t { FLAG_NONE = 0 , FLAG_LOCAL_DATA = 1 << 1 }
 
using ConvertedData = std::variant< std::monostate, SHT, uint32_t, std::tuple< uint8_t, uint8_t, uint8_t, uint8_t >, std::string, std::span< uint32_t > >
 

Public Member Functions

ConvertedData convertData () const
 
SHT getDataAsParticleSheet () const
 
uint32_t getDataAsCRC () const
 
uint32_t getDataAsExtendedFlags () const
 
std::tuple< uint8_t, uint8_t, uint8_t, uint8_t > getDataAsLODControlInfo () const
 
std::string getDataAsKeyValuesData () const
 
int16_t getDataAsAuxCompressionLevel () const
 
CompressionMethod getDataAsAuxCompressionMethod () const
 
uint32_t getDataAsAuxCompressionLength (uint8_t mip, uint8_t mipCount, uint16_t frame, uint16_t frameCount, uint16_t face, uint16_t faceCount) const
 

Static Public Member Functions

static const std::array< Type, 8 > & getOrder ()
 

Public Attributes

Type type = TYPE_UNKNOWN
 
Flags flags = FLAG_NONE
 
std::span< std::byte > data
 

Detailed Description

Definition at line 33 of file VTF.h.

Member Typedef Documentation

◆ ConvertedData

using vtfpp::Resource::ConvertedData = std::variant< std::monostate, SHT, uint32_t, std::tuple<uint8_t, uint8_t, uint8_t, uint8_t>, std::string, std::span<uint32_t> >

Definition at line 56 of file VTF.h.

Member Enumeration Documentation

◆ Flags

enum vtfpp::Resource::Flags : uint8_t
Enumerator
FLAG_NONE 
FLAG_LOCAL_DATA 

Definition at line 47 of file VTF.h.

◆ Type

enum vtfpp::Resource::Type : uint32_t
Enumerator
TYPE_UNKNOWN 
TYPE_THUMBNAIL_DATA 
TYPE_IMAGE_DATA 
TYPE_PARTICLE_SHEET_DATA 
TYPE_CRC 
TYPE_LOD_CONTROL_INFO 
TYPE_EXTENDED_FLAGS 
TYPE_KEYVALUES_DATA 
TYPE_AUX_COMPRESSION 

Definition at line 34 of file VTF.h.

Member Function Documentation

◆ convertData()

Resource::ConvertedData Resource::convertData ( ) const

Definition at line 135 of file VTF.cpp.

◆ getDataAsAuxCompressionLength()

uint32_t vtfpp::Resource::getDataAsAuxCompressionLength ( uint8_t  mip,
uint8_t  mipCount,
uint16_t  frame,
uint16_t  frameCount,
uint16_t  face,
uint16_t  faceCount 
) const
inline

Definition at line 98 of file VTF.h.

◆ getDataAsAuxCompressionLevel()

int16_t vtfpp::Resource::getDataAsAuxCompressionLevel ( ) const
inline

Definition at line 86 of file VTF.h.

◆ getDataAsAuxCompressionMethod()

CompressionMethod vtfpp::Resource::getDataAsAuxCompressionMethod ( ) const
inline

Definition at line 90 of file VTF.h.

◆ getDataAsCRC()

uint32_t vtfpp::Resource::getDataAsCRC ( ) const
inline

Definition at line 70 of file VTF.h.

◆ getDataAsExtendedFlags()

uint32_t vtfpp::Resource::getDataAsExtendedFlags ( ) const
inline

Definition at line 74 of file VTF.h.

◆ getDataAsKeyValuesData()

std::string vtfpp::Resource::getDataAsKeyValuesData ( ) const
inline

Definition at line 82 of file VTF.h.

◆ getDataAsLODControlInfo()

std::tuple< uint8_t, uint8_t, uint8_t, uint8_t > vtfpp::Resource::getDataAsLODControlInfo ( ) const
inline

Definition at line 78 of file VTF.h.

◆ getDataAsParticleSheet()

SHT vtfpp::Resource::getDataAsParticleSheet ( ) const
inline

Definition at line 66 of file VTF.h.

◆ getOrder()

const std::array< Resource::Type, 8 > & Resource::getOrder ( )
static

Definition at line 116 of file VTF.cpp.

Member Data Documentation

◆ data

std::span<std::byte> vtfpp::Resource::data

Definition at line 54 of file VTF.h.

◆ flags

Flags vtfpp::Resource::flags = FLAG_NONE

Definition at line 53 of file VTF.h.

◆ type

Type vtfpp::Resource::type = TYPE_UNKNOWN

Definition at line 52 of file VTF.h.


The documentation for this struct was generated from the following files: