SMPQ(1)

SYNOPSIS
smpq [action] [options] [archive] [files]

NAME
SMPQ - StormLib MPQ archiving utility, version 1.7

Action

-c, --create
    Create new archive with file(s)

-a, --append, --add
    Append file(s) to archive

-d, -r, --delete, --remove
    Remove file(s) from archive

-R, --rename
    Rename file in archive

-l, --list
    List file(s) of archive

-e, -x, --extract
    Extract file(s) from archive

-i, --info
    Show info about archive

-h, -u, --help, --usage
    Show this help/usage information

-V, --license, --version
    Show version license information

Options

-L, --listfile <file>
    Additional external listfile (not used when appending file)

-n, --no-system-listfiles
    Do not load system listfile(s) (not used when appending file)

-N, --no-archive-listfile
    Do not use/create archive listfile (file names will not be read/stored)

-A, --no-attributes
    Do not allow using file attributes (time, checksum, hash)

-M, --mpq-version <version>
    Specify MPQ archive version: (default: use new version 4)

    1 support up to 4GB size of archive

    2 support greater then 4GB size of archive (Introduced in World of Warcraft: The Burning Crusade)

    3 (Introduced in World of Warcraft: Cataclysm Beta)

    4 (Introduced in World of Warcraft: Cataclysm)

-S, --sector-crc
    Store/Check CRC for each sector, ignored if file has none compression or is single unit

-q, --quiet
    Be quiet, do not show any output

-f, -o, --force, --overwrite
    Enable overwrite file(s)

-v, --verbose
    Enable verbose output

-O, --locale <id>
    Set locale id (default: neutral=0)

    For all locale id see [MS-LCID] section 2.2: https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/

Options for appending file(s) to archive

-m, --max-file-count <count>
    Set maximum file count of archive (power of 2, 0 - autodetect) (default: 0)

-E, --encrypt
    Store as encrypted

-F, --fix-key
    Encryption key will be adjusted according to file size in the archive (need -E)

-D, --deletion-marker
    Set deletion marker

-U, --single-unit
    Add file as single unit, cannot be encrypted

-C, --compression <method>
    Compression method: (default: ZLIB)

    none None compression

    IMPLODE Pkware Data Compression IMPLODE method - OBSOLETE (It was used only in Diablo I)

    PKWARE Pkware Data compression

    HUFFMANN Huffmann compression (Introduced in Starcraft I)

    ADPCM_MONO IMA ADPCM compression for 1-channel (mono) WAVE files - Lossy compression, only for WAVE files (Now it is not used)

    ADPCM_STEREO IMA ADPCM compression for 2-channel (stereo) WAVE files - Lossy compression, only for WAVE files (Now it is not used)

    ZLIB ZLIB compression (Introduced in Warcraft III)

    BZIP2 BZIP2 compression (Introduced in World of Warcraft: The Burning Crusade)

    SPARSE SPARSE compression (Introduced in Starcraft II)

    LZMA LZMA compression (Introduced in Starcraft II)

    HUFFMANN+ADPCM_MONO Together Huffmann and IMA ADPCM compression for 1-channel (mono) WAVE files

    HUFFMANN+ADPCM_STEREO Together Huffmann and IMA ADPCM compression for 2-channel (stereo) WAVE files

    ZLIB+PKWARE Together ZLIB and Pkware Data compression

    BZIP2+PKWARE Together BZIP2 and Pkware Data compression

    SPARSE+ZLIB Together SPARSE and ZLIB compression

    SPARSE+PKWARE Together SPARSE and Pkware Data compression

    SPARSE+BZIP2 Together SPARSE and BZIP2 compression

    SPARSE+ZLIB+PKWARE Together SPARSE, ZLIB and Pkware Data compression

    SPARSE+BZIP2+PKWARE Together SPARSE, BZIP2 and Pkware Data compression

Options for extracting file(s) from archive

-P, --partial
    Archive is partial (default: autodetect) (Partial archives were used by trial version of World of Warcraft)

-X, --not-encrypted
    Archive is not encrypted (default: autodetect) (Encrypted archives have Starcraft II installation)

-p  Open more (patched) archives with directory prefix (prefix:archive), when file is in more archives, will be extracted from last

Usage with more (patched) archives

smpq -l|-x [options] [archive] -p [prefix1:archive1] [prefix2:archive2] ... -- [files]

Examples

Create empty archive `archive.mpq'

    smpq -c archive.mpq

Create archive `archive.mpq' with two files `file1.txt' and `file2.txt'

    smpq -c archive.mpq file1.txt file2.txt

Extract all files from archive `archive.mpq' to current directory

    smpq -x archive.mpq

Extract files with extension .txt from archive `archive.mpq'

    smpq -x archive.mpq '*.txt'

Show information about archive `archive.mpq'

    smpq -i archive.mpq

AUTHOR
SMPQ is written by Pali Rohár <pali.rohar@gmail.com>

LICENSE
SMPQ is distributed under GNU GPL v3