Decompiling Maps: Difference between revisions
m (Preparing for russian translation) |
(Add Portal and Portal 2; remove obsolete Orange Box note; remove Oxford comma.) |
||
Line 22: | Line 22: | ||
The latest decompiler is [[BSPSource]]. Since it is written in Java you need to have the Java Runtime Environment (JRE) installed, which can be downloaded from [http://www.oracle.com/technetwork/java/javase/downloads/index.html Oracle]. Once installed, you are ready to decompile your first map. | The latest decompiler is [[BSPSource]]. Since it is written in Java you need to have the Java Runtime Environment (JRE) installed, which can be downloaded from [http://www.oracle.com/technetwork/java/javase/downloads/index.html Oracle]. Once installed, you are ready to decompile your first map. | ||
== | == Decompiling Valve maps == | ||
Most maps do not need to be extracted. The .bsp files are usually located in /<game name>/<game name>/maps/. | Most maps do not need to be extracted, as they are located in file-system rather than VPK. The .bsp files are usually located in '''<code>/steamapps/common/<game name>/<game name>/maps/</code>'''. | ||
# Go to <code>File → Open</code>. | |||
# | |||
#* For {{as}}[[Alien Swarm]] maps, open '''<code>\steamapps\common\Alien Swarm\swarm\maps\</code>''' | #* For {{as}}[[Alien Swarm]] maps, open '''<code>\steamapps\common\Alien Swarm\swarm\maps\</code>''' | ||
#* For {{css}}[[Counter-Strike: Source]] maps, open '''<code>\steamapps\common\ | #* For {{css}}[[Counter-Strike: Source]] maps, open '''<code>\steamapps\common\Counter-Strike Source\cstrike\maps\</code>''' | ||
#* For {{dods}}[[Day of Defeat: Source]] maps, open '''<code>\steamapps\common\Day of Defeat Source\dod\maps\</code>''' | #* For {{dods}}[[Day of Defeat: Source]] maps, open '''<code>\steamapps\common\Day of Defeat Source\dod\maps\</code>''' | ||
#* For {{hl2}}[[Half-Life 2]] maps, open '''<code>\steamapps\common\ | #* For {{hl2}}[[Half-Life 2]] maps, open '''<code>\steamapps\common\Half-Life 2\hl2\maps\</code>''' | ||
#* For {{hl2}}[[Half-Life 2: Deathmatch]] maps, open '''<code>\steamapps\common\ | #* For {{hl2}}[[Half-Life 2: Deathmatch]] maps, open '''<code>\steamapps\common\Half-Life 2 Deathmatch\hl2mp\maps\</code>''' | ||
#* For {{ep1}}[[Half-Life 2: Episode One]] maps, open '''<code>\steamapps\common\ | #* For {{ep1}}[[Half-Life 2: Episode One]] maps, open '''<code>\steamapps\common\Half-Life 2\episodic\maps\</code>''' | ||
#* For {{ep2}}[[Half-Life 2: Episode Two]] maps, open '''<code>\steamapps\common\ | #* For {{ep2}}[[Half-Life 2: Episode Two]] maps, open '''<code>\steamapps\common\Half-Life 2\ep2\maps\</code>''' | ||
#* For {{l4d}}[[Left 4 Dead]] maps, open '''<code>steamapps\common\ | #* For {{l4d}}[[Left 4 Dead]] maps, open '''<code>steamapps\common\Left 4 Dead\l4d\maps\</code>''' | ||
#* For {{l4d2}}[[Left 4 Dead 2]] maps, open '''<code>steamapps\common\ | #* For {{l4d2}}[[Left 4 Dead 2]] maps, open '''<code>steamapps\common\Left 4 Dead 2\l4d2\maps\</code>''' | ||
#* For {{portal}}[[Portal]] maps, open '''<code>steamapps\common\Portal\portal\maps\</code>''' | |||
#* For {{portal2}}[[Portal 2]] maps, open '''<code>steamapps\common\Portal 2\portal2\maps\</code>''' | |||
#* For {{tf2}}[[Team Fortress 2]] maps, open '''<code>steamapps\common\Team Fortress 2\tf\maps\</code>''' | #* For {{tf2}}[[Team Fortress 2]] maps, open '''<code>steamapps\common\Team Fortress 2\tf\maps\</code>''' | ||
{{note|Left 4 Dead, Left 4 Dead 2 | {{note|Left 4 Dead, Left 4 Dead 2 and Portal 2 also have other folders for DLCs, for example: | ||
'''<code>steamapps\common\ | '''<code>steamapps\common\Portal 2\portal2_dlc1\maps\</code>'''.}} | ||
== Before you go == | == Before you go == |
Revision as of 18:02, 24 June 2018
Template:Otherlang2 Decompiling is the process of taking a compiled level and generating a source that can be opened in a map editor. Decompiled levels mimic the original source, they are not exact reproductions. 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 is frowned upon and may be considered as a copyright violation.
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:
Getting dirty
The latest decompiler is BSPSource. Since it is written in Java you need to have the Java Runtime Environment (JRE) installed, which can be downloaded from Oracle. Once installed, you are ready to decompile your first map.
Decompiling Valve maps
Most maps do not need to be extracted, as they are located in file-system rather than VPK. The .bsp files are usually located in /steamapps/common/<game name>/<game name>/maps/
.
- Go to
File → Open
.- For
Alien Swarm maps, open
\steamapps\common\Alien Swarm\swarm\maps\
- For
Counter-Strike: Source maps, open
\steamapps\common\Counter-Strike Source\cstrike\maps\
- For
Day of Defeat: Source maps, open
\steamapps\common\Day of Defeat Source\dod\maps\
- For
Half-Life 2 maps, open
\steamapps\common\Half-Life 2\hl2\maps\
- For
Half-Life 2: Deathmatch maps, open
\steamapps\common\Half-Life 2 Deathmatch\hl2mp\maps\
- For
Half-Life 2: Episode One maps, open
\steamapps\common\Half-Life 2\episodic\maps\
- For
Half-Life 2: Episode Two maps, open
\steamapps\common\Half-Life 2\ep2\maps\
- For
Left 4 Dead maps, open
steamapps\common\Left 4 Dead\l4d\maps\
- For
Left 4 Dead 2 maps, open
steamapps\common\Left 4 Dead 2\l4d2\maps\
- For
Portal maps, open
steamapps\common\Portal\portal\maps\
- For
Portal 2 maps, open
steamapps\common\Portal 2\portal2\maps\
- For
Team Fortress 2 maps, open
steamapps\common\Team Fortress 2\tf\maps\
- For

steamapps\common\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 up help and advice, they may even go so far as to provide perfect examples of what you were trying to "borrow" from the map.