Half-Life PAK Archiv Spezifikation

Ähnlich wie WAD ist PAK ein Containerformat welches zur Speicherung der Half-Life Assets wie beispielsweise Modellen, Maps oder Audiodateien dient. Wie jedes andere Format der GoldSrc Engine wird es in der Little-Endian Byte-Reihenfolge gespeichert.

Das PAK Format sieht drei Teile innerhalb einer Datei vor:

  • Header
  • Asset Images
  • Asset Directory

Header

Der Header beinhaltet grundlegende Informationen zur PAK Datei, welche zur weiteren Nutzung der Datei benötigt werde. Seine Länge beträgt immer 12 Byte.

Byte offset Typ Inhalt Beschreibung
0x00 - 0x03 BYTE[4] „PACK“ Identifikation als PAK Datei
0x04 - 0x07 DWORD Asset Directory Offset Das absolute Offset zum Asset Directory in Bytes
0x08 - 0x0C DWORD Asset Directory Size Die Größe des Asset Directories in Bytes

Asset Directory

Das Asset Directory ist eine Auflistung von einem oder mehr Einträgen, welche auf die einzelnen Assets verweisen. Das Asset Directory reicht hierbei vom im Header beschriebenen Asset Directory Offset bis zum Ende der Datei. Ein Eintrag im Asset Directory beschreibt ein Asset innerhalb des “Asset Image“-Bereiches und eine feste Größe von 64 Byte und ist wie folgt aufgebaut:

Byte offset Typ Inhalt Beschreibung
0x00 - 0x38 BYTE[56] Asset Name Der Name des Assets.
0x39 - 0x3b DWORD Asset Offset Der absolute Offset zum Asset in Bytes
0x3c - 0x3f DWORD Asset Length Die Länge des Assets in Bytes
  • Asset Name - Der Asset Name muss nicht zwingend aus einem reinen Dateinamen bestehen. Es ist auch möglich virtuelle Ordner zu erstellen, indem man den Namen entsprechend mit / trennt. falls man Pfade speichert dürfen diese keinen führenden Slash beinhalten oder relative Pfade im Asset Name genutzt werden. Der Asset Name wird mit NULL terminiert.

Asset Images

Die Asset Images sind die einfache Bytepräsentation der einzelnen Assets. Für jedes Asset Image existiert ein Eintrag im Asset Directory. Die Asset Images sind weder komprimiert, noch speziell ausgerichtet.

Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
goldsrc/specification/pak.txt · Zuletzt geändert: 2010/06/17 00:38 von Adrian_Broher