Captain POLAND Posted February 2, 2022 I'm working on this thread, but so far what I've been doing is going to the wiki page for each map and adding up the different types of monsters (for example here), but I want to be able to find the information even if it's not on the wiki, by opening the WAD file itself. I have tried using Doom Builder 2 but I can't find any way to list the amount of monsters or even just individual types of things in a map, I found a plugin that gives some statistics including the total amount of things but that's not helpful. I tried SLADE, and I found that each map has a things lump, but it's really difficult to navigate/interpret (for example you have to look up which thing type corresponds to which thing, there's no easy way to count them, and they're not even listed by type, so you could have 100 of thing type 1, 200 of thing type 2, and then 100 more of thing type 1) so identifying which ones are monsters and adding them all up seems really tedious and prone to mistakes, especially in maps with huge amounts of things. Basically what I am asking is, is there an easy way to take a WAD or pk3 file, and easily get data like this for each map? (listing the number of each type of thing). Also, some maps have scripts which spawn in monsters that weren't there originally, is there an easy way to search through these scripts and find out how many and what type of monsters were spawned? 0 Quote Share this post Link to post
Dark Pulse Posted February 2, 2022 (edited) In Ultimate Doom Builder, Edit > View Thing Types. I'm pretty sure this was also in DB2 (and DBX). Edited February 2, 2022 by Dark Pulse 1 Quote Share this post Link to post
Captain POLAND Posted February 2, 2022 13 hours ago, Dark Pulse said: In Ultimate Doom Builder, Edit > View Thing Types. I'm pretty sure this was also in DB2 (and DBX). That option isn't available in the version I have. All that's under the edit menu is: Undo Redo Cut Copy Paste Paste Special Snap to Grid Merge Geometry Increase Grid Decrease Grid Grid Setup Map Options 0 Quote Share this post Link to post
Bauul Posted February 2, 2022 In Ultimate Doom Builder, go to "Things Mode" (T on the keyboard), select every Thing in the map (zoom out and lasso the whole map), then in the "Things" menu that appears at the top there should be an option for "Filter Things". That will give you a list, along with numbers, of ever Thing type in the map. You can then select just specific types through this menu too, if you want. 1 Quote Share this post Link to post
Captain POLAND Posted February 2, 2022 I found how to do it in Ultimate Doom Builder (I didn't have it so I had to download it) but there's another problem. In the map I'm trying to analyze (100,000 Revenants), I have played the map and at one point archviles appear, but they are not listed in the things data. If they are spawned by a script or something, how do I find that information? 0 Quote Share this post Link to post
Dark Pulse Posted February 2, 2022 (edited) 2 hours ago, Captain POLAND said: That option isn't available in the version I have. All that's under the edit menu is: Undo Redo Cut Copy Paste Paste Special Snap to Grid Merge Geometry Increase Grid Decrease Grid Grid Setup Map Options Did you load a map? It's definitely there. 2 hours ago, Captain POLAND said: I found how to do it in Ultimate Doom Builder (I didn't have it so I had to download it) but there's another problem. In the map I'm trying to analyze (100,000 Revenants), I have played the map and at one point archviles appear, but they are not listed in the things data. If they are spawned by a script or something, how do I find that information? Check the WAD/PK3 for a SCRIPTS lump. Most map authors include these (they're not mandatory) in case other authors want to learn from their scripts. That said, I checked it (since I have that PWAD as well) and it looks like it's done via DeHackEd trickery. Edited February 2, 2022 by Dark Pulse 0 Quote Share this post Link to post
Captain POLAND Posted February 2, 2022 18 minutes ago, Dark Pulse said: Check the WAD/PK3 for a SCRIPTS lump. Most map authors include these (they're not mandatory) in case other authors want to learn from their scripts. That said, I checked it (since I have that PWAD as well) and it looks like it's done via DeHackEd trickery. How would I translate that into a number of monsters that spawn throughout the course of the level? 0 Quote Share this post Link to post
Dark Pulse Posted February 2, 2022 Just now, Captain POLAND said: How would I translate that into a number of monsters that spawn throughout the course of the level? That I'm not sure of, but since it's DeHackEd, it means that you can't just randomly "add" new things. So it's basically counting up the stuff that claims it's one object (maybe those pillars?) but then knowing the DeHackEd patch changes them to Arch-viles. That said, I watched a video of it online, and I didn't see any Arch-viles... so how are they appearing? 0 Quote Share this post Link to post
Captain POLAND Posted February 2, 2022 26 minutes ago, Dark Pulse said: That I'm not sure of, but since it's DeHackEd, it means that you can't just randomly "add" new things. So it's basically counting up the stuff that claims it's one object (maybe those pillars?) but then knowing the DeHackEd patch changes them to Arch-viles. That said, I watched a video of it online, and I didn't see any Arch-viles... so how are they appearing? They appear after you kill the first room full of Revenants to start reviving everything while you try to get the keys. 0 Quote Share this post Link to post
Gez Posted February 2, 2022 17 hours ago, Captain POLAND said: Basically what I am asking is, is there an easy way to take a WAD or pk3 file, and easily get data like this for each map? (listing the number of each type of thing). Yes, the tool @Xymph uses to generate these tables, DMMPST. 17 hours ago, Captain POLAND said: Also, some maps have scripts which spawn in monsters that weren't there originally, is there an easy way to search through these scripts and find out how many and what type of monsters were spawned? Not really. For a start, ACS scripts are not necessarily in a legible form, since it's a compiled language and you can get away with just the bytecode. So then you'd have to decompile it. But modern ACS cannot be decompiled easily because it got a lot more complex than the Raven-made original. Also a single spawning instruction can spawn several monsters (it'll try to spawn one at every tagged spot, and you can't know from reading the script how many tagged spots there are, you have to look at the map for that), and spawning can fail (if the player or another monster occupies the spot), and scripts can be run several times, or not at all, and there are also ways to spawn additional monsters that do not involve scripts at all! 1 Quote Share this post Link to post
Captain POLAND Posted February 3, 2022 (edited) That's helpful. Seems I'll just try to get the most accurate statistics I can. EDIT: I can't figure out how to run that statistic program, though. Edited February 3, 2022 by Captain POLAND 0 Quote Share this post Link to post
Dark Pulse Posted February 3, 2022 (edited) 19 hours ago, Captain POLAND said: That's helpful. Seems I'll just try to get the most accurate statistics I can. EDIT: I can't figure out how to run that statistic program, though. It's a commandline tool. You need to tell it what to produce from what WAD, and there's literally screenshots of that right on the page. If you're not familiar with commandline stuff, I see how it can be daunting, but for a lot of people in the Doom community (especially considering the original came out for DOS, after all), commandline is nothing unusual or scary to them. I suppose it can be a lost art for anyone who grew up in the GUI era post-1995 though, so if that confuses you, someone can probably put up a quick-and-dirty how-to. EDIT: Ehh, I'll do it myself. Download DMPPST, grab dmppst32/64.exe from the Windows folder, and optionally all the BAT files. Put them somewhere. For this example I will presume you put it in a folder named DMMPST on your desktop. Start -> Run (or Win-R), type cmd and hit enter. You will be greeted with a Command Prompt window. It will probably start in your user folder. type in cd Desktop\DMMPST\ to move to the DMMPST folder on your desktop. (If for some reason you go into the wrong directory, you can always type cd .. to go one level back up.) Type either dmmpst32 or dmmpst64. Given today's modern PCs, 95% of the time 64 should work as most people are on a 64-bit system now. If for some reason it doesn't use 32 instead. Begin feeding it options. The options are as follows: Usage: dmmpst -w <main_wad_file> [-pw <pwad_file>] [-file <pwad_files>...] [+v] +k|r|s|d|t|+yd|+yf [+b] [+x] [-z <classes>] [-g <game>] [-n <name>] [-u <UDMF_mark>] [-c <CustomMap_file>] [-i <DoomWiki_tpl_dir>] [-o <DoomWiki_file>] -e <episode> -m <mission> dmmpst -w <main_wad_file> [-pw <pwad_file>] [-file <pwad_files>...] [+v] -j <classes> [+b] [-u <UDMF_mark>] [-c <CustomMap_file>] -e <episode> -m <mission> dmmpst -w <main_wad_file> [-pw <iwad_file>] [-file <iwad_files>...] [+v] [-i <DoomWiki_tpl_dir>] -o <DoomWiki_file> (-a <thing_type> | +l) -w Gives the name of the main WAD file (also -main); default is DOOM.WAD -pw To add one patch WAD file to be loaded; may be repeated (also -pwad) -file To add a list of patch (-a: main) WAD files to be loaded +v Display verbose logging & statistics (also +verbose) +k Generate complete skeleton to output file (also +skeleton) +r Generate secrets section to output file (also +secrets) +s Generate statistics section to output file (also +statistics) +d Generate only map data template to output file (also +mapdata) +t Generate only things template to output file (also +things) +yd Generate DM player spawns section to output file (also +dmspawns) +yf Generate CTF player spawns section to output file (also +ctfspawns) +b Count Boom MP things instead of classic MP (also +boommp) +x Exclude SP/Coop things, list only MP/DM (also +excludesp) -z Split DM table by classes [1-9] (also +splitdm) -j Display extra Coop/MP things by classes [1-9] (also +extracp) -g Defines the user game/megawad name (also -game) -n Defines the user level name (also -name) -u Defines the marker for, usually, UDMF maps (also -udmf) -c Gives the path to custom Things mapping file (also -custommap) -i Gives the path to input DoomWiki templates (also -wikitempl) if templates path is missing, uses current directory -o Gives the name of the output DoomWiki file (also -wikifile) if output file is missing, [+k|r|s|d|t|yd|yf] are ignored -e Gives the episode number (also -episode); required, except with -a/+l -m Gives the mission number (also -mission); required, except with -a/+l -a Tally appearance statistics of a thing type for one or more IWADs (also -appearance); requires -o +l List maps by statistics for one or more IWADs (also -mapslist); requires -o Put a '+' instead of a '-' before boolean options to reverse their effect Chain up the options into a commandline, i.e; doommpst64 -w doom2.wad -file CoolLevl.wad -e 0 -m 32 +t -o CoolLevl.txt should run the program, load the PWAD, read MAP32 from it, go through the Things, and spit them into an output named CoolLevl.txt. Lather, rinse, repeat. Note that, like with using a level editor, this program cannot account for any sorts of trickery that the WAD may do via DeHackEd, ACS, etc. Those sorts of things are created as the level is run; this (like the map editors) can only read the data contained within the WAD itself. If the map author uses DeHackEd to tell Tech Pillars to become Arch-viles when shot, that's a runtime effect - they are placed as Tech Pillars in the map editor, and both this tool and the map editor would see them only as Tech Pillars. Edited February 3, 2022 by Dark Pulse 2 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.