Editor/HumanoidRetargeter/Embedded/ValveResourceFormat/Resource/Enums/BlockType.cs
#nullable enable
using System;
using System.Collections.Generic;
using System.Linq;
using HumanoidRetargeterVrf.Utils;
namespace HumanoidRetargeterVrf
{
/// <summary>
/// Resource file block types.
/// </summary>
public enum BlockType : uint
{
/// <summary>
/// Undefined or unknown block type.
/// </summary>
Undefined = 0,
/// <summary>
/// Resource External Reference List. Contains a list of external resource references.
/// </summary>
RERL = 'R' | ('E' << 8) | ('R' << 16) | ('L' << 24),
/// <summary>
/// Resource Edit Info. Contains dependency and compilation metadata for the resource.
/// </summary>
REDI = 'R' | ('E' << 8) | ('D' << 16) | ('I' << 24),
/// <summary>
/// Resource Edit Info 2. An updated version of <see cref="REDI"/> stored in KV3 format.
/// </summary>
RED2 = 'R' | ('E' << 8) | ('D' << 16) | ('2' << 24),
/// <summary>
/// Resource Introspection Manifest. Contains structure and enum definitions for the resource data.
/// </summary>
NTRO = 'N' | ('T' << 8) | ('R' << 16) | ('O' << 24),
/// <summary>
/// Resource Data. The main data block containing the resource's primary content.
/// </summary>
DATA = 'D' | ('A' << 8) | ('T' << 16) | ('A' << 24),
/// <summary>
/// Vertex and Index Buffer Information Block. Contains mesh vertex and index buffer data.
/// </summary>
VBIB = 'V' | ('B' << 8) | ('I' << 16) | ('B' << 24),
/// <summary>
/// Voxel Visibility. Contains voxel-based visibility data.
/// </summary>
VXVS = 'V' | ('X' << 8) | ('V' << 16) | ('S' << 24),
/// <summary>
/// Particle Snapshot. Contains snapshot data for particle systems.
/// </summary>
SNAP = 'S' | ('N' << 8) | ('A' << 16) | ('P' << 24),
/// <summary>
/// Control Data. Contains configuration and control data in KV3 format for sounds, models, and other resources.
/// </summary>
CTRL = 'C' | ('T' << 8) | ('R' << 16) | ('L' << 24),
/// <summary>
/// Mesh Data. Contains mesh geometry data including hitbox sets and material groups.
/// </summary>
MDAT = 'M' | ('D' << 8) | ('A' << 16) | ('T' << 24),
/// <summary>
/// Morph Data. Contains morph target (flex/blend shape) data for meshes.
/// </summary>
MRPH = 'M' | ('R' << 8) | ('P' << 16) | ('H' << 24),
/// <summary>
/// Mesh Buffer. An alternative mesh vertex and index buffer format.
/// </summary>
MBUF = 'M' | ('B' << 8) | ('U' << 16) | ('F' << 24),
/// <summary>
/// Animation Data. Contains skeletal animation data.
/// </summary>
ANIM = 'A' | ('N' << 8) | ('I' << 16) | ('M' << 24),
/// <summary>
/// Animation Sequence. Contains animation sequence group data.
/// </summary>
ASEQ = 'A' | ('S' << 8) | ('E' << 16) | ('Q' << 24),
/// <summary>
/// Animation Group. Contains animation group resource data.
/// </summary>
AGRP = 'A' | ('G' << 8) | ('R' << 16) | ('P' << 24),
/// <summary>
/// Physics Aggregate Data. Contains physics collision meshes and constraint data.
/// </summary>
PHYS = 'P' | ('H' << 8) | ('Y' << 16) | ('S' << 24),
/// <summary>
/// Input Signature. Contains shader input layout and signature data for materials.
/// </summary>
INSG = 'I' | ('N' << 8) | ('S' << 16) | ('G' << 24),
/// <summary>
/// Source Map. Contains source mapping data for Panorama CSS files.
/// </summary>
SrMa = 'S' | ('r' << 8) | ('M' << 16) | ('a' << 24),
/// <summary>
/// Layout Content. Contains parsed VXML AST data for Panorama layouts.
/// </summary>
LaCo = 'L' | ('a' << 8) | ('C' << 16) | ('o' << 24),
/// <summary>
/// Statistics. Contains compiled JavaScript metadata (e.g., public methods) for Panorama scripts.
/// </summary>
STAT = 'S' | ('T' << 8) | ('A' << 16) | ('T' << 24),
/// <summary>
/// SPIR-V Shader. Contains compiled SPIR-V shader bytecode for S&box.
/// </summary>
SPRV = 'S' | ('P' << 8) | ('R' << 16) | ('V' << 24),
/// <summary>
/// File/Line/Column Information. Contains source location data (file, line, column) for compiled vdata files.
/// </summary>
FLCI = 'F' | ('L' << 8) | ('C' << 16) | ('I' << 24),
/// <summary>
/// Distance Field. Contains distance field data in KV3 format.
/// </summary>
DSTF = 'D' | ('S' << 8) | ('T' << 16) | ('F' << 24),
/// <summary>
/// Tools Buffer. Contains vertex buffer data for unused attributes (tools only).
/// </summary>
TBUF = 'T' | ('B' << 8) | ('U' << 16) | ('F' << 24),
/// <summary>
/// Mesh Vertex Buffer. Contains vertex buffer data for meshes.
/// </summary>
MVTX = 'M' | ('V' << 8) | ('T' << 16) | ('X' << 24),
/// <summary>
/// Mesh Index Buffer. Contains index buffer data for meshes.
/// </summary>
MIDX = 'M' | ('I' << 8) | ('D' << 16) | ('X' << 24),
/// <summary>
/// Mesh Adjacency Buffer.
/// </summary>
MADJ = 'M' | ('A' << 8) | ('D' << 16) | ('J' << 24),
}
}