Editor/HumanoidRetargeter/Embedded/ValveResourceFormat/Resource/Enums/ResourceType.cs
#nullable enable
using System;
using System.Collections.Generic;
using System.Linq;
using HumanoidRetargeterVrf.Utils;
namespace HumanoidRetargeterVrf
{
/// <summary>
/// Resource file types.
/// </summary>
/// <remarks>
/// Friendly names are used
/// </remarks>
public enum ResourceType
{
/// <summary>
/// Unknown resource type.
/// </summary>
Unknown = 0,
/// <summary>
/// Animgraph 1 animation file. Legacy, as all data is stored in the vmdl file.
/// </summary>
[Extension("vanim")]
Animation,
/// <summary>
/// Animgraph 1 animation group. Legacy, as all data is stored in the vmdl file.
/// </summary>
[Extension("vagrp")]
AnimationGroup,
/// <summary>
/// Animgraph 1 graph for animation behavior and states.
/// </summary>
[Extension("vanmgrph")]
AnimationGraph,
/// <summary>
/// Animgraph 2 graph for animation behavior. Graph variations have a vnmgraph.+variationname suffix.
/// </summary>
[Extension("vnmgraph")]
NmGraph,
/// <summary>
/// Animgraph 2 graph variation.
/// </summary>
[Extension("vnmvar")]
NmGraphVariation,
/// <summary>
/// Animgraph 2 skeleton. Used for skeleton(s) and bonemask data.
/// </summary>
[Extension("vnmskel")]
NmSkeleton,
/// <summary>
/// Animgraph 2 animation clip. Can contain events to respond from graphs.
/// </summary>
[Extension("vnmclip")]
NmClip,
/// <summary>
/// Animgraph 2 IK rig. Can contain IK rig data.
/// </summary>
[Extension("vnmikrig")]
NmIKRig,
/// <summary>
/// Action list for surface property impact effects.
/// </summary>
[Extension("valst")]
ActionList,
/// <summary>
/// Sequence group. Legacy, as all data is stored in the vmdl file.
/// </summary>
[Extension("vseq")]
Sequence,
/// <summary>
/// Particle system created in the Particle Editor.
/// </summary>
[Extension("vpcf")]
Particle,
/// <summary>
/// Material definition created in the Material Editor.
/// </summary>
[Extension("vmat")]
Material,
/// <summary>
/// Sheet file.
/// </summary>
[Extension("vmks")]
Sheet,
/// <summary>
/// Mesh geometry. Legacy, as all data is stored in the vmdl file.
/// </summary>
[Extension("vmesh")]
Mesh,
/// <summary>
/// Compiled texture.
/// </summary>
[Extension("vtex")]
Texture,
/// <summary>
/// 3D model created in the ModelDoc Editor.
/// </summary>
[Extension("vmdl")]
Model,
/// <summary>
/// Physics collision mesh.
/// </summary>
[Extension("vphys")]
PhysicsCollisionMesh,
/// <summary>
/// Sound file or sound container.
/// </summary>
[Extension("vsnd")]
Sound,
/// <summary>
/// Morph set.
/// </summary>
[Extension("vmorf")]
Morph,
/// <summary>
/// Resource manifest for preloading assets.
/// </summary>
[Extension("vrman")]
ResourceManifest,
/// <summary>
/// World root file.
/// </summary>
[Extension("vwrld")]
World,
/// <summary>
/// World node referencing map geometry and scene objects.
/// </summary>
[Extension("vwnod")]
WorldNode,
/// <summary>
/// World visibility data stored in voxel clusters.
/// </summary>
[Extension("vvis")]
WorldVisibility,
/// <summary>
/// Entity lump containing map entities.
/// </summary>
[Extension("vents")]
EntityLump,
/// <summary>
/// Surface properties for materials.
/// </summary>
[Extension("vsurf")]
SurfaceProperties,
/// <summary>
/// Sound event script defining sound events.
/// </summary>
[Extension("vsndevts")]
SoundEventScript,
/// <summary>
/// Mix graph for audio mixing created in the VMix Tool.
/// </summary>
[Extension("vmix")]
VMix,
/// <summary>
/// Sound stack script with rules and operators for sound events.
/// </summary>
[Extension("vsndstck")]
SoundStackScript,
/// <summary>
/// Bitmap font.
/// </summary>
[Extension("vfont")]
BitmapFont,
/// <summary>
/// Resource remap table.
/// </summary>
[Extension("vrmap")]
ResourceRemapTable,
/// <summary>
/// Choreo scene file data combining multiple VCD files.
/// </summary>
[Extension("vcdlist")]
ChoreoSceneFileData,
/// <summary>
/// Choreo scene file.
/// </summary>
[Extension("vcd")]
ChoreoSceneResource,
/// <summary>
/// Panorama UI element.
/// </summary>
/// <remarks>
/// All Panorama* files are compiled just as CompilePanorama.
/// vtxt is not a real extension.
/// </remarks>
[Extension("vtxt")]
Panorama,
/// <summary>
/// Panorama CSS style defining UI appearance.
/// </summary>
[Extension("vcss")]
PanoramaStyle,
/// <summary>
/// Panorama XML layout defining UI structure.
/// </summary>
[Extension("vxml")]
PanoramaLayout,
/// <summary>
/// Panorama dynamic images manifest.
/// </summary>
[Extension("vpdi")]
PanoramaDynamicImages,
/// <summary>
/// Panorama JavaScript.
/// </summary>
[Extension("vjs")]
PanoramaScript,
/// <summary>
/// Panorama TypeScript.
/// </summary>
[Extension("vts")]
PanoramaTypescript,
/// <summary>
/// Panorama SVG vector graphic.
/// </summary>
[Extension("vsvg")]
PanoramaVectorGraphic,
/// <summary>
/// Legacy particle snapshot.
/// </summary>
[Extension("vpsf")]
ParticleSnapshotLegacy,
/// <summary>
/// Particle snapshot reference.
/// </summary>
[Extension("vsnap")]
ParticleSnapshot,
/// <summary>
/// Map definition.
/// </summary>
[Extension("vmap")]
Map,
/// <summary>
/// Post-processing settings created in the Postprocessing Editor.
/// </summary>
[Extension("vpost")]
PostProcessing,
/// <summary>
/// Generic data for game content like weapons, heroes, and abilities.
/// </summary>
[Extension("vdata")]
VData,
/// <summary>
/// Composite material kit for CS2 weapon skins.
/// </summary>
[Extension("vcompmat")]
CompositeMaterial,
/// <summary>
/// Response rules for voiceline playback.
/// </summary>
[Extension("vrr")]
ResponseRules,
/// <summary>
/// CS2 economy item created in the CS2 Item Editor.
/// </summary>
[Extension("econitem")]
EconItem,
/// <summary>
/// Artifact item from items_game.txt.
/// </summary>
[Extension("item")]
ArtifactItem,
/// <summary>
/// Pulse graph definition created in the Pulse Editor.
/// </summary>
[Extension("vpulse")]
PulseGraphDef,
/// <summary>
/// Smart prop with defined rules and parameters in the VData Editor.
/// </summary>
[Extension("vsmart")]
SmartProp,
/// <summary>
/// Processing graph instance. Precursor to legacy VMDL nodes.
/// </summary>
[Extension("vpram")]
ProcessingGraphInstance,
/// <summary>
/// Dota 2 hero list.
/// </summary>
[Extension("herolist")]
DotaHeroList,
/// <summary>
/// Dota 2 patch notes.
/// </summary>
[Extension("vdpn")]
DotaPatchNotes,
/// <summary>
/// Dota 2 visual novels.
/// </summary>
[Extension("vdvn")]
DotaVisualNovels,
/// <summary>
/// S&box managed resource of any type.
/// </summary>
/// <remarks>
/// Managed resources can have any extension.
/// </remarks>
[Extension("sbox")]
SboxManagedResource,
/// <summary>
/// S&box shader.
/// </summary>
[Extension("shader")]
SboxShader,
/// <summary>
/// Compiled shader. Stored in shaders_{platform}_dir.vpk.
/// </summary>
[Extension("vcs")]
Shader,
}
}