Archivy MPQ
Úvod
Archivy MPQ
MPQ (MoPaQ) je archivní formát vyvinutý společností Blizzard Entertainment,
který slouží k ukládání dat, obrázků, zvukových souborů hudby a videa pro jejich hry. Jméno MoPaQ je odvozeno
od jména autora formátu, Mike O'Briena (Mike O'Brien PaCK). Archivy MPQ byly zatím použíty v následujících hrách:
- Diablo
- StarCraft
- Warcraft II (Battle.net Edition)
- Diablo II
- Warcraft III
- World of Warcraft
- Starcraft II
- Lord of Magic (od společnosti Sierra)
- Hellfire (Datadisk k Diablu od společnosti Sierra)
Předchozí verze archivů
Před vydáním hry Diablo I, Blizzard používal pro uložení dat formát WAR (Warcraft ARchive).
Tento formát byl použit ve hře Warcraft II (a možná taky Warcraft I). Tento formát byl velmi jednoduchý
a i průměrný hacker dekódoval jeho formát během krátké doby. Ačkoliv v době Warcraftu II to nebyl velký problém,
nově připravovaná hra Diablo vyžadovala archiv, který splňoval náročnější požadavky.
Požadavky
- Bezpečnost. Společnost Blizzard nechtěla, aby se kdokoliv mohl dostat k souborům,
které jejich hry budou používat a tyto soubory upravovat. Archivní formát musel umožňovat
zašifrování uložených dat.
- Rychlý přístup. Bylo nutné, aby hry byly schopny číst data uložená v archivech
v reálném čase. Přístup k souborům uloženým v archivech měl být co nejrychlejší.
- Komprimace dat. Společnost se rozhodla ukládat zvukové záznamy, vč. hudby, ve formátu
WAV. Nekomprimovaná velikost těchto souborů je obrovská a formát archivního souboru
musí podporovat jejich kompresi. MPQ archivy používají několik kompresních metod pro datové
soubory (PKWARE Data Compression Library, ZLIB, BZIP2, LZMA, SPARSE), společně s komprimačními
metodami IMA ADPCM a Huffman určenými ke komprimaci zvukových souborů.
- Rozšiřitelnost. Formát archivů musí podporovat pozdější změny způsobu uložení
souborů. Formát archivů se průběžně rozšiřuje s novými vydanými hrami. Veškeré dosavadní
změny formátu MPQ jsou zpětně kompatibilní.
- Vícejazyčnost. Společnost Blizzard plánovala uvedení svých her ve více jazykových
verzích a archivy proto musely podporovat současné uložení více jazykových verzí
stejného souboru.
Archivy MPQ archives mohou být jednak samostatné soubory, nebo mohou být např. připojeny na konci
EXE souborů. Patche pro hry jsou samorozbalovací archivy MPQ. Pro více informací o formátu MPQ
otevřete sekci Formát MPQ.
Soubory v MPQ
Obrázky použíté v hrách společnosti Blizzard mají tyto formáty:
- Formát PCX (Diablo, Starcraft): obrazovky nebo velké plochy. Obrázky mohou být zobrazeny v libovolném prohlížeči obrázků.
- Formát GIF (Diablo)
- Formát CEL (Diablo I)
- Formát DC6 (Diablo II)
- Formát BLP (Warcraft III, World of Warcraft): Textury. Vice informací o formátu BLP je možné najít zde.
Animace v hrách společnosti Blizzard mají tyto formáty:
- Formát CL2 (Diablo)
- Formát DC6 (Diablo II)
- Formát MDX (Warcraft III): Textury pro Warcraft III. Více informací o formátu MDX je možné najít zde.
Zvuky v hrách společnosti Blizzard mají tyto formáty:
- Formát WAV: dají ze najít ve všech MPQ ke hrám od Diabla po World of Warcraft.
- Formát MID: zvuky okolí ve Warcraft III
- Formát MP3: obvykle hudební soubory, objevují se v MPQ od Warcraft III
- Formát OGG: některé soubory s příponou WAV jsou ve skutečnosti soubory ve formátu OGG
Videa v hrách společnosti Blizzard mají tyto formáty:
- Formát SMK (Smacker Video Technologies): Videa v Diablu I, portréty ve Starcraftu I
- Formát BIK (Bink Video)
- Formát AVI (DIVX): počínaje hrou Warcraft III
Patche MPQ
Kvůli možnosti aktualizace již vydaných her, Blizzard nemění existující archivy MPQ,
které mohou navíc být na CD. Updater namísto toho vytvoří patch MPQ (např. Patch_rt.mpq
nebo War3patch.mpq). Při otevírání herních archivů je vytvořen seznam všech otevřených MPQ.
Na předních místech tohoto seznamu jsou patche, a až pak následují originální MPQ.
Při otevření souboru z MPQ se otevře soubor z toho archivu, ve kterém je nalezen jako první.
Pro hru Warcraft III je také možné použít lokálně uložené soubory, pokud je jejich
použití povoleno v systémovém registru:
REGEDIT4
[HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III]
"Allow Local Files"=dword:00000001
Copyright (c) Ladislav Zezula 2003 - 2010