======================================================
       ______   __   ___  _______  _______  __________
      /     /  / /  /  / /      / /      / /         /
     /  ___/  / /  /  / / ___  / / ___  / /___    __/
    /___     / /__/  / / /  / / / /  / /     /   /
    ___/  / /  __   / / /__/ / / /__/ /     /   /
   /     / /  / /  / /      / /      /     /   /
  /_____/ /__/ /__/ /______/ /______/     /___/
                   SHOOT    v 0.9.1
======================================================
       a game by Trevor Dodds and Ben Jones

This file was last updated on 23 May 2006.

Latest addition
---------------
Talk to other players using the microphone (press 'v' to talk!)

Quick start
-----------
Windows users: Double click shoot.exe, or run from the command line
with the option -h to display usage.

Linux users: run ./shoot or ./shoot -h for usage instructions.
       
Contents
--------
Where from...
-------------
http://www.sourceforge.net/projects/shoot

Files (Windows version, shootwin.zip):
--------------------
In this zip, you should find
shoot.exe  - game executable
server.exe - server executable (for multiplayer)
ShootCommand.bat - batch file used to open command line
glut32.dll     - graphics library needed to run the game
OpenAL32.dll   - sound library needed to run the game
readme.txt     - this file you're reading
CHANGELOG.txt  - version history
Level Files (.level)
Texture Files (.tex)
Texture Image Files (.bmp)
Sound Files (.wav)

Files (Linux version, shoot.tgz):
----------------------
shoot     - game binary
server    - server binary

libglut.so           |
libglut.so.3         | openGL libraries
libglut.so.3.7.1*    |

libopenal.a*         |
libopenal.so         | openAL libraries
libopenal.so.0       |
libopenal.so.0.0.7*  |

README    - this file you're reading
CHANGELOG - version history
Level Files (.level)
Texture Files (.tex)
Texture Image Files (.bmp)
Sound Files (.wav)

Installing:
-----------
Windows:
1. Unzip the zipfile shoot.zip to C:\ using your favourite zip program.
2. To run Shoot, go to the "Shoot" folder and double click on the 
"Shoot" file. This will run Shoot in its basic configuration, 
using level1.level
as the level to play/edit

Run shoot.exe in a command window to use command line options
(Run shoot -h for a list or see below)

           - - - - - - - - - - - - - - - - - - - - - -
Linux:
1L. Extract the contents of file shoot.tgz using the following command:

   % tar xzf shoot.tgz

This will create a directory called 'shoot' with the game contents.

2L. To run Shoot immediately type:
   % cd shoot
   % ./shoot

   (Use ./shoot -h for a list of command line options, or see below)

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

Running the game
----------------
To run Shoot with various configuration options, open a command 
prompt in the current directory. Shoot can be run with several command line 
arguments to change how it runs.

On linux, these can be found by using ./shoot -h
On windows, they are in a fixed order, as follows:

shoot.exe <level> <screen_size> <ip_address> <player_name> <window_position>
Not all arguments have to be specified, but you can only miss them out from the
end of the list. <screen_size> is either 0, 1 or 2 for normal window, fullscreen
and small window respectively. <window_position> is a coordinate for the top left
of the window specified using x,y

eg: for a single player game fullscreen
    shoot level3.level 1

    for a multiplayer game
    shoot dmcastle.level 1 127.0.0.1 Ted  (connect to localhost server)
    shoot arena.level 0 localhost Jim     (ditto)
    shoot arena.level 1 82.12.64.44 Bob   (Connect to 82.12.64.44)

linux example:
    ./shoot -l dmcastle.level -i localhost -n Trev -f

Note: Levelname must be supplied when connecting to multiplayer game

Multiplayer
-----------
  Setting up the server
  ---------------------
To run a multiplayer game between 2 or more people, a server needs to be run.

The server should be run on a computer whose IP address is known, and has 
sufficient resources to cope with multiple connections to it, since it will 
be routing the messages from every client in the game.

To run a server, first go to the directory where Shoot is installed and type:

In Windows:
   c:\..\shoot>server

In Linux:
   % ./server

This will run a Shoot server on that machine. Make sure your firewall allows 
connections on port 3490, otherwise the server will not be able to communicate
with the clients. The firewalls on every client computer should be set up in 
the same way. See your firewall's documentation for how to do this.

           - - - - - - - - - - - - - - - - - - - - - -
           
  Setting up the clients
  ----------------------
With the server set up, players just have to enter the game to begin playing. 
Decide between the players which map will be used for the game, so that every
player runs Shoot with the same map on the command line.

Once this has been decided, each player runs Shoot, connecting to the same 
server. For example, if the level is dmcastle.level and the server is at
82.12.64.44, each player would type

In Windows:
   c:\..\shoot>shoot dmcastle.level 1 82.12.64.44 <player's name>

In Linux:
   % shoot -l dmcastle.level -i 82.12.64.44 -n <player's name> --fullscreen

<player's name> is whatever name that player chooses to be represented by 
in-game. "--fullscreen" (or screen_size 1) is optional, but is recommended for a
better gaming experience.

  Quitting a multiplayer game
  ---------------------------
Quitting a multiplayer game is done using the menu (ESC) in the same way as quitting
a singleplayer game. The other players' game is not disturbed by this.

===============================================================================

About:
------
Shoot is a 3D multiplayer first person shooter. Run around and shoot the other
players before they get you! If singleplayer is your thing, then battle your 
way through the legions of evil cyborg soldiers until you reach your ultimate 
goal... the arbitrary end of the level!

===============================================================================

Controls:
---------
Main game:

w - Move forward
d - Move backwards
a - Strafe left
s - Strafe right
Spacebar/Middle mouse - Jump
Left click - Primary fire
Right click - Secondary fire (if applicable)
t - talk to other players
i - toggle invert mouse
v - talk using microphone

The arrow keys can be used to achieve the same effect as WSAD for movement.

Esc - Open menu

Menu:

Arrow keys - Navigate menu
Esc - Close menu and go back to main game
Enter - Select option

===============================================================================

Weaponry:
---------

Rocket Launcher aka "The Boxgun"
The Boxgun basically a pipe, housed in a 80's car-esque box. It deals death 
in the form of rockets and overly-bouncy grenades. Grenades stick to the wall 
on impact and explode on a timer

Shotgun
A classic. This two-barrelled variety is fearsome when you can see the whites 
of their eyes, and pointless at distance. Its reload time is as scary as the 
actual payload. But to different people...

Minigun
Fast, and very dangerous. The rugged construction of this gatling-style gun 
means it's not hugely accurate, but when you're firing so fast, who cares?

Surprise Launcher
The origins of this gun are shrouded in mystery. Why would anyone make such 
a weapon? It has no practical use... to the uneducated eye! To a desperate 
mercenary in a tight spot, it offers a somewhat random ray of hope. The 
surprise launcher has been the saviour of a small select few, often last 
seen running away from an increasingly large oversized explosion throwing 
their assailants skywards.

Items:
------

Health Packs
Pick one up for a 15 health boost

Rocket ammo crates
Get some extra rockets, you'll go through them quickly.

More items will come soon!

===============================================================================

Bugs:
-----

Shoot is an open source piece of software and is constantly in development.
With that in mind, it will contain bugs.

Upon finding a bug, email one of us at:

Trev - trev@primatedesign.co.uk
Ben - sheepyl33t@yahoo.com

or post on the sourceforge project web site.

A list of known bugs will go up on the site soon.

See the CHANGELOG file for most known bugs, and changes by date.

===============================================================================

Credits:
--------
Programming: Trevor Dodds and Ben Jones
Elliot Rice made the excellent minigun model, whilst Ben did the other
modelling. All the models are hand-coded.

motor.bmp
link.bmp
bulletbelt.bmp
barrel.bmp
...are copyright Elliot Rice and possibly someone whose site got Googled.
All other textures are copyright The Shoot 'Em Up Project (Ben Jones and 
Trevor Dodds) 2005

Game engine and level editor created from scratch, written using C++, 
OpenGL and OpenAL.

Uses code from NeHe, to load textures.
Function to load textures from Nehe (http://nehe.gamedev.net) 
submitted by Richard Campbell, Lesson 6

Uses Nehe's masking tutorial code from Lesson 20

Uses code from Lighthouse 3D, for calculating frames per second, and 
for billboarding.

FPS Calculation:
http://www.lighthouse3d.com/opengl/glut/index.php?fps

Billboarding:
http://www.lighthouse3d.com/opengl/billboarding/
