Difference between revisions of "Reload hack"

From DoomWiki.org

[checked revision][checked revision]
m (Formalize reference, +wls)
Line 22: Line 22:
 
== History ==
 
== History ==
  
In April 1994, Dave Taylor posted a [http://doomgate.gamers.org/pub/archives/idNews/idNews11_work1.3_ports_petition company status update] to Doom newsgroups that mentioned that the upcoming version 1.3 would include "a new map reload feature for the map editor types out there so that you can test a level immediately after developing it without restarting." Unfortunately, either they forgot to properly document this new feature, or else knowledge of it was lost, as it was only rediscovered following the Doom source release in 1997. This is unfortunate because the hack would have been useful on the hardware of the time, and usable with a multitasking OS capable of running Doom (such as {{wp|Windows 95}} or {{wp|OS/2}}).  
+
In April 1994, [[Dave Taylor]] posted a company status update to Doom [[Usenet|newsgroups]] that mentioned that the upcoming version 1.3 would include "a new map reload feature for the map editor types out there so that you can test a level immediately after developing it without restarting."{{cite web|author=[[Dave Taylor|Taylor, Dave]]|title=idNews: Petition & Whatsup|url=http://doomgate.gamers.org/pub/archives/idNews/idNews11_work1.3_ports_petition |publication=alt.games.doom, comp.sys.ibm.pc.games.action|publishdate=12 Apr 1994 11:31:38 -0500|accessdate=30 November 2018}} Unfortunately, either id Software forgot to properly document this new feature, or else knowledge of it was lost, as it was only rediscovered following the [[Doom source code]] release in 1997. This is unfortunate because the hack would have been useful on the hardware of the time, and usable with a {{wp|Computer multitasking|multitasking OS}} capable of running Doom (such as {{wp|Windows 95}} or {{wp|OS/2}}).  
  
 
On modern hardware, CPUs are fast enough that the startup pre-processing time is negligible, negating most of the benefit of the hack.
 
On modern hardware, CPUs are fast enough that the startup pre-processing time is negligible, negating most of the benefit of the hack.
Line 29: Line 29:
  
 
* [https://www.youtube.com/watch?v=zQqwPeYh8mk Video showing the reload hack in action]
 
* [https://www.youtube.com/watch?v=zQqwPeYh8mk Video showing the reload hack in action]
 +
 +
==References==
 +
<references />
  
 
[[Category:Doom engine]]
 
[[Category:Doom engine]]

Revision as of 21:31, 30 November 2018

The reload hack being demonstrated, with Vanilla Doom and Edmap running in separate DOSBox instances.

The reload hack is an undocumented feature of vanilla Doom that allows rapid turnaround for level authors to test their changes without needing to completely restart the game.

Purpose

Doom's levels were developed on NeXT workstations using the DoomEd editor, while the game itself ran under MS-DOS on PCs. On early '90s hardware, starting up the game on a 486 class machine could take a long time (up to 30 seconds or more if using a 33 MHz processor); extensive pre-processing is performed on startup to prepare texture data for use in the renderer.

This makes the development cycle (Make change; rebuild WAD; restart game) quite expensive in terms of time. The reload hack was therefore implemented to reduce the time required to test out a level change.

Usage

The well-known -file command line parameter can be used to load a PWAD file for play, typically containing a third-party level. Adding a tilde (~) before the filename signifies that the reload hack should be applied to that file. For example:

doom2.exe -file ~reload.wad

will load reload.wad, but the WAD file will be reloaded each time the level is restarted. So if reload.wad is changed using an external editing tool, the changes can be immediately seen by using the IDCLEV level warp cheat code, or by restarting the level through dying or any other normal means.

Because of the nature of the hack, not all changes to the WAD file will have an effect. For example, texture changes will have no effect as they are precomputed on startup. A comment in the WAD code (w_wad.c) where the reload hack is implemented refers to it as "a fragile hack".

It is likely that id Software's developers used the hack with a NeXTStep workstation and PC in concert, with the PC loading PWADs stored on a network drive accessed in parallel by a NeXT workstation. This is evidenced by the -wart parameter that loads maps from the directory e:\doom\cdata and automatically prepends the tilde to enable the reload hack - drive E: may have been a network mount present on the Doom development machines.

History

In April 1994, Dave Taylor posted a company status update to Doom newsgroups that mentioned that the upcoming version 1.3 would include "a new map reload feature for the map editor types out there so that you can test a level immediately after developing it without restarting."[1] Unfortunately, either id Software forgot to properly document this new feature, or else knowledge of it was lost, as it was only rediscovered following the Doom source code release in 1997. This is unfortunate because the hack would have been useful on the hardware of the time, and usable with a multitasking OS capable of running Doom (such as Windows 95 or OS/2).

On modern hardware, CPUs are fast enough that the startup pre-processing time is negligible, negating most of the benefit of the hack.

External links

References

  1. Taylor, Dave (12 April 1994). "idNews: Petition & Whatsup." alt.games.doom, comp.sys.ibm.pc.games.action. Retrieved 30 November 2018.