Difference between revisions of "Decompiling Maps"

From Valve Developer Community
Jump to: navigation, search
(Porting newer maps to older Source games)
m
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{otherlang2
+
<!-- Base -->
|ko=Decompiling Maps:ko
+
{{lang|Decompiling Maps}}
|zh-cn=Decompiling Maps:zh-cn
+
[[Category:Level Design]]
|ru=Decompiling Maps:ru
+
[[Category:Tutorials]]
}}
+
 
 +
<!-- Content -->
 
{{brokenlink}}
 
{{brokenlink}}
 
Decompiling is the process of taking a compiled map file and generating a file that Hammer can open. Decompiled maps are not perfect recreations, because of format differences. This makes them useful for learning, measurement, and inspection, but not direct recompilation. The original source is ideal for reproductions or modifications.
 
Decompiling is the process of taking a compiled map file and generating a file that Hammer can open. Decompiled maps are not perfect recreations, because of format differences. This makes them useful for learning, measurement, and inspection, but not direct recompilation. The original source is ideal for reproductions or modifications.
  
Releasing reproductions, modifications, or approximations of another's work without permission nor credit may be considered rude to the author, is largely frowned upon, and depending on the source of the map, copyright infringement! That said, there are methods of preventing maps from being decompiled, but it isn't worth your time because none of them are 100% effective and 99% of decompilers aren't stealing anyways.
+
Releasing reproductions, modifications, or approximations of another's work without permission nor credit may be considered rude to the author, is largely frowned upon, and depending on the source of the map, copyright infringement! That said, there are methods of preventing maps from being fully decompiled by obfuscating textures, entities, etc.
  
 
==Tools==
 
==Tools==
Line 20: Line 21:
 
*[[WinBSPC]]
 
*[[WinBSPC]]
 
*[[BSP Viewer]]
 
*[[BSP Viewer]]
::{{Warning|These tools for the Half-Life Engine are unstable and may not compile correctly in the end.}}
+
::<div class="message_warning" style="background: linear-gradient(90deg, rgba(0,0,0,.3) 0%, transparent 100%); border-left: 2px solid rgba(255,0,0,1.0); box-sizing: border-box;  padding: 6px 0px 4px 0; margin-bottom: 10px; font-size: 12px">{{Warning|These tools for the Half-Life Engine are unstable and may not compile correctly in the end.}}</div>
  
 
==Finding Valve Maps==
 
==Finding Valve Maps==
Line 40: Line 41:
 
*[[Porting Half-Life maps]]
 
*[[Porting Half-Life maps]]
 
*[[Decompiling BSP maps with File Packing]]
 
*[[Decompiling BSP maps with File Packing]]
 
[[Category:Level Design]]
 
[[Category:Tutorials]]
 

Latest revision as of 07:27, 30 September 2021

English Русский 简体中文 한국어


Decompiling is the process of taking a compiled map file and generating a file that Hammer can open. Decompiled maps are not perfect recreations, because of format differences. This makes them useful for learning, measurement, and inspection, but not direct recompilation. The original source is ideal for reproductions or modifications.

Releasing reproductions, modifications, or approximations of another's work without permission nor credit may be considered rude to the author, is largely frowned upon, and depending on the source of the map, copyright infringement! That said, there are methods of preventing maps from being fully decompiled by obfuscating textures, entities, etc.

Tools

  • EntSpy (used to view and edit the entities of a BSP without recompiling)
  • BSPSource (open source map decompiler for Source engine maps, based on VMEX)
  • VMEX (decompiler for Source engine maps)
  • MapFool (helps porting HL1 maps to Source)
  • xwad (command-line tool to convert texture formats)

Tools for the HL1-engine:

Warning.png Warning: These tools for the Half-Life Engine are unstable and may not compile correctly in the end.

Finding Valve Maps

Most maps do not need to be extracted, as they are located in the file system rather than VPK. The map files are normally located in a maps folder, for example common\Team Fortress 2\tf\maps\ holds all the official Team Fortress 2 maps.

Note.png Note: A few games may have extra maps sectioned into other mod folders, for example Portal 2\portal2_dlc1\maps\.

Before you go

Before you take this jump to run off and decompile a map take a second or two to think, "What am I trying to learn/do?". Read the included TXT files, you may just find the creator's e-mail, and that could be more helpful than you imagine.

Some mappers will offer help and advice, they may even go so far as to provide examples of what you wanted to borrow from the map.

Porting newer maps to older Source games

Decompiled maps from Left 4 Dead 2, Portal 2, Counter-Strike: Global Offensive, and Alien Swarm will crash when loaded in the Hammer for Half-Life 2, Team Fortress 2, Counter-Strike: Source, and Day of Defeat: Source. Opening the map in Left 4 Dead Hammer and re-saving it will automatically convert it to be compatible.

To do: Document how to fix this manually. It's caused by L4D2 changing the character used to separate output values, but I'm not sure what character it changed to.

See also