LsdlDoom v1.4.4.4
=================

Doom is a 3d shoot'em'up game, written by id Software, first released in
1993. 

LsdlDoom is a version of Doom, designed to run on any systen that supports
SDL. Doom is a 3D game originally by id software.

LsdlDoom is based on LxDoom, a freely available Linux specific version of Doom,
which is released and maintained by Colin Phipps (http://lxdoom.linuxgames.com/)

LsdlDoom is released and maintained by Jess Haas (jessh@lbjhs.net). See the 
LsdlDoom home-page at http://firehead.org/~jessh/lsdldoom/ for information 
about Doom and LsdlDoom.

If you have comments, contributions, or bug reports about LsdlDoom, please 
email me at jessh@lbjhs.net

LsdlDoom is free software - see the files AUTHORS and COPYING for details.

Requirements
------------

- a copy of Doom, Doom ][, Ultimate Doom or Final Doom. The only file you
  need from these is the "IWAD file", the main Doom data file, called
  doom.wad or doom2.wad. Or, you can use the doom1.wad from the shareware
  release of Doom.

Features
--------

* Boom compatible:

LsdlDoom is based on the source code for Boom (final release 2.02). 
That means that

- all the original Doom & Doom ][ levels work
- virtually all bug-less Doom & Doom ][ PWAD files should work
- the majority of Doom & Doom ][ v1.9 demos should work (maybe others too)
- all Boom PWAD files and demos (for v2.02) should work
- Dehacked patches and BEX patches are supported using -deh parameter

The command line parameters for all these features are the same as for Boom.

* Enhancements from Boom:

LsdlDoom has been substantially enhanced since Boom, with lots of improvements:
(inherited from lxdoom)

- lots of bug fixes and code improvements, many incorporated from MBF
- support for MBF's enhanced Dehacked support, skies and new code pointers
- configurable multi-player colours
- total game time shown on intermission screens
- made more portable so it will run on different OS's and architectures
- auto-loading of wads
- games can be loaded or the level restarted during a net-game

* DirectX5 and Windib support under Windows 9x, 2000 and NT

* High-res - LsdlDoom can run at resolutions higher than old Doom's fixed 
320x200, in fact as high as 1600x1200 in theory.

* Sound support: Sound is supported by SDL. Music requires the SDL_mixer
library.

* Networking: Network support is included for net-games over TCP/IP based 
networks. 

* Better diagnostics: More error messages and warnings are given than old 
Doom used to, e.g.: warnings when a screen-shot or saving a game fails, or 
when loading a game with different WAD files loaded, or when LsdlDoom
fixes errors in buggy PWADs.

* Automap overlay and rotation; just press O and R in the automap to see what 
I mean. I haven't got around to adding those keys to the menu, but you can 
change them in the config file.

* Misc: Joystick support, 'multitasking-friendly'. Also a few new cheat 
codes, IDBEHOLDM for a mega-armour, and IDBEHOLDH for 200% health, and that's 
in addition to all the cheat codes that Boom added. Also IDRATE shows the
current framerate and some other rendering stats, which are useful to
developers.

High-Res Support
---------------

To set the resolution to use, specify the -width and -height parameters to 
lsdldoom. So:

lsdldoom <other parameters> -width 640 -height 480

gives you a 640x480 window. Bear in mind though that a larger window means that 
LsdlDoom has to do more work rendering, so it will run slower on old computers. 

lsdldoom remembers the last screen resolution set in this way, so you don't need to 
add these parameters every time. However, should you wish to override the 
resolution for the current time you run lxdoom only, you can use the -geometry 
parameter, e.g. lxdoom -geom 320x200. 

Other Devices
-------------

Items in this section relate to other input/output devices supported by LsdlDoom.

* Sound:
You can disable sound support with the '-nosound' parameter. You may want to do 
this if:
- you have no sound card
- your kernel is not compiled with sound support
- the kernel driver for your card does not provide /dev/dsp support
- your computer is too slow to cope with sound processing
- you want to run multiple copies of LsdlDoom

Multi-player - Over a TCP/IP network
-----------

As of v1.3.7, LsdlDoom has a client-server system for network games. There
is a server program, lxdoom-game-server, that comes with lxdoom. To play
a network game, follow these steps:

- on one computer, which I will call the server, run the lxdoom-game-server 
program. The parameters you specify to this program control the type of game 
to be played. So for example lxdoom-game-server -dnN 2 -e 4 -l 3 specifies 
that there will be 2 players, playing episode 4 level 3; -dn specifies 
death-match and no monsters respectively. For more details of the parameters 
lxdoom-game-server accepts, see the man page for it; but these should be 
enough to start with.

- Each player to take part in the game runs lxdoom with the parameter 
-net server, where server is the host name of the server. lxdoom will wait for 
the specified number of players to join, and then will start.

So an example: at home I have 2 machines, called vale and portico. To start a 
nice coop game of Doom 2, I run

on vale: 
lxdoom-game-server -N 2 -l 1 &
lsdldoom -net localhost

on portico:
lsdldoom -net vale

Happy fragging... but here are some notes:

- packet loss and limited bandwidth may make a network game unplayable. A LAN 
is great; just don't expect good play over the Internet, especially if you 
connect via a modem. This is being worked on.
- all the players' machines must be connected to the server machine via a 
TCP/IP network, and able to exchange UDP packets with the server. Some 
routers and firewalls may block UDP packets, so you will not be able to play 
across such obstacles.
- maximum number of players is currently 4.

