Doom II: Hell on Earth (PC)

Released just ten months after the first game, Doom II: Hell on Earth was hardly a large change from its predecessor...but it did get a commercial release.

Unused Code
animdef_t		animdefs[] = { [...]   {false,	"SWATER4",	"SWATER1", 	8}, [...]   {true,	"WFALL4",	"WFALL1",	8}, [...] }; Code exists to animate the WFALL1-4 textures and SWATER1-4 flats, however these are not present in this game. Both WADs in Final Doom later take advantage of this unused code by adding textures using and between the WFALL1 and WFALL4 names, allowing them to animate.

{SPR_PAIN,12,8,{NULL},S_PAIN_RAISE2,0,0},	// S_PAIN_RAISE1 {SPR_PAIN,11,8,{NULL},S_PAIN_RAISE3,0,0},	// S_PAIN_RAISE2 {SPR_PAIN,10,8,{NULL},S_PAIN_RAISE4,0,0},	// S_PAIN_RAISE3 {SPR_PAIN,9,8,{NULL},S_PAIN_RAISE5,0,0},	// S_PAIN_RAISE4 {SPR_PAIN,8,8,{NULL},S_PAIN_RAISE6,0,0},	// S_PAIN_RAISE5 The Pain Elemental has a raise state, allowing it to be revived by the Arch-Vile, but Pain Elementals normally explode on death, leaving behind no corpse to be revived. The raise sequence can be seen in-game, but not under any intended circumstance: When killed by a crusher, Pain Elementals will be crushed into a pool of gibs like other monsters. If an Arch-Vile comes across these gibs, it can resurrect them. However, in doing so, the gibs' height of zero is retained on the revived monster, turning it into what the community has dubbed a "ghost" monster, where only splash damage and Arch-Vile attacks can hit it reliably.

Sliding Doors
DF3hQfo9ju0 The source files p_doors.c and p_switch.c have some remnants of code for sliding doors. Since these are restricted to the commercial version (Doom II), it seems almost certain they were intended for the bonus levels based on Wolfenstein 3D, which used sliding doors. They would've been created with line action 124, but the code to activate them was commented out in the source.

Anyone familiar with Doom's renderer knows that sectors can only change vertically, the result of using a static BSP tree defined in the NODES lump for each map. To work around this limitation, these doors aren't sectors at all – they're animated textures applied to a linedef. They would use the textures GDOORF1-4 (front) and GDOORB1-4 (back), which aren't present in the final version. The code sets the blocking flag when the door is closed, preventing you and monsters from passing through it, and unsets it when the door is open.

The video to the right shows these doors in action using the original code, which is a bit bugged: sometimes the doors don't close properly and since the blocking flag doesn't stop hitscans or projectiles, they can pass through these doors like they're not even there. It's subjective, but the limited amount of animation paired with the fact that they're paper thin also makes them look terrible. In the end, id ditched these and just opted to use normal vertically opening doors in the Wolfy levels instead.

These doors are functional in the v1.4 Doom beta.

Unused Graphics
Menu heading and option for a display options menu. These are leftovers from Doom 0.5 alpha.

Headings for the load and save game menus. These menus just reuse their option graphics for their headings.

Additionally, the "Read This!" menu option does not appear in Doom II, but its graphic is still present in the IWAD.

As are all of the graphics for Doom's episode selection menu. In the version of Doom II bundled with the Doom 3: BFG Edition, these lumps are used with the exception of M_EPI3 (Inferno), but the actual graphics have been altered to read "Which expansion?", "Hell on earth", and "No rest for the living".

Like in the original game, the "ouch" face was meant to occur if the player lost 20 or more health in a single attack. A mistake in the game's coding makes it visible only if you gain 20 or more health while taking damage, rendering the face unseen outside of uncommon situations, like getting hurt while standing on a medikit. Like most of Doom's status bar faces, the ouch face has five different sprites depending on how healthy the player is.

DMENUPIC is a rather impressive graphic that's used in place of the TITLEPIC and INTERPIC in the Xbox Live Arcade version. It is still included in the IWAD for the version included in Doom 3: BFG Edition, but goes unused in favor of the original INTERPIC.

This multiplayer menu option graphic is present in the Doom 3 BFG Edition IWAD. It's used in the console versions, but the PC version doesn't have multiplayer support.

Medikit Message
If the player gets a medikit with less than 25 health, this should be displayed: Picked up a medikit that you REALLY need! However, health is added before the check is made, so the player's health is always greater than 26 when it checks which message to use.

Quit Messages
There are several unused quit messages defined in the source code:

The first seven messages are under a comment saying "FinalDOOM?", but this was added by Bernd Kreimeier when he was cleaning the source for release to the public. These messages were never intended for Final Doom - they were "development mode only" messages written by John Romero. "Ron" referred to Ron Chaimowitz, CEO of GT Interactive.

Debug Mode
Entered by passing the parameter "-devparm" when starting the game, the Doom engine's debug mode is pretty bare-boned. You can take screenshots (in PCX format) by pressing F1 (which replaces its original function of bringing up the help screen), and a series of dots appears in the bottom left that roughly indicate the frame rate. One dot indicates the full 35FPS, while more dots indicate a frame rate of 35/(number of dots).

Germany
According to the German Strafgesetzbuch §86a, the usage of unconstitutional symbols (Nazi symbolism, basically) is forbidden outside of certain contexts such as research and teaching. Because the two secret maps, Wolfenstein and Grosse, use those symbols, the German version does not contain these maps, to prevent the game from being the subject of search-and-seizure procedures.

The game engine has a special catch to handle this: If the player takes the secret exit in level 15 and the MAP31 lump is absent, the engine will instead send the player to level 16 as if they had taken the normal exit. However, if players of the German version use cheats in attempt to warp to the missing levels, the game crashes.

France
o0cGEgBDUxs Doom II was translated into French by Art of Words and published by Virgin. This translation is derived from version 1.8, contains French text strings in the executable instead of English, and uses DOOM2F.WAD, which contains French translations of any graphical text, for its data. DOOM2F.WAD does not contain the unused graphics left over from Doom. The images used for detail settings in the options menu overlap because that menu was never updated to account for the larger graphics. Likewise, some graphics that are centered in the English versions aren't in French. The setup program and command line tools have also been translated.

Revisional Differences
Seven official DOS versions of Doom II exist: 1.666, 1.666 German, 1.7, 1.7a, 1.8, 1.8 French, and 1.9. The German version of 1.666 uses a different executable and its copy of DOOM2.WAD omits the MAP31 and MAP32 secret levels for the reason stated above. 1.7a only changes the phone number listed on the ENDOOM text screen displayed in DOS after exiting the game. As mentioned above, the French version of 1.8 has received a full translation. In addition to these, there is also a bootleg copy of 1.666 which was leaked prior to the official release of the game, which the upgrade patches are not compatible with, but has no known differences with the official 1.666 release. The 1.3 through 1.6 beta versions of Doom also have partial Doom II support, as the game was in development when those betas were published.

The source for the Linux port was released publicly - this was released as version 1.10. The source code to Doom 3: BFG Edition has also been released; its Doom Classic engine is version 1.11.

Engine

 * Version 1.7 fixes the Soundblaster/Adlib music crash.
 * Versions of the engine not running on DOS or Linux support higher resolutions than 320x200.
 * The engine used for the Xbox Live Arcade release, later re-used for Doom 3: BFG Edition and Doom Classic Complete, increases several of the engine's internal limits in order to support the new No Rest For The Living expansion, which has significantly more detailed maps than the original engine can run.

Level 1: Entryway
For whatever reason, the entire map was shifted southwest, closer to the 0, 0 coordinate, in version 1.8. As a result of this, some flats became unaligned. The map was shifted again in version 1.9 to fix the flat alignment. Things were also shifted, but not by the same amounts, meaning they have slightly different positions in relation to the map geometry in each version.

Level 2: Underhalls
In v1.666, there was a door made of silver bars which blocked the alcove with the switch that opens the western half of the map, similar to the red key bars that remain in the opposite alcove. These were removed in v1.7 and a monster blocking line was put in their place to keep the shotgun guy contained.

Like Level 1, the entire map was shifted southwest to be closer to the 0, 0 coordinate in v1.8. And once again, some flats became unaligned, the most obvious being the secret teleporter. This was fixed in 1.9.

Things were shifted too, with hilarious results as several enemies ended up stuck in the walls. These were also mostly corrected for v1.9, with the exception of a single shotgun guy who is still stuck in a barrel near the blue key.

Level 3: The Gantlet
A new secret area was added to the room with the blue armor and shotgun in v1.9. It contains a teleporter to a small room with a backpack and door to the central area.

Level 5: The Waste Tunnels
In v1.9, the lift near the start that drops the player into the dark tunnel can be activated from inside the tunnel.

Entering the area to the right of the lift that drops you into the tunnel closes the door behind you. It can be reopened with a switch in the alcove closest to the door. Originally, entering the room with the megaarmor would also close this door. Since the door switch is one-time use, this was basically a trap and the player would be forced to leave this area through a tougher section of the map. This was changed in 1.9 so that entering the mega-armor room doesn't close the door.

Level 11: Circle of Death / The 'O' of Destruction!
A hard difficulty arachnotron was originally stuck in a wall in the outside section right before the first arch-vile of the game. It was finally freed in v1.9.

The area around the switch that grants the player the rocket launcher and entry into the final area of the map was modified in v1.9. Originally, all this switch did was lower the rocket launcher and the barrier preventing entry to the final area. The player was forced to find a switch in the nukage pit to get back up onto the central "O" structure, then run from the center of the "O" to jump across to the newly accessible ledge. This was made significantly easier with the addition of a new wall which lowers alongside the rocket launcher and barrier, and allows the player to walk over to the ledge leading to the final area rather than having to make a tough jump.

Level 14: The Inmost Dens
The ceiling in the crusher room with the rocket launcher has been raised by 32 units in v1.7. This reveals a missing upper texture.

Near the center of the map there is a set of door and lift bars which open as the player runs towards them. In v1.666, the trigger lines for these were closer together than in 1.7.

Level 15: Industrial Zone
A single zombieman located to the northeast of the central tower was removed from this map in v1.7.

Level 17: Tenements
The teleporter in the lava pit with the caged arch-vile originally did nothing in single player and teleported the player to the dark cave area near the yellow skull in multiplayer. In v1.7, the teleporter was changed to teleport to the central pillar with the supercharge instead.

Level 18: The Courtyard
There was an entire linedef missing from one of the metal boxes near the yellow skull in v1.666, which was fixed in 1.7.

Level 24: The Chasm
The back side of the lift which lowers to reveal the teleporter out of the red skull room was originally untextured. This was fixed in 1.7.

Level 25: Bloodfalls
The blood pillar with a revenant on top could only be lowered from the side closest to the lift in v1.666. V1.7 made it so it could be activated from all sides.

The lift near the blood pillar originally used the same tan stone as the surrounding walls. It was replaced with a gray stone texture in 1.7, making the lift more obvious.

The blue door was highlighted with a bright, blinking light in v1.7.

Some walls in the side rooms before the metal room with the megasphere have had their textures changed to match the surrounding walls in v1.7.

Level 28: The Spirit World
Three deathmatch spawns were added in v1.7. The one in the scrolling spine room was moved slightly.

Level 29: The Living End
Co-op starts were added in v1.7.

Level 31: Wolfenstein / IDKFA
The area with the BFG9000 was updated to count towards the secret total in v1.7.

This level has been renamed "IDKFA" in Doom 3: BFG Edition and Doom Classic Complete. The Wolfenstein SS enemies have been replaced by zombiemen: Since the XBLA and Doom 3: BFG Edition versions of Doom II can play network games with one another, this will cause the game to de-sync in this level.

Level 32: Grosse / Keen
Like in level 31, the four pillars that can be raised to reveal goodies, along with the two side areas, were updated to count towards the secret total in v1.7.

This level has been renamed "Keen" in Doom 3: BFG Edition and Doom Classic Complete. Like level 31, the Wolfenstein SS enemies have been replaced by zombiemen, and this will cause desyncs when playing with the XBLA version.

Level 33: Betray
When the classic Doom games were ported to the Xbox as part of the Collectors Edition of Doom 3, the programmers responsible decided to slip in a couple of ancient levels they made back in the day. The included version of Doom II contains Betray, a 1995 level by Michael Bukowski.

In level 2, grab the red keycard, drop down, and enter the northeast chamber that has just opened up. Walk up to the narrow, stone wall in the northwest of this chamber, and press on it to be sent to Betray. Once you complete it, you'll be sent ahead to level 3.

This map is still included within the IWAD in the Xbox Live Arcade, Doom 3: BFG Edition, and Doom Classic Complete versions of Doom II. The exit that leads to it was removed in the console versions, making it unused. Interestingly, however the exit is present in the version of Doom II included in the PC version of Doom 3: BFG Edition, but the code to go to level 33 is not, so it will either take the player back to level 1 or restart level 2, depending on which level the game was started on.

No Rest For The Living
The Xbox Live Arcade, Doom 3: BFG Edition, and PSN Doom Classic Complete ports of Doom II feature a new nine level expansion from Nerve Software. Strings for its level name and end text has been added to the executable, along with code to make its secret exit in level 5 function. Additionally, its PWAD contains new intermission map name graphics.

This expansion has its own music track assignments in the XBLA version. Doom 3: BFG Edition reuses the standard Doom II track assignments, and as a result, only level 6 plays the same music in both versions.

Red Crosses
Starting with the Xbox Live Arcade release of Doom II, the red crosses on the Stimpack, Medikit, and Berserk powerup were replaced by a red and white capsule.

Wolfenstein Patches
The WOLF patches with Nazi symbols, used in the secret levels, were replaced with their blank wall equivalents in Doom 3: BFG Edition.

All of the Wolfenstein SS enemy's sprites except for parts of the gibbing animation are replaced with poorly offset copies of the zombieman's first forward facing frame in the PC version of Doom 3: BFG Edition, but oddly not on Xbox 360.

Menu Text
Several menu strings were updated for the version included in Doom 3: BFG Edition. The previously unused episode selection graphics leftover from Doom are re-purposed for selecting which expansion to play. The updated engine removes the screen size and detail options, and graphics related to these were replaced with ones that read gamepad and fullscreen.

Graphics have been added for a new menu, which is displayed instead of the original text strings when quitting the game. They allow you to accept/cancel quitting, or go back to the Doom 3 BFG Edition game selection screen. Interestingly, these are only present in the Doom 2 IWAD, despite also being used in The Ultimate Doom, meaning the engine always looks them from DOOM2.WAD.

Level Names
New graphics obviously had to be made for the secret levels' new names in Doom 3: BFG Edition.

Betray's name is also present in the Doom 3: BFG Edition IWAD.

Music
Evil Incarnate and The Ultimate Conquest, the two music tracks based on ones from Spear of Destiny and Wolfenstein 3D (PC), which are used in the secret levels and ending cast of characters, were replaced with copies of DOOM, the music played in levels 5 and 13, in Doom 3: BFG Edition.