Divine Skins
Divine Skins Wiki

Deadlock file types

A plain-English list of the file types you meet in Deadlock modding: what each one holds, which tool makes it, and whether you ship it.

Beginner

Deadlock modding uses a lot of file endings. This page lists the ones you will meet: what each holds, which tool makes it, and whether it goes in your mod. New to VPKs and file paths? Read How Deadlock mods work first.

What you need

Nothing to install. Keep this page open as a reference.

Source 2 Viewer shows these files inside the game's pak01_dir.vpk, and decompiles them.

Source files and compiled files

Every file inside the game's VPK is compiled. Its name ends in _c, like .vmat_c. You never edit a _c file. You decompile it with Source 2 Viewer, edit the source file, and compile it again with CSDK 12.

A material's round trip: coat.vmat_c in the game, decompiled to coat.vmat and coat_color.png, compiled to coat.vmat_c and coat_color_png_hash.vtex_c, packed into pak05_dir.vpk.
  • You edit source files in your addon's content folder.
  • CSDK 12 writes compiled files to your addon's game folder.
  • Your mod holds only the compiled files you changed, at the game's exact paths.

The In your mod? column below tells you what to pack. "Yes" means the compiled _c file, and only if you changed it.

Models and animation

FileWhat it holdsMade withIn your mod?
.vmdl → .vmdl_cA model: meshes, skeleton, attachments, hitboxes, detail levels, material groupsModelDocYes, with the original file name
.dmx, .fbxA mesh exported from Blender. ModelDoc builds it into the .vmdl_cBlenderNo
.gltf, .glbA model exported to open in Blender. Not a game fileSource 2 ViewerNo
.vnmclip → .vnmclip_cOne animation clipModelDocYes, if you replace that animation
.vnmskel → .vnmskel_cThe skeleton a hero's animations useCSDK 12No. It breaks animations after updates
.vnmgraph_cAn animation graph that picks which clip playsNo public toolNo

Hero models live in models/heroes_wip/ or models/heroes_staging/, under Valve's codenames. Look them up in Hero names and file paths.

Materials and textures

FileWhat it holdsMade withIn your mod?
.vmat → .vmat_cA material: the shader, its settings, and which textures it usesMaterial EditorYes
.png, .tga, .psd, .jpg → .vtex_cA texture, compiled along with the material that uses itImage editor, then CSDK 12Yes, together with its .vmat_c
.vtexOptional compile settings for one textureText editorNo

Compiled texture names add the image type and a hash. abrams_coat_color.png becomes something like abrams_coat_color_png_63291cfb.vtex_c. So you cannot drop a new image over an old name. Recompile the material and ship it with its new .vtex_c files.

Sounds

FileWhat it holdsMade withIn your mod?
.wav, .mp3 → .vsnd_cOne soundAudio editor, then CSDK 12Yes
.vsndevts → .vsndevts_cSound events: which sound files an event plays, and how loud or longText editorOnly if you change an event. It replaces the hero's whole file
.vrr_cTalker rules: which voice line plays for which game eventComes with the gameNot for a voice swap. Read it to find the line you want
encoding.txtLoop points and compression for the sounds next to itText editorNo. CSDK 12 reads it while compiling

Hero sound events are in soundevents/hero/, and the sounds in sounds/abilities/, sounds/vo/, and sounds/music/. See Replace a sound.

Particles

FileWhat it holdsMade withIn your mod?
.vpcf → .vpcf_cA particle effect, such as an ability's sparks or glowParticle EditorYes

Hero ability effects are in particles/abilities/. Some effects get their color from a texture in materials/particle/, which follows the material rules above.

UI (Panorama)

Deadlock's interface is called Panorama. Its files live in panorama/.

FileWhat it holdsMade withIn your mod?
.xml → .vxml_cA layout: which panels a screen hasText editorYes, for HUD edits
.css → .vcss_cStyles: colors, sizes, and positionsText editorYes, for HUD edits
.js → .vjs_cInterface scriptsText editorOnly if your HUD mod needs scripts
.png, .psd → .vtex_cInterface images, such as portraits and item artImage editor, then CSDK 12Yes
.svg → .vsvg_cVector images, such as hero name artVector editorYes
image_compiler.vdata, .vpdiA list of images for CSDK 12 to compile in one goText editorNo. Ship only the compiled images
.vts_cSix compiled files in panorama/scripts/. Probably scripts, not confirmedComes with the gameNo

Interface images keep the image type in their name, with no hash: haze_card_psd.vtex_c. See Replace portraits, icons, and item art.

Game data (never ship)

FileWhat it holdsMade withIn your mod?
.vdata → .vdata_cGame data in scripts/: hero and ability stats, items, and settingsText editorNever
Keep scripts/ out of every cosmetic mod

Game data changes with every update. A mod that ships an old copy can crash the game, keep a new hero locked, or freeze hero stats at old values. It also changes gameplay, so it is not a cosmetic mod.

The .vdata ending is also used for tool lists, such as image_compiler.vdata. Those stay out of your mod too.

Maps

FileWhat it holdsMade withIn your mod?
.vmap → .vmap_cA map. Each map is its own VPK in game/citadel/maps/Hammer, which needs the full game filesNot in addons. A map is its own VPK

The hero select, shop, and end screens are small maps in maps/ui/. Some skins replace these to change poses. See Hero select, shop, and end screen poses. Custom maps do not work in Valve matches. See Play custom maps.

Other files you will see

FileWhat it isIn your mod?
.vpkA package of game files. pak01_dir.vpk is the index, and pak01_000.vpk and up hold the dataYour mod is one: pakNN_dir.vpk
gameinfo.giTells the game which folders to read. Edit only its SearchPaths block, on your own PCNever
.vcd_cChoreography scenes in scenes/No. Mods do not use them so far

Next steps

Pack your mod into a VPK

Put your compiled files into a mod.

Credits

This guide is based on the work of these creators. Check out their original guides.