Difference between revisions of "PK3"

From DoomWiki.org

[checked revision][checked revision]
(Folder structure: "Edge PaK" (EPK) container format)
(Tags: Mobile edit, Mobile web edit)
(Per Talk:EDGE#3DGE merger, deprecate Template:3dgewiki in favor of Template:Edgewiki)
(One intermediate revision by one other user not shown)
Line 7: Line 7:
 
* [[Doomsday]] and [[Risen3D]] use a model detailed {{dengwiki|PK3|here|linkonly=1}}.
 
* [[Doomsday]] and [[Risen3D]] use a model detailed {{dengwiki|PK3|here|linkonly=1}}.
 
* [[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.
 
* [[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.
* [[3DGE]] also uses a model mostly compatible with ZDoom's, detailed {{3dgewiki|Using ZIPs as WAD replacement|here|linkonly=1}}. An .EPK (Edge PaK) zip extension is recommended for 3DGE-specific modifications.
+
* [[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]].
 
* [[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}}.
 
* [[ZDoom]], [[GZDoom]], and [[Zandronum]] use a model detailed {{zdoomwiki|Using ZIPs as WAD replacement|here|linkonly=1}}.

Revision as of 04:17, 14 December 2019

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.

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 filesystem 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.