Doom Classic


 * See classic Doom for the collective range of id Tech 1 Doom games. For the iOS port, see Doom Classic (iOS)

Doom Classic is the name given to Id Software's modern cross-platform port of the original Doom engine. It is based on the Xbox 360 port created by Nerve Software, and was ported back to the PC when included with Doom 3: BFG Edition. Outside of the BFG Edition, it is also present in the Doom Classic Complete pack for the PlayStation 3 (but not the PC version of that pack, which still uses the original executables with DOSBox).

Technical details
The source code contains heavy modifications to integrate the Doom engine into the external id Tech 4 framework which can regularly call into the engine's code to provide a rendering context, audio stream, and input events. The game can be exited to return to this framework, and a special menu is provided for changing the current game from inside the game itself. As part of supporting the ability to reinitialize the game engine without exiting the framework program, as well as support multiple simultaneous instances of the engine for purpose of supporting split-screen multiplayer (an ability for some reason disabled in Doom 3: BFG Edition for PC), most global variables in the program have been moved into a C++ class. It also raises a few static limits, making it capable of playing the No Rest for the Living expansion.

On some platforms, network code from id Tech 5 is used to achieve network play capability. It is not readily evident that this code is included in the source release, or is capable of compiling and working even if included, however.

Most bugs from the original DOS codebase remain unaddressed, and any that have a possibility of invoking undefined or illegal behaviors will crash the surrounding id Tech 4 shell with a typical illegal operation dialog for the platform.