From DoomWiki.org

m (Custom things mapping: update wad lists)
(Custom things mapping: update to latest state)
(44 intermediate revisions by the same user not shown)
Line 96: Line 96:
  
 
=== createMapper.php ===
 
=== createMapper.php ===
From the author registration in the .ini collection, generates the text for a manually createable stub page of a mapper, with preformatted name, alias, DEFAULTSORT (if needed) and category. Organizes their covered projects / contributions by year (optionally with annual section headers), with formatted lists of co-authors per map where applicable.
+
From the author registration in the .ini collection, generates the text for a manually createable stub page of a mapper, with preformatted name, alias, DEFAULTSORT (if needed) and category. Organizes their covered projects / contributions by year (optionally with annual section headers), with formatted lists of co-authors per map where applicable. The companion '''categoryMapper.php''' script quickly creates a mapper's levels category.
  
 
=== addCategoryBot.php ===
 
=== addCategoryBot.php ===
 
Appends a new category to all or selected map pages. Optionally inserts it before an existing category.<br/>
 
Appends a new category to all or selected map pages. Optionally inserts it before an existing category.<br/>
 
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.
 
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.
 +
 +
=== pregreplBot.php ===
 +
Performs a [https://www.php.net/manual/en/function.preg-replace.php preg_replace] on all map pages with the given search and replace expressions, for all or a limited number of matches.<br/>
 +
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.
 +
 +
=== dsdaMapBot.php ===
 +
For all map pages' "Speedrunning" sections, collects the current [[DSDA]] record via {{dwforums|106189|their API}} in all standard Doom, Heretic or Hexen categories plus the optional ones (''NoMo'', ''NoMo 100S'', ''Stroller'' & ''Collector''), and compiles the table with intro line for the "Current records" subsection -- similar to ''srUpdMapRecs.php'' for [[User:Xymph/Speedrunners#Compet-n record tables|Compet-n map record tables]]. Links to each category are not duplicated.<br>
 +
If an existing "Miscellaneous demos" table contains entries, prompts whether to preserve at least one of them. If so, updates the download link(s) to {{tl|dsdaftp}} for the old DSDA site; if not, drops the section.<br>
 +
An intermediate step checks the "Secrets" section or "Official" subsection for bulleted or bolded entries, and uses that for the next ''NM 100S'' check. But a secret exit or the absence of monsters & secrets is flagged for pertaining maps in the .ini file.<br>
 +
For a map without secrets, skips the ''NM 100S'' category -- but if a record exists in that category and not in ''NM Speed'', then lists the former in the latter row. For a map without monsters and secrets, drops all categories except ''UV Speed'' -- and ''Pacifist'' if cross-listed into ''UV Speed''. In both cases an explanation line is added at the start of the "Speedrunning" section (replacing an existing line if present).<br>
 +
If no records are in the table at all, an "(absence of)" attribute is added in the datestamp line, and the default edit summary is a Verify; otherwise it's an Update.<br>
 +
Always provides interactive comparison between old and new contents of the section, prior to submitting the edit.
  
 
== Miscellaneous scripts ==
 
== Miscellaneous scripts ==
These scripts don't work on a .ini file and its series of map pages as such, but perform other convenient tasks. Most of these don't automatically update pages via the bot account, and only produce output for manual updates.
+
These scripts don't work on a .ini file and its series of map pages as such, but perform other convenient tasks. Many of these don't automatically update pages via the bot account, and only produce output for manual updates.
  
 
=== coveredWads.php ===
 
=== coveredWads.php ===
Line 111: Line 123:
 
Finds article, category and template pages whose titles start with an article ("A"/"An"/"The") and shows whether they contain a DEFAULTSORT tag, named map template, category sortkey, or none. Its output is the entire "[[User:Xymph/Pages starting with an article|Pages starting with an article]]" page. Thanks to [[User:Ryan W/Maintenance#Minimal knowledge of wiki structure and goals 2|Ryan W]] for the idea.
 
Finds article, category and template pages whose titles start with an article ("A"/"An"/"The") and shows whether they contain a DEFAULTSORT tag, named map template, category sortkey, or none. Its output is the entire "[[User:Xymph/Pages starting with an article|Pages starting with an article]]" page. Thanks to [[User:Ryan W/Maintenance#Minimal knowledge of wiki structure and goals 2|Ryan W]] for the idea.
  
=== textmapStats.php ===
+
=== [https://gist.github.com/Xymph/5e2f5ce10a615e48d5d4c9a8aa5caaa0 textmapStats.php] ===
Processes an extracted TEXTMAP lump with regular expressions and a little code to generate statistics in [[Template:Mapdata]] format, along with formatted lists of secret sector numbers and deathmatch spawn points (if any). Useful for [[UDMF]] maps, which DMMPST doesn't support.
+
Processes an extracted TEXTMAP lump with regular expressions and a little code to generate statistics in [[Template:Mapdata]] format, along with formatted lists of secret sector numbers and deathmatch spawn points (if any). Useful for [[UDMF]] maps, but obsolete now that DMMPST supports those.
  
=== textmapExtra.php ===
+
=== [https://gist.github.com/Xymph/d32d9efde10c0ac0708505881aaa3f09 textmapExtra.php] ===
 
Processes an extracted TEXTMAP lump with regular expressions and some code to collect monster and equipment counts for single-player and cooperative modes, and lists those {{cat|Levels with extra monsters in co-op|where the}} {{cat|Levels with extra equipment in co-op|counts differ}}. Again, useful for UDMF maps.
 
Processes an extracted TEXTMAP lump with regular expressions and some code to collect monster and equipment counts for single-player and cooperative modes, and lists those {{cat|Levels with extra monsters in co-op|where the}} {{cat|Levels with extra equipment in co-op|counts differ}}. Again, useful for UDMF maps.
 +
 +
=== [https://gist.github.com/Xymph/5aab927475f1a8e3eadb87e9eb59a920 textmapSector.php] ===
 +
For Doom-format maps, [[DeePsea]] allows searching sectors for a specific type (e.g. secret) or jumping to a specific sector number in the layout. Editors that support UMDF (like [[SLADE 3]]) appear to lack these features. textmapSector searches for a specified sector number in an extracted TEXTMAP lump and computes the approximate center position of the associated vertices, allowing to hover to that coordinate in the layout and thus assist in verifying secret descriptions.
  
 
=== listWikiLinks.php ===
 
=== listWikiLinks.php ===
Line 137: Line 152:
 
=== updateAuthor.php ===
 
=== updateAuthor.php ===
 
After a {{cat|Mappers|mapper article}} and its associated {{cat|Levels by author|levels category}} have been moved (typically to include or remove a full name), go over the map articles in the old category to rename the wikilinked author and levels category.<br/>
 
After a {{cat|Mappers|mapper article}} and its associated {{cat|Levels by author|levels category}} have been moved (typically to include or remove a full name), go over the map articles in the old category to rename the wikilinked author and levels category.<br/>
Both always provide interactive comparison between old and new contents of the page, prior to submitting the edit.
+
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.
  
 
=== addTemplate.php ===
 
=== addTemplate.php ===
 
Processes all articles linked from a template to append that template. If the template contains an includeonly category, this category is replaced by the template. Also, (re)formats any categories after the template(s), one per line.<br/>
 
Processes all articles linked from a template to append that template. If the template contains an includeonly category, this category is replaced by the template. Also, (re)formats any categories after the template(s), one per line.<br/>
Both always provide interactive comparison between old and new contents of the page, prior to submitting the edit.
+
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.
  
 
=== appearMaps.sh ===
 
=== appearMaps.sh ===
Line 151: Line 166:
 
=== rankMappers.php ===
 
=== rankMappers.php ===
 
From all the subcategories under category {{cat|Levels by author}}, collects the number of pages, then sorts and prints the 50 highest entries. Its output is the entire "[[User:Xymph/Mappers ranked by map count|Mappers ranked by map count]]" page. Inspired by the {{dwforums|72528|Most Prolific Mappers}} topic on the [[Doomworld forums]].
 
From all the subcategories under category {{cat|Levels by author}}, collects the number of pages, then sorts and prints the 50 highest entries. Its output is the entire "[[User:Xymph/Mappers ranked by map count|Mappers ranked by map count]]" page. Inspired by the {{dwforums|72528|Most Prolific Mappers}} topic on the [[Doomworld forums]].
 +
 +
=== onemanLinks.php ===
 +
Processes the [https://onemandoom.blogspot.com/p/index-of-reviews.html reviews index] of [[ONEMANDOOM: WAD Reviews]] and adds/updates review links to the External links section of matching WAD articles. WADs are matched by title or filename in the [[#Configuration|.ini collection]] and otherwise by [[Special:Search|searching]] for title, or a mapping list for special cases (such as the [[Cabal|Cabal series]] and [[Master Levels]]). The intro paragraph of the article is shown for visual verification that it's the same WAD, then existing review links (via https or [[Template:Onemandoom|template]]) are updated or a new link bullet is appended.<br/>
 +
Always provides interactive comparison between old and new contents of the section, prior to submitting the edit.
 +
 +
=== doomugLinks.php ===
 +
Processes the [http://games.moria.org.uk/doom/du/wads.html reviews index] of [[Doom Underground]] and adds/updates review links to the External links section of matching WAD articles. WADs are matched by filename in the [[#Configuration|.ini collection]] or a brief mapping list for minor differences. The intro paragraph of the article is shown for visual verification that it's the same WAD, then a new link bullet is appended unless a [[Template:DoomUGreview|templated]] entry is already present.<br/>
 +
Always provides interactive comparison between old and new contents of the section, prior to submitting the edit.
 +
 +
=== waddsd2Links.php ===
 +
Processes all .ini files for the old [[DSDA]] numeric ID, looks up the new wadname ID, verifies it exists (via a HTTP HEAD request), updates (sometimes adds) the External link in the corresponding article, and adds the new ID back to the pertaining .ini file.<br>
 +
Always provides interactive comparison between old and new contents of both update types, prior to submitting the edits.
 +
 +
=== collectDLlinks.php ===
 +
Before March 2021, .ini files didn't contain a link for their pertaining PWAD. This one-off script processes a specific or all .ini files, fetching each article path and extracting the "|link=" option from the {{tl|wad}} template. For an {{tl|ig}} template, uses the "|file=" parameter as is, or for the "|id=" parameter runs a HTTP HEAD request on the [https://www.doomworld.com/idgames/ Doomworld idgames frontend] to catch the redirect to the file path URL. Use this relative idgames path (without .zip), or the full URL for other "|link=" options, to update the .ini file with a new 'link' field for each PWAD.
 +
 +
=== builtinDemos.php ===
 +
From a PWAD's .ini file and previously extracted DEMOx lumps or .lmp files included in the .zip, collects the stats of the demo(s) via a separate [https://github.com/Xymph/LmpStats LmpStats library], and constructs a 'Built-in demos' section with a table for multiple demos, and for a single-level PWAD also a 'Demo files' section. On a PWAD overview page the 'Built-in demos' section is appended to the 'Content' section if present, and otherwise prepended to the 'External links' section or earlier in the page, always showing a comparison between old and new contents of the page prior to submitting the automatic edit; while for a single-level PWAD the 'Demo files' section and table are merely shown for a manual edit.
 +
 +
=== pregreplGen.php ===
 +
A generalized spin-off from [[#pregreplBot.php|pregreplBot.php]], runs a search query (optionally different from the in-page search expression) and performs a [https://www.php.net/manual/en/function.preg-replace.php preg_replace] on all resulting pages with the given search and replace expressions.<br>
 +
Always provides interactive comparison between old and new contents of the section, prior to submitting the edit.
 +
 +
=== [https://gist.github.com/Xymph/6437426a6d939df4008e4eef90ea3db9 drawmaps.py] ===
 +
The enhanced version of [[Omgifol#Drawing maps|Omgifol's demo script]] to [[User:Xymph/Map views|draw map views]] that is used for nearly all maps on the wiki, adding scale, logging and spawn points support.
 +
 +
=== [https://gist.github.com/Xymph/d7e2e045c1669d5541a1c3aa623f6198 texpackstats.py] ===
 +
Collects statistics for a texture pack (or any WAD with textures/flats/etc.): totals for [[texture]]s, [[patch]]es, [[flat]]s, [[sky|skies]] (patches containing "SKY" in their names), [[SWITCHES|switches]], and [[ANIMATED|animated]] textures and flats. Optionally also dumps lists of textures, skies, switches and/or animated. Thanks [[User talk:Redneckerz#Texture.2Fpalette automation.3F|Redneckerz]] for the idea.
 +
 +
=== [https://gist.github.com/Xymph/8e2ebc7dbe69166b6045ce7464d4aa69 searchSpecial.py] ===
 +
Searches [[linedef]]s/[[thing]]s in one or multiple maps (Hexen or [[ZDoom]] format) for a given [[Hexen action special|action special]] and ID. Primarily used in relation to [[zdoom:Classes:SecretTrigger|SecretTrigger]]s that are not directly invoked by another thing or linedef (DMMPST already lists those) but have a Thing ID that is indirectly [[zdoom:Thing_Activate|activated]] via a script [[zdoom:ACS_Execute|called]] by a thing/linedef. Another use is to find the linedef that gets [[zdoom:Line_SetIdentification|assigned an ID]] by a (start-up) script which can then invoke the SecretTrigger. [How convoluted can one make secret invocations...?]
 +
 +
=== [https://gist.github.com/Xymph/482e78d4f0bc3ff8161e0f2f0b57ac13 searchThing.py] ===
 +
Searches things in one or multiple maps for a given [[Thing types|type]] and lists their positions. Primarily used to check where remapped or new custom things are located prior to compiling a [[#Custom things mapping|custom mapping file]].
 +
 +
=== [https://gist.github.com/Xymph/ffa52a765f738848b46d10db718b5726 playpal_total.php] ===
 +
Process a [[PLAYPAL]] lump extracted from a Doom-engine WAD and count the number of unique colors, optionally skipping unused palettes and truncating 8-bits colors to 6-bits. {{dwforumsp|1839737|Idea originated}} during a {{dwforumsp|1839529|discussion of palettes}} and the game's color space.
  
 
=== listigf ===
 
=== listigf ===
Line 166: Line 218:
 
For custom things, a description or table of thing types and the new monster/weapon names is particularly helpful, and can be used to provide a mapping file to DMMPST that automatically incorporates the customizations into the Things table. An initial discussion and example mapping was presented for [[Talk:Valiant#Custom monster mapping|Valiant]].
 
For custom things, a description or table of thing types and the new monster/weapon names is particularly helpful, and can be used to provide a mapping file to DMMPST that automatically incorporates the customizations into the Things table. An initial discussion and example mapping was presented for [[Talk:Valiant#Custom monster mapping|Valiant]].
  
The mapping file ideally links to description(s) of the custom thing(s) on the WAD's overview page. This can be a [[Resurgence#Monsters|simple one-liner]] but preferably contains a brief [[NewDoom Community Project II#Monsters|entry per thing]] that mentions which original thing is replaced by which custom one, and may be [[Scythe 2#Monsters|even more elaborate]].
+
The mapping file should link to description(s) of the custom thing(s) on the WAD's overview page. This can be a [[Resurgence#Monsters|simple one-liner]] but preferably contains a brief [[NewDoom Community Project II#Monsters|entry per thing]] that mentions which original thing is replaced by which custom one, and may be [[Scythe 2#Monsters|even more elaborate]].
  
So, to help, please provide such descriptions (or provide a quick mapping table on the WAD's talk page) for the following WADs that I already processed previously:
+
So, to help, please provide such descriptions as well as a [[Talk:Scythe X#Custom monsters|short]] or [[Talk:REKKR#Custom things mapping|long]] mapping table (as the case may be, but it must be accurate and complete) on the WAD's talk page for the following WADs that I already processed previously:
  
 
<div style="-webkit-column-width: 20em; -moz-column-width: 20em; column-width: 20em;">
 
<div style="-webkit-column-width: 20em; -moz-column-width: 20em; column-width: 20em;">
 +
* [[The Adventures of MassMouth]], [[Massmouthmas]], [[MassMouth 2]]
 
* [[Aliens TC]]
 
* [[Aliens TC]]
 +
* [[Ar Luminae]]
 +
* [[Ashes 2063]]
 +
* [[Asylum of the Wretched]]
 +
* [[Beyond Reality]]
 +
* [[BGPA Missions: Liberation]]
 
* [[Black Magnetic]]
 
* [[Black Magnetic]]
 
* [[Caverns of Darkness]]
 
* [[Caverns of Darkness]]
 
* [[Celestial Site]]
 
* [[Celestial Site]]
* [[Cheogsh]]
+
* [[Cheogsh]], [[Cheogsh 2]], [[Realm of Cheogsh]]
 +
* [[Community Is Falling 3]]
 
* [[Daedalus: Alien Defense]]
 
* [[Daedalus: Alien Defense]]
 +
* [[Damnation]]
 +
* [[Dawn of Reality]]
 +
* [[dead.air]]
 +
* [[Demons of Problematique 2]]
 
* [[Disrepair]]
 
* [[Disrepair]]
 
* [[Distribution Center]]
 
* [[Distribution Center]]
 +
* [[Doom: The Golden Souls]]
 +
* [[Doom: The Golden Souls 2]]
 
* [[Doom Raider: Crypt of the Vile]]
 
* [[Doom Raider: Crypt of the Vile]]
 +
* [[Doomed Space Wars]]
 
* [[Doomworld Mega Project 2014]] (zDMP2014.pk3)
 
* [[Doomworld Mega Project 2014]] (zDMP2014.pk3)
 
* [[Doomworld Mega Project 2015]] (DMP15C.wad)
 
* [[Doomworld Mega Project 2015]] (DMP15C.wad)
 
* [[Doomworld Mega Project 2017]]
 
* [[Doomworld Mega Project 2017]]
 +
* [[DsDoom 3]]
 
* [[Epic]]
 
* [[Epic]]
 +
* [[Eternal Doom IV: Return from Oblivion]]
 
* [[The Green Machine]]
 
* [[The Green Machine]]
 
* [[Happy Time Circus]]
 
* [[Happy Time Circus]]
 +
* [[Happy Time Circus II]]
 
* [[Harmony]]
 
* [[Harmony]]
 +
* [[The Heart of Stone]]
 +
* [[Infested]]
 +
* [[The Inquisitor]]
 +
* [[The Inquisitor 2]]
 +
* [[The Island]]
 +
* [[The Island 2]]
 +
* [[The Mapwich 2: The Mapwichening]]
 +
* [[Mayhem Mansion]]
 +
* [[Mordeth]]
 +
* [[Mystery Of Tyskie Islands]]
 +
* [[NeoDoom]]
 
* [[Oniria 2]]
 
* [[Oniria 2]]
 +
* [[Operation Overlord]]
 +
* [[Paradise]]
 
* [[Phobia - The Age]]
 
* [[Phobia - The Age]]
 +
* [[Phocas Island 2]]
 +
* [[Pinnacle of Darkness]]
 +
* [[Pirate Doom]]
 
* [[Putrefier]]
 
* [[Putrefier]]
* [[Put Up Your Dukes!]]
+
* [[Reelism]]
 
* [[The Refinery]]
 
* [[The Refinery]]
* [[Scythe X]]
+
* [[Remain 3]]
 +
* [[Return of the Triad]]
 +
* [[Serpent: Resurrection]]
 +
* [[Simplicity]]
 +
* [[Sold Soul]]
 
* [[Soundless Mound]]
 
* [[Soundless Mound]]
* [[STRAIN]]
 
 
* [[Struggle - Antaresian Legacy]]
 
* [[Struggle - Antaresian Legacy]]
* [[Void and Rainbow]]
+
* [[Technicolor Antichrist Box]]
 +
* [[Temple of the Lizardmen 2]]
 +
* [[Tribute - this is not the best wad in the world]]
 +
* [[The Ultimate Torment and Torture]]
 +
* [[Umbra of Fate]]
 +
* [[Unloved]]
 +
* [[Verdant Citadel]]
 +
* [[Winter's Fury]]
 +
* [[ZBlood]]
 +
* [[Zen Dynamics]]
 
</div>
 
</div>
  
and verify the correctness of Valiant's mapping file. Then I can (re)generate the Things tables on all pertaining map pages.
+
Then I can (re)generate the Things tables on all pertaining map pages. I no longer have time to compile mapping lists, so these are required to make progress.
  
Going forward, the same is welcome for WADs I am skipping for now because the overview information does not appear to be sufficiently descriptive and complete. This includes:
+
Going forward, the same is welcome for WADs I am skipping for now because the overview information does not appear to be sufficiently descriptive and complete, and/or the mapping list is missing. This includes:
  
 
<div style="-webkit-column-width: 20em; -moz-column-width: 20em; column-width: 20em;">
 
<div style="-webkit-column-width: 20em; -moz-column-width: 20em; column-width: 20em;">
* [[The Adventures of MassMouth]], [[Massmouthmas]], [[MassMouth 2]]
+
* [[The Adventures of Square]]
* [[The Alfonzone]]
 
 
* [[Armageddon 2]]
 
* [[Armageddon 2]]
* [[Assault on Tei Tenga]]
 
* [[Batman Doom]]
 
 
* [[Brutal Doom: Hell on Earth Starter Pack]]
 
* [[Brutal Doom: Hell on Earth Starter Pack]]
* [[Cheogsh 2]], [[Realm of Cheogsh]]
+
* [[Catacomb: ABYSS]]
* [[Community Is Falling 3]]
+
* [[Chosen]]
* [[Demons of Problematique]], [[Demons of Problematique 2]]
+
* [[Covert Operations]]
 
* [[Doom 64 TC]]
 
* [[Doom 64 TC]]
* [[Doom Arcade]]
 
* [[Doom II X-Treme]]
 
* [[Doom Resurrection (WAD)]]
 
 
* [[Fate: A Doom Total Conversion]]
 
* [[Fate: A Doom Total Conversion]]
 +
* [[Ghostbusters Doom 2]]
 
* [[Ghoul School 3D]]
 
* [[Ghoul School 3D]]
 +
* [[GoldenEye Doom2]]
 
* [[Midgard Outlaw]]
 
* [[Midgard Outlaw]]
* [[Mordeth]]
 
* [[NeoDoom]]
 
 
* [[Nerves of Steel]]
 
* [[Nerves of Steel]]
 +
* [[Ni'mRoD - IXNAY on the HOMBRE]]
 
* [[Ni'mRoD - Project Doom]]
 
* [[Ni'mRoD - Project Doom]]
 
* [[Operation Body Count]]
 
* [[Operation Body Count]]
* [[Operation Overlord]]
 
 
* [[Operation Sea Wolf]]
 
* [[Operation Sea Wolf]]
* [[Pirate Doom]]
 
 
* [[Project Einherjar]]
 
* [[Project Einherjar]]
 
* [[Psychophobia]]
 
* [[Psychophobia]]
 +
* [[QDOOM]]
 
* [[Realms of Dr. Chaos]]
 
* [[Realms of Dr. Chaos]]
* [[Return of the Triad]]
 
* [[Robocop Doom]]
 
 
* [[Splatterhouse 3D]]
 
* [[Splatterhouse 3D]]
 
* [[Strange Aeons]]
 
* [[Strange Aeons]]
* [[Stronghold: On the Edge of Chaos]]
+
* [[Super Sonic Doom]]
* [[Temple of the Lizardmen 2]]
 
 
* [[Total Chaos]]
 
* [[Total Chaos]]
* [[Tribute - this is not the best wad in the world]]
 
 
* [[Twilight Warrior]]
 
* [[Twilight Warrior]]
* [[The Twilight Zone II: Final Dreams]]
+
* [[VooDoo Guns]]
* [[Unloved]]
 
 
* [[Who Dun It]]
 
* [[Who Dun It]]
* [[Winter's Fury]]
 
 
* [[ZanZan]]
 
* [[ZanZan]]
* [[Zen Dynamics]]
+
* [[ZPortal]]
 
</div>
 
</div>
  
Line 251: Line 336:
  
 
== WADs covered so far ==
 
== WADs covered so far ==
The lists below show the single-level and multi-level WADs that have so far been covered (created and/or updated) via XymphBot and its .ini files. Map counts per WAD and various totals are included (''state of 2020-04-23 14:25 CDT'').
+
The lists below show the single-level and multi-level WADs that have so far been covered (created and/or updated) via XymphBot and its .ini files. Map counts per WAD and various totals are included (''state of 2022-01-11 03:17 CST'').
  
 
===Single-level WADs===
 
===Single-level WADs===
 
<div style="-moz-column-width: 20em; column-width: 20em;">
 
<div style="-moz-column-width: 20em; column-width: 20em;">
 
* [[5till L1 Complex]]
 
* [[5till L1 Complex]]
 +
* [[ACastle2]]
 
* [[After the Holocaust]]
 
* [[After the Holocaust]]
 +
* [[Alfonzo Actually Makes a Back to Saturn X Map]]
 +
* [[Alfonzo Throws Hands with the Purple People Eater]] *
 +
* [[Alfonzo Tries to Prevent Donald Trump from Starting Third Impact]] *
 +
* [[Alfonzo Writes, Directs and Stars in His Own Television Show in the 1980s]]
 
* [[All Aboard the Mega Magilla Gorilla Flotilla]]
 
* [[All Aboard the Mega Magilla Gorilla Flotilla]]
 
* [[Altar of Evil]] *
 
* [[Altar of Evil]] *
 +
* [[Angry Quilt]]
 +
* [[Angry Quilt 2]]
 +
* [[Antares]]
 +
* [[AOL Girls Museum]]
 +
* [[Ar Luminae]]
 
* [[Arachna]]
 
* [[Arachna]]
 
* [[Arachna2]]
 
* [[Arachna2]]
Line 267: Line 362:
 
* [[Artica 4]] *
 
* [[Artica 4]] *
 
* [[Artica B]]
 
* [[Artica B]]
 +
* [[Assault on Moonbase Cresta]] *
 +
* [[Asylum of the Wretched]]
 
* [[Atomic Tomb]]
 
* [[Atomic Tomb]]
 
* [[The Attraction to All Things Uncertain]]
 
* [[The Attraction to All Things Uncertain]]
Line 272: Line 369:
 
* [[Axiom]] *
 
* [[Axiom]] *
 
* [[B21]]
 
* [[B21]]
 +
* [[Barbie Girl]]
 +
* [[Baron Gate]]
 +
* [[Barrel2]]
 +
* [[Base (WAD)]]
 +
* [[Bastion of Chaos]]
 +
* [[Beach Day]]
 
* [[Berserk (WAD)]]
 
* [[Berserk (WAD)]]
 
* [[Beyond Death]]
 
* [[Beyond Death]]
 +
* [[Bilbo's Smegging WAD]]
 
* [[Black Magnetic]]
 
* [[Black Magnetic]]
 +
* [[Blastem]]
 +
* [[Blood, Fire, Death]]
 
* [[BLT]]
 
* [[BLT]]
 
* [[Boom (WAD)]]
 
* [[Boom (WAD)]]
 
* [[Breach]]
 
* [[Breach]]
 
* [[Brigandine]]
 
* [[Brigandine]]
 +
* [[BS_L21]]
 +
* [[BS_L22]]
 
* [[The C.P.U.]]
 
* [[The C.P.U.]]
* [[Calgon, Take Me Away!]] (Doom)
+
* [[Calgon, Take Me Away!]] (Doom 1)
* [[Calgon, Take Me Away!]] (Doom II)
+
* [[Calgon, Take Me Away!]] (Doom 2)
 
* [[Call of Dooty]] *
 
* [[Call of Dooty]] *
 
* [[The Call of Ktulu]]
 
* [[The Call of Ktulu]]
Line 287: Line 395:
 
* [[The Castle of Blood]]
 
* [[The Castle of Blood]]
 
* [[Castle of Eternal Carrot in the Sky]]
 
* [[Castle of Eternal Carrot in the Sky]]
* [[Castle of the Renegades]] (Doom)
+
* [[Castle of the Renegades]] (Doom 1)
* [[Castle of the Renegades]] (Doom II)
+
* [[Castle of the Renegades]] (Doom 2)
 +
* [[Caverns]]
 +
* [[Cavlab11]]
 
* [[Celestial Site]]
 
* [[Celestial Site]]
 +
* [[Center (WAD)]]
 
* [[CH Retro]]
 
* [[CH Retro]]
 
* [[Chainmill]]
 
* [[Chainmill]]
 
* [[Chambers of Dis]]
 
* [[Chambers of Dis]]
 +
* [[Chase (WAD)]]
 +
* [[Chasm Control]]
 
* [[Cheogsh]]
 
* [[Cheogsh]]
 +
* [[Chester]]
 
* [[Chord 1]]
 
* [[Chord 1]]
 
* [[Chord 2]]
 
* [[Chord 2]]
Line 302: Line 416:
 
* [[The City of the Damned: Apocalypse]]
 
* [[The City of the Damned: Apocalypse]]
 
* [[Comatose]]
 
* [[Comatose]]
 +
* [[Command Control (1994 WAD)]]
 
* [[The Community is falling!! Oh No!!!]]
 
* [[The Community is falling!! Oh No!!!]]
 
* [[Congestion Control]]
 
* [[Congestion Control]]
 
* [[Containment Area]]
 
* [[Containment Area]]
 +
* [[Cooper's Creosote]]
 
* [[The Corruption of Substation Alpha]]
 
* [[The Corruption of Substation Alpha]]
 +
* [[CourtYard]]
 
* [[Crestfallen]]
 
* [[Crestfallen]]
 +
* [[Criticality]]
 
* [[CROSS.WAD]]
 
* [[CROSS.WAD]]
 
* [[CrossFire]]
 
* [[CrossFire]]
Line 314: Line 432:
 
* [[Cursed Realms - Path Over The Abyss]]
 
* [[Cursed Realms - Path Over The Abyss]]
 
* [[CyberDoom]]
 
* [[CyberDoom]]
 +
* [[Czequisite Corpse]]
 
* [[The D.M.Z.]]
 
* [[The D.M.Z.]]
 
* [[Dante's Gate]]
 
* [[Dante's Gate]]
Line 319: Line 438:
 
* [[Darker]]
 
* [[Darker]]
 
* [[Darkest Room]] *
 
* [[Darkest Room]] *
 +
* [[Dave]]
 +
* [[Dave (Dave Geary WAD)]]
 +
* [[Dave1]]
 +
* [[Dawn of Reality]]
 
* [[Day of the Acolyte]] *
 
* [[Day of the Acolyte]] *
 
* [[Dead.air]]
 
* [[Dead.air]]
 
* [[Dead.wire]]
 
* [[Dead.wire]]
 
* [[Deadlock]]
 
* [[Deadlock]]
 +
* [[The DeathMatch Of The Century!]]
 
* [[Decade]]
 
* [[Decade]]
 +
* [[Defragmentation Factor]] *
 +
* [[Degeneration I]]
 
* [[The Deimos Subway]]
 
* [[The Deimos Subway]]
 
* [[Demonastery]]
 
* [[Demonastery]]
 
* [[DemWAD01]]
 
* [[DemWAD01]]
 +
* [[Deneb Colony]]
 
* [[Device One]]
 
* [[Device One]]
 
* [[Diabolos]]
 
* [[Diabolos]]
 +
* [[Diabolus Ex]]
 
* [[Dickie 10]]
 
* [[Dickie 10]]
 
* [[Die Young!]]
 
* [[Die Young!]]
 
* [[Diopatra]]
 
* [[Diopatra]]
 +
* [[Disdain]]
 
* [[Distribution Center]]
 
* [[Distribution Center]]
 
* [[Disturbia]]
 
* [[Disturbia]]
 
* [[The Divide]]
 
* [[The Divide]]
 +
* [[DJW11]]
 +
* [[DM2MUD]]
 +
* [[DMTexas]]
 +
* [[DMZoo]]
 
* [[Dock 69]]
 
* [[Dock 69]]
 +
* [[Don't Panic!]]
 +
* [[Doom Anomaly]]
 
* [[Doom City]]
 
* [[Doom City]]
* [[Doom Must Fall]]
+
* [[Doom Must Fall]] *
 
* [[Doom Raider: Crypt of the Vile]]
 
* [[Doom Raider: Crypt of the Vile]]
 
* [[Doom2 Map14 Homage]]
 
* [[Doom2 Map14 Homage]]
 
* [[DoomEd example levels]]
 
* [[DoomEd example levels]]
 
* [[Doomsday of UAC]]
 
* [[Doomsday of UAC]]
 +
* [[DoomsDay'95]]
 +
* [[Doomtown]]
 
* [[Doomworld Forum Adventures!]]
 
* [[Doomworld Forum Adventures!]]
 
* [[Doomworld Forums 3]]
 
* [[Doomworld Forums 3]]
 
* [[Doomworld Mega Project 2019]] *
 
* [[Doomworld Mega Project 2019]] *
 +
* [[Downhell]]
 +
* [[Doxylamine Moon: Overdose]]
 
* [[Drip Feed]]
 
* [[Drip Feed]]
 
* [[The Dying End]]
 
* [[The Dying End]]
Line 351: Line 490:
 
* [[E1 MAP01]]
 
* [[E1 MAP01]]
 
* [[E1M10: Sewers (Xbox Doom)]]
 
* [[E1M10: Sewers (Xbox Doom)]]
 +
* [[E1M1SAS]]
 
* [[E2M1ED.WAD]]
 
* [[E2M1ED.WAD]]
 
* [[Eden]]
 
* [[Eden]]
 
* [[The Enemy Inside]]
 
* [[The Enemy Inside]]
 +
* [[Engine (1994 WAD)]]
 
* [[Entropy (WAD)]] *
 
* [[Entropy (WAD)]] *
 
* [[Entry (WAD)]]
 
* [[Entry (WAD)]]
 
* [[Escape from Castle Chezcrea]]
 
* [[Escape from Castle Chezcrea]]
 +
* [[Escape From Deimos]]
 +
* [[Escape From Planet Deum]]
 
* [[Esselmap I: Testing Facility]]
 
* [[Esselmap I: Testing Facility]]
 
* [[Europa 1]]
 
* [[Europa 1]]
 
* [[Europa 2]]
 
* [[Europa 2]]
 
* [[Europa 3 - The Dark Side of Vrack]]
 
* [[Europa 3 - The Dark Side of Vrack]]
 +
* [[Europe]]
 +
* [[Evil_E]]
 +
* [[Execute]]
 
* [[Exquisite Corpse]]
 
* [[Exquisite Corpse]]
 
* [[Extinguished]]
 
* [[Extinguished]]
 
* [[Extramap.wad]]
 
* [[Extramap.wad]]
 +
* [[Extramap.wad "finished"]]
 
* [[The Eye]]
 
* [[The Eye]]
 
* [[Eyedea]]
 
* [[Eyedea]]
 
* [[Eyedea]]
 
* [[Eyedea]]
 
* [[The Farside of Titan]]
 
* [[The Farside of Titan]]
 +
* [[Fear (WAD)]]
 +
* [[Fearless]]
 +
* [[Fight Through Hell]]
 +
* [[The Final Conflict]]
 
* [[The Final Geometry]]
 
* [[The Final Geometry]]
 +
* [[Firebox]]
 
* [[Forsaken Overlook]]
 
* [[Forsaken Overlook]]
 
* [[Fort Scar]]
 
* [[Fort Scar]]
Line 374: Line 526:
 
* [[FORTRESS.WAD]]
 
* [[FORTRESS.WAD]]
 
* [[Foursite]]
 
* [[Foursite]]
 +
* [[Freaky Panties 2: Boxers or Briefs]] *
 +
* [[Fred]]
 
* [[From A Dream]]
 
* [[From A Dream]]
 
* [[Frozen Time]]
 
* [[Frozen Time]]
Line 379: Line 533:
 
* [[The Fury]]
 
* [[The Fury]]
 
* [[Garden Of Delight]]
 
* [[Garden Of Delight]]
 +
* [[Gateway to Shangri-La]]
 +
* [[Gene-Tech: Before the Storm]] *
 +
* [[Gestalt666's Town of Heresy]]
 
* [[The Given]]
 
* [[The Given]]
 
* [[Goaway]]
 
* [[Goaway]]
 +
* [[Gonna Kick Your F**king Ass]]
 
* [[The Grim Reaper]]
 
* [[The Grim Reaper]]
 +
* [[Ground Zero]]
 
* [[Grove]]
 
* [[Grove]]
 +
* [[H_Hotel]]
 +
* [[Hall (WAD)]]
 
* [[Hall of The Mountain King]]
 
* [[Hall of The Mountain King]]
 
* [[Halo Of Wonders]] *
 
* [[Halo Of Wonders]] *
Line 388: Line 549:
 
* [[Hank's Lair]]
 
* [[Hank's Lair]]
 
* [[Happy Time Circus]]
 
* [[Happy Time Circus]]
 +
* [[Happy Time Circus II]]
 
* [[The Heart of Stone]]
 
* [[The Heart of Stone]]
 
* [[HeDRoX]]
 
* [[HeDRoX]]
 +
* [[Hell on Mars!!]]
 
* [[Hell's Eventide]]
 
* [[Hell's Eventide]]
 
* [[Helpyourselfish]]
 
* [[Helpyourselfish]]
 
* [[A Hidden Mountain Factory]]
 
* [[A Hidden Mountain Factory]]
 +
* [[High Climb]]
 
* [[High/Low 1]]
 
* [[High/Low 1]]
 
* [[High/Low 2]]
 
* [[High/Low 2]]
Line 403: Line 567:
 
* [[Holy Hell Revealed]]
 
* [[Holy Hell Revealed]]
 
* [[Hoover Dam]]
 
* [[Hoover Dam]]
 +
* [[Horror (WAD)]]
 
* [[IC2005]]
 
* [[IC2005]]
 
* [[Icebound]]
 
* [[Icebound]]
 +
* [[Icedeath]]
 
* [[id Map01]]
 
* [[id Map01]]
 +
* [[IDDQD Arena]]
 
* [[Impossible: A New Reality]] *
 
* [[Impossible: A New Reality]] *
 +
* [[Imps-r-Us 2]]
 +
* [[The Indespensible T_DUNNxx.WAD Series - For Heretic]]
 
* [[Induction]]
 
* [[Induction]]
 +
* [[Infraworld - Coma Moonlight]]
 
* [[Infraworld - The Hatehammer]]
 
* [[Infraworld - The Hatehammer]]
 +
* [[The Inquisitor 2]]
 +
* [[The Inquisitor]]
 
* [[The Interdiction Zone]]
 
* [[The Interdiction Zone]]
 
* [[Internal Reaches 2]]
 
* [[Internal Reaches 2]]
Line 415: Line 587:
 
* [[Invasion... Level 2: The Upper Decks]]
 
* [[Invasion... Level 2: The Upper Decks]]
 
* [[Invasion: The Siege]]
 
* [[Invasion: The Siege]]
 +
* [[The Island 2]]
 +
* [[The Island]]
 
* [[Jade Earth]]
 
* [[Jade Earth]]
 +
* [[Jailbait]]
 +
* [[Joyful Raider]]
 +
* [[JStuff10]]
 +
* [[Judas23]]
 
* [[Jägermörder 1: Chemical Lab]]
 
* [[Jägermörder 1: Chemical Lab]]
 
* [[Jägermörder 2: Terra Nova]]
 
* [[Jägermörder 2: Terra Nova]]
* [[Kick Attack!]] (Doom)
+
* [[K9]]
* [[Kick Attack!]] (Doom II)
+
* [[Kat]]
 +
* [[Kick Attack!]] (Doom 1)
 +
* [[Kick Attack!]] (Doom 2)
 +
* [[Killing Zone]]
 +
* [[King1]]
 +
* [[Kobal]]
 
* [[KZDoom1]]
 
* [[KZDoom1]]
 
* [[KZDoom2]]
 
* [[KZDoom2]]
Line 430: Line 613:
 
* [[Lab]]
 
* [[Lab]]
 
* [[Lake4]]
 
* [[Lake4]]
 +
* [[Legion Down Under]]
 +
* [[Light of Day]]
 +
* [[Lighthouse]]
 +
* [[Lilium]]
 +
* [[Literal Spiral]]
 +
* [[Lullaby]]
 
* [[Magnum Opus]]
 
* [[Magnum Opus]]
 
* [[Man on the Moon]] *
 
* [[Man on the Moon]] *
Line 439: Line 628:
 
* [[Megalab]]
 
* [[Megalab]]
 
* [[Megawatt]]
 
* [[Megawatt]]
 +
* [[Mercurial City]]
 
* [[Miasma]]
 
* [[Miasma]]
 
* [[Mines of Titan]]
 
* [[Mines of Titan]]
Line 449: Line 639:
 
* [[Monster Hunter Ltd. Part I]] *
 
* [[Monster Hunter Ltd. Part I]] *
 
* [[Monster Hunter Ltd. Part II]] *
 
* [[Monster Hunter Ltd. Part II]] *
 +
* [[Moonlight]]
 
* [[Mouldy Old Void]] *
 
* [[Mouldy Old Void]] *
 +
* [[MRDM2101]]
 +
* [[MRDM217]]
 +
* [[MRDM2201]]
 +
* [[MRDM2301]]
 +
* [[MRDM2401]]
 +
* [[MRDM2601]]
 +
* [[MRDM2701]]
 +
* [[MRDM3501]]
 +
* [[MUD1ST]]
 +
* [[MUDMANOR]]
 +
* [[MUDRAM]]
 +
* [[MUDTOWN]]
 +
* [[MUDVILLE]]
 +
* [[Murder2]]
 +
* [[Nameless]] *
 
* [[Neith]]
 
* [[Neith]]
 +
* [[The Nest (Rocket Jones Vol. I)]]
 +
* [[NGS1]]
 
* [[Nickel Electroplate Facility]]
 
* [[Nickel Electroplate Facility]]
 
* [[Nightfall]]
 
* [[Nightfall]]
 +
* [[Nightlife]]
 
* [[No Chance]]
 
* [[No Chance]]
 +
* [[No Rest For The Wicked]]
 
* [[Nostromo's Run]]
 
* [[Nostromo's Run]]
 +
* [[Nosun]]
 +
* [[Nosun2]]
 +
* [[Nosun3]]
 +
* [[Nosun4]]
 +
* [[Nosun5]]
 
* [[Not Another E1 Wad]]
 
* [[Not Another E1 Wad]]
 
* [[Not Another E3 Wad]]
 
* [[Not Another E3 Wad]]
 
* [[Null Space]]
 
* [[Null Space]]
 +
* [[Number One Kill Extra]]
 +
* [[Object "32"]]
 +
* [[Object "34": Sonar]] *
 
* [[Odessa 1]]
 
* [[Odessa 1]]
 
* [[Odessa 11]]
 
* [[Odessa 11]]
Line 468: Line 686:
 
* [[Odessa 7]]
 
* [[Odessa 7]]
 
* [[Odessa 9]]
 
* [[Odessa 9]]
 +
* [[Ogre Labs]]
 
* [[Ogro Power Facility]]
 
* [[Ogro Power Facility]]
 +
* [[Okuplok Slaughter Map]]
 
* [[Omelet Face]]
 
* [[Omelet Face]]
 
* [[Oniria]] *
 
* [[Oniria]] *
 
* [[Oniria 2]]
 
* [[Oniria 2]]
 +
* [[Operation Overlord]]
 
* [[Origwad]]
 
* [[Origwad]]
 
* [[Otakon]]
 
* [[Otakon]]
 
* [[The Outer Darkness]]
 
* [[The Outer Darkness]]
 
* [[Outpost 21]]
 
* [[Outpost 21]]
 +
* [[Overlord]]
 
* [[Painful Evil]]
 
* [[Painful Evil]]
 
* [[Palladium Electroplate Facility]]
 
* [[Palladium Electroplate Facility]]
Line 481: Line 703:
 
* [[Pazuzu]]
 
* [[Pazuzu]]
 
* [[Phobos Mission Control]]
 
* [[Phobos Mission Control]]
 +
* [[Phobos1]]
 +
* [[Phocas Island]]
 +
* [[Pinnacle of Darkness]]
 
* [[Pitchfork]]
 
* [[Pitchfork]]
 +
* [[PJS01]]
 
* [[Planisphere]]
 
* [[Planisphere]]
 
* [[Planisphere 2]]
 
* [[Planisphere 2]]
Line 488: Line 714:
 
* [[Port Glacia]]
 
* [[Port Glacia]]
 
* [[Punisher]]
 
* [[Punisher]]
* [[Put Up Your Dukes!]]
+
* [[Put Up Your Dukes!]] *
 
* [[Putrefier]]
 
* [[Putrefier]]
 
* [[Quick Is Good]]
 
* [[Quick Is Good]]
 +
* [[The Quirky Domain]]
 +
* [[Rabid]]
 +
* [[Raygun]]
 
* [[RCK]]
 
* [[RCK]]
 
* [[RCK2]]
 
* [[RCK2]]
 +
* [[Reactor2]]
 
* [[Realm of the Green Soul]]
 
* [[Realm of the Green Soul]]
 
* [[Recant]]
 
* [[Recant]]
Line 502: Line 732:
 
* [[Remnant]] *
 
* [[Remnant]] *
 
* [[Return of The Order]] *
 
* [[Return of The Order]] *
 +
* [[Rienzi]]
 +
* [[Riker11]]
 
* [[RRW_D201]]
 
* [[RRW_D201]]
 
* [[RRWARD01]]
 
* [[RRWARD01]]
Line 507: Line 739:
 
* [[RRWARD03]]
 
* [[RRWARD03]]
 
* [[RRWARD04]]
 
* [[RRWARD04]]
 +
* [[RS Oozi]]
 
* [[Rule the World!]]
 
* [[Rule the World!]]
 
* [[Ruma]]
 
* [[Ruma]]
 
* [[Run Buddy]]
 
* [[Run Buddy]]
 +
* [[Runaway]]
 
* [[Runaway Train]]
 
* [[Runaway Train]]
 
* [[Sacrifice (Doom Tutorial)]]
 
* [[Sacrifice (Doom Tutorial)]]
 
* [[Sapidus]]
 
* [[Sapidus]]
 
* [[Saturnine Chapel]]
 
* [[Saturnine Chapel]]
 +
* [[Scarves]]
 +
* [[Screams from the Slipgate Station]] *
 
* [[Seej]]
 
* [[Seej]]
 +
* [[Selfdead]]
 
* [[Sequel to Quick Is Good]]
 
* [[Sequel to Quick Is Good]]
 
* [[Serenity III - Map 11]]
 
* [[Serenity III - Map 11]]
 +
* [[The Sewage Works]]
 
* [[Sharp Things]]
 
* [[Sharp Things]]
 
* [[Sheer Poison]]
 
* [[Sheer Poison]]
Line 523: Line 761:
 
* [[Sin City]]
 
* [[Sin City]]
 
* [[Sinferno]]
 
* [[Sinferno]]
 +
* [[Six Areas]]
 
* [[Skull]]
 
* [[Skull]]
 +
* [[Skycity]]
 +
* [[Snipe99]]
 
* [[Soldier of Fortune]]
 
* [[Soldier of Fortune]]
 
* [[Songs of the Damned]]
 
* [[Songs of the Damned]]
 
* [[Soundless Mound]]
 
* [[Soundless Mound]]
 +
* [[Space (1994 WAD)]]
 
* [[Space Station Omega]]
 
* [[Space Station Omega]]
* [[Spidersilk]]
+
* [[Spaced]]
 +
* [[Spidersilk]] *
 +
* [[Spiral]]
 +
* [[Spiral (Kurt Schulenburg WAD)]]
 +
* [[Sports]]
 
* [[SQUARES]]
 
* [[SQUARES]]
 
* [[Squid]]
 
* [[Squid]]
 
* [[Squid 2]]
 
* [[Squid 2]]
 +
* [[SSL2]]
 +
* [[Steep Town]]
 
* [[Still Kickin']]
 
* [[Still Kickin']]
 
* [[STONES.WAD]]
 
* [[STONES.WAD]]
 
* [[Supernaught]]
 
* [[Supernaught]]
 +
* [[Suppression of Resistance]]
 +
* [[Surmont]]
 
* [[Surrounded!]]
 
* [[Surrounded!]]
 
* [[Talpoida]]
 
* [[Talpoida]]
 
* [[Tantrum]]
 
* [[Tantrum]]
 
* [[Tantrum 2]]
 
* [[Tantrum 2]]
 +
* [[Tartarus]]
 
* [[Tech Gone Bad]]
 
* [[Tech Gone Bad]]
 +
* [[Technicolor Antichrist Box]]
 
* [[TEKRKBRN]]
 
* [[TEKRKBRN]]
 
* [[Temple of Chaos 2 - Warped Reality]] *
 
* [[Temple of Chaos 2 - Warped Reality]] *
 +
* [[Temple11]]
 +
* [[Testing Pool]]
 +
* [[Theatre of Doom]]
 
* [[Their Selfish Realms]]
 
* [[Their Selfish Realms]]
 +
* [[Thelast]]
 
* [[Thematic Elements]]
 
* [[Thematic Elements]]
 
* [[Time Parallax - The Burial Vault]]
 
* [[Time Parallax - The Burial Vault]]
 
* [[The Titan Anomaly]]
 
* [[The Titan Anomaly]]
 +
* [[TMP]]
 +
* [[Torture!]]
 
* [[Total Control]]
 
* [[Total Control]]
 
* [[Town Of Witchcraft]]
 
* [[Town Of Witchcraft]]
 
* [[ToxicHole]]
 
* [[ToxicHole]]
 +
* [[Tree1]]
 +
* [[Tree2]]
 
* [[Tremor]]
 
* [[Tremor]]
 
* [[Triad Experimental Corporation]]
 
* [[Triad Experimental Corporation]]
Line 555: Line 815:
 
* [[Trydent]]
 
* [[Trydent]]
 
* [[UAC Invasion: The Supply Depot]] *
 
* [[UAC Invasion: The Supply Depot]] *
 +
* [[UACPEN]]
 
* [[UCA]]
 
* [[UCA]]
 
* [[Umbra of Fate]]
 
* [[Umbra of Fate]]
 
* [[Under Neith]]
 
* [[Under Neith]]
 +
* [[The Underground Rats]]
 +
* [[Undersea]]
 +
* [[Unhallowed]]
 
* [[The Unholy Trinity]]
 
* [[The Unholy Trinity]]
 
* [[Untitled]]
 
* [[Untitled]]
 
* [[Untitled 2]]
 
* [[Untitled 2]]
 +
* [[Urbnbeta]]
 
* [[Valhalla]]
 
* [[Valhalla]]
 +
* [[Vanilla Doom Actions]]
 +
* [[Vanilla Sky]]
 +
* [[Vaporware]] *
 +
* [[Vega_1]]
 
* [[Vengeance: SkyBase Sirius IV]]
 
* [[Vengeance: SkyBase Sirius IV]]
 
* [[Venom]]
 
* [[Venom]]
 
* [[Verdant Citadel]]
 
* [[Verdant Citadel]]
 
* [[Void]] *
 
* [[Void]] *
* [[Void and Rainbow]]
+
* [[Void and Rainbow]] *
 
* [[Vrack]]
 
* [[Vrack]]
 
* [[Vrack 2]]
 
* [[Vrack 2]]
 
* [[Vrack 3]]
 
* [[Vrack 3]]
 
* [[The Wailing Horde]]
 
* [[The Wailing Horde]]
 +
* [[Walls]]
 
* [[The Warlock's Hearth]]
 
* [[The Warlock's Hearth]]
* [[Warphouse]]
+
* [[Warphouse]] *
 +
* [[Warren]]
 
* [[Wasteland: Dead Base]]
 
* [[Wasteland: Dead Base]]
 
* [[Wasteland: Mountain of Fire]]
 
* [[Wasteland: Mountain of Fire]]
Line 578: Line 849:
 
* [[Wasteme]]
 
* [[Wasteme]]
 
* [[The Waterfront]]
 
* [[The Waterfront]]
* [[Waterlab GZD]]
+
* [[Waterlab GZD]] *
 +
* [[Wedge]]
 
* [[A World in Strife: Raiding the Dam]]
 
* [[A World in Strife: Raiding the Dam]]
 +
* [[World Orifice]]
 
* [[Wow]]
 
* [[Wow]]
 
* [[Xenomorph: The complex]]
 
* [[Xenomorph: The complex]]
Line 589: Line 862:
 
* [[The ZDoom Community Map Project "Take 2"]]
 
* [[The ZDoom Community Map Project "Take 2"]]
 
* [[Zeus]]
 
* [[Zeus]]
 +
* [[Ziggurat]]
 
* [[Zort 1]]
 
* [[Zort 1]]
 
* [[Zort 2]]
 
* [[Zort 2]]
Line 605: Line 879:
 
* [[1 Monster]] (25)
 
* [[1 Monster]] (25)
 
* [[10 Sectors]] (32)
 
* [[10 Sectors]] (32)
 +
* [[10 Sectors Part 2]] (32)
 +
* [[1000 Line Community Project]] (34)
 +
* [[1000 Lines 2 - Community Project]] (34)
 +
* [[1000 Lines 3: Community Project]] (34) *
 +
* [[100LineN]] (32)
 +
* [[100LineT]] (32)
 +
* [[180 Minutes Pour Vivre]] (33) *
 
* [[1994 Tune-up Community Project]] (32)
 
* [[1994 Tune-up Community Project]] (32)
 
* [[2 Sectors]] (17)
 
* [[2 Sectors]] (17)
Line 614: Line 895:
 
* [[3 heures d'agonie 3]] (32) *
 
* [[3 heures d'agonie 3]] (32) *
 
* [[32 in 24]] (32)
 
* [[32 in 24]] (32)
 +
* [[32 Inch Nails]] (7) *
 
* [[32in24 II: Single Player]] (19)
 
* [[32in24 II: Single Player]] (19)
 
* [[32in24 III: DUEL CORE]] (32)
 
* [[32in24 III: DUEL CORE]] (32)
Line 630: Line 912:
 
* [[32in24-8: DWANGO2008]] (33)
 
* [[32in24-8: DWANGO2008]] (33)
 
* [[32in24-9: Return of DUEL CORE]] (45)
 
* [[32in24-9: Return of DUEL CORE]] (45)
 +
* [[4 seasons of DOOM]] (4) *
 +
* [[5 Years]] (3)
 
* [[50 Monsters]] (34) *
 
* [[50 Monsters]] (34) *
 
* [[50 Shades of Graytall]] (18)
 
* [[50 Shades of Graytall]] (18)
 
* [[99 Ways to Die]] (3)
 
* [[99 Ways to Die]] (3)
 
* [[A.L.T.]] (32) *
 
* [[A.L.T.]] (32) *
 +
* [[Aarrghh!]] (4)
 +
* [[Absolute Dishonor]] (8)
 
* [[Absolutely Killed]] (9)
 
* [[Absolutely Killed]] (9)
 
* [[The Abyss]] (24)
 
* [[The Abyss]] (24)
 +
* [[The Adventures of MassMouth]] (10)
 +
* [[Aeternum]] (3)
 +
* [[Akeldama]] (32)
 +
* [[The Alfonzone]] (50) *
 
* [[Alien Vendetta]] (35)
 
* [[Alien Vendetta]] (35)
 +
* [[Alienated]] (10) *
 
* [[Aliens TC]] (11)
 
* [[Aliens TC]] (11)
 
* [[All Apologies]] (2)
 
* [[All Apologies]] (2)
 
* [[All Hell is Breaking Loose]] (5) *
 
* [[All Hell is Breaking Loose]] (5) *
 
* [[Aloha999]] (8)
 
* [[Aloha999]] (8)
 +
* [[Alpha 1 Trilogy]] (3)
 +
* [[Alpha Accident: Terra Nova]] (9) *
 
* [[Alternate DOOM II]] (11)
 
* [[Alternate DOOM II]] (11)
 
* [[Ancient Aliens]] (32) *
 
* [[Ancient Aliens]] (32) *
 +
* [[Antaresian Reliquary]] (8) *
 +
* [[The Apocalypse Project]] (9)
 +
* [[Arceon]] (6)
 +
* [[Archi-TEK]] (3)
 +
* [[Area 51]] (2) *
 
* [[Army of Darkness TC]] (10) *
 
* [[Army of Darkness TC]] (10) *
 +
* [[Arrival]] (11)
 
* [[Artica]] (2)
 
* [[Artica]] (2)
 
* [[The Artifact (WAD)]] (3)
 
* [[The Artifact (WAD)]] (3)
 
* [[ASDoom]] (9)
 
* [[ASDoom]] (9)
 
* [[ASDOOMII: The Final Countdown]] (8)
 
* [[ASDOOMII: The Final Countdown]] (8)
 +
* [[Ashes 2063]] (15)
 +
* [[Atmospheric Extinction]] (10)
 +
* [[Attack on IO]] (7)
 
* [[Austerity: A Simplicity Tribute]] (3)
 
* [[Austerity: A Simplicity Tribute]] (3)
 
* [[Avactor: End of the Fifth Circle]] (12) *
 
* [[Avactor: End of the Fifth Circle]] (12) *
 +
* [[Back to Basics]] (9)
 
* [[Back to Hell]] (9)
 
* [[Back to Hell]] (9)
 
* [[Back to Saturn X]] E1 (27)
 
* [[Back to Saturn X]] E1 (27)
 
* [[Back to Saturn X]] E2 (27)
 
* [[Back to Saturn X]] E2 (27)
 +
* [[Baculus]] (32)
 
* [[Base Ganymede]] (27)
 
* [[Base Ganymede]] (27)
 +
* [[Batman Doom]] (32) *
 +
* [[Bauhaus]] (4)
 +
* [[The Beginning of the End (part 1)]] (18)
 
* [[Bella II]] (43) *
 
* [[Bella II]] (43) *
 +
* [[Beyond Doom: The Apocalypse]] (20)
 +
* [[Beyond Reality]] (22)
 +
* [[Beyond Revival]] (7)
 
* [[BF THUD!]] (29)
 
* [[BF THUD!]] (29)
 +
* [[BGPA Missions: Liberation]] (5)
 +
* [[BioTech]] (8) *
 +
* [[Bloodlands]] (32)
 +
* [[BloodRust]] (11)
 +
* [[Bloodspeed]] (33)
 
* [[Bloodstain]] (32) *
 
* [[Bloodstain]] (32) *
 +
* [[Bloody Steel]] (9)
 
* [[BOBKDV2]] (9)
 
* [[BOBKDV2]] (9)
 +
* [[Boomtown]] (32)
 
* [[Boothill]] (4)
 
* [[Boothill]] (4)
 
* [[The Brotherhood of Ruin]] (7)
 
* [[The Brotherhood of Ruin]] (7)
Line 664: Line 981:
 
* [[Caverns of Darkness]] (12)
 
* [[Caverns of Darkness]] (12)
 
* [[CH Retro Episode]] (9)
 
* [[CH Retro Episode]] (9)
 +
* [[Cheogsh 2]] (7)
 +
* [[City of Doom]] (11)
 
* [[The Classic Episode, Part 2]] (9)
 
* [[The Classic Episode, Part 2]] (9)
 
* [[The Classic Episode]] (9)
 
* [[The Classic Episode]] (9)
Line 670: Line 989:
 
* [[Cleimos]] (9)
 
* [[Cleimos]] (9)
 
* [[Cleimos 2]] (32)
 
* [[Cleimos 2]] (32)
 +
* [[Combat Shock]] (4)
 +
* [[Combat Shock 2]] (7)
 
* [[Community Chest]] (32)
 
* [[Community Chest]] (32)
 
* [[Community Chest 2]] (32)
 
* [[Community Chest 2]] (32)
 
* [[Community Chest 3]] (32)
 
* [[Community Chest 3]] (32)
 
* [[Community Chest 4]] (33)
 
* [[Community Chest 4]] (33)
 +
* [[The Community Is Falling 2]] (6) *
 +
* [[Community Is Falling 3]] (35)
 +
* [[ConC.E.R.Ned]] (27)
 
* [[Congestion 1024]] (32)
 
* [[Congestion 1024]] (32)
 
* [[Counterattack]] (7) *
 
* [[Counterattack]] (7) *
Line 680: Line 1,004:
 
* [[Crumpets]] (9)
 
* [[Crumpets]] (9)
 
* [[Crusades]] (9)
 
* [[Crusades]] (9)
* [[Curse of D'Sparil]] (9)
+
* [[Curse of D'Sparil]] (10)
 +
* [[Cyberdreams]] (32)
 +
* [[Cygnus IV]] (14)
 +
* [[Czechbox]] (32)
 +
* [[Da Will]] (10)
 
* [[Daedalus: Alien Defense]] (31)
 
* [[Daedalus: Alien Defense]] (31)
 +
* [[Damnation]] (32)
 
* [[Dark 7]] (7)
 
* [[Dark 7]] (7)
 
* [[Dark 7 Mission Pack]] (7)
 
* [[Dark 7 Mission Pack]] (7)
 
* [[Dark Covenant]] (12)
 
* [[Dark Covenant]] (12)
 
* [[Dark Hell]] (9)
 
* [[Dark Hell]] (9)
 +
* [[Dark Resolution 2008]] (11)
 +
* [[Dark Tartarus]] (43) *
 +
* [[Dark Tartarus]] (1) *
 
* [[Dark Universe]] (6) *
 
* [[Dark Universe]] (6) *
 
* [[The Darkening Episode 2]] (12)
 
* [[The Darkening Episode 2]] (12)
 
* [[The Darkening]] (11)
 
* [[The Darkening]] (11)
 +
* [[The Darkest Hour]] (7) *
 
* [[Dawn of the Dead]] (8)
 
* [[Dawn of the Dead]] (8)
 +
* [[DBP01: Monuments of Mars]] (7)
 +
* [[DBP23: Evil Egypt]] (12)
 +
* [[DBP37: AUGER;ZENITH]] (22) *
 +
* [[Dead In 60 Seconds]] (5)
 +
* [[Deadly Standards]] (9)
 +
* [[Deadly Standards 2]] (9)
 +
* [[Deadly Standards 3]] (9)
 
* [[Death Tormention 3]] (10) *
 
* [[Death Tormention 3]] (10) *
 +
* [[Death's Dichotomy]] (6) *
 +
* [[Deathless]] (36)
 
* [[Debut]] (9)
 
* [[Debut]] (9)
 +
* [[Deimos (1994 WAD)]] (2)
 +
* [[Demon Eclipse]] (12) *
 
* [[Demonfear]] (32)
 
* [[Demonfear]] (32)
 +
* [[Demonic Deviation]] (11)
 +
* [[DemoniZed]] (2)
 +
* [[Demons of Problematique]] (5) *
 +
* [[Demons of Problematique 2]] (4)
 +
* [[Desolation]] (12)
 
* [[Deus Vult]] (5)
 
* [[Deus Vult]] (5)
 
* [[Deus Vult II]] (13) *
 
* [[Deus Vult II]] (13) *
Line 698: Line 1,047:
 
* [[Diet 32in24]] (16)
 
* [[Diet 32in24]] (16)
 
* [[Dimension of the Boomed]] (8) *
 
* [[Dimension of the Boomed]] (8) *
 +
* [[Dimensions]] (5)
 
* [[Dinner]] (9)
 
* [[Dinner]] (9)
 +
* [[Disjunction]] (11)
 
* [[Disrepair]] (10)
 
* [[Disrepair]] (10)
 +
* [[Doom 2 Extreme Gold]] (32) *
 
* [[Doom 2 In Name Only]] (33)
 
* [[Doom 2 In Name Only]] (33)
 
* [[Doom 2 Reloaded]] (32)
 
* [[Doom 2 Reloaded]] (32)
 
* [[Doom 2 the Way id Did]] (33) *
 
* [[Doom 2 the Way id Did]] (33) *
 
* [[Doom 2 Unleashed]] (40)
 
* [[Doom 2 Unleashed]] (40)
 +
* [[Doom 404]] (32)
 +
* [[Doom 64]] (40)
 +
* [[Doom 64 for Doom II]] (33) *
 +
* [[Doom Arcade]] (4) *
 
* [[Doom Core]] (32)
 
* [[Doom Core]] (32)
 
* [[Doom II]] (32)
 
* [[Doom II]] (32)
 +
* [[Doom II X-Treme]] (32) *
 +
* [[Doom II: 25 Years on Earth]] (32)
 +
* [[Doom Resurrection (WAD)]] (5)
 
* [[Doom the Way id Did]] (27)
 
* [[Doom the Way id Did]] (27)
 
* [[Doom the Way id Did: The Lost Episodes]] (55)
 
* [[Doom the Way id Did: The Lost Episodes]] (55)
 +
* [[Doom Zero]] (32) *
 +
* [[Doom: Damnation]] (36)
 +
* [[Doom: The Golden Souls]] (26)
 +
* [[Doom: The Golden Souls 2]] (50)
 
* [[Doom: The Lost Episode]] (9)
 
* [[Doom: The Lost Episode]] (9)
 +
* [[Doomed Space Wars]] (12)
 
* [[Doomworld Mega Project 2012]] (40)
 
* [[Doomworld Mega Project 2012]] (40)
 
* [[Doomworld Mega Project 2013]] (54) *
 
* [[Doomworld Mega Project 2013]] (54) *
Line 715: Line 1,079:
 
* [[Doomworld Mega Project 2016]] (50)
 
* [[Doomworld Mega Project 2016]] (50)
 
* [[Doomworld Mega Project 2017]] (52)
 
* [[Doomworld Mega Project 2017]] (52)
 +
* [[Doomworld Mega Project 2018]] (14)
 +
* [[Doomworld Mega Project 2018]] (18)
 +
* [[Doomworld Mega Project 2020]] (5) *
 
* [[Double Impact]] (9)
 
* [[Double Impact]] (9)
 +
* [[DsDoom 3]] (32) *
 +
* [[DUMP Episode 1: Fuck Time Limits]] (17) *
 
* [[Dystopia 3]] (11)
 
* [[Dystopia 3]] (11)
 
* [[E1 Contest]] (15)
 
* [[E1 Contest]] (15)
 +
* [[E2GC]] (2)
 
* [[Earth (WAD)]] (10)
 
* [[Earth (WAD)]] (10)
 +
* [[Echelon]] (30) *
 +
* [[Egypt]] (9)
 +
* [[Egyptian Doom]] (6) *
 
* [[Elements]] (5)
 
* [[Elements]] (5)
 
* [[Elf Gets Pissed]] (9) *
 
* [[Elf Gets Pissed]] (9) *
 
* [[End Game]] (8)
 
* [[End Game]] (8)
 
* [[The Enigma Episode]] (9)
 
* [[The Enigma Episode]] (9)
 +
* [[Enslavement]] (11) *
 
* [[Epic]] (5)
 
* [[Epic]] (5)
 
* [[Epic 2]] (32)
 
* [[Epic 2]] (32)
 
* [[Equinox]] (13)
 
* [[Equinox]] (13)
 
* [[Erkattäññe]] (11)
 
* [[Erkattäññe]] (11)
 +
* [[Escape From Natas]] (2)
 +
* [[Escape From Phobos]] (3)
 +
* [[Estranged]] (32)
 
* [[ESW2]] (10)
 
* [[ESW2]] (10)
 +
* [[Eternal Deathmatch Set]] (19)
 
* [[Eternal Doom]] (34)
 
* [[Eternal Doom]] (34)
 +
* [[Eternal Doom IV: Return from Oblivion]] (7)
 
* [[Eternally Yours]] (12)
 
* [[Eternally Yours]] (12)
 
* [[Eternity (WAD)]] (8)
 
* [[Eternity (WAD)]] (8)
 +
* [[The Event Horizon]] (3) *
 
* [[The Evil Unleashed]] (9)
 
* [[The Evil Unleashed]] (9)
 
* [[Eviternity]] (32) *
 
* [[Eviternity]] (32) *
 +
* [[Exomoon]] (23) *
 +
* [[Extremal Doom]] (27)
 
* [[Eye of the Beholder]] (9) *
 
* [[Eye of the Beholder]] (9) *
 
* [[Eye of the Beholder II]] (7)
 
* [[Eye of the Beholder II]] (7)
 +
* [[Ezekiel]] (9)
 
* [[Fava Beans]] (9)
 
* [[Fava Beans]] (9)
 +
* [[Final Doom (PlayStation)]] (30)
 
* [[The Final Gathering]] (5)
 
* [[The Final Gathering]] (5)
 +
* [[Finely Crafted Fetish Film]] (7) *
 
* [[A Fistful of Doom]] (2)
 
* [[A Fistful of Doom]] (2)
 
* [[For Whom the Bell Tolls]] (2)
 
* [[For Whom the Bell Tolls]] (2)
 
* [[Forest Valley]] (5)
 
* [[Forest Valley]] (5)
 +
* [[Fracture]] (5)
 +
* [[Fragport]] (32) *
 
* [[Full On]] (5)
 
* [[Full On]] (5)
 
* [[Galaxia]] (2)
 
* [[Galaxia]] (2)
 
* [[Genesis (WAD)]] (2)
 
* [[Genesis (WAD)]] (2)
 +
* [[Genesis of Descent]] (2)
 
* [[Going Down]] (32) *
 
* [[Going Down]] (32) *
 +
* [[Good Morning Phobos]] (33)
 +
* [[Gothic 99]] (8)
 +
* [[GothicDM]] (32)
 +
* [[GothicDM 2]] (32)
 +
* [[Gravity]] (2)
 
* [[The Green Machine]] (12)
 
* [[The Green Machine]] (12)
 +
* [[Grid 32]] (6) *
 +
* [[Grievance]] (32)
 +
* [[Gulag]] (5)
 
* [[H2H-Xmas]] (32)
 
* [[H2H-Xmas]] (32)
 +
* [[Hacx]] (21) *
 
* [[Hadephobia]] (35)
 
* [[Hadephobia]] (35)
 
* [[Harmony]] (11)
 
* [[Harmony]] (11)
 +
* [[Heartland]] (8) *
 +
* [[Hell Factory]] (4) *
 
* [[Hell Ground]] (7) *
 
* [[Hell Ground]] (7) *
 +
* [[Hell in Hell]] (32)
 
* [[Hell Revealed]] (32)
 
* [[Hell Revealed]] (32)
 
* [[Hell Revealed II]] (32)
 
* [[Hell Revealed II]] (32)
Line 756: Line 1,156:
 
* [[Hellcore]] (32)
 
* [[Hellcore]] (32)
 
* [[Hellcore 2.0]] (12)
 
* [[Hellcore 2.0]] (12)
 +
* [[Hellfire]] (15)
 +
* [[Hellfire 2]] (7)
 +
* [[Hellfire III]] (9)
 +
* [[Hellfire: Dreams]] (12) *
 +
* [[Hellfire: Reborn]] (7) *
 
* [[Heretic]] (48)
 
* [[Heretic]] (48)
 
* [[Heretic Treasure Chest]] (27)
 
* [[Heretic Treasure Chest]] (27)
 +
* [[Heretic Upstart Mapping Project]] (17)
 
* [[Herian 2]] (32)
 
* [[Herian 2]] (32)
 
* [[Heroes]] (36)
 
* [[Heroes]] (36)
Line 764: Line 1,170:
 
* [[Hexen: Deathkings of the Dark Citadel]] (26)
 
* [[Hexen: Deathkings of the Dark Citadel]] (26)
 
* [[Hi-Tech Hell 2 - Alien Tech]] (7)
 
* [[Hi-Tech Hell 2 - Alien Tech]] (7)
 +
* [[HUMP mini]] (14)
 
* [[HYMN: A Heretic Community Project]] (9)
 
* [[HYMN: A Heretic Community Project]] (9)
 
* [[Icarus: Alien Vanguard]] (32)
 
* [[Icarus: Alien Vanguard]] (32)
 
* [[Infected Area]] (7)
 
* [[Infected Area]] (7)
 +
* [[Infested]] (3)
 
* [[Infinity]] (8)
 
* [[Infinity]] (8)
 +
* [[Inflation Bay]] (2) *
 +
* [[Insertion]] (11)
 
* [[Interception]] (32)
 
* [[Interception]] (32)
 +
* [[Interception II]] (31) *
 +
* [[Intergalactic Xenology]] (5)
 +
* [[Intergalactic Xenology 2]] (5) *
 
* [[The Invaders]] (6)
 
* [[The Invaders]] (6)
 +
* [[Invasion II]] (32)
 +
* [[The Invasion]] (36) *
 +
* [[Istanbul]] (4)
 +
* [[Italian DooM - Episodio 1]] (8) *
 +
* [[Italo-Doom]] (20)
 
* [[Japanese Community Project]] (32)
 
* [[Japanese Community Project]] (32)
 
* [[Jenesis]] (34) *
 
* [[Jenesis]] (34) *
Line 775: Line 1,193:
 
* [[Kansam's Trial]] (9)
 
* [[Kansam's Trial]] (9)
 
* [[Khorus (WAD)]] (9)
 
* [[Khorus (WAD)]] (9)
 +
* [[Khorus' Speedy Shit]] (32)
 +
* [[Kickin]] (3)
 
* [[Kill! Zone]] (7)
 
* [[Kill! Zone]] (7)
 
* [[Kill! Zone II]] (7)
 
* [[Kill! Zone II]] (7)
 
* [[Knee-Deep in ZDoom]] (10)
 
* [[Knee-Deep in ZDoom]] (10)
 +
* [[Kobal 2]] (2)
 +
* [[Kuchitsu]] (6) *
 +
* [[Last Day on Earth]] (11)
 
* [[Legacy of Heroes]] (10) *
 
* [[Legacy of Heroes]] (10) *
* [[Lilith]] (11)
+
* [[Lilith]] (11) *
 +
* [[Literalism]] (26)
 
* [[Lord of the Flies]] (9) *
 
* [[Lord of the Flies]] (9) *
 +
* [[Lost Civilization]] (21)
 
* [[The Lost Episodes of Doom]] (24)
 
* [[The Lost Episodes of Doom]] (24)
 +
* [[The Lost Levels]] (7)
 +
* [[Lunar Catastrophe]] (36)
 
* [[Lunatic]] (5) *
 
* [[Lunatic]] (5) *
 
* [[Magnolia]] (3) *
 
* [[Magnolia]] (3) *
 +
* [[Mandrill Ass Project]] (9)
 
* [[Mano Laikas]] (32)
 
* [[Mano Laikas]] (32)
 +
* [[Mapgame]] (9) *
 +
* [[The Mapwich 2: The Mapwichening]] (22)
 +
* [[The Mapwich]] (16)
 
* [[Mars War]] (32)
 
* [[Mars War]] (32)
 
* [[Maskim Xul]] (3) *
 
* [[Maskim Xul]] (3) *
 +
* [[Mass Extinction]] (32)
 +
* [[MassMouth 2]] (17)
 +
* [[Massmouthmas]] (3)
 
* [[Master Levels for Doom II]] (21)
 
* [[Master Levels for Doom II]] (21)
 +
* [[Masters of Chaos]] (31) *
 
* [[Mayan Mishap]] (5) *
 
* [[Mayan Mishap]] (5) *
 
* [[MAYhem 1500]] (34)
 
* [[MAYhem 1500]] (34)
Line 795: Line 1,230:
 
* [[MAYhem 2018]] (42) *
 
* [[MAYhem 2018]] (42) *
 
* [[MAYhem 2019]] (19) *
 
* [[MAYhem 2019]] (19) *
 +
* [[MAYhem 2020]] (48)
 
* [[MAYhem 2048]] (35)
 
* [[MAYhem 2048]] (35)
 +
* [[Mayhem Mansion]] (7)
 
* [[Memento Mori]] (32)
 
* [[Memento Mori]] (32)
 
* [[Memento Mori II]] (34)
 
* [[Memento Mori II]] (34)
 +
* [[Micro Slaughter Community Project]] (17)
 
* [[Mock 2: The Speed of Stupid]] (41)
 
* [[Mock 2: The Speed of Stupid]] (41)
 +
* [[Moonblood]] (32) *
 +
* [[Mordeth]] (6)
 +
* [[Motornerve]] (21)
 +
* [[Mutabor]] (2) *
 
* [[Mutiny]] (16)
 
* [[Mutiny]] (16)
 +
* [[Mystery of Tyskie Islands]] (10)
 +
* [[Nanopineapple 2018]] (32)
 +
* [[NeoDoom]] (32)
 
* [[Newdoom Community Project]] (32)
 
* [[Newdoom Community Project]] (32)
 
* [[NewDoom Community Project II]] (32) *
 
* [[NewDoom Community Project II]] (32) *
 +
* [[Nilla Doom]] (7)
 
* [[NJ Doom]] (27)
 
* [[NJ Doom]] (27)
 
* [[NJ Doom2]] (30)
 
* [[NJ Doom2]] (30)
Line 811: Line 1,257:
 
* [[NOVA: The Birth]] (32)
 
* [[NOVA: The Birth]] (32)
 
* [[Nuke Mine]] (9)
 
* [[Nuke Mine]] (9)
 +
* [[Number One Kill]] (9)
 +
* [[Number One Kill The Next Generation]] (22)
 
* [[Obituary]] (17) *
 
* [[Obituary]] (17) *
 +
* [[Oceanside]] (4)
 
* [[Odyssey]] (5)
 
* [[Odyssey]] (5)
 
* [[Operation: Biowar]] (19)
 
* [[Operation: Biowar]] (19)
 
* [[Oracle...]] (2)
 
* [[Oracle...]] (2)
 +
* [[Orpheus' Descent Into Hell]] (3)
 
* [[Osiris]] (8) *
 
* [[Osiris]] (8) *
 +
* [[Ozonia]] (32) *
 +
* [[Paradise]] (7)
 
* [[Perdition's Gate]] (32)
 
* [[Perdition's Gate]] (32)
 
* [[Pesha]] (3)
 
* [[Pesha]] (3)
Line 824: Line 1,276:
 
* [[Phobos: Relive the Nightmare]] (9)
 
* [[Phobos: Relive the Nightmare]] (9)
 
* [[PhobosDeimos Anomaly]] (12)
 
* [[PhobosDeimos Anomaly]] (12)
 +
* [[Phocas Island 2]] (6)
 +
* [[Pieklo]] (2)
 +
* [[Pirate Doom]] (19)
 +
* [[Pleiades]] (11)
 +
* [[Plutonia 1024: The Plutinya Experiment]] (33)
 
* [[Plutonia 2]] (33)
 
* [[Plutonia 2]] (33)
 +
* [[Plutonia 4: Back to Your Hole]] (32)
 +
* [[Plutonia 7: Going to the Hell]] (32)
 
* [[The Plutonia Experiment]] (32)
 
* [[The Plutonia Experiment]] (32)
 
* [[Plutonia: Revisited Community Project]] (32)
 
* [[Plutonia: Revisited Community Project]] (32)
Line 830: Line 1,289:
 
* [[Preacher]] (10) *
 
* [[Preacher]] (10) *
 
* [[Project - Kate]] (3) *
 
* [[Project - Kate]] (3) *
 +
* [[Project Space]] (23)
 +
* [[Pursuit]] (32)
 
* [[Rage Doom]] (19)
 
* [[Rage Doom]] (19)
 
* [[Raven series]] (11)
 
* [[Raven series]] (11)
 +
* [[Ray Mohawk 2: Ray Wreaks Havoc!]] (22) *
 +
* [[Ray Mohawk's Manic Monday!]] (6)
 
* [[Realm of Chaos]] (32)
 
* [[Realm of Chaos]] (32)
 +
* [[Realm of Cheogsh]] (3)
 
* [[The Realm of Parthoris]] (10)
 
* [[The Realm of Parthoris]] (10)
 
* [[The Rebirth]] (32) *
 
* [[The Rebirth]] (32) *
 +
* [[Reclamation]] (32)
 +
* [[Reelism]] (18)
 +
* [[Refracted Reality]] (15) *
 +
* [[REKKR]] (45) *
 +
* [[Remain 1]] (11)
 +
* [[Remain 3]] (13)
 
* [[Requiem]] (32)
 
* [[Requiem]] (32)
 
* [[Resurgence]] (32) *
 
* [[Resurgence]] (32) *
* [[Return to Hadron]] (18)
+
* [[Return of the Triad]] (11)
 +
* [[Return to Hadron]] (27)
 
* [[Return to Phobos]] (9)
 
* [[Return to Phobos]] (9)
 
* [[Reverie]] (32)
 
* [[Reverie]] (32)
 
* [[Revolution!]] (33)
 
* [[Revolution!]] (33)
 +
* [[Rip It, Tear It, Smash It]] (2)
 +
* [[Robocop Doom]] (17)
 +
* [[Rowdy Rudy II: POWERTRIP]] (22) *
 +
* [[Rowdy Rudy's Revenge!]] (10)
 +
* [[RTC-3057]] (7) *
 +
* [[Rush]] (13) *
 
* [[Sacrament]] (14)
 
* [[Sacrament]] (14)
 
* [[Sacrifice]] (6)
 
* [[Sacrifice]] (6)
 
* [[School Doom II]] (6) *
 
* [[School Doom II]] (6) *
 +
* [[Scientist 2]] (20) *
 +
* [[Scimitar]] (22) *
 
* [[Scythe]] (32)
 
* [[Scythe]] (32)
 
* [[Scythe 2]] (32) *
 
* [[Scythe 2]] (32) *
* [[Scythe X]] (10)
+
* [[Scythe X]] (10) *
 +
* [[Selfish Series]] (7)
 
* [[Serenity]] (8)
 
* [[Serenity]] (8)
 +
* [[Serpent: Resurrection]] (25)
 +
* [[Shadows of Chronos]] (6)
 +
* [[Shotgun Symphony]] (9)
 
* [[SIGIL]] (9)
 
* [[SIGIL]] (9)
 
* [[Sillouhettes of Phobos]] (4)
 
* [[Sillouhettes of Phobos]] (4)
 +
* [[Simplicity]] (30)
 
* [[Simply Phobos]] (10)
 
* [[Simply Phobos]] (10)
 
* [[Sin City (1995 WAD)]] (9)
 
* [[Sin City (1995 WAD)]] (9)
 +
* [[Sine Die]] (2)
 
* [[SkePLand]] (3)
 
* [[SkePLand]] (3)
 +
* [[Skulldash]] (50) *
 +
* [[Skulltiverse]] (32) *
 
* [[Skyewood]] (3)
 
* [[Skyewood]] (3)
 +
* [[The Slaughter Spectrum]] (5)
 
* [[Slaughter Until Death]] (9)
 
* [[Slaughter Until Death]] (9)
 +
* [[Slaughterfest 2011]] (32)
 +
* [[Slaughterfest 2012]] (35) *
 +
* [[Slaughterfest 3]] (35) *
 
* [[SlayeR (WAD)]] (11)
 
* [[SlayeR (WAD)]] (11)
 +
* [[Slith]] (5)
 
* [[Slugfest]] (10)
 
* [[Slugfest]] (10)
 +
* [[Sold Soul]] (9)
 
* [[Sony PlayStation]] (59)
 
* [[Sony PlayStation]] (59)
 +
* [[Space 2096: The Invasion Begins]] (6)
 
* [[Speed of Doom]] (33)
 
* [[Speed of Doom]] (33)
 +
* [[Squadron 417]] (24)
 
* [[Stardate 20X6]] (8)
 
* [[Stardate 20X6]] (8)
 
* [[Stardate 20X7]] (11) *
 
* [[Stardate 20X7]] (11) *
 +
* [[STRAIN]] (32) *
 
* [[Strife]] (34)
 
* [[Strife]] (34)
 +
* [[Strife: Absolute Order]] (6) *
 
* [[Strife: Veteran Edition]] (4)
 
* [[Strife: Veteran Edition]] (4)
 +
* [[Stronghold: On the Edge of Chaos]] (40) *
 
* [[Struggle - Antaresian Legacy]] (33)
 
* [[Struggle - Antaresian Legacy]] (33)
* [[Sunder]] (21) *
+
* [[Sunder]] (22) *
 
* [[Sunlust]] (32)
 
* [[Sunlust]] (32)
 
* [[Super MAYhem 17]] (28) *
 
* [[Super MAYhem 17]] (28) *
Line 870: Line 1,368:
 
* [[Swift Death]] (32)
 
* [[Swift Death]] (32)
 
* [[Swim With The Whales]] (4)
 
* [[Swim With The Whales]] (4)
 +
* [[Syringe]] (6)
 
* [[System Vices]] (8)
 
* [[System Vices]] (8)
 
* [[The Talosian Incident]] (20)
 
* [[The Talosian Incident]] (20)
 
* [[Tangerine Nightmare]] (10) *
 
* [[Tangerine Nightmare]] (10) *
 +
* [[TDUNN Series for Doom]] (7)
 +
* [[TDUNN Series for Doom II]] (13)
 +
* [[Temple of the Lizard Men 2]] (10)
 +
* [[Tetraptykon]] (4)
 +
* [[Three's a Crowd]] (32)
 
* [[Threshold of Pain]] (12) *
 
* [[Threshold of Pain]] (12) *
 
* [[THT: Threnody]] (20)
 
* [[THT: Threnody]] (20)
 
* [[Thy Flesh turned into a draft-excluder]] (9)
 
* [[Thy Flesh turned into a draft-excluder]] (9)
 +
* [[Time of Sorrow]] (2) *
 
* [[TNT: Evilution]] (32)
 
* [[TNT: Evilution]] (32)
 +
* [[TNT: Resistance]] (8)
 
* [[TNT: Revilution]] (32) *
 
* [[TNT: Revilution]] (32) *
 
* [[Torment]] (6)
 
* [[Torment]] (6)
 +
* [[Tree3]] (3)
 +
* [[Tribute - this is not the best wad in the world]] (7)
 
* [[The Troopers' Playground]] (10) *
 
* [[The Troopers' Playground]] (10) *
 +
* [[The True Test]] (2)
 +
* [[The Twilight Zone II: Final Dreams]] (32) *
 
* [[The Twilight Zone]] (32)
 
* [[The Twilight Zone]] (32)
 
* [[UAC Ultra]] (11) *
 
* [[UAC Ultra]] (11) *
 
* [[Ultimate Doom]] (36)
 
* [[Ultimate Doom]] (36)
 
* [[Ultimate Doom the Way id Did]] (9)
 
* [[Ultimate Doom the Way id Did]] (9)
 +
* [[The Ultimate NMD]] (27)
 +
* [[The Ultimate Torment and Torture]] (10)
 
* [[Unholy Realms]] (32)
 
* [[Unholy Realms]] (32)
 +
* [[Unloved]] (5)
 +
* [[Urania]] (32)
 
* [[Vae Victus 2]] (7)
 
* [[Vae Victus 2]] (7)
 
* [[Valiant]] (32) *
 
* [[Valiant]] (32) *
 
* [[Vanguard]] (13)
 
* [[Vanguard]] (13)
 
* [[Vile Flesh]] (32)
 
* [[Vile Flesh]] (32)
 +
* [[Violence]] (4) *
 +
* [[Water Spirit]] (3)
 +
* [[The Wayfarer]] (9) *
 
* [[Welcome to Hell]] (3)
 
* [[Welcome to Hell]] (3)
 +
* [[What Lurks Beneath Base12?]] (3)
 
* [[Whispers of Satan]] (35) *
 
* [[Whispers of Satan]] (35) *
 +
* [[Whitemare]] (18) *
 
* [[Whitemare 2]] (32)
 
* [[Whitemare 2]] (32)
 +
* [[Winter's Fury]] (12)
 
* [[Wolfenstein 3D 1st Encounter]] (4)
 
* [[Wolfenstein 3D 1st Encounter]] (4)
 +
* [[Wonderful Doom]] (36)
 +
* [[WOOO]] (32)
 +
* [[WOOO 2]] (38) *
 
* [[Xmas Doom]] (3)
 
* [[Xmas Doom]] (3)
 
* [[Yak World]] (2)
 
* [[Yak World]] (2)
 
* [[Ye Olde Smudge Wad]] (3)
 
* [[Ye Olde Smudge Wad]] (3)
 +
* [[ZBlood]] (25)
 +
* [[Zen Dynamics]] (9)
 +
* [[Zone 300]] (33)
 +
* [[Zone 400]] (33)
 +
* [[Zones of Fear]] (32)
 
* [[ZPack - Random Maps for ZDoom]] (31) *
 
* [[ZPack - Random Maps for ZDoom]] (31) *
 +
* [[Zzul Bases]] (4)
 
</div>
 
</div>
  
Line 903: Line 1,432:
 
! !! Total
 
! !! Total
 
|-
 
|-
| '''Overall map pages''' ||style="text-align: right;"| '''6257'''
+
| '''Overall map pages''' ||style="text-align: right;"| '''10732'''
 +
|-
 +
| [[#Single-level WADs|Single-level WAD]] map pages ||style="text-align: right;"| '''532'''
 +
|-
 +
| [[#Multi-level WADs|Multi-level WAD]] map pages ||style="text-align: right;"| '''10200'''
 +
|-
 +
| Multi-level WAD overviews ||style="text-align: right;"| '''550'''
 +
|-
 +
| WADs with a [[#Custom things mapping|custom things mapping]] file * ||style="text-align: right;"| '''174'''
 +
|-
 +
| WADs with [[Demo#Built-in demos|built-in/included demos]] ||style="text-align: right;"| '''248'''
 
|-
 
|-
| [[#Single-level WADs|Single-level WAD]] map pages ||style="text-align: right;"| '''343'''
+
| Built-in/included demos ||style="text-align: right;"| '''650'''
 
|-
 
|-
| [[#Multi-level WADs|Multi-level WAD]] map pages ||style="text-align: right;"| '''5914'''
+
| {{cat|Navboxes for map articles}} ||style="text-align: right;"| '''1294'''
 
|-
 
|-
| WADs with a [[#Custom things mapping|custom things mapping]] file * ||style="text-align: right;"| '''82'''
+
| Distinct {{cat|Mappers|map authors with articles}} ||style="text-align: right;"| '''767'''
 
|-
 
|-
| {{cat|Navboxes for map articles}} ||style="text-align: right;"| '''713'''
+
| Distinct map authors w/o articles ||style="text-align: right;"| '''649'''
 
|-
 
|-
| Distinct {{cat|Mappers|map authors with articles}} ||style="text-align: right;"| '''544'''
+
| Distinct links to WADs in [[idgames archive]] ||style="text-align: right;"| '''943'''
 
|-
 
|-
| Distinct map authors w/o articles ||style="text-align: right;"| '''431'''
+
| Distinct links to WADs on other sites ||style="text-align: right;"| '''90'''
 
|-
 
|-
 
| Distinct links to [[Compet-n]] ||style="text-align: right;"| '''346'''
 
| Distinct links to [[Compet-n]] ||style="text-align: right;"| '''346'''
 
|-
 
|-
| Distinct links to [[Doomed Speed Demos Archive|DSDA]] ||style="text-align: right;"| '''430'''
+
| Distinct links to [[Doom Speed Demo Archive|DSDA]] ||style="text-align: right;"| '''692'''
 
|-
 
|-
| .ini files ||style="text-align: right;"| '''319'''
+
| .ini files ||style="text-align: right;"| '''578'''
 
|}
 
|}

Revision as of 17:00, 19 January 2022

XymphBot is an account for use in MediaWiki API queries. It is owned by Xymph, and used via bot scripts written in PHP based on the Wikimate library. After a coding and testing period, it commenced automated edits in October 2016.

The overall goal of these scripts is to put as much computer-creatable content into map pages as feasible, and check that existing content is as complete and consistent as possible, so that human contributors can focus more on crafting creative prose like background information, walkthroughs, trivia and other map-specific content. Also, I like alliteration. :)

Configuration

The starting point for all scripts is a .ini file that specifies settings and a series of map pages. Typically the list includes all levels in an IWAD or megawad, but combining single-level PWADs in one list is also possible.

The settings for all maps include the various input and output paths, the relevant IWAD, an optional PWAD, the type of DMMPST output and any DMMPST flags, an optional pattern for map view filenames, an optional flag defining whether to put the "notally=1" parameter into the map spots template (for Hexen and Strife levels), the WAD ID for Compet-n and DSDA links, and the WAD's author(s).

The settings per map are the episode and mission, the path to the Doom Wiki page, and optional overrides of that map's PWAD, DMMPST output type and flags, author(s), and script-specific actions.

An optional navboxes section defines the number and style of navboxes (Doom-like, standard Doom II-like or Doom II episodic grouping), and the paths, optional episode names, and map ranges for each navbox.

The .ini file can easily be generated from a list of levels in wikicode (e.g. Doom II's) copy/pasted into a file, and passing it through the wiki2ini.php script. This extracts the list of required map settings and prefixes it with the general settings, so that only a few manual edits remain necessary to result in a .ini file usable by the scripts.

.ini scripts

skeletonBot.php

Checks map pages' section headers against the reference map skeleton and shows differences in ordering, spelling, and formatting.

conventionsBot.php

Checks map pages for a wide variety of spelling, linking and formatting conventions.

secretsBot.php

Compares DMMPST's list of secret sectors against those in map pages' Secrets sections (or Official subsections) and updates its formatting if necessary, or adds the list if such a section is empty.

pspawnsBot.php

Compares DMMPST's list of DM/CTF player spawns with facings (directions) against those in map pages' "Player spawns" sections and updates their formatting if necessary, or adds the list if such a section is empty.

dmmpstBot.php

Uses DMMPST's output to replace map pages' Statistics, Map data or Things sections.
Optionally provides interactive comparison between old and new contents of the pertaining section, prior to submitting the edit.
Alternatively creates new map pages with DMMPST's full skeleton output.

dmsectionBot.php

Uses DMMPST's output to add "Player spawns" and Things subsections (with a short introduction sentence) to the Deathmatch sections for separate arenas within larger maps. The things tables are generated from WADs with the pertaining levels (linedefs and things) cropped down to just the arenas.
For regular maps without separate arenas, only the "Player spawns" subsection is added, along with the Deathmatch section header (before the Statistics section) if not yet present.
Conversely, for maps without deathmatch starts, the Deathmatch header is removed (unless the section is not empty).
Optionally provides interactive comparison between old and new contents of the pertaining section or page, prior to submitting the edit.

extraCoopBot.php

Uses DMMPST's logging of additional Things existing in cooperative (for Boom or Hexen flags) or multiplayer mode when compared to single-player mode to add categories Levels with extra monsters in co-op and/or Levels with extra equipment in co-op.
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.

uploadmapBot.php

Uploads new or updated map view images with description text, of which the exact phrasing about scale or size and cropping is determined from image sets generated via Omgifol drawmaps. New images are uploaded according to the map view pattern.
Always provides interactive viewing of (old and) new contents of the description, prior to submitting the image and description.

uploadmapDmBot.php

Performs the same tasks as uploadmapBot.php, but for deathmatch (arena) map views with spawn points. The images are generated from WADs with the pertaining linedefs cropped down to just the arenas, but their things left intact (because cropping them in SLADE 3 changes their order, which would result in incorrect spawn points numbering).

mapviewBot.php

Checks and updates the map view (link, dimensions, caption, and map spots template) in map pages' Walkthrough sections. Newly uploaded images are linked according to the map view pattern.
Always provides interactive comparison between old and new contents of the map view lines, prior to submitting the edit.

mapviewDmBot.php

Performs the same tasks as mapviewBot.php, but in Analysis sections for deathmatch maps or in Deathmatch sections for arenas within larger maps, and without the spots template.

navboxBot.php

Checks and adds the navbox line in map pages' intro sections, updates or strips the nocat option in the map template, and strips the skeleton preamble comment.
Always provides interactive comparison between old and new contents of the intro lines, prior to submitting the edit.

navboxGen.php

Generates one or multiple navboxes for Doom/Doom II/Heretic map pages based on the navboxes settings, and adds or replaces them in the template space.
Always provides interactive viewing of (old and) new contents of each navbox, prior to submitting the edit.

galleryBot.php

Checks and updates the gallery in map pages' "Areas / screenshots" sections. Adds the gallery container (and section) if it's not yet present. Applies the standard parameters and trims unneeded image attributes, if any. Also cleans up some minor page issues, if necessary.
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.

demolinkBot.php

Checks and updates Compet-n and DSDA links in map pages' "External links" sections, or adds them if applicable. Also standardizes formatting of categories and H2 headers.
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.

authorBot.php

Adds one or more authors to map pages' intro sections (optionally omitting wikilinks), along with each corresponding author's levels category at the end. Optionally removes the default skeleton text about custom music.
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.
If the page already deviates from the skeleton text, then instead shows the initial intro line and all trailing categories.

partimeBot.php

Parses par times from (separately extracted) DEHACKED and/or MAPINFO lumps and appends standard sentences to the first paragraph in map pages' intro sections. Mentions the origin lump unless the same time is specified in both lumps (they differ in e.g. D2TWID). Uses general lumps for the main (P)WAD, but can also handle lumps from map-specific PWADs.
Alternatively, if no par time is defined, removes the initial stub sentence.
Always provides interactive comparison between old and new contents of the intro, prior to submitting the edit.

comparisonBot.php

Checks and updates the map view gallery for comparing PC maps with console counterpart(s) on the latter's map pages: adds the PSX variant if not yet included, appends platform indicators to map captions, and redimensions the gallery per the aspect ratio of the PC image so that its area approximates 90000 px2.
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.

mapperMaps.php

In a mapper's article, finds the multi-level WADs and their pertaining maps that are covered in the .ini collection, checks consistency of their names (using approximate matching to detect typos) and authorship both ways, and (re)links them via the {{maplinkgen}} template.
If needed, italicizes a parenthesized string after an individual map entry (usually cooperating authors). Also, formats bullet indentation consistently, and erases trailing whitespace and extraneous empty lines throughout the page. Further, (re)formats DEFAULTSORT and any categories towards the end of the page, one per line.
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.
Lastly, lists any maps attributed in the .ini collection that were not found on the mapper's page, suitably formatted for manual addition.
All this can performed on one named page, or on a list of pages loaded from a file. Auxiliary script listCategory.php generates such a list from the Mappers category.

createMapper.php

From the author registration in the .ini collection, generates the text for a manually createable stub page of a mapper, with preformatted name, alias, DEFAULTSORT (if needed) and category. Organizes their covered projects / contributions by year (optionally with annual section headers), with formatted lists of co-authors per map where applicable. The companion categoryMapper.php script quickly creates a mapper's levels category.

addCategoryBot.php

Appends a new category to all or selected map pages. Optionally inserts it before an existing category.
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.

pregreplBot.php

Performs a preg_replace on all map pages with the given search and replace expressions, for all or a limited number of matches.
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.

dsdaMapBot.php

For all map pages' "Speedrunning" sections, collects the current DSDA record via their API in all standard Doom, Heretic or Hexen categories plus the optional ones (NoMo, NoMo 100S, Stroller & Collector), and compiles the table with intro line for the "Current records" subsection -- similar to srUpdMapRecs.php for Compet-n map record tables. Links to each category are not duplicated.
If an existing "Miscellaneous demos" table contains entries, prompts whether to preserve at least one of them. If so, updates the download link(s) to {{dsdaftp}} for the old DSDA site; if not, drops the section.
An intermediate step checks the "Secrets" section or "Official" subsection for bulleted or bolded entries, and uses that for the next NM 100S check. But a secret exit or the absence of monsters & secrets is flagged for pertaining maps in the .ini file.
For a map without secrets, skips the NM 100S category -- but if a record exists in that category and not in NM Speed, then lists the former in the latter row. For a map without monsters and secrets, drops all categories except UV Speed -- and Pacifist if cross-listed into UV Speed. In both cases an explanation line is added at the start of the "Speedrunning" section (replacing an existing line if present).
If no records are in the table at all, an "(absence of)" attribute is added in the datestamp line, and the default edit summary is a Verify; otherwise it's an Update.
Always provides interactive comparison between old and new contents of the section, prior to submitting the edit.

Miscellaneous scripts

These scripts don't work on a .ini file and its series of map pages as such, but perform other convenient tasks. Many of these don't automatically update pages via the bot account, and only produce output for manual updates.

coveredWads.php

Collects and lists the names of all single- and multi-level WADs covered by the aforementioned .ini files and scripts, and totals the number of maps included in them. Also totals the number of navboxes created/updated by navboxGen.php, the number of custom things mapping files, and the number of distinct links covered by demolinkBot.php. Its output is the entire "WADs covered so far" section below.

articleSort.php

Finds article, category and template pages whose titles start with an article ("A"/"An"/"The") and shows whether they contain a DEFAULTSORT tag, named map template, category sortkey, or none. Its output is the entire "Pages starting with an article" page. Thanks to Ryan W for the idea.

textmapStats.php

Processes an extracted TEXTMAP lump with regular expressions and a little code to generate statistics in Template:Mapdata format, along with formatted lists of secret sector numbers and deathmatch spawn points (if any). Useful for UDMF maps, but obsolete now that DMMPST supports those.

textmapExtra.php

Processes an extracted TEXTMAP lump with regular expressions and some code to collect monster and equipment counts for single-player and cooperative modes, and lists those where the counts differ. Again, useful for UDMF maps.

textmapSector.php

For Doom-format maps, DeePsea allows searching sectors for a specific type (e.g. secret) or jumping to a specific sector number in the layout. Editors that support UMDF (like SLADE 3) appear to lack these features. textmapSector searches for a specified sector number in an extracted TEXTMAP lump and computes the approximate center position of the associated vertices, allowing to hover to that coordinate in the layout and thus assist in verifying secret descriptions.

listWikiLinks.php

Collects links to Wikipedia by templates, interwiki links and direct links, along with the DoomWiki pages they're linked from, in the following namespaces: main, Doom Wiki, Help, File, Category, and Template. Its output is the entire "List of Wikipedia links" page. Requested by Ryan W.

listInterLinks.php

Collects direct links to sites for which Interwikis are defined, along with the DoomWiki pages they're linked from, in the following namespaces: main, Doom Wiki, Help, File, Category, and Template. Its output is the entire "List of Interwiki links" page. Thanks to Gez for the idea.

listExternLinks.php

Collects direct links to sites for which external link templates are defined, along with the DoomWiki pages they're linked from, in the following namespaces: main, Doom Wiki, Help, File, and Category. Its output is the entire "List of templatable links" page. Thanks to Gez for the idea.

linkArticle.php

Performs a search for the specified string in the main and Category namespaces, then in each of the resulting articles wikilinks the first occurrence of the string, if not already linked.
Conversely, unlinkArticle.php removes any wikilinks.
Both always provide interactive comparison between old and new contents of the page, prior to submitting the edit.

destubMaps.php

From map pages transcluding {{level stub}}, removes the template if the article contains: a walkthrough description in the Essentials section, descriptions for bulleted Secrets (or no official secrets), and complete Map data & Things tables. Conversely, restubMaps.php adds back the template if any such section (typically Essentials) is empty or too minimalistic.
Both always provide interactive comparison between old and new contents of the page, for the actual de-/restub decision by the bot operator, prior to submitting the edit.

updateAuthor.php

After a mapper article and its associated levels category have been moved (typically to include or remove a full name), go over the map articles in the old category to rename the wikilinked author and levels category.
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.

addTemplate.php

Processes all articles linked from a template to append that template. If the template contains an includeonly category, this category is replaced by the template. Also, (re)formats any categories after the template(s), one per line.
Always provides interactive comparison between old and new contents of the page, prior to submitting the edit.

appearMaps.sh

From the archived things tables, collects/sorts the maps with the highest count of a given thing and emits a prettytable. Because Holy Hell MAP05 is a superset of MAP01-04, the latter are skipped from the table.

top100MemMaps.php

Processes the maps list of the Top 100 Most Memorable Maps and appends a sentence about the map's place to each page's intro section (taking a trailing 'level stub' into account). Also checks for the presence of the Top100 category.

rankMappers.php

From all the subcategories under category Levels by author, collects the number of pages, then sorts and prints the 50 highest entries. Its output is the entire "Mappers ranked by map count" page. Inspired by the Most Prolific Mappers topic on the Doomworld forums.

onemanLinks.php

Processes the reviews index of ONEMANDOOM: WAD Reviews and adds/updates review links to the External links section of matching WAD articles. WADs are matched by title or filename in the .ini collection and otherwise by searching for title, or a mapping list for special cases (such as the Cabal series and Master Levels). The intro paragraph of the article is shown for visual verification that it's the same WAD, then existing review links (via https or template) are updated or a new link bullet is appended.
Always provides interactive comparison between old and new contents of the section, prior to submitting the edit.

doomugLinks.php

Processes the reviews index of Doom Underground and adds/updates review links to the External links section of matching WAD articles. WADs are matched by filename in the .ini collection or a brief mapping list for minor differences. The intro paragraph of the article is shown for visual verification that it's the same WAD, then a new link bullet is appended unless a templated entry is already present.
Always provides interactive comparison between old and new contents of the section, prior to submitting the edit.

waddsd2Links.php

Processes all .ini files for the old DSDA numeric ID, looks up the new wadname ID, verifies it exists (via a HTTP HEAD request), updates (sometimes adds) the External link in the corresponding article, and adds the new ID back to the pertaining .ini file.
Always provides interactive comparison between old and new contents of both update types, prior to submitting the edits.

collectDLlinks.php

Before March 2021, .ini files didn't contain a link for their pertaining PWAD. This one-off script processes a specific or all .ini files, fetching each article path and extracting the "|link=" option from the {{wad}} template. For an {{ig}} template, uses the "|file=" parameter as is, or for the "|id=" parameter runs a HTTP HEAD request on the Doomworld idgames frontend to catch the redirect to the file path URL. Use this relative idgames path (without .zip), or the full URL for other "|link=" options, to update the .ini file with a new 'link' field for each PWAD.

builtinDemos.php

From a PWAD's .ini file and previously extracted DEMOx lumps or .lmp files included in the .zip, collects the stats of the demo(s) via a separate LmpStats library, and constructs a 'Built-in demos' section with a table for multiple demos, and for a single-level PWAD also a 'Demo files' section. On a PWAD overview page the 'Built-in demos' section is appended to the 'Content' section if present, and otherwise prepended to the 'External links' section or earlier in the page, always showing a comparison between old and new contents of the page prior to submitting the automatic edit; while for a single-level PWAD the 'Demo files' section and table are merely shown for a manual edit.

pregreplGen.php

A generalized spin-off from pregreplBot.php, runs a search query (optionally different from the in-page search expression) and performs a preg_replace on all resulting pages with the given search and replace expressions.
Always provides interactive comparison between old and new contents of the section, prior to submitting the edit.

drawmaps.py

The enhanced version of Omgifol's demo script to draw map views that is used for nearly all maps on the wiki, adding scale, logging and spawn points support.

texpackstats.py

Collects statistics for a texture pack (or any WAD with textures/flats/etc.): totals for textures, patches, flats, skies (patches containing "SKY" in their names), switches, and animated textures and flats. Optionally also dumps lists of textures, skies, switches and/or animated. Thanks Redneckerz for the idea.

searchSpecial.py

Searches linedefs/things in one or multiple maps (Hexen or ZDoom format) for a given action special and ID. Primarily used in relation to SecretTriggers that are not directly invoked by another thing or linedef (DMMPST already lists those) but have a Thing ID that is indirectly activated via a script called by a thing/linedef. Another use is to find the linedef that gets assigned an ID by a (start-up) script which can then invoke the SecretTrigger. [How convoluted can one make secret invocations...?]

searchThing.py

Searches things in one or multiple maps for a given type and lists their positions. Primarily used to check where remapped or new custom things are located prior to compiling a custom mapping file.

playpal_total.php

Process a PLAYPAL lump extracted from a Doom-engine WAD and count the number of unique colors, optionally skipping unused palettes and truncating 8-bits colors to 6-bits. Idea originated during a discussion of palettes and the game's color space.

listigf

A Bash script to search (most of) the .txt files in the idgames archive for a regular expression, show the matching context segments of each matching file, prompt whether to include the file, for the selected files fetch the title and ID from the pertaining page in the Doomworld idgames frontend, and output a bulleted list sorted by the files' timestamps and grouped by their years. At the prompt, a comma-separated list of map names can be entered (with optional co-authors), which is then included in a bulleted sublist for the pertaining file (with italicized co-authors). Used primarily to generate body-of-work sections for mappers.

And more?

Ideas for future scripts, anyone?

How can you help?

Create overview pages for all WADs to be covered (e.g. Top 100 WADs of All Time, Cacowards, List of notable WADs) with information as accurate and complete as feasible, especially the episodic structure (if any), the list of levels, and the use of custom monsters/weapons (see below).

And after a series of skeleton pages has been created, edit them to add any music and other introductory information, and of course walkthrough and secrets descriptions, speedrunning records, and whatever else you can contribute.

Custom things mapping

For custom things, a description or table of thing types and the new monster/weapon names is particularly helpful, and can be used to provide a mapping file to DMMPST that automatically incorporates the customizations into the Things table. An initial discussion and example mapping was presented for Valiant.

The mapping file should link to description(s) of the custom thing(s) on the WAD's overview page. This can be a simple one-liner but preferably contains a brief entry per thing that mentions which original thing is replaced by which custom one, and may be even more elaborate.

So, to help, please provide such descriptions as well as a short or long mapping table (as the case may be, but it must be accurate and complete) on the WAD's talk page for the following WADs that I already processed previously:

Then I can (re)generate the Things tables on all pertaining map pages. I no longer have time to compile mapping lists, so these are required to make progress.

Going forward, the same is welcome for WADs I am skipping for now because the overview information does not appear to be sufficiently descriptive and complete, and/or the mapping list is missing. This includes:

and (m?)any more I haven't gotten around to yet.

WADs covered so far

The lists below show the single-level and multi-level WADs that have so far been covered (created and/or updated) via XymphBot and its .ini files. Map counts per WAD and various totals are included (state of 2022-01-11 03:17 CST).

Single-level WADs

Multi-level WADs

Statistics

Total
Overall map pages 10732
Single-level WAD map pages 532
Multi-level WAD map pages 10200
Multi-level WAD overviews 550
WADs with a custom things mapping file * 174
WADs with built-in/included demos 248
Built-in/included demos 650
Navboxes for map articles 1294
Distinct map authors with articles 767
Distinct map authors w/o articles 649
Distinct links to WADs in idgames archive 943
Distinct links to WADs on other sites 90
Distinct links to Compet-n 346
Distinct links to DSDA 692
.ini files 578