Terminal DOOM (Demo)

I did this project as a proof-of-concept for fully interactive surfaces, the full potential of which is not yet realized by the DOOM3 GUI. D...


Do not refresh or leave this page!

File Description

I did this project as a proof-of-concept for fully interactive surfaces, the full potential of which is not yet realized by the DOOM3 GUI. Doom1 was chosen for convenience, a bit of nostalgia, and because I worked with that codebase before. In retrospect, that might have been a mistake on my part, as that choice distracts from the point I am trying to make.

You will have to have the retail version of DOOM3 installed, and you will have to apply the version 1.3 patch to be able to run the Terminal DOOM demo. To install the mod, simply unpack the contents of the ZIP archive into the directory where your DOOM3 executable is located, and follow the instructions in the README.TXT.

Read More

Download 'terminal_doom_demo.zip' (5.65MB)

Terminal DOOM - Release1-20050523
Build against DOOM3 SDK version 1299, tested against 1302.

This is a Doom3 port - of sorts - of the original linuxdoom-1.10 source as 
released in 1997. There are only minor changes to Doom1 and Doom3. Doom1's 
state has not been refactored into a proper class, so the engine is a 
singleton (one instance controlled through namespace). The modified Doom1 
source still compiles for a standalone Linux-only X11 SHM version as well 
(true color), Sound playback through Doom3 has no spatialization. IWAD 
sound samples are converted to 16bit WAV on load and written out to 
and loaded by Doom3 at runtime. 

The code has all the loose ends that come with a first pass, but every 
part needed for a clean UiPlugin interface and its Doom3 implementation 
is done, with exception of support for networking and custom key bindings. 
The ChangeLog that will be included in the code release lists some possible 
improvements. The weakest point in the Doom3 SDK is the input handling, as
there are no raw mickeys and buttonUp/keyRelease events provided to the 
game DLL code. Fully interactive surfaces need the same input fidelity as 
the game they are embedded in, however, Doom3 does not really support input 
focus or full QWERTY keyboard support. A side-effect of the workarounds 
employed in this mod is that Doom3 ignores custom bindings (see above).

Installation: unpack the contents of termdoom.ZIP into your doom3/ folder.
If you want to run the debug DLLs, also unpack termdoom_debug.ZIP, which
contains a game02.pk4 - remove this to use the release DLLs.

To launch the mod from the commandline, use:

    'doom3 +set fs_game mod_doom'

or simply select 'Terminal DOOM' in the 'Mods' menu.
To exit the mod, hit ESC to enter the main menu and ESC again to exit
the game. There is no return path to the base main menu.

To start Classic DOOM, simply click on the GUI, then hit enter to break
the attract loop. Use PAUSE if you want to step away, or hit ESC to
bring up the Classic DOOM menu. F1 brings up the DOOM help, which
shows the key bindings. While the DOOM menu is up, you can look around,
and if you look away from the GUI you can move around.

There are several 'doom_*' CVars to adjust input and debug parameters,
In particular, 'doom_args' is used as the Doom1 commandline arguments,
e.g. for PWAD use. By default Classic DOOM is locked to 35 Hz, for
Windows use doom_ticrate to change that (set to zero to run locked to 
Doom3 w/o clamp).

Be sure to try 
    'map arcade/arcade'
for a nice map with an arcade machine and a billboard (by Neil J. Martin). 

The standalone Linux Doom binary is in linuxdoom2005.zip. There is no
Windows version of the standalone build. It was done so that I could debug
changes to Classic DOOM without having to use DOOM3. If you want to play,
there are much better ports out there than this (or Terminal DOOM, for 
that matter). I suspect that Terminal DOOM is not the last port we will see
of this classic either...

 started on 2005/03/23

 - the Doom3 SDK source is released under the Doom3 SDK license.
 - the Doom1 shareware IWAD is Copyright (C) id Software. All rights reserved.
 - the Doom1 source and its modification are covered by the GPL.

Robert A. Duffy                                (DOOM3 GUI,technical info)
Timothee Besset and Brian Harris               (UploadImage, technical info)
Neil J. Martin                                 (Test maps, Jukebox Mod, testing)
Aaron Pfeiffer, Arne Olav, Michael Tomaino     (testing)
Ryan C. Gordon                                 (Resources)
John Carmack                                   (DOOM1 source)

Bernd Kreimeier (Terminal DOOM idea and execution)

Interactive GUIs can be used for better purposes than Terminal DOOM.
Look at
for more information and future updates.

Read More

Comments on this File

There are no comments yet. Be the first!

Bernd Kreimeier

50 XP

Registered 26th May 2005

1 Files Uploaded

Share This File
Embed File