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.
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 doom3/mod_doom/sounds/doom/ 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). USAGE ----- 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... HISTORY: -------- Release1-2005023 Beta3-20050502 Beta2-20050413-windows Beta2-20050408 Beta1-20050401 started on 2005/03/23 LEGAL: ------ - 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. CREDITS: -------- 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) OUTLOOK: -------- Interactive GUIs can be used for better purposes than Terminal DOOM. Look at http://www.battleteam.net/tech/fis/ for more information and future updates.
There are no comments yet. Be the first!