mcount.pl
A Perl script that dumps monster count / HP statistics for DOOM WAD files. Current version: 1.08. Copyright © 2004-2010 Schneelocke; licensed under the terms of the GNU GPL.
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
Download | Screenshot | Help | Changes | TODO |
Download
- mcount.pl 1.08
- mcount.pl 1.07
- mcount.pl 1.06
- mcount.pl 1.05
- mcount.pl 1.04
- mcount.pl 1.03
- mcount.pl 1.02
- mcount.pl 1.01
- mcount.pl 1.00
- mcount.pl 0.99
- mcount.pl 0.98
- mcount.pl 0.97
- mcount.pl 0.96
- mcount.pl 0.95
- mcount.pl 0.90
Sample output (a.k.a. screenshot)
$ ./mcount.pl --map=map24 hr.wad Map / Monster S2 S3 S4 ------------------------------------------------------------------------------- Map: MAP24 Heavy Weapon Dude : 12 20 37 Imp : 143 143 143 Demon : 28 28 28 Cacodemon : 8 16 60 Hell Knight : 6 10 12 Baron of Hell : 7 11 41 Arachnotron : 3 6 16 Pain Elemental : 10 20 35 Revenant : 10 27 88 Mancubus : 12 22 52 Arch-vile : 17 27 49 Spider Mastermind : 2 2 4 Cyberdemon : 3 8 14 Total : 261 340 579 Total HP : 72420 125780 268270 $ ./mcount.pl --compact ksutra.wad Map S2 S3 S4 ------------------------------------------------------------------------------- Map: MAP01 29 42 44 Map: MAP02 57 95 110 Map: MAP03 34 58 68 Map: MAP04 75 111 132 Map: MAP05 59 78 105 Map: MAP06 57 108 146 Map: MAP07 48 100 128 Map: MAP08 105 170 200 Map: MAP09 104 118 133 Map: MAP10 122 158 196 Map: MAP11 121 181 223 Map: MAP12 47 60 73 Map: MAP13 168 292 327 Map: MAP14 151 199 282 Map: MAP15 134 195 247 Map: MAP16 211 280 327 Map: MAP17 112 152 178 Map: MAP18 235 314 401 Map: MAP19 125 203 293 Map: MAP20 336 493 544 Map: MAP21 79 136 210 Map: MAP22 112 156 198 Map: MAP23 160 278 385 Map: MAP24 144 196 247 Map: MAP25 91 184 316 Map: MAP26 261 491 623 Map: MAP27 216 376 436 Map: MAP28 613 1106 1716 Map: MAP29 544 747 882 Map: MAP30 3 5 9 Map: MAP31 408 605 886 Map: MAP32 98 149 176 ------------------------------------------------------------------------------- Total 5059 7836 10241 $ ./mcount.pl scythe2.wad --map 27 Map / Monster S2 S3 S4 ------------------------------------------------------------------------------- Map: MAP27 Heavy Weapon Dude : 8 11 15 Imp : 42 72 81 Demon : 7 7 20 Spectre : 11 16 21 Cacodemon : 20 40 50 Hell Knight : 14 17 23 Baron of Hell : 15 13 13 Arachnotron : 2 2 2 Pain Elemental : 2 4 6 Revenant : 48 74 102 Mancubus : 24 32 38 Arch-vile : 4 5 12 Cyberdemon : 3 4 6 [D] Commander Keen : 4 5 Total : 200 301 394 Total HP : 81180 119540 158260 $
Help text
mcount.pl 1.08 Copyright (C) 2004-2010 Schneelocke, licensed under the terms of the GNU GPL v2 (or, at your option, any later version) Usage: mcount.pl [OPTION]... FILE Options: --game=... Select game (valid choices: doom, heretic, hexen; default: doom) --skill=... Select skill(s) (1-5, all for all; default: UV) --map=... Select map(s) (all for all; default: MAP01) --resource=... Use resource WAD(s) (for custom monsters) --format=... Force doom/hexen WAD format (valid choices: doom, hexen; default: autodetect) --deh=... Load DEH file(s) (for monster HP adjustment) --no-custom Disable recognition of custom ZDoom monsters --no-dehlump Disable loading of DEHACKED lumps --allthings Always report all THINGS entries DOOM-specific options: --no-lostsouls Ignore Lost Souls --powerups Output stats for powerups rather than monsters --sort=... Specify sort order (valid choices: default, wiki) Output control options: --total Enable combined (all skills) monster count --summary Enable monster summary (all levels) --compact Enable compact view (total monster counts only) --multi Enable multi-player stats --no-hp Disable hitpoint stats --no-single Disable singer-player stats Miscellaneous options: --verbose Verbose mode --dump Dump monsters after loading WAD --help Print this help screen Example: mcount.pl --skill=hmp --map=map01,5-7 --summary WADFILE.WAD 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Changes
1.08
- Make it clear(er) that --summary displays a summary for all level that were shown, rather than all levels in the WAD.
1.07
- Add --sort option to specify sort order (DOOM only so far). Sort orders implemented are the default sort order and the DOOM wiki sort order.
- Allow --map specifications along the lines of "--map=e1m1-5", "--map=e3m4-m7" and so on.
- Fix a --map handling glitch.
1.06
- Added --powerups option to display powerups instead of monsters (DOOM only so far).
1.05
- Fix handling of non-standard map names (noticed in TNT01_GL.WAD).
- Add --allthings option.
1.04
- Disregard custom weapons etc. when scanning for custom monsters (noticed in ZENDYN_X.WAD).
1.03
- Implement automatic adding of new DEHACKED monsters (for known IDs).
- Add --dump option.
- Add new DEHACKED id mapping: 116 => 23 (Dead Lost Soul), used in PE4_DT3.WAD
- Add more --verbose output.
1.02
- Unbreak layout for DECORATE monsters.
1.01
- First stab at DEH file loading support (--deh). Works, but only for DOOM so far. DeHackEd 2.3/3.0 files for DOOM versions 14/17/19/20/21 in patch format 5 and 6 are accepted, but testing has been very limited; BEX files haven't been tried at all. DEH-modified monsters are marked with a "[D]" in the list.
- DEHACKED lump loading support; this is automatically on, and can be disabled with --no-dehlump.
- Verbose mode (--verbose).
1.00
- Explicitely label Skulltag monsters.
- Add Abbadon and Belphegor to Skulltag monsters.
- Correct thing numbers for Blood Demon, Dark Imp and Super Shotgunner (from DoomBuilder).
- Adjust sort order of monsters:
- Blood Demon appears after Spectre now
- Dark Imp appears after Imp and Stealth Imp now
0.99
- Fix hitpoint output in compact mode.
- Avoid spurious warnings from Getopt::Long.
- Add --no-lostsouls option to ignore Lost Souls.
- Ignore case for --game selection.
0.98
- Disable Strife support for now.
- Minor --map selection fixes.
- Add --no-single option to disable single-player stats.
- Add --compact output.
- Default to all skills instead of just UV if no skill is specified.
0.97
- Allow usage of resource WADs for custom monsters.
- Correctly detect single-player vs. multi-player monsters for Hexen format maps.
- Fix layout for custom monsters.
- Flag custom monsters with [C] instead of (custom) (to save screenspace).
0.96
- Print a warning when Strife is selected as the game.
- Allow map range specifications à la --map=map01-map03, --map=e1m1-e2m8, --map=e1 (for e1m1-e1m9), --map=5-7 and so on.
0.95
- Remove mkII monsters (I can't find references to them again, and I'm not sure where I got them from, anyway).
- Hitpoint statistics.
- Tighter output layout (more 80 column-friendly, at least as long as you don't request too much information at once).
- Ability to specify --map=all and/or --skill=all.
0.90
- Recognize custom ZDoom monsters in DECORATE lumps.
- Use Getopt::Long for option processing and implement real command line options.
- Allow specification of skill level(s) / map(s) to analyze.
- Allow toggling of total monster counts, all-level summary etc.
- Don't interpret spurious THINGS entries anymore.
Earlier versions
Earlier versions did not have version numbers; change history is not recorded.
TODO
- --list-maps.
- --exclude-monsters= and --only-monsters=.
- Implement sort ordering for Heretic and Hexen (and Strife).
- Powerup stats for Heretic and Hexen (and Strife).
- Different output modules (text, HTML, tables for DOOM wiki etc).
- Determine HP of custom (DECORATE) monsters.
- More robust DECORATE lump handling (i.e., actually parse the contents properly).
- Handle replacing of regular DOOM monsters in DECORATE lumps.
- Add PK3 file support.
- More robust handling of level-associated data.
- Support mixed DOOM/Hexen format multi-level WADs.
- Strife support.
- Fix multiplayer stats for Hexen-format maps.
- Verify Heretic / Hexen monsters.
- Implement proper sort order for Heretic / Hexen monsters.
- Write a man page.