Difference between revisions of "Doom Classic"

From DoomWiki.org

[checked revision][checked revision]
(created new article)
m (Technical details: minor rephrasing as limit raising isn't at all what required heavy modifications; nor were most limits raised to begin with.)
(8 intermediate revisions by one other user not shown)
Line 2: Line 2:
 
:''See [[classic Doom]] for the collective range of [[id Tech 1]] Doom games. For the iOS port, see [[Doom Classic (iOS)]]''
 
:''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 exes with [[DOSBox]]).
+
'''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 [[Render to texture|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, most global variables in the program have been moved into a C++ class. It also raises a few [[static limits]].
 +
 
 +
On some platforms, network code from [[wikipedia:Id Tech 5|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 [[Engine bug|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.
  
 
== See also ==
 
== See also ==
Line 15: Line 23:
 
{{s-port}}
 
{{s-port}}
 
{{s-bef|before=[[Xbox 360]]}}
 
{{s-bef|before=[[Xbox 360]]}}
{{s-ttl|title=Doom Classic}}
+
{{s-ttl|rows=2|title=Doom Classic}}
{{s-non|reason=None}}
+
{{s-non|rows=2|reason=None}}
 +
{{s-bef|before=[[id Tech 4]]}}
 
{{s-end}}
 
{{s-end}}
  
  
 
[[Category:Commercial ports]]
 
[[Category:Commercial ports]]

Revision as of 14:38, 21 October 2014

Under construction icon-yellow.svgThis article or section is a stub. Please help the Doom Wiki by adding to it.
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, most global variables in the program have been moved into a C++ class. It also raises a few static limits.

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.

See also

External links

Source code genealogy
Based on
Xbox 360
Doom Classic None
Based on
id Tech 4