LMP

By definition
An LMP is a named section, or "lump", of binary data within the structure of a WAD file. The term LMP comes from the file extension that the original MS-DOS Doom engine uses when recording gameplay demonstrations (see demos), as file extensions under this operating system were strictly limited to three characters; LMP was the most logical shortening of "lump". While "LMP" is now predominantly used in the context of demo recording, its actual definition is an entry within a WAD that does not fall under the general categories of WAD content, these being:


 * Graphics
 * Sounds
 * Music
 * Sprites
 * Wall textures
 * Wall patches,
 * Flats
 * Level maps and associated data (reject tables, nodes etc.)

Examples of these are (from DOOM.WAD):


 * The PLAYPAL and COLORMAP entries, which define the sprite colour palettes and the wall patch colour palettes respectively;
 * ENDOOM, the 80x25 DOS screen containing credits and a friendly reminder about piracy, displayed at the MS-DOS console after quitting Doom;
 * DMXGUS, an ASCII text lump that maps the instrument patches used by DOOM's music for the Gravis Ultrasound (GUS) soundcard.
 * DEMO1 through DEMO4, the internal gameplay demonstration recordings, which are played in a loop when the player is not actually playing the game.

LMPs in demo recording
In the MS-DOS version of Doom, players could make a recording of their gameplay by typing:

at the DOS console, where demoname was the name of the file to record the demo to. This was restricted (again, by the operating system) to eight characters. Doom would append the .LMP extension to the file, and regurgitate any attempt to record or play a demo with an alternate file extension, effectively setting the LMP extension in stone. The LMP files that Doom created were of exactly the same format as the internal demo files. These demo files could be uploaded to BBSes and FTP servers to aid other players in the completion of the game, or to show off tricks or reveal secrets.

Most modern source ports, such as ZDoom, cannot record demos in Doom's original LMP format, as their movement code requires the recording of extra data, such as Y-axis viewpoints and trajectories, and jumping, even if these features are not being utilised.