VMAP: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Add some info about the encoding)
(Add comparison to previous format, should help with understanding)
Line 1: Line 1:
{{stub}}
{{stub}}
.Vmap stands for Valve Map File, and it is the main map file extension used by Source 2's Hammer. The file itself is just a binary [[dmx]] file under encoding version 4, however Hammer can export an ASCII-encoded vmap.
'''VMAP''' stands for Valve Map, and it is the main map file extension used by '''Source 2''''s Hammer. The file itself is just a [[dmx]] file under binary encoding version 4, however Hammer can export an ASCII-encoded vmap by clicking "Save Copy As Text".


.Vmap_c stands for Valve Map File Compiled, and is the main map file extension used by [[Dota 2]] and [[Source 2]].
Some key differences with '''Source''' [[Valve Map Format|VMF]]:
{| class="wikitable"
|-
!  !! VMF !! VMAP
|-
| Geometry uncompiled || Brushes in [[Valve Map Format]] || Meshes in [https://en.wikipedia.org/wiki/Doubly_connected_edge_list half-edge format]
|-
| Geometry partitioning || [[BSP]] || [https://en.wikipedia.org/wiki/Octree Octree]
|-
| Geometry compiled || Various lumps but mainly [[Source BSP File Format#Model|Bmodels]] || Objects are formed and [[Static Prop Combine|autocombined]] into [[.vmdl_c]] files
|-
| Visibility compiled || [[Source BSP File Format#Visibility|Visibility lump]] || [[.vvis_c]] file.
|-
| Physics compiled || [[Source BSP File Format#Physics|Physics lump]] || [[.vphys_c]] file.
|-
| Entities compiled || [[Source BSP File Format#Entity|Entity lump]] || [[.vents_c]] file.
|}


The specifications for it are not currently known.


<syntaxhighlight >
 
Vmap - Valve Map File (Successor of .map/.vmf)
== Valve Map Compiled ==
Vmap_c - Valve Map File, Compiled (Successor of BSP Format)
'''VMAP_C''' stands for Valve Map Compiled, and is the main map file extension used to load maps in [[Source 2]]. The .vmap_c file is used to refer to various map dependencies (including vwrld, vwnod, vvis, vphys, vents, vtex, vmdl, vrman) residing in <code>maps/<mapname>/</code> as well as other external assets used in the map. Its usefulness to the engine seems questionable as <code><mapname>/world.vrman_c</code> also refers to all the same vital dependencies.<sup>?</sup> 
</syntaxhighlight >
 
This file along with its main dependencies usually get bundled together into a single [[VPK|.vpk]] file, serving similarily to a .bsp. Compared to the [[Source BSP File Format|source BSP format]], you can see that lumps are now separate files, and so the [[Source BSP File Format#Pakfile|Pakfile lump]] idea was extended to also hold all these lumps (as files inside <code>maps/<mapname>/</code>). This makes post-compile addons much more convenient ''(see [[Patching levels with lump files|Patching EP1 levels]] vs. [[Half-Life: Alyx Workshop Tools/Level Design/Map Extensions|HL:A Map Extensions]])''.

Revision as of 23:49, 24 March 2022

Stub

This article or section is a stub. You can help by expanding it.

VMAP stands for Valve Map, and it is the main map file extension used by Source 2's Hammer. The file itself is just a dmx file under binary encoding version 4, however Hammer can export an ASCII-encoded vmap by clicking "Save Copy As Text".

Some key differences with Source VMF:

VMF VMAP
Geometry uncompiled Brushes in Valve Map Format Meshes in half-edge format
Geometry partitioning BSP Octree
Geometry compiled Various lumps but mainly Bmodels Objects are formed and autocombined into .vmdl_c files
Visibility compiled Visibility lump .vvis_c file.
Physics compiled Physics lump .vphys_c file.
Entities compiled Entity lump .vents_c file.


Valve Map Compiled

VMAP_C stands for Valve Map Compiled, and is the main map file extension used to load maps in Source 2. The .vmap_c file is used to refer to various map dependencies (including vwrld, vwnod, vvis, vphys, vents, vtex, vmdl, vrman) residing in maps/<mapname>/ as well as other external assets used in the map. Its usefulness to the engine seems questionable as <mapname>/world.vrman_c also refers to all the same vital dependencies.?

This file along with its main dependencies usually get bundled together into a single .vpk file, serving similarily to a .bsp. Compared to the source BSP format, you can see that lumps are now separate files, and so the Pakfile lump idea was extended to also hold all these lumps (as files inside maps/<mapname>/). This makes post-compile addons much more convenient (see Patching EP1 levels vs. HL:A Map Extensions).