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 = 1 , TYPE_PALETTE_DATA = 2 , TYPE_FALLBACK_DATA = 3 ,
  TYPE_PARTICLE_SHEET_DATA = 16 , TYPE_HOTSPOT_DATA = 43 , TYPE_IMAGE_DATA = 48 , TYPE_EXTENDED_FLAGS = sourcepp::parser::binary::makeFourCC("TS0\0") ,
  TYPE_CRC = sourcepp::parser::binary::makeFourCC("CRC\0") , TYPE_AUX_COMPRESSION = sourcepp::parser::binary::makeFourCC("AXC\0") , TYPE_LOD_CONTROL_INFO = sourcepp::parser::binary::makeFourCC("LOD\0") , TYPE_KEYVALUES_DATA = sourcepp::parser::binary::makeFourCC("KVD\0")
}
enum  Flags : uint8_t { FLAG_NONE = 0 , FLAG_LOCAL_DATA = 1 << 1 }
using ConvertedData

Public Member Functions

ConvertedData convertData () const
std::vector< std::byte > getDataAsPalette (uint16_t frame) 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
HOT getDataAsHotspotData () 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

Public Attributes

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

Detailed Description

Definition at line 37 of file VTF.h.

Member Typedef Documentation

◆ ConvertedData

Initial value:
std::variant<
std::monostate,
SHT,
uint32_t,
std::tuple<uint8_t, uint8_t, uint8_t, uint8_t>,
std::string,
HOT
>

Definition at line 62 of file VTF.h.

Member Enumeration Documentation

◆ Flags

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

Definition at line 53 of file VTF.h.

◆ Type

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

Definition at line 38 of file VTF.h.

Member Function Documentation

◆ convertData()

Resource::ConvertedData Resource::convertData ( ) const
nodiscard

Definition at line 238 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
inlinenodiscard

Definition at line 122 of file VTF.h.

◆ getDataAsAuxCompressionLevel()

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

Definition at line 104 of file VTF.h.

◆ getDataAsAuxCompressionMethod()

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

Definition at line 111 of file VTF.h.

◆ getDataAsCRC()

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

Definition at line 84 of file VTF.h.

◆ getDataAsExtendedFlags()

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

Definition at line 88 of file VTF.h.

◆ getDataAsHotspotData()

HOT vtfpp::Resource::getDataAsHotspotData ( ) const
inlinenodiscard

Definition at line 100 of file VTF.h.

◆ getDataAsKeyValuesData()

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

Definition at line 96 of file VTF.h.

◆ getDataAsLODControlInfo()

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

Definition at line 92 of file VTF.h.

◆ getDataAsPalette()

std::vector< std::byte > vtfpp::Resource::getDataAsPalette ( uint16_t frame) const
inlinenodiscard

Definition at line 72 of file VTF.h.

◆ getDataAsParticleSheet()

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

Definition at line 80 of file VTF.h.

Member Data Documentation

◆ data

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

Definition at line 60 of file VTF.h.

◆ flags

Flags vtfpp::Resource::flags = FLAG_NONE

Definition at line 59 of file VTF.h.

◆ type

Type vtfpp::Resource::type = TYPE_UNKNOWN

Definition at line 58 of file VTF.h.


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