

				 Quake 3 Arena CE Installation Guide
				-------------------------------------

Requirements:

 * Pocket PC 2003 compatible handheld (ARM/XScale CPU)
 * 120-140MB of storage space (Usually on a 256 MB SD Card, might fit on 128MB SD cards, with effort)
 * 64MB of available working memory (128 MB devices work fine)
 * An installed copy of Quake 3 Arena on your PC, complete with all the upgrade patches


Installation:


1. Ensure you have a copy of Quake 3 Arena installed on your PC. You're going to need the 
artwork/content from the game because it is not redistributable.

2. Run the pakconvert tool like this to build the pk3 file for your handheld:
	cd pakconvert
	bash ./pakconvert.sh c:/q3a           (replacing path with wherever your Quake 3 Arena installation is)

3. Copy everything over to your handheld. You will need a lot of space. 
   136MB of space on a 256 MB SD card is generally enough to store the game. 
   (This is down from the 500 megs for the full pc version!)

   We have stripped out the background music, and reconfigured the executable
   to require less memory. We have also shrunk the graphics and textures down to half of their original size
   since higher resolution really isn't necessary on a 240x320 (give or take) screen. We also re-encoded the FMV's in DIVX format so
   they'll fit better.

   Specifically, you need these files:
	q3ce.exe
	gx.dll
	libGLES_CM.dll
	baseq3\q3config.cfg
	baseq3\pak0.pk3

   The other files are unused by the actual game.

4. Try playing it :) If you get like 4-6 frames per second, you're doing pretty well :P.
   You may need to adjust your amount of "program versus storage" memory 
   in the memory settings control panel of your device. I recommend having at least 75MB free, but you can 
   probably get away with less. 
   
   If you need to tweak down the amount of memory used by the game, open up the q3config.cfg, and reduce the numbers
   in the  com_zoneMegs and com_hunkMegs fields.

   Minimal setting are likely:
    	seta com_zoneMegs "12"
        seta com_hunkMegs "20"
   Though, I have gotten away with less in past, but not for too long :)


The game runs slowly due to the lack of any available hardware acceleration. If you would like to see a hardware
accelerated version, petition ATI to release it's handheld sdk to the public, since most of the phones out there
have the ATI Imageon chip in them. This binary is built with the Hybrid Rasteroid non-commercial OpenGL ES
implementation, which looks excellent, but the game pushes it a bit too hard for true playability. NVIDIA has released
a hardware OpenGL-ES implementation, which should work with Q3CE, but I haven't tried it, due to a lack of a device
on-hand that has an NVIDIA chip in it. If NVIDIA wanted to send me one, I'd be glad to make sure it worked for them :)


Notes:

1. Network support is obviously limited. Your Pocket PC likely doesn't have a very fast internet connection, so
   your ping times are going to be crap. Hell, it might not even work.
2. The frame rate is about 6-8 FPS on my Siemens SX66 phone. That's a 400 MHz PXA263 doing completely software 
   rendering. I wouldn't expect much better until we get some hardware acceleration in this thing. I might be able
   to pump it up by moving all the floating point stuff to fixed point. But I _do_ have a life. Then again...
3. It adds a whole new level of challenge when the bot you're fighting decides to hop onto the screen and cuts the
   frame rate down to about 4-5 FPS. He's likely hard to kill, because you can't aim for a damn.
4. But there's a silver lining. Sometimes the bot doesn't even load up, because the world 'AAS' files sometimes take a
   very long time to parse or something. If the bot doesn't load up, run around until you see an AAS message pop up
   on the screen and then manually add the bot through the menu. Something about the timing of the BSP code and the
   bot AI doesn't like something that runs as slow as your Pocket PC :)
5. The mouse does work. I wouldn't try to use it in-game though. The keypad is the way to go. Two hands, one for moving and    jumping, one for shooting and looking up and down (remapped the volume control to do that), The various buttons
   around your device should bring up the console, the menu, and whatnot. If you have trouble with the default
   key bindings, edit the q3config.cfg file by hand and put better keys in. 
6. I'd love to contribute to the 'Vincent' OGL-ES project, but it crashes every time I try using it with Q3CE, so it didn't 
   make it into this build. Perhaps there is some room for collaboration here. It would be cool to have this port be 100%
   open.
7. You may have a hard time entering text, or a CD key or whatever, unless you have an external keyboard. Avoid 
   menus where you have to type stuff in.
8. I had to eliminate support for the virtual machine in the codebase. This means that many 'mods' will not work for
   you, as the UI, Game, and CGame modules are all hard-coded into the program. If someone wants to find a way to get
   that working on the ARM cpu in a fast fashion (ha! and steal resources from our meager graphics?!) feel free
   to do so.


I think that's all.


9/27/05
Christien Rioux 
crioux@noctem.org


