home *** CD-ROM | disk | FTP | other *** search
- Short: 68k and PPC ports of winquake, v0.4
- Author: Peter McGavin (p.mcgavin@irl.cri.nz)
- Type: game/shoot
- Uploader: Peter McGavin (p.mcgavin@irl.cri.nz)
- Version: 0.4
-
-
-
- awinquake 0.4 11 Jan 2000
- -------------
-
-
- This archive contains Amiga 68k and PPC ports of winquake, compiled as
- directly as possible from ID Software's winquake source code.
-
- On 24th Dec 1999 I learnt that ID Software had released the source
- code of winquake, glquake, quakeworld and glquakeworld (on 21st Dec
- 1999) under GNU Public License (GPL) and made them available by ftp.
- So I downloaded them and tried compiling winquake with SAS/C 6.58 for
- the Amiga. This archive represents my results after about 4 evenings
- and 2 days.
-
- winquake is well written and extremely portable, so it didn't take
- long to get it working on my Amiga by cutting and pasting code from
- other projects. I expect other people are doing better ports, e.g,
- Frank Wille. However I haven't seen any legal ones yet, and as it
- didn't take very long to get a base version running, I thought I'd
- release what I've done. If you're doing your own port, feel free to
- take source code from mine, but remember there's no guarantee.
-
- Sorry I haven't even looked at the glquake and quakeworld source code
- yet.
-
- You can get all the original ID Software quake source from:
-
- ftp://ftp.cdrom.com/pub/idgames/idstuff/source/q1source.zip
-
- Source code of awinquake is necessarily in a separate archive on
- Aminet. The GPL license requires that the source code of all
- modifications to Quake is made freely available.
-
-
-
- FEATURES:
- ---------
-
- Both 68k and PPC versions are provided.
-
- Both versions are OS-friendly and multitask.
-
- Both versions put up an ASL requester for the ScreenMode.
-
- awinquakeppc uses Joseph Fenton's PPC c2p routine from ADoomPPC and
- triple buffering in AGA modes.
-
- Sound effects are included. Also CD audio for music works if you use
- ClickBoom's AmigaQuake CDROM. You need cdplayer.library (from Aminet)
- for this.
-
- Networking for TCP/IP is included.
-
- awinquakeppc works with either PowerUp or WarpOS. With WarpOS, use
- Frank Wille's ppc emulation library.
-
- awinquakeppc is mostly compiled with SAS/C scppc. However, the
- innermost rendering routines are compiled with ppc-amigaos-gcc. This
- results in a small speedup (about 3%) over compiling everything with
- scppc.
-
- My modified source code should still compile for Linux (APUS),
- Solaris, Win95, etc, with no changes --- untested.
-
- Speeds over 37 fps have been observed for "timedemo demo2" in 320x200
- on a 233 MHz PPC Amiga 3000 with CyberVisionPPC.
-
- I added a -fps option, but see the note below about bus speed before
- you believe the numbers you see.
-
-
-
- LIMITATIONS:
- ------------
-
- My 68k version is much slower than ClickBoom's commercial version. I
- use my 68k version primarily for debugging.
-
- Only the PPC version has optimised c2p for AGA. In fact I don't
- recommend the 68k version at all. Buy Clickboom's version.
-
- Only keyboard control. No mouse, joystick or joypad yet.
-
- No AHI yet either, sorry.
-
- I haven't put much effort into optimising the code yet, apart from
- trying different compilers and compiler options.
-
- Untested code. Your mileage may vary.
-
-
-
- REQUIREMENTS:
- -------------
-
- A 68020+ Amiga running at least Kickstart 3.0, with at least about 16
- Mb of fastmem.
-
- An FPU is required.
-
- You need either a gfx-card or AGA. ECS alone is not sufficient.
-
- A TCP/IP stack is required for networking, e.g, AmiTCP or Miami.
- An ethernet card is strongly recommended.
-
- I use a stack size of 500000 bytes. I'm not sure what the minimum
- stack size is. 150000 bytes is definitely too small.
-
- An MMU is neither required nor used.
-
- You need cdplayer.library from Aminet, or start with -nocdaudio. The
- game searches for Clickboom's CDROM for cdaudio (volume name "QUAKE".)
-
- You need the Quake 1 PAK files and other support files from either a
- commercial or shareware version of Quake. Assuming you've already
- installed AmigaQuake or a PC version, put awinquake or awinquakeppc in
- the same directory as the original quake executable.
-
- To enable mouse control, use -mouse. To leave the mouse pointer
- visible, use -mousepointer.
-
-
-
- KNOWN BUGS, PROBLEMS AND SOLUTIONS:
- -----------------------------------
-
- If you get the message "file is not executable" when you start
- awinquakeppc, try using runelf, or run another program that uses
- ppc.library first. Also, make sure the executable bit is set in the
- file protection mask of awinquakeppc.
-
- Random crashes, especially crashes on exit, may be caused by stack too
- small. Set a large stack, say 500000 bytes, especially if networking.
- Use the AmigaOS STACK command to set the stack size before you start
- awinquake or awinquakeppc.
-
- There is a -mem option for allocating a different size heap than the
- default. For example, "awinquakeppc -mem 24" starts awinquake with a
- 24 Megabyte heap. The default size is 8 Megabytes. Some Quake
- add-ons, such as Malice, require a larger heap. Also, a larger heap
- size reduces disk accesses. If you are very short of memory, try a
- smaller heap, e.g, "awinquakeppc -mem 6".
-
- The game may "stick" for a few seconds every few minutes when the
- cdplayer loops. Sorry, no solution for this yet except -nocdaudio.
-
- If the game reports the wrong bus speed at the start, then the game
- will run at the wrong speed and audio may sound broken up.
- Furthermore, all reported times and fps ratings (e.g, for timedemo
- demo2) will be wrong. Override with, e.g (for 66 MHz bus):
-
- awinquakeppc -bus 66666667
-
- If the game takes too long to load, try using the AmigaOS ADDBUFFERS
- command.
-
- The TCP/IP networking code seems to be rather flaky. I successfully
- used it over ethernet with other Amigas running awinquakeppc, other
- Amigas running Clickboom's Quake and other PCs running Quake 1.06.
- (awinquake is a port of winquake 1.09.) However, sometimes the server
- wasn't seen by the client looking for it. In that case the solution
- is to type in the IP number of the server. Sometimes I wasn't able to
- make a connection at all, or when I made a connection, the players
- couldn't move. Then, when I tried again later, it worked just fine.
-
-
-
- HISTORY:
- --------
-
- v0.4 7 Jan 2000
-
- Should work under Kickstart 3.0 now.
-
- Added -mouse and -mousepointer.
-
- awinquakeppc should calculate the correct bus speed now.
-
- Now writes config.cfg on exit.
-
- Handles slashes and colons in directory names better.
-
-
-
- v0.3 4 Jan 2000
-
- Fixed the crash that occurred if you don't have cybergraphics.library
-
- Added -mem parameter.
-
-
-
- v0.2 30 Dec 1999
-
- First Aminet release.
-
-
-
- THANKS:
- -------
-
- Thanks to John Carmack and ID Software for one of the best games ever!
-
-
-
- Peter McGavin. (p.mcgavin@irl.cri.nz)
-