1

Adding README

This commit is contained in:
Alex Yatskov 2015-03-13 19:34:30 +09:00
parent 79f68a305a
commit d089c670a6

39
README.md Normal file
View File

@ -0,0 +1,39 @@
# hlm2-wad-extract
This application is a tool to extract the asset data used in the newly released [Hotline Miami 2: Wrong
Humber](https://en.wikipedia.org/wiki/Hotline_Miami_2:_Wrong_Number) game. After purchasing and thoroughly enjoying this
title, I desired that I would also like to listen to the excellent soundtrack while coding. I was slightly disappointed
when I discovered that the music data was not simply included in the install directory as it was in the preceding game.
Seeing as I had some free time, I decided to try to fish out the music OGG files myself out of the accompanying game WAD
pack files. The file format turned out to be really simple and easy to decipher, so I wrote a small Python utility to
extract some or all of the game data.
## Usage Instructions
This script makes it trivial to extract game data from the WAD files shipped with the game (currently
`hlm2_data_desktop.wad` and `hlm2_patch_desktop.wad`). These files can be found in the game install directory; on Linux
this is under `~/.steam/steam/steamapps/common/Hotline Miami 2` (probably in a similar location on other platforms).
Assuming that you have [Python 2.7](https://www.python.org/download/releases/2.7/) installed, you can execute the
`extract.py` script with the `-h` option for a description of available options:
```
usage: parse.py [-h] [--pattern PATTERN] [--output DIRECTORY]
filename [filename ...]
Extract assets from Hotline Miami 2 WAD files
positional arguments:
filename WAD files to extract
optional arguments:
-h, --help show this help message and exit
--pattern PATTERN asset file filter pattern (ex: *.ogg)
--output DIRECTORY output directory for asset files
```
For example, in order to extract the game's music files only, you could execute the following command:
`./parse.py --pattern "*.ogg" --output test hlm2_data_desktop.wad`
While I expect this utility to be trivial for all to use, let me know if you encounter any difficulties or unexpected
behavior.