Difference between revisions of "Reload hack"

From DoomWiki.org

[checked revision][checked revision]
(embed youtube video)
(Usage)
Line 16: Line 16:
 
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 (or by restarting the level through dying or any of the normal means).
 
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 (or by restarting the level through dying or any of the normal means).
  
Because of the nature of the hack, not all changes to the WAD will have an effect. For example, texture changes will have no effect as they are precomputed on startup.
+
Because of the nature of the hack, not all changes to the WAD will have an effect. For example, texture changes will have no effect as they are precomputed on startup. A comment in the WAD code ([[Doom source code files|''w_wad.c'') where the reload hack is implemented refers to it as "a fragile hack".
  
It is likely that the id developers used the hack with a NeXTStep workstation and PC in concert, with the PC loading PWADs loaded over a network mount accessed in parallel by a NeXT workstation.
+
It is likely that the id developers used the hack with a NeXTStep workstation and PC in concert, with the PC loading PWADs loaded over a network mount accessed in parallel by a NeXT workstation. This is evidenced by the ''-wart'' parameter that loads maps from the directory ''e:\doom\cdata'' and prepends ~ to enable the reload hack - drive E: may have been a network mount present on the Doom development machines.
  
 
== Current usage ==
 
== Current usage ==

Revision as of 20:08, 27 April 2015

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.

Historical context

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 33MHz machine); 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 used. 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 (or by restarting the level through dying or any of the normal means).

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

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

Current usage

The reload hack is obscure and largely unknown; it was apparently unknown before the Doom source release in the late '90s. 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, making the benefits brought by the hack of limited use, if any.

External links