============
Pocket Quake
============


=Contributors===
           Dan East: Port of the original ID Software source code to Pocket PC,
                     Fixed point optimizations, Pocket PC gui / gfx modes
                999: Skins, Alpha Testing
       Jacco Bikker: A 3D engine optimization
          Carpediem: MIPS processor-specific debugging
Lucas Alonso (Yoda): SH3 processor-specific debugging
         Jay Mattis: Additional SH3 work

PocketQuake@pocketmatrix.com
http://www.pocketmatrix.com/pocketquake

*BETA TEST v0.062*
06-07-2001


=LEGAL=========
Use this software at your own risk.  Back up your device before installing or using this software. In the event that you must hard-reset your device you will loose any information that has not been backed up.  Some devices, such as the Compaq iPaq, have a flash-rom which contains the operating system.  It *is* possible for your device to be rendered completely unusable by software error alone.  Neither Dan East or the other Contibutors to this project will not be held responsible for your participation in testing this beta software.  No warantee or garantee of usability, performance or any other kind is granted, either expressed or implied.  This software depicts graphic violence and blood, and is probably rated for those 18 years of age and older. 


=Description==
This software is a port of ID Software's groundbreaking, first-person, 3D simulation game QUAKE.  


=How to Play Quake==
The intricacies and nuances of playing Quake are far beyound the scope of this installation readme file.  An abundance of Quake resources are available on the internet.  If you are new to Quake, it is recommended that you download the Windows version of Quake from http://www.idsoftware.com/quake/.  This contains are great deal of documentation on playing Quake.


=PAK Game File Required==
The software contained in this archive is only the engine which processes a game file (PAK).  You must obtain the shareware Quake PAK file, named PAK0.PAK, which has been compressed with the gzip utility (http://www.gzip.org).  The compressed PAK0.PAK file's size is around 8.5 MB.  This file can be downloaded directly from http://www.pocketmatrix.com/pocketquake/download.html.  If you own the registered version of Quake, then you may copy the registered pak files from your Quake CD-ROM onto your device if they will fit (storage card required).  The registered pak files can also be gzipped to substantially reduce their size (which greatly increases game load times).


=INSTALLATION==
This software currently contains no installer - you must manually copy the files onto your device.  This is a very simple process:

1) Connect your Pocket PC to your desktop PC, and make sure that the ActiveSync connection is patent.

2) Press the Explore button on the Microsoft ActiveSync window, then double-click the My Pocket PC icon.

3) Create the directory /quake (note: do not create this in My Documents, create it in the root of "My Pocket PC"), then create a directory within quake called ID1: /quake/ID1/

4) If you retrieved the pak0.pak.gz file from our website, then the file will be zipped (pak0.pak.gz.zip).  This is necessary because some web browsers were automatically decompressing the .gz file, which resulted in a 24 MB file.  If the file is zipped (ends with .zip), then you need to extract the file ONCE, so that it is pak0.pak.gz. Note that Windows Explorer on your PC is configured to "Hide known file extensions" by default. In other words, your PC may tell you that the name of the file is "pak0.pak.gz" when it is really "pak0.pak.gz.zip". You can verify that actual type by pulling up the file's properties, or by changing the settings of Windows Explorer so that file extensions are not hidden.

5) Copy the pak0.pak.gz file into the /quake/ID1/ directory you created on your Pocket PC.

6) Open up the PocketQuake ZIP file you downloaded (using WinZip or similar zip software), and copy the files to the following locations on your Pocket PC:

7) Copy the autoexec.cfg file into the /quake/ID1/ directory you created in step 3. (Note that this config file is REQUIRED for proper sound production, and is also needed to make use of 999's custom control layout).

8) Copy GX.DLL into the /Windows/ directory of your device. That file will already be on your device if you have installed other games in the past. In that case use whichever version is the most recent.

9) Copy PocketQuake.exe onto your device.  Placing it in /Windows/Start Menu/Programs/Games will make it easy to access.

10) Run Pocket Quake!


=Advanced installation options==
If you have a storage card you may place the pak0.pak there to save space on your device.  Create a /quake/ID1 directory on your storage card and copy the file there.  Note that this will result in the slowest load times (using a compressed pak file on a storage card).  If you have a storage card with at least 18.5 MB free, then you can decompress the pak0.pak.gz file into an 18 MB pak0.pak file.  This will result in faster loading.  Optimally, if you have a 64 MB Pocket PC with at least 18.5 MB free storage space, then placing the uncompressed pak file directly on your device will result in the fastest possible loading.

If you are using your own cfg file (in place of the included autoexec.cfg), then you need to include the following entry for sound to work correctly:
_snd_mixahead "0.15"


Quake will save games (s0.sav, s1,sav, etc) and other settings (config.cfg) in the same directory that the pak file resides in.  Also place your custom config files in that directory.  Note that each saved game entry can take a substantial amount of space (up to 150k).  Make sure you have enough storage space available for the number of games you wish to have saved simultaneously.  Also, Pocket Quake save game files are 100% compatible with the original Quake save games, so you can copy these files back and forth from desktop Quake.  Also, you can swap these saved games with your friends.


=New Quake Variables==
Because the hardware on which Pocket Quake runs is vastly different than that of a PC, new variables have been added to either modify control input, or increase performance by sacrificing rendering quality.

New variables:
r_maxparticles: Limits the number of particles (used for explosions, blood, rocket trails, etc).

in_autoyawrate: Controls auto yaw scrolling. If you are using mlook and come close to the edge of the screen, the yaw will automatically increment / decrement by this value once each frame. The auto yaw area is 20 pixels in from the edge in Portrait, and 40 pixels from the edge in landscape. Setting a value of 0 will disable auto yaw scrollng. The default is 15 degrees.

Modified variables:
vid_mode: New modes are 1: 240x180 portrait, 2: 320x240 landscape right, 3: 320x240 landscape left.
r_maxedges: minimum now 300 (was 2400).
r_maxsurfs: minimum now 100 (was 800)


=Performance==
*Performance is adequate on the iPaq and @migo devices. This game may not be playable on slower devices.

*Pocket Quake is completely playable with any screen mode on an iPaq. Slower devices will of course not have the same level of playability. Pocket Quake runs slower in landscape mode because more work is required to render the larger display area. Further increases in fps are expected through future optimizations.

*Using compressed (gzipped) pak files slows down file access GREATLY. However, for the majority of people, this is the only available option to play Quake, unless they have a storage card with enough free space on which to store the uncompressed pak files.  Placing a compressed pak file on a Storage Card will compound the problem. This does not affect the fps during gameplay, only the loading times between levels.


=Known Outstanding Issues==
*There is a rendering artifact where seams are sometimes noticable between textures.

*The D_PolysetCalcGradients fixed point conversion results in occasional transparency of the view model (the gun). This is particularly noticable with the Rocket Launcher.

*When Pocket Quake is minimized, and a Restore is attempted (by trying to run PQ again, or by switching to it with a task manager like GigaBar or WIS Bar), Pocket Quake sometimes does not reappear. This can be worked around by pressing a hardware key immediately after you try to switch back to Pocket Quake.

*If you tell quake to exit via windows (using a program like GigaBar or WIS Bar, or using the Close button on the Portrait Task Bar), then any unsaved configuration settings will not be saved.  This problem exists in the official Windows version of Quake (WinQuake) as well.

*When Quake is running it pretty much takes over your device.  Other programs that try to take focus while Quake is running will not work properly. Pocket Quake can be minimized by clicking on the icon in the top left corner of the screen when in portrait mode. This will let other applications run unhindered.


=Thanks to==
  ID Software: Thanks for the great product, and having the guts to release the source code.
Chris Edwards: Web site design and hosting
         Matt: Web site hosting


=Version History==
0.062- 06-07-2001
	* Minor bug fix of 0.061.
	* -game command line option now works properly.

0.061- 04-18-2001
	* Primarily a bug fix of 0.06.
	* Clock updates properly
	* Fixed togglemenu mapping for MIPS devices (AUX2 can be used for togglemenu)
	* SH3 build now supported.
	* Drift Pitch now works properly. The Pitch (up/down) stays where you have it as long as the stylus is down. If you lift the stylus and move, then the pitch will center.

0.06 - 04-16-2001
	* Auto yaw rotation added.
	* Pocket Quake now takes over the whole screen.
	* New "TaskBar" added, providing Minimize, Quit, Mute and a clock (when running in portrait mode).
	* -heapsize parameter now honored.
	* Perspective Correction fixed.
	* Fixed Point conversion increases fps ~1 fps.

0.051- 03-14-2001
	* Bug fix of 0.05. This version has no rendering artifacts, and properly renders B Model objects (doors, health, ammo, etc). Same rendering quality as version 0.04.

0.05 - 03-13-2001
	* New Quake variable added: "r_maxparticles".
	* r_maxedges minimum settable value is now 300 (was 2400).
	* r_maxsurfs minimum settable value is now 100 (was 800).
	* Video mode can now be set by variable (vid_mode).
	* Command line parameters now work (verified).
	* Additional ~.2 FPS increase by fixed point conversion (D_PolysetCalcGradients).
	* Additional 1.0 FPS increase by fixed point conversion (R_EmitEdge)
	* Additional ~.2 FPS increase by fixed point conversion (R_RecursiveWorldNode)
	* Keyboard mapping now works properly (only the Keyboard SIP is fully functional).
	* On the iPaq, K_AUX5 (record button) can be mapped to toggle the menu.
	* New landscape control regions.

0.04 - 02-22-2001
	* 12% increase in FPS thanks to Jacco Bikker's optimizations!
	* Startup time is a little faster.
	* 320x240 Landscape fullscreen mode.
	* Video Options Menu cleaned up.
	* Source code should now support any Pocket PC device whose display is at least 8 bpp.

0.03 - 02-15-2001
	* Pocket Quake now considered a "beta" version.
	* Sound support added.
	* Multiplayer TCP/IP Network support added.
	* Fixed some menus and console items for narrower (28 char) screen.
	* Command line parameters should work (not verified).

0.02 - 01-23-2001 
	* Uses .5 MB less RAM
	* Supports WAD files residing on Storage Cards (regardless of device language).
	* Added crosshair support (Command = "crosshair [0/1]")  
	* Added onscreen controls, including MLOOK.
	* Automatic SIP handling with Console.
	* Record hardware button is now mappable (as AUX5).

0.01 - 01-20-2001 
	**Initial Release**