WipEout PSP WAD Utility

List, extract and create WAD files (unofficial / fan-made)

A script and lookup table for working with WAD files as found in the PSP WipEout games (Pulse and Pure) and their respective DLCs. This can be used to extract, inspect and update files easily.

This is (obviously) not an official utility, and is not related to or associated in any way with the mentioned PSP games.

Download

Requirements

This script is written in Python 3. You need a recent version. Windows users can install from www.python.org and macOS and Linux users most likely have it already installed.

The lzss compression is not the fastest (but might very well be the slowest implementation there is...). You can get a performance boost by using PyPy3 which has a JIT. Of course, there's lots of potential to optimize the algorithm; this reference implementation is mostly about documenting how it works.

This script comes with a filenames.txt list of file names, which will be used to build a rainbow table for reversing the file names. Not all filenames are known (yet). If you find out a filename for a hash in the official game and DLC files, let me know.

Documentation

The file format has been fully documented already last year in these two blog posts:

Command-Line Help

usage: wadutil.py [-h] [--extract] [--create output.wad] [--zlib-compress] [--align ALIGN] [--no-compress] source

List, extract and create WAD files for PSP WipEout games.

positional arguments:
  source                Input name (either WAD filename or folder name)

optional arguments:
  -h, --help            show this help message and exit
  --extract, -x         Extract a WAD file (to the current directory)
  --create output.wad, -c output.wad
                        Create a WAD file from a folder
  --zlib-compress       Enable zlib compression (EUR only, for --create)
  --align ALIGN         Align start offsets (default: 128 bytes)
  --no-compress         Do not compress anything (for --create)
Thomas Perl · 2021-09-17