Documentation:


1. Installation

  1.1 Getting Started
  1.2 Software Requirements
  1.3 Running the Game
  1.4 Sound Options
  1.5 OSS Audio workarounds
  1.6 Networking/Multiplayer
  1.7 SaveGames and Configuration files
  1.8 Thanks

2. Notes

  2.1 Tweaks
  2.2 Mods and Crazy Polygons
  2.3 Lines on Screen
  2.4 Hardware Acceleration
  2.5 System Stability
  2.6 Other
  2.7 Links


----------------------------------------------------------------


1. Installation
---------------


1.1 Getting Started
-------------------

Linux Hexen II requires Hexen II game files updated to version
1.11. There are two ways to do this:

a. Using the installer (easy way):
   The installer will get the files from your original cdroms,
   apply the latest patches (gamedata 1.12g) and install the
   binaries for you. The names of the Hexen2 binaries are:

	hexen2	 -  Software Hexen II
	glhexen2 -  OpenGL Hexen II

   The second option will allow you to install the Mission Pack
   "Portal of Praevus", should you have it. All you need to do
   is choosing the Praevus support check-box and readying your
   cdrom. The names of the binaries are:

	h2mp	-  Software Portal of Praevus
	glh2mp	-  OpenGL Portal of Praevus

   Third option on the installer is HexenWorld Multiplayer
   support. No cdrom is necessary for this option. Names of
   the binaries are:

	hwcl	-  HexenWorld Client (software)
	glhwcl	-  HexenWorld Client (OpenGL)
	hwsv	-  HexenWorld Server

b. Manual install/update of datafiles (harder way):
   Copy the "data1" directory from the Hexen2 CD to your Hexen2
   directory, do NOT overwrite what is already provided by the
   HoT packages. Do a " chmod 644 data1/* ". All files should be
   lower-cased, if not already, and can be done with mv_lowercase
   from the file-rename-utils archive (see Links). To patch your
   data files, type " sh update_h2 " (this update script and its
   requirements are included in the HoT-1.2.4 binary package).
   Confirm the patching by checking with the following md5sums:

   c9675191e75dd25a3b9ed81ee7e05eff  data1/pak0.pak 
   c2ac5b0640773eed9ebe1cda2eca2ad0  data1/pak1.pak


1.2 Software Requirements
-------------------------

   SDL (min.: 1.2.2)	  : Simple DirectMedia Layer libraries
			    1.2.7 and newer highly recommended.

   SDL_mixer (min.: 1.2.0): Required for midi support (should
			    be compiled with timidity+ support)
			    1.2.5 and newer highly recommended.

   ALSA (min.: 0.9.8)	  : Advanced Linux Sound Architecture
			    libraries and kernel modules.
			    Necessary, if you use alsa-sound.
			    1.0.7 (or newer) recommended.

   nasm (0.98 +)	  : x86 assembler (if you compile your
			    own binaries.) 0.98.38 recommended


1.3 Running the Game:
----------------------

Simplest way of running the game is running the game launcher.
Either choose it from your start menu, or type "hexen2" on the
command line. Choose your options and press "Launch Hexen2".

Old school way of running the game: Go into the installation
directory and run the binary. The default mode is windowed.
Use "glhexen2 -f" to start the game in full-screen mode. The
following options are accepted:

 -f | --fullscreen	Run the game fullscreen
 -w | --windowed	Run the game windowed
 -g | --gllibrary	Select 3D rendering library
 -width Width		Select screen size
 -height Height		Must be used with -width
 -bpp			Color depth for GL fullscreen mode
 -nomouse		No mouse in windowed mode
 -heapsize Bytes	Heapsize
 -sndalsa		Use ALSA for audio
 -sndsdl		Use SDL for audio
 -nocdaudio		Disable cdrom music
 -nomidi		Disable MIDI music
 -listen N		Enable multiplayer with maximum N players
 -s | -nosound		Run the game without sound
 -v | --version		Display the game version
 -h | --help		Display this help message

Others may work, but aren't really supported.

You may wish to brighten the display with "xgamma". The script
I use is:

    cd /usr/local/games/hexen2
    xgamma -q -gamma 1.3;       # brighten the display
    ./glhexen2 -width 800 -height 600 -f -heapsize 48000
	    			# default heapsize is 32768
    xgamma -q -gamma 1;         # restore old brightness


1.4 Sound Options
-----------------

Linux Hexen II includes three sound drivers all in one binary:

a. OSS sound code
-----------------
The default sound driver uses OSS (Open Sound System) kernel
modules. It is compatible with most of the Linux distributions
but it is known not to work for some people, too. If you use
the game launcher, select the OSS option from the sound menu.
If you use command line, no additional arguments are necessary
for OSS sound. If OSS doesn't work for you, then please try
the other options below.

b. ALSA sound code
------------------
Second driver is based on the new ALSA (Advanced Linux Sound
Architecture) 1.0.x libraries and can be used with new Linux
distributions such as Mandrake 10.x, Fedora Core 2/3, Debian-
unstable and the like. If you use the game launcher, select
the ALSA option from the sound menu. If you use command line,
then start the game with "-sndalsa" argument. Example:

  # ./glhexen2 -sndalsa [other possible arguments]

c. SDL sound code
-----------------
This third option isolates you from many compatibility issues
and should be usable on most Linux distributions.  If you use
the launcher, select the SDL option from the sound menu.
If you use command line, then start the game with "-sndsdl"
argument. Example:

  # ./glhexen2 -sndsdl [other possible arguments]


If you can't get the sound working, "-nosound" argument will
disable it. Send a bug report on the project page.


1.5 OSS audio workarounds:
--------------------------
If you *really* have to use OSS and it doesn't work, you may try
using the ALSA kernel sound modules (doing that on a distribution
which doesn't come with ALSA by default isn't very easy, though.)
Once the alsa sound modules are installed and configured, you can
do (for example, on Mandrake):

    rmmod emu10k1          ;# remove OSS sound module for SBLive
    /etc/init.d/alsa start ;# start ALSA sound modules

Make SURE oss-emulation is enabled: lsmod should list snd-pcm-oss.
Check with alsamixer that the volumes are not turned down to zero.
With ALSA + OSS Emulation, oss-sound in hexen2 should work fine.
On Mandrake (9.0 and newer), Fedora Core (2 and newer) and SuSE
(8.2 and newer) alsa-0.9.0 or better is already included. Users
of Fedora Core 1, RedHat 9 and older can see the FreshRPMS site
and the ALSA site for alsa-sound support.


1.6 Networking / Multiplayer
----------------------------

Linux Hexen II binaries here WILL NOT play over network with
Windows Hexen2-1.11 binaries:  Do not try, it simply WON'T.
However: The mission pack IS compatible across platforms.

This has nothing to do with us: Raven didn't give us original
Hexen2-1.11 source, and the network code had changes during
the 1.11-1.12 transition. We only have the 1.12 sources.

Deathmatch, TeamPlay, etc:
	- HexenWorld is highly recommended at both sides.

Cooperative games:
	- Linux side  : (gl)hexen2 or (gl)h2mp,

	- Windows side: * (gl)h2mp (original CD version), or
			* jshexen2 executables, or
			* Pa3pyX' 1.14-1.15 executables

	should work just fine with each other.


Here is a network-compatibility table:

==============================================================
Binary		Windows		Linux	  Game		Status
==========	===========	========  ==========	======

(gl)hexen2	<= 1.11		>= 1.12	  Hexen II	FAILS
		>= 1.12 (*)	>= 1.12	  Hexen II	Runs
==========	===========	========  ==========	======

(gl)h2mp	>= 1.12		>= 1.12	  Hexen II	Runs
					  Miss. Pack	Runs
==========	===========	========  ==========	======

*) Recompiles/ports of the source such as the ones from Pa3Pyx
   or jshexen2, newhexen and such.
==============================================================


1.7 SaveGames and Configuration files
-------------------------------------

Your savegames and configuration files are stored in a folder
named  .hexen2 in your home folder:  ~/.hexen2   For the demo
version, it's ~/.hexen2demo instead.

Saves/configs for Hexen2 are stored directly under ~/.hexen2/
For the Mission Pack, they are stored under ~/.hexen2/portals/


1.8 Thanks
----------

Thanks to ID Software, Raven Games and Activision for a great
game and for supporting open source software. Also thanks to
Dan Olson and Clément Bourdarias for the initial Linux port
(AoT) and to Sourceforge.net for hosting HoT.
Mega thanks to all the unheralded Doom/Quake/Hexen modders.


----------------------------------------------------------------


2. Notes
--------


2.1 Tweaks
----------

Quake games are very friendly to tweakers. The best performance
gain I have found is by increasing the value  "_snd_mixahead".
For users with slow video cards, changing the gl_ variables may
speed up your system. Here are just a few of those that can be
changed. For more info see various Quake tweaking sites.

variable	values
--------	------
_snd_mixahead	0.1 - 0.9 : 0.1 = less latency,
			    0.9 = better performance

gl_ztrick	0|1	  : 3% performance tweak
			    (some cards unsupported)

gl_picmip	0|1|2	  : 0 is default. 1 and 2 scale down
			    the textures (low quality), but
			    the help screens and some small
			    fonts become unreadable and ugly.

gl_playermip	0|1|2

gl_texturemode	gl_nearest	(least quality, best speed)
		gl_nearest_mipmap_nearest :	    ^
		gl_linear_mipmap_nearest  :
		gl_linear_mipmap_linear   :	    v
				(best quality, least speed)

snow_active	0 - 255	 : 0 =  none,
			   1 =  normal (amount designated by
				the map), and higher acts as
				a multiplier


2.2 Mods and Crazy Polygons
---------------------------

Some mission-packs/mods for Quake based games can cause existing
player and monster models to be drawn with lines all over the
place.  To fix this, delete the directory  ~/.hexen2/glhexen
and/or  ~/.hexen2/portals/glhexen.  When you next run the game,
it will remake this directory and everything should be fine.

The biggest mod I've seen for Hexen II is the awesome Fortress
of Four Doors (fo4d.zip). Make sure to check out the botmatch
mod "hcbots" available at our project page.


2.3 Lines on Screen
-------------------

A common problem (esp. with 3dfx cards) is flickering lines
across the screen caused by gl_ztrick. To fix this, bring down
the console with the '~' key and enter 'gl_ztrick 0'.
With fresh installations of HoT-1.2.3 and later, this option
is disabled by default.


2.4 Hardware Acceleration
-------------------------

Setting up hardware OpenGL acceleration under Linux used to be
a big deal in the past. Modern distros do this automatically
now.

Nvidia's drivers for all of their modern video cards are not
open source, and because of this many distributions do not
include them. If your Nvidia card is running slowly, this is
probably the cause, you should visit Nvidia.com to download the
linux installer. In my experience these drivers are great, but
not all versions work 100% with all cards. If you have a
misbehaving Nvidia video card, try a different (older) driver.

Linux kernel 2.6.8 / Nvidia driver version 6111 /TnT card and
possibly other cards and kernels have issues with the GL game.
Upgrade to NVIDIA-Linux-x86-1.0-7167 to fix these problems.
If you don't want to change your nvidia driver and the game seems
to halt, try using the alt-enter key combination to switch to
windowed mode and redraw the screen. This behaviour is the same
for glquake.

3dfx Voodoo1/Voodoo2 is no longer hardware accelerated under
recent XFree-4.0 releases.  For OpenGL acceleration of 3dfx
Voodoo Graphics/Voodoo Rush/Voodoo2 boards, you will have to
use old versions of XFree86 (3.3.x), Glide, and Mesa compiled
against Glide.  Setting up a Voodoo1/Voodoo2 card under linux
can be a bit of work.


2.5 System Stability
--------------------

3D games are probably the most intensive workout you can give
your PC. Problems with them are not always easy to track down.
I recently had some trouble with glquake which I eventually 
racked down to Mandrake's XFree86-4.3 packages - probably due
to compiler pentium optimizations. I switched to XFree86-4.3
(from Redhat-9.0) and quake now is rock solid.

I've also had crashes in 3D games associated with

  * Hard drives overheating, seizing system.
  * Bios ram settings being too aggressive, crashing game.
  * Cpu overheating with unpredictable results.


2.6 Other
---------

"Thyrion is the world Hexen II takes place in.  An anvil is used
by blacksmiths to create weapons and tools.  I stole the anvil
paradigm from AoT's distant cousin, QuakeForge.

"Raven didn't give us Hexen 2 source, they gave us Portal of
Praevus source. PoP is a few levels short of being an entirely
different game....  I think once I nail a few simple physics
bugs, we'll have PoP emulating Hexen 2 quite nicely, but it's
been suggested that I'll need a whole different physics engine."

- Dan Olson


2.7 Links
---------

Hammer of Thyrion  :  http://sourceforge.net/projects/uhexen2
Anvil of Thyrion   :  http://aot.linuxgames.com/
Pa3Pyx source-port :  http://sky.prohosting.com/pa3pyx/
JSHexen2 port      :  http://jurajstyk.host.sk/
Hexen II FAQ       :  http://www.raven-games.com/hex2faq/
Linux GlQuake      :  http://mfcn.ilo.de/glxquake
ALSA sound         :  http://www.alsa-project.org
Lowercase Utility  :  http://sourceforge.net/projects/filerenameutils