Short: QuakeWorld sources for Amiga 68k/WOS/PUp Author: frank@phoenix.owl.de (Frank Wille), magicSN@birdland.es.bawue.de (Steffen Häuser) Uploader: frank phoenix owl de Type: game/shoot Version: 1.0 Requires: vbcc 0.7 or StormC Architecture: generic This archive contains the full Quake source required to compile QuakeWorld versions running under AmigaOS/68k, WarpOS or PowerUp. QuakeWorld was mainly developed with vbcc 0.7d (which is the current, non-public beta version), but you should not run into any problems when compiling with the last official version, vbcc 0.7 (Aminet). The only difference is, that you should not use any optimizations, because of possible compiler bugs. This means that the result will be a bit slower than mine. StormC is also supported to some degree, Steffen Häuser provided the StormC Project Files (Quake109.¶), but he reported problems with some of the PPC assembler optimizations. With StormC you can only build a WarpOS version, nobody tried 68k for now. When there are any problems concerning StormC, please contact Steffen Häuser , not me! We would love to see it, when somebody ports this source to another compiler, like SAS/C or GNU-C, but I chose vbcc for obvious reasons, and because it's the only compiler which can create executables for all three targets. Legal ----- The QuakeWorld source is published under the GNU General Public License. Please read the file COPYING for more information. Preparations for compiling with vbcc ------------------------------------ Requirements: Besides a correctly installed vbcc 0.7 (or better) system you need a "make" program, preferably GNU-make. I'm using an SAS/C compiled version, which I found on Aminet, for this task. You will also need the Amiga OS system header files (from OS 3.1 NDUK or OS 3.5 Developer CD) and some custom header files, like AmiTCP/IP SDK, CyberGraphics, ChunkyPPC (WarpOS only) and Picasso96 (not for WarpOS). When you want to create a PowerUp executable, you need the PowerUp developer archive and for WarpUp the WarpOS header files, of course. The "libs" directory contains some link libs for 3rd party libra- ries, for all targets. If you already have them, it's ok, otherwise you could copy them into your VLIBxxx: directory (or make them yourself, by using vbcc's fd2lib tool). Copy libs/m68k to vlibm68k:, libs/warpos to vlibwos: and libs/powerup to vlibppc:. The next step is to adapt the Makefiles. There are three Makefiles, one for the M68k port (Makefile.Amiga68k), one for WarpOS (Make- file.AmigaWOS) and one for PowerUp (Makefile.AmigaPUp). Edit the Makefile for the target you want to create and insert the correct include file paths. You should only make changes before the comment "SETUP AND BUILD". The paths you have to change are indicated by brackets and a descriptional text, e.g. "". The following do exist: = path to the AmiTCP/IP header files = path to the standard AmigaOS header files (OS3.x) = path to the PowerUp specific header files Note1: The standard include file path is assumed to be defined by the "vincludem68k/wos/ppc:" assignment, which means you should have an assigment like "assign vincludem68k: osinclude-path ADD" in your user-startup. Note2: The WarpOS header files are assumed to reside in the standard header file path. If this is different on your system, feel free to add another -I definition to the CFLAGS variable. When everything was done correctly, you should be able to compile your own QuakeWorld client/server now. Type make -f makefile.Amiga68k for compiling the 68040/060 version make -f makefile.AmigaWOS for compiling the WarpOS version make -f makefile.AmigaPUp for compiling the PowerUp version I'm always interested in any changes or bug fixes, which improve the quality of our QuakeWorld port. So if you think you programmed a nice enhancement, I would happily include it into our next release. Hints ----- If you are the proud owner of a PPC board you may consider to use the PPC-native compiler. It will drastically reduce compilation time (especially when optimizaion is turned on). Example for com- piling an M68k Quake with a WarpOS-native vbcc compiler: Replace "CC=vc" by "CC=vc +vc.config_wos" (or whatever your config file is called). When the next vbcc release should appear (might be called V0.8?) you should change the PPC makefiles to compile a more optimized version. Increase optimization level by inserting -O1 or -O2 and -speed in CFLAGS. Delete the -amiga-align option to allow vbcc using PPC-friendly alignment whenever possible (vbcc >=0.7d supports #pragma amiga-align). Frank Wille 21-Jun-2000 frank@phoenix.owl.de