


                           ͻ
                                             
                             DoomShell V4.0  
                                05-01-95     
                            by Ruud van Gaal 
                                             
                           ͼ




ͻ
                              INTRODUCTION                                   
ͼ

DoomShell is a program created to take the hassle out of the parameter-
jungle which Doom and Doom II offer. It was born out of frustation over those
programs which offer this kind of support, but use an interface which is
just not acceptable anymore in these days of virtual cyberspace. This program
was devised with the hasty user in mind, and will hopefully revive your
interest in all the possibilities that Doom has to offer.
    The program currently handles the Doom I & II (V1.666, 1.7, 1.7a)
versions of Doom. The program automatically detects which Doom is used
(simply by checking whether DOOM2.EXE exists), and adjusts the possible
choices here and there.
    DoomShell is NOT a product of id Software and thus will not be supported
by them in any way. You may copy it freely across the world if you include
at least all 4 files mentioned in the installation chapter below. Yes, that
means it is public domain.


ͻ
                             INSTALLATION                                    
ͼ

The DoomShell files should be unzipped right into your Doom or Doom II
directory (so no CD-ROM support, yet). You must have the registered version
(if you don't, just go out to a store and BUY one; we wouldn't want ID to
delay Doom III just because it wasn't worth the effort!).
As an example, suppose you have installed Doom II in C:\DOOM2. Just type:

    C:
    CD \DOOM2
    PKUNZIP <path>\DOOMSHEL.ZIP

PKUnzip (2.04g) is freely available across the globe, so this shouldn't be a Q.

The following 4 files are supplied:

DOOMSHEL.EXE - The one-time selection program (spawns Doom)
DOOMSHEL.INI - Configuration file to memorize the results of your clicks.
DOOMSHEL.TXT - This file (how about that!)
SHELL   .BAT - A small batchfile which you should run from now on instead
               of DOOM.exe or DOOM2.exe

The following files will be created at one time or another, and should not
be included in a distribution package.

DOOMSHEL.MDM - Modem file containing all modem information. Will be created
               from MODEM.STR automatically when first used. The list will
               be ordered.
DOOMSHEL.RSP - Response file which is created when starting a game.
               It is a normal Doom response file.
DOOMSHEL.WDB - The WAD database
DOOMSHEL.___ - Temporary filename, used here & there.

The following (existing) Doom files will be adjusted by DoomShell:

DEFAULT.CFG  - This file contains the chat texts. After you click OK in the
               Chat Macros dialog, the file is modified (quite safely). No
               assumptions are made to the contents of the file, except for
               the existence of the macro-lines.
MODEM.CFG    - This file contains the current modem configuration. After
               clicking Save in the 'Setup modem' dialog, this file is
               written.

If you can run Doom, you should also be able to run DoomShell. This means:
  o  80386 or higher required
  o  VGA required
  o  1Mb of RAM required
  o  MS-DOS 5.0 or higher is recommended (as is a 486DX2-66 and 8Mb RAM)


ͻ
                          WHAT IT DOESN'T DO                                 
ͼ

After having installed DoomShell in your Doom directory, the only thing
you should normally run from that time on, is SHELL.BAT. DoomShell doesn't
setup your hardware; this you should do using SETUP.EXE. You can run it
through the button marked 'Run SETUP'. Don't 'Save & Run Doom' from within
SETUP; just save and quit to the DoomShell.
The -config parameter has not been implemented because of lack of
usability (who uses it anyway).
There are also some switches which are not described in the official
documentation that id Software supplies, like -left and -right for extra
side views when using a network. These have not been implemented, to insure
better compatibility with current and future versions. Hasn't anybody
learned about using undocumented MS-DOS calls? It's persistent use has made
MS-DOS the messy garbage it is today (not too mention the impossible
compatibility issues programs like Dr-Dos have had to overcome).
Also, no TCP/IP support is given. Perhaps when this will be integrated
into the Doom package, I will follow. For now, I just don't have it!


ͻ
                             HINTS & TIPS                                    
ͼ

- If you use some kind of IPX network driver, you can modify SHELL.BAT
  to automatically startup the necessary drivers. This will avoid forgetting
  to start them yourself. Just insert your lines at the top of the file.
- Register your Doom version. These guys deserve to be millionaires.
- You can make screenshots (.PCX) by turning on the development checkbutton;
  pressing F1 inside Doom will then create a screenshot file in the current
  directory (DOOM??.PCX).
- In the map view, you can see the player start locations. Green locations
  are normal player starts, red locations are deathmatch starting points.
- When creating your own WADs, be sure to save them as PWADs, not as IWADs!
  I have seen some IWADs, which Doom sadly accepts as PWADs. This forces
  me to support this 'feature'. An IWAD is used for an initial WAD (DOOM.WAD
  and DOOM2.WAD); a PWAD is a patch-wad, and every WAD ever created by non-ID
  people should probably be PWADs.
- Be sure to regularly check for new versions of DoomShell (see below for a
  BBS number). You might miss something great!
- If you don't feel like strategic play, you can always use these cheatcodes
  while inside Doom. Here's a quick list:

    IDDQD       - God mode
    IDKFA       - Add all weapons, maximum ammunition, keys, 200% armor
    IDFA        - Like IDKFA, but you don't get the keys.
    IDCLIP      - Doom II. No impassable walls. Is IDSPISPOPD in Doom I.
    IDSPISPOPD  - Doom I. No impassable walls. Is IDCLIP in Doom I.
    IDCLEVxy    - Jump to level xy
    IDMYPOS     - Shows your position
    IDCHOPPERS  - You've got the chainsaw!
    IDBEHOLD    - Shows a small menu to add/toggle some useful items
                  R=Anti-radiation suit
                  I=Invisibility
                  V=Invulnerability
                  A=Computer map
                  L=Light amplification visors
                  S=Berserk mode

    IDDT        - While in map view, use this to cycle through some map modes
                  (normal, all items, all items+objects)


ͻ
                            THE WAD DATABASE                                 
ͼ

Since version 3.0, a very handy WAD database is part of the package. This
lets you keep a list of your favourite WADs, containing useful information
on each of them. The database will grow as you select and use WAD files.
When you run Doom using a WAD file, DoomShell will automatically notice this
upon return and allow you to insert the WAD into the database. From then on,
you can call up the database by clicking on the '?' right behind the WAD
file requester gadget (External WAD file). You can edit the WAD specifications
after having run them by pressing SPACE in the database list. Using DEL
you can also delete them. The list is kept ordered alphabetically.
You can speedsearch through the list by pressing a letter or digit.

The dialog you see when editing an existing WAD record, or entering a new WAD
record, consists of some editable, and some non-editable data fields.
You can give the WAD file a handy description, to relieve your brains.
You can also give the WAD a rating from 0 to 10, and a difficulty level
from 0 to 10. Hereby, see 0 as Bad/Easy, and 10 as Fantastic/Really Tough.
You can check/uncheck the 'Single player', 'Cooperative' and 'Deathmatch'
checkboxes to indicate one or more preferred playing modes (a WAD file
with no monsters at all will have only the 'Deathmatch' box checked).
Underneath these 'Characteristics' you see some information about the
usage and filename (to aid you in retrieving the WADs you like).

The database list uses a compressed view of the actual records. A typical
line will look somewhat like this:

  MYWAD  r0  S.D  d0  4-1-95  1h23m  1x  E2M1+  My first WAD-file.

The information you see is:
- MYWAD                 The WAD name (no extension or path)
- r0                    Rating
- S.D                   Single player, Cooperative and Deathmatch flags.
                        Each flag is abbreviated by its first letter.
                        So .CD would mean Cooperative and Deathmatch checked.
- d0                    Difficulty level
- 4-1-95                Last date you played the WAD
- 1h23m                 Total playing time (seconds are not displayed)
- 1x                    The number of times you played the WAD
- E2M1+                 The level that the WAD file modifies.
                        The '+' sign is added if the WAD file contains
                        more than 1 level (they are mostly contiguous).
- My first WAD-file.    The description

I hope this will aid you in understanding the structure of the database.
Really, this is one of the finer features in DoomShell, in my personal opinion.
For large databases, using SMARTDRV or a 486DX2-66 helps (I think Doom II
even requires a 486DX2-66 to play nice).


ͻ
                             TROUBLESHOOTING                                 
ͼ

Although I did my very best to keep the code clean & simple, you may be that
lucky sob that unravels a tiny flaw in the semantic or syntactic flow of
DoomShell. I would be glad if you told me about it. At the end of this file
you can see where to send your (e)mail. Ofcourse, any suggestions regarding
any part of this tool (future enhancements) are welcome. Also, if you see
or think you see a BETTER DoomShell than this one, I would be thankful if
you mailed me about it; keeps the competition going!

Here's a troubleshooting list:

Q: I am not able to select any options, since I don't have a mouse pointer.
A: DoomShell requires a mouse driver to be installed and running. Make
   sure your mouse is activated.

Q: Whenever I try to start a game, I receive a 'Bad command or file name'
   error.
A: DoomShell must be installed into your Doom directory (C:\DOOM for example).
   If not, it will not be able to start Doom.

Q: I sometimes get a message stating 'According...you have playing the same
   WAD for over 4 hours...'. What is it for?
A: The time you use a WAD is calculated by comparing the time of starting
   Doom to the time you quit Doom. The 4 hour limit is a protection for
   people who just leave Doom hanging on and on, while not actually using
   the WAD file. This message is used to find out whether you are really
   such a fanatic that you run the same WAD file for more than 4 hours
   continuously, or that you just left it hanging on. If you don't want
   to record the time-lapse, just click Cancel. Otherwise, click Continue
   (you might then consider having other hobby's as well).

Q: Can I get a map view of my 2nd external WAD file?
A: No, you can't. For the database and map view features, the first WAD
   is taken to be the main WAD. If you use more than 1 WAD, specify the
   WAD with the level-modifications as the 1st external WAD file. That
   way, you'll store the correct name into the database, and you are able
   to use the 'View Map' option on your WAD.


ͻ
                             MISCELLANEOUS                                   
ͼ

Hurrah for id Software for creating such a cutting-edge-of-technology
3D program! Hopefully we'll see more, and perhaps also some variations
using the same graphics engine, which are perhaps attractive to those
people on Earth who don't play Doom because of the agressiveness. Raycasting
to the people! Now all we need is a banking trick!
    If you like this utility and want to support the creation of updates
for any new features and/or Doom III (!), then it would be most helpful
if you aid the author by making a cheque of $10 US payable to the following
account number: 31.06.40.512, RaboBank Breukelen, Holland.
    DoomShell was written using C, and compiled using Borland C++ 4.5. The user
interface is something I use for most of my projects, which perhaps explains
its quite developed look. The DoomShell source code is about 115K in size
(excluding the user-interface, font, mouse and database functions).
    Thanks must go to Matt Fell for his Doom-specs, which enabled me to write
a small map viewer.


ͻ
                                THE FUTURE                                   
ͼ

As with all programs, the list of future enhancements is only obstructed by
time, creativity and ethics. Care must be taken not to overflow the user with
options that damage the program in its goal to be a DoomShell, and not a
multi-megabyte monstrous program, which does everything from word-processing
to neural network game movement analysis (well, perhaps that would be nice!).
However, there are certainly a few things on the planning board:

  - A phonebook for the dial gadget in the Serial Setup dialog.
    This will be a small phonebook, containing names and numbers, plus
    the ability to edit, add or delete entries. For modem users.

  - Linked WAD files in the database. Sometimes you need more than 1
    WAD file for a level. A link field will make it possible to link up
    WADs to other WADs. When selecting such a WAD from the database, all
    linked WADs will be loaded automatically.

  - 3 external WADs (or perhaps even 4) instead of 2.

  - Automatic conversion of Doom I/II WAD files to Doom II/I.
    The problem with this nice thought is that you will need a separate
    WAD file which imports the missing items from one version to the other.
    I have in my possession a WAD file which makes it possible to use
    Doom I WAD files in Doom II. It is, however, about 750K large, and
    I find it hard to add it to this archive, making a giant leap from
    about 62K to 800K for the total package. Thus, this feature will
    probably not be implemented for a while (or perhaps separate the
    DoomShell package from the needed .WAD file(s)).

  - The map viewer is ofcourse a source of ideas, like showing vertices,
    things, secret pieces etc. etc. Enhancements will probably drip in now
    and then.


ͻ
                                 HISTORY                                     
ͼ

05-01-95/v4.0:

  WAD map viewing! Nice to preview a level, or perhaps to discover some
  secret areas. I think this was nice enough to boost the version number
  one full point. Does it look like I'm out of a job? (all those versions
  right after each other). Isn't this becoming THE ultimate DoomShell?

04-01-95/v3.1:

  Quick update on 3.0 (functionality didn't change). File requester now
  handles .. (parent directory) better. Forgot to fill in the day of the
  version date in the window title '??-01-95'. The shell tried to load
  a null-string WAD file after running Doom without a WAD (didn't crash on
  this). ^C and ^Break testing. Abort, retry, ignore, fail messages are
  now supressed. Automatically presses ENTER for you if you run Doom with
  a WAD file (to skip the 'This version has been modified' message). In all,
  some detail enhancements to make life just a tad easier!

04-01-95/v3.0:

  An automatically growing WAD database, with lots of nice features! IWAD-file
  support (should not be necessary, but there are some IWADs around that
  should have been PWADs). DOOM.WAD and DOOM2.WAD are not listed anymore
  in the file requesters. Modified SHELL.BAT a bit (to avoid WAD database
  updating at startup times after having reset whilst in Doom)!
  This version is developed enough to probably surpass every DoomShell-like
  program on the public domain and commercial market today. That WAS one
  of its goals. Docking sequence complete.

31-12-94/v2.2:

  WAD files are now checked for Doom I/II compatibility. Automatic setting
  of the level/episode buttons based on the information in the WAD file.
  SETUP.exe can now be run from within DoomShell. BBS notice (where you
  can find the latest version).
  Sorry about the quick follow-up!

29-12-94/v2.1:

  Increased maximum number of files in file requester from 256 to 1000.
  Removed bug from file requester, which did not show subdirectories because
  of the *.WAD pattern.

18-12-94/v2.0:

  Chat macro editing (from DEFAULT.CFG) for network chats. Savegame was packed
  into a single listbox to create room for the new 'Demo Recordings' group.
  Demo recording/playback now fully supported.
  Help function (F1) displays this file whilst in DOOMSHEL.EXE.
  Modem configuration and selection built in (although this is perhaps not
  really the task of DoomShell). Automatic building of modem database the
  first time it is used (in DOOMSHEL.MDM).
  Also some minor textual changes here and there to match SETUP.EXE a bit more.
  Small banner when running Doom.

01-12-94/v1.1:

  Second release. Fixed a tiny bug which caused the 2nd .WAD file never
  to be loaded into Doom.

31-10-94/v1.0:

  First release of DoomShell. For Doom v1.666 & Doom II.


ͻ
          CONTACTING THE AUTHOR FOR WHATEVER REASONS YOU MAY HAVE            
ͼ

I can be reached through cyberspace on planet Earth at the following address:

Internet: jwkorver@xs4all.nl

If you'd rather mail on a BBS, try:

BBS Waterland
+31-2990-40202 (24h online, 28K8 modem)
Mail to: Ruud van Gaal
(this BBS will always have the latest version of DoomShell!).

Or you can just write by physical mail to:

Ruud van Gaal
Lt. Maltbystraat 6
3621 KL
Breukelen
The Netherlands

Ofcourse, mail of any kind is appreciated!

ͻ
 Doom, Doom II and logos are trademarks of id Software, inc. (C) 1994,1995.  
 All other trademarks are the property of their respective companies.        
                                                                             
 DoomShell is a public domain utility and should be treated as such.         
 Use it at your own risc. All rights reserved.                               
ͼ

ͻ
 Three words for the future of id Software, inc.                             
   int bank,pitch;                                                           
ͼ

