merge the doc trees from nuq and newtree

This commit is contained in:
Bill Currie 2001-01-09 06:31:59 +00:00
parent ad0eee5dfe
commit 3125e5cc79
41 changed files with 12002 additions and 0 deletions

69
doc/3dfx.txt Normal file
View file

@ -0,0 +1,69 @@
GLQuake Drivers
Graphics Subsystem: Voodoo Graphics or Voodoo Rush
Copyright ( 1997 3Dfx Interactive, Inc. )
All Rights Reserved
3Dfx Interactive, Inc.
www: www.3dfx.com
news: news.3dfx.com
-----------------------------------------------------------------------
NOTE: GLQuake requires DirectX support DirectSound. DirectX can be
installed from the media provided with your Voodoo Based 3D Accelerator.
Glide 2.31 or HIGHER runtime drivers *MUST* be installed to use this
GLQuake driver. Please download these drivers from your board
manufacturer OR unsupported drivers from http://www.3dfx.com
-----------------------------------------------------------------------
Release Notes for GLQuake's mini-GL driver
What's in the distribution?
---------------------------
This distribution contains GLQuake Drivers for Voodoo Based 3D
Accelerators. These drivers were tested on the following boards:
Voodoo Graphics:
- Quantum 3D Obsidian
- Diamond Monster 3D
- Orchid Righteous 3D
- Deltron Realvision Flash 3D
- Guillemot MaxiGamer
- Skywell Magic 3D
Voodoo Rush:
- Hercules Stringray 128-3D
- Intergraph Intense 3D Voodoo
- Jazz Multimedia Adrenaline Rush
NOTE: The enclosed drivers are not meant to replace any Direct3D or
Glide drivers provided by your Voodoo Graphics card manufacturer.
Please obtain supported drivers from your board manufacturer.
OEMSR2 and NT users: Do NOT replace OPENGL32.DLL located in your
Windows\SYSTEM directory.
Requirements
------------
- Voodoo Graphics or Voodoo Rush Based 3D Accelerator
- Windows 95 (Windows NT is supported for Voodoo Rush)
- A PC with a Pentium 90 or higher CPU
- 16MB of RAM
- 2D Video card set at 16 bit color
Support and Frequently Asked Questions
--------------------------------------
GLQuake is currently unsupported. You may however find answers to
questions on various Quake dedicated websites. 3Dfx provides a GLQuake
newsgroup on news.3dfx.com (Newsgroup name is 3dfx.games.glquake ) to
discuss GLQuake with other users. 3Dfx also provides a regularly
updated GLQuake FAQ at: http://www.3dfx.com/game_dev/quake_faq.html
Voodoo Graphics and Voodoo Rush are trademarks of 3Dfx Interactive, Inc.
All other trademarks are the property of their respective owners.

1696
doc/cvarlist.txt Normal file

File diff suppressed because it is too large Load diff

487
doc/data/comexp.txt Normal file
View file

@ -0,0 +1,487 @@
COMMERCIAL EXPLOITATION LICENSE AGREEMENT FOR QUAKE
This Commercial Exploitation License Agreement for QUAKE
(the "Agreement") is between Id Software, Inc., a Texas
Corporation, (hereinafter "Id Software") and Licensee (as described
on the signature page hereof) and is made effective beginning on
the date of last signature hereto (the "Effective Date").
R E C I T A L S
WHEREAS, Id Software is the owner and developer of the
computer software game entitled QUAKE;
WHEREAS, Id Software desires to license certain
non-exclusive rights regarding QUAKE to Licensee; and
WHEREAS, Licensee desires to receive a license for such
rights.
T E R M S A N D C O N D I T I O N S
NOW, THEREFORE, for and in consideration of the mutual
premises contained herein and for other good and valuable
consideration, the receipt and sufficiency of which is hereby
acknowledged, the undersigned parties do hereby agree as follows:
1. DEFINITIONS. As used in this Agreement, the parties
hereto agree the words set forth below shall have the specified
meanings:
a. "Authorized Copy" shall mean one (1) copy of the
Subject Game actually purchased by Licensee from an
Id Software approved retailer; and
b. "Subject Game" shall mean the full registered
version of QUAKE on a CD-ROM and shall not mean the
shareware or any other version.
2. GRANT OF RIGHTS. Id Software hereby grants to
Licensee and Licensee hereby accepts, subject to the provisions and
conditions hereof, a world-wide (except as otherwise provided
herein), non-exclusive, non-transferable, and non-assignable
license to:
a. publicly display an Authorized Copy in exchange for
rental payment;
b. run the Authorized Copy so that it will accept
network/modem connections in exchange for payments
from end-users who also must have actually purchased
an Authorized Copy; and
c. otherwise commercially exploit an Authorized Copy,
except that Licensee shall not copy, reproduce,
manufacture or distribute the Authorized Copy.
3. RESERVATION OF RIGHTS AND PROHIBITIONS. Id Software
expressly reserves all rights not granted herein. Under no
circumstances shall Licensee copy, reproduce, manufacture or
distribute (free of charge or otherwise) the Authorized Copy or the
Subject Game. Licensee shall not reverse engineer, decompile,
disassemble, modify or alter the Authorized Copy. Licensee is not
receiving any rights hereunder regarding the Trademark or any
artwork, sound, music or other element of the Subject Game.
4. OWNERSHIP. Title to and all ownership rights in and
to the Subject Game, and the QUAKE Trademark (the "Trademark") and
the copyrights, trademarks, patents and other intellectual property
rights related thereto shall remain with Id Software which shall have
the exclusive right to protect the same by copyright or otherwise.
Licensee shall have no ownership rights in or to the Subject Game or
the Trademark and Licensee shall not own any intellectual property
rights regarding the Authorized Copy, including, without limitation,
the copyright regarding the Authorized Copy. Licensee acknowledges
that it only has a limited license to use the Authorized Copy, as
specified in that certain QUAKE Enduser License contained within the
Authorized Copy and as specified in this Agreement.
5. TERM AND TERMINATION.
a. The term of this Agreement and the license granted
herein begins on the Effective Date and shall expire on a date one
(1) calendar year from the Effective Date.
b. Either party may terminate this Agreement, for any
reason or no reason, on thirty (30) days written notice to the
other party. Termination will be effective on the thirtieth (30th)
day following delivery of the described notice. Notwithstanding
anything to the contrary herein, this Agreement shall immediately
terminate, without the requirement of any notice from Id Software
to Licensee, upon the occurrence of any of the following: (a) if
Licensee shall file a petition in bankruptcy or make an assignment
for the benefit of creditors, or if any bankruptcy proceeding or
assignment for benefit of creditors, shall be commenced against
Licensee and not be dismissed within sixty (60) days after the date
of its commencement; (b) the insolvency of Licensee; (c) the
cessation by Licensee of its business; or (d) the cessation by
Licensee, without the prior written consent of Id Software of the
distribution, manufacture, and sale responsibilities embodied
herein. Further, Id Software may elect to terminate this Agreement
upon the occurrence of any of the following: (1) if Licensee's
business operations are interrupted for forty (40) consecutive
calendar days; or (2) if each of two Id Software audit inspections
during any eighteen (18) month period demonstrates an
understatement by Licensee of Royalty payments due Id Software for
the six (6) month period immediately preceding each such inspection
of five percent (5%) or more. Upon the occurrence of such
terminating event, and the election of Id Software, if necessary,
to cause such termination, this Agreement and any and all rights
thereunder shall terminate without prejudice to any rights or
claims Id Software may have, and all rights hereunder shall
thereupon terminate, revert to and be vested in Id Software.
6. EFFECT OF TERMINATION OR EXPIRATION. Termination or
expiration of this Agreement, either by Id Software or
automatically, shall not create any liability against Id Software.
Upon expiration or earlier termination of this Agreement, Licensee
shall have no further right to exercise the rights licensed
hereunder or otherwise acquired in relation to this Agreement.
7. INDEMNIFICATION. Licensee hereby agrees to
indemnify, hold harmless and defend Id Software and Id Software's
predecessors, successors, assigns, officers, directors,
shareholders, employees, agents, representatives, licensees,
sublicensees, distributors, attorneys and accountants
(collectively, the "Id Related Parties") from and against any and
all damages, claims, losses, causes of action, liabilities,
lawsuits, judgments and expenses (including, without limitation,
reasonable attorneys' fees and expenses) arising from, relating to
or in connection with a breach of this Agreement by Licensee and
arising from, relating to or in connection with the Licensee's use
or non-use of the Authorized Copy (collectively, the "Claims"). Id
Software agrees to notify Licensee of any such Claims within a
reasonable time after Id Software learns of same. Licensee, at its
own expense, shall defend Id Software and the Id Related Parties
from any and all Claims. Id Software and the Id Related Parties
reserve the right to participate in any defense of the Claims with
counsel of their choice, and at their own expense. In the event
Licensee fails to provide a defense, then Licensee shall be
responsible for paying the attorneys' fees and expenses incurred by
Id Software and the Id Related Parties regarding the defense of the
Claims. Id Software and the Id Related Parties, as applicable,
agree to reasonably assist in the defense of the Claims. No
settlement by Licensee of any Claims shall be valid unless Licensee
receives the prior written consent of Id Software and the Id
Related Parties, as applicable, to any such settlement.
8. CONFIDENTIALITY. It is understood and agreed that
any proprietary information of Id Software that may from time to
time be made available or become known to Licensee is to be treated
as confidential, is to be used solely in connection with Licensee's
performance under this Agreement, and is to be disclosed only to
employees of Licensee who have a need for access. Such proprietary
information shall include, but not be limited to, trade secrets,
release information, financial information, personnel information,
and the like. Reasonable measures shall be taken by Licensee to
protect the confidentiality of Id Software's proprietary
information and any memoranda or papers containing proprietary
information of Id Software's that Licensee may receive are to be
returned to Id Software upon request. Licensee's obligations and
duties under this paragraph shall survive expiration or earlier
termination of this Agreement. Licensee shall obtain from its
employees an undertaking in a form which may be supplied by Id
Software, and which is subject to Id Software's prior written
approval, not to use or disclose to any third party any information
or knowledge concerning the business of Id Software which may be
communicated to such employees.
9. LIMITATION OF LIABILITY. ID SOFTWARE EXPRESSLY
DISCLAIMS ALL WARRANTIES NOT PROVIDED BY ID SOFTWARE HEREUNDER.
UNDER NO CIRCUMSTANCES SHALL ID SOFTWARE BE LIABLE TO LICENSEE FOR
ACTUAL, SPECIAL, INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES OR
ANY OTHER DAMAGES, WHETHER OR NOT ID SOFTWARE RECEIVES NOTICE OF
ANY SUCH DAMAGES.
10. COMPLIANCE WITH APPLICABLE LAWS. In performing
under this Agreement, Licensee agrees to comply with all applicable
laws, [including, without limitation, 22 U.S.C., 2778 and 22
U.S.C. C.F.R. Parts 120-130 (1995)] regulations, ordinances and
statutes, including, but not limited to, the import/export laws and
regulations of the United States and its governmental and
regulatory agencies (including, without limitation, the Bureau of
Export Administration and the U.S. Department of Commerce) and all
applicable international treaties and laws. Further, Licensee
shall defend, indemnify and hold harmless Id Software from any and
all sales tax, tariffs and/or duties in connection with Licensee's
performance hereunder.
11. SPECIFIC UNDERTAKINGS BY LICENSEE. In addition to
the obligations of Licensee otherwise set forth in this Agreement,
during the term of this Agreement, and thereafter where specified,
Licensee agrees that:
a. It will not attack the title of Id Software to the
Subject Game or the Trademark and any copyright, patent or
trademark or other intellectual property right related thereto and
it will not attack the validity of the license granted hereunder
during the term hereof or thereafter; and
b. It will promptly inform Id Software of any
unauthorized use of the Authorized Copy, the Subject Game and the
Trademark and any portions thereof and reasonably assist Id
Software in the enforcement of any rights Id Software may have
against such unauthorized users.
12. FINANCIAL OBLIGATIONS AND ACCOUNTING.
a. Payment of Royalties. Licensee agrees to pay Id
Software a royalty ("Royalty") at the rate of twelve and one-half
percent (12.5%) of Net Income. The term "Net Income" shall mean
all revenue received by Licensee from the commercial use of the
Authorized Copy, less only Licensee's actual, documented costs
relating directly to such use. A Royalty shall only be due for
those months in which Licensee's gross revenue from QUAKE
distribution exceeds U.S. Five Thousand Dollars ($5,000.00) and in
such months Licensee shall pay a full Royalty on all revenue
received.
b. Rendition of Statements. Licensee shall account to
Id Software with regard to transactions hereunder within forty-five
(45) days following the conclusion of each calendar quarter.
Licensee hereby represents and warrants that such statements of
account to be prepared shall be true and correct. The accounts
shall show in summary form the appropriate calculations relating to
the computation of Royalties, if any. The statements shall also
show the gross revenue received by Licensee per month. The
Royalties payable to Id Software hereunder shall be remitted with
the particular statement indicating such amount to be due. All
statements hereunder shall be deemed rendered when deposited,
postage prepaid, in the United States mail, addressed to Id
Software at Id Software's address set forth on the signature page
hereof.
c. Books of Account and Audits. Licensee shall keep
books of account relating to the commercial use of the Authorized
Copy on the basis of generally accepted accounting principles and
shall maintain such books of account for a period of at least two
(2) years after the expiration or earlier termination of this
Agreement; provided, however, that Licensee shall not be required
to keep such records longer than seven (7) years from their date of
origination. Id Software may, upon reasonable notice and at its
own expense, audit the applicable records at Licensee's office, in
order to verify statements rendered hereunder. Any such audit
shall take place during reasonable business hours and in such
manner so as not to interfere with Licensee's normal business
activities. Id Software agrees that such information inspected
and/or copied on behalf of Id Software hereunder shall be used only
for the purpose of determining the accuracy of the statements, and
shall be revealed only to such officers, directors, employees,
agents and/or representatives of Id Software as necessary to verify
the accuracy of the statements. If in an audit of Licensee's books
and records it is determined that there is a short fall of ten
percent (10%) or more in Royalties reported for any calendar
quarter, in addition to payment of such short fall and interest as
may be due, as provided herein, Licensee shall reimburse Id
Software for the full out-of-pocket costs of the audit including
reasonable travel costs and expenses; provided, however, that the
amount of reimbursement paid by Licensee shall not exceed U.S.
Fifteen Thousand Dollars ($15,000.00) for any audit.
d. Payment of the Royalty. Licensee assumes all risks
associated with fluctuations in foreign currency exchange rates.
Licensee shall pay and agrees to pay all sums due Id Software in
United States Dollars. With respect to Royalties due for
commercial use outside the United States, other currencies shall be
exchanged at the expense of Licensee into United States Dollars
using the bid price quoted at the Citibank, N.A. of New York, New
York, for the purchase of United States Dollars at the close of
business on the last day of the calendar quarter during which any
amounts accrue. Payment of the Royalties shall be made in Dallas
County, Texas.
e. Interest. If Id Software does not receive the
applicable Royalty payment on or before the due date of such
payment, Licensee agrees to pay and shall pay interest on Royalties
owed to Id Software from such date as specified in the following
sentence at a rate per annum equal to the Index Rate. For purposes
of clarification, the interest will begin to accrue on the first
(1st) day following the due date of the Royalty payment, unless the
Royalty payment is paid timely. The "Index Rate" shall be the
prime rate as published in The Wall Street Journal's "Money Rates"
table. If multiple prime rates are quoted in the table, then the
highest prime rate will be the Index Rate. In the event that the
prime rate is no longer published in the "Money Rates" table, then
Id Software will choose a substitute Index Rate which is based upon
comparable information. The applicable interest rate will be
determined and take effect on the first day of each month.
NOTHING HEREIN SHALL BE CONSTRUED AS A REQUEST OR DEMAND BY
ID SOFTWARE OF INTEREST AT A RATE HIGHER THAN ALLOWED BY APPLICABLE
LAW. IT IS THE INTENT OF THE PARTIES HERETO THAT NO INTEREST BE
CHARGED HEREUNDER WHICH EXCEEDS THE MAXIMUM RATE ALLOWED BY
APPLICABLE LAW. IF THE RATE REFERENCED ABOVE EXCEEDS THE MAXIMUM
RATE ALLOWED BY APPLICABLE LAW, THEN THE INTEREST RATE MADE
APPLICABLE HEREIN SHALL BE THE MAXIMUM RATE ALLOWED BY APPLICABLE
LAW.
13. SUBLICENSE. Licensee shall not be entitled to
sublicense any of its rights under this Agreement.
14. GOODWILL. Licensee recognizes the great value of
the goodwill associated with the Subject Game and the Trademark,
and acknowledges that such goodwill, now existing and hereafter
created, exclusively belongs to Id Software and that the Trademark
has acquired a secondary meaning in the mind of the public.
15. REMEDIES. In the event of a breach of this
Agreement by Id Software, Licensee's sole remedy shall be to
terminate this Agreement. In the event of a breach by Licensee of
this Agreement, Id Software may pursue the remedies to which it is
entitled under applicable law, including, but not limited to,
termination of this Agreement. Licensee agrees that its failure to
comply with the terms of this Agreement upon expiration or earlier
termination hereof or Licensee's unauthorized use of the Authorized
Copy may result in immediate and irreparable damage to Id Software
for which there is no adequate remedy at law, and in the event of
such failure by Licensee, Id Software shall be entitled to
injunctive relief. Pursuit of any remedy by Id Software shall not
constitute a waiver of any other right or remedy of Id Software
under this Agreement or under applicable law. Termination of this
Agreement shall not be a pre-condition to Id Software pursuing its
other remedies for breach.
16. LICENSEE'S WARRANTIES. Licensee warrants and
represents that it has full legal rights to enter into this
Agreement and to perform its obligations hereunder and that it will
comply, at all times during the terms of this Agreement, with all
applicable laws, as set forth hereinabove.
17. BANKRUPTCY. If Licensee's liabilities exceed its
assets, or if Licensee becomes unable to pay its debts as they
become due or if Licensee files for voluntary bankruptcy, or is
placed in bankruptcy which is not dissolved or dismissed after
thirty (30) days from the petition filing date, or if Licensee
becomes insolvent, or makes an assignment for the benefit of its
creditors or an arrangement pursuant to any bankruptcy laws or if
Licensee discontinues its business or if a receiver is appointed
for its business, this Agreement shall automatically terminate,
without notice, and become null and void; provided, however, all
duties of Licensee upon termination or expiration of this Agreement
shall continue in full force and effect.
18. ENTIRE AGREEMENT AND ASSIGNMENT. This Agreement
constitutes the entire understanding between Licensee and Id
Software regarding the Subject Game. Each and every clause of this
Agreement is severable from the whole and shall survive unless the
entire Agreement is declared unenforceable. No prior or present
agreements or representations shall be binding upon any of the
parties hereto unless incorporated in this Agreement. No
modification or change in this Agreement shall be valid or binding
upon the parties unless in writing, executed by the parties to be
bound thereby. This Agreement shall bind and inure to the benefit
of Id Software, its successors and assigns, and Id Software may
assign its rights hereunder, in Id Software's sole discretion.
This Agreement is personal to Licensee, and Licensee shall not
sublicense, assign, transfer, convey nor franchise its rights
granted hereunder.
19. CHOICE OF LAW, VENUE AND SERVICE OF PROCESS. This
Agreement shall be construed in accordance with the laws of the
State of Texas and applicable U.S. federal law and all claims
and/or lawsuits in connection with this Agreement must be brought
in Dallas County, Texas. Licensee hereby agrees that service of
process by certified mail to the address set forth below, with
return receipt requested, shall constitute valid service of process
upon Licensee. If for any reason Licensee has moved or cannot be
validly served, then Licensee appoints the Secretary of State of
the state of Texas to accept service of process on Licensee's
behalf.
20. EXCUSED PERFORMANCE. Neither party shall be deemed
to be in default of any provision of this Agreement nor be liable
for any delay, failure in performance or interruption of service,
resulting directly or indirectly from acts of God, civil or
military authority, civil disturbance, military action, war,
strikes, other catastrophes or any other similar cause beyond its
reasonable control. Written notice to the non-affected party of any
such condition shall be given by the affected party within ten (10)
days of the event.
21. DELIVERY OF NOTICES, AND DELIVERY OF PAYMENTS.
Unless otherwise directed in writing by the parties, all notices
given hereunder and all payments made hereunder shall be sent to
the addresses set forth on the signature page hereof. All
notices, requests, consents and other communications under this
Agreement shall be in writing and shall be deemed to have been
delivered on the date personally delivered or on the date deposited
in the United States Postal Service, postage prepaid, by certified
mail, return receipt requested, or telegraphed and confirmed, or
delivered by electronic facsimile and confirmed. Any notice to Id
Software shall also be sent to its counsel: D. Wade Cloud, Jr.,
Hiersche, Martens, Hayward, Drakeley & Urbach, P.C., 15303 Dallas
Parkway, Suite 700, LB 17, Dallas, Texas 75248.
22. NO PARTNERSHIP, ETC. This Agreement does not
constitute and shall not be construed as constituting a partnership
or joint venture between Id Software and Licensee. Neither party
shall have any right to obligate or bind the other party in any
manner whatsoever, and nothing herein contained shall give, or is
intended to give, any rights of any kind to any third persons.
23. COUNTERPARTS. This Agreement may be executed in
several counterparts, each of which will be deemed to be an
original, and each of which alone and all of which together, shall
constitute one and the same instrument, but in making proof of this
Agreement it shall not be necessary to produce or account for each
copy of any counterpart other than the counterpart signed by the
party against whom this Agreement is to be enforced. This
Agreement may be transmitted by facsimile, and it is the intent of
the parties for the facsimile of any autograph printed by a
receiving facsimile machine to be an original signature and for the
facsimile and any complete photocopy of the Agreement to be deemed
an original counterpart.
24. MEDIATION. If a dispute arises out of or relates to
this Agreement, or a breach of this Agreement, and if the dispute
cannot be settled through direct discussion, then the parties agree
to endeavor to settle the dispute in an amicable manner by
mediation, under the applicable provisions of Section 154.00 et
seq., Texas Civil Practices and Remedies Code, as supplemented by
the rules of the Association of Attorney Mediators.
25. SURVIVAL. The following provisions shall survive
the expiration or earlier termination of this Agreement:
paragraphs 4., 7., 8., and the audit rights of Id Software in
paragraph 12.c.
26. MISCELLANEOUS.
a. All captions in this Agreement are intended solely
for the convenience of the parties, and none shall effect the
meaning or construction of any provision.
b. The terms and conditions of this Agreement have been
negotiated fully and freely among the parties. Accordingly, the
preparation of this Agreement by counsel for a given party will not
be material to the construction hereof, and the terms of this
Agreement shall not be strictly construed against such party.
By signing in the spaces provided below, the parties have
agreed to all of the terms and conditions set forth in this
Agreement.
AGREED:
LICENSEE:
Signed:_______________________________
Printed Name:_________________________
Title:________________________________
Address:______________________________
______________________________________
______________________________________
Telephone #: _________________________
Fax #:________________________________
E-Mail Address:_______________________
Date: ________________________________
AGREED:
ID SOFTWARE, INC.
Signed:_______________________________
Printed Name:_________________________
Title:________________________________
Address:______________________________
______________________________________
______________________________________
Telephone #: _________________________
Fax #:________________________________
E-Mail Address:_______________________
Date: ________________________________
June 10, 1996
COMMERCIAL EXPLOITATION LICENSE AGREEMENT FOR QUAKE
(DWC:dw:3406.0299:dwc\doc:5017)

177
doc/data/docs/install Normal file
View file

@ -0,0 +1,177 @@
INSTALL for Linux Quake
-----------------------
Quake for Linux provides several different binary executables to support
different hardware and drivers.
Included with Linux Quake are:
- SVGALib Quake (squake)
This is a software renderer Quake that runs at the text console in Linux.
- GLQuake (glquake, glquake.glx and glquake.3dfxgl)
This is a hardware renderer Quake that runs using hardware 3D
acceleration.
- X11 Quake (quake.x11)
Software rendering in a window under X11.
Installation
------------
Mount the Quake CD as one would usually mount a CDROM, this can be
accomplished by using the command:
mount /dev/cdrom /mnt
As root. Once the CD is mounted, run the setup script on the CD as root.
$ su
Password:
# mount /dev/cdrom /mnt
# /bin/sh /mnt/setup
The script will ask some questions about what options you want to install
and automatically install the software into /usr/local/games/quake.
Requirements
------------
Requirements for SVGALib Quake:
- SVGALib 1.20 or later (/lib/libvga.so.1.2.10)
- libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
or glibc (libc6) for the glibc version
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib supported mouse (usually if it works with X, it'll work with
squake).
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
Requirements for GLQuake:
- 3DFX based card for the GLQuake version, VooDoo, VooDoo Rush or VooDoo2
at this writing. In order to use 3DFX hardware, you must have 3DFX's
GLIDE drivers installed. RPMs for these drivers are available at:
http://glide.xxedgexx.com/3DfxRPMS.html
- For the glX version, an OpenGL implementation that includes hardware
glX support.
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib compatible mouse for glquake or X11 for glquake.glx
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
Requirements for X11 Quake:
- X11R5 later, only tested with XFree86, should work with most X Servers
- libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
or glibc (libc6) for the glibc version
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib supported mouse (usually if it works with X, it'll work with
squake).
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
Additional notes for SVGALib Quake
----------------------------------
SVGALib may not detect a 3-button mouse properly (it
will only use two buttons). Check your /etc/vga/libvga.config
and set it up for your mouse type.
Also, newer versions of SVGALib have an mouse_accel_type option. Most
users will want to set this to "off" in /etc/vga/libvga.config.
Additional notes for GLQuake
----------------------------
There are three different ways to execute GLQuake:
1. The binary "glquake" requires Mesa 3-D 2.5 or later installed and compiled
with 3DFX support (fxMesa..() function interface). It also requires
svgalib 1.3.0 or later for keyboard/mouse input. This binary is a console
application. Mesa 3-D requires GLIDE to be installed.
2. The shell script "glquake.3dfxgl" runs the "glquake" binary after
preloading the lib3dfxgl.so library. This is a port of 3DFX's Win32
OpenGL MCD (Mini Client Driver) to Linux. It is faster than Mesa 3-D
since it was written specifically with supporting GLQuake in mind.
lib3dfxgl.so requires that GLIDE be installed.
3. The binary "glquake.glx" is linked against standard OpenGL libraries.
It should run on many different hardward OpenGL implementations under
Linux and X11. This binary is an X11 application and must be run under
X11. It will work with Mesa 3-D as a standard glX based OpenGL
applications. If the Mesa 3-D library is compiled with 3DFX support,
you can have Mesa 3-D support 3DFX hardware under X11 by setting the
enviroment variable "MESA_GLX_FX" to "fullscreen" for fullscreen mode
and "window" for windowed mode, eg. "export MESA_GLX_FX=fullscreen" for sh
or "setenv MESA_GLX_FX fullscreen" for csh.
For glquake, you must also have SVGALib or later installed (1.3.0 or later
prefered). GLQuake uses SVGALib for mouse and keyboard handling.
If you have gpm and/or selection running, you will have to terminate them
before running GLQuake since they will not give up the mouse when GLQuake
attempts to run. You can kill gpm by typing 'killall gpm' as root.
You must run GLQuake as root or setuid root since it needs to access things
such as sound, keyboard, mouse and the 3DFX video. Future versions may not
require root permissions.
Additional notes for X11 Quake
------------------------------
This is a windowed version that is generic for X11. It runs in a window
and can be resized. You can specify a starting window size with:
-width <width>
-height <height>
-winsize <width> <height>
Default is 320x200. It works in 16bit modes, but it's slower (twice as many
bytes to copy).
No other video modes are supported (just runs windowed). Mouse is read, but
not "grabbed" by default. Go to the Options menu and turn on Use Mouse to grab
the mouse and use it in the game (or type "_windowed_mouse 1" at the console).
Command Line Options for Linux Quake
------------------------------------
-mem <mb>
Specify memory in megabytes to allocate (default is 8MB, which should be fine
for most needs).
-nostdout
Don't do any output to stdout
-mdev <device> (SVGALib based versions only)
Mouse device, default is /dev/mouse
-mrate <speed> (SVGALib based versions only)
Mouse baud rate, default is 1200
-cddev <device>
CD device, default is /dev/cdrom
-mode <modenum>
Use indicated video mode
-nokdb
Don't initialize keyboard
-sndbits <8 or 16>
Set sound bit sample size. Default is 16 if supported.
-sndspeed <speed>
Set sound speed. Usual values are 8000, 11025, 22051 and 44100.
Default is 11025.
-sndmono
Set mono sound
-sndstereo
Set stereo sound (default if supported)

View file

@ -0,0 +1,39 @@
INSTALL for Linux Quake2 Mission Packs
--------------------------------------
Installation
------------
Mount the Quake2 Mission Pack CD as one would usually mount a CDROM, this can
be accomplished by using the command:
mount /dev/cdrom /mnt
As root. Once the CD is mounted, run the setup script on the CD as root.
$ su
Password:
# mount /dev/cdrom /mnt
# /bin/sh /mnt/setup
The script will ask some questions about what options you want to install
and automatically install the software into /usr/local/games/quake2.
After Installation
------------------
To run Quake2 Mission Pack #1: The Reckoning add the following option when
executing Quake2:
./quake2 +set game xatrix
To run Quake2 Mission Pack #2: Ground Zero add the following:
./quake2 +set game rogue
Requirements
------------
The Quake2 Mission Packs require a previous installation of Quake2.

177
doc/data/docs/install.quake Normal file
View file

@ -0,0 +1,177 @@
INSTALL for Linux Quake
-----------------------
Quake for Linux provides several different binary executables to support
different hardware and drivers.
Included with Linux Quake are:
- SVGALib Quake (squake)
This is a software renderer Quake that runs at the text console in Linux.
- GLQuake (glquake, glquake.glx and glquake.3dfxgl)
This is a hardware renderer Quake that runs using hardware 3D
acceleration.
- X11 Quake (quake.x11)
Software rendering in a window under X11.
Installation
------------
Mount the Quake CD as one would usually mount a CDROM, this can be
accomplished by using the command:
mount /dev/cdrom /mnt
As root. Once the CD is mounted, run the setup script on the CD as root.
$ su
Password:
# mount /dev/cdrom /mnt
# /bin/sh /mnt/setup
The script will ask some questions about what options you want to install
and automatically install the software into /usr/local/games/quake.
Requirements
------------
Requirements for SVGALib Quake:
- SVGALib 1.20 or later (/lib/libvga.so.1.2.10)
- libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
or glibc (libc6) for the glibc version
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib supported mouse (usually if it works with X, it'll work with
squake).
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
Requirements for GLQuake:
- 3DFX based card for the GLQuake version, VooDoo, VooDoo Rush or VooDoo2
at this writing. In order to use 3DFX hardware, you must have 3DFX's
GLIDE drivers installed. RPMs for these drivers are available at:
http://glide.xxedgexx.com/3DfxRPMS.html
- For the glX version, an OpenGL implementation that includes hardware
glX support.
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib compatible mouse for glquake or X11 for glquake.glx
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
Requirements for X11 Quake:
- X11R5 later, only tested with XFree86, should work with most X Servers
- libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
or glibc (libc6) for the glibc version
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib supported mouse (usually if it works with X, it'll work with
squake).
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
Additional notes for SVGALib Quake
----------------------------------
SVGALib may not detect a 3-button mouse properly (it
will only use two buttons). Check your /etc/vga/libvga.config
and set it up for your mouse type.
Also, newer versions of SVGALib have an mouse_accel_type option. Most
users will want to set this to "off" in /etc/vga/libvga.config.
Additional notes for GLQuake
----------------------------
There are three different ways to execute GLQuake:
1. The binary "glquake" requires Mesa 3-D 2.5 or later installed and compiled
with 3DFX support (fxMesa..() function interface). It also requires
svgalib 1.3.0 or later for keyboard/mouse input. This binary is a console
application. Mesa 3-D requires GLIDE to be installed.
2. The shell script "glquake.3dfxgl" runs the "glquake" binary after
preloading the lib3dfxgl.so library. This is a port of 3DFX's Win32
OpenGL MCD (Mini Client Driver) to Linux. It is faster than Mesa 3-D
since it was written specifically with supporting GLQuake in mind.
lib3dfxgl.so requires that GLIDE be installed.
3. The binary "glquake.glx" is linked against standard OpenGL libraries.
It should run on many different hardward OpenGL implementations under
Linux and X11. This binary is an X11 application and must be run under
X11. It will work with Mesa 3-D as a standard glX based OpenGL
applications. If the Mesa 3-D library is compiled with 3DFX support,
you can have Mesa 3-D support 3DFX hardware under X11 by setting the
enviroment variable "MESA_GLX_FX" to "fullscreen" for fullscreen mode
and "window" for windowed mode, eg. "export MESA_GLX_FX=fullscreen" for sh
or "setenv MESA_GLX_FX fullscreen" for csh.
For glquake, you must also have SVGALib or later installed (1.3.0 or later
prefered). GLQuake uses SVGALib for mouse and keyboard handling.
If you have gpm and/or selection running, you will have to terminate them
before running GLQuake since they will not give up the mouse when GLQuake
attempts to run. You can kill gpm by typing 'killall gpm' as root.
You must run GLQuake as root or setuid root since it needs to access things
such as sound, keyboard, mouse and the 3DFX video. Future versions may not
require root permissions.
Additional notes for X11 Quake
------------------------------
This is a windowed version that is generic for X11. It runs in a window
and can be resized. You can specify a starting window size with:
-width <width>
-height <height>
-winsize <width> <height>
Default is 320x200. It works in 16bit modes, but it's slower (twice as many
bytes to copy).
No other video modes are supported (just runs windowed). Mouse is read, but
not "grabbed" by default. Go to the Options menu and turn on Use Mouse to grab
the mouse and use it in the game (or type "_windowed_mouse 1" at the console).
Command Line Options for Linux Quake
------------------------------------
-mem <mb>
Specify memory in megabytes to allocate (default is 8MB, which should be fine
for most needs).
-nostdout
Don't do any output to stdout
-mdev <device> (SVGALib based versions only)
Mouse device, default is /dev/mouse
-mrate <speed> (SVGALib based versions only)
Mouse baud rate, default is 1200
-cddev <device>
CD device, default is /dev/cdrom
-mode <modenum>
Use indicated video mode
-nokdb
Don't initialize keyboard
-sndbits <8 or 16>
Set sound bit sample size. Default is 16 if supported.
-sndspeed <speed>
Set sound speed. Usual values are 8000, 11025, 22051 and 44100.
Default is 11025.
-sndmono
Set mono sound
-sndstereo
Set stereo sound (default if supported)

View file

@ -0,0 +1,218 @@
INSTALL for Linux Quake2
------------------------
Quake2 for Linux supports the following video subsystems:
- SVGALib Console Graphics (ref_soft.so)
- Requires SVGALib 1.2.0 or later
- X11 Window Graphics (ref_softx.so)
- X11R5 or later, XShm shared memory extension supported
- 3DFX fxMesa with Mesa 3-D or 3DFX Miniport (ref_gl.so)
- Mesa 3-D 2.6 or later, specifically compiled for 3DFX support
Mesa 3-D 2.6 compiled with 3DFX support is provided with this archive.
- Generic glX (X11) based OpenGL (ref_glx.so)
- Requires a glX based hardware accelerated OpenGL implementation.
Mesa 3-D 2.6 supports this on 3DFX hardware.
Also included is a specific 3DFX mini-OpenGL implementation for running Quake2
on 3DFX hardware.
Installation
------------
Mount the Quake2 CD as one would usually mount a CDROM, this can be
accomplished by using the command:
mount /dev/cdrom /mnt
As root. Once the CD is mounted, run the setup script on the CD as root.
$ su
Password:
# mount /dev/cdrom /mnt
# /bin/sh /mnt/setup
The script will ask some questions about what options you want to install
and automatically install the software into /usr/local/games/quake2.
Make sure you have the appropirate hardware, drivers and libraries installed
for the renderer you are going to play on.
Quake2 for Linux supports the following renderers:
- ref_soft
Software rendering under SVGALib (console only). SVGALib 1.2.10 or later
is required. Note that SVGALib 1.2.11 supports the ability to run a
SVGALib application under X11 as it will automatically allocate a new
console. The default mode is 320x240 (ModeX) since that is the lowest
resolution supported by Quake2. If SVGALib supports your video card, higher
resolution modes such as 640x480 and 800x600 are also supported.
Please note that you may need to configure your mouse for SVGALib in
/etc/vga/libvga.config (or /etc/libvga.config).
- ref_softx
Software rendering under X11. This uses the MITSHM Extension and should
work will virtually all Linux X Servers. **NOTE: Do not resize the window
under X11. You must use the Video menu to change resolution/window size.
By default, the mouse will not be 'tied' to the Quake2 window. To cause
Quake2 to grab the mouse, select 'Windowed Mouse' from the video menu,
or type '_windowed_mouse 0' at the console. Do the reverse to release it.
You can bind keys to grab and release the mouse in the console, like so:
bind i "_windowed_mouse 1"
bind o "_windowed_mouse 0"
Then "i" will grab the mouse and "o" will release it.
- ref_gl
This render can be run with two different OpenGL drivers: Mesa 3-D
ontop of Linux GLIDE, or 3DFX's mini-OpenGL Quake driver.
For Mesa 3-D, the necessary libMesaGL.so.2.6 is included with this archive.
You must copy it to /usr/lib or /usr/local/lib and run ldconfig (as root)
in order to use it. You can do this as follows:
tar cf - lib*GL* | (cd /usr/lib; tar xf -)
You should use tar to keep the symlinks intact. Once you copy them over
run ldconfig.
You must also download and install the Linux GLIDE drivers at
http://www.3dfx.com/software/download_glidel.html
And install them as instructed.
RPMs for GLIDE are available at :
http://glide.xxedgexx.com/3DfxRPMS.html
With version 3.20, the GL library is entirely runtime loaded. This means
you can specify what shared object to load for GL display.
To use Mesa 3-D GL (console), run quake with:
./quake2 +set vid_ref gl +set gl_driver libMesaGL.so.2
To use the 3DFX OpenGL Miniport, run the included quake2.3dfxgl:
./quake2 +set vid_ref gl +set gl_driver lib3dfxgl.so
The gl_driver cvar indicates the name of the library to load for GL
functions. It can be in any directory listed in /etc/ld.so.conf
or in /etc/quake2.conf
**NOTE: There is a problem on libc5 systems where a vid_restart (causing
a reload of the video system) will crash. There doesn't seem to be a
solution to this yet. It looks to be some sort of ld.so dynamic loading
interaction with SVGALib and ref_gl.so. A work around is to start in
software mode (./quake2 +set vid_ref soft), then use the menu to set your
mode and a vid_restart will work when going from software to GL. Exit
out then and save your video mode settings.
This problem does not occur on libc6 (glibc) based systems; vid_restart
works fine on there.
- ref_glx
ref_glx should run on many different hardward OpenGL implementations under
Linux and X11. This binary is an X11 application and must be run under
X11. It will work with Mesa 3-D as a standard glX based OpenGL
applications. If the Mesa 3-D library is compiled with 3DFX support,
you can have Mesa 3-D support 3DFX hardware under X11 by setting the
enviroment variable "MESA_GLX_FX" to "fullscreen" for fullscreen mode
and "window" for windowed mode, eg. "export MESA_GLX_FX=fullscreen" for sh
or "setenv MESA_GLX_FX fullscreen" for csh.
As with ref_gl, the "gl_driver" cvar indicates the shared library to load
for OpenGL functions (the glX functions must provided in that library
as well).
Permissions
-----------
Quake2 requires root permissions to use the software (SVGALib) and GL (MesaGL
w/3dfx) renders. In order to make this secure, some special considerations
must be made.
Quake2 should get setuid root:
chown root quake2
chmod 4711 quake2
And the ref_soft.so and ref_gl.so files must owned by root.
The file /etc/quake2.conf must be installed. This file contains a single
line with the path of where the ref shared libraries can be found.
A sample one is included that lists /usr/games/quake2 as the default
path. The libraries are only loaded out of the directory listed in
/etc/quake2.conf for security considerations.
Special permissions are not required for the softx renderer, but quake2 may
still need to be setuid root to open the sound device (quake2 will give up
setuid root permissions before loading softx).
NOTE: If you use a setuid quake2 binary and run it as a normal user, it
will NOT be able to switch renderers on the fly because root permissions
are given up after the renderer is loaded. You can switch renderers on the
fly if you run quake2 as root (su or log in as root).
NOTE: When the quake2 binary is run in dedicated server mode
(+set dedicated 1), no special permissions are required and
/etc/quake2.conf is not read since no renderer is loaded.
----
The first time you run Quake2, it will use ref_soft or ref_softx based
on whether a DISPLAY environment variable exists.
To force the loading of a specific renderer at load time, use the following
command lines:
./quake2 +set vid_ref soft
./quake2 +set vid_ref softx
./quake2 +set vid_ref gl
./quake2 +set vid_ref glx
Linux Specific Cvars
--------------------
To set this, use +set on the command line, i.e.:
./quake2 +set cd_dev /dev/hdc +set sndmono 1
nocdaudio (defaults to 0)
Do not enable cd audio if not zero
sndbits (defaults to 16)
Set sound bit sample size.
sndspeed (defaults to 0)
Set sound speed. Usual values are 8000, 11025, 22051 and 44100.
If set to zero, causes the sound driver to attempt speeds in the following
order: 11025, 22051, 44100, 8000.
sndchannels (defaults to 2)
Indicates stereo or mono sound. Defaults to 2 (stereo). Use 1 for mono.
nostdout (defaults to 0)
Whether to output console msgs to standard out. Non-zero is cease output.
Dedicated server
----------------
To run Linux Quake2 as a dedicated server, just run it as follows:
./quake2 +set dedicated 1
You can also set dmflags, timelimit, etc. in a config file, like so:
set timelimit 20
set fraglimit 25
set dmflags 532
map fact3
Then exec that config file on load, like so:
./quake2 +set dedicated 1 +exec server.cfg
If you use a config file, you must put a 'map' command in it or the
server won't load a map.
To run a dedicated server in the background, use this;
nohup ./quake2 +set dedicated 1 +exec server.cfg &
A better way is to run Quake2 on a tty via screen. screen can be found
at ftp://prep.ai.mit.edu/pub/gnu/screen-3.7.4.tar.gz, but it comes with
most modern Linux installations now.
-----------------------------------------------------------------------------
Linux Quake2 is an unsupported product. Usage of this product is bound by
the legal notice found on the distribution Quake2 CDROM.
/// Zoid
zoid@idsoftware.com

157
doc/data/docs/readme Normal file
View file

@ -0,0 +1,157 @@
README for Linux Quake
----------------------
This README convers all versions of Quake for Linux:
- SVGALib Quake (squake)
- GLQuake (glquake, glquake.glx and glquake.3dfxgl)
- X11 Quake (quake.x11)
Requirements for SVGALib Quake:
- SVGALib 1.20 or later (/lib/libvga.so.1.2.10)
- libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
or glibc (libc6) for the glibc version
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib supported mouse (usually if it works with X, it'll work with
squake).
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
Requirements for GLQuake:
- 3DFX based card for the GLQuake version, VooDoo, VooDoo Rush or VooDoo2
at this writing. In order to use 3DFX hardware, you must have 3DFX's
GLIDE drivers installed. RPMs for these drivers are available at:
http://glide.xxedgexx.com/3DfxRPMS.html
- For the glX version, an OpenGL implementation that includes hardware
glX support.
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib compatible mouse for glquake or X11 for glquake.glx
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
Requirements for X11 Quake:
- X11R5 later, only tested with XFree86, should work with most X Servers
- libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
or glibc (libc6) for the glibc version
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib supported mouse (usually if it works with X, it'll work with
squake).
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
Additional notes for SVGALib Quake
----------------------------------
SVGALib may not detect a 3-button mouse properly (it
will only use two buttons). Check your /etc/vga/libvga.config
and set it up for your mouse type.
Additional notes for GLQuake
----------------------------
There are three different ways to execute GLQuake:
1. The binary "glquake" requires Mesa 3-D 2.5 or later installed and compiled
with 3DFX support (fxMesa..() function interface). It also requires
svgalib 1.3.0 or later for keyboard/mouse input. This binary is a console
application. Mesa 3-D requires GLIDE to be installed.
2. The shell script "glquake.3dfxgl" runs the "glquake" binary after
preloading the lib3dfxgl.so library. This is a port of 3DFX's Win32
OpenGL MCD (Mini Client Driver) to Linux. It is faster than Mesa 3-D
since it was written specifically with supporting GLQuake in mind.
lib3dfxgl.so requires that GLIDE be installed.
3. The binary "glquake.glx" is linked against standard OpenGL libraries.
It should run on many different hardward OpenGL implementations under
Linux and X11. This binary is an X11 application and must be run under
X11. It will work with Mesa 3-D as a standard glX based OpenGL
applications. If the Mesa 3-D library is compiled with 3DFX support,
you can have Mesa 3-D support 3DFX hardware under X11 by setting the
enviroment variable "MESA_GLX_FX" to "fullscreen" for fullscreen mode
and "window" for windowed mode, eg. "export MESA_GLX_FX=fullscreen" for sh
or "setenv MESA_GLX_FX fullscreen" for csh.
For glquake, you must also have SVGALib or later installed (1.3.0 or later
prefered). GLQuake uses SVGALib for mouse and keyboard handling.
If you have gpm and/or selection running, you will have to terminate them
before running GLQuake since they will not give up the mouse when GLQuake
attempts to run. You can kill gpm by typing 'killall gpm' as root.
You must run GLQuake as root or setuid root since it needs to access things
such as sound, keyboard, mouse and the 3DFX video. Future versions may not
require root permissions.
Additional notes for X11 Quake
------------------------------
This is a windowed version that is generic for X11. It runs in a window
and can be resized. You can specify a starting window size with:
-width <width>
-height <height>
-winsize <width> <height>
Default is 320x200. It works in 16bit modes, but it's slower (twice as many
bytes to copy).
No other video modes are supported (just runs windowed). Mouse is read, but
not "grabbed" by default. Go to the Options menu and turn on Use Mouse to grab
the mouse and use it in the game (or type "_windowed_mouse 1" at the console).
Command Line Options for Linux Quake
------------------------------------
-mem <mb>
Specify memory in megabytes to allocate (default is 8MB, which should be fine
for most needs).
-nostdout
Don't do any output to stdout
-mdev <device> (SVGALib based versions only)
Mouse device, default is /dev/mouse
-mrate <speed> (SVGALib based versions only)
Mouse baud rate, default is 1200
-cddev <device>
CD device, default is /dev/cdrom
-mode <modenum>
Use indicated video mode
-nokdb
Don't initialize keyboard
-sndbits <8 or 16>
Set sound bit sample size. Default is 16 if supported.
-sndspeed <speed>
Set sound speed. Usual values are 8000, 11025, 22051 and 44100.
Default is 11025.
-sndmono
Set mono sound
-sndstereo
Set stereo sound (default if supported)
End Notes
---------
Linux Quake is *NOT* an officially supported product. Mail about it
will be deleted. Do not email id about this product. If you are having
technical difficultly, you can email me, but make sure you have the correct
kernel, libc, svgalib and other software versions before you email me.
Dave 'Zoid' Kirsch
zoid@idsoftware.com
Official Quake Unix Port Administrator

View file

@ -0,0 +1,162 @@
Linux Glquake v0.98, Quake v1.09 release notes
Requirements
------------
For 3DFX based hardware, you must download and install Linux GLIDE from
http://glide.xxedgexx.com/3DfxRPMS.html and install as per the
instructions.
Running GLQuake
---------------
There are three different ways to execute GLQuake:
1. The binary "glquake" requires Mesa 3-D 2.5 or later installed and compiled
with 3DFX support (fxMesa..() function interface). It also requires
svgalib 1.3.0 or later for keyboard/mouse input. This binary is a console
application. Mesa 3-D requires GLIDE to be installed.
2. The shell script "glquake.3dfxgl" runs the "glquake" binary after
preloading the lib3dfxgl.so library. This is a port of 3DFX's Win32
OpenGL MCD (Mini Client Driver) to Linux. It is faster than Mesa 3-D
since it was written specifically with supporting GLQuake in mind.
lib3dfxgl.so requires that GLIDE be installed.
3. The binary "glquake.glx" is linked against standard OpenGL libraries.
It should run on many different hardward OpenGL implementations under
Linux and X11. This binary is an X11 application and must be run under
X11. It will work with Mesa 3-D as a standard glX based OpenGL
applications. If the Mesa 3-D library is compiled with 3DFX support,
you can have Mesa 3-D support 3DFX hardware under X11 by setting the
enviroment variable "MESA_GLX_FX" to "fullscreen" for fullscreen mode
and "window" for windowed mode.
You must also have SVGALib 1.3.0 or later installed. GLQuake uses SVGALib
for mouse and keyboard handling.
If you have gpm and/or selection running, you will have to terminate them
before running GLQuake since they will not give up the mouse when GLQuake
attempts to run. You can kill gpm by typing 'killall gpm' as root.
You must run GLQuake as root or setuid root since it needs to access things
such as sound, keyboard, mouse and the 3DFX video. Future versions may not
require root permissions.
resolution options
------------------
glquake -width 512 -height 384
Tries to run glquake at the specified resolution.
Only highend VooDoo cards support such high resolutions (most
cards on the market right now do not). Another popular and supported mode
is 512x384 (-width 512 -height 384) which can offer a faster speed than
the default 640x480.
You can also specify the resolution of the console independant of the screen
resolution.
glquake -conwidth 320
This will specify a console resolution of 320 by 240 (the height is
automatically determined by the default 4:3 aspect ratio, you can also
specify the height directly with -conheight).
In higher resolution modes such as 800x600 and 1024x768, glquake will default
to a 640x480 console, since the font becomes small enough at higher
resolutions to become unreadable. If do you wish to have a higher resolution
console and status bar, specify it as well, such as:
glquake -width 800 -height 600 -conwidth 800
texture options
---------------
The amount of textures used in the game can have a large impact on performance.
There are several options that let you trade off visual quality for better
performance.
There is no way to flush already loaded textures, so it is best to change
these options on the command line, or they will only take effect on some of
the textures when you change levels.
OpenGL only allows textures to repeat on power of two boundaries (32, 64,
128, etc), but software quake had a number of textures that repeated at 24
or 96 pixel boundaries. These need to be either stretched out to the next
higher size, or shrunk down to the next lower. By default, they are filtered
down to the smaller size, but you can cause it to use the larger size if you
really want by using:
glquake +gl_round_down 0
This will generally run well on a normal 4 MB 3dfx card, but for other cards
that have either worse texture management or slower texture swapping speeds,
there are some additional settings that can drastically lower the amount of
textures to be managed.
glquake +gl_picmip 1
This causes all textures to have one half the dimensions they otherwise would.
This makes them blurry, but very small. You can set this to 2 to make the
textures one quarter the resolution on each axis for REALLY blurry textures.
glquake +gl_playermip 1
This is similar to picmip, but is only used for other players in deathmatch.
Each player in a deathmatch requires an individual skin texture, so this can
be a serious problem for texture management. It wouldn't be unreasonable to
set this to 2 or even 3 if you are playing competatively (and don't care if
the other guys have smudged skins). If you change this during the game, it
will take effect as soon as a player changes their skin colors.
run time options
----------------
At the console, you can set these values to effect drawing.
gl_texturemode GL_NEAREST
Sets texture mapping to point sampled, which may be faster on some GL systems
(not on 3dfx).
gl_texturemode GL_LINEAR_MIPMAP
This is the default texture mode.
gl_texturemode GL_LINEAR_MIPMAP_LINEAR
This is the highest quality texture mapping (trilinear), but only very high
end hardware (intergraph intense 3D / realizm) supports it. Not that big of
a deal, actually.
gl_finish 0
This causes the game to not issue a glFinish() call each frame, which may make
some hardware run faster. If this is cleared, the 3dfx will back up a number
of frames and not be very playable.
gl_flashblend 0
By default, glquake just draws a shaded ball around objects that are emiting
light. Clearing this variable will cause it to properly relight the world
like normal quake, but it can be a significant speed hit on some systems.
gl_ztrick 0
Glquake uses a buffering method that avoids clearing the Z buffer, but some
hardware platforms don't like it. If the status bar and console are flashing
every other frame, clear this variable.
gl_keeptjunctions 0
If you clear this, glquake will remove colinear vertexes when it reloads the
level. This can give a few percent speedup, but it can leave a couple stray
blinking pixels on the screen.
novelty features
----------------
These are some rendering tricks that were easy to do in glquake. They aren't
very robust, but they are pretty cool to look at.
r_shadows 1
This causes every object to cast a shadow.
r_wateralpha 0.7
This sets the opacity of water textures, so you can see through it in properly
processed maps. 0.3 is very faint, almost like fog. 1 is completely solid
(the default). Unfortunately, the standard quake maps don't contain any
visibility information for seeing past water surfaces, so you can't just play
quake with this turned on. If you just want to see what it looks like, you
can set "r_novis 1", but that will make things go very slow. When I get a
chance, I will probably release some maps that have been processed properly
for this.
r_mirroralpha 0.3
This changes one particular texture (the stained glass texture in the EASY
start hall) into a mirror. The value is the opacity of the mirror surface.

127
doc/data/docs/readme.squake Normal file
View file

@ -0,0 +1,127 @@
README for Linux SVGALib Quake
------------------------------
Requirements:
- SVGALib 1.20 or later (/lib/libvga.so.1.2.10)
- libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib supported mouse (usually if it works with X, it'll work with
squake).
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
Here's the release you've been waiting for. Linux squake supports
320x200x256, the various modeX modes (320x400, 360x400, etc) as well as high
res modes if your card is supported by SVGALib. Use the Quake console command
vid_describemodes to list supported modes and the command vid_mode <number> to
change modes.
Full sound support is included. The default sound rate is 16-bit stereo,
11KHz. You can change this in the options section below.
Mouse works great, but SVGALib may not detect a 3-button mouse properly (it
will only use two buttons). Check your /etc/libvga.config (or
/etc/vga/libvga.config for SlackWare users).
**Version 1.1 fixes some crash bugs with the mission packs.
New Command Line Options for Linux SVGAlib Quake
------------------------------------------------
-mem <mb>
Specify memory in megabytes to allocate (default is 8MB, which should be fine
for most needs).
-nostdout
Don't do any output to stdout
-mdev <device>
Mouse device, default is /dev/mouse
-mrate <speed>
Mouse baud rate, default is 1200
-cddev <device>
CD device, default is /dev/cdrom
-mode <modenum>
Use indicated video mode
-nokdb
Don't initialize keyboard
-sndbits <8 or 16>
Set sound bit sample size. Default is 16 if supported.
-sndspeed <speed>
Set sound speed. Usual values are 8000, 11025, 22051 and 44100.
Default is 11025.
-sndmono
Set mono sound
-sndstereo
Set stereo sound (default if supported)
Installation
------------
Boot DOS (I know, but you need it to run the Quake install program) and
install Quake from your Quake CD to a DOS parition.
Boot Linux and make a directory for Quake. Copy everything from the DOS Quake
directory into it. i.e.:
(cd /dos/quake; tar cf - .) | (cd ~/quake; tar xf -)
Place squake into your Quake directory. You must make it setuid root (since
Quake access stuff like direct video writes, the raw keyboard mode, CD, etc).
Quake will setuid back to the normal user as soon as it opens these files.
Make Quake suid root as follows:
chown root squake
chmod 4755 squake
Run squake. I don't recommend running it as root, since all the saved
config.cfg files will be then owned as root. Use your normal account, unless
you do everything as root, then your mileage will vary.
squake may segfault if it tries to initialize your sound card and their isn't
one. Same with the CDROM. If it dies, try it with -nosound and/or
-nocdaudio. If you have a sound card it died on and you know it is
supported by USSLite (the driver that comes with the Linux kernel), let me
know and I'll take a look at it.
It should work with SCSI CDROMs, but is untested.
Full TCP/IP network support is in, including listen and dedicated server
modes. squake makes a nice dedicated server as you don't need the X11
libraries kicking around.
All of the options described in TECHINFO.TXT and MANUAL.TXT from the Quake
distribution will work, 'cept for stuff with vid modes and stuff.
End Notes
---------
Linux SVGALib Quake is *NOT* an officially supported product. Mail about it
will be deleted. Do not email id about this product. If you are having
technical difficultly, you can email me, but make sure you have the correct
kernel, libc, svgalib and other software versions before you email me.
Dave 'Zoid' Kirsch
zoid@threewave.com
Official Quake Unix Port Administrator
Acks
----
Greg Alexander <galexand@sietch.bloomington.in.us> for initial work in SVGALib
support.
Dave Taylor <ddt@crack.com> for basic Linux support.
id Software for Quake and making me port it. :)
Lots of people on #linux, #quake for testing.

107
doc/data/docs/readme.x11 Normal file
View file

@ -0,0 +1,107 @@
README for Linux SVGALib Quake
------------------------------
Requirements:
- X11R5 later, only tested with XFree86, should work with most X Servers
- libc 5.2.18 or later (5.0.9 will not work, /lib/libc.so.5.2.18)
- CD-ROM for CDAudio
- Soundcard capable of mmap'd buffers. USSLite 3.5.4 was used to build squake
with. Works fine on SoundBlaster 16 and Gravis Ultrasound MAX.
- SVGALib supported mouse (usually if it works with X, it'll work with
squake).
- Kernel 2.0.24 or later
- untested with 2.1 kernels, your mileage may vary
This is a windowed version that is generic for X11. It runs in a window
and can be resized. You can specify a starting window size with:
-width <width>
-height <height>
-winsize <width> <height>
Default is 320x200. It works in 16bit modes, but it's slower (twice as many
bytes to copy).
No other video modes are supported (just runs windowed). Mouse is read, but
not "grabbed" by default. Go to the Options menu and turn on Use Mouse to grab
the mouse and use it in the game. If you want to move the mouse out of
QWCL, you have to turn Use Mouse off.
Full sound support is included. The default sound rate is 16-bit stereo,
11KHz. You can change this in the options section below.
New Command Line Options for Linux SVGAlib Quake
------------------------------------------------
-mem <mb>
Specify memory in megabytes to allocate (default is 8MB, which should be fine
for most needs).
-nostdout
Don't do any output to stdout
-cddev <device>
CD device, default is /dev/cdrom
-sndbits <8 or 16>
Set sound bit sample size. Default is 16 if supported.
-sndspeed <speed>
Set sound speed. Usual values are 8000, 11025, 22051 and 44100.
Default is 11025.
-sndmono
Set mono sound
-sndstereo
Set stereo sound (default if supported)
Installation
------------
Boot DOS (I know, but you need it to run the Quake install program) and
install Quake from your Quake CD to a DOS parition.
Boot Linux and make a directory for Quake. Copy everything from the DOS Quake
directory into it. i.e.:
(cd /dos/quake; tar cf - .) | (cd ~/quake; tar xf -)
Quake for X11 does not need to be setuid root. Sound can fail if /dev/dsp is
not mode 666.
Quake may segfault if it tries to initialize your sound card and their isn't
one. Same with the CDROM. If it dies, try it with -nosound and/or
-nocdaudio. If you have a sound card it died on and you know it is
supported by USSLite (the driver that comes with the Linux kernel), let me
know and I'll take a look at it.
It should work with SCSI CDROMs, but is untested.
Full TCP/IP network support is in, including listen and dedicated server
modes.
All of the options described in TECHINFO.TXT and MANUAL.TXT from the Quake
distribution will work, 'cept for stuff with vid modes and stuff.
End Notes
---------
Linux Quake is *NOT* an officially supported product. Mail about it
will be deleted. Do not email id about this product. If you are having
technical difficultly, you can email me, but make sure you have the correct
kernel, libc, svgalib and other software versions before you email me.
Dave 'Zoid' Kirsch
zoid@idsoftware.com
Official Quake Unix Port Administrator
Acks
----
Greg Alexander <galexand@sietch.bloomington.in.us> for initial work in SVGALib
support.
Dave Taylor <ddt@crack.com> for basic Linux support.
id Software for Quake and making me port it. :)
Lots of people on #linux, #quake for testing.

119
doc/data/help.txt Normal file
View file

@ -0,0 +1,119 @@
TECH SUPPORT
Any of the information listed below could change. Check the id software
Web Site, at www.idsoftware.com, for updates.
A. Tech Support Options
id Software does charge for technical support, but we strive to offer
this service at the lowest cost possible. Because volume on the support
lines dictate costs, we periodically adjust our rates for Voice Tech
Support. Check our web site for current pricing.
Paying for Voice or Automated Support
1 -- You can get Voice Support using a major credit card for a one-time
shot. The system asks for your credit card number and expiration date,
then pre-authorizes your credit card for the tech support call. You will
only be billed for the number of minutes actually used.
2 -- You can assign yourself a rechargeable PIN account. The system prompts
you for your credit card information, and assigns you a PIN account number.
You can use the PIN to access Voice Support, Automated Support and the
Game Hints Line. Once your account runs out, you can charge it up again.
3 -- You may also charge up a PIN account using the number 1 (900) call-2-id.
Then call back at 1(800)ID-GAMES (1(800)434-3627), and use your new PIN to
receive all the support and hints you wish.
4 -- id Software's Game Hints Line is accessible either using a PIN account
via 1 (800) ID-GAMES (see above), or by calling 1 (900) CALL2-ID, which
places the call on your phone bill.
1. Voice Support
Telephone -- 1 (800) id-games
Lines Open from 12 noon to 10pm Central Time, 7 Days a
week ($1.75 per minute). Closed some holidays
Please have the following information handy.
1. Game title and version number. (The version
number can be found on the end text screen.)
2. Your operating system, processor, processor
speed and amount of RAM.
3. If you are having a sound, video or modem
problem, we need to know the device brand name
and model.
2. Automated Support
Telephone -- 1 (800) id-games
Lines Open 24 hours a day, 365 days a year, or 366 days
in Leap years ($0.25 per minute)
Please have pencil and paper handy.
3. E-mail Support
Just send your e-mail to support@idsoftware.com
We will do our best to respond within 48 hours after
receiving your e-mail.
When sending e-mail, cut and paste the following into your
e-mail message and fill in the blanks:
Date:
Name:
Phone number:
E-mail address: (please include this, we redirect tons of mail)
Game Title:
Version #:
Operating system (eg., DOS 6.0 or Windows 95):
Computer type:
Processor type:
Processor speed:
Video card brand and model: (only if video problem)
Audio card brand and model: (only if audio problem)
Modem brand and model: (only if modem problem)
Network card brand and model: (only if netgame problem)
Network configuration (eg., NET.CFG file): (only if netgame problem)
Drivers, protocol stacks, and versions: (eg., lsl v2.14, exp16odi
v2.33, and ipxodi v3.01) (only if netgame problem)
If there were any error messages or fault information, report them
here:
Please state the problem you encountered:
Please state how to reproduce the problem:
4. Web Support
Found at www.idsoftware.com
Our web support pages provide the same information that's
available via Automated Support, except it's free!
5. News Sites
For information, FAQ, or announcements:
rec.games.computer.quake.announce
For editing and hecking Quake-related files:
rec.games.computer.quake.editing
For general Quake discussion:
rec.games.computer.quake.misc
6. Game Hints Line
Telephone -- 1 (800) id-games or 1 (900) call-2-id
Lines Open 24 hours a day, 365 days a year, or 366 days
in Leap years ($0.85 per minute)
You must be 18 years of age or have parental permission
to call 1 (900) call-2-id.
B. In Europe
The help lines in Europe are open 7:30am - 5:00pm GMT,
Monday - Friday.
English: +44 01923 209145
German: +44 (0)1923 209151
French: +44 (0)1923 209148
C. Problems
If you have an unfavorable experience using our services, please
send e-mail to 911@idsoftware.com. We would also like to hear
from you if you have something positive to share with us. Kindly
include your full name, address, phone number, and the problem
encountered or information you'd like to tell us about.

97
doc/data/licinfo.txt Normal file
View file

@ -0,0 +1,97 @@
Here is a brief explanation of all the legal mumbo jumbo contained in the
various license agreements that may or may not be part of this package.
(This document was designed to be a quick overview of our license terms.
You must refer to the full text of the license for a complete listing of
terms and conditions.)
QUAKE SHAREWARE END USER LICENSE (slicnse.txt) or
What You Can and Cannot Do With the Shareware Version of Quake.
CAN DO:
-- Play & Enjoy the single player game
-- Setup a shareware version based server on a not-for-profit basis
CANNOT DO:
-- Run the game with user developed levels.
-- You may not commercially exploit the shareware version in any way
This specifically excludes retail distribution of the shareware
version. Do not call or e-mail to ask if you can be a retail
distributor of the shareware version -- the answer is no!
-- Commercially exploit any id copyrighted and/or trademarked property.
Example: Game names, logos, graphics, etc.
QUAKE REGISTERED VERSION END USER LICENSE (rlicnse.txt) or
What You Can and Cannot Do With the Registered Version of Quake.
CAN DO:
-- Play & Enjoy the single player game
-- Setup a registered version based server on a not-for-profit basis
-- Develop new levels and/or level creation utilities.
-- Play the game and/or setup a Registered Version based server using
a user-developed level.
CANNOT DO:
-- Commercially exploit the Registered Version of Quake in any way;
see commercially exploitation license info below.
-- Commercially exploit any id copyrighted and/or trademarked
property.
Example: Game names, logos, game graphics, etc.
-- Sell user-developed levels and/or tools
COMMERCIAL EXPLOITATION LICENSE (comexp.txt -- accompanies Quake
registered version only)
If you are interested in trying to make money using the registered version
of Quake (this sort of thing is not allowed using the shareware version) you
must sign our easy-to-digest Commercial Exploitation License.
This is a royalty free license that allows you to run Quake for a profit
through a certain monthly gross profit range. If your Quake-related business
becomes successful the agreement brings id into the revenue stream.
Basic terms of the commercial exploitation license:
-- License grants a royalty free commercial exploitation right for the
registered version of Quake as a whole so long as Quake's monthly gross
revenue is below $5,000.00
-- License provides for a 12.5% royalty to be paid to id Software in months
where the licensee's Quake related monthly gross revenue is above $5,000.00
-- Royalty is based off net income. Net income is defined as Quake-related
gross income less Quake-related expenses.
-- License expressly prohibits commercial exploitation via the sale (retail
or otherwise) of the shareware or registered versions of Quake.
-- License expressly prohibits advertising/marketing use of our copyrighted
and/or trademarked properties.
To get into bed with us on this deal you must print two (2) copies of the
document named comexp.txt. (You should find comexp.txt somewhere on the
registered version CD.) Sign/fill in the blanks of both copies where
indicated and mail both to:
id Software
18601 LBJ #666
Mesquite, TX 75150
Attn: ComExp License
We will then countersign the documents and mail one back to you.
Two items worth noting here:
1. It is VERY IMPORTANT that the information you enter in the signature
block be legible. We prefer it if you enter the info into the blanks before
printing your two copies. If we cannot read your information we will not be
able to return the documents to you.
2. The terms of this document are not subject to negotiation. If you cannot
live with the terms spelled out in the agreement do not engage in any
commercial exploitation of Quake and do not sign the document.

1030
doc/data/manual.txt Normal file

File diff suppressed because it is too large Load diff

103
doc/data/order.txt Normal file
View file

@ -0,0 +1,103 @@
ORDERING INFO
To order the full version of Quake (or any other id Software
product) in North America, call our fulfillment center at 1-800-idgames
(1-800-434-3627). Except as noted by our operators, you can expect
Airborne Express afternoon delivery. The price for the full version
of Quake (available on PC CDROM only) is $45, plus $5 shipping, for a
total of $50. Our fulfillment center accepts Visa, Mastercard, and
American Express. You can also fax, mail, or email your order using
the attached forms. The fax number is (317) 361-3710 and the email
address is idsoftware@stream.com. To prepay and order with a check
by mail, send your check and the order form to:
id Software
P.O. Box 4500
Crawfordsville, IN 47933
To see an electronic catalog of our software, tshirts, hint books, and
other merchandise available, check out the Shopping Maul section of our
website at www.idsoftware.com.
INTERNATIONAL ORDERS
Quake is available worldwide as a full retail product. To find out
which local stores carry Quake and other id products, contact the
following international affiliates:
Europe Australia
GT Interactive Software Roadshow New Media
1712 583791 (U.K.) 1 902 962000
Taiwan Singapore
U.S. Summit Corporation Summit Co. (Singapore) Pte. Ltd.
706-0660 273-9988
Malaysia Honk Kong
Summit Co. (Malaysia) Sdn Bhd Tsun Tsun Trading Company
757-2244 571-4231
Thailand Israel/Jordan/Lebanon/Egypt
U.S. Summit Corp. (Overseas) Mirage Mulimedia
374-3956 972 3 510 5764
If you are in a territory that cannot access 1(800)idgames, and you
wish to order our products directly, you must place your order in
writing to the fax, mail, or email addresses listed above under
ORDERING INFO.
International phone orders will NOT be accepted. Unfortunately, due
to international shipping costs, all international orders are sent
out via US Mail. This means we cannot guarantee timeliness of delivery
due to customs and other delays inherent to international shipping
______________________________________________________________________
ORDER FORM -- USE THIS FORM TO FAX , MAIL OR EMAIL YOUR ORDER.
id Software Order Center Date ______________
PO BOX 4500 Phone: 1800 id games
Crawfordsville, IN 47933 Fax: (317) 361-3710
idsoftware@stream.com
Product List and Prices in U.S. Currency: (check items)
Quake (CD ROM only) $45 ____
The Ultimate DOOM (Mac version available must specify) $25 ____
DOOM II (Mac version available must specify) $40 ____
Master Levels for DOOM II (CD ROM only) $25 ____
Final DOOM (CD ROM only) $40 ____
DOOM Hint Book $15 ____
Original DOOM Tshirt (S,M.L.XL) $13 ____
The Ultimate DOOM Tshirt (XXL only) $13 ____
Final DOOM Tshirt $13 ____
Heretic:Shadow of the Serpent Riders (CD ROM only) $40 ____
Heretic Hint Book $15 ____
Hexen:Beyond Heretic (Mac version available must specify) $40 ____
Hexen:Deathkings of the Dark Citadel (CD ROM only) $25 ____
Hexen Hint Book $15 ____
Hexen Tshirt (XXL only) $13 ____
Wolfenstein 3D (PC CD only) $20 ____
Commander Keen (3.5 disk only) $15 ____
Order total: $______
Name: Age (optional):
Form of payment (check, money order, or credit card):
Credit card number: Expiration Date:
Exact mailing address:______________________________________
_______________________________________
_______________________________________
_______________________________________
Phone: Fax: Email:
Shipping: US orders-$5.00 first product/$2.00 each additional
(allow 3-5 business days)
International shipping for prepaid orders are via US Mail, and
we cannot guarantee the time it will take to arrive.
*Prices subject to change

456
doc/data/readme.txt Normal file
View file

@ -0,0 +1,456 @@
Welcome to Quake!
This file details how to get Quake running on your system and what to do
if you have problems. We would like to thank Gandalf Technologies, Inc and
MPath Interactive for the use of their technology. We would also like to
thank Trent Reznor and Nine Inch Nails for their tremendous contributions
to Quake's entire audio portion.
The NIN logo is a Registered Trademark licensed to Nothing Interactive, Inc.
All Rights Reserved.
Quake System Requirements
-------------------------
IBM PC and Compatibles
Pentium processor or better
VGA Compatible Display or better
8MB RAM minimum, 16MB recommended (16 MB required for running under Win95)
CD-ROM drive Required
MS-DOS 5.0 or better or Windows 95 (does NOT run under Windows NT)
Hard Drive (30MB for Shareware, 80 MB for Registered)
*** IMPORTANT!: Quake requires a floating point processor.
Systems that do not have an FPU installed will not run Quake -- at all.
*** IMPORTANT Video Adapter Note! ***
On some ATI Mach32 cards, Quake can come up with a garbled video display.
This is due to a problem with the card in which 320x200 mode isn't
initialized correctly. Workarounds include:
1) If running from Windows, start Quake from an icon, or from a windowed
(not fullscreen) MS-DOS prompt. If Quake is already running and has
the garbled screen, press Alt-Enter twice to switch to the desktop and
back to fullscreen, and the screen will display properly.
2) If running from DOS, either put the line
vid_mode 1
in id1\autoexec.cfg, or, typing blind, press tilde ('~') to bring down
the console, type
vid_mode 1<enter>
and the screen will display properly.
========================================================================
Here are the text files included with the shareware release of Quake and
what they are:
README.TXT This file
TECHINFO.TXT Technical information on Quake's subsystems and
their advanced use.
MANUAL.TXT Text version of the printed game manual
LICINFO.TXT Info on the various license files included with Quake
SLICNSE.TXT Shareware Quake end-user license
ORDER.TXT How to order Quake
HELP.TXT How to get help with Quake
Here are the text files included with the registered version of Quake and
what they are:
README.TXT This file
TECHINFO.TXT Technical information on Quake's subsystems and
their advanced use.
MANUAL.TXT Text version of the printed game manual
LICINFO.TXT Info on the various license files included with Quake
RLICNSE.TXT Registered Quake end-user license
COMEXP.TXT Commercial exploitation agreement
ORDER.TXT How to order Quake
HELP.TXT How to get help with Quake
Running Quake
-------------
DOS: To launch Quake from the DOS Prompt, go to the Quake directory and
simply type "QUAKE" <ENTER>. (no quotes)
Windows 95: To launch Quake in single player mode, double click on the file
QUAKE.EXE From Windows Explorer. To run Quake in Multi-Player mode using
the TCP/IP protocol, first check your network settings to ensure the
protocol is installed, then double click on the Q95.BAT file to launch the
game. In this version (v0.91) there is a minor bug that will cause the
Q95.BAT file to exit the first time you run it, without running Quake.
Merely double-click on that file again and it will work.
Audio Setup
-----------
When using a Sound Card with Quake, there are a few setup steps which must
be taken. First, the "BLASTER" environment variable setting must be in your
autoexec.bat (or you can type it in manually from the MS-DOS command prompt).
Running the Sound Blaster utility diagnose.exe will automatically configure
your sound card and put this statement in your autoexec.bat file for you.
A typical blaster setting looks like this (although yours may vary):
SET BLASTER=A220 I5 D1 H5 P330 T6
If you want to play the audio track from the CD-ROM while playing Quake,
you must ensure that the audio cable from the CD-ROM is connected to the
sound card.
If you think your sound card is setup properly and it STILL doesn't work,
check to make sure that your BLASTER environment variable contains the
high DMA setting (H5 in the above example).
If you don't get sound while trying to play the audio track, check to see
if a small cable goes from the back of your CD-ROM player directly to your
sound card. If the CD-ROM audio cable is connected to your sound board (or
the motherboard in some cases) and you STILL don't hear CD Audio coming from
your speakers, make sure the MIXER program has the CD volume turned up.
You will also need to run the CD-ROM driver MSCDEX.EXE. Here is an example
of the files you should see (yours probably will vary) listed in your
CONFIG.SYS and AUTOEXEC.BAT (explanation is in parentheses):
CONFIG.SYS:
DEVICE=C:\PROSCSI\CDROM.SYS /D:PROCD01 (CD-ROM driver)
AUTOEXEC.BAT:
SET BLASTER=A220 I5 D1 H5 P330 T6 (sound environment variable setting)
C:\WINDOWS\COMMAND\MSCDEX.EXE /D:PROCD01 /L:D (CD-ROM driver)
===================================================
UltraSound MAX and UltraSound PnP Support for Quake
===================================================
Before running Quake, make sure that your sound card works and your
environment variables are set correctly.
Other UltraSound Cards (ACE & Classic)
--------------------------------------
These drivers are not for the UltraSound ACE or UltraSound Classic
sound cards. We have heard mixed reports that MegaEm or SBOS
have a chance of working with the UltraSound Classic but there is a
short sound F/X delay.
UltraSound PnP and PnP Pro
--------------------------
You must make sure that you do NOT have IWSBOS or MegaEm loaded.
Setup
-----
Quake will automatically detect that the UltraSound Max or PnP
are installed. It does this by looking at the SET INTERWAVE (PnP)
and SET ULTRA16 (Max) environment variables.
Quake will use the settings found on the SET ULTRASND/ULTRA16 (Max)
and in the IW.INI (PnP) file to determine what port settings to use.
Troubleshooting Windows 95 (DOS Box)
------------------------------------
We recommend that you restart your computer in MS-DOS Mode. DOS Box
may or may not work, so use at your own risk.
CD Audio Input
--------------
If you have not already enabled CD audio output by default you will
need to enable it. For the UltraSound MAX you can run "ULTRINIT -EC".
For the UltraSound PnP you will need to enable the CD audio output
in Win'95 and then restart your computer into MS-DOS.
===================================================
Mouse Setup
-----------
If you are going to use a mouse when playing Quake, you will need to load
your mouse driver. This should go in the AUTOEXEC.BAT file as well. Here
is an example:
C:\LOGITECH\MOUSE\MOUSE.EXE (mouse driver)
Booting Clean
-------------
If you are going to be running Quake with only 8 megabytes of RAM, it is best
to boot clean . You eliminate unwanted utilities or applications from taking
up valuable memory, without having to alter your regular AUTOEXEC.BAT and
CONFIG.SYS. Booting clean can be done in one of two ways. If you have
MS-DOS version 6.xx, booting clean is as simple a pressing the shift key
when you see the words "Starting MS-DOS". If you have MS-DOS ver 5.xx you
will need to make a system disk.
To make a boot disk, type the following from the MS-DOS command prompt:
FORMAT A: /S
1. Make sure that this is a disk you wish to erase.
2. This disk absolutely HAS to be formatted in the A: drive.
To use the system disk, place the disk in the A: drive and reset the
computer.
NOTE: If your sound card requires a driver to be loaded, or you will be
using a mouse, or you will be using Quake's CD audio feature, the system
disk will need to have a CONFIG.SYS and AUTOEXEC.BAT that load the
appropriate drivers.
Creating a Quake Shortcut
As an alternative to making a Boot Disk, Windows 95 users can create a
Quake Shortcut. By double clicking onthis shortcut, Windows 95 will reboot
in MS-DOS mode and install only the desired drivers, giving you the same
results as using a Boot Disk. To create a Quake Shortcut, do the following:
1. Using Explorer, right click and drag the file QUAKE.EXE, from the Quake
directory, to your desktop. Windows 95 will make an MS-DOS Icon titled
"Shortcut to quake".
2. Right click on the new icon, and from the menu that pops up, choose
"Properties". Then choose the "Program" tab at the top.
3. Now click on the "Advanced..." button near the bottom. The "Advanced
Program Settings" window should appear.
4. Select the "MS-DOS mode" check box and the "Specify a new MS-DOS
configuration" option button.
5. Now simply fill in the "CONFIG.SYS for MS-DOS mode:" and "AUTOEXEC.BAT
for MS-DOS mode:" boxes with the same sound, CD-ROM and mouse settings as
mentioned above in the Boot Disks section.
6. Click on "OK" when you are finished. If you wish, you can change your
Quake Shortcut Icon to something a little more exciting by clicking on
"Change Icon...".
7. To finish, click on "OK" again.
8. You can rename your Quake Shortcut by right clicking on the shortcut
icon, choosing "Rename" and typing in the new name.
======================================================
== Known Problems ==
======================================================
Problem: Zombies sometime get stuck on the ground and connot get back up.
(You can still hear them, but you cannot kill them. This bug makes it
impossible to get 100% kills on whatever level it occurs on.)
Solution: There is no workaround for this bug.
Problem: It is sometimes possible for the player to get stuck in a room or
in a wall.
Solution: If you get stuck, use the 'kill' console command. It is a good
idea to save your game often.
Problem: View centering problems. Sometimes during a game, the view will not
center properly. The end result is the player view looking up torwards the
ceiling while walking.
Solution: Exit to the next level or use the 'kill' console command..
======================================================
== Troubleshooting ==
======================================================
If Quake fails to start up, or has problems not addressed elsewhere in the
documentation, try the -safe command line switch, which disables a number
of parts of Quake that can be problems if there are hardware or configuration
problems. The -safe command line switch is equivalent to -stdvid, -nosound,
-nonet, and -nocdaudio together. Those four switches do the following:
-stdvid: disables VESA video modes.
-nosound: disables sound card support.
-nonet: disables network card support.
-nocdaudio: disables CD audio support.
If -safe makes the problem go away, try using each of the switches
individually to isolate the area in which you're experiencing the problem,
then either correct the configuration or hardware problem or play Quake with
that functionality disabled.
If you still have problems, try booting clean in conjunction with
the -safe command line parameter. For information on booting clean, refer
to the "Booting Clean" section above.
If you experience page faults while running Quarterdeck's QDPMI DPMI server,
this is caused by a bug in QDPMI. Workarounds: Remove QDPMI from CONFIG.SYS,
issue the command QDPMI OFF before running QUAKE, or get the update patch
for QDPMI from Quarterdeck. You may be running QDPMI without knowing it if
you have QEMM installed, because it can be installed as part of the QEMM
installation.
Technical Support
-----------------
If you are having trouble installing or running Quake you can receive
technical support by sending e-mailing to support@idsoftware.com. You can
also refer to our web page, www.idsoftware.com, or call 1-800-idgames.
When sending support e-mail, cut and paste the following into your e-mail
message and fill in the blanks:
Date:
Name:
Phone number:
E-mail address: (please include this, we redirect tons of mail)
Game Title:
Version #:
Operating system (i.e., DOS 6.0 or Windows 95):
Computer type:
BIOS date:
BIOS version:
Processor type:
Processor speed:
Do you program at school/work?
Do you provide tech. support at school/work?
Please state the problem you encountered:
Please state how to reproduce the problem:
If program crashed with nasty undecipherable techno-garbage, please
look for the eight-digit hex number which comes after "eip="
and write it down here:
** NOTE: If you are sending a bug report, PLEASE refer to the TECHINFO.TXT
file for the correct form and procedures.
======================================================
== Version History ==
======================================================
v1.01 -- Bugs fixed
------------------------------------------------------
* Fixed modem code
* Fixed fraglimit & timelimit
* Added NOEXIT cvar (so no one can exit a level)
------------------------------------------------------
v1.00 -- Bugs fixed
------------------------------------------------------
* Gravis Ultrasound audio support (still has bugs)
* More deathmatch start spots on E1M6 and END
* Print server version and PROG CRC on connect
* -dedicated starts start.map if nothing else specified
* fixed lookspring function during net game
* fixed rare crash during long running dedicated server
------------------------------------------------------
v0.94 -- Bugs fixed / Features added -- LIMITED BETA VERSION
------------------------------------------------------
* Totally rewritten menus
* New lighting model with overbrighting
* Parsed lowercase BLASTER parms
* Better Sound Blaster shutdown code
* Rewrote BLASTER initialization
* Fixed DMA channel 0 bugs
* Added SBPro 8 stereo setup
* Fix delayed sound on 8 bit Sound Blasters
* Fixed speed key affecting angle-turning from keyboard
* Fixed "no such Alias frame" bugs
* Fixed Zombie not getting up bug
* Checked for very high joystick values, signalling a failed read
* Unstuck jumping Fiends and Spawn
* Fixed large BModels blinking out in complex areas
* Fixed s_localsound with no sound started
* Saved spawn parms in savegame
* Fixed screenshot save location
* Bind with no arguments no longer clears value
* Allow console in intermission / finale
* Fixed false gib messages
* Full-screen TAB scoreboard in DeathMatch
* Fixed "+playdemo <demo>" from command line
* Trapped overflow in sizebuf messages
* Moveup / movedown in water!
* Fixed-up Talk command
* Added unsupported crosshair option ("crosshair 1" from console)
* Colored chat messages with notify sound
* Fixed "connect during intermission" bug
* Changelevel while demos running no longer crashes
* Fixed changelevel with no map left up loading screen
* Fixed long names entered from the console causing crash
* Stopped demos changing while in the menus
* Fixed modem initialization from menu
* Fixed serial reliable stream getting stalled
* Serial/modem code fixes
16550a lost transmit buffer empty interrupts
fixed sometimes processing interrupts from com1 when using com2
added com3/com4 support from menus
fixed first character of modem init not getting sent
saved serial/modem settings in config.cfg
* Fixed name and colors not always sent to server at startup
* Fixed "stopdemo" crashing the system when there wasn't a demo playing
* Added server's TCP/IP and IPX addresses (if available) to status command
* In 0.92, an additional check for a usable VESA video mode was added;
the numpages field was verified to be greater than 0, and no mode was
supported that had numpages set to 0 (which indicates that there's not
enough video memory for that mode). ATI's VESA driver, m64vbe,
reports 0 for numpages, so VESA video modes that were available in 0.91
were no longer available in 0.92. This extra numpages check has
been removed.
-----------------------------------------------------------------------
v0.93 -- Never officially released; internal testing only.
-----------------------------------------------------------------------
v0.92 -- Bugs fixed
-----------------------------------------------------------------------
Typing long strings in the hostname or modem init field in the menus caused
crashes.
Under Win95 IPX was detected but not functional, resulting in the game
exiting to DOS.
If -nosound, got "S_LocalSound: can't cache" on every keypress in the menu.
When vid_nopageflip was set to 1 in VESA modes, going underwater resulted in
only the upper left corner of the drawing area being updated.
The single player scoreboard (tab) printed text incorrectly in all modes
greater than 320 pixels wide.
On network connections that dropped packets, the reliable message stream
could get stopped up, resulting in frag counts and talk messages no longer
being delivered, although game movement continued.
The com port settings from the menu were getting saved & restored but
not used.
Direct serial connections did not work with slist.
Quake now checks the vesa information for hardware incabable of page-flipping.
Menu sound sometimes didn't play.
Q95 (qlaunch.exe) frequently failed to execute on the first attempt.
Q95 (quakeudp.dll) was running out of buffers when running a server.
Teams were not being set according to pants colors.
Joystick notes
--------------
Your joystick must be plugged in when Quake is launched.
If you have a joystick plugged in, but don't want to use it in Quake
(it slows the game down a few percent), or you have weird hardware that
doesn't like being tested as a joystick add "-nojoy" to your Quake
command line.
You can turn off joystick reading during the game by typing "joystick 0" at
the Quake command console.
You MUST configure your buttons from the configure keys menu before they will
work. There is no default configuration.
If your joystick or interface card improperly sets the third or fourth
joystick buttons, type "joybuttons 2" at the quake console or in your
.CFG file.
The "mlook" button command now lets the joystick as well as the mouse control
pitch angles.
The "sidestep" buttom command works on joysticks as with mice and keyboard
movement.
The "invert mouse up/down" menu option also inverts the joystick pitch
direction.

204
doc/data/rlicnse.txt Normal file
View file

@ -0,0 +1,204 @@
REGISTERED VERSION: QUAKE
LIMITED USE SOFTWARE LICENSE AGREEMENT
This Limited Use Software License Agreement (the
"Agreement") is a legal agreement between you, the end-user, and Id
Software, Inc. ("ID"). By continuing the installation of this game
program, by loading or running the game, or by placing or copying
the game program onto your computer hard drive, you are agreeing to
be bound by the terms of this Agreement. If you do not agree to
the terms of this Agreement, promptly return the game program and
the accompanying items (including all written materials), along
with your receipt to the place from where you obtained them for a
full refund.
ID SOFTWARE LICENSE
1. Grant of License. ID grants to you the limited
right to use one (1) copy of the enclosed or foregoing game program
(the "Software") on a single computer. You have no ownership or
proprietary rights in or to the Software or the written materials
accompanying the Software. For purposes of this section, "use"
means loading the Software into RAM, as well as installation on a
hard disk or other storage device. You may create a map editor,
modify maps and make your own maps (collectively referenced as the
"Permitted Derivative Works") for the Software. Permitted
Derivative Works may not be sold, whether by you or by any other
person or entity, but you may exchange the Permitted Derivative
Works at no charge amongst other end-users. The Software, together
with any archive copy thereof, shall be either returned to ID or
destroyed when no longer used in accordance with this Agreement, or
when the right to use the Software is terminated. You agree that
the Software will not be shipped, transferred or exported into any
country in violation of the U.S. Export Administration Act (or any
other law governing such matters) and that you will not utilize, in
any other manner, the Software in violation of any applicable law.
2. Commercial Use is Prohibited. Except as provided in
paragraph 5. hereinbelow in regard to the Software, under no
circumstances shall you, the end-user, be permitted, allowed or
authorized to commercially exploit the Software, any data
comprising the Software. Neither you nor anyone at your direction
shall do any of the following acts (any such acts shall be deemed
void and a breach of this Agreement) with regard to the Software,
or any portion thereof, such as a screen display or a screenshot:
a. Rent the Software;
b. Sell the Software;
c. Lease or lend the Software;
d. Offer the Software on a pay-per-play basis;
e. Distribute, by electronic means or otherwise, the
Software for money or any other consideration; or
f. In any other manner and through any medium
whatsoever commercially exploit the Software or use
the Software for any commercial purpose.
3. Additional Prohibited Uses. Neither you nor anyone
at your direction shall take the following action in regard to the
Software, or any portion thereof, such as a screen display or a
screenshot:
a. Modify, disassemble, reverse engineer or decompile
the Software;
b. Translate the Software;
c. Reproduce the Software;
d. Publicly display the Software;
e. Prepare derivative works based upon the Software
(except Permitted Derivative Works); or
f. Distribute, by electronic means or otherwise, the
Software.
4. Use of Other Material is Prohibited. Use, in any manner, of
the trademarks, such as Quake(tm) and the NIN(r) logo, logos, symbols,
art work, images, screen displays or screenshots, sound effects, music,
and other such material contained within, generated by or relating to
the Software is prohibited.
5. To Receive Permission to Commercially Exploit. If
you desire to commercially exploit the Software, you may execute
the Commercial Exploitation License Agreement for QUAKE (the
"License") contained within the QUAKE install package and forward
the original License to Id Software at the address noted therein.
Please note that ID may refuse your request and not sign the
License in ID's sole discretion.
6. Restrictions Apply to Third Parties. The
prohibitions and restrictions described herein apply to anyone in
possession of the Software and/or Permitted Derivative Works.
7. Copyright. The Software and all copyrights related
thereto (including all characters and other images generated by the
Software or depicted in the Software) is owned by ID and is protected
by United States copyright laws and international treaty provisions.
You must treat the Software like any other copyrighted material,
except that you may either (a) make one copy of the Software solely
for back-up or archival purposes, or (b) transfer the Software to a
single hard disk provided you keep the original solely for back-up or
archival purposes. You may not otherwise reproduce, copy or disclose
to others, in whole or in any part, the Software. You may not copy
the written materials accompanying the Software. The same
restrictions and prohibitions regarding your use of the Software as
provided in this Agreement apply to your use of the written materials
accompanying the Software. The written materials are owned by ID and
are protected by United States copyright laws and international
treaties. You agree to use your best efforts to see that any user of
the Software licensed hereunder complies with this Agreement.
8. Limited Warranty. ID warrants that if properly
installed and operated on a computer for which it is designed, the
Software will perform substantially in accordance with the
accompanying written materials for a period of ninety (90) days
from the date of purchase of the Software. ID's entire liability
and your exclusive remedy shall be, at ID's option, either (a)
return of the price paid or (b) repair or replacement of the
Software that does not meet ID's Limited Warranty. To make a
warranty claim, return the Software to the point of purchase,
accompanied by proof of purchase, your name, your address, and a
statement of defect, or return the Software with the above
information to ID. This Limited Warranty is void if failure of the
Software has resulted in whole or in part from accident, abuse,
misapplication or violation of this Agreement. Any replacement
Software will be warranted for the remainder of the original
warranty period or thirty (30) days from your receipt of the
replacement software, whichever is longer. This warranty allocates
risks of product failure between Licensee and ID. ID's product
pricing reflects this allocation of risk and the limitations of
liability contained in this warranty.
9. NO OTHER WARRANTIES. ID DISCLAIMS ALL OTHER
WARRANTIES, BOTH EXPRESS IMPLIED, INCLUDING BUT NOT LIMITED TO,
IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE WITH RESPECT TO THE SOFTWARE AND THE ACCOMPANYING WRITTEN
MATERIALS. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS.
YOU MAY HAVE OTHER RIGHTS WHICH VARY FROM JURISDICTION TO
JURISDICTION. ID DOES NOT WARRANT THAT THE OPERATION OF THE
SOFTWARE WILL BE UNINTERRUPTED, ERROR FREE OR MEET LICENSEE'S
SPECIFIC REQUIREMENTS. THE WARRANTY SET FORTH ABOVE IS IN LIEU OF
ALL OTHER EXPRESS WARRANTIES WHETHER ORAL OR WRITTEN. THE AGENTS,
EMPLOYEES, DISTRIBUTORS, AND DEALERS OF ID ARE NOT AUTHORIZED TO
MAKE MODIFICATIONS TO THIS WARRANTY, OR ADDITIONAL WARRANTIES ON
BEHALF OF ID. ADDITIONAL STATEMENTS SUCH AS DEALER ADVERTISING OR
PRESENTATIONS, WHETHER ORAL OR WRITTEN, DO NOT CONSTITUTE
WARRANTIES BY ID AND SHOULD NOT BE RELIED UPON.
10. Exclusive Remedies. You agree that your exclusive
remedy against ID, its affiliates, contractors, suppliers, and
agents for loss or damage caused by any defect or failure in the
Software regardless of the form of action, whether in contract,
tort, including negligence, strict liability or otherwise, shall be
the return of the purchase price paid or replacement of the
Software. This Agreement shall be construed in accordance with and
governed by the laws of the State of Texas. Copyright and other
proprietary matters will be governed by United States laws and
international treaties. IN ANY CASE, ID SHALL NOT BE LIABLE FOR
LOSS OF DATA, LOSS OF PROFITS, LOST SAVINGS, SPECIAL, INCIDENTAL,
CONSEQUENTIAL, INDIRECT OR OTHER SIMILAR DAMAGES ARISING FROM
BREACH OF WARRANTY, BREACH OF CONTRACT, NEGLIGENCE, OR OTHER LEGAL
THEORY EVEN IF ID OR ITS AGENT HAS BEEN ADVISED OF THE POSSIBILITY
OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. Some
jurisdictions do not allow the exclusion or limitation of
incidental or consequential damages, so the above limitation or
exclusion may not apply to you.
11. General Provisions. Neither this Agreement nor any
part or portion hereof shall be assigned, sublicensed or otherwise
transferred by you. Should any provision of this Agreement be held
to be void, invalid, unenforceable or illegal by a court, the
validity and enforceability of the other provisions shall not be
affected thereby. If any provision is determined to be
unenforceable, you agree to a modification of such provision to
provide for enforcement of the provision's intent, to the extent
permitted by applicable law. Failure of a party to enforce any
provision of this Agreement shall not constitute or be construed as
a waiver of such provision or of the right to enforce such
provision. If you fail to comply with any terms of this Agreement,
YOUR LICENSE IS AUTOMATICALLY TERMINATED.
YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, THAT YOU
UNDERSTAND THIS AGREEMENT, AND UNDERSTAND THAT BY CONTINUING THE
INSTALLATION OF THE SOFTWARE, BY LOADING OR RUNNING THE SOFTWARE, OR
BY PLACING OR COPYING THE SOFTWARE ONTO YOUR COMPUTER HARD DRIVE, YOU
AGREE TO BE BOUND BY THIS AGREEMENT'S TERMS AND CONDITIONS. YOU
FURTHER AGREE THAT, EXCEPT FOR WRITTEN SEPARATE AGREEMENTS BETWEEN ID
AND YOU, THIS AGREEMENT IS A COMPLETE AND EXCLUSIVE STATEMENT OF THE
RIGHTS AND LIABILITIES OF THE PARTIES. THIS AGREEMENT SUPERSEDES ALL
PRIOR ORAL AGREEMENTS, PROPOSALS OR UNDERSTANDINGS, AND ANY OTHER
COMMUNICATIONS BETWEEN ID AND YOU RELATING TO THE SUBJECT MATTER OF
THIS AGREEMENT.
June 21, 1996
REGISTERED VERSION: QUAKE LIMITED USE SOFTWARE LICENSE AGREEMENT Page 4
(DWC:dw:3406.0024:DWC\doc:1164)

175
doc/data/slicnse.txt Normal file
View file

@ -0,0 +1,175 @@
SHAREWARE VERSION: QUAKE
LIMITED USE SOFTWARE LICENSE AGREEMENT
This Limited Use Software License Agreement (the "Agreement") is a
legal agreement between you, the end-user, and id Software, Inc.
("ID"). By continuing the installation of this game program, by
loading or running the game, or by placing or copying the game
program onto your computer hard drive, you are agreeing to be bound
by the terms of this Agreement.
ID SOFTWARE LICENSE
1. Grant of License. ID grants to you the limited right to use
one (1) copy of the enclosed or foregoing Id Software game program
(the "Software"), which is the shareware version or episode one of
the game program. For purposes of this section, "use" means loading
the Software into RAM, as well as installation on a hard disk or
other storage device. You agree that the Software will not be
shipped, transferred or exported into any country in violation of
the U.S. Export Administration Act (or any other law governing such
matters) and that you will not utilize, in any other manner, the
Software in violation of any applicable law.
2. Commercial Use is Prohibited. Under no circumstances shall
you, the end-user, be permitted, allowed or authorized to
commercially exploit the Software, or any portion thereof, such
as a screen display or a screenshot. Neither you nor anyone at your
direction shall do any of the following acts:
a. Rent the Software;
b. Sell the Software;
c. Lease or lend the Software;
d. Offer the Software on a pay-per-play basis;
e. Distribute the Software for money or any other
consideration; or
f. In any other manner and through any medium
whatsoever commercially exploit the Software or use
the Software for any commercial purpose.
3. Additional Prohibited Uses. Neither you, nor anyone at your
direction, shall take the following action in regard to the
Software, or any portion thereof, such as a screen display or
a screenshot:
a. Modify, disassemble, reverse engineer or decompile
the Software;
b. Translate the Software;
c. Reproduce the Software;
d. Publicly display the Software; or
e. Prepare derivative works based upon the Software.
4. Use of Other Material is Prohibited. Use, in any manner, of
the trademarks, such as Quake(tm) and the NIN(r) logo, logos, symbols,
art work, images, screen displays or screenshots, sound effects, music,
and other such material contained within, generated by or relating to
the Software is prohibited.
5. Restrictions Apply to Third Parties. The prohibitions and
restrictions described herein apply to anyone in possession of
the Software.
6. Permitted Distribution. So long as this Agreement
accompanies the Software at all times, ID grants to Providers the
limited right to distribute, free of charge, except normal access
fees, and by electronic means only, the Software; provided, however,
the Software must be so electronically distributed only in a
compressed format. The term "Providers," as used in the foregoing
sentence, shall mean persons whose business it is to provide
services on the Internet, on commercial online networks, or on the
BBS. Anyone who receives the Software from a Provider shall be
limited to all the terms and conditions of this Agreement. Further,
ID grants to you, the end-user, the limited right to distribute,
free of charge only, the Software as a whole.
7. Copyright. The Software is owned by ID and is protected by
United States copyright laws and international treaty provisions.
You must treat the Software like any other copyrighted material,
except that you may make copies of the Software to give to other
persons. You may not charge or receive any consideration from any
other person for the receipt or use of the Software. You agree to
use your best efforts to see that any user of the Software licensed
hereunder complies with this Agreement.
8. Limited Warranty. ID warrants that if properly installed and
operated on a computer for which it is designed, the Software will
perform substantially in accordance with its designed purpose for a
period of ninety (90) days from the date the Software is first
obtained by an end-user. ID's entire liability and your exclusive
remedy shall be, at ID's option, either (a) return of the retail
price paid, if any, or (b) repair or replacement of the Software
that does not meet ID's Limited Warranty. To make a warranty claim,
return the Software to the point of purchase, accompanied by proof
of purchase, your name, your address, and a statement of defect, or
return the Software with the above information to ID. This Limited
Warranty is void if failure of the Software has resulted in whole
or in part from accident, abuse, misapplication or violation of this
Agreement. Any replacement Software will be warranted for the
remainder of the original warranty period or thirty (30) days,
whichever is longer. This warranty allocates risks of product
failure between Licensee and ID. ID's product pricing reflects this
allocation of risk and the limitations of liability contained in
this warranty.
9. NO OTHER WARRANTIES. ID DISCLAIMS ALL OTHER WARRANTIES,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A pARTICULAR PURPOSE
WITH RESPECT TO THE SOFTWARE AND THE ACCOMPANYING WRITTEN MATERIALS,
IF ANY. THIS LIMITED WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS. YOU
MAY HAVE OTHERS WHICH VARY FROM JURISDICTION TO JURISDICTION. ID
DOES NOT WARRANT THAT THE OPERATION OF THE SOFTWARE WILL BE
UNINTERRUPTED, ERROR FREE OR MEET LICENSEE'S SPECIFIC REQUIREMENTS.
THE WARRANTY SET FORTH ABOVE IS IN LIEU OF ALL OTHER EXPRESS
WARRANTIES WHETHER ORAL OR WRITTEN. THE AGENTS, EMPLOYEES,
DISTRIBUTORS, AND DEALERS OF ID ARE NOT AUTHORIZED TO MAKE
MODIFICATIONS TO THIS WARRANTY, OR ADDITIONAL WARRANTIES ON BEHALF
OF ID. ADDITIONAL STATEMENTS SUCH AS DEALER ADVERTISING OR
PRESENTATIONS, WHETHER ORAL OR WRITTEN, DO NOT CONSTITUTE WARRANTIES
BY ID AND SHOULD NOT BE RELIED UPON.
10. Exclusive Remedies. You agree that your exclusive remedy
against ID, its affiliates, contractors, suppliers, and agents for
loss or damage caused by any defect or failure in the Software
regardless of the form of action, whether in contract,tort,
including negligence, strict liability or otherwise, shall be the
return of the retail purchase price paid, if any, or replacement of
the Software. This Agreement shall be construed in accordance with
and governed by the laws of the State of Texas. Copyright and other
proprietary matters will be governed by United States laws and
international treaties. IN ANY CASE, ID SHALL NOT BE LIABLE FOR LOSS
OF DATA, LOSS OF PROFITS, LOST SAVINGS, SPECIAL, INCIDENTAL,
CONSEQUENTIAL, INDIRECT OR OTHER SIMILAR DAMAGES ARISING FROM BREACH
OF WARRANTY, BREACH OF CONTRACT, NEGLIGENCE, OR OTHER LEGAL THEORY
EVEN IF ID OR ITS AGENT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. Some jurisdictions do
not allow the exclusion or limitation of incidental or consequential
damages, so the above limitation or exclusion may not apply to you.
11. General Provisions. Neither this Agreement nor any part or
portion hereof shall be assigned or sublicensed, except as described
herein. Should any provision of this Agreement be held to be void,
invalid, unenforceable or illegal by a court, the validity and
enforceability of the other provisions shall not be affected thereby.
If any provision is determined to be unenforceable, you agree to a
modification of such provision to provide for enforcement of the
provision's intent, to the extent permitted by applicable law. Failure
of a party to enforce any provision of this Agreement shall not
constitute or be construed as a waiver of such provision or of the
right to enforce such provision. If you fail to comply with any terms
of this Agreement, YOUR LICENSE IS AUTOMATICALLY TERMINATED.
YOU ACKNOWLEDGE THAT YOU HAVE READ THIS AGREEMENT, YOU UNDERSTAND
THIS AGREEMENT, AND UNDERSTAND THAT BY CONTINUING THE INSTALLATION
OF THE SOFTWARE, BY LOADING OR RUNNING THE SOFTWARE, OR BY PLACING
OR COPYING THE SOFTWARE ONTO YOUR COMPUTER HARD DRIVE, YOU AGREE TO
BE BOUND BY THIS AGREEMENT'S TERMS AND CONDITIONS. YOU FURTHER
AGREE THAT, EXCEPT FOR WRITTEN SEPARATE AGREEMENTS BETWEEN ID AND
YOU, THIS AGREEMENT IS A COMPLETE AND EXCLUSIVE STATEMENT OF THE
RIGHTS AND LIABILITIES OF THE PARTIES. THIS AGREEMENT SUPERSEDES
ALL PRIOR ORAL AGREEMENTS, PROPOSALS OR UNDERSTANDINGS, AND ANY
OTHER COMMUNICATIONS BETWEEN ID AND YOU RELATING TO THE SUBJECT
MATTER OF THIS AGREEMENT.
June 21, 1996
SHAREWARE VERSION: QUAKE LIMITED USE SOFTWARE LICENSE AGREEMENT
(DWC:dw:3406.0024:DWC\doc:1163)

1901
doc/data/techinfo.txt Normal file

File diff suppressed because it is too large Load diff

171
doc/glqnotes.txt Normal file
View file

@ -0,0 +1,171 @@
Glquake v0.99, Quake v1.09 release notes
3dfx owners -- read the 3dfx.txt file.
On a standard OpenGL system, all you should need to do to run glquake is put
glquake.exe in your quake directory, and run it from there. DO NOT install
the opengl32.dll unless you have a 3dfx! Glquake should change the screen
resolution to 640*480*32k colors and run full screen by default.
If you are running win-95, your desktop must be set to 32k or 64k colors
before running glquake. NT can switch automatically.
Theoretically, glquake will run on any compliant OpenGL that supports the
texture objects extensions, but unless it is very powerfull hardware that
accelerates everything needed, the game play will not be acceptable. If it
has to go through any software emulation paths, the performance will likely
by well under one frame per second.
3dfx has provided an opengl32.dll that implements everything glquake needs,
but it is not a full opengl implementation. Other opengl applications are
very unlikely to work with it, so consider it basically a "glquake driver".
See the encluded 3dfx.txt for specific instalation notes. 3dfx can only run
full screen, but you must still have your desktop set to a 16 bit color mode
for glquake to start.
resolution options
------------------
We had dynamic resolution changing in glquake for a while, but every single
opengl driver I tried it on messed up in one way or another, so it is now
limited to startup time only.
glquake -window
This will start glquake in a window on your desktop instead of switching the
screen to lower resolution and covering everything.
glquake -width 800 -height 600
Tries to run glquake at the specified resolution. Combined with -window, it
creates a desktop window that size, otherwise it tries to set a full screen
resolution.
You can also specify the resolution of the console independant of the screen
resolution.
glquake -conwidth 320
This will specify a console resolution of 320 by 240 (the height is
automatically determined by the default 4:3 aspect ratio, you can also
specify the height directly with -conheight).
In higher resolution modes such as 800x600 and 1024x768, glquake will default
to a 640x480 console, since the font becomes small enough at higher
resolutions to become unreadable. If do you wish to have a higher resolution
console and status bar, specify it as well, such as:
glquake -width 800 -height 600 -conwidth 800
texture options
---------------
The amount of textures used in the game can have a large impact on performance.
There are several options that let you trade off visual quality for better
performance.
There is no way to flush already loaded textures, so it is best to change
these options on the command line, or they will only take effect on some of
the textures when you change levels.
OpenGL only allows textures to repeat on power of two boundaries (32, 64,
128, etc), but software quake had a number of textures that repeated at 24
or 96 pixel boundaries. These need to be either stretched out to the next
higher size, or shrunk down to the next lower. By default, they are filtered
down to the smaller size, but you can cause it to use the larger size if you
really want by using:
glquake +gl_round_down 0
This will generally run well on a normal 4 MB 3dfx card, but for other cards
that have either worse texture management or slower texture swapping speeds,
there are some additional settings that can drastically lower the amount of
textures to be managed.
glquake +gl_picmip 1
This causes all textures to have one half the dimensions they otherwise would.
This makes them blurry, but very small. You can set this to 2 to make the
textures one quarter the resolution on each axis for REALLY blurry textures.
glquake +gl_playermip 1
This is similar to picmip, but is only used for other players in deathmatch.
Each player in a deathmatch requires an individual skin texture, so this can
be a serious problem for texture management. It wouldn't be unreasonable to
set this to 2 or even 3 if you are playing competatively (and don't care if
the other guys have smudged skins). If you change this during the game, it
will take effect as soon as a player changes their skin colors.
GLQuake also supports the following extensions for faster texture operation:
GL_SGIS_multitexture
Multitextures support allows certain hardware to render the world in one
pass instead of two. GLQuake uses two passes, one for the world textures
and the second for the lightmaps that are blended on the textures. On some
hardware, with a GL_SIGS_multitexture supported OpenGL implementation, this
can be done in one pass. On hardware that supports this, you will get a
60% to 100% increase in frame rate. Currently, only 3DFX dual TMU cards
(such as the Obsidian 2220) support this extension, but other hardware will
soon follow.
This extension will be autodetected and used. If for some reason it is not
working correctly, specify the command line option "-nomtex" to disable it.
GL_EXT_shared_texture_palette
GLQuake uses 16bit textures by default but on OpenGL implementations
that support the GL_EXT_shared_texture_palette extension, GLQuake will use
8bit textures instead. This results in using half the needed texture memory
of 16bit texture and can improve performance. This is very little difference
in visual quality due to the fact that the textures are 8bit sources to
begin with.
run time options
----------------
At the console, you can set these values to effect drawing.
gl_texturemode GL_NEAREST
Sets texture mapping to point sampled, which may be faster on some GL systems
(not on 3dfx).
gl_texturemode GL_LINEAR_MIPMAP
This is the default texture mode.
gl_texturemode GL_LINEAR_MIPMAP_LINEAR
This is the highest quality texture mapping (trilinear), but only very high
end hardware (intergraph intense 3D / realizm) supports it. Not that big of
a deal, actually.
gl_finish 0
This causes the game to not issue a glFinish() call each frame, which may make
some hardware run faster. If this is cleared, the 3dfx will back up a number
of frames and not be very playable.
gl_flashblend 0
By default, glquake just draws a shaded ball around objects that are emiting
light. Clearing this variable will cause it to properly relight the world
like normal quake, but it can be a significant speed hit on some systems.
gl_ztrick 0
Glquake uses a buffering method that avoids clearing the Z buffer, but some
hardware platforms don't like it. If the status bar and console are flashing
every other frame, clear this variable.
gl_keeptjunctions 0
If you clear this, glquake will remove colinear vertexes when it reloads the
level. This can give a few percent speedup, but it can leave a couple stray
blinking pixels on the screen.
novelty features
----------------
These are some rendering tricks that were easy to do in glquake. They aren't
very robust, but they are pretty cool to look at.
r_shadows 1
This causes every object to cast a shadow.
r_wateralpha 0.7
This sets the opacity of water textures, so you can see through it in properly
processed maps. 0.3 is very faint, almost like fog. 1 is completely solid
(the default). Unfortunately, the standard quake maps don't contain any
visibility information for seeing past water surfaces, so you can't just play
quake with this turned on. If you just want to see what it looks like, you
can set "r_novis 1", but that will make things go very slow. When I get a
chance, I will probably release some maps that have been processed properly
for this.
r_mirroralpha 0.3
This changes one particular texture (the stained glass texture in the EASY
start hall) into a mirror. The value is the opacity of the mirror surface.

1240
doc/makefile.linuxi386 Normal file

File diff suppressed because it is too large Load diff

483
doc/makefile.solaris Normal file
View file

@ -0,0 +1,483 @@
#
# Quake Makefile for Solaris
#
# Nov '97 by Zoid <zoid@idsoftware.com>
#
# ELF only
#
VERSION=1.09
ifneq (,$(findstring i86pc,$(shell uname -m)))
ARCH=i386
else
ARCH=sparc
endif
MOUNT_DIR=/grog/Projects/WinQuake
BUILD_DEBUG_DIR=debug$(ARCH)
BUILD_RELEASE_DIR=release$(ARCH)
CC=gcc
BASE_CFLAGS=-I/usr/openwin/include
RELEASE_CFLAGS=$(BASE_CFLAGS) -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations
DEBUG_CFLAGS=$(BASE_CFLAGS) -g
LDFLAGS=-R /usr/openwin/lib -L /usr/openwin/lib -lm -lX11 -lXext -lsocket -lnsl -lthread -ldl
XIL_LDFLAGS=-L /opt/SUNWits/Graphics-sw/xil/lib -R /opt/SUNWits/Graphics-sw/xil/lib:/usr/openwin/lib -L /usr/openwin/lib -lm -lxil -lX11 -lXext -lsocket -lnsl -lthread -ldl
DO_CC=$(CC) $(CFLAGS) -o $@ -c $<
DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
#############################################################################
# SETUP AND BUILD
#############################################################################
TARGETS=$(BUILDDIR)/quake.sw $(BUILDDIR)/quake.xil
build_debug:
@-mkdir $(BUILD_DEBUG_DIR)
$(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
build_release:
@-mkdir $(BUILD_RELEASE_DIR)
$(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)"
all: build_debug build_release
targets: $(TARGETS)
#############################################################################
# CLIENT/SERVER
#############################################################################
QUAKE_OBJS= \
$(BUILDDIR)/chase.o \
$(BUILDDIR)/cl_demo.o \
$(BUILDDIR)/cl_input.o \
$(BUILDDIR)/cl_main.o \
$(BUILDDIR)/cl_parse.o \
$(BUILDDIR)/cl_tent.o \
$(BUILDDIR)/cmd.o \
$(BUILDDIR)/common.o \
$(BUILDDIR)/console.o \
$(BUILDDIR)/crc.o \
$(BUILDDIR)/cvar.o \
$(BUILDDIR)/draw.o \
$(BUILDDIR)/d_edge.o \
$(BUILDDIR)/d_fill.o \
$(BUILDDIR)/d_init.o \
$(BUILDDIR)/d_modech.o \
$(BUILDDIR)/d_part.o \
$(BUILDDIR)/d_polyse.o \
$(BUILDDIR)/d_scan.o \
$(BUILDDIR)/d_sky.o \
$(BUILDDIR)/d_sprite.o \
$(BUILDDIR)/d_surf.o \
$(BUILDDIR)/d_vars.o \
$(BUILDDIR)/d_zpoint.o \
$(BUILDDIR)/host.o \
$(BUILDDIR)/host_cmd.o \
$(BUILDDIR)/keys.o \
$(BUILDDIR)/menu.o \
$(BUILDDIR)/mathlib.o \
$(BUILDDIR)/model.o \
$(BUILDDIR)/nonintel.o \
$(BUILDDIR)/pr_cmds.o \
$(BUILDDIR)/pr_edict.o \
$(BUILDDIR)/pr_exec.o \
$(BUILDDIR)/r_aclip.o \
$(BUILDDIR)/r_alias.o \
$(BUILDDIR)/r_bsp.o \
$(BUILDDIR)/r_light.o \
$(BUILDDIR)/r_draw.o \
$(BUILDDIR)/r_efrag.o \
$(BUILDDIR)/r_edge.o \
$(BUILDDIR)/r_misc.o \
$(BUILDDIR)/r_main.o \
$(BUILDDIR)/r_sky.o \
$(BUILDDIR)/r_sprite.o \
$(BUILDDIR)/r_surf.o \
$(BUILDDIR)/r_part.o \
$(BUILDDIR)/r_vars.o \
$(BUILDDIR)/screen.o \
$(BUILDDIR)/sbar.o \
$(BUILDDIR)/sv_main.o \
$(BUILDDIR)/sv_phys.o \
$(BUILDDIR)/sv_move.o \
$(BUILDDIR)/sv_user.o \
$(BUILDDIR)/zone.o \
$(BUILDDIR)/view.o \
$(BUILDDIR)/wad.o \
$(BUILDDIR)/world.o \
$(BUILDDIR)/cd_null.o \
$(BUILDDIR)/snd_dma.o \
$(BUILDDIR)/snd_mix.o \
$(BUILDDIR)/snd_mem.o \
$(BUILDDIR)/net_dgrm.o \
$(BUILDDIR)/net_loop.o \
$(BUILDDIR)/net_main.o \
$(BUILDDIR)/net_vcr.o \
$(BUILDDIR)/net_udp.o \
$(BUILDDIR)/net_bsd.o \
$(BUILDDIR)/sys_sun.o \
$(BUILDDIR)/snd_sun.o
QUAKE_AS_OBJS= \
$(BUILDDIR)/d_copy.o \
$(BUILDDIR)/d_draw.o \
$(BUILDDIR)/d_draw16.o \
$(BUILDDIR)/d_parta.o \
$(BUILDDIR)/d_polysa.o \
$(BUILDDIR)/d_scana.o \
$(BUILDDIR)/d_spr8.o \
$(BUILDDIR)/d_varsa.o \
$(BUILDDIR)/math.o \
$(BUILDDIR)/r_aliasa.o \
$(BUILDDIR)/r_drawa.o \
$(BUILDDIR)/r_edgea.o \
$(BUILDDIR)/r_varsa.o \
$(BUILDDIR)/surf16.o \
$(BUILDDIR)/surf8.o \
$(BUILDDIR)/worlda.o \
$(BUILDDIR)/r_aclipa.o \
$(BUILDDIR)/snd_mixa.o \
$(BUILDDIR)/sys_dosa.o
QUAKE_X_OBJS = $(BUILDDIR)/vid_sunx.o
QUAKE_XIL_OBJS = $(BUILDDIR)/vid_sunxil.o
ifeq ($(ARCH),i386)
$(BUILDDIR)/quake.sw : $(QUAKE_OBJS) $(QUAKE_AS_OBJS) $(QUAKE_X_OBJS)
$(CC) -o $(@) $(QUAKE_OBJS) $(QUAKE_AS_OBJS) $(QUAKE_X_OBJS) $(LDFLAGS)
$(BUILDDIR)/quake.xil: $(QUAKE_OBJS) $(QUAKE_AS_OBJS) $(QUAKE_XIL_OBJS)
$(CC) -o $(@) $(QUAKE_OBJS) $(QUAKE_AS_OBJS) $(QUAKE_XIL_OBJS) $(XIL_LDFLAGS)
else
$(BUILDDIR)/quake.sw : $(QUAKE_OBJS) $(QUAKE_X_OBJS)
$(CC) -o $(@) $(QUAKE_OBJS) $(QUAKE_X_OBJS) $(LDFLAGS)
$(BUILDDIR)/quake.xil: $(QUAKE_OBJS) $(QUAKE_XIL_OBJS)
$(CC) -o $(@) $(QUAKE_OBJS) $(QUAKE_XIL_OBJS) $(XIL_LDFLAGS)
endif
##
$(BUILDDIR)/chase.o : $(MOUNT_DIR)/chase.c
$(DO_CC)
$(BUILDDIR)/cl_demo.o : $(MOUNT_DIR)/cl_demo.c
$(DO_CC)
$(BUILDDIR)/cl_input.o : $(MOUNT_DIR)/cl_input.c
$(DO_CC)
$(BUILDDIR)/cl_main.o : $(MOUNT_DIR)/cl_main.c
$(DO_CC)
$(BUILDDIR)/cl_parse.o : $(MOUNT_DIR)/cl_parse.c
$(DO_CC)
$(BUILDDIR)/cl_tent.o : $(MOUNT_DIR)/cl_tent.c
$(DO_CC)
$(BUILDDIR)/cmd.o : $(MOUNT_DIR)/cmd.c
$(DO_CC)
$(BUILDDIR)/common.o : $(MOUNT_DIR)/common.c
$(DO_CC)
$(BUILDDIR)/console.o : $(MOUNT_DIR)/console.c
$(DO_CC)
$(BUILDDIR)/crc.o : $(MOUNT_DIR)/crc.c
$(DO_CC)
$(BUILDDIR)/cvar.o : $(MOUNT_DIR)/cvar.c
$(DO_CC)
$(BUILDDIR)/draw.o : $(MOUNT_DIR)/draw.c
$(DO_CC)
$(BUILDDIR)/d_edge.o : $(MOUNT_DIR)/d_edge.c
$(DO_CC)
$(BUILDDIR)/d_fill.o : $(MOUNT_DIR)/d_fill.c
$(DO_CC)
$(BUILDDIR)/d_init.o : $(MOUNT_DIR)/d_init.c
$(DO_CC)
$(BUILDDIR)/d_modech.o : $(MOUNT_DIR)/d_modech.c
$(DO_CC)
$(BUILDDIR)/d_part.o : $(MOUNT_DIR)/d_part.c
$(DO_CC)
$(BUILDDIR)/d_polyse.o : $(MOUNT_DIR)/d_polyse.c
$(DO_CC)
$(BUILDDIR)/d_scan.o : $(MOUNT_DIR)/d_scan.c
$(DO_CC)
$(BUILDDIR)/d_sky.o : $(MOUNT_DIR)/d_sky.c
$(DO_CC)
$(BUILDDIR)/d_sprite.o : $(MOUNT_DIR)/d_sprite.c
$(DO_CC)
$(BUILDDIR)/d_surf.o : $(MOUNT_DIR)/d_surf.c
$(DO_CC)
$(BUILDDIR)/d_vars.o : $(MOUNT_DIR)/d_vars.c
$(DO_CC)
$(BUILDDIR)/d_zpoint.o : $(MOUNT_DIR)/d_zpoint.c
$(DO_CC)
$(BUILDDIR)/host.o : $(MOUNT_DIR)/host.c
$(DO_CC)
$(BUILDDIR)/host_cmd.o : $(MOUNT_DIR)/host_cmd.c
$(DO_CC)
$(BUILDDIR)/keys.o : $(MOUNT_DIR)/keys.c
$(DO_CC)
$(BUILDDIR)/menu.o : $(MOUNT_DIR)/menu.c
$(DO_CC)
$(BUILDDIR)/mathlib.o : $(MOUNT_DIR)/mathlib.c
$(DO_CC)
$(BUILDDIR)/model.o : $(MOUNT_DIR)/model.c
$(DO_CC)
$(BUILDDIR)/nonintel.o : $(MOUNT_DIR)/nonintel.c
$(DO_CC)
$(BUILDDIR)/pr_cmds.o : $(MOUNT_DIR)/pr_cmds.c
$(DO_CC)
$(BUILDDIR)/pr_edict.o : $(MOUNT_DIR)/pr_edict.c
$(DO_CC)
$(BUILDDIR)/pr_exec.o : $(MOUNT_DIR)/pr_exec.c
$(DO_CC)
$(BUILDDIR)/r_aclip.o : $(MOUNT_DIR)/r_aclip.c
$(DO_CC)
$(BUILDDIR)/r_alias.o : $(MOUNT_DIR)/r_alias.c
$(DO_CC)
$(BUILDDIR)/r_bsp.o : $(MOUNT_DIR)/r_bsp.c
$(DO_CC)
$(BUILDDIR)/r_light.o : $(MOUNT_DIR)/r_light.c
$(DO_CC)
$(BUILDDIR)/r_draw.o : $(MOUNT_DIR)/r_draw.c
$(DO_CC)
$(BUILDDIR)/r_efrag.o : $(MOUNT_DIR)/r_efrag.c
$(DO_CC)
$(BUILDDIR)/r_edge.o : $(MOUNT_DIR)/r_edge.c
$(DO_CC)
$(BUILDDIR)/r_misc.o : $(MOUNT_DIR)/r_misc.c
$(DO_CC)
$(BUILDDIR)/r_main.o : $(MOUNT_DIR)/r_main.c
$(DO_CC)
$(BUILDDIR)/r_sky.o : $(MOUNT_DIR)/r_sky.c
$(DO_CC)
$(BUILDDIR)/r_sprite.o : $(MOUNT_DIR)/r_sprite.c
$(DO_CC)
$(BUILDDIR)/r_surf.o : $(MOUNT_DIR)/r_surf.c
$(DO_CC)
$(BUILDDIR)/r_part.o : $(MOUNT_DIR)/r_part.c
$(DO_CC)
$(BUILDDIR)/r_vars.o : $(MOUNT_DIR)/r_vars.c
$(DO_CC)
$(BUILDDIR)/screen.o : $(MOUNT_DIR)/screen.c
$(DO_CC)
$(BUILDDIR)/sbar.o : $(MOUNT_DIR)/sbar.c
$(DO_CC)
$(BUILDDIR)/sv_main.o : $(MOUNT_DIR)/sv_main.c
$(DO_CC)
$(BUILDDIR)/sv_phys.o : $(MOUNT_DIR)/sv_phys.c
$(DO_CC)
$(BUILDDIR)/sv_move.o : $(MOUNT_DIR)/sv_move.c
$(DO_CC)
$(BUILDDIR)/sv_user.o : $(MOUNT_DIR)/sv_user.c
$(DO_CC)
$(BUILDDIR)/zone.o : $(MOUNT_DIR)/zone.c
$(DO_CC)
$(BUILDDIR)/view.o : $(MOUNT_DIR)/view.c
$(DO_CC)
$(BUILDDIR)/wad.o : $(MOUNT_DIR)/wad.c
$(DO_CC)
$(BUILDDIR)/world.o : $(MOUNT_DIR)/world.c
$(DO_CC)
$(BUILDDIR)/cd_null.o : $(MOUNT_DIR)/cd_null.c
$(DO_CC)
$(BUILDDIR)/snd_dma.o : $(MOUNT_DIR)/snd_dma.c
$(DO_CC)
$(BUILDDIR)/snd_mix.o : $(MOUNT_DIR)/snd_mix.c
$(DO_CC)
$(BUILDDIR)/snd_mem.o : $(MOUNT_DIR)/snd_mem.c
$(DO_CC)
$(BUILDDIR)/net_dgrm.o : $(MOUNT_DIR)/net_dgrm.c
$(DO_CC)
$(BUILDDIR)/net_loop.o : $(MOUNT_DIR)/net_loop.c
$(DO_CC)
$(BUILDDIR)/net_main.o : $(MOUNT_DIR)/net_main.c
$(DO_CC)
$(BUILDDIR)/net_vcr.o : $(MOUNT_DIR)/net_vcr.c
$(DO_CC)
$(BUILDDIR)/net_udp.o : $(MOUNT_DIR)/net_udp.c
$(DO_CC)
$(BUILDDIR)/net_bsd.o : $(MOUNT_DIR)/net_bsd.c
$(DO_CC)
$(BUILDDIR)/sys_sun.o : $(MOUNT_DIR)/sys_sun.c
$(DO_CC)
$(BUILDDIR)/snd_sun.o : $(MOUNT_DIR)/snd_sun.c
$(DO_CC)
$(BUILDDIR)/in_sun.o : $(MOUNT_DIR)/in_sun.c
$(DO_CC)
$(BUILDDIR)/vid_sunx.o : $(MOUNT_DIR)/vid_sunx.c
$(DO_CC)
$(BUILDDIR)/vid_sunxil.o : $(MOUNT_DIR)/vid_sunxil.c
$(DO_CC)
#####
$(BUILDDIR)/d_copy.o : $(MOUNT_DIR)/d_copy.s
$(DO_AS)
$(BUILDDIR)/d_draw.o : $(MOUNT_DIR)/d_draw.s
$(DO_AS)
$(BUILDDIR)/d_draw16.o : $(MOUNT_DIR)/d_draw16.s
$(DO_AS)
$(BUILDDIR)/d_parta.o : $(MOUNT_DIR)/d_parta.s
$(DO_AS)
$(BUILDDIR)/d_polysa.o : $(MOUNT_DIR)/d_polysa.s
$(DO_AS)
$(BUILDDIR)/d_scana.o : $(MOUNT_DIR)/d_scana.s
$(DO_AS)
$(BUILDDIR)/d_spr8.o : $(MOUNT_DIR)/d_spr8.s
$(DO_AS)
$(BUILDDIR)/d_varsa.o : $(MOUNT_DIR)/d_varsa.s
$(DO_AS)
$(BUILDDIR)/math.o : $(MOUNT_DIR)/math.s
$(DO_AS)
$(BUILDDIR)/r_aliasa.o : $(MOUNT_DIR)/r_aliasa.s
$(DO_AS)
$(BUILDDIR)/r_drawa.o : $(MOUNT_DIR)/r_drawa.s
$(DO_AS)
$(BUILDDIR)/r_edgea.o : $(MOUNT_DIR)/r_edgea.s
$(DO_AS)
$(BUILDDIR)/r_varsa.o : $(MOUNT_DIR)/r_varsa.s
$(DO_AS)
$(BUILDDIR)/surf16.o : $(MOUNT_DIR)/surf16.s
$(DO_AS)
$(BUILDDIR)/surf8.o : $(MOUNT_DIR)/surf8.s
$(DO_AS)
$(BUILDDIR)/worlda.o : $(MOUNT_DIR)/worlda.s
$(DO_AS)
$(BUILDDIR)/r_aclipa.o : $(MOUNT_DIR)/r_aclipa.s
$(DO_AS)
$(BUILDDIR)/snd_mixa.o : $(MOUNT_DIR)/snd_mixa.s
$(DO_AS)
$(BUILDDIR)/sys_dosa.o : $(MOUNT_DIR)/sys_dosa.s
$(DO_AS)
#############################################################################
# TAR
#############################################################################
# Make RPMs. You need to be root to make this work
RPMDIR = /var/tmp/quake-$(VERSION)
tar:
if [ ! -d archives ];then mkdir archives;fi
$(MAKE) copyfiles COPYDIR=$(RPMDIR)
cd $(RPMDIR); tar cvf q2ded-$(VERSION)-$(ARCH)-sun-solaris2.5.1.tar *
cd $(RPMDIR); compress q2ded-$(VERSION)-$(ARCH)-sun-solaris2.5.1.tar
mv $(RPMDIR)/*.tar.Z archives/.
rm -rf $(RPMDIR)
copyfiles:
-mkdirhier $(COPYDIR)
cp $(BUILD_RELEASE_DIR)/quake.sw $(COPYDIR)
cp $(BUILD_RELEASE_DIR)/quake.xil $(COPYDIR)
strip $(COPYDIR)/quake
strip $(COPYDIR)/quake.xil
cp $(MOUNT_DIR)/README.Solaris $(COPYDIR)/README.Solaris
#############################################################################
# MISC
#############################################################################
clean: clean-debug clean-release
clean-debug:
$(MAKE) clean2 BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
clean-release:
$(MAKE) clean2 BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(DEBUG_CFLAGS)"
clean2:
-rm -f $(QUAKE_OBJS) $(QUAKE_X_OBJS) $(QUAKE_XIL_OBJS)

2
doc/man/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
Makefile.in
Makefile

4
doc/man/Makefile.am Normal file
View file

@ -0,0 +1,4 @@
## Process this file with automake to produce Makefile.in
man_MANS = quakeforge.1
EXTRA_DIST = $(man_MANS)

47
doc/man/quakeforge.1 Normal file
View file

@ -0,0 +1,47 @@
.\" hey, Emacs: -*- nroff -*-
.\" quakeforge is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; see the file COPYING. If not, write to
.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.\"
.TH QUAKEFORGE 1 "May 15, 2000"
.\" Please update the above date whenever this man page is modified.
.SH NAME
quakeforge \- 3D game engine based on id Software's Quake engine
.SH SYNOPSIS
.B quakeforge
.RI [ options ]
.SH DESCRIPTION
\fBquakeforge\fP washes your windows, mends your fences, mows your lawn...
.PP
It also...
.SH OPTIONS
\fBquakeforge\fP accepts the following options:
.TP
.BR -i , " --interactive"
Prompt for confirmation.
.TP
.BR -q , " --quiet" , " --silent"
Inhibit usual output.
.TP
.B --verbose
Print more information.
.TP
.B \-h, \-\-help
Show summary of options.
.TP
.B \-v, \-\-version
Show version of program.
.\" .SH "SEE ALSO"
.\" .BR foo "(1), " bar (1)
.SH AUTHOR
The QuakeForge Project <quake-devel@lists.sourceforge.net>.

View file

@ -0,0 +1,49 @@
SV_NETDOSPROTECT 0/1
Used to turn on/off Denial Of Service protections. Makes it more
difficult to use quakeworld servers to conduct DoS attacks against
other sites.
NETDOSVALUES
Tells server how many of specified kind of requests (per IP addr)
are allowed during time defined with NETDOSEXPIRE.
Possible request types:
<FLOOD_PING> <FLOOD_LOG> <FLOOD_CONNECT> <FLOOD_STATUS> <FLOOD_RCON> <FLOOD_BAN>
NETDOSEXPIRE
Tells server how much time must pass before request counter expires
and gets set to zero.
NETDOSVALUES <FLOOD_PING> <FLOOD_LOG> <FLOOD_CONNECT> <FLOOD_STATUS> <FLOOD_RCON> <FLOOD_BAN>
NETDOSEXPIRE <FLOOD_PING> <FLOOD_LOG> <FLOOD_CONNECT> <FLOOD_STATUS> <FLOOD_RCON> <FLOOD_BAN>
defaults are:
NETDOSVALUES 12 1 3 1 1 1 1
NETDOSEXPIRE 1 1 2 0.9 1 5
meaning :
maximum of 12 PINGS are allowed in 1 second
maximum of 1 LOG request / second
maximum of 2 connect requests / 3 seconds
maximum of 1 status request / 0.9 seconds
maximum of 1 rcon command / 1 second
maximum of 1 request from banned IP / 5 second
Examples
if server receives 15 ping requests under 1 second, it will allow 12 requests
and drop 3 without response.
Other commands:
sv_allow_log
Allow/disallow remote LOG requests
sv_allow_status
Allow/disallow remote status requests
sv_allow_ping
Allow/disallow remote pings

143
doc/progdefs.q1 Normal file
View file

@ -0,0 +1,143 @@
/* file generated by qcc, do not modify */
typedef struct
{ int pad[28];
int self;
int other;
int world;
float time;
float frametime;
float force_retouch;
string_t mapname;
float deathmatch;
float coop;
float teamplay;
float serverflags;
float total_secrets;
float total_monsters;
float found_secrets;
float killed_monsters;
float parm1;
float parm2;
float parm3;
float parm4;
float parm5;
float parm6;
float parm7;
float parm8;
float parm9;
float parm10;
float parm11;
float parm12;
float parm13;
float parm14;
float parm15;
float parm16;
vec3_t v_forward;
vec3_t v_up;
vec3_t v_right;
float trace_allsolid;
float trace_startsolid;
float trace_fraction;
vec3_t trace_endpos;
vec3_t trace_plane_normal;
float trace_plane_dist;
int trace_ent;
float trace_inopen;
float trace_inwater;
int msg_entity;
func_t main;
func_t StartFrame;
func_t PlayerPreThink;
func_t PlayerPostThink;
func_t ClientKill;
func_t ClientConnect;
func_t PutClientInServer;
func_t ClientDisconnect;
func_t SetNewParms;
func_t SetChangeParms;
} globalvars_t;
typedef struct
{
float modelindex;
vec3_t absmin;
vec3_t absmax;
float ltime;
float movetype;
float solid;
vec3_t origin;
vec3_t oldorigin;
vec3_t velocity;
vec3_t angles;
vec3_t avelocity;
vec3_t punchangle;
string_t classname;
string_t model;
float frame;
float skin;
float effects;
vec3_t mins;
vec3_t maxs;
vec3_t size;
func_t touch;
func_t use;
func_t think;
func_t blocked;
float nextthink;
int groundentity;
float health;
float frags;
float weapon;
string_t weaponmodel;
float weaponframe;
float currentammo;
float ammo_shells;
float ammo_nails;
float ammo_rockets;
float ammo_cells;
float items;
float takedamage;
int chain;
float deadflag;
vec3_t view_ofs;
float button0;
float button1;
float button2;
float impulse;
float fixangle;
vec3_t v_angle;
float idealpitch;
string_t netname;
int enemy;
float flags;
float colormap;
float team;
float max_health;
float teleport_time;
float armortype;
float armorvalue;
float waterlevel;
float watertype;
float ideal_yaw;
float yaw_speed;
int aiment;
int goalentity;
float spawnflags;
string_t target;
string_t targetname;
float dmg_take;
float dmg_save;
int dmg_inflictor;
int owner;
vec3_t movedir;
string_t message;
float sounds;
string_t noise;
string_t noise1;
string_t noise2;
string_t noise3;
} entvars_t;
#define PROGHEADER_CRC 5927

158
doc/progdefs.q2 Normal file
View file

@ -0,0 +1,158 @@
/* file generated by qcc, do not modify */
typedef struct
{ int pad[28];
int self;
int other;
int world;
float time;
float frametime;
float force_retouch;
string_t mapname;
string_t startspot;
float deathmatch;
float coop;
float teamplay;
float serverflags;
float total_secrets;
float total_monsters;
float found_secrets;
float killed_monsters;
float parm1;
float parm2;
float parm3;
float parm4;
float parm5;
float parm6;
float parm7;
float parm8;
float parm9;
float parm10;
float parm11;
float parm12;
float parm13;
float parm14;
float parm15;
float parm16;
vec3_t v_forward;
vec3_t v_up;
vec3_t v_right;
float trace_allsolid;
float trace_startsolid;
float trace_fraction;
vec3_t trace_endpos;
vec3_t trace_plane_normal;
float trace_plane_dist;
int trace_ent;
float trace_inopen;
float trace_inwater;
int msg_entity;
string_t null;
func_t main;
func_t StartFrame;
func_t PlayerPreThink;
func_t PlayerPostThink;
func_t ClientKill;
func_t ClientConnect;
func_t PutClientInServer;
func_t ClientDisconnect;
func_t SetNewParms;
func_t SetChangeParms;
} globalvars_t;
typedef struct
{
float modelindex;
vec3_t absmin;
vec3_t absmax;
float ltime;
float movetype;
float solid;
vec3_t origin;
vec3_t oldorigin;
vec3_t velocity;
vec3_t angles;
vec3_t avelocity;
vec3_t basevelocity;
vec3_t punchangle;
string_t classname;
string_t model;
float frame;
float skin;
float effects;
float drawPercent;
float gravity;
float mass;
float light_level;
vec3_t mins;
vec3_t maxs;
vec3_t size;
func_t touch;
func_t use;
func_t think;
func_t blocked;
float nextthink;
int groundentity;
float health;
float frags;
float weapon;
string_t weaponmodel;
float weaponframe;
float currentammo;
float ammo_shells;
float ammo_nails;
float ammo_rockets;
float ammo_cells;
float items;
float items2;
float takedamage;
int chain;
float deadflag;
vec3_t view_ofs;
float button0;
float button1;
float button2;
float impulse;
float fixangle;
vec3_t v_angle;
float idealpitch;
float pitch_speed;
string_t netname;
int enemy;
float flags;
float colormap;
float team;
float max_health;
float teleport_time;
float armortype;
float armorvalue;
float waterlevel;
float watertype;
float ideal_yaw;
float yaw_speed;
int aiment;
int goalentity;
float spawnflags;
string_t target;
string_t targetname;
float dmg_take;
float dmg_save;
int dmg_inflictor;
int owner;
vec3_t movedir;
string_t message;
float sounds;
string_t noise;
string_t noise1;
string_t noise2;
string_t noise3;
float dmg;
float dmgtime;
float air_finished;
float pain_finished;
float radsuit_finished;
float speed;
} entvars_t;
#define PROGHEADER_CRC 31586

BIN
doc/qe3.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

BIN
doc/quake.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
doc/quake.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

98
doc/readme.solaris Normal file
View file

@ -0,0 +1,98 @@
Solaris 2 Quake / QuakeWorld
----------------------------
This is an UNSUPPORTED version of Quake and QuakeWorld. Don't
bother id software about it. Bug reports will be ignored.
PORT DETAILS
------------
There are a few major difference between this port and the
vanilla Quake/QuakeWorld available on the internet. For
optimum performance, you should copy everything to a directory
on your local system before starting play so that you are
not mounting files from a remote filesystem.
In order to use this program, you need the files pak0.pak
and pak1.pak in the id1 directory found on a registered copy of
Quake. You can ftp them to your Solaris host from a Windows95
machine for example. The files must be in an id1 subdirectory from
the directory you install Quake/QuakeWorld, and all file names must
be lowercase. Add on packages such as ThreeWave CTF work fine as
well, just place such addon packages in their own directory as you
would on a Windows95 installation. But again, make sure all files
are lowercase.
COMMAND LINE FLAGS:
+pixel_multiply
You can magnify the screen by using this flag:
Ex: % quake +pixel_multiply 2
You can also use this command (without the dash)
from the Quake console. pixel_multiply is a Quake
cvar and is saved from session to session in the
config.cfg file.
-winsize <width> <height>
Set the size of the window when you start
-count_frames
See how many frames per second you're getting
GAME SETTINGS
mouse binding
You can bind and unbind the mouse to the Quake window
by using the Use Mouse selection in the Options menu,
or with the "_windowed_mouse" command in the console,
ex "_windowed_mouse 1" Now, moving the mouse will move
your player. Use "_windowed_mouse 0" to unbind. You
can bind or alias this to a key.
Example command:
% quake.xil +pixel_multiply 2 -winsize 400 300
WHAT IS "QUAKEWORLD" AND HOW DO I USE IT?
-----------------------------------------
In a nutshell, QuakeWorld is an extension of Quake that is
much more user friendly. It allows the user to dynamically
download changes from the server, such as new maps and new
weapons while inside the Quake client. It is not directly
compatible with Quake (ie, you can't connect to a Quake server
from a QuakeWorld client) but in general it is superior to
Quake. QuakeWorld also offers much smoother play over the
Internet by using client prediction. For more information,
check out http://www.quakeworld.net/.
In order to use it, you must make a copy of the "qw"
directory. Any new stuff that is downloaded from a QuakeWorld
server will be stored in this directory. All regular Quake
flags apply so you can use the same command line as before.
Example command:
% qwcl.xil +pixel_multiply 2 -winsize 400 300
WHERE CAN I FIND OUT ABOUT...
-----------------------------
If you've got questions about Quake, rest assured that there
are answers out there. Try checking out these web sites:
http://www.planetquake.com/
http://www.stomped.com/
http://www.quakeworld.net/
If all else fails use a search engine.
Happy fragging,
the Quake/Solaris team

60
doc/readme.txt Normal file
View file

@ -0,0 +1,60 @@
This is the complete source code for winquake, glquake, quakeworld, and
glquakeworld.
The projects have been tested with visual C++ 6.0, but masm is also required
to build the assembly language files. It is possible to change a #define and
build with only C code, but the software rendering versions lose almost half
its speed. The OpenGL versions will not be effected very much. The
gas2masm tool was created to allow us to use the same source for the dos,
linux, and windows versions, but I don't really recommend anyone mess
with the asm code.
The original dos version of Quake should also be buildable from these
sources, but we didn't bother trying.
The code is all licensed under the terms of the GPL (gnu public license).
You should read the entire license, but the gist of it is that you can do
anything you want with the code, including sell your new version. The catch
is that if you distribute new binary versions, you are required to make the
entire source code available for free to everyone.
Our previous code releases have been under licenses that preclude
commercial exploitation, but have no clause forcing sharing of source code.
There have been some unfortunate losses to the community as a result of
mod teams keeping their sources closed (and sometimes losing them). If
you are going to publicly release modified versions of this code, you must
also make source code available. I would encourage teams to even go a step
farther and investigate using public CVS servers for development where
possible.
The primary intent of this release is for entertainment and educational
purposes, but the GPL does allow commercial exploitation if you obey the
full license. If you want to do something commercial and you just can't bear
to have your source changes released, we could still negotiate a separate
license agreement (for $$$), but I would encourage you to just live with the
GPL.
All of the Quake data files remain copyrighted and licensed under the
original terms, so you cannot redistribute data from the original game, but if
you do a true total conversion, you can create a standalone game based on
this code.
I will see about having the license changed on the shareware episode of
quake to allow it to be duplicated more freely (for linux distributions, for
example), but I can't give a timeframe for it. You can still download one of
the original quake demos and use that data with the code, but there are
restrictions on the redistribution of the demo data.
If you never actually bought a complete version of Quake, you might want
to rummage around in a local software bargain bin for one of the originals,
or perhaps find a copy of the "Quake: the offering" boxed set with both
mission packs.
Thanks to Dave "Zoid" Kirsh and Robert Duffy for doing the grunt work of
building this release.
John Carmack
Id Software

219
doc/skybox.fig Normal file
View file

@ -0,0 +1,219 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
6 900 4500 2100 5700
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1200 4800 1800 4800 1800 5400 1200 5400 1200 4800
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 4800 900 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 5400 2100 5700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 4800 2100 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 5400 900 5700
-6
6 2700 4500 3900 5700
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3000 4800 3600 4800 3600 5400 3000 5400 3000 4800
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 4800 2700 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 5400 3900 5700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 4800 3900 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 5400 2700 5700
-6
6 4500 4500 5700 5700
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4800 4800 5400 4800 5400 5400 4800 5400 4800 4800
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 4800 4500 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 5400 5700 5700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 4800 5700 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 5400 4500 5700
-6
6 6300 4500 7500 5700
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6600 4800 7200 4800 7200 5400 6600 5400 6600 4800
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 4800 6300 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 5400 7500 5700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 4800 7500 4500
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 5400 6300 5700
-6
6 900 2700 2100 3900
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1200 3000 1800 3000 1800 3600 1200 3600 1200 3000
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 3000 900 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 3600 2100 3900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 3000 2100 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 3600 900 3900
-6
6 2700 2700 3900 3900
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3000 3000 3600 3000 3600 3600 3000 3600 3000 3000
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 3000 2700 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 3600 3900 3900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 3000 3900 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 3600 2700 3900
-6
6 4500 2700 5700 3900
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4800 3000 5400 3000 5400 3600 4800 3600 4800 3000
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 3000 4500 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 3600 5700 3900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 3000 5700 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 3600 4500 3900
-6
6 6300 2700 7500 3900
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6600 3000 7200 3000 7200 3600 6600 3600 6600 3000
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 3000 6300 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 3600 7500 3900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 3000 7500 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 3600 6300 3900
-6
6 8100 2700 9300 3900
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8400 3000 9000 3000 9000 3600 8400 3600 8400 3000
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8400 3000 8100 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
9000 3600 9300 3900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
9000 3000 9300 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8400 3600 8100 3900
-6
6 900 900 2100 2100
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1200 1200 1800 1200 1800 1800 1200 1800 1200 1200
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 1200 900 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 1800 2100 2100
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1800 1200 2100 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
1200 1800 900 2100
-6
6 2700 900 3900 2100
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3000 1200 3600 1200 3600 1800 3000 1800 3000 1200
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 1200 2700 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 1800 3900 2100
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3600 1200 3900 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
3000 1800 2700 2100
-6
6 4500 900 5700 2100
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4800 1200 5400 1200 5400 1800 4800 1800 4800 1200
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 1200 4500 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 1800 5700 2100
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
5400 1200 5700 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
4800 1800 4500 2100
-6
6 6300 900 7500 2100
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6600 1200 7200 1200 7200 1800 6600 1800 6600 1200
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 1200 6300 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 1800 7500 2100
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
7200 1200 7500 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
6600 1800 6300 2100
-6
6 8100 900 9300 2100
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8400 1200 9000 1200 9000 1800 8400 1800 8400 1200
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8400 1200 8100 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
9000 1800 9300 2100
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
9000 1200 9300 900
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
8400 1800 8100 2100
-6
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1350 1425 1650 1425 1650 1650 1350 1650 1350 1425
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3150 1125 3450 1125 3450 1275 3150 1275 3150 1125
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
4950 1125 5250 1125 5250 1950 4950 1950 4950 1125
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6975 1050 6825 1050 6525 1500 6525 1725 6975 1050
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8325 2850 9225 2850 9225 3150 8325 3150 8325 2850
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
6450 4500 7350 4500 7350 5700 6450 5700 6450 4500
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
1650 5625 1050 4875 1050 4500 1275 4500 2025 5400 1650 5625
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
3300 5625 2775 4875 2850 4500 3975 4725 3300 5625
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
5400 5700 4650 4950 4800 4500 5775 4800 5400 5700
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
5700 3450 4650 3075 4650 2775 4875 2775 5700 3450
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
6825 3750 6450 3075 6450 2700 6750 2700 7350 3375 6825 3750
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
1950 3300 1500 2850 1050 3375 1500 3750 1950 3300
2 3 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
8850 1950 8775 975 8250 1575 8850 1950
2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
2850 2775 3225 2775 3225 3225 2850 3225 2850 2775
4 0 0 50 0 0 16 0.0000 4 120 105 900 825 a\001
4 0 0 50 0 0 16 0.0000 4 165 120 2700 825 b\001
4 0 0 50 0 0 16 0.0000 4 120 105 4500 825 c\001
4 0 0 50 0 0 16 0.0000 4 165 120 6300 825 d\001
4 0 0 50 0 0 16 0.0000 4 120 105 8100 825 e\001
4 0 0 50 0 0 16 0.0000 4 165 90 900 2625 f\001
4 0 0 50 0 0 16 0.0000 4 180 120 2700 2625 g\001
4 0 0 50 0 0 16 0.0000 4 165 120 4500 2625 h\001
4 0 0 50 0 0 16 0.0000 4 165 75 6300 2625 i\001
4 0 0 50 0 0 16 0.0000 4 225 60 8100 2625 j\001
4 0 0 50 0 0 16 0.0000 4 165 120 900 4425 k\001
4 0 0 50 0 0 16 0.0000 4 165 75 2700 4425 l\001
4 0 0 50 0 0 16 0.0000 4 120 195 4500 4425 m\001
4 0 0 50 0 0 16 0.0000 4 120 120 6300 4425 n\001

31
doc/template.h Normal file
View file

@ -0,0 +1,31 @@
/*
#FILENAME#
#DESCRIPTION#
Copyright (C) 2000 #AUTHOR#
Author: #AUTHOR#
Date: #DATE#
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
$Id$
*/

3
doc/texinfo/.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
Makefile.in
Makefile
quakeforge.info

4
doc/texinfo/Makefile.am Normal file
View file

@ -0,0 +1,4 @@
## Process this file with automake to produce Makefile.in
info_TEXINFOS = quakeforge.texinfo
EXTRA_DIST = gpl.texinfo

398
doc/texinfo/gpl.texinfo Normal file
View file

@ -0,0 +1,398 @@
@c This GPL is meant to be included from other files.
@c To format a standalone GPL, use license.texi.
@center Version 2, June 1991
@display
Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc. 675
Mass Ave, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@end display
@unnumberedsec Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software---to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
@iftex
@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
@end iftex
@ifinfo
@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
@end ifinfo
@enumerate 0
@item
This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The ``Program'', below,
refers to any such program or work, and a ``work based on the Program''
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term ``modification''.) Each licensee is addressed as ``you''.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
@item
You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
@item
You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
@enumerate a
@item
You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
@item
You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
@item
If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
@end enumerate
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
@item
You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
@enumerate a
@item
Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
@item
Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
@item
Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
@end enumerate
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
@item
You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
@item
You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
@item
Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
@item
If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
@item
If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
@item
The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and ``any
later version'', you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
@item
If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
@iftex
@vskip -@baselineskip
@vskip -@baselineskip
@heading NO WARRANTY
@end iftex
@ifinfo
@center NO WARRANTY
@end ifinfo
@item
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
@item
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
@end enumerate
@iftex
@heading END OF TERMS AND CONDITIONS
@end iftex
@ifinfo
@center END OF TERMS AND CONDITIONS
@end ifinfo
@page
@unnumberedsec How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the ``copyright'' line and a pointer to where the full notice is found.
@smallexample
@var{one line to give the program's name and an idea of what it does.}
Copyright (C) 19@var{yy} @var{name of author}
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
@end smallexample
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
@smallexample
Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'. This is free software, and you are welcome
to redistribute it under certain conditions; type `show c'
for details.
@end smallexample
The hypothetical commands @samp{show w} and @samp{show c} should show
the appropriate parts of the General Public License. Of course, the
commands you use may be called something other than @samp{show w} and
@samp{show c}; they could even be mouse-clicks or menu items---whatever
suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a ``copyright disclaimer'' for the program, if
necessary. Here is a sample; alter the names:
@example
@group
Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written
by James Hacker.
@var{signature of Ty Coon}, 1 April 1989
Ty Coon, President of Vice
@end group
@end example
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View file

@ -0,0 +1,195 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename quakeforge.info
@settitle 3D game engine based on id Software's Quake engine
@finalout
@setchapternewpage odd
@c %**end of header
@set VERSION 0.1.0
@ifinfo
This file documents the @code{quakeforge} command which 3D game engine based on id Software's Quake engine
Copyright (C) 2000 The QuakeForge Project
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.
@ignore
Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).
@end ignore
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Foundation.
@end ifinfo
@titlepage
@title quakeforge
@subtitle 3D game engine based on id Software's Quake engine
@subtitle for quakeforge Version @value{VERSION}
@author by The QuakeForge Project
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 2000 The QuakeForge Project
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Foundation.
@end titlepage
@c All the nodes can be updated using the EMACS command
@c texinfo-every-node-update, which is normally bound to C-c C-u C-e.
@node Top, Instructions, (dir), (dir)
@ifinfo
This file documents the @code{quakeforge} command to 3D game engine based on id Software's Quake engine.
@end ifinfo
@c All the menus can be updated with the EMACS command
@c texinfo-all-menus-update, which is normally bound to C-c C-u C-a.
@menu
* Instructions:: How to read this manual.
* Copying:: How you can copy and share @code{quakeforge}.
* Overview:: Preliminary information.
* Sample:: Sample output from @code{quakeforge}.
* Invoking quakeforge:: How to run @code{quakeforge}.
* Problems:: Reporting bugs.
* Concept Index:: Index of concepts.
@end menu
@node Instructions, Copying, Top, Top
@chapter How to Read This Manual
@cindex reading
@cindex manual, how to read
@cindex how to read
To read this manual, begin at the beginning, reading from left to right
and top to bottom, until you get to the end. Then stop. You may pause
for a beer anywhere in the middle as well, if you wish. (Please note,
however, that The King strongly advises against heavy use of
prescription pharmaceuticals, based on his extensive personal and
professional experience.)
@node Copying, Overview, Instructions, Top
@include gpl.texinfo
@node Overview, Sample, Copying, Top
@chapter Overview
@cindex greetings
@cindex overview
The GNU @code{quakeforge} program produces a familiar, friendly greeting.
It allows nonprogrammers to use a classic computer science tool which
would otherwise be unavailable to them. Because it is protected by the
GNU General Public License, users are free to share and change it.
GNU @code{quakeforge} was written by The QuakeForge Project.
@node Sample, Invoking quakeforge, Overview, Top
@chapter Sample Output
@cindex sample
Here are some realistic examples of running @code{quakeforge}.
This is the output of the command @samp{quakeforge}:
@example
hello, world!
@end example
This is the output of the command @samp{quakeforge --help}:
@example
3D game engine based on id Software's Quake engine
Usage: quakeforge [options]
-h, --help Print a summary of the options
-v, --version Print the version number
@end example
@node Invoking quakeforge, Problems, Sample, Top
@chapter Invoking @code{quakeforge}
@cindex invoking
@cindex version
@cindex options
@cindex usage
@cindex help
@cindex getting help
The format for running the @code{quakeforge} program is:
@example
quakeforge @var{option} @dots{}
@end example
@code{quakeforge} supports the following options:
@table @samp
@item --interactive
@itemx -i
Prompt for confirmation.
@item --quiet
@item --silent
@itemx -q
Inhibit usual output.
@item --verbose
Print more information.
@item --help
@itemx -h
Print an informative help message describing the options and then exit.
@item --version
@itemx -v
Print the version number of @code{quakeforge} on the standard error output
and then exit.
@end table
@node Problems, Concept Index, Invoking quakeforge, Top
@chapter Reporting Bugs
@cindex bugs
@cindex problems
If you find a bug in @code{quakeforge}, please send electronic mail to
@w{@samp{quake-devel@@lists.sourceforge.net}}. Include the version number, which you can find by
running @w{@samp{quakeforge --version}}. Also include in your message the
output that the program produced and the output you expected.@refill
If you have other questions, comments or suggestions about
@code{quakeforge}, contact the author via electronic mail to
@w{@samp{quake-devel@@lists.sourceforge.net}}. The author will try to help you out, although he
may not have time to fix your problems.
@node Concept Index, , Problems, Top
@unnumbered Concept Index
@cindex tail recursion
@printindex cp
@shortcontents
@contents
@bye

77
doc/timestamps.txt Normal file
View file

@ -0,0 +1,77 @@
To enable time-stamped messages in the server, set the Cvar sv_timestamps to a
value other than 0. When enabled, the string Cvar sv_timefmt is used to format
the date and time.
The following special codes are interpreted inside sv_timefmt strings.
%a The abbreviated weekday name according to the cur­
rent locale.
%A The full weekday name according to the current
locale.
%b The abbreviated month name according to the current
locale.
%B The full month name according to the current
locale.
%c The preferred date and time representation for the
current locale.
%d The day of the month as a decimal number (range 01
to 31).
%h Equivalent to %b. (SU)
%H The hour as a decimal number using a 24-hour clock
(range 00 to 23).
%I The hour as a decimal number using a 12-hour clock
(range 01 to 12).
%j The day of the year as a decimal number (range 001
to 366).
%k The hour (24-hour clock) as a decimal number (range
0 to 23); single digits are preceded by a blank.
(See also %H.) (TZ)
%m The month as a decimal number (range 01 to 12).
%M The minute as a decimal number (range 00 to 59).
%p Either `AM' or `PM' according to the given time
value, or the corresponding strings for the current
locale. Noon is treated as `pm' and midnight as
`am'.
%S The second as a decimal number (range 00 to 61).
%U The week number of the current year as a decimal
number, range 00 to 53, starting with the first
Sunday as the first day of week 01. See also %V and
%W.
%w The day of the week as a decimal, range 0 to 6,
Sunday being 0. See also %u.
%W The week number of the current year as a decimal
number, range 00 to 53, starting with the first
Monday as the first day of week 01.
%x The preferred date representation for the current
locale without the time.
%X The preferred time representation for the current
locale without the date.
%y The year as a decimal number without a century
(range 00 to 99).
%Y The year as a decimal number including the century.
%Z The time zone name or abbreviation.
%% A literal `%' character.

1119
doc/wqreadme.txt Normal file

File diff suppressed because it is too large Load diff