Difference between revisions of "DMMPST"

From DoomWiki.org

[checked revision][checked revision]
(add screenshot)
m (External links: update to v2.4d)
(28 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:DMMPST screenshot.png|thumb|Demonstration of DMMPST generating statistics of [[Planisphere 2]]]]
+
[[File:DMMPST screenshot.png|thumb|Demonstration of DMMPST generating map statistics of [[Planisphere 2]]]]
'''DMMPST''' is DooM MaP StaTistics, a command-line tool by [[Frans P. de Vries (Xymph)]] to generate statistics (map data, things and more) of [[Doom]], [[Heretic]], [[Hexen]] and [[Strife]] levels. DMMPST differs from other [[WAD]] statistics utilities in that it was created specifically for [[Doom Wiki]], producing output that can be copied directly into map pages.
+
'''DMMPST''' is DooM MaP StaTistics, a command-line tool written in {{wp|C (programming language)|C}} by [[Frans P. de Vries (Xymph)]] to generate statistics (map data, things, secret sectors and more) of [[Doom]], [[Doom 64]], [[Heretic]], [[Hexen]] and [[Strife]] levels. DMMPST differs from other [[WAD]] statistics utilities in that it was created specifically for [[Doom Wiki]], producing output that can be copied directly into map pages. Additionally it can produce appearance statistics directly suitable for thing pages, and list basic statistics of stock levels.
  
 
== History ==
 
== History ==
 
Doom Wiki map pages contain various statistics such as numbers of structural elements (vertices, linedefs, etc.) and secret sectors, as well as [[thing]] counts depending on [[skill level]].  Historically this data was obtained via tools like [[WadWhat|WadWhat/WadSpy]], [[DMPSMU]], and—most commonly—the statistics feature of [[DeePsea]]. It was manually transcribed into pages, resulting in inconsistent or incomplete organization and formatting of the information, and occasional errors. And presumably because of their complexity, thing tables for Hexen maps had never been compiled at all.
 
Doom Wiki map pages contain various statistics such as numbers of structural elements (vertices, linedefs, etc.) and secret sectors, as well as [[thing]] counts depending on [[skill level]].  Historically this data was obtained via tools like [[WadWhat|WadWhat/WadSpy]], [[DMPSMU]], and—most commonly—the statistics feature of [[DeePsea]]. It was manually transcribed into pages, resulting in inconsistent or incomplete organization and formatting of the information, and occasional errors. And presumably because of their complexity, thing tables for Hexen maps had never been compiled at all.
  
In May 2016, Doom Wiki staff [[Doom Wiki:Central Processing/2016#Map thing statistics|set a goal]] of establishing a new standard for filling things tables, and DMMPST aims to meet this goal in most aspects.  Its development commenced in July 2016 and was [[User:Xymph/DMMPST|chronicled extensively]], with the first public release appearing in October 2016.  DMMPST is now the recommended tool to prepare Things tables for almost all map pages on Doom Wiki.
+
In May 2016, Doom Wiki staff [[Doom Wiki:Central Processing/2016#Map thing statistics|set a goal]] of establishing a new standard for filling things tables, and DMMPST aims to meet this goal in most aspects.  Its development commenced in July 2016 and was [[User:Xymph/DMMPST|chronicled extensively]], with the first public release appearing in October 2016.  DMMPST is now the recommended tool to prepare Things tables and full skeletons for almost all map pages on Doom Wiki.
  
 
== Features ==
 
== Features ==
* Supports Doom, Heretic, Hexen and Strife [[IWAD]]s and [[PWAD]]s
+
[[File:DMMPST screenshot2.png|thumb|Demonstration of DMMPST generating appearance statistics for the [[Baron of Hell#Appearance statistics|Baron of Hell]]]]
* Supports Boom [[Thing#Boom flags|thing flags]] and [[Sector#Boom|Boom]]/[[Sector#ZDoom|ZDoom]] generalized secret sectors
+
* Supports Doom, Doom 64, Heretic, Hexen and Strife [[IWAD]]s and [[PWAD]]s
* Supports Doom-in-Hexen format levels (even when mixed with Doom format levels within the same PWAD) and [[limit removing]] maps
+
* Supports Boom [[Thing#Boom flags|thing flags]], [[Sector#Boom|Boom]]/[[Sector#ZDoom|ZDoom]]/[[Sector#Doom 64|Doom 64]] generalized secret sectors, [[Thing#Doom 64 flags|Doom 64 secret things]], and [[Doom 64 TC]] secret/shrine linedefs
 +
* Supports Doom-in-Hexen format levels (also if mixed with Doom format levels within the same PWAD) and [[limit removing]] maps
 +
* Supports [[UDMF]] WAD format levels (but no [[PK3|PK3/7]] archives)
 
* Generates output files based on Doom Wiki templates that are suitable to copy directly into a page's [[:Template:Mapdata|Map data]], [[:Template:Things|Things]], and—together—Statistics sections
 
* Generates output files based on Doom Wiki templates that are suitable to copy directly into a page's [[:Template:Mapdata|Map data]], [[:Template:Things|Things]], and—together—Statistics sections
* Generates output files that are suitable to copy directly into a page's Secrets section
+
* Generates output files that are suitable to copy directly into a page's [[Secret]]s section
 +
* Generates output files that are suitable to copy directly into a page's Player spawns section for [[Deathmatch start|deathmatch]] or [[Capture the Flag]]
 
* Generates entire [[:Template:Map_skel|map skeletons]] that are suitable for the creation of new map pages
 
* Generates entire [[:Template:Map_skel|map skeletons]] that are suitable for the creation of new map pages
* Displays basic statistics about a map: its dimensions, structure counts, and secret sectors
+
* Displays basic statistics about a map: its dimensions, structure counts, and secret sectors/things
 
* Notifies about things that have no [[skill level]] flags defined, to assist in describing them in a page's Bugs section
 
* Notifies about things that have no [[skill level]] flags defined, to assist in describing them in a page's Bugs section
 
* For [[:Category:Strife levels|Strife stock levels]], translates generic actors (acolytes, rebels, peasants, beggars) into [[:Category:Strife characters|characters]] specific to each level
 
* For [[:Category:Strife levels|Strife stock levels]], translates generic actors (acolytes, rebels, peasants, beggars) into [[:Category:Strife characters|characters]] specific to each level
* For Doom, Heretic and Strife things, generates a single-player table and a multiplayer table; if Boom things format is enabled, generates cooperative and deathmatch tables instead of the MP table
+
* For Doom, Heretic and Strife things, generates a single-player (SP) table and a [[multiplayer]] (MP) table; if Boom things format is enabled, generates [[Multiplayer#Cooperative|cooperative]] (coop) and deathmatch (DM) tables instead of the MP table
 
* For Hexen things, generates three single-player tables for the [[cleric]], [[fighter]] and [[mage]] classes, as well as coop and DM tables
 
* For Hexen things, generates three single-player tables for the [[cleric]], [[fighter]] and [[mage]] classes, as well as coop and DM tables
 
* Optionally excludes all SP and coop tables to generate only the MP or DM table for deathmatch-only levels
 
* Optionally excludes all SP and coop tables to generate only the MP or DM table for deathmatch-only levels
 
* Optionally splits the MP-only/DM table into two columns, especially useful for Hexen & Deathkings and [[Strife: Veteran Edition]] map pages
 
* Optionally splits the MP-only/DM table into two columns, especially useful for Hexen & Deathkings and [[Strife: Veteran Edition]] map pages
 +
* Optionally displays the additional Things existing in coop or MP mode when compared to SP mode
 +
* Automatically disables coop or DM tables if no coop or DM starts exist, respectively; or disables the MP table if neither exist
 +
* Optionally allows to specify maps by a non-standard marker, typically for UDMF levels
 
* Optionally allows to change and/or add custom Things that are specific to the pertaining PWAD via a mapping file
 
* Optionally allows to change and/or add custom Things that are specific to the pertaining PWAD via a mapping file
 
* For any combination of things tables, wiki-links entries such that only the first of each unique link is applied
 
* For any combination of things tables, wiki-links entries such that only the first of each unique link is applied
 
* Counts aggregate things ([[Multiplayer#Cooperative|cooperative starts]] and [[voodoo doll]]s) in Doom, Heretic and Strife maps
 
* Counts aggregate things ([[Multiplayer#Cooperative|cooperative starts]] and [[voodoo doll]]s) in Doom, Heretic and Strife maps
* As an alternative to the above map-related features, generates appearance statistics of thing types for one or more IWADs (e.g. the [[BFG9000#Appearance statistics|BFG9000]])
+
* Displays [[ZDoom]]'s [[zdoom:Classes:SecretTrigger|SecretTrigger]] things and each matching thing or linedef that invokes it
 +
* As an alternative to the above map-related features, generates appearance statistics of thing types for one or more IWADs (e.g. the [[BFG9000#Appearance statistics|BFG9000]]), or [[List of stock level statistics|lists sortable statistics]] of the maps in one or more IWADs
 
* Includes source code for compilation on Linux, and 32/64-bit executables for Windows Command
 
* Includes source code for compilation on Linux, and 32/64-bit executables for Windows Command
 
* Includes example shell scripts and batch files to generate Statistics sections for all IWAD levels
 
* Includes example shell scripts and batch files to generate Statistics sections for all IWAD levels
  
 
This page lists all [[DMMPST/All classes and things|supported classes and things]] per game.
 
This page lists all [[DMMPST/All classes and things|supported classes and things]] per game.
 +
 +
== See also ==
 +
* [[WadWhat]]
  
 
== External links ==
 
== External links ==
* {{idgames|file=utils/wad_tools/dmmpst19|title=DMMPST v1.9}}
+
* {{idgames|file=utils/wad_tools/dmmpst24d|title=DMMPST v2.4d}}
  
 +
{{featured article}}
 +
[[Category:Doom Wiki]]
 
[[Category:Miscellaneous editors]]
 
[[Category:Miscellaneous editors]]
 
[[Category:Unix add-on software]]
 
[[Category:Unix add-on software]]
 
[[Category:Windows add-on software]]
 
[[Category:Windows add-on software]]

Revision as of 03:24, 25 September 2022

Demonstration of DMMPST generating map statistics of Planisphere 2

DMMPST is DooM MaP StaTistics, a command-line tool written in C by Frans P. de Vries (Xymph) to generate statistics (map data, things, secret sectors and more) of Doom, Doom 64, Heretic, Hexen and Strife levels. DMMPST differs from other WAD statistics utilities in that it was created specifically for Doom Wiki, producing output that can be copied directly into map pages. Additionally it can produce appearance statistics directly suitable for thing pages, and list basic statistics of stock levels.

History

Doom Wiki map pages contain various statistics such as numbers of structural elements (vertices, linedefs, etc.) and secret sectors, as well as thing counts depending on skill level. Historically this data was obtained via tools like WadWhat/WadSpy, DMPSMU, and—most commonly—the statistics feature of DeePsea. It was manually transcribed into pages, resulting in inconsistent or incomplete organization and formatting of the information, and occasional errors. And presumably because of their complexity, thing tables for Hexen maps had never been compiled at all.

In May 2016, Doom Wiki staff set a goal of establishing a new standard for filling things tables, and DMMPST aims to meet this goal in most aspects. Its development commenced in July 2016 and was chronicled extensively, with the first public release appearing in October 2016. DMMPST is now the recommended tool to prepare Things tables and full skeletons for almost all map pages on Doom Wiki.

Features

Demonstration of DMMPST generating appearance statistics for the Baron of Hell
  • Supports Doom, Doom 64, Heretic, Hexen and Strife IWADs and PWADs
  • Supports Boom thing flags, Boom/ZDoom/Doom 64 generalized secret sectors, Doom 64 secret things, and Doom 64 TC secret/shrine linedefs
  • Supports Doom-in-Hexen format levels (also if mixed with Doom format levels within the same PWAD) and limit removing maps
  • Supports UDMF WAD format levels (but no PK3/7 archives)
  • Generates output files based on Doom Wiki templates that are suitable to copy directly into a page's Map data, Things, and—together—Statistics sections
  • Generates output files that are suitable to copy directly into a page's Secrets section
  • Generates output files that are suitable to copy directly into a page's Player spawns section for deathmatch or Capture the Flag
  • Generates entire map skeletons that are suitable for the creation of new map pages
  • Displays basic statistics about a map: its dimensions, structure counts, and secret sectors/things
  • Notifies about things that have no skill level flags defined, to assist in describing them in a page's Bugs section
  • For Strife stock levels, translates generic actors (acolytes, rebels, peasants, beggars) into characters specific to each level
  • For Doom, Heretic and Strife things, generates a single-player (SP) table and a multiplayer (MP) table; if Boom things format is enabled, generates cooperative (coop) and deathmatch (DM) tables instead of the MP table
  • For Hexen things, generates three single-player tables for the cleric, fighter and mage classes, as well as coop and DM tables
  • Optionally excludes all SP and coop tables to generate only the MP or DM table for deathmatch-only levels
  • Optionally splits the MP-only/DM table into two columns, especially useful for Hexen & Deathkings and Strife: Veteran Edition map pages
  • Optionally displays the additional Things existing in coop or MP mode when compared to SP mode
  • Automatically disables coop or DM tables if no coop or DM starts exist, respectively; or disables the MP table if neither exist
  • Optionally allows to specify maps by a non-standard marker, typically for UDMF levels
  • Optionally allows to change and/or add custom Things that are specific to the pertaining PWAD via a mapping file
  • For any combination of things tables, wiki-links entries such that only the first of each unique link is applied
  • Counts aggregate things (cooperative starts and voodoo dolls) in Doom, Heretic and Strife maps
  • Displays ZDoom's SecretTrigger things and each matching thing or linedef that invokes it
  • As an alternative to the above map-related features, generates appearance statistics of thing types for one or more IWADs (e.g. the BFG9000), or lists sortable statistics of the maps in one or more IWADs
  • Includes source code for compilation on Linux, and 32/64-bit executables for Windows Command
  • Includes example shell scripts and batch files to generate Statistics sections for all IWAD levels

This page lists all supported classes and things per game.

See also

External links