============================================================
Mod name:         Phineas Bot
Version:          0.21 (unofficial preview 2)
Release Date:     August 21, 1999
WWW site:         http://www.planethalflife.com/phineas
Author:           Leon Hartwig (jehannum@planethalflife.com)
Platforms:        Win32 + Half-Life client 1.0.1.3
                  Win32 + Half-Life dedicated server 4.0.1.3
                  Linux + Half-Life dedicated server 3.0.1.4
============================================================

DESCRIPTION
===========
Phineas Bot is a multiplayer-only, server-only mod for Half-Life that
introduces computer opponents (bots) into standard and teamplay
deathmatch games.

It was built with Microsoft Visual C++ 6.0, using the Half-Life Standard
SDK.  My build/test system for Win32 is a Celeron 300A @ 450 Mhz, 256MB
RAM, and Matrox Mystique G200 graphics card, running Windows 98.  My
build/test system for Linux is a Pentium 233MMX, 64MB RAM, running Red Hat
5.1 mixed with some custom package installs.

INSTALLATION
============
Before installing, check to make sure that you have updated your Half-Life
program to the version specified above in 'Platforms'.  This mod will NOT
work properly (if at all) with older versions of Half-Life.

Two methods of installation are possible:

 INSTALL METHOD 1 (Win32):
  Extract this archive into the main Half-Life folder.  The archive is
  built with pathname information, so make sure to extract with a
  'use folder names' type of option enabled.  If properly extracted, a new
  folder named 'phineas' will be created in the main Half-Life folder,
  containing all of the Phineas Bot folders and files.  Make a copy of
  the shortcut that you use to run the Half-Life game, and open up the
  'Properties' of the new shortcut.  Add the following text to the
  command line/target:

   -game phineas

  That's it.  Accept the changes of the modified shortcut and you can now
  use it to play Phineas Bot.  You may wish to copy over existing config
  files (such as autoexec.cfg, or hw/*.cfg files) from your 'valve'
  folder into equivalent locations in the 'phineas' folder.

 INSTALL METHOD 1 (Linux):
  Extract this archive into the main Half-Life directory, If properly
  extracted, a new directory named 'phineas' will be created in the main
  Half-Life directory, containing all of the Phineas Bot directories and
  files.  To start a Phineas Bot server, add the following to the hlds_l
  command line:

   -game phineas

 INSTALL METHOD 2 (Win32):
  Manually extract or copy the 'phineas.dll' file into your 'valve\dlls'
  Half-Life sub-folder and the 'bots.ini' file into your 'valve' folder.
  DO NOT copy the 'liblist.gam' file over your existing
  'valve\liblist.gam' file.  Instead, use a text editor to edit the
  'valve\liblist.gam' file and change the 'gamedll' from "dlls\hl.dll"
  to "dlls\phineas.dll".  Now, when you start Half-Life or HLDS, Phineas
  Bot will be enabled by default.

 INSTALL METHOD 2 (Linux):
  Manually extract or copy the 'phineas_i386.so' file into your
  'valve/dlls' Half-Life sub-directory and the 'bots.ini' file into your
  'valve' directory.  DO NOT copy the 'liblist.gam' file over your existing
  'valve/liblist.gam' file.  Instead, edit the 'valve/liblist.gam' file and
  change the 'gamedll_linux' from "dlls/hl_i386.so" to
  "dlls/phineas_i386.so".  Now, when you start the Half-Life server,
  Phineas Bot will be enabled by default.

The first method is the standard method for installing mods.  The problem
with this method is that no maps or models will show up in the game
configuration menus.  To fix this, the maps and models you want to use
need to be copied from your 'valve' Half-Life folder into equivalent
locations in the new 'phineas' folder.  To use the default Half-Life maps
such as Datacore, Lambda Bunker, etc., the pak0.pak file must be copied
over, or you must use a utility such as Pak Explorer (which can be
obtained at http://quakestuff.telefragged.com/) to extract just the maps
you want.  To use downloaded or custom maps and models, they need to be
copied from the 'maps' and 'models/player' folders.

The second install method requires no copying of maps and models, but
requires the 'liblist.gam' file to be manually edited if you need to
switch between Phineas Bot and the regular Half-Life single player mode.
The second method has the added bonus of showing up as standard Half-Life
in server lists such as Gamespy, rather than as being a mod.  Since
Phineas Bot is a server-only mod, players connecting to the server do not
need to have it installed, so this is a good way to add bot play to a
regular Half-Life internet server without losing your player base.

USAGE
=====
Getting bots into a game is as easy as setting up a simple
configuration file.  Included in this archive is a sample 'bots.ini'
file that is fully documented and can be edited to your liking. There is
no need to use any console commands to get bots into the game; it is all
handled automatically based on the information in the configuration file.

Server commands:
"bot add"
  This is not necessary to use since the configuration file can
  automatically handle the adding of bots.  However, it may be useful to
  some people to be able to manually add a bot.  NOTE: This command can
  only be used once per second, and will only add bots from the config
  file.  You can not specify a name, model, and colors with this command.

Server variables:
"botcfgfile" (Default = bots.ini)
  This is the filename of the configuration file.  It is "bots.ini" by
  default.  Unless you want to change the name of your configuration file,
  you won't have to use this.

"pb_traceview" (Default = 0)
  Setting this to 1 will allow you to see where the bots are looking around
  them when deciding on a course of movement.  Useful for debugging
  navigational problems.  (Not recommended if more than 1 bot is in the
  game)
 
TROUBLESHOOTING
===============
If you encounter any problems with installing or using Phineas Bot, I
encourage you to visit the Phineas Bot web site, located at:

http://www.planethalflife.com/phineas

The web site contains a FAQ (Frequently Asked Questions) page, and a link
to the Phineas Bot discussion forums.  If your problem is not addressed
within the FAQ, I strongly urge you to visit the forums.  Most likely,
someone else has already asked about the same problem you are having,
and a solution will be posted.  If not, you can ask your question there
and I, or another Phineas Bot user, will address it where everyone can
benefit from the answer.

WHAT'S NEW IN THIS VERSION?
===========================
  * Fixed a problem with the scoreboard where new clients joining a game
    would inherit stats from clients no longer in the game.
  * Bots with multiple word names are now properly removed from the
    server during map changes.
  * The " character is no longer allowed in bot names or their model names.
  * Autoaim can be enabled without causing a game crash.
  * All known crashes caused by map events are fixed when using the
    1.0.1.3 Half-Life patch.
  * Bots now use snarks.
  * Bots now react to damage taken.  This behavior is in a primitive form;
    if there is nothing else a bot wants to do at that time, it turns and
    faces the direction the damage came from.
  * Fixed death animations sometimes being cut short.
  * Bots now have the same field of vision that human players do, rather
    than having 360 vision (eyes in the back of their head).
  * Bots now use ladders (just not very well).
  * Improved the bots navigation of levels when they are roaming around
    between bouts of combat.
  * The 'bot' command (no longer necessary, but still functional) is now a
    server command, rather than a client command.  To add a bot, the
    command is now 'bot add'.  Currently, no name, model, or colors can be
    set using the command; it only adds bots from the configuration file.
  * Added full support for the bots.ini configuration file, which automates
    bot additions to a server.
  * Bots now turn smoothly, rather than instantly pointing any direction.
  * Bots now know which weapons do not work underwater.
  * Bot model colors can now be set.
  * Bots can now push buttons for lifts they are standing on.
  * Bots no longer attack teammates when teamplay is enabled.
  * Bots no longer always aim for the head.
  * Bots now use health and battery wall chargers.
  * Improved the smoothness of bot movements and animations.
  * Bots now use the crowbar more often.
  * Bots no longer hover around weapons when mp_weaponstay is enabled.
  * Bots use the sv_maxspeed setting for their run speed, rather than
    a constant of 270.

KNOWN PROBLEMS
==============
Aside from the main problems with the bot navigational and situational AI
being farily poor, some specific issues are:

* If you are using the Win32 or Linux dedicated server (hlds or hlds_l),
  avoid using the 'changelevel' command.  There are still issues with the
  engine that prevent the bots to work properly after using this command.
  The 'map' command, and level changes due to mp_fraglimit or mp_timelimit,
  will work fine, however.
* The bots don't know not to use the gauss primary fire when there is only
  one ammo unit left
* The bots don't know not to use the secondary shotgun fire when only one
  shell in the gun.
* The bots do not use hand grenades, tripmines, or satchels.
* The bots do not avoid dangers like hand grenades, snarks, tripmines, etc.
* The bots are not very proficient in ladder climbing.
* The bots do not fare well at all when in the water.

CREDITS
=======
Thanks to, in no particular order:

Valve Software (http://www.valvesoftware.com)
 For creating Half-Life and providing its customers with the SDK that
 allows the creation of mods like this.

John Cook of Valve Software (johnc@valvesoftware.com)
 For helping me with every problem or question dealing with the SDK that
 I sent his way.

Mike Harrington of Valve Software (mike@valvesoftware.com)
 For providing a _rotr() function that I needed for the Linux port.

Planet Half-Life (http://www.planethalflife.com) and
The Gamespy Network (http://www.gamespynetwork.com)
 For hosting the Phineas Bot web site and forums.

Lee Robinson (lee@leerobinson.f9.co.uk)
 For designing the layout and creating the logos for the Phineas Bot web
 site.

Bot Epidemic (http://www.botepidemic.com)
 For posting a news update every time a pixel changes on the Phineas Bot
 web site.

COPYRIGHT/LICENSE
=================
Copyright (C) 1999  Leon E. Hartwig III

This archive is presented by the authority of Leon E. Hartwig III and is
intended for the private use of my supporters.  Any redistribution or
other use of this archive, or any portion thereof, without the express
written consent of Leon E. Hartwig III, the Dallas Cowboys, and the
National Football League is prohibited.
