Lump assembly

From Doomsday Wiki
Jump to: navigation, search

As the name implies, a lump assembly is an assortment of lumps arranged into an assembly (inside a folder). It is also possible to include a hierarchy of folders inside a Lump Assembly (therefore puting lumps into "namespaces" where they can have a load order implied; see below). It is even possible to nest WADs inside an assembly.

The automatic loading of data files can be utilised to load directories that contain individual data lumps. This kind of a directory is called a "lump assembly" and it can be used instead of a WAD file. Note that a lump assembly can only be loaded via the autoload mechanism (but it can be inside a PK3 that is loaded manually).

So what does that mean? In a nutshell: any folder's contents can be treated as a WAD (this includes other Doomsday WAD features such as DD_DIREC) provided it is loaded by the auto loader.

The assembly can be built using a hierarchy of directories. For example the contents of a PK3 might be:


#assembly would be mapped to Data\<Game>\Auto\assembly\.

Lump loading order

By default, the contents of a lump assembly are loaded in alphabetical order. However, some kinds of data require that the lumps are in a specific order (for instance map data). You have two options if you want to enforce a specific order:

  • You can put a WAD inside the assembly.
  • You can use name prefixes that are used to sort the lumps but are ignored when the lump names are determined. The length of the prefix can be 1–9 characters long. You specify the length of the prefix by adding an extension to the name of the directory that contains the lumps. An example that uses a prefix with 3 characters:

    The first three characters of the file name are ignored ("01_") and LUMPNAME becomes the name of the lump.

Assembly loading order

The order in which assemblies are loaded is governed by the autoload mechanism. In short, all folders and files inside the Auto folder are loaded in alphabetical order. Note that this means that it makes no difference in which order the files containing the assemblies were loaded.

See also