Difference between revisions of "PK3"

From DoomWiki.org

[unchecked revision][checked revision]
m (Quake 2 uses the same PAK files as quake, no id Tech 2 game as used pk2 to my knowledge.)
m (crosslink PK4)
(17 intermediate revisions by 7 users not shown)
Line 1: Line 1:
'''PK3''' is an alternate extension for {{wp|ZIP (file format)|ZIP files}}. This nomenclature was introduced by {{wp|Quake III Arena}}. However, contrarily to the PAK format used by Quake and Quake 2, PK3 is not its own format, but merely a naming trick to prevent the operating system from associating these files to "virtual folders" or archiving software, and to avoid leading users believe they have to extract the content to make the game work.
+
'''PK3''' is an alternate extension for {{wp|Zip (file format)|ZIP files}}. This nomenclature was introduced by {{wp|Quake III Arena}}. However, contrarily to the PAK format used by [[Quake]] and [[Wikipedia:Quake II|Quake II]], PK3 is not its own format, but merely a naming trick to prevent the operating system from associating these files with "virtual folders" or archiving software, and to avoid leading users to believe they have to extract the content to make the game work. The PK7 variant uses {{wp|7-Zip}} compression.
  
Several [[Source port]] have adopted support for using PK3 instead of, or in addition to, [[WAD]] files to distribute mods. But contrarily to WAD files (which have standardized marker lumps such as P_START/P_END or F_START/F_END for various lump types), there are no cross-port standard for how data should be organized when placed in a PK3 file.
+
Several [[source port]]s have adopted support for using PK3 instead of, or in addition to, [[WAD]] files to distribute mods. But unlike WAD files (which have standardized marker lumps such as P_START/P_END or F_START/F_END for various lump types), there are no cross-port standards for how data should be organized when placed in a PK3 file.
  
 
==Folder structure==
 
==Folder structure==
Since the ZIP format imitates a filesystem with a tree hierarchy, the differences between the various implementations of "PK3" files reside mostly in the folder structure to which a PK3 mof should conform.
+
Since the ZIP format imitates a file system with a tree hierarchy, the differences between the various implementations of "PK3" files reside mostly in the folder structure to which a PK3 mod should conform.
* [[Doomsday]] and [[Risen3D]] use a model detailed [http://dengine.net/dew/index.php?title=PK3 here].
+
* [[Doomsday]] and [[Risen3D]] use a model detailed {{dengwiki|fs/pk3|here|linkonly=1}}.
* [[Vavoom]] has a model inspired from the approach used in the [[Quake]] series of [[Doom 3]].
+
* [[Eternity Engine|Eternity]] uses a model mostly compatible with ZDoom's, detailed {{eterwiki|ZIP|here|linkonly=1}}. A .PKE extension is recommended for Eternity-specific modifications.
* [[ZDoom]], [[GZDoom]] and [[Skulltag]] use a model detailed [http://zdoom.org/wiki/Using_ZIPs_as_WAD_replacement here].
+
* [[EDGE]] also uses a model mostly compatible with ZDoom's, detailed {{edgewiki|Using ZIPs as WAD replacement|here|linkonly=1}}. An .EPK (Edge PaK) zip extension is recommended for EDGE-specific modifications.
 +
* [[Vavoom]] has a model inspired from the approach used in the [[Quake]] series or [[Doom 3]].
 +
* [[ZDoom]], [[GZDoom]], and [[Zandronum]] use a model detailed {{zdoomwiki|Using ZIPs as WAD replacement|here|linkonly=1}}.
 +
 
 +
==Technical details==
 +
Although the ZIP format allows for many different compression methods, only two are generally supported: store (method 0), which applies no compression at all, and {{wp|DEFLATE|deflate}} (method 8). Many utilities may simply fail to open a ZIP archive if at least one of its files was compressed with an unsupported method. See section 4.4.5 in the [http://www.pkware.com/documents/casestudies/APPNOTE.TXT official ZIP format specifications] for a full list of ZIP compression methods.
 +
 
 +
== See also ==
 +
* [[PK4]]
 +
 
 
[[Category:Resources]]
 
[[Category:Resources]]
 
[[Category:New features]]
 
[[Category:New features]]

Revision as of 07:27, 21 November 2020

PK3 is an alternate extension for ZIP files. This nomenclature was introduced by Quake III Arena. However, contrarily to the PAK format used by Quake and Quake II, PK3 is not its own format, but merely a naming trick to prevent the operating system from associating these files with "virtual folders" or archiving software, and to avoid leading users to believe they have to extract the content to make the game work. The PK7 variant uses 7-Zip compression.

Several source ports have adopted support for using PK3 instead of, or in addition to, WAD files to distribute mods. But unlike WAD files (which have standardized marker lumps such as P_START/P_END or F_START/F_END for various lump types), there are no cross-port standards for how data should be organized when placed in a PK3 file.

Folder structure

Since the ZIP format imitates a file system with a tree hierarchy, the differences between the various implementations of "PK3" files reside mostly in the folder structure to which a PK3 mod should conform.

  • Doomsday and Risen3D use a model detailed here.
  • Eternity uses a model mostly compatible with ZDoom's, detailed here. A .PKE extension is recommended for Eternity-specific modifications.
  • EDGE also uses a model mostly compatible with ZDoom's, detailed here. An .EPK (Edge PaK) zip extension is recommended for EDGE-specific modifications.
  • Vavoom has a model inspired from the approach used in the Quake series or Doom 3.
  • ZDoom, GZDoom, and Zandronum use a model detailed here.

Technical details

Although the ZIP format allows for many different compression methods, only two are generally supported: store (method 0), which applies no compression at all, and deflate (method 8). Many utilities may simply fail to open a ZIP archive if at least one of its files was compressed with an unsupported method. See section 4.4.5 in the official ZIP format specifications for a full list of ZIP compression methods.

See also