                     DMMPST: DooM MaP StaTistics v2.8c
                     =================================
                              January 20, 2024


DMMPST is a command-line utility on Unix and Windows (source code
included) to generate statistics of levels in (Ultimate) DOOM, DOOM ][,
Final DOOM, DOOM 64, Heretic, Heretic: Shadow of the Serpent Riders,
Hexen and Hexen: Deathkings of the Dark Citadel, the 3D action games
by id Software and Raven Software; as well as Strife, the 3D action
role-playing game by Rogue Entertainment.

This program's primary purpose is to use the included templates to
generate output suitable for Doom Wiki (http://doomwiki.org/) map
pages, or sections thereof.  Statistics displayed for a map include
its dimensions, structure counts, and a list of secret sectors.

Additionally this program can collect thing appearance statistics per
skill level for one or multiple IWADs, or list sortable statistics
for their maps.

It is derived from DMPSMU/DMPSMAP and DMTXLS, which are in turn derived
from DEU, the Doom Editor Utility.
--
Frans P. de Vries | fpv@gamers.org | Doom / Quake archive backup maintainer



INSTALL
=======

Installation of the package is straight-forward. Unzip the package (which
you have probably done already to read this file ;)  preferably recursively
(default in Info-UNZIP, requires '-d' option to PKUNZIP). Go into the source
directory and check the Makefile for the C compiler and its flag and include
definitions. Set CC to your ANSI C compiler, CFLAGS & LDFLAGS as desired and
if necessary, INCLUDES to your directory with ANSI C header files. If you're
on a little endian system, leave DEFINES as is, otherwise select the other
one.  Then type 'make' to build the Linux/Unix executable.

Find a way to copy your IWAD file to your Unix system and copy the shell
scripts 'allstat*.sh' as well as the just 'made' executable into the same
directory for easy access to the WAD file. And presto, you're all set to
generate statistics galore! :-)


NOTES
=====

The Doom Wiki page for DMMPST is at https://doomwiki.org/wiki/DMMPST.
A discussion of this tool's design and development can be found at:
  https://doomwiki.org/wiki/User:Xymph/DMMPST

Anyone know a more complete list of big/little endian systems?  Please
email me.  The same goes for ideas for new features and other improvements.

Currently this utility supports classic WADs as described in the
Unofficial Doom Specs and the Doom Wiki, as well as these features
introduced by modern source ports:
- the Doom-in-Hexen map format:
  https://zdoom.org/wiki/Map_format#Hexen_map_format
- the Boom and ZDoom generalized secret sectors:
  https://soulsphere.org/projects/boomref/#sec15
  https://zdoom.org/wiki/Sector_specials#Generalized_flags
- the Boom flags for cooperative and deathmatch multiplayer Things:
  https://soulsphere.org/projects/boomref/#p4
- the UDMF WAD format:
  https://doomwiki.org/wiki/UDMF

Doom 64 has the maps stored as WADs in the IWAD.  To save development
work for this one-off problem, DMMPST requires a modified IWAD with the
maps inlined in the correct slots.


CREDITS
=======

My thanks go to the following people for their work:

- the folks at id and Raven for creating such wonderful games!

- Brendon J. Wyber <b.wyber@csc.canterbury.ac.nz> and Raphaël Quinet
  <quinet@montefiore.ulg.ac.be> (and everyone working with them) for
  creating the DEU editor and Per Allansson <c91peral@und.ida.liu.se> and
  Per Kofod <per@ollie.dnk.hp.com> for porting it to a sane C compiler ;)
  And: if they hadn't released the source with it, this utility wouldn't
  exist (or at least not in the same form :-)

- Matt Fell <msfell@aol.com> for the indispensable DOOM Specs

- http://doomwiki.org/ and http://zdoom.org/wiki/ for contemporary info
  about WAD structures

- for supplying compilation info for the Makefile:
  Hans Peter Verne <h.p.verne@kjemi.uio.no> on Ultrix4.3/DECstation
  Michael J. Salay <salay_mike@ae.ge.com> on HP-UX 9.0/HP710 station

- Stephen C. Losen for the C Template library, taken from:
  http://libctemplate.sourceforge.net/
  https://sourceforge.net/projects/libctemplate/


RESTRICTIONS
============

  The source in the DMMPST package should not be used to create a utility
  that can modify the main WAD files; you're better off with DEU v5.21 GCC
  anyway. It is illegal to use the source in this package to modify the
  shareware version of DOOM or Heretic, or the demo of Hexen or Strife.

  If you derive another utility from this package, name it something else
  and give some credit to the original author(s).

  If you distribute the DMMPST package, please distribute the original ZIP
  file unmodified and under the same name.


TRADEMARKS
==========

  DOOM, DOOM ][, Ultimate DOOM and Final DOOM are trademarks of id Software
  Incorporated.
  DOOM 64 is a trademark of Midway Games.
  Heretic, Heretic: Shadow of the Serpent Riders, Hexen and Hexen: Deathkings
  of the Dark Citadel are trademarks of Raven Software Incorporated.
  Strife is a trademark of Rogue Entertainment.

  DEU is copyrighted by Brendon J. Wyber and Raphaël Quinet.

  C Template library is copyrighted by Stephen C. Losen.


COPYLEFT
========

  DooM MaP StaTistics utility (DMMPST)
  Copyright (C) 2016-2023  Frans P. de Vries, The Netherlands

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

