Short: WarpOS Quake port Author: Jarmo Laakkonen (jami.laakkonen@kolumbus.fi) Uploader: Jarmo Laakkonen (jami laakkonen kolumbus fi) Type: game/shoot Architecture: ppc-warpup WarpQuake 0.6 02-03-2000 WarpQuake is a port of Quake based on Awinquake by Peter McGavin. Requirements: PPC board with WarpOS installed. AGA or GFX board. TCP/IP stack for network games. lowlevel.library for joypad support. Optionally chunkyppc.library. chunkyppc.library is not required, but should speed up things on GFX cards. Unfortunately I haven't been able to test WarpQuake on a GFX card system, as I only have AGA, but it should work. In case you have problems with the chunkyppc support, you can use the -wpa8 switch, but then the game might run a bit slower. The networking code has only been tested by running two Quake executables on the same machine. This worked fine. Amiga specific commandline options: -width: -height: Use these to specify display width and height when using chunkyppc.library. Otherwise you only get 320x200 play area although the screen is bigger. Note that these aren't needed when using native or chunkyppc.library AGA support. -bat: Change to BAT MMU setup. This should give a slight speed increase, but may cause problems on some setups. This does the same thing as the changemmu tool supplied with WarpOS. -aga: Use native AGA support with triplebuffering instead of chunkyppc.library. This is faster than chunkyppc AGA support. -nodb: Disables AGA multibuffering. Saves one contextswitch but causes slight flicker. -wpa8: Use WritePixelArray8(). Use this if chunkyppc support doesn't work. -force: chunkyppc.library saves the last used screenmode in ENV: and ENVARC:. Next time you start WarpQuake the screenmode will be read from there. Use this switch if you want to override this. -mouse: Enables mouse. -mem: Sets the heapsize. Default is 8MB, but some Total Conversions may require more than this. BTW If you are looking for a good TC, try After the fall. You'll never want to play basic Quake again. -joypad: Enables CD32 joypad. You need to bind the buttons yourself. The buttons are located in AUX1 - AUX11. AUX1 = left AUX2 = right AUX3 = up AUX4 = down AUX5 = red AUX6 = green AUX7 = yellow AUX8 = blue AUX9 = play AUX10 = forward AUX11 = reverse Binding example: In Quake console type, BIND AUX5 "+ATTACK" Additinally chunkyppc.library supports the following enviroment variables: WarpQuake/dbuf: Use Doublebuffering. WarpQuake/oldstyle: If this is set, ScrollVPort will be used, else Triple Buffering using ScreenBuffers. WarpQuake/wb: If this is set, a Workbench Window will be used, not a screen WarpQuake/pip: If this is set, a Picture in Picture will be used using the Picasso96API.library. Note: Not all Graphics Boards Support this. Currently only P96 PIP is supported, not CGX. Maybe in the future... WarpQuake/pipnoclear: If this is set to 1, the PIP won't be cleared when opened. WarpQuake/rtgmaster: Use rtgmaster Screenmode Requester instead of ASL one. rtgmaster.library will only be opened when this option is set, so that rtgmaster.library does not need to be installed to be able to use chunkyppc.library. WarpQuake/likecgx: If you want CGX-like WB Window Support for P96 (Faster, but Window Borders disappear). For CGX it is automatically set, as it is the only possible method for CGX to reach (at least for 16 Bit) WB Window Support, for P96 it is optional. lockingmode: Set this to 0 for best performance on GFX cards. History: 0.6: I released 0.5 too fast. The game would hang on exit if not using joypad. 0.5: Removed a small bug in the joypad code. It should be possible to use screens bigger than 320x200 with chunkyppc.library now, but you have to use the -width and -height parameters. Added some asm optimizations from awinquake. Recompiled with gcc 2.95.1. Thanks to elf2exe2, the executable is now only 600KB. Some other minor changes. 0.4: Changed -memory back to -mem ;) Removed the cd audio code as it doesn't work currently. 0.3: Changed -mem to -memory as requested by Chris De Maeyer Small fix in the mouse handling. Some other minor changes. 0.2: Added -bat option. ChunkyPPC double/triplebuffering actually works now ;) File access is MUCH faster now. Game hanged if no .pak files could be found. 0.1: First release. Small FAQ: Q: Why another PPC Quake port? A: Well it started when I found a bug in the -mem option of Awinquake and decided to look at the source. After fixing that, my friend suggested that I should learn to play with the mouse instead of the keyboard. But the mouse support in Awinquake sucked, so I fixed that too. Then I got fed up with the crappy PowerUP software which kept measuring my bus speed incorrectly, so I ported it to WarpOS and added chunkyppc and joypad support. This is also a good way to sharpen my programming skills. Until now I have mainly done/ported some CLI programs. I know that Frank Wille and Steffen Haeuser are working on a port too, and when finished it will probably be much better than this. In it's current state it's too buggy for my taste. Q: Why does the game crash? Maybe your stack is too low. Try setting it to 500000 bytes. Also try without the -bat parameter. Q: Why doesn't the game work on my GFX card? A: The GFX card support in WarpQuake might be broken, as it hasn't been tested at all. Try the -wpa8 option. Q: Why does mouse slow down the game so much? A: Because there's much contextswitches needed for this. If you are using the keyboard at the same time the slowdown is even worse. This is cured by setting the key repeat from input prefs to slowest possible. This reduces contextswitches to minimium. If you are running on AGA and don't mind the slight flicker, you can also try disabling multibuffering. Q: Why doesn't the middle mouse button work? A: You probably have some commodity running that uses the button. Disable all commodities and try again. Q: Any other speed tips? A: Use the -bat option to change to BAT MMU setup. This gives about 1 FPS more on my 603e/240MHz. Use 320x200 screenmode for best speed. Q: Will there be an PowerUP version? A: No. I don't trust kernels that can't even measure the bus speed correctly. Q: Will there be AHI support? A: Maybe, but don't bet on it. Q: Is the source available? A: Yes, as required by the GPL license. Q: Why does the game run in 320x200 although I select a bigger screen? A: This happens only on GFX cards when using chunkyppc.library. Use the -width and -height parameters or -wpa8. Q: Why don't you get a GFX card? A: Because I'm poor. Q: Well, why don't you get a job then? A: Because I'm lazy. Q: You're the crapiest coder I've ever seen. Why don't you do something useful with your life like collect stamps or something? A: I know, but I'm learning more everyday. Q: I have some questions that are not answered in this doc. How can I reach you? A: Email to jami.laakkonen@kolumbus.fi