SGI Quake Readme
Welcome to the SGI
port of id Software's Quake!
Disclaimer
Id software bears _NO_ support responsibility for the SGI versions of Quake
(either .gl or .sw) whatsoever! Likewise, SGI is releasing these versions of
Quake as-is, and is not responsible for support. These executables are being
made available in a large part through the efforts of individual employees of
SGI, and to the extent that we can we'll be happy to answer questions on the
appropriate SGI newsgroups (comp.sys.sgi.*). Please help
ensure further Quake-related progress by limiting your questions to this
channel.
Files
In this package you should find the following files:
README.TXT |
this file |
LICINFO.TXT |
appearing with permission from the registered Quake CD |
MANUAL.TXT |
appearing with permission from the registered Quake CD |
ORDER.TXT |
appearing with permission from the registered Quake CD |
quake |
a script to run the correct Quake executable for your platform |
quake.gl |
the n32 OpenGL Quake executable |
quake.gl.r10k |
an n32 OpenGL Quake executable optimized for the MIPS R10k |
quake.sw |
the n32 software renderer Quake executable (uses Xlib) |
quake.sw.r10k |
an n32 software renderer Quake executable optimized for the MIPS R10k |
You will need to download the shareware pak0.pak file (follow the links on http://www.idsoftware.com). We don't have
permission do distribute this file as part of this package (sorry!).
Unfortunately, the distribution from id is packed in a PC-format
self-extracting archive. Hopefully idsoftware will make a more unix-friendly
distribution format available (but please don't pester them about this!).
The "pak[01].pak" file[s] will need to be placed in a directory named
"id1". The id1 directory must live in the same directory as the Quake
executable, and the "quake" script must be invoked from that directory
(Quake looks for its pak files relative to "."). You can place the
registered pak files (from the PC CDROM) into the id1 directory to
start playing registered quake! We've also tested a beta version of the
capture the flag add-on with much success.
Options
The following options can be specified from the quake.gl command line:
-nofullscreen |
Run Quake in a window (fullscreen rendering is the default for the GL
version). |
-noscissor |
Don't use the scissor rect (slows Quake down, debugging only). |
-nodither |
Turns off hardware dithering (degrades image quality on O2's 16+16 or
32 bpp xscreen modes). |
-nosubtex |
Don't use subtexture loads (slows Quake down, debugging only). |
-nomulti |
Don't perform multi-sampling on machines that support it
(degrades image quality). |
-nodetail |
Don't use detail texture on machines that support it
(degrades image quality). |
-startgamma <gamma> |
Sets the initial gamma level, defaults to 1.0. |
The following options can be specified from the quake.sw command line:
-2 |
Doubles pixels at some cost in performance. |
-4 |
Quadruples pixels at a larger cost in performance. |
-fullscreen |
Run Quake in fullscreen mode (can be okay on fast machines
with -2 or -4 enabled, usually runs out of heap without these
settings). |
-winsize <width> <height> |
Sets the window's initial width and height, overridden by -fullscreen. |
-visualid <vid> |
Specify an X visual id (in decimal) by hand, overriding Quake's
pick. |
These commands can be typed into the console (use the "`" key to drop
it down inside the game) or from the command line if preceded by a "+".
(note: some of these descriptions are copied from the glquake1.zip readme):
gl_flashblend <0 or 1> |
The dynamic light flashes can be replaced with a colored blend effect, which
is much more efficient in most cases.
Defaults to 0 in the SGI version |
gl_ztrick <0 or 1> |
A slight speed benefit is gained by splitting the z buffer. On
professional (24+ bit) cards this is always fine, but on 16 bit cards
you may occasionally see some pixels poke through a wall because of
limited precision.
Defaults to 0 |
gl_keeptjunctions <0 or 1> |
A lot of triangles can be saved by not exactly fixing up collinear tjunction
points, but this can cause single pixel errors at polygon borders. If you
change this, you will have to restart the level.
Defaults to 0 |
gl_texturemode |
Determines the OpenGL texture filters. All SGI machines do these correctly.
GL_NEAREST |
point sampled, no mipmaps |
GL_LINEAR_MIPMAP_NEAREST |
bilinear plus mipmaps (default on O2) |
GL_LINEAR_MIPMAP_LINEAR |
trilinear interpolation (default on Impact, RE, IR) |
(note that these texturemodes must be typed in in UPPERCASE) |
gl_clear <0 or 1> |
Perform colorbuffer clears (useful with gl_wireframe).
Defaults to 0 |
gl_wireframe <0 or 1> |
Turn on wireframe mode (only useful with gl_clear 1). Note that you won't
be able to read text in this mode. Useful for seeing what's being drawn
every frame.
Defaults to 0 |
gl_instrument <0 or 1> |
Turn on the instrumentation package on the Infinite Reality. Useful for seeing
framerates.
Defaults to 0 |
_windowed_mouse <0 or 1> |
When not running fullscreen, use the mouse events that fall into the quake
window to move the character around.
Defaults to 0 |
fov <y degrees> |
Adjust Y field of view, X is adjusted proportionately. Useful if running
on widescreen displays.
Defaults to 60 |
The following commands turn on new experimental features in Quake (not useful
for normal gameplay but cool to look at):
r_mirroralpha <0.0-1.0> |
See reflections in some types of windows.
alpha between 0 and 1 |
r_novis <0 or 1> |
ignore visibility lists, needed to see into water
| r_wateralpha <0.0-1.0> |
To see the new transparent water effect, try r_wateralpha 0.5
and r_novis 1 (will be slow on most machines!).
alpha between 0 and 1 |
r_shadows <0 or 1> |
Turn on shadows. |
Platform Notes
| O2 |
On 64M systems, the quake script will turn off several features in order to
conserve memory (Quake uses several hundred small textures, and due to
hardware alignment constraints consumes more memory than you might expect).
Future tuning should hopefully reduce this problem to the point that the
"full" version can fit in 64M. Using "xscreen" to select video modes with
lower memory requirements helps (the minimum Quake can use is 16+16 VGA),
though in recent testing I've had little paging even when running 1280x1024
32+32 on a 64M system.
|
|
6.2 machines |
dmedia_eoe.sw32.lib must be installed.
compiler_eoe.sw32.lib must be installed.
Patch 1787 must be installed (to update compiler_eoe.sw32.lib).
| |
Impact |
eoe.sw32.gfx must be installed.
Patch 1447 (or its sucessor) should *not* be installed. It seems to make
things worse - can anyone confirm this?
| |
Octane |
Patch 1822 (or its sucessor) should be installed.
| |
Reality Engine |
There is a texture-manager bug in the OpenGL implementation which
prevents the gl version from being terribly useful (remember that this
OpenGL is implemented on top of IrisGL). This bug is being looked at,
but there is no information about whether or when a patch will be
available.
| |
Infinite Reality |
Unlike the O2 version, there is no way to store a "default" video
combination (We don't want to override hand-crafted ircombine
settings). You can, however, change combinations from the Options...
Video menu. Quake will attempt to cover the entire footprint of all
channels in the framebuffer (so aligning three channels side-by-side
should do the expected thing and render a widescreen view that covers
all three channels).
|
Other Notes
The SGI versions of quake memory map the read-only data files (pak0.pak
etc.), which can lead to problems if you're running from an NFS-mounted
directory.
Use the -nosound command-line argument to run quake on pre-6.3 machines
(quake uses new functionality present in the more recent versions of
libaudio).
1.08
- Fixed R10k executables to load libaudio.so dynamically
- Optimized all executables (all executables now -n32)
This may require some software installation on 6.2 machines
as n32 libraries are not installed by default on 6.2.
The speedup is well worth it though (5-25%)!
- Stripped binaries for smaller distribution.
Thanks To
Everyone at SGI and id software who pitched in to help make SGI quake a
reality! Kudos to the O2 team for making a great product (on which most
the porting was done).
History
Originally written by Ed Hutchins <hutchins@home.net>, Feb 11 1997.
HTML version by Reid Ellis <rae@sgi.com>, Feb 17 1997
Update by Phil Nemec <nemec@sgi.com>, Apr 30 1997
Troubleshooting
| Bug | Fix |
[on a 6.2 machine]
13186:./quake.sw: rld: Fatal Error: attempted access to unresolvable symbol in ./quake.sw: __dcis
|
Install patch 1787 (to update compiler_eoe.sw32.lib).
|
13146:./quake.sw: rld: Fatal Error:
cannot successfully map soname 'libdmedia.so' under any of the filenames
/usr/lib32/libdmedia.so: /lib32/libdmedia.so: /usr/libn32/libdmedia.so: /libn32/libdmedia.so: /usr/lib32/libdmedia.so.1: /lib32/libdmedia.so.1: /usr/libn32/libdmedia.so.1: /libn32/libdmedia.so.1:
|
install dmedia_eoe.sw32.lib
|
13098:./quake.sw: rld: Fatal Error: cannot successfully map soname 'libm.so' under any of the filenames /usr/lib32/libm.so: /lib32/libm.so: /usr/libn32/libm.so: /libn32/libm.so: /usr/lib32/libm.so.1: /lib32/libm.so.1: /usr/libn32/libm.so.1: /libn32/libm.so.1:
|
install compiler_eoe.sw32.lib
|
22447:./quake.gl: rld: Fatal Error: cannot successfully map soname 'libGL.so' under any of the filenames /usr/lib32/libGL.so: /lib32/libGL.so: /usr/libn32/libGL.so: /libn32/libGL.so: /usr/lib32/libGL.so.1: /lib32/libGL.so.1: /usr/libn32/libGL.so.1: /libn32/libGL.so.1:
|
install eoe.sw32.gfx
|
Textures appear wrong on Impact...
|
Try removing patch 1447 and reinstalling eoe.sw32.gfx... I'm not sure about
this though - so please send me feedback...
|
http://reality.sgi.com/sgiquake/doc/
$Date: 1997/05/05 13:58:27 $
$Revision: 1.2 $
|