mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-24 21:31:22 +00:00
initial checkin of most recent newtree and nuq(?) source
This commit is contained in:
parent
8ad4a755a2
commit
87854e1a0c
703 changed files with 239949 additions and 0 deletions
340
COPYING
Normal file
340
COPYING
Normal file
|
@ -0,0 +1,340 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. 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.
|
||||||
|
|
||||||
|
1. 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.
|
||||||
|
|
||||||
|
2. 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:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) 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.
|
||||||
|
|
||||||
|
c) 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.)
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
3. 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:
|
||||||
|
|
||||||
|
a) 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,
|
||||||
|
|
||||||
|
b) 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,
|
||||||
|
|
||||||
|
c) 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.)
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
4. 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.
|
||||||
|
|
||||||
|
5. 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.
|
||||||
|
|
||||||
|
6. 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.
|
||||||
|
|
||||||
|
7. 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.
|
||||||
|
|
||||||
|
8. 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.
|
||||||
|
|
||||||
|
9. 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.
|
||||||
|
|
||||||
|
10. 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.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. 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.
|
||||||
|
|
||||||
|
12. 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 OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <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
|
||||||
|
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year 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.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `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:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
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.
|
116
CodingStyle
Normal file
116
CodingStyle
Normal file
|
@ -0,0 +1,116 @@
|
||||||
|
QuakeForge Coding Style
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
You /WILL/ indent with hard tabs, or you will be harmed. :) You can
|
||||||
|
format for whatever tab spacing you like, but if you indent with spaces
|
||||||
|
you will be hurt and you will have deserved it. :)
|
||||||
|
|
||||||
|
For best results, use 4-space tabs, because that's what id used and what
|
||||||
|
most of us use.
|
||||||
|
|
||||||
|
Each file should have a standard comment, formatted as in the example
|
||||||
|
below. Please, when you create a new file, make sure you put an ID at
|
||||||
|
the bottom of the opening comment. This is something special that CVS
|
||||||
|
translates into a string that shows information on what version the file
|
||||||
|
is, when it was last edited, and so on. This is done by embedding
|
||||||
|
[dollar sign]Id[dollar sign].
|
||||||
|
|
||||||
|
All source files MUST #include "config.h" if the symbol HAVE_CONFIG_H
|
||||||
|
is defined. Likewise, no source file may be compiled multiple times to
|
||||||
|
produce different object files -- one source, one object.
|
||||||
|
|
||||||
|
Atop each function you write, attach a /* */ comment heading, containing
|
||||||
|
the name and a short, DESCRIPTIVE summary of the function's purpose.
|
||||||
|
Indent both of these with one or more tabs. The function is to
|
||||||
|
immediately follow the heading, with no space between.
|
||||||
|
|
||||||
|
The return type should be located on the line previous to the function's
|
||||||
|
name. This is to facilitate easy searches for a function using the
|
||||||
|
simple regular expression "^FuncName".
|
||||||
|
|
||||||
|
Functions that do not take a value should be explicitly declared to
|
||||||
|
accept void, not simply ().
|
||||||
|
|
||||||
|
Please use the SECTION_ prefix for new functions.
|
||||||
|
|
||||||
|
Cross-target prefixes:
|
||||||
|
IN_ Input
|
||||||
|
JOY_ Joystick (called by IN_* functions)
|
||||||
|
R_ Rendering
|
||||||
|
S_ Sound
|
||||||
|
VID_ Low-level video
|
||||||
|
|
||||||
|
Target-specific prefixes:
|
||||||
|
|
||||||
|
CL_ Client
|
||||||
|
GL_ OpenGL rendering
|
||||||
|
QFGL_ OpenGL portability aids
|
||||||
|
SNDDMA_ DMA Sound (called from S_*)
|
||||||
|
SV_ Server
|
||||||
|
SW_ Software rendering
|
||||||
|
x11_ X11R6-specific window handling
|
||||||
|
|
||||||
|
An example:
|
||||||
|
|
||||||
|
/*
|
||||||
|
filename.c
|
||||||
|
|
||||||
|
Description of this file
|
||||||
|
|
||||||
|
Copyright (C) 2002 Your Name <your@email.addr>
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
# include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
SECTION_FunctionName
|
||||||
|
|
||||||
|
Description
|
||||||
|
*/
|
||||||
|
returntype
|
||||||
|
SECTION_FunctionName (args)
|
||||||
|
{
|
||||||
|
type var;
|
||||||
|
|
||||||
|
for (var = 0; var; var++) { // do something silly
|
||||||
|
:
|
||||||
|
:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
For switch statements:
|
||||||
|
|
||||||
|
switch (expr) {
|
||||||
|
case X: // foo
|
||||||
|
:
|
||||||
|
:
|
||||||
|
break;
|
||||||
|
case Y: // bar
|
||||||
|
:
|
||||||
|
:
|
||||||
|
break;
|
||||||
|
default: // fallthrough
|
||||||
|
whatever;
|
||||||
|
}
|
182
INSTALL
Normal file
182
INSTALL
Normal file
|
@ -0,0 +1,182 @@
|
||||||
|
Basic Installation
|
||||||
|
==================
|
||||||
|
|
||||||
|
These are generic installation instructions.
|
||||||
|
|
||||||
|
The `configure' shell script attempts to guess correct values for
|
||||||
|
various system-dependent variables used during compilation. It uses
|
||||||
|
those values to create a `Makefile' in each directory of the package.
|
||||||
|
It may also create one or more `.h' files containing system-dependent
|
||||||
|
definitions. Finally, it creates a shell script `config.status' that
|
||||||
|
you can run in the future to recreate the current configuration, a file
|
||||||
|
`config.cache' that saves the results of its tests to speed up
|
||||||
|
reconfiguring, and a file `config.log' containing compiler output
|
||||||
|
(useful mainly for debugging `configure').
|
||||||
|
|
||||||
|
If you need to do unusual things to compile the package, please try
|
||||||
|
to figure out how `configure' could check whether to do them, and mail
|
||||||
|
diffs or instructions to the address given in the `README' so they can
|
||||||
|
be considered for the next release. If at some point `config.cache'
|
||||||
|
contains results you don't want to keep, you may remove or edit it.
|
||||||
|
|
||||||
|
The file `configure.in' is used to create `configure' by a program
|
||||||
|
called `autoconf'. You only need `configure.in' if you want to change
|
||||||
|
it or regenerate `configure' using a newer version of `autoconf'.
|
||||||
|
|
||||||
|
The simplest way to compile this package is:
|
||||||
|
|
||||||
|
1. `cd' to the directory containing the package's source code and type
|
||||||
|
`./configure' to configure the package for your system. If you're
|
||||||
|
using `csh' on an old version of System V, you might need to type
|
||||||
|
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||||
|
`configure' itself.
|
||||||
|
|
||||||
|
Running `configure' takes awhile. While running, it prints some
|
||||||
|
messages telling which features it is checking for.
|
||||||
|
|
||||||
|
2. Type `make' to compile the package.
|
||||||
|
|
||||||
|
3. Optionally, type `make check' to run any self-tests that come with
|
||||||
|
the package.
|
||||||
|
|
||||||
|
4. Type `make install' to install the programs and any data files and
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
5. You can remove the program binaries and object files from the
|
||||||
|
source code directory by typing `make clean'. To also remove the
|
||||||
|
files that `configure' created (so you can compile the package for
|
||||||
|
a different kind of computer), type `make distclean'. There is
|
||||||
|
also a `make maintainer-clean' target, but that is intended mainly
|
||||||
|
for the package's developers. If you use it, you may have to get
|
||||||
|
all sorts of other programs in order to regenerate files that came
|
||||||
|
with the distribution.
|
||||||
|
|
||||||
|
Compilers and Options
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Some systems require unusual options for compilation or linking that
|
||||||
|
the `configure' script does not know about. You can give `configure'
|
||||||
|
initial values for variables by setting them in the environment. Using
|
||||||
|
a Bourne-compatible shell, you can do that on the command line like
|
||||||
|
this:
|
||||||
|
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||||
|
|
||||||
|
Or on systems that have the `env' program, you can do it like this:
|
||||||
|
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||||
|
|
||||||
|
Compiling For Multiple Architectures
|
||||||
|
====================================
|
||||||
|
|
||||||
|
You can compile the package for more than one kind of computer at the
|
||||||
|
same time, by placing the object files for each architecture in their
|
||||||
|
own directory. To do this, you must use a version of `make' that
|
||||||
|
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||||
|
directory where you want the object files and executables to go and run
|
||||||
|
the `configure' script. `configure' automatically checks for the
|
||||||
|
source code in the directory that `configure' is in and in `..'.
|
||||||
|
|
||||||
|
If you have to use a `make' that does not supports the `VPATH'
|
||||||
|
variable, you have to compile the package for one architecture at a time
|
||||||
|
in the source code directory. After you have installed the package for
|
||||||
|
one architecture, use `make distclean' before reconfiguring for another
|
||||||
|
architecture.
|
||||||
|
|
||||||
|
Installation Names
|
||||||
|
==================
|
||||||
|
|
||||||
|
By default, `make install' will install the package's files in
|
||||||
|
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||||
|
installation prefix other than `/usr/local' by giving `configure' the
|
||||||
|
option `--prefix=PATH'.
|
||||||
|
|
||||||
|
You can specify separate installation prefixes for
|
||||||
|
architecture-specific files and architecture-independent files. If you
|
||||||
|
give `configure' the option `--exec-prefix=PATH', the package will use
|
||||||
|
PATH as the prefix for installing programs and libraries.
|
||||||
|
Documentation and other data files will still use the regular prefix.
|
||||||
|
|
||||||
|
In addition, if you use an unusual directory layout you can give
|
||||||
|
options like `--bindir=PATH' to specify different values for particular
|
||||||
|
kinds of files. Run `configure --help' for a list of the directories
|
||||||
|
you can set and what kinds of files go in them.
|
||||||
|
|
||||||
|
If the package supports it, you can cause programs to be installed
|
||||||
|
with an extra prefix or suffix on their names by giving `configure' the
|
||||||
|
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||||
|
|
||||||
|
Optional Features
|
||||||
|
=================
|
||||||
|
|
||||||
|
Some packages pay attention to `--enable-FEATURE' options to
|
||||||
|
`configure', where FEATURE indicates an optional part of the package.
|
||||||
|
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||||
|
is something like `gnu-as' or `x' (for the X Window System). The
|
||||||
|
`README' should mention any `--enable-' and `--with-' options that the
|
||||||
|
package recognizes.
|
||||||
|
|
||||||
|
For packages that use the X Window System, `configure' can usually
|
||||||
|
find the X include and library files automatically, but if it doesn't,
|
||||||
|
you can use the `configure' options `--x-includes=DIR' and
|
||||||
|
`--x-libraries=DIR' to specify their locations.
|
||||||
|
|
||||||
|
Specifying the System Type
|
||||||
|
==========================
|
||||||
|
|
||||||
|
There may be some features `configure' can not figure out
|
||||||
|
automatically, but needs to determine by the type of host the package
|
||||||
|
will run on. Usually `configure' can figure that out, but if it prints
|
||||||
|
a message saying it can not guess the host type, give it the
|
||||||
|
`--host=TYPE' option. TYPE can either be a short name for the system
|
||||||
|
type, such as `sun4', or a canonical name with three fields:
|
||||||
|
CPU-COMPANY-SYSTEM
|
||||||
|
|
||||||
|
See the file `config.sub' for the possible values of each field. If
|
||||||
|
`config.sub' isn't included in this package, then this package doesn't
|
||||||
|
need to know the host type.
|
||||||
|
|
||||||
|
If you are building compiler tools for cross-compiling, you can also
|
||||||
|
use the `--target=TYPE' option to select the type of system they will
|
||||||
|
produce code for and the `--build=TYPE' option to select the type of
|
||||||
|
system on which you are compiling the package.
|
||||||
|
|
||||||
|
Sharing Defaults
|
||||||
|
================
|
||||||
|
|
||||||
|
If you want to set default values for `configure' scripts to share,
|
||||||
|
you can create a site shell script called `config.site' that gives
|
||||||
|
default values for variables like `CC', `cache_file', and `prefix'.
|
||||||
|
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||||
|
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||||
|
`CONFIG_SITE' environment variable to the location of the site script.
|
||||||
|
A warning: not all `configure' scripts look for a site script.
|
||||||
|
|
||||||
|
Operation Controls
|
||||||
|
==================
|
||||||
|
|
||||||
|
`configure' recognizes the following options to control how it
|
||||||
|
operates.
|
||||||
|
|
||||||
|
`--cache-file=FILE'
|
||||||
|
Use and save the results of the tests in FILE instead of
|
||||||
|
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||||
|
debugging `configure'.
|
||||||
|
|
||||||
|
`--help'
|
||||||
|
Print a summary of the options to `configure', and exit.
|
||||||
|
|
||||||
|
`--quiet'
|
||||||
|
`--silent'
|
||||||
|
`-q'
|
||||||
|
Do not print messages saying which checks are being made. To
|
||||||
|
suppress all normal output, redirect it to `/dev/null' (any error
|
||||||
|
messages will still be shown).
|
||||||
|
|
||||||
|
`--srcdir=DIR'
|
||||||
|
Look for the package's source code in directory DIR. Usually
|
||||||
|
`configure' can determine that directory automatically.
|
||||||
|
|
||||||
|
`--version'
|
||||||
|
Print the version of Autoconf used to generate the `configure'
|
||||||
|
script, and exit.
|
||||||
|
|
||||||
|
`configure' also accepts some other, not widely useful, options.
|
204
NEWS
Normal file
204
NEWS
Normal file
|
@ -0,0 +1,204 @@
|
||||||
|
NEWS for the QuakeForge project
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
QuakeForge 0.2
|
||||||
|
|
||||||
|
08 Mar 2000 - Massive news updates
|
||||||
|
The engine is actually working and working well for perhaps the
|
||||||
|
first time since we branched off stable. A long overdue news
|
||||||
|
update is in order. These things have been added to GL targets:
|
||||||
|
|
||||||
|
Skyboxes
|
||||||
|
Put a a Quake2 skybox in mydir/gfx/env and -game mydir,
|
||||||
|
set r_skyname to the base name of the sky (for the one
|
||||||
|
released on the MegaTF website, use r_skyname night for
|
||||||
|
example), load a map with a sky in it, and set r_sky 1.
|
||||||
|
|
||||||
|
You must reload a map for a new r_skyname to take effect.
|
||||||
|
The software renderer WILL support this hopefully soon.
|
||||||
|
|
||||||
|
Volumetric fog
|
||||||
|
For testing only. As implemented now it uses the stencil
|
||||||
|
buffer (very slow for most of us) and borrows the water
|
||||||
|
brush since we don't have a fog brush yet. raptor suggests
|
||||||
|
r_volfog 0.0009 and r_wateralpha 0.3 to test. You'll need
|
||||||
|
watervis'd maps.
|
||||||
|
|
||||||
|
Water Ripples
|
||||||
|
We reported earlier that setting r_waterripple to 1 made a
|
||||||
|
wave effect. Actually, if you want a wave effect you can
|
||||||
|
see, you'd better set it at least to 5. Looks good with
|
||||||
|
the volfog settings mentioned above. raptor plans to put
|
||||||
|
r_waterripple into the software renderer.
|
||||||
|
|
||||||
|
Rodents with wheels
|
||||||
|
If you've got one, you'll be pleased to hear that -x11 and
|
||||||
|
-glx now support them the same way -svga does. You need to
|
||||||
|
have ZAxisMapping set in your XF86Config properly.
|
||||||
|
|
||||||
|
26 Jan 2000 - Waterwarp bug fixed
|
||||||
|
The waterwarp bug has been fixed, set r_waterwarp 1 to use it.
|
||||||
|
|
||||||
|
|
||||||
|
QuakeForge 0.1.0
|
||||||
|
|
||||||
|
22 Jan 2000 - cl_sbar and cl_hudswap in uquake
|
||||||
|
The cvars cl_sbar and cl_hudswap noe work in uquake just like they
|
||||||
|
do in qw-client. In uquake, cl_sbar defaults to 1 to satisfy the
|
||||||
|
least-surprise principle. Set it to 0 if you want a qw-client like
|
||||||
|
HUD.
|
||||||
|
|
||||||
|
22 Jan 2000 - changes to command line option -game [REMOVED!]
|
||||||
|
You may now specify multiple game directories with -game. If for
|
||||||
|
example you wanted to use the original registered game with MegaTF
|
||||||
|
on a new style binary you would use -game id1,megatf. It does work
|
||||||
|
with traditional style binaries and you may specify as many dirs as
|
||||||
|
you like seperated by commas.
|
||||||
|
|
||||||
|
One caveat: Most mods were designed to be the only one in use, it
|
||||||
|
may be a Bad Thing to mix certain mods with other mods.
|
||||||
|
|
||||||
|
NOTE: This feature has been removed because it can seriously cause
|
||||||
|
confusion to a game mod. The proper way to override part of
|
||||||
|
a game is to use different fs_basepath and fs_sharepath.
|
||||||
|
|
||||||
|
19 Jan 2000 - changes to cvar r_fog
|
||||||
|
Fog color is once again white. The r_fog cvar is now a control for
|
||||||
|
the fog density rather than a simple toggle control. Eric Windisch
|
||||||
|
recommends setting r_fog to .0005 if you're going to use it.
|
||||||
|
|
||||||
|
19 Jan 2000 - removed cvar r_mirroralpha
|
||||||
|
This was a cheap hack which affected one texture on one map of the
|
||||||
|
entire game. It also wasn't working right, so it's been removed.
|
||||||
|
|
||||||
|
19 Jan 2000 - time cheats revisited
|
||||||
|
The final word in detecting time/speed cheating is here at long
|
||||||
|
last! Still catches an occasional person who is "not cheating", but
|
||||||
|
as it turns out when it does catch such a person they technically
|
||||||
|
are cheating.
|
||||||
|
|
||||||
|
This seems to be caused by dodgy cmos clocks used in many machines
|
||||||
|
on the market. If the server occasionally claims you seem to be
|
||||||
|
cheating, try installing some sort of ntp program to synchronize
|
||||||
|
your clock periodically against a time server. If this does not
|
||||||
|
seem to fix the problem, we'd like to know about it.
|
||||||
|
|
||||||
|
18 Jan 2000 - cvar show_fps
|
||||||
|
show_fps 1 now works in uquake as well as qw-client. No more need
|
||||||
|
to use timedemo to check performance! Much more accurate in showing
|
||||||
|
where performance is good and where it isn't.
|
||||||
|
|
||||||
|
16 Jan 2000 - new ./configure option: --enable-newstyle
|
||||||
|
Use this option when you run ./configure if you wish to use a few
|
||||||
|
QuakeForge defaults which are a bit different than Id Software used,
|
||||||
|
but do not change the gameplay.
|
||||||
|
|
||||||
|
Currenly all this does is use "base" instead of "id1" for the
|
||||||
|
default place to look for your game data.
|
||||||
|
|
||||||
|
11 Jan 2000 - New cvar: r_waterripple
|
||||||
|
When set to 1 this will create a small wave effect under the GL
|
||||||
|
renderer.
|
||||||
|
|
||||||
|
09 Jan 2000 - Preliminary IPv6 support
|
||||||
|
Support exists in QuakeForge for the use of IPv6. It's not ready
|
||||||
|
for prime time yet. Still, it deserves mention.
|
||||||
|
|
||||||
|
09 Jan 2000 - gl_ztrick default changed
|
||||||
|
Since this seems not to work more places than it does at this point,
|
||||||
|
the default for the cvar gl_ztrick has been changed from 1 to 0 in
|
||||||
|
the glx target. This value is saved to your config so if it works
|
||||||
|
for you just set it to 1.
|
||||||
|
|
||||||
|
08 Jan 2000 - Mouse wheel support
|
||||||
|
Preliminary support for the wheels found on some mice has been added
|
||||||
|
to the Linux SVGALib target. To use it bind MHWHEELDOWN and
|
||||||
|
MHWHEELUP to whatever you want to use the wheel for.
|
||||||
|
|
||||||
|
07 Jan 2000 - Options menu changes
|
||||||
|
A few things were added to the options menu in some targets such as
|
||||||
|
an option for fullscreen and whether or not to use the mouse.
|
||||||
|
|
||||||
|
06 Jan 2000 - Output cleanups
|
||||||
|
The use of CR and LF in names is a "feature" Id Software clearly
|
||||||
|
didn't intend. General mailing list consensus is that unlike other
|
||||||
|
unintended features (rocket jumps for example), this "feature" has
|
||||||
|
no real legitimate use. qw-server now replaces CR's and LF's with
|
||||||
|
underscores.
|
||||||
|
|
||||||
|
You will no longer see [e1] or similar crap sent to stdout. These
|
||||||
|
characters are now translated to the nearest ASCII characters,
|
||||||
|
resulting in much nicer-looking output.
|
||||||
|
|
||||||
|
06 Jan 2000 - PackFile/Findfile messages to stdout removed
|
||||||
|
The PackFile and FindFile messages previously sent to stdout no
|
||||||
|
longer are. If you wish to see them again for some reason, set the
|
||||||
|
developer cvar to 1.
|
||||||
|
|
||||||
|
05 Jan 2000 - Preliminary time cheat detection code
|
||||||
|
Preliminary code to detect clients attempting various time related
|
||||||
|
cheats has been added. Some issues persist.
|
||||||
|
|
||||||
|
05 Jan 2000 - GL fullbright texture support [REMOVED]
|
||||||
|
The GL renderer now supports fullbright textures, though this causes
|
||||||
|
a noticable impact on performance. Use the new cmdline option
|
||||||
|
-noglow to disable it if this bugs you.
|
||||||
|
|
||||||
|
NOTE: This was removed for now because it didn't work quite right
|
||||||
|
and -noglow did not in fact actually disable it properly.
|
||||||
|
|
||||||
|
02 Jan 2000 - registered game check removed
|
||||||
|
The check for a copy of the registered pak files has largely been
|
||||||
|
removed since it no longer makes a whole lot of sense with all the
|
||||||
|
talk of free complete TC's (total conversions).
|
||||||
|
|
||||||
|
A very simple check for pop.txt (found only in the registered pak
|
||||||
|
files) remains to set the cvar registered to 1 if necessary,
|
||||||
|
allowing the start map to know whether or not to allow you through
|
||||||
|
the gates leading to episodes 2-4.
|
||||||
|
|
||||||
|
02 Jan 2000 - crosshairs
|
||||||
|
qw-client's crosshair 2 is now supported in uquake.
|
||||||
|
|
||||||
|
A new (for now) GL-renderer-only experimental crosshair 3 has been
|
||||||
|
added. It's obeys the crosshaircolor cvar. No timeframe on porting
|
||||||
|
it to the software renderers yet, but it will happen eventually.
|
||||||
|
|
||||||
|
02 Jan 2000 - Removed cvar
|
||||||
|
gl_reporttjunctions did nothing at all, removed.
|
||||||
|
|
||||||
|
01 Jan 2000 - Changed cvar
|
||||||
|
In uquake, the chasecam cvar is now cl_chasecam just like it is in
|
||||||
|
qw-client.
|
||||||
|
|
||||||
|
01 Jan 2000 - Preliminary volumetric fog
|
||||||
|
QuakeForge now has preliminary support for volumetric fog. The cvar
|
||||||
|
r_fog can be set to 1 to try it out.
|
||||||
|
|
||||||
|
30 Dec 1999 - CVS tree changes
|
||||||
|
We now use autoheader and autoconf. If you checkout/update your
|
||||||
|
tree from CVS you're going to need to run ./bootstrap now to
|
||||||
|
perform all the necessary black voodoo needed to allow you to run
|
||||||
|
./configure as normal. This should not be necessary for releases,
|
||||||
|
only for the CVS tree and CVS snapshots.
|
||||||
|
|
||||||
|
29 Dec 1999 - Known bug in sound init fixed
|
||||||
|
A bug which caused QF to segfault if sound could not be initialized
|
||||||
|
has been fixed. If sound can not be initialized, you will now
|
||||||
|
simply not hear any.
|
||||||
|
|
||||||
|
29 Dec 1999 - Autoconf support
|
||||||
|
QuakeForge now uses autoconf! Run ./configure --help and have a
|
||||||
|
look at the options available in case something isn't detected or
|
||||||
|
you wish to enable or disable certain compile-time options.
|
||||||
|
|
||||||
|
25 Dec 1999 - Keyboard bindings now support keypad keys
|
||||||
|
The numeric keypad keys found on many keyboards may now be bound to
|
||||||
|
functions. The names for these keys are (in PC style layout):
|
||||||
|
|
||||||
|
KP_NUMLCK KP_DIVIDE KP_MULTIPLY KP_MINUS
|
||||||
|
KP_HOME KP_UPARROW KP_PGUP
|
||||||
|
KP_LEFTARROW KP_5 KP_RIGHTARROW KP_PLUS
|
||||||
|
KP_END KP_DOWNARROW KP_PGDN
|
||||||
|
KP_INS KP_DEL KP_ENTER
|
||||||
|
|
2
RPM/.gitignore
vendored
Normal file
2
RPM/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
build_rpm
|
||||||
|
quakeforge.spec
|
27
RPM/build_rpm.in
Normal file
27
RPM/build_rpm.in
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/sh -x
|
||||||
|
|
||||||
|
version=@VERSION@
|
||||||
|
temp_dir=/var/tmp
|
||||||
|
srcdir=@srcdir@
|
||||||
|
if [ "$srcdir" = "." ]; then
|
||||||
|
srcdir=..
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf BUILD SPECS RPMS SOURCES SRPMS
|
||||||
|
mkdir -p BUILD SPECS RPMS/{noarch,i386,i686} SOURCES SRPMS
|
||||||
|
rm -rf ${temp_dir}/quakeforge-${version}
|
||||||
|
cp -a $srcdir ${temp_dir}/quakeforge-${version}
|
||||||
|
dest_dir=$PWD
|
||||||
|
cd ${temp_dir}/quakeforge-${version}
|
||||||
|
# this is needed to ensure there is a makefile
|
||||||
|
./bootstrap
|
||||||
|
./configure
|
||||||
|
make distclean
|
||||||
|
cd ${temp_dir}
|
||||||
|
tar zcf ${dest_dir}/SOURCES/quakeforge-${version}.tar.gz quakeforge-${version}
|
||||||
|
cd ${dest_dir}
|
||||||
|
rm -rf ${temp_dir}/quakeforge-${version}
|
||||||
|
cat > rpmmacros <<EOF
|
||||||
|
%_topdir $PWD
|
||||||
|
EOF
|
||||||
|
rpm -ba quakeforge.spec --rcfile rpmrc
|
49
RPM/quakeforge.spec.in
Normal file
49
RPM/quakeforge.spec.in
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
%define name quakeforge
|
||||||
|
%define version @VERSION@
|
||||||
|
%define release 1
|
||||||
|
%define builddir $RPM_BUILD_DIR/%{name}-%{version}
|
||||||
|
|
||||||
|
Name: %{name}
|
||||||
|
Version: %{version}
|
||||||
|
Release: %{release}
|
||||||
|
Vendor: The QuakeForge Project
|
||||||
|
Packager: The QuakeForge Project quake-devel@lists.sourceforge.net
|
||||||
|
#URL:
|
||||||
|
Source: %{name}-%{version}.tar.gz
|
||||||
|
#Patch:
|
||||||
|
Group: Application/Generic
|
||||||
|
Copyright: GPL
|
||||||
|
#Icon:
|
||||||
|
#Requires:
|
||||||
|
BuildRoot: /var/tmp/%{name}-%{version}
|
||||||
|
Summary: 3D game engine based on id Software's Quake engine
|
||||||
|
%description
|
||||||
|
3D game engine based on id Software's Quake engine
|
||||||
|
@configure_input@
|
||||||
|
Please edit quakeforge.spec.in to add several more lines of description
|
||||||
|
here if appropriate, and to delete these instructions.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -n %{name}-%{version}
|
||||||
|
#%patch -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix}
|
||||||
|
make
|
||||||
|
|
||||||
|
%install
|
||||||
|
if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi
|
||||||
|
mkdir -p $RPM_BUILD_ROOT
|
||||||
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
|
# Build the file-list automagically :)
|
||||||
|
cd $RPM_BUILD_ROOT
|
||||||
|
find . -type d | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' > $RPM_BUILD_DIR/file.list.%{name}
|
||||||
|
find . -type f | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.%{name}
|
||||||
|
find . -type l | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.%{name}
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
rm ../file.list.%{name}
|
||||||
|
|
||||||
|
%files -f ../file.list.%{name}
|
||||||
|
%doc README
|
3
debian/.gitignore
vendored
Normal file
3
debian/.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
files
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
24
debian/Makefile.am
vendored
Normal file
24
debian/Makefile.am
vendored
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
AUTOMAKE_OPTIONS= foreign
|
||||||
|
|
||||||
|
EXTRA_DIST= changelog control copyright rules \
|
||||||
|
quakeforge.conf \
|
||||||
|
qf-client-3dfx.dirs qf-client-3dfx.docs qf-client-3dfx.files \
|
||||||
|
qf-client-3dfx.suid qf-client-3dfx.undocumented \
|
||||||
|
qf-client-ggi.dirs qf-client-ggi.docs qf-client-ggi.files \
|
||||||
|
qf-client-ggi.undocumented \
|
||||||
|
qf-client-glx.dirs qf-client-glx.docs qf-client-glx.files \
|
||||||
|
qf-client-glx.undocumented \
|
||||||
|
qf-client-sdl.dirs qf-client-sdl.docs qf-client-sdl.files \
|
||||||
|
qf-client-sdl.undocumented \
|
||||||
|
qf-client-sgl.dirs qf-client-sgl.docs qf-client-sgl.files \
|
||||||
|
qf-client-sgl.undocumented \
|
||||||
|
qf-client-svga.dirs qf-client-svga.docs qf-client-svga.files \
|
||||||
|
qf-client-svga.suid qf-client-svga.undocumented \
|
||||||
|
qf-client-x11.dirs qf-client-x11.docs qf-client-x11.files \
|
||||||
|
qf-client-x11.undocumented \
|
||||||
|
qf-server.dirs qf-server.docs qf-server.files \
|
||||||
|
qf-server.undocumented \
|
||||||
|
quakeforge-common.conffiles quakeforge-common.docs \
|
||||||
|
quakeforge-common.files \
|
||||||
|
quakeforge.files
|
354
debian/changelog
vendored
Normal file
354
debian/changelog
vendored
Normal file
|
@ -0,0 +1,354 @@
|
||||||
|
quakeforge (0.2.99beta6-0) frozen unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream version
|
||||||
|
|
||||||
|
-- Jeff Teunissen <deek@dusknet.dhs.org> Tue, 14 Nov 2000 03:28:03 -0500
|
||||||
|
|
||||||
|
quakeforge (0.2.99alpha0-1) frozen unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* New maintainer
|
||||||
|
* uquake-* targets dropped upstream, to be re-added in new package
|
||||||
|
* New package quakeforge-common contains quakeforge.conf conffile
|
||||||
|
|
||||||
|
-- Jeff Teunissen <deek@dusknet.dhs.org> Tue, 14 Nov 2000 03:26:04 -0500
|
||||||
|
|
||||||
|
quakeforge (0.2-20000308-1) frozen unstable; urgency=low
|
||||||
|
|
||||||
|
* Unstable CVS snapshot
|
||||||
|
* quake-* binaries are now named uquake-*
|
||||||
|
* -gl targets are now more properly named -glx
|
||||||
|
* Some minor annoyances with the status bar fixed in 0.1.1 have not been
|
||||||
|
fixed in 0.2-d yet. You won't see them, unless you play hip/rogue and
|
||||||
|
they aren't really critical.
|
||||||
|
* Sorry, no ~/.quake handling internally yet.
|
||||||
|
|
||||||
|
-- Joseph Carter <knghtbrd@debian.org> Wed, 8 Mar 2000 01:21:04 -0800
|
||||||
|
|
||||||
|
quakeforge (0.1.1-1) frozen unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream bugfix for people on Quack!
|
||||||
|
* Fixed two nasty segfaults that could hose a box under SVGALib
|
||||||
|
* Made UQuake statusbar behave sanely with cl_sbar 1 again
|
||||||
|
* cl_sbar ignored properly in rogue/hipnotic--always assumed to be 1
|
||||||
|
* default gl_clear to 1 so noclip doesn't do strange things onscreen
|
||||||
|
* changed glClearColor to black so gl_clear 1 doesn't look like crap
|
||||||
|
|
||||||
|
-- Joseph Carter <knghtbrd@debian.org> Sun, 27 Feb 2000 03:31:31 -0800
|
||||||
|
|
||||||
|
quakeforge (0.1.0-1) frozen unstable; urgency=HIGH
|
||||||
|
|
||||||
|
* "0.0.9-1" was actually "0.1-20000103-1"
|
||||||
|
* Fixed the sig4's in the SVGALib-using targets
|
||||||
|
* replaced qwprogs.dat, no longer segfaults (Closes: #54152)
|
||||||
|
* -ip will let you bind a specific IP (Closes: #14445) (I hope)
|
||||||
|
* quake-svga is suid root like other svgalib apps now (Closes: #47954)
|
||||||
|
* quake-x11 restores repeat properly on normal exit (Closes: #48018)
|
||||||
|
* If /dev/dsp can't be opened, just don't use sound (Closes: #53533)
|
||||||
|
* The return of the wrapper scripts.. They've been rewritten a bit for
|
||||||
|
dealing with unpacked pak files. A new quake-lib-stub is needed if your
|
||||||
|
pak files are not all lowercase. (Closes: #54153, #54221, #54634)
|
||||||
|
* svgalib targets are i386 only at the moment =< (Closes: #54451)
|
||||||
|
* Built with newer libsdl (Closes: #54488)
|
||||||
|
* README now notes the gl_ztrick issue.. Essentially ztrick is a hack
|
||||||
|
Id used to keep from clearing the Z buffer, it worked with older Mesa
|
||||||
|
and with the 3dfx GL MCD. Mesa 3+ flicker madly, so it defaults to off
|
||||||
|
in the -gl target. You still have to disable it by hand for the -3dfx
|
||||||
|
target (since it's intended to be used with the 3dfx GL MCD..) If set
|
||||||
|
once to 0 it will be saved in that state. (Closes: #54530)
|
||||||
|
* If you want to start -svga and -3dfx from X, use open. Documented this
|
||||||
|
in the README. (Closes: #54595)
|
||||||
|
* Package relationships updated/fixed. (Closes: #54747, #54868)
|
||||||
|
* docs are now installed more sanely. (Closes: #54749)
|
||||||
|
* bins and data owned by games isn't going to happen (Closes: #54742)
|
||||||
|
|
||||||
|
-- Joseph Carter <knghtbrd@debian.org> Sun, 16 Jan 2000 13:26:24 -0800
|
||||||
|
|
||||||
|
quakeforge (0.0.9-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Major new upstream version--Quake is GPL!
|
||||||
|
|
||||||
|
-- Joseph Carter <knghtbrd@debian.org> Mon, 3 Jan 2000 00:09:58 -0800
|
||||||
|
|
||||||
|
quake (1.09-1.30-2pre3.2) unstable; urgency=low
|
||||||
|
|
||||||
|
* Build with new shlibs files - the shlibs files are now NORMAL shlibs
|
||||||
|
files, but a patch to dpkg-shlibdeps is still required.
|
||||||
|
* quake-common package - it exists now and everything depends on it,
|
||||||
|
though it doesn't do anything yet but depend on the quake-lib's the
|
||||||
|
way the quake bins used to. Will eventually do useful stuff.
|
||||||
|
* Fully FHS compliant now!
|
||||||
|
* (Re)wrote descriptions for the packages
|
||||||
|
* GLQuake packages depend on quake-common, this fixes a bug that would
|
||||||
|
let you install glquake* without installing any quake-lib*'s..
|
||||||
|
|
||||||
|
-- Joseph Carter <knghtbrd@debian.org> Mon, 6 Sep 1999 14:19:53 -0700
|
||||||
|
|
||||||
|
quake (1.09-1.30-2pre3.1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Hopefully ironed out the dependencies/shlibs stuff (still uses my .
|
||||||
|
soname patch
|
||||||
|
* Changed the wrappers of the glquake stuff a little
|
||||||
|
|
||||||
|
-- Joseph Carter <knghtbrd@debian.org> Sat, 31 Jul 1999 10:54:47 -0700
|
||||||
|
|
||||||
|
quake (1.09-1.30-2pre3) unstable; urgency=low
|
||||||
|
|
||||||
|
* Not released officially
|
||||||
|
* build debs of the libs glquake bins are shipped with
|
||||||
|
* build debs of the 3 glquake bins---all depend on the libs package FOR
|
||||||
|
NOW (this will change) and there's no manpages for them yet, RTF
|
||||||
|
README if you don't know the options.
|
||||||
|
|
||||||
|
-- Joseph Carter <knghtbrd@debian.org> Sat, 31 Jul 1999 00:42:25 -0700
|
||||||
|
|
||||||
|
quake (1.09-1.30-2) unstable; urgency=low
|
||||||
|
|
||||||
|
* Actually compress the manpages this time
|
||||||
|
|
||||||
|
-- Joseph Carter <knghtbrd@debian.org> Thu, 17 Jun 1999 01:38:37 -0700
|
||||||
|
|
||||||
|
quake (1.09-1.30-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream version - glibc2 binaries at last!
|
||||||
|
* Since the quake binaries all came in one package, I've combined the
|
||||||
|
squake and xquake packages.
|
||||||
|
|
||||||
|
-- Joseph Carter <knghtbrd@debian.org> Sun, 13 Jun 1999 23:52:01 -0700
|
||||||
|
|
||||||
|
squake (1.09-1.1-15) unstable; urgency=low
|
||||||
|
|
||||||
|
* Adopted the package - Must Have Quake!
|
||||||
|
|
||||||
|
-- Joseph Carter <knghtbrd@debian.org> Fri, 28 May 1999 06:32:41 -0700
|
||||||
|
|
||||||
|
squake (1.09-1.1-14) unstable; urgency=low
|
||||||
|
|
||||||
|
* Orphaned the package, I don't maintain non-free things anymore.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Thu, 18 Mar 1999 15:00:22 -0800
|
||||||
|
|
||||||
|
squake (1.09-1.1-13) frozen unstable; urgency=low
|
||||||
|
|
||||||
|
* Updated the copyright file with info from a very old mail from ID
|
||||||
|
software in which they told me that repackaging it as a deb is not a
|
||||||
|
deriviative work.
|
||||||
|
* Updated the copyright file to include all of slicense.txt, instead of
|
||||||
|
referencing it.
|
||||||
|
* No code changes, and I think the copyright fixups are important enough
|
||||||
|
to put it in to frozen.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Mon, 7 Dec 1998 15:34:16 -0800
|
||||||
|
|
||||||
|
squake (1.09-1.1-12) unstable; urgency=low
|
||||||
|
|
||||||
|
* The wrapper can now handle uppercase .PAK files (#28781).
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Sat, 31 Oct 1998 21:06:48 -0800
|
||||||
|
|
||||||
|
squake (1.09-1.1-11) unstable; urgency=low
|
||||||
|
|
||||||
|
* Modified wrapper so it will add /usr/games to the end of PATH, and run
|
||||||
|
squake.real (w/o full filename). This is mainly to support some things
|
||||||
|
aa quake will need to do.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Mon, 7 Sep 1998 16:58:08 -0700
|
||||||
|
|
||||||
|
squake (1.09-1.1-10) unstable; urgency=low
|
||||||
|
|
||||||
|
* Fixed the wrapper so it runs squake.real properly even if /usr/games
|
||||||
|
isn't in the user's PATH.
|
||||||
|
* Added a note to the README.Debian about the common squake is suid root,
|
||||||
|
but mouse doesn't work problem.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Wed, 19 Aug 1998 22:39:23 -0700
|
||||||
|
|
||||||
|
squake (1.09-1.1-9) unstable; urgency=low
|
||||||
|
|
||||||
|
* Removed icon=none from menu file.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Wed, 5 Aug 1998 14:24:19 -0700
|
||||||
|
|
||||||
|
squake (1.09-1.1-8) unstable; urgency=low
|
||||||
|
|
||||||
|
* Fixed wrapper not to use source bashism.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Thu, 30 Jul 1998 20:48:17 -0700
|
||||||
|
|
||||||
|
squake (1.09-1.1-7) unstable; urgency=low
|
||||||
|
|
||||||
|
* Fixed package description spelling(#18953).
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Thu, 5 Mar 1998 16:36:54 -0800
|
||||||
|
|
||||||
|
squake (1.09-1.1-6) unstable; urgency=low
|
||||||
|
|
||||||
|
* Added man page for squake.
|
||||||
|
* Fixed all other lintian errors & warnings.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Sat, 21 Feb 1998 14:01:25 -0800
|
||||||
|
|
||||||
|
squake (1.09-1.1-5) unstable; urgency=low
|
||||||
|
|
||||||
|
* Updated standards-version.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Mon, 9 Feb 1998 14:10:46 -0800
|
||||||
|
|
||||||
|
squake (1.09-1.1-4) unstable; urgency=low
|
||||||
|
|
||||||
|
* Modified wraper script each user has an individual .quake directory in
|
||||||
|
their home directory (#15452).
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Sat, 29 Nov 1997 14:22:01 -0500
|
||||||
|
|
||||||
|
squake (1.09-1.1-3) unstable; urgency=low
|
||||||
|
|
||||||
|
* Use debhelper.
|
||||||
|
* Don't do the runme stuff anymore, becuase ID no longer distributes a
|
||||||
|
runme script.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Sun, 16 Nov 1997 19:21:34 -0500
|
||||||
|
|
||||||
|
squake (1.09-1.1-2) unstable; urgency=low
|
||||||
|
|
||||||
|
* Fixed postinst prompting (#12601).
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Mon, 8 Sep 1997 18:56:39 -0400
|
||||||
|
|
||||||
|
squake (1.09-1.1-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Moved to non-free.
|
||||||
|
* Preserve file dates.
|
||||||
|
* Added README.debian about the suid problem.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Tue, 6 May 1997 20:37:13 -0400
|
||||||
|
|
||||||
|
squake (1.07-1.0-3) unstable; urgency=low
|
||||||
|
|
||||||
|
* Check for /etc/suid.conf, not the suidmananger binary. Actually, I let
|
||||||
|
debstd handle it. Maybe I've finally gotten this right..
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Tue, 6 May 1997 20:37:13 -0400
|
||||||
|
|
||||||
|
squake (1.07-1.0-2) unstable; urgency=low
|
||||||
|
|
||||||
|
* Fixed stupid error; will install if suidmanager is not present now.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Tue, 6 May 1997 20:14:23 -0400
|
||||||
|
|
||||||
|
squake (1.07-1.0-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Register /usr/games/squake.real with suidregister, so permissions get
|
||||||
|
preserved across upgrades. This lets you come up with your own security
|
||||||
|
scheme for making squake suid.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Tue, 6 May 1997 16:10:04 -0400
|
||||||
|
|
||||||
|
squake (1.07-0.992-2) unstable; urgency=high
|
||||||
|
|
||||||
|
* A security hole is known in squake which could allow users to get root
|
||||||
|
if the program is installed suid. As a temporary fix until a fixed
|
||||||
|
version is available, squake is no longer installed suid.
|
||||||
|
* New upstream version.
|
||||||
|
* Fixed a problem with the .orig.tar.gz file which was making dpkg-source
|
||||||
|
refuse to unpack it.
|
||||||
|
* Moved into contrib, which is the proper section for this package, as
|
||||||
|
there is no source code available.
|
||||||
|
* Converted menu file to menu-1 format.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Fri, 25 Apr 1997 15:34:37 -0400
|
||||||
|
|
||||||
|
squake (1.07-0.991-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Updated to squake version 0.991.
|
||||||
|
* Split quake source package into xquake and squake source packages.
|
||||||
|
Had to do this becuase new versions of xquake and squake are coming out
|
||||||
|
at different times.
|
||||||
|
* Changed version number to reflect both the main quake revision number
|
||||||
|
and the squake subrevision number.
|
||||||
|
* Routine update of debian/rules:
|
||||||
|
Run dpkg-gencontrol after debstd, and delete substvars during clean.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Sat, 5 Apr 1997 21:33:44 -0500
|
||||||
|
|
||||||
|
quake (1.06-4) unstable; urgency=low
|
||||||
|
|
||||||
|
* Modified wrapper script so it reads /etc/quake.conf to determine where
|
||||||
|
the quake libraries are. This will eliminate the need for symlinks if
|
||||||
|
quake-lib-stub is used.
|
||||||
|
* Routine update of debian/rules:
|
||||||
|
Run dpkg-gencontrol after debstd, and delete substvars during clean.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Sat, 22 Mar 1997 18:14:53 -0500
|
||||||
|
|
||||||
|
quake (1.06-3) unstable; urgency=low
|
||||||
|
|
||||||
|
* Got rid of the binary patching, and went over to small wrapper scripts
|
||||||
|
that cd to /var/lib/games/quake. This is to fix bug #7767, -game didn't
|
||||||
|
work.
|
||||||
|
* Routine update of debian/rules:
|
||||||
|
Modifications for multiple binary package support.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Sun, 2 Mar 1997 15:03:53 -0500
|
||||||
|
|
||||||
|
quake (1.06-2) unstable; urgency=low
|
||||||
|
|
||||||
|
* Removed s-bit from file in orig.tar.gz file, so dpkg-source -x will
|
||||||
|
work.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Wed, 26 Feb 1997 15:24:41 -0500
|
||||||
|
|
||||||
|
quake (1.06-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Added a squake binary (version 0.99), thanks to the work Dave 'Zoid'
|
||||||
|
Kirsch.
|
||||||
|
* Updated to new uptream release of xquake (thanks to Linus Torvalds for
|
||||||
|
building the 1.06 xquake binaries (and for a few other things <g>)).
|
||||||
|
* Split into 2 binary packages: xquake and squake.
|
||||||
|
* Dropped xf86quake out of the package for now, as a 1.06 version is not
|
||||||
|
available.
|
||||||
|
* Routine update of debian/rules:
|
||||||
|
Modifications for multiple binary package support.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Fri, 7 Feb 1997 20:51:24 -0500
|
||||||
|
|
||||||
|
quake (1.01-4) unstable; urgency=low
|
||||||
|
|
||||||
|
* Changed an error message in xf86quake that told the user to chmod 666
|
||||||
|
/dev/mem.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Sat, 4 Jan 1997 19:31:04 -0500
|
||||||
|
|
||||||
|
quake (1.01-3) unstable; urgency=low
|
||||||
|
|
||||||
|
* Changed libc5 dependancy to make users of debian 1.2 happy.
|
||||||
|
* Routine update of debian/rules:
|
||||||
|
Use build-stamp instead of build.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Tue, 31 Dec 1996 12:29:55 -0500
|
||||||
|
|
||||||
|
quake (1.01-2) unstable; urgency=low
|
||||||
|
|
||||||
|
* Changed quake-lib dependancy: requires exactly quake-lib 1.01, or
|
||||||
|
the new quake-lib-stub package.
|
||||||
|
* Modified README.debian to document that quake-lib greater than 1.01
|
||||||
|
will likely not work with this version of quake.
|
||||||
|
* xf86quake is no longer suid root, as that is almost certianly a security
|
||||||
|
hole. Added documentation to README.debian about this.
|
||||||
|
* Added a menu file.
|
||||||
|
* Routine update of debian/rules:
|
||||||
|
New email address.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Sat, 28 Dec 1996 14:56:08 -0500
|
||||||
|
|
||||||
|
quake (1.01-1) non-free; urgency=low
|
||||||
|
|
||||||
|
* First release.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@master.debian.org> Mon, 11 Nov 1996 16:23:43 -0500
|
||||||
|
|
||||||
|
Local variables:
|
||||||
|
mode: debian-changelog
|
||||||
|
End:
|
134
debian/control
vendored
Normal file
134
debian/control
vendored
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
Source: quakeforge
|
||||||
|
Section: contrib/games
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: Jeff Teunissen <deek@dusknet.dhs.org>
|
||||||
|
Standards-Version: 3.1.1
|
||||||
|
|
||||||
|
Package: quakeforge
|
||||||
|
Architecture: any
|
||||||
|
Depends: quake-game, quakeforge-common, qf-client
|
||||||
|
Suggests: qf-server
|
||||||
|
Description: First-person shooter Internet game - Fake package
|
||||||
|
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
|
||||||
|
Software's very popular DOOM series. Its primary development goal is to
|
||||||
|
remain compatible with the original games released by id Software while
|
||||||
|
adding portability and optional extensions to enhance gameplay.
|
||||||
|
.
|
||||||
|
This package only exists to depend on a server and a client.
|
||||||
|
|
||||||
|
Package: quakeforge-common
|
||||||
|
Architecture: any
|
||||||
|
Depends: quake-game
|
||||||
|
Description: First-person shooter Internet game - common files
|
||||||
|
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
|
||||||
|
Software's very popular DOOM series. Its primary development goal is to
|
||||||
|
remain compatible with the original games released by id Software while
|
||||||
|
adding portability and optional extensions to enhance gameplay.
|
||||||
|
.
|
||||||
|
This package contains files common to all QuakeForge packages.
|
||||||
|
|
||||||
|
Package: qf-client-ggi
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, quake-game
|
||||||
|
Suggests: joystick
|
||||||
|
Provides: qf-client
|
||||||
|
Description: First-person shooter Internet game - GGI client
|
||||||
|
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
|
||||||
|
Software's very popular DOOM series. Its primary development goal is to
|
||||||
|
remain compatible with the original games released by id Software while
|
||||||
|
adding portability and optional extensions to enhance gameplay.
|
||||||
|
.
|
||||||
|
This package contains the GGI version of the QuakeForge client.
|
||||||
|
|
||||||
|
Package: qf-client-sdl
|
||||||
|
Architecture: i386
|
||||||
|
Depends: ${shlibs:Depends}, libsdl1.1, quake-game
|
||||||
|
Suggests: joystick
|
||||||
|
Provides: qf-client
|
||||||
|
Description: First-person shooter Internet game - SDL client
|
||||||
|
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
|
||||||
|
Software's very popular DOOM series. Its primary development goal is to
|
||||||
|
remain compatible with the original games released by id Software while
|
||||||
|
adding portability and optional extensions to enhance gameplay.
|
||||||
|
.
|
||||||
|
This package contains the SDL version of the QuakeForge client.
|
||||||
|
|
||||||
|
Package: qf-client-svga
|
||||||
|
Architecture: i386
|
||||||
|
Depends: ${shlibs:Depends}, quake-game
|
||||||
|
Suggests: joystick
|
||||||
|
Provides: qf-client
|
||||||
|
Description: First-person shooter Internet game - SVGAlib client
|
||||||
|
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
|
||||||
|
Software's very popular DOOM series. Its primary development goal is to
|
||||||
|
remain compatible with the original games released by id Software while
|
||||||
|
adding portability and optional extensions to enhance gameplay.
|
||||||
|
.
|
||||||
|
This package contains the SVGAlib version of the QuakeForge client.
|
||||||
|
|
||||||
|
Package: qf-client-x11
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, quake-game
|
||||||
|
Suggests: joystick
|
||||||
|
Provides: qf-client
|
||||||
|
Description: First-person shooter Internet game - X11 client
|
||||||
|
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
|
||||||
|
Software's very popular DOOM series. Its primary development goal is to
|
||||||
|
remain compatible with the original games released by id Software while
|
||||||
|
adding portability and optional extensions to enhance gameplay.
|
||||||
|
.
|
||||||
|
This package contains the X11 version of the QuakeForge client.
|
||||||
|
|
||||||
|
Package: qf-client-3dfx
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, libgl1, quake-game
|
||||||
|
Conflicts: libglide3
|
||||||
|
Suggests: joystick
|
||||||
|
Provides: qf-client
|
||||||
|
Description: First-person shooter Internet game - Voodoo 1/2 Client
|
||||||
|
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
|
||||||
|
Software's very popular DOOM series. Its primary development goal is to
|
||||||
|
remain compatible with the original games released by id Software while
|
||||||
|
adding portability and optional extensions to enhance gameplay.
|
||||||
|
.
|
||||||
|
This package contains the Voodoo 1/2 version of the QuakeForge client. For
|
||||||
|
Voodoo 3 and higher, use the GLX client.
|
||||||
|
|
||||||
|
Package: qf-client-glx
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, libgl1, quake-game
|
||||||
|
Suggests: joystick
|
||||||
|
Provides: qf-client
|
||||||
|
Description: First-person shooter Internet game - GLX Client
|
||||||
|
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
|
||||||
|
Software's very popular DOOM series. Its primary development goal is to
|
||||||
|
remain compatible with the original games released by id Software while
|
||||||
|
adding portability and optional extensions to enhance gameplay.
|
||||||
|
.
|
||||||
|
This package contains the GLX version of the QuakeForge client.
|
||||||
|
|
||||||
|
Package: qf-client-sgl
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, libsdl1.1 (>= 1.1.3), quake-game
|
||||||
|
Suggests: joystick
|
||||||
|
Provides: qf-client
|
||||||
|
Description: First-person shooter Internet game - SDL-GL client
|
||||||
|
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
|
||||||
|
Software's very popular DOOM series. Its primary development goal is to
|
||||||
|
remain compatible with the original games released by id Software while
|
||||||
|
adding portability and optional extensions to enhance gameplay.
|
||||||
|
.
|
||||||
|
This package contains the SDL-GL version of the QuakeForge client.
|
||||||
|
|
||||||
|
Package: qf-server
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, quake-game
|
||||||
|
Suggests: joystick
|
||||||
|
Provides: qf-client
|
||||||
|
Description: First-person shooter Internet game - Server
|
||||||
|
QuakeForge is a source port of Quake and QuakeWorld, the successors to id
|
||||||
|
Software's very popular DOOM series. Its primary development goal is to
|
||||||
|
remain compatible with the original games released by id Software while
|
||||||
|
adding portability and optional extensions to enhance gameplay.
|
||||||
|
.
|
||||||
|
This package contains the QuakeForge server.
|
29
debian/copyright
vendored
Normal file
29
debian/copyright
vendored
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
This is a Debian prepackaged version of QuakeForge. This package was
|
||||||
|
compiled by Jeff Teunissen <deek@dusknet.dhs.org>.
|
||||||
|
|
||||||
|
Original sources can be found at:
|
||||||
|
http://www.quakeforge.net/files.php
|
||||||
|
|
||||||
|
Copyright (C) 1999,2000 contributors to the QuakeForge Project.
|
||||||
|
|
||||||
|
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 QuakeForge; if not, write to:
|
||||||
|
|
||||||
|
Free Software Foundation, Inc.
|
||||||
|
59 Temple Place
|
||||||
|
Suite 330 Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
|
Portions of QuakeForge are Copyright (C) 1996-1997 id Software, Inc.
|
||||||
|
Used under license.
|
||||||
|
|
||||||
|
Quake and QuakeWorld are registered trademarks of id Software, Inc.
|
1
debian/qf-client-3dfx.dirs
vendored
Normal file
1
debian/qf-client-3dfx.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games
|
3
debian/qf-client-3dfx.docs
vendored
Normal file
3
debian/qf-client-3dfx.docs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
INSTALL
|
||||||
|
README
|
||||||
|
NEWS
|
1
debian/qf-client-3dfx.files
vendored
Normal file
1
debian/qf-client-3dfx.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games/qf-client-3dfx
|
1
debian/qf-client-3dfx.suid
vendored
Normal file
1
debian/qf-client-3dfx.suid
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games/qf-client-3dfx
|
1
debian/qf-client-3dfx.undocumented
vendored
Normal file
1
debian/qf-client-3dfx.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
qf-client-3dfx.6
|
1
debian/qf-client-ggi.dirs
vendored
Normal file
1
debian/qf-client-ggi.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games
|
3
debian/qf-client-ggi.docs
vendored
Normal file
3
debian/qf-client-ggi.docs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
INSTALL
|
||||||
|
README
|
||||||
|
NEWS
|
1
debian/qf-client-ggi.files
vendored
Normal file
1
debian/qf-client-ggi.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games/qf-client-ggi
|
1
debian/qf-client-ggi.undocumented
vendored
Normal file
1
debian/qf-client-ggi.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
qf-client-ggi.6
|
1
debian/qf-client-glx.dirs
vendored
Normal file
1
debian/qf-client-glx.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games
|
3
debian/qf-client-glx.docs
vendored
Normal file
3
debian/qf-client-glx.docs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
INSTALL
|
||||||
|
README
|
||||||
|
NEWS
|
1
debian/qf-client-glx.files
vendored
Normal file
1
debian/qf-client-glx.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games/qf-client-glx
|
1
debian/qf-client-glx.undocumented
vendored
Normal file
1
debian/qf-client-glx.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
qf-client-glx.6
|
1
debian/qf-client-sdl.dirs
vendored
Normal file
1
debian/qf-client-sdl.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games
|
3
debian/qf-client-sdl.docs
vendored
Normal file
3
debian/qf-client-sdl.docs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
INSTALL
|
||||||
|
README
|
||||||
|
NEWS
|
1
debian/qf-client-sdl.files
vendored
Normal file
1
debian/qf-client-sdl.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games/qf-client-sdl
|
1
debian/qf-client-sdl.undocumented
vendored
Normal file
1
debian/qf-client-sdl.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
qf-client-sdl.6
|
1
debian/qf-client-sgl.dirs
vendored
Normal file
1
debian/qf-client-sgl.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games
|
3
debian/qf-client-sgl.docs
vendored
Normal file
3
debian/qf-client-sgl.docs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
INSTALL
|
||||||
|
README
|
||||||
|
NEWS
|
1
debian/qf-client-sgl.files
vendored
Normal file
1
debian/qf-client-sgl.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games/qf-client-sgl
|
1
debian/qf-client-sgl.undocumented
vendored
Normal file
1
debian/qf-client-sgl.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
qf-client-sgl.6
|
1
debian/qf-client-svga.dirs
vendored
Normal file
1
debian/qf-client-svga.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games
|
3
debian/qf-client-svga.docs
vendored
Normal file
3
debian/qf-client-svga.docs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
INSTALL
|
||||||
|
README
|
||||||
|
NEWS
|
1
debian/qf-client-svga.files
vendored
Normal file
1
debian/qf-client-svga.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games/qf-client-svga
|
1
debian/qf-client-svga.suid
vendored
Normal file
1
debian/qf-client-svga.suid
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games/qf-client-svga
|
1
debian/qf-client-svga.undocumented
vendored
Normal file
1
debian/qf-client-svga.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
qf-client-svga.6
|
1
debian/qf-client-x11.dirs
vendored
Normal file
1
debian/qf-client-x11.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games
|
3
debian/qf-client-x11.docs
vendored
Normal file
3
debian/qf-client-x11.docs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
INSTALL
|
||||||
|
README
|
||||||
|
NEWS
|
1
debian/qf-client-x11.files
vendored
Normal file
1
debian/qf-client-x11.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games/qf-client-x11
|
1
debian/qf-client-x11.undocumented
vendored
Normal file
1
debian/qf-client-x11.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
qf-client-x11.6
|
2
debian/qf-server.dirs
vendored
Normal file
2
debian/qf-server.dirs
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/games
|
||||||
|
usr/share/games/quake/qw
|
3
debian/qf-server.docs
vendored
Normal file
3
debian/qf-server.docs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
INSTALL
|
||||||
|
README
|
||||||
|
NEWS
|
1
debian/qf-server.files
vendored
Normal file
1
debian/qf-server.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/games/qf-server
|
1
debian/qf-server.undocumented
vendored
Normal file
1
debian/qf-server.undocumented
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
qf-server.6
|
1
debian/quakeforge-common.conffiles
vendored
Normal file
1
debian/quakeforge-common.conffiles
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/etc/quakeforge.conf
|
3
debian/quakeforge-common.docs
vendored
Normal file
3
debian/quakeforge-common.docs
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
INSTALL
|
||||||
|
README
|
||||||
|
NEWS
|
1
debian/quakeforge-common.files
vendored
Normal file
1
debian/quakeforge-common.files
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
etc/quakeforge.conf
|
15
debian/quakeforge.conf
vendored
Normal file
15
debian/quakeforge.conf
vendored
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// QuakeForge: Newtree Configuration
|
||||||
|
|
||||||
|
// Location of shared data
|
||||||
|
setrom fs_sharepath "/usr/share/games/quake"
|
||||||
|
|
||||||
|
// Location of user's personal data
|
||||||
|
setrom fs_userpath "~/.quake"
|
||||||
|
|
||||||
|
// Video defaults
|
||||||
|
set vid_width 640
|
||||||
|
set vid_height 480
|
||||||
|
set vid_fullscreen 0
|
||||||
|
|
||||||
|
// Uncomment for high-quality OpenGL rendering
|
||||||
|
//gl_texturemode gl_linear_mipmap_linear
|
0
debian/quakeforge.files
vendored
Normal file
0
debian/quakeforge.files
vendored
Normal file
98
debian/rules
vendored
Executable file
98
debian/rules
vendored
Executable file
|
@ -0,0 +1,98 @@
|
||||||
|
#! /usr/bin/make -f
|
||||||
|
# This file is public domain software, originally written by Joey Hess.
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
# This is the debhelper compatibility version to use.
|
||||||
|
export DH_COMPAT=2
|
||||||
|
|
||||||
|
tmp := $(shell pwd)/debian/tmp
|
||||||
|
|
||||||
|
ifeq ($(DEB_BUILD_GNU_TYPE),)
|
||||||
|
RETARGET=
|
||||||
|
else
|
||||||
|
RETARGET= --host=$(DEB_BUILD_GNU_TYPE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
configure: configure-stamp
|
||||||
|
configure-stamp:
|
||||||
|
dh_testdir
|
||||||
|
# Add here commands to configure the package.
|
||||||
|
# [ -d CVS ] && tools/cvs2cl/cvs2cl.pl
|
||||||
|
./bootstrap
|
||||||
|
./configure --prefix=/usr $(RETARGET) --bindir=/usr/games \
|
||||||
|
--mandir=\$${prefix}/share/man \
|
||||||
|
--infodir=\$${prefix}/share/info \
|
||||||
|
# --with-3dfx=GL
|
||||||
|
|
||||||
|
touch configure-stamp
|
||||||
|
|
||||||
|
build: configure-stamp build-stamp
|
||||||
|
build-stamp:
|
||||||
|
dh_testdir
|
||||||
|
|
||||||
|
# Add here commands to compile the package.
|
||||||
|
$(MAKE)
|
||||||
|
$(MAKE) changelog
|
||||||
|
|
||||||
|
touch build-stamp
|
||||||
|
|
||||||
|
clean:
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
rm -f build-stamp configure-stamp
|
||||||
|
|
||||||
|
# Add here commands to clean up after the build process.
|
||||||
|
-$(MAKE) distclean
|
||||||
|
|
||||||
|
dh_clean
|
||||||
|
|
||||||
|
install:
|
||||||
|
install: build
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean -k
|
||||||
|
dh_installdirs
|
||||||
|
|
||||||
|
# Add here commands to install the package into debian/tmp.
|
||||||
|
$(MAKE) prefix=$(tmp)/usr bindir=$(tmp)/usr/games install
|
||||||
|
mkdir $(tmp)/etc
|
||||||
|
cp debian/quakeforge.conf $(tmp)/etc
|
||||||
|
|
||||||
|
dh_movefiles
|
||||||
|
|
||||||
|
# Build architecture-independent files here.
|
||||||
|
# Pass -i to all debhelper commands in this target to reduce clutter.
|
||||||
|
binary-indep: DH_OPTIONS=-i
|
||||||
|
binary-indep: build install
|
||||||
|
# We don't have any packages with Architecture: all
|
||||||
|
|
||||||
|
# Build architecture-dependent files here.
|
||||||
|
# Pass -a to all debhelper commands in this target to reduce clutter.
|
||||||
|
binary-arch: DH_OPTIONS=-a
|
||||||
|
binary-arch: build install
|
||||||
|
dh_testversion 2
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_installdocs
|
||||||
|
dh_installexamples
|
||||||
|
dh_installmenu
|
||||||
|
dh_undocumented
|
||||||
|
dh_installchangelogs ChangeLog
|
||||||
|
dh_strip
|
||||||
|
dh_link
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms
|
||||||
|
# You may want to make some executables suid here.
|
||||||
|
chmod 4755 debian/qf-client-svga/usr/games/qf-client-svga
|
||||||
|
-chmod 4755 debian/qf-client-3dfx/usr/games/qf-client-3dfx
|
||||||
|
dh_suidregister
|
||||||
|
dh_installdeb
|
||||||
|
dh_shlibdeps
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
binary: binary-indep binary-arch
|
||||||
|
.PHONY: build clean binary-indep binary-arch binary install
|
10
nq/.gitignore
vendored
Normal file
10
nq/.gitignore
vendored
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
ChangeLog
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
aclocal.m4
|
||||||
|
config.cache
|
||||||
|
config.log
|
||||||
|
config.status
|
||||||
|
configure
|
||||||
|
nuq.lsm
|
||||||
|
nuq-*.tar.gz
|
1
nq/AUTHORS
Normal file
1
nq/AUTHORS
Normal file
|
@ -0,0 +1 @@
|
||||||
|
The QuakeForge Project <quake-devel@lists.sourceforge.net>
|
9
nq/Makefile.am
Normal file
9
nq/Makefile.am
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
AUTOMAKE_OPTIONS = foreign
|
||||||
|
|
||||||
|
SUBDIRS = include source doc RPM
|
||||||
|
|
||||||
|
EXTRA_DIST = tools/gas2masm/Makefile tools/gas2masm/gas2masm.c \
|
||||||
|
tools/gas2masm/gas2masm.dsp tools/gas2masm/gas2masm.dsw \
|
||||||
|
tools/gas2masm/gas2masm.mak tools/gas2masm/gas2masm.mdp \
|
||||||
|
bootstrap
|
0
nq/README
Normal file
0
nq/README
Normal file
7
nq/TODO
Normal file
7
nq/TODO
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
o windows port (Hey, Coderjoe, make some time!:)
|
||||||
|
o fix sky rendering
|
||||||
|
too slow due to overdraw
|
||||||
|
areas that should be black are greenish
|
||||||
|
o make alsa support more generic for odd hw (eg gus, hammerfall)
|
||||||
|
<LordHavoc> you must support skyboxes (in software and GL), transparency (in software and GL), colored lighting (at least in GL, and if you're doing the others, you might as well do it in software as well), two protocols (DarkPlaces for netplay compatibility, and the ancient neh_gl protocol for the movies, which is much simpler than DP protocol and very bloated), the menus (including the map list and all in the server setup)
|
||||||
|
<LordHavoc> here's some stuff you'll find amusing to try to support then: interpolated animations, DP protocol, DP particles (Nehahra uses the same particle engine, albeit an older version), mod music (honestly I skipped this myself, but nehahra uses 2 tunes), dzip support (I skipped this, and mindcrime seems to be in no hurry to actually use it)Z
|
95
nq/acconfig.h
Normal file
95
nq/acconfig.h
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
/*
|
||||||
|
Compiler/Machine-Specific Configuration
|
||||||
|
*/
|
||||||
|
#ifndef _CONFIG_H_
|
||||||
|
#define _CONFIG_H_
|
||||||
|
@TOP@
|
||||||
|
/* "Proper" package name */
|
||||||
|
#undef PROGRAM
|
||||||
|
|
||||||
|
/* Define this to the Quake version you support */
|
||||||
|
#undef QUAKE_VERSION
|
||||||
|
|
||||||
|
/* Define this to the QSG standard version you support */
|
||||||
|
#undef QSG_VERSION
|
||||||
|
|
||||||
|
/* Define if you want to use QF-style defaults instead of Id-style */
|
||||||
|
#undef NEWSTYLE
|
||||||
|
|
||||||
|
/* Define this to the location of the global config file */
|
||||||
|
#undef FS_GLOBALCFG
|
||||||
|
|
||||||
|
/* Define this to the shared game directory root */
|
||||||
|
#undef FS_SHAREPATH
|
||||||
|
|
||||||
|
/* Define this to the unshared game directory root */
|
||||||
|
#undef FS_USERPATH
|
||||||
|
|
||||||
|
/* Define this to the base game for the engine to load */
|
||||||
|
#undef BASEGAME
|
||||||
|
|
||||||
|
/* Define this if you want to use Intel assembly optimizations */
|
||||||
|
#undef USE_INTEL_ASM
|
||||||
|
|
||||||
|
/* Define this if you have a Linux-style CD-ROM API */
|
||||||
|
#undef USE_LINUX_CD
|
||||||
|
|
||||||
|
/* Define this if you have a BSD-style CD-ROM API */
|
||||||
|
#undef USE_BSD_CD
|
||||||
|
|
||||||
|
/* Define if you have the XFree86 DGA extension */
|
||||||
|
#undef HAVE_DGA
|
||||||
|
|
||||||
|
/* Define if you have the XFree86 VIDMODE extension */
|
||||||
|
#undef HAVE_VIDMODE
|
||||||
|
|
||||||
|
/* Define this if you have GLX */
|
||||||
|
#undef HAVE_GLX
|
||||||
|
|
||||||
|
/* Define this if you have 3dfx */
|
||||||
|
#undef HAVE_TDFXGL
|
||||||
|
|
||||||
|
/* Define this if you have GL_COLOR_INDEX8_EXT in GL/gl.h */
|
||||||
|
#undef HAVE_GL_COLOR_INDEX8_EXT
|
||||||
|
|
||||||
|
/* Define this if you are using a version of Mesa with X mode change support */
|
||||||
|
#undef HAVE_XMESA
|
||||||
|
|
||||||
|
/* Define this if you want IPv6 support */
|
||||||
|
#undef HAVE_IPV6
|
||||||
|
|
||||||
|
/* Define this if C symbols are prefixed with an underscore */
|
||||||
|
#undef HAVE_SYM_PREFIX_UNDERSCORE
|
||||||
|
|
||||||
|
/* Define this if your system has socklen_t */
|
||||||
|
#undef HAVE_SOCKLEN_T
|
||||||
|
|
||||||
|
/* Define this if your system has size_t */
|
||||||
|
#undef HAVE_SIZE_T
|
||||||
|
|
||||||
|
/* Define this if you have ss_len member in struct sockaddr_storage (BSD) */
|
||||||
|
#undef HAVE_SS_LEN
|
||||||
|
|
||||||
|
/* Define this if you have sin6_len member in struct sockaddr_in6 (BSD) */
|
||||||
|
#undef HAVE_SIN6_LEN
|
||||||
|
|
||||||
|
/* Define this if you have sa_len member in struct sockaddr (BSD) */
|
||||||
|
#undef HAVE_SA_LEN
|
||||||
|
|
||||||
|
/* Define if you have the dlopen function. */
|
||||||
|
#undef HAVE_DLOPEN
|
||||||
|
|
||||||
|
/* Define if you have zlib */
|
||||||
|
#undef HAVE_ZLIB
|
||||||
|
|
||||||
|
/* If your version of OpenGL uses APIENTRY, define GLAPIENTRY to be APIENTRY */
|
||||||
|
#undef GLAPIENTRY
|
||||||
|
|
||||||
|
/* Define this to something sane if you don't have stricmp */
|
||||||
|
#undef stricmp
|
||||||
|
|
||||||
|
/* Define this if FPOS_T is a struct */
|
||||||
|
#undef HAVE_FPOS_T_STRUCT
|
||||||
|
|
||||||
|
@BOTTOM@
|
||||||
|
#endif // _CONFIG_H_
|
279
nq/acinclude.m4
Normal file
279
nq/acinclude.m4
Normal file
|
@ -0,0 +1,279 @@
|
||||||
|
dnl check for fields in a structure
|
||||||
|
dnl
|
||||||
|
dnl AC_HAVE_STRUCT_FIELD(struct, field, headers)
|
||||||
|
|
||||||
|
AC_DEFUN(AC_HAVE_STRUCT_FIELD, [
|
||||||
|
define(cache_val, translit(ac_cv_type_$1_$2, [A-Z ], [a-z_]))
|
||||||
|
AC_CACHE_CHECK([for $2 in $1], cache_val,[
|
||||||
|
AC_TRY_COMPILE([$3],[$1 x; x.$2;],
|
||||||
|
cache_val=yes,
|
||||||
|
cache_val=no)])
|
||||||
|
if test "$cache_val" = yes; then
|
||||||
|
define(foo, translit(HAVE_$1_$2, [a-z ], [A-Z_]))
|
||||||
|
AC_DEFINE(foo, 1, [Define if $1 has field $2.])
|
||||||
|
undefine(foo)
|
||||||
|
fi
|
||||||
|
undefine(cache_val)
|
||||||
|
])
|
||||||
|
# Configure paths for SDL
|
||||||
|
# Sam Lantinga 9/21/99
|
||||||
|
# stolen from Manish Singh
|
||||||
|
# stolen back from Frank Belew
|
||||||
|
# stolen from Manish Singh
|
||||||
|
# Shamelessly stolen from Owen Taylor
|
||||||
|
|
||||||
|
dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||||
|
dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
|
||||||
|
dnl
|
||||||
|
AC_DEFUN(AM_PATH_SDL,
|
||||||
|
[dnl
|
||||||
|
dnl Get the cflags and libraries from the sdl-config script
|
||||||
|
dnl
|
||||||
|
AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
|
||||||
|
sdl_prefix="$withval", sdl_prefix="")
|
||||||
|
AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
|
||||||
|
sdl_exec_prefix="$withval", sdl_exec_prefix="")
|
||||||
|
AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
|
||||||
|
, enable_sdltest=yes)
|
||||||
|
|
||||||
|
if test x$sdl_exec_prefix != x ; then
|
||||||
|
sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
|
||||||
|
if test x${SDL_CONFIG+set} != xset ; then
|
||||||
|
SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test x$sdl_prefix != x ; then
|
||||||
|
sdl_args="$sdl_args --prefix=$sdl_prefix"
|
||||||
|
if test x${SDL_CONFIG+set} != xset ; then
|
||||||
|
SDL_CONFIG=$sdl_prefix/bin/sdl-config
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
|
||||||
|
min_sdl_version=ifelse([$1], ,0.11.0,$1)
|
||||||
|
AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
|
||||||
|
no_sdl=""
|
||||||
|
if test "$SDL_CONFIG" = "no" ; then
|
||||||
|
no_sdl=yes
|
||||||
|
else
|
||||||
|
SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
|
||||||
|
SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
|
||||||
|
|
||||||
|
sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||||
|
sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||||
|
sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||||
|
if test "x$enable_sdltest" = "xyes" ; then
|
||||||
|
ac_save_CFLAGS="$CFLAGS"
|
||||||
|
ac_save_LIBS="$LIBS"
|
||||||
|
CFLAGS="$CFLAGS $SDL_CFLAGS"
|
||||||
|
LIBS="$LIBS $SDL_LIBS"
|
||||||
|
dnl
|
||||||
|
dnl Now check if the installed SDL is sufficiently new. (Also sanity
|
||||||
|
dnl checks the results of sdl-config to some extent
|
||||||
|
dnl
|
||||||
|
rm -f conf.sdltest
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <SDL/SDL.h>
|
||||||
|
|
||||||
|
char*
|
||||||
|
my_strdup (char *str)
|
||||||
|
{
|
||||||
|
char *new_str;
|
||||||
|
|
||||||
|
if (str)
|
||||||
|
{
|
||||||
|
new_str = malloc ((strlen (str) + 1) * sizeof(char));
|
||||||
|
strcpy (new_str, str);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
new_str = NULL;
|
||||||
|
|
||||||
|
return new_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main (int argc, char *argv[])
|
||||||
|
{
|
||||||
|
int major, minor, micro;
|
||||||
|
char *tmp_version;
|
||||||
|
|
||||||
|
/* This hangs on some systems (?)
|
||||||
|
system ("touch conf.sdltest");
|
||||||
|
*/
|
||||||
|
{ FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
|
||||||
|
|
||||||
|
/* HP/UX 9 (%@#!) writes to sscanf strings */
|
||||||
|
tmp_version = my_strdup("$min_sdl_version");
|
||||||
|
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
|
||||||
|
printf("%s, bad version string\n", "$min_sdl_version");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (($sdl_major_version > major) ||
|
||||||
|
(($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
|
||||||
|
(($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
|
||||||
|
printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
|
||||||
|
printf("*** best to upgrade to the required version.\n");
|
||||||
|
printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
|
||||||
|
printf("*** to point to the correct copy of sdl-config, and remove the file\n");
|
||||||
|
printf("*** config.cache before re-running configure\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||||
|
CFLAGS="$ac_save_CFLAGS"
|
||||||
|
LIBS="$ac_save_LIBS"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test "x$no_sdl" = x ; then
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
ifelse([$2], , :, [$2])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
if test "$SDL_CONFIG" = "no" ; then
|
||||||
|
echo "*** The sdl-config script installed by SDL could not be found"
|
||||||
|
echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
|
||||||
|
echo "*** your path, or set the SDL_CONFIG environment variable to the"
|
||||||
|
echo "*** full path to sdl-config."
|
||||||
|
else
|
||||||
|
if test -f conf.sdltest ; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
echo "*** Could not run SDL test program, checking why..."
|
||||||
|
CFLAGS="$CFLAGS $SDL_CFLAGS"
|
||||||
|
LIBS="$LIBS $SDL_LIBS"
|
||||||
|
AC_TRY_LINK([
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <SDL/SDL.h>
|
||||||
|
], [ return 0; ],
|
||||||
|
[ echo "*** The test program compiled, but did not run. This usually means"
|
||||||
|
echo "*** that the run-time linker is not finding SDL or finding the wrong"
|
||||||
|
echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
|
||||||
|
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||||
|
echo "*** to the installed location Also, make sure you have run ldconfig if that"
|
||||||
|
echo "*** is required on your system"
|
||||||
|
echo "***"
|
||||||
|
echo "*** If you have an old version installed, it is best to remove it, although"
|
||||||
|
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
|
||||||
|
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||||
|
echo "*** exact error that occured. This usually means SDL was incorrectly installed"
|
||||||
|
echo "*** or that you have moved SDL since it was installed. In the latter case, you"
|
||||||
|
echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
|
||||||
|
CFLAGS="$ac_save_CFLAGS"
|
||||||
|
LIBS="$ac_save_LIBS"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
SDL_CFLAGS=""
|
||||||
|
SDL_LIBS=""
|
||||||
|
ifelse([$3], , :, [$3])
|
||||||
|
fi
|
||||||
|
AC_SUBST(SDL_CFLAGS)
|
||||||
|
AC_SUBST(SDL_LIBS)
|
||||||
|
rm -f conf.sdltest
|
||||||
|
])
|
||||||
|
|
||||||
|
# Configure paths for SDL-GL
|
||||||
|
# Jeff Teunissen 11 Aug 2000
|
||||||
|
# stolen from Sam Lantinga
|
||||||
|
# stolen from Manish Singh
|
||||||
|
# stolen back from Frank Belew
|
||||||
|
# stolen from Manish Singh
|
||||||
|
# Shamelessly stolen from Owen Taylor
|
||||||
|
|
||||||
|
dnl AM_CHECK_SGL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||||
|
dnl Test for SDL 1.1.x, and define SGL_CFLAGS and SGL_LIBS
|
||||||
|
dnl ***MUST*** be run _after_ checking for SDL 1.0x, if used.
|
||||||
|
dnl
|
||||||
|
AC_DEFUN(AM_CHECK_SGL,
|
||||||
|
[dnl
|
||||||
|
dnl Get the cflags and libraries from the sdl-config script
|
||||||
|
dnl
|
||||||
|
min_sdl_version=ifelse([$1], ,1.1.0,$1)
|
||||||
|
AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
|
||||||
|
no_sgl=""
|
||||||
|
if test "$SDL_CONFIG" = "no" ; then
|
||||||
|
no_sgl=yes
|
||||||
|
else
|
||||||
|
SGL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
|
||||||
|
SGL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
|
||||||
|
|
||||||
|
sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||||
|
sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||||
|
sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
|
||||||
|
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||||
|
dnl
|
||||||
|
dnl Do nothing more than check if the installed SDL is sufficiently new, since
|
||||||
|
dnl we already did that in the SDL detection
|
||||||
|
dnl
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <SDL/SDL.h>
|
||||||
|
|
||||||
|
char*
|
||||||
|
my_strdup (char *str)
|
||||||
|
{
|
||||||
|
char *new_str;
|
||||||
|
|
||||||
|
if (str) {
|
||||||
|
new_str = malloc ((strlen (str) + 1) * sizeof(char));
|
||||||
|
strcpy (new_str, str);
|
||||||
|
} else {
|
||||||
|
new_str = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main (int argc, char *argv[])
|
||||||
|
{
|
||||||
|
int major, minor, micro;
|
||||||
|
char *tmp_version;
|
||||||
|
|
||||||
|
/* HP/UX 9 (%@#!) writes to sscanf strings */
|
||||||
|
tmp_version = my_strdup("$min_sdl_version");
|
||||||
|
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
|
||||||
|
printf("%s, bad version string\n", "$min_sdl_version");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (($sdl_major_version > major) ||
|
||||||
|
(($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
|
||||||
|
(($sdl_major_version == major) && ($sdl_minor_version == minor) &&
|
||||||
|
($sdl_micro_version >= micro))) {
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
],, no_sgl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||||
|
CFLAGS="$ac_save_CFLAGS"
|
||||||
|
LIBS="$ac_save_LIBS"
|
||||||
|
fi
|
||||||
|
if test "x$no_sgl" = x; then
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
ifelse([$2], , :, [$2])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
ifelse([$3], , :, [$3])
|
||||||
|
fi
|
||||||
|
AC_SUBST(SGL_CFLAGS)
|
||||||
|
AC_SUBST(SGL_LIBS)
|
||||||
|
])
|
6
nq/bootstrap
Executable file
6
nq/bootstrap
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
aclocal
|
||||||
|
autoheader
|
||||||
|
automake --add-missing
|
||||||
|
autoconf
|
1132
nq/configure.in
Normal file
1132
nq/configure.in
Normal file
File diff suppressed because it is too large
Load diff
6
nq/include/.gitignore
vendored
Normal file
6
nq/include/.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
.vimrc
|
||||||
|
Makefile.in
|
||||||
|
Makefile
|
||||||
|
config.h
|
||||||
|
config.h.in
|
||||||
|
stamp-h
|
18
nq/include/Makefile.am
Normal file
18
nq/include/Makefile.am
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
EXTRA_DIST = adivtab.h anorm_dots.h anorms.h asm_draw.h asm_ia32.h \
|
||||||
|
bspfile.h block16.h cdaudio.h chase.h client.h checksum.h cmd.h compat.h \
|
||||||
|
conproc.h console.h context_x11.h crc.h cvar.h \
|
||||||
|
dga_check.h d_iface.h d_ifacea.h d_local.h dosisms.h draw.h \
|
||||||
|
gcc_attr.h gib_error.h gib.h gib_instructions.h \
|
||||||
|
gib_interpret.h gib_modules.h gib_parse.h gib_stack.h gib_vars.h glquake.h \
|
||||||
|
gl_warp_sin.h host.h info.h input.h keys.h link.h mathlib.h mdfour.h menu.h \
|
||||||
|
modelgen.h model.h mpdosock.h msg.h net_bw.h net_dgrm.h net.h \
|
||||||
|
net_ipx.h net_loop.h net_mp.h net_ser.h net_udp.h net_vcr.h \
|
||||||
|
net_wins.h net_wipx.h pr_comp.h progdefs.h progdefs.q1 \
|
||||||
|
progdefs.q2 progs.h protocol.h qargs.h quakeasm.h qdefs.h \
|
||||||
|
qendian.h qtypes.h quakefs.h quakeio.h render.h resource.h \
|
||||||
|
r_local.h r_shared.h sbar.h screen.h server.h sizebuf.h \
|
||||||
|
sound.h spritegn.h sys.h uint32.h va.h vgamodes.h vid_dos.h \
|
||||||
|
vid.h view.h vregset.h wad.h winquake.h world.h zone.h \
|
||||||
|
win32/fnmatch.h win32/version.h win32/version.h.in \
|
||||||
|
win32/bc/borland.c win32/bc/config.h win32/vc/config.h
|
1086
nq/include/adivtab.h
Normal file
1086
nq/include/adivtab.h
Normal file
File diff suppressed because it is too large
Load diff
46
nq/include/anorm_dots.h
Normal file
46
nq/include/anorm_dots.h
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
anorm_dots.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
{
|
||||||
|
{1.23,1.30,1.47,1.35,1.56,1.71,1.37,1.38,1.59,1.60,1.79,1.97,1.88,1.92,1.79,1.02,0.93,1.07,0.82,0.87,0.88,0.94,0.96,1.14,1.11,0.82,0.83,0.89,0.89,0.86,0.94,0.91,1.00,1.21,0.98,1.48,1.30,1.57,0.96,1.07,1.14,1.60,1.61,1.40,1.37,1.72,1.78,1.79,1.93,1.99,1.90,1.68,1.71,1.86,1.60,1.68,1.78,1.86,1.93,1.99,1.97,1.44,1.22,1.49,0.93,0.99,0.99,1.23,1.22,1.44,1.49,0.89,0.89,0.97,0.91,0.98,1.19,0.82,0.76,0.82,0.71,0.72,0.73,0.76,0.79,0.86,0.83,0.72,0.76,0.76,0.89,0.82,0.89,0.82,0.89,0.91,0.83,0.96,1.14,0.97,1.40,1.19,0.98,0.94,1.00,1.07,1.37,1.21,1.48,1.30,1.57,1.61,1.37,0.86,0.83,0.91,0.82,0.82,0.88,0.89,0.96,1.14,0.98,0.87,0.93,0.94,1.02,1.30,1.07,1.35,1.38,1.11,1.56,1.92,1.79,1.79,1.59,1.60,1.72,1.90,1.79,0.80,0.85,0.79,0.93,0.80,0.85,0.77,0.74,0.72,0.77,0.74,0.72,0.70,0.70,0.71,0.76,0.73,0.79,0.79,0.73,0.76,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.26,1.26,1.48,1.23,1.50,1.71,1.14,1.19,1.38,1.46,1.64,1.94,1.87,1.84,1.71,1.02,0.92,1.00,0.79,0.85,0.84,0.91,0.90,0.98,0.99,0.77,0.77,0.83,0.82,0.79,0.86,0.84,0.92,0.99,0.91,1.24,1.03,1.33,0.88,0.94,0.97,1.41,1.39,1.18,1.11,1.51,1.61,1.59,1.80,1.91,1.76,1.54,1.65,1.76,1.70,1.70,1.85,1.85,1.97,1.99,1.93,1.28,1.09,1.39,0.92,0.97,0.99,1.18,1.26,1.52,1.48,0.83,0.85,0.90,0.88,0.93,1.00,0.77,0.73,0.78,0.72,0.71,0.74,0.75,0.79,0.86,0.81,0.75,0.81,0.79,0.96,0.88,0.94,0.86,0.93,0.92,0.85,1.08,1.33,1.05,1.55,1.31,1.01,1.05,1.27,1.31,1.60,1.47,1.70,1.54,1.76,1.76,1.57,0.93,0.90,0.99,0.88,0.88,0.95,0.97,1.11,1.39,1.20,0.92,0.97,1.01,1.10,1.39,1.22,1.51,1.58,1.32,1.64,1.97,1.85,1.91,1.77,1.74,1.88,1.99,1.91,0.79,0.86,0.80,0.94,0.84,0.88,0.74,0.74,0.71,0.82,0.77,0.76,0.70,0.73,0.72,0.73,0.70,0.74,0.85,0.77,0.82,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.34,1.27,1.53,1.17,1.46,1.71,0.98,1.05,1.20,1.34,1.48,1.86,1.82,1.71,1.62,1.09,0.94,0.99,0.79,0.85,0.82,0.90,0.87,0.93,0.96,0.76,0.74,0.79,0.76,0.74,0.79,0.78,0.85,0.92,0.85,1.00,0.93,1.06,0.81,0.86,0.89,1.16,1.12,0.97,0.95,1.28,1.38,1.35,1.60,1.77,1.57,1.33,1.50,1.58,1.69,1.63,1.82,1.74,1.91,1.92,1.80,1.04,0.97,1.21,0.90,0.93,0.97,1.05,1.21,1.48,1.37,0.77,0.80,0.84,0.85,0.88,0.92,0.73,0.71,0.74,0.74,0.71,0.75,0.73,0.79,0.84,0.78,0.79,0.86,0.81,1.05,0.94,0.99,0.90,0.95,0.92,0.86,1.24,1.44,1.14,1.59,1.34,1.02,1.27,1.50,1.49,1.80,1.69,1.86,1.72,1.87,1.80,1.69,1.00,0.98,1.23,0.95,0.96,1.09,1.16,1.37,1.63,1.46,0.99,1.10,1.25,1.24,1.51,1.41,1.67,1.77,1.55,1.72,1.95,1.89,1.98,1.91,1.86,1.97,1.99,1.94,0.81,0.89,0.85,0.98,0.90,0.94,0.75,0.78,0.73,0.89,0.83,0.82,0.72,0.77,0.76,0.72,0.70,0.71,0.91,0.83,0.89,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.46,1.34,1.60,1.16,1.46,1.71,0.94,0.99,1.05,1.26,1.33,1.74,1.76,1.57,1.54,1.23,0.98,1.05,0.83,0.89,0.84,0.92,0.87,0.91,0.96,0.78,0.74,0.79,0.72,0.72,0.75,0.76,0.80,0.88,0.83,0.94,0.87,0.95,0.76,0.80,0.82,0.97,0.96,0.89,0.88,1.08,1.11,1.10,1.37,1.59,1.37,1.07,1.27,1.34,1.57,1.45,1.69,1.55,1.77,1.79,1.60,0.93,0.90,0.99,0.86,0.87,0.93,0.96,1.07,1.35,1.18,0.73,0.76,0.77,0.81,0.82,0.85,0.70,0.71,0.72,0.78,0.73,0.77,0.73,0.79,0.82,0.76,0.83,0.90,0.84,1.18,0.98,1.03,0.92,0.95,0.90,0.86,1.32,1.45,1.15,1.53,1.27,0.99,1.42,1.65,1.58,1.93,1.83,1.94,1.81,1.88,1.74,1.70,1.19,1.17,1.44,1.11,1.15,1.36,1.41,1.61,1.81,1.67,1.22,1.34,1.50,1.42,1.65,1.61,1.82,1.91,1.75,1.80,1.89,1.89,1.98,1.99,1.94,1.98,1.92,1.87,0.86,0.95,0.92,1.14,0.98,1.03,0.79,0.84,0.77,0.97,0.90,0.89,0.76,0.82,0.82,0.74,0.72,0.71,0.98,0.89,0.97,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.60,1.44,1.68,1.22,1.49,1.71,0.93,0.99,0.99,1.23,1.22,1.60,1.68,1.44,1.49,1.40,1.14,1.19,0.89,0.96,0.89,0.97,0.89,0.91,0.98,0.82,0.76,0.82,0.71,0.72,0.73,0.76,0.79,0.86,0.83,0.91,0.83,0.89,0.72,0.76,0.76,0.89,0.89,0.82,0.82,0.98,0.96,0.97,1.14,1.40,1.19,0.94,1.00,1.07,1.37,1.21,1.48,1.30,1.57,1.61,1.37,0.86,0.83,0.91,0.82,0.82,0.88,0.89,0.96,1.14,0.98,0.70,0.72,0.73,0.77,0.76,0.79,0.70,0.72,0.71,0.82,0.77,0.80,0.74,0.79,0.80,0.74,0.87,0.93,0.85,1.23,1.02,1.02,0.93,0.93,0.87,0.85,1.30,1.35,1.07,1.38,1.11,0.94,1.47,1.71,1.56,1.97,1.88,1.92,1.79,1.79,1.59,1.60,1.30,1.35,1.56,1.37,1.38,1.59,1.60,1.79,1.92,1.79,1.48,1.57,1.72,1.61,1.78,1.79,1.93,1.99,1.90,1.86,1.78,1.86,1.93,1.99,1.97,1.90,1.79,1.72,0.94,1.07,1.00,1.37,1.21,1.30,0.86,0.91,0.83,1.14,0.98,0.96,0.82,0.88,0.89,0.79,0.76,0.73,1.07,0.94,1.11,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.74,1.57,1.76,1.33,1.54,1.71,0.94,1.05,0.99,1.26,1.16,1.46,1.60,1.34,1.46,1.59,1.37,1.37,0.97,1.11,0.96,1.10,0.95,0.94,1.08,0.89,0.82,0.88,0.72,0.76,0.75,0.80,0.80,0.88,0.87,0.91,0.83,0.87,0.72,0.76,0.74,0.83,0.84,0.78,0.79,0.96,0.89,0.92,0.98,1.23,1.05,0.86,0.92,0.95,1.11,0.98,1.22,1.03,1.34,1.42,1.14,0.79,0.77,0.84,0.78,0.76,0.82,0.82,0.89,0.97,0.90,0.70,0.71,0.71,0.73,0.72,0.74,0.73,0.76,0.72,0.86,0.81,0.82,0.76,0.79,0.77,0.73,0.90,0.95,0.86,1.18,1.03,0.98,0.92,0.90,0.83,0.84,1.19,1.17,0.98,1.15,0.97,0.89,1.42,1.65,1.44,1.93,1.83,1.81,1.67,1.61,1.36,1.41,1.32,1.45,1.58,1.57,1.53,1.74,1.70,1.88,1.94,1.81,1.69,1.77,1.87,1.79,1.89,1.92,1.98,1.99,1.98,1.89,1.65,1.80,1.82,1.91,1.94,1.75,1.61,1.50,1.07,1.34,1.27,1.60,1.45,1.55,0.93,0.99,0.90,1.35,1.18,1.07,0.87,0.93,0.96,0.85,0.82,0.77,1.15,0.99,1.27,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.86,1.71,1.82,1.48,1.62,1.71,0.98,1.20,1.05,1.34,1.17,1.34,1.53,1.27,1.46,1.77,1.60,1.57,1.16,1.38,1.12,1.35,1.06,1.00,1.28,0.97,0.89,0.95,0.76,0.81,0.79,0.86,0.85,0.92,0.93,0.93,0.85,0.87,0.74,0.78,0.74,0.79,0.82,0.76,0.79,0.96,0.85,0.90,0.94,1.09,0.99,0.81,0.85,0.89,0.95,0.90,0.99,0.94,1.10,1.24,0.98,0.75,0.73,0.78,0.74,0.72,0.77,0.76,0.82,0.89,0.83,0.73,0.71,0.71,0.71,0.70,0.72,0.77,0.80,0.74,0.90,0.85,0.84,0.78,0.79,0.75,0.73,0.92,0.95,0.86,1.05,0.99,0.94,0.90,0.86,0.79,0.81,1.00,0.98,0.91,0.96,0.89,0.83,1.27,1.50,1.23,1.80,1.69,1.63,1.46,1.37,1.09,1.16,1.24,1.44,1.49,1.69,1.59,1.80,1.69,1.87,1.86,1.72,1.82,1.91,1.94,1.92,1.95,1.99,1.98,1.91,1.97,1.89,1.51,1.72,1.67,1.77,1.86,1.55,1.41,1.25,1.33,1.58,1.50,1.80,1.63,1.74,1.04,1.21,0.97,1.48,1.37,1.21,0.93,0.97,1.05,0.92,0.88,0.84,1.14,1.02,1.34,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.94,1.84,1.87,1.64,1.71,1.71,1.14,1.38,1.19,1.46,1.23,1.26,1.48,1.26,1.50,1.91,1.80,1.76,1.41,1.61,1.39,1.59,1.33,1.24,1.51,1.18,0.97,1.11,0.82,0.88,0.86,0.94,0.92,0.99,1.03,0.98,0.91,0.90,0.79,0.84,0.77,0.79,0.84,0.77,0.83,0.99,0.85,0.91,0.92,1.02,1.00,0.79,0.80,0.86,0.88,0.84,0.92,0.88,0.97,1.10,0.94,0.74,0.71,0.74,0.72,0.70,0.73,0.72,0.76,0.82,0.77,0.77,0.73,0.74,0.71,0.70,0.73,0.83,0.85,0.78,0.92,0.88,0.86,0.81,0.79,0.74,0.75,0.92,0.93,0.85,0.96,0.94,0.88,0.86,0.81,0.75,0.79,0.93,0.90,0.85,0.88,0.82,0.77,1.05,1.27,0.99,1.60,1.47,1.39,1.20,1.11,0.95,0.97,1.08,1.33,1.31,1.70,1.55,1.76,1.57,1.76,1.70,1.54,1.85,1.97,1.91,1.99,1.97,1.99,1.91,1.77,1.88,1.85,1.39,1.64,1.51,1.58,1.74,1.32,1.22,1.01,1.54,1.76,1.65,1.93,1.70,1.85,1.28,1.39,1.09,1.52,1.48,1.26,0.97,0.99,1.18,1.00,0.93,0.90,1.05,1.01,1.31,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.97,1.92,1.88,1.79,1.79,1.71,1.37,1.59,1.38,1.60,1.35,1.23,1.47,1.30,1.56,1.99,1.93,1.90,1.60,1.78,1.61,1.79,1.57,1.48,1.72,1.40,1.14,1.37,0.89,0.96,0.94,1.07,1.00,1.21,1.30,1.14,0.98,0.96,0.86,0.91,0.83,0.82,0.88,0.82,0.89,1.11,0.87,0.94,0.93,1.02,1.07,0.80,0.79,0.85,0.82,0.80,0.87,0.85,0.93,1.02,0.93,0.77,0.72,0.74,0.71,0.70,0.70,0.71,0.72,0.77,0.74,0.82,0.76,0.79,0.72,0.73,0.76,0.89,0.89,0.82,0.93,0.91,0.86,0.83,0.79,0.73,0.76,0.91,0.89,0.83,0.89,0.89,0.82,0.82,0.76,0.72,0.76,0.86,0.83,0.79,0.82,0.76,0.73,0.94,1.00,0.91,1.37,1.21,1.14,0.98,0.96,0.88,0.89,0.96,1.14,1.07,1.60,1.40,1.61,1.37,1.57,1.48,1.30,1.78,1.93,1.79,1.99,1.92,1.90,1.79,1.59,1.72,1.79,1.30,1.56,1.35,1.38,1.60,1.11,1.07,0.94,1.68,1.86,1.71,1.97,1.68,1.86,1.44,1.49,1.22,1.44,1.49,1.22,0.99,0.99,1.23,1.19,0.98,0.97,0.97,0.98,1.19,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.94,1.97,1.87,1.91,1.85,1.71,1.60,1.77,1.58,1.74,1.51,1.26,1.48,1.39,1.64,1.99,1.97,1.99,1.70,1.85,1.76,1.91,1.76,1.70,1.88,1.55,1.33,1.57,0.96,1.08,1.05,1.31,1.27,1.47,1.54,1.39,1.20,1.11,0.93,0.99,0.90,0.88,0.95,0.88,0.97,1.32,0.92,1.01,0.97,1.10,1.22,0.84,0.80,0.88,0.79,0.79,0.85,0.86,0.92,1.02,0.94,0.82,0.76,0.77,0.72,0.73,0.70,0.72,0.71,0.74,0.74,0.88,0.81,0.85,0.75,0.77,0.82,0.94,0.93,0.86,0.92,0.92,0.86,0.85,0.79,0.74,0.79,0.88,0.85,0.81,0.82,0.83,0.77,0.78,0.73,0.71,0.75,0.79,0.77,0.74,0.77,0.73,0.70,0.86,0.92,0.84,1.14,0.99,0.98,0.91,0.90,0.84,0.83,0.88,0.97,0.94,1.41,1.18,1.39,1.11,1.33,1.24,1.03,1.61,1.80,1.59,1.91,1.84,1.76,1.64,1.38,1.51,1.71,1.26,1.50,1.23,1.19,1.46,0.99,1.00,0.91,1.70,1.85,1.65,1.93,1.54,1.76,1.52,1.48,1.26,1.28,1.39,1.09,0.99,0.97,1.18,1.31,1.01,1.05,0.90,0.93,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.86,1.95,1.82,1.98,1.89,1.71,1.80,1.91,1.77,1.86,1.67,1.34,1.53,1.51,1.72,1.92,1.91,1.99,1.69,1.82,1.80,1.94,1.87,1.86,1.97,1.59,1.44,1.69,1.05,1.24,1.27,1.49,1.50,1.69,1.72,1.63,1.46,1.37,1.00,1.23,0.98,0.95,1.09,0.96,1.16,1.55,0.99,1.25,1.10,1.24,1.41,0.90,0.85,0.94,0.79,0.81,0.85,0.89,0.94,1.09,0.98,0.89,0.82,0.83,0.74,0.77,0.72,0.76,0.73,0.75,0.78,0.94,0.86,0.91,0.79,0.83,0.89,0.99,0.95,0.90,0.90,0.92,0.84,0.86,0.79,0.75,0.81,0.85,0.80,0.78,0.76,0.77,0.73,0.74,0.71,0.71,0.73,0.74,0.74,0.71,0.76,0.72,0.70,0.79,0.85,0.78,0.98,0.92,0.93,0.85,0.87,0.82,0.79,0.81,0.89,0.86,1.16,0.97,1.12,0.95,1.06,1.00,0.93,1.38,1.60,1.35,1.77,1.71,1.57,1.48,1.20,1.28,1.62,1.27,1.46,1.17,1.05,1.34,0.96,0.99,0.90,1.63,1.74,1.50,1.80,1.33,1.58,1.48,1.37,1.21,1.04,1.21,0.97,0.97,0.93,1.05,1.34,1.02,1.14,0.84,0.88,0.92,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.74,1.89,1.76,1.98,1.89,1.71,1.93,1.99,1.91,1.94,1.82,1.46,1.60,1.65,1.80,1.79,1.77,1.92,1.57,1.69,1.74,1.87,1.88,1.94,1.98,1.53,1.45,1.70,1.18,1.32,1.42,1.58,1.65,1.83,1.81,1.81,1.67,1.61,1.19,1.44,1.17,1.11,1.36,1.15,1.41,1.75,1.22,1.50,1.34,1.42,1.61,0.98,0.92,1.03,0.83,0.86,0.89,0.95,0.98,1.23,1.14,0.97,0.89,0.90,0.78,0.82,0.76,0.82,0.77,0.79,0.84,0.98,0.90,0.98,0.83,0.89,0.97,1.03,0.95,0.92,0.86,0.90,0.82,0.86,0.79,0.77,0.84,0.81,0.76,0.76,0.72,0.73,0.70,0.72,0.71,0.73,0.73,0.72,0.74,0.71,0.78,0.74,0.72,0.75,0.80,0.76,0.94,0.88,0.91,0.83,0.87,0.84,0.79,0.76,0.82,0.80,0.97,0.89,0.96,0.88,0.95,0.94,0.87,1.11,1.37,1.10,1.59,1.57,1.37,1.33,1.05,1.08,1.54,1.34,1.46,1.16,0.99,1.26,0.96,1.05,0.92,1.45,1.55,1.27,1.60,1.07,1.34,1.35,1.18,1.07,0.93,0.99,0.90,0.93,0.87,0.96,1.27,0.99,1.15,0.77,0.82,0.85,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.60,1.78,1.68,1.93,1.86,1.71,1.97,1.99,1.99,1.97,1.93,1.60,1.68,1.78,1.86,1.61,1.57,1.79,1.37,1.48,1.59,1.72,1.79,1.92,1.90,1.38,1.35,1.60,1.23,1.30,1.47,1.56,1.71,1.88,1.79,1.92,1.79,1.79,1.30,1.56,1.35,1.37,1.59,1.38,1.60,1.90,1.48,1.72,1.57,1.61,1.79,1.21,1.00,1.30,0.89,0.94,0.96,1.07,1.14,1.40,1.37,1.14,0.96,0.98,0.82,0.88,0.82,0.89,0.83,0.86,0.91,1.02,0.93,1.07,0.87,0.94,1.11,1.02,0.93,0.93,0.82,0.87,0.80,0.85,0.79,0.80,0.85,0.77,0.72,0.74,0.71,0.70,0.70,0.71,0.72,0.77,0.74,0.72,0.76,0.73,0.82,0.79,0.76,0.73,0.79,0.76,0.93,0.86,0.91,0.83,0.89,0.89,0.82,0.72,0.76,0.76,0.89,0.82,0.89,0.82,0.89,0.91,0.83,0.96,1.14,0.97,1.40,1.44,1.19,1.22,0.99,0.98,1.49,1.44,1.49,1.22,0.99,1.23,0.98,1.19,0.97,1.21,1.30,1.00,1.37,0.94,1.07,1.14,0.98,0.96,0.86,0.91,0.83,0.88,0.82,0.89,1.11,0.94,1.07,0.73,0.76,0.79,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.46,1.65,1.60,1.82,1.80,1.71,1.93,1.91,1.99,1.94,1.98,1.74,1.76,1.89,1.89,1.42,1.34,1.61,1.11,1.22,1.36,1.50,1.61,1.81,1.75,1.15,1.17,1.41,1.18,1.19,1.42,1.44,1.65,1.83,1.67,1.94,1.81,1.88,1.32,1.58,1.45,1.57,1.74,1.53,1.70,1.98,1.69,1.87,1.77,1.79,1.92,1.45,1.27,1.55,0.97,1.07,1.11,1.34,1.37,1.59,1.60,1.35,1.07,1.18,0.86,0.93,0.87,0.96,0.90,0.93,0.99,1.03,0.95,1.15,0.90,0.99,1.27,0.98,0.90,0.92,0.78,0.83,0.77,0.84,0.79,0.82,0.86,0.73,0.71,0.73,0.72,0.70,0.73,0.72,0.76,0.81,0.76,0.76,0.82,0.77,0.89,0.85,0.82,0.75,0.80,0.80,0.94,0.88,0.94,0.87,0.95,0.96,0.88,0.72,0.74,0.76,0.83,0.78,0.84,0.79,0.87,0.91,0.83,0.89,0.98,0.92,1.23,1.34,1.05,1.16,0.99,0.96,1.46,1.57,1.54,1.33,1.05,1.26,1.08,1.37,1.10,0.98,1.03,0.92,1.14,0.86,0.95,0.97,0.90,0.89,0.79,0.84,0.77,0.82,0.76,0.82,0.97,0.89,0.98,0.71,0.72,0.74,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.34,1.51,1.53,1.67,1.72,1.71,1.80,1.77,1.91,1.86,1.98,1.86,1.82,1.95,1.89,1.24,1.10,1.41,0.95,0.99,1.09,1.25,1.37,1.63,1.55,0.96,0.98,1.16,1.05,1.00,1.27,1.23,1.50,1.69,1.46,1.86,1.72,1.87,1.24,1.49,1.44,1.69,1.80,1.59,1.69,1.97,1.82,1.94,1.91,1.92,1.99,1.63,1.50,1.74,1.16,1.33,1.38,1.58,1.60,1.77,1.80,1.48,1.21,1.37,0.90,0.97,0.93,1.05,0.97,1.04,1.21,0.99,0.95,1.14,0.92,1.02,1.34,0.94,0.86,0.90,0.74,0.79,0.75,0.81,0.79,0.84,0.86,0.71,0.71,0.73,0.76,0.73,0.77,0.74,0.80,0.85,0.78,0.81,0.89,0.84,0.97,0.92,0.88,0.79,0.85,0.86,0.98,0.92,1.00,0.93,1.06,1.12,0.95,0.74,0.74,0.78,0.79,0.76,0.82,0.79,0.87,0.93,0.85,0.85,0.94,0.90,1.09,1.27,0.99,1.17,1.05,0.96,1.46,1.71,1.62,1.48,1.20,1.34,1.28,1.57,1.35,0.90,0.94,0.85,0.98,0.81,0.89,0.89,0.83,0.82,0.75,0.78,0.73,0.77,0.72,0.76,0.89,0.83,0.91,0.71,0.70,0.72,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00},
|
||||||
|
{1.26,1.39,1.48,1.51,1.64,1.71,1.60,1.58,1.77,1.74,1.91,1.94,1.87,1.97,1.85,1.10,0.97,1.22,0.88,0.92,0.95,1.01,1.11,1.39,1.32,0.88,0.90,0.97,0.96,0.93,1.05,0.99,1.27,1.47,1.20,1.70,1.54,1.76,1.08,1.31,1.33,1.70,1.76,1.55,1.57,1.88,1.85,1.91,1.97,1.99,1.99,1.70,1.65,1.85,1.41,1.54,1.61,1.76,1.80,1.91,1.93,1.52,1.26,1.48,0.92,0.99,0.97,1.18,1.09,1.28,1.39,0.94,0.93,1.05,0.92,1.01,1.31,0.88,0.81,0.86,0.72,0.75,0.74,0.79,0.79,0.86,0.85,0.71,0.73,0.75,0.82,0.77,0.83,0.78,0.85,0.88,0.81,0.88,0.97,0.90,1.18,1.00,0.93,0.86,0.92,0.94,1.14,0.99,1.24,1.03,1.33,1.39,1.11,0.79,0.77,0.84,0.79,0.77,0.84,0.83,0.90,0.98,0.91,0.85,0.92,0.91,1.02,1.26,1.00,1.23,1.19,0.99,1.50,1.84,1.71,1.64,1.38,1.46,1.51,1.76,1.59,0.84,0.88,0.80,0.94,0.79,0.86,0.82,0.77,0.76,0.74,0.74,0.71,0.73,0.70,0.72,0.82,0.77,0.85,0.74,0.70,0.73,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00,1.00}
|
||||||
|
}
|
190
nq/include/anorms.h
Normal file
190
nq/include/anorms.h
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
/*
|
||||||
|
anorms.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
{-0.525731, 0.000000, 0.850651},
|
||||||
|
{-0.442863, 0.238856, 0.864188},
|
||||||
|
{-0.295242, 0.000000, 0.955423},
|
||||||
|
{-0.309017, 0.500000, 0.809017},
|
||||||
|
{-0.162460, 0.262866, 0.951056},
|
||||||
|
{0.000000, 0.000000, 1.000000},
|
||||||
|
{0.000000, 0.850651, 0.525731},
|
||||||
|
{-0.147621, 0.716567, 0.681718},
|
||||||
|
{0.147621, 0.716567, 0.681718},
|
||||||
|
{0.000000, 0.525731, 0.850651},
|
||||||
|
{0.309017, 0.500000, 0.809017},
|
||||||
|
{0.525731, 0.000000, 0.850651},
|
||||||
|
{0.295242, 0.000000, 0.955423},
|
||||||
|
{0.442863, 0.238856, 0.864188},
|
||||||
|
{0.162460, 0.262866, 0.951056},
|
||||||
|
{-0.681718, 0.147621, 0.716567},
|
||||||
|
{-0.809017, 0.309017, 0.500000},
|
||||||
|
{-0.587785, 0.425325, 0.688191},
|
||||||
|
{-0.850651, 0.525731, 0.000000},
|
||||||
|
{-0.864188, 0.442863, 0.238856},
|
||||||
|
{-0.716567, 0.681718, 0.147621},
|
||||||
|
{-0.688191, 0.587785, 0.425325},
|
||||||
|
{-0.500000, 0.809017, 0.309017},
|
||||||
|
{-0.238856, 0.864188, 0.442863},
|
||||||
|
{-0.425325, 0.688191, 0.587785},
|
||||||
|
{-0.716567, 0.681718, -0.147621},
|
||||||
|
{-0.500000, 0.809017, -0.309017},
|
||||||
|
{-0.525731, 0.850651, 0.000000},
|
||||||
|
{0.000000, 0.850651, -0.525731},
|
||||||
|
{-0.238856, 0.864188, -0.442863},
|
||||||
|
{0.000000, 0.955423, -0.295242},
|
||||||
|
{-0.262866, 0.951056, -0.162460},
|
||||||
|
{0.000000, 1.000000, 0.000000},
|
||||||
|
{0.000000, 0.955423, 0.295242},
|
||||||
|
{-0.262866, 0.951056, 0.162460},
|
||||||
|
{0.238856, 0.864188, 0.442863},
|
||||||
|
{0.262866, 0.951056, 0.162460},
|
||||||
|
{0.500000, 0.809017, 0.309017},
|
||||||
|
{0.238856, 0.864188, -0.442863},
|
||||||
|
{0.262866, 0.951056, -0.162460},
|
||||||
|
{0.500000, 0.809017, -0.309017},
|
||||||
|
{0.850651, 0.525731, 0.000000},
|
||||||
|
{0.716567, 0.681718, 0.147621},
|
||||||
|
{0.716567, 0.681718, -0.147621},
|
||||||
|
{0.525731, 0.850651, 0.000000},
|
||||||
|
{0.425325, 0.688191, 0.587785},
|
||||||
|
{0.864188, 0.442863, 0.238856},
|
||||||
|
{0.688191, 0.587785, 0.425325},
|
||||||
|
{0.809017, 0.309017, 0.500000},
|
||||||
|
{0.681718, 0.147621, 0.716567},
|
||||||
|
{0.587785, 0.425325, 0.688191},
|
||||||
|
{0.955423, 0.295242, 0.000000},
|
||||||
|
{1.000000, 0.000000, 0.000000},
|
||||||
|
{0.951056, 0.162460, 0.262866},
|
||||||
|
{0.850651, -0.525731, 0.000000},
|
||||||
|
{0.955423, -0.295242, 0.000000},
|
||||||
|
{0.864188, -0.442863, 0.238856},
|
||||||
|
{0.951056, -0.162460, 0.262866},
|
||||||
|
{0.809017, -0.309017, 0.500000},
|
||||||
|
{0.681718, -0.147621, 0.716567},
|
||||||
|
{0.850651, 0.000000, 0.525731},
|
||||||
|
{0.864188, 0.442863, -0.238856},
|
||||||
|
{0.809017, 0.309017, -0.500000},
|
||||||
|
{0.951056, 0.162460, -0.262866},
|
||||||
|
{0.525731, 0.000000, -0.850651},
|
||||||
|
{0.681718, 0.147621, -0.716567},
|
||||||
|
{0.681718, -0.147621, -0.716567},
|
||||||
|
{0.850651, 0.000000, -0.525731},
|
||||||
|
{0.809017, -0.309017, -0.500000},
|
||||||
|
{0.864188, -0.442863, -0.238856},
|
||||||
|
{0.951056, -0.162460, -0.262866},
|
||||||
|
{0.147621, 0.716567, -0.681718},
|
||||||
|
{0.309017, 0.500000, -0.809017},
|
||||||
|
{0.425325, 0.688191, -0.587785},
|
||||||
|
{0.442863, 0.238856, -0.864188},
|
||||||
|
{0.587785, 0.425325, -0.688191},
|
||||||
|
{0.688191, 0.587785, -0.425325},
|
||||||
|
{-0.147621, 0.716567, -0.681718},
|
||||||
|
{-0.309017, 0.500000, -0.809017},
|
||||||
|
{0.000000, 0.525731, -0.850651},
|
||||||
|
{-0.525731, 0.000000, -0.850651},
|
||||||
|
{-0.442863, 0.238856, -0.864188},
|
||||||
|
{-0.295242, 0.000000, -0.955423},
|
||||||
|
{-0.162460, 0.262866, -0.951056},
|
||||||
|
{0.000000, 0.000000, -1.000000},
|
||||||
|
{0.295242, 0.000000, -0.955423},
|
||||||
|
{0.162460, 0.262866, -0.951056},
|
||||||
|
{-0.442863, -0.238856, -0.864188},
|
||||||
|
{-0.309017, -0.500000, -0.809017},
|
||||||
|
{-0.162460, -0.262866, -0.951056},
|
||||||
|
{0.000000, -0.850651, -0.525731},
|
||||||
|
{-0.147621, -0.716567, -0.681718},
|
||||||
|
{0.147621, -0.716567, -0.681718},
|
||||||
|
{0.000000, -0.525731, -0.850651},
|
||||||
|
{0.309017, -0.500000, -0.809017},
|
||||||
|
{0.442863, -0.238856, -0.864188},
|
||||||
|
{0.162460, -0.262866, -0.951056},
|
||||||
|
{0.238856, -0.864188, -0.442863},
|
||||||
|
{0.500000, -0.809017, -0.309017},
|
||||||
|
{0.425325, -0.688191, -0.587785},
|
||||||
|
{0.716567, -0.681718, -0.147621},
|
||||||
|
{0.688191, -0.587785, -0.425325},
|
||||||
|
{0.587785, -0.425325, -0.688191},
|
||||||
|
{0.000000, -0.955423, -0.295242},
|
||||||
|
{0.000000, -1.000000, 0.000000},
|
||||||
|
{0.262866, -0.951056, -0.162460},
|
||||||
|
{0.000000, -0.850651, 0.525731},
|
||||||
|
{0.000000, -0.955423, 0.295242},
|
||||||
|
{0.238856, -0.864188, 0.442863},
|
||||||
|
{0.262866, -0.951056, 0.162460},
|
||||||
|
{0.500000, -0.809017, 0.309017},
|
||||||
|
{0.716567, -0.681718, 0.147621},
|
||||||
|
{0.525731, -0.850651, 0.000000},
|
||||||
|
{-0.238856, -0.864188, -0.442863},
|
||||||
|
{-0.500000, -0.809017, -0.309017},
|
||||||
|
{-0.262866, -0.951056, -0.162460},
|
||||||
|
{-0.850651, -0.525731, 0.000000},
|
||||||
|
{-0.716567, -0.681718, -0.147621},
|
||||||
|
{-0.716567, -0.681718, 0.147621},
|
||||||
|
{-0.525731, -0.850651, 0.000000},
|
||||||
|
{-0.500000, -0.809017, 0.309017},
|
||||||
|
{-0.238856, -0.864188, 0.442863},
|
||||||
|
{-0.262866, -0.951056, 0.162460},
|
||||||
|
{-0.864188, -0.442863, 0.238856},
|
||||||
|
{-0.809017, -0.309017, 0.500000},
|
||||||
|
{-0.688191, -0.587785, 0.425325},
|
||||||
|
{-0.681718, -0.147621, 0.716567},
|
||||||
|
{-0.442863, -0.238856, 0.864188},
|
||||||
|
{-0.587785, -0.425325, 0.688191},
|
||||||
|
{-0.309017, -0.500000, 0.809017},
|
||||||
|
{-0.147621, -0.716567, 0.681718},
|
||||||
|
{-0.425325, -0.688191, 0.587785},
|
||||||
|
{-0.162460, -0.262866, 0.951056},
|
||||||
|
{0.442863, -0.238856, 0.864188},
|
||||||
|
{0.162460, -0.262866, 0.951056},
|
||||||
|
{0.309017, -0.500000, 0.809017},
|
||||||
|
{0.147621, -0.716567, 0.681718},
|
||||||
|
{0.000000, -0.525731, 0.850651},
|
||||||
|
{0.425325, -0.688191, 0.587785},
|
||||||
|
{0.587785, -0.425325, 0.688191},
|
||||||
|
{0.688191, -0.587785, 0.425325},
|
||||||
|
{-0.955423, 0.295242, 0.000000},
|
||||||
|
{-0.951056, 0.162460, 0.262866},
|
||||||
|
{-1.000000, 0.000000, 0.000000},
|
||||||
|
{-0.850651, 0.000000, 0.525731},
|
||||||
|
{-0.955423, -0.295242, 0.000000},
|
||||||
|
{-0.951056, -0.162460, 0.262866},
|
||||||
|
{-0.864188, 0.442863, -0.238856},
|
||||||
|
{-0.951056, 0.162460, -0.262866},
|
||||||
|
{-0.809017, 0.309017, -0.500000},
|
||||||
|
{-0.864188, -0.442863, -0.238856},
|
||||||
|
{-0.951056, -0.162460, -0.262866},
|
||||||
|
{-0.809017, -0.309017, -0.500000},
|
||||||
|
{-0.681718, 0.147621, -0.716567},
|
||||||
|
{-0.681718, -0.147621, -0.716567},
|
||||||
|
{-0.850651, 0.000000, -0.525731},
|
||||||
|
{-0.688191, 0.587785, -0.425325},
|
||||||
|
{-0.587785, 0.425325, -0.688191},
|
||||||
|
{-0.425325, 0.688191, -0.587785},
|
||||||
|
{-0.425325, -0.688191, -0.587785},
|
||||||
|
{-0.587785, -0.425325, -0.688191},
|
||||||
|
{-0.688191, -0.587785, -0.425325},
|
154
nq/include/asm_draw.h
Normal file
154
nq/include/asm_draw.h
Normal file
|
@ -0,0 +1,154 @@
|
||||||
|
/*
|
||||||
|
asm_draw.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
//
|
||||||
|
// !!! note that this file must match the corresponding C structures at all
|
||||||
|
// times !!!
|
||||||
|
//
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in r_local.h too !!!
|
||||||
|
#define NEAR_CLIP 0.01
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in r_local.h too !!!
|
||||||
|
#define CYCLE 128
|
||||||
|
|
||||||
|
// espan_t structure
|
||||||
|
// !!! if this is changed, it must be changed in r_shared.h too !!!
|
||||||
|
#define espan_t_u 0
|
||||||
|
#define espan_t_v 4
|
||||||
|
#define espan_t_count 8
|
||||||
|
#define espan_t_pnext 12
|
||||||
|
#define espan_t_size 16
|
||||||
|
|
||||||
|
// sspan_t structure
|
||||||
|
// !!! if this is changed, it must be changed in d_local.h too !!!
|
||||||
|
#define sspan_t_u 0
|
||||||
|
#define sspan_t_v 4
|
||||||
|
#define sspan_t_count 8
|
||||||
|
#define sspan_t_size 12
|
||||||
|
|
||||||
|
// spanpackage_t structure
|
||||||
|
// !!! if this is changed, it must be changed in d_polyset.c too !!!
|
||||||
|
#define spanpackage_t_pdest 0
|
||||||
|
#define spanpackage_t_pz 4
|
||||||
|
#define spanpackage_t_count 8
|
||||||
|
#define spanpackage_t_ptex 12
|
||||||
|
#define spanpackage_t_sfrac 16
|
||||||
|
#define spanpackage_t_tfrac 20
|
||||||
|
#define spanpackage_t_light 24
|
||||||
|
#define spanpackage_t_zi 28
|
||||||
|
#define spanpackage_t_size 32
|
||||||
|
|
||||||
|
// edge_t structure
|
||||||
|
// !!! if this is changed, it must be changed in r_shared.h too !!!
|
||||||
|
#define et_u 0
|
||||||
|
#define et_u_step 4
|
||||||
|
#define et_prev 8
|
||||||
|
#define et_next 12
|
||||||
|
#define et_surfs 16
|
||||||
|
#define et_nextremove 20
|
||||||
|
#define et_nearzi 24
|
||||||
|
#define et_owner 28
|
||||||
|
#define et_size 32
|
||||||
|
|
||||||
|
// surf_t structure
|
||||||
|
// !!! if this is changed, it must be changed in r_shared.h too !!!
|
||||||
|
#define SURF_T_SHIFT 6
|
||||||
|
#define st_next 0
|
||||||
|
#define st_prev 4
|
||||||
|
#define st_spans 8
|
||||||
|
#define st_key 12
|
||||||
|
#define st_last_u 16
|
||||||
|
#define st_spanstate 20
|
||||||
|
#define st_flags 24
|
||||||
|
#define st_data 28
|
||||||
|
#define st_entity 32
|
||||||
|
#define st_nearzi 36
|
||||||
|
#define st_insubmodel 40
|
||||||
|
#define st_d_ziorigin 44
|
||||||
|
#define st_d_zistepu 48
|
||||||
|
#define st_d_zistepv 52
|
||||||
|
#define st_pad 56
|
||||||
|
#define st_size 64
|
||||||
|
|
||||||
|
// clipplane_t structure
|
||||||
|
// !!! if this is changed, it must be changed in r_local.h too !!!
|
||||||
|
#define cp_normal 0
|
||||||
|
#define cp_dist 12
|
||||||
|
#define cp_next 16
|
||||||
|
#define cp_leftedge 20
|
||||||
|
#define cp_rightedge 21
|
||||||
|
#define cp_reserved 22
|
||||||
|
#define cp_size 24
|
||||||
|
|
||||||
|
// medge_t structure
|
||||||
|
// !!! if this is changed, it must be changed in model.h too !!!
|
||||||
|
#define me_v 0
|
||||||
|
#define me_cachededgeoffset 4
|
||||||
|
#define me_size 8
|
||||||
|
|
||||||
|
// mvertex_t structure
|
||||||
|
// !!! if this is changed, it must be changed in model.h too !!!
|
||||||
|
#define mv_position 0
|
||||||
|
#define mv_size 12
|
||||||
|
|
||||||
|
// refdef_t structure
|
||||||
|
// !!! if this is changed, it must be changed in render.h too !!!
|
||||||
|
#define rd_vrect 0
|
||||||
|
#define rd_aliasvrect 20
|
||||||
|
#define rd_vrectright 40
|
||||||
|
#define rd_vrectbottom 44
|
||||||
|
#define rd_aliasvrectright 48
|
||||||
|
#define rd_aliasvrectbottom 52
|
||||||
|
#define rd_vrectrightedge 56
|
||||||
|
#define rd_fvrectx 60
|
||||||
|
#define rd_fvrecty 64
|
||||||
|
#define rd_fvrectx_adj 68
|
||||||
|
#define rd_fvrecty_adj 72
|
||||||
|
#define rd_vrect_x_adj_shift20 76
|
||||||
|
#define rd_vrectright_adj_shift20 80
|
||||||
|
#define rd_fvrectright_adj 84
|
||||||
|
#define rd_fvrectbottom_adj 88
|
||||||
|
#define rd_fvrectright 92
|
||||||
|
#define rd_fvrectbottom 96
|
||||||
|
#define rd_horizontalFieldOfView 100
|
||||||
|
#define rd_xOrigin 104
|
||||||
|
#define rd_yOrigin 108
|
||||||
|
#define rd_vieworg 112
|
||||||
|
#define rd_viewangles 124
|
||||||
|
#define rd_ambientlight 136
|
||||||
|
#define rd_size 140
|
||||||
|
|
||||||
|
// mtriangle_t structure
|
||||||
|
// !!! if this is changed, it must be changed in model.h too !!!
|
||||||
|
#define mtri_facesfront 0
|
||||||
|
#define mtri_vertindex 4
|
||||||
|
#define mtri_size 16 // !!! if this changes, array indexing in !!!
|
||||||
|
// !!! d_polysa.s must be changed to match !!!
|
||||||
|
#define mtri_shift 4
|
||||||
|
|
106
nq/include/asm_ia32.h
Normal file
106
nq/include/asm_ia32.h
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
/*
|
||||||
|
asm_ia32.h
|
||||||
|
|
||||||
|
Base definitions for IA32 assembler routines
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _ASM_IA32_H_
|
||||||
|
#define _ASM_IA32_H_
|
||||||
|
|
||||||
|
#ifdef HAVE_SYM_PREFIX_UNDERSCORE
|
||||||
|
#define C(label) _##label
|
||||||
|
#else
|
||||||
|
#define C(label) label
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//
|
||||||
|
// !!! note that this file must match the corresponding C structures at all
|
||||||
|
// times !!!
|
||||||
|
//
|
||||||
|
|
||||||
|
// plane_t structure
|
||||||
|
// !!! if this is changed, it must be changed in model.h too !!!
|
||||||
|
// !!! if the size of this is changed, the array lookup in SV_HullPointContents
|
||||||
|
// must be changed too !!!
|
||||||
|
#define pl_normal 0
|
||||||
|
#define pl_dist 12
|
||||||
|
#define pl_type 16
|
||||||
|
#define pl_signbits 17
|
||||||
|
#define pl_pad 18
|
||||||
|
#define pl_size 20
|
||||||
|
|
||||||
|
// hull_t structure
|
||||||
|
// !!! if this is changed, it must be changed in model.h too !!!
|
||||||
|
#define hu_clipnodes 0
|
||||||
|
#define hu_planes 4
|
||||||
|
#define hu_firstclipnode 8
|
||||||
|
#define hu_lastclipnode 12
|
||||||
|
#define hu_clip_mins 16
|
||||||
|
#define hu_clip_maxs 28
|
||||||
|
#define hu_size 40
|
||||||
|
|
||||||
|
// dnode_t structure
|
||||||
|
// !!! if this is changed, it must be changed in bspfile.h too !!!
|
||||||
|
#define nd_planenum 0
|
||||||
|
#define nd_children 4
|
||||||
|
#define nd_mins 8
|
||||||
|
#define nd_maxs 20
|
||||||
|
#define nd_firstface 32
|
||||||
|
#define nd_numfaces 36
|
||||||
|
#define nd_size 40
|
||||||
|
|
||||||
|
// sfxcache_t structure
|
||||||
|
// !!! if this is changed, it much be changed in sound.h too !!!
|
||||||
|
#define sfxc_length 0
|
||||||
|
#define sfxc_loopstart 4
|
||||||
|
#define sfxc_speed 8
|
||||||
|
#define sfxc_width 12
|
||||||
|
#define sfxc_stereo 16
|
||||||
|
#define sfxc_data 20
|
||||||
|
|
||||||
|
// channel_t structure
|
||||||
|
// !!! if this is changed, it much be changed in sound.h too !!!
|
||||||
|
#define ch_sfx 0
|
||||||
|
#define ch_leftvol 4
|
||||||
|
#define ch_rightvol 8
|
||||||
|
#define ch_end 12
|
||||||
|
#define ch_pos 16
|
||||||
|
#define ch_looping 20
|
||||||
|
#define ch_entnum 24
|
||||||
|
#define ch_entchannel 28
|
||||||
|
#define ch_origin 32
|
||||||
|
#define ch_dist_mult 44
|
||||||
|
#define ch_master_vol 48
|
||||||
|
#define ch_phase 52
|
||||||
|
#define ch_oldphase 56
|
||||||
|
#define ch_size 60
|
||||||
|
|
||||||
|
// portable_samplepair_t structure
|
||||||
|
// !!! if this is changed, it much be changed in sound.h too !!!
|
||||||
|
#define psp_left 0
|
||||||
|
#define psp_right 4
|
||||||
|
#define psp_size 8
|
||||||
|
|
||||||
|
#endif // _ASM_IA32_H_
|
151
nq/include/block16.h
Normal file
151
nq/include/block16.h
Normal file
|
@ -0,0 +1,151 @@
|
||||||
|
/*
|
||||||
|
block16.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
LEnter16_16:
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movw 0x12345678(,%eax,2),%ax
|
||||||
|
LBPatch0:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movw %ax,(%edi)
|
||||||
|
movw 0x12345678(,%ecx,2),%cx
|
||||||
|
LBPatch1:
|
||||||
|
movw %cx,2(%edi)
|
||||||
|
addl $0x4,%edi
|
||||||
|
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movw 0x12345678(,%eax,2),%ax
|
||||||
|
LBPatch2:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movw %ax,(%edi)
|
||||||
|
movw 0x12345678(,%ecx,2),%cx
|
||||||
|
LBPatch3:
|
||||||
|
movw %cx,2(%edi)
|
||||||
|
addl $0x4,%edi
|
||||||
|
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movw 0x12345678(,%eax,2),%ax
|
||||||
|
LBPatch4:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movw %ax,(%edi)
|
||||||
|
movw 0x12345678(,%ecx,2),%cx
|
||||||
|
LBPatch5:
|
||||||
|
movw %cx,2(%edi)
|
||||||
|
addl $0x4,%edi
|
||||||
|
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movw 0x12345678(,%eax,2),%ax
|
||||||
|
LBPatch6:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movw %ax,(%edi)
|
||||||
|
movw 0x12345678(,%ecx,2),%cx
|
||||||
|
LBPatch7:
|
||||||
|
movw %cx,2(%edi)
|
||||||
|
addl $0x4,%edi
|
||||||
|
|
||||||
|
LEnter8_16:
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movw 0x12345678(,%eax,2),%ax
|
||||||
|
LBPatch8:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movw %ax,(%edi)
|
||||||
|
movw 0x12345678(,%ecx,2),%cx
|
||||||
|
LBPatch9:
|
||||||
|
movw %cx,2(%edi)
|
||||||
|
addl $0x4,%edi
|
||||||
|
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movw 0x12345678(,%eax,2),%ax
|
||||||
|
LBPatch10:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movw %ax,(%edi)
|
||||||
|
movw 0x12345678(,%ecx,2),%cx
|
||||||
|
LBPatch11:
|
||||||
|
movw %cx,2(%edi)
|
||||||
|
addl $0x4,%edi
|
||||||
|
|
||||||
|
LEnter4_16:
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movw 0x12345678(,%eax,2),%ax
|
||||||
|
LBPatch12:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movw %ax,(%edi)
|
||||||
|
movw 0x12345678(,%ecx,2),%cx
|
||||||
|
LBPatch13:
|
||||||
|
movw %cx,2(%edi)
|
||||||
|
addl $0x4,%edi
|
||||||
|
|
||||||
|
LEnter2_16:
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movw 0x12345678(,%eax,2),%ax
|
||||||
|
LBPatch14:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movw %ax,(%edi)
|
||||||
|
movw 0x12345678(,%ecx,2),%cx
|
||||||
|
LBPatch15:
|
||||||
|
movw %cx,2(%edi)
|
||||||
|
addl $0x4,%edi
|
152
nq/include/block8.h
Normal file
152
nq/include/block8.h
Normal file
|
@ -0,0 +1,152 @@
|
||||||
|
/*
|
||||||
|
block8.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
LEnter16_8:
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movb 0x12345678(%eax),%al
|
||||||
|
LBPatch0:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %al,(%edi)
|
||||||
|
movb 0x12345678(%ecx),%cl
|
||||||
|
LBPatch1:
|
||||||
|
movb %cl,1(%edi)
|
||||||
|
addl $0x2,%edi
|
||||||
|
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movb 0x12345678(%eax),%al
|
||||||
|
LBPatch2:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %al,(%edi)
|
||||||
|
movb 0x12345678(%ecx),%cl
|
||||||
|
LBPatch3:
|
||||||
|
movb %cl,1(%edi)
|
||||||
|
addl $0x2,%edi
|
||||||
|
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movb 0x12345678(%eax),%al
|
||||||
|
LBPatch4:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %al,(%edi)
|
||||||
|
movb 0x12345678(%ecx),%cl
|
||||||
|
LBPatch5:
|
||||||
|
movb %cl,1(%edi)
|
||||||
|
addl $0x2,%edi
|
||||||
|
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movb 0x12345678(%eax),%al
|
||||||
|
LBPatch6:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %al,(%edi)
|
||||||
|
movb 0x12345678(%ecx),%cl
|
||||||
|
LBPatch7:
|
||||||
|
movb %cl,1(%edi)
|
||||||
|
addl $0x2,%edi
|
||||||
|
|
||||||
|
LEnter8_8:
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movb 0x12345678(%eax),%al
|
||||||
|
LBPatch8:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %al,(%edi)
|
||||||
|
movb 0x12345678(%ecx),%cl
|
||||||
|
LBPatch9:
|
||||||
|
movb %cl,1(%edi)
|
||||||
|
addl $0x2,%edi
|
||||||
|
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movb 0x12345678(%eax),%al
|
||||||
|
LBPatch10:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %al,(%edi)
|
||||||
|
movb 0x12345678(%ecx),%cl
|
||||||
|
LBPatch11:
|
||||||
|
movb %cl,1(%edi)
|
||||||
|
addl $0x2,%edi
|
||||||
|
|
||||||
|
LEnter4_8:
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movb 0x12345678(%eax),%al
|
||||||
|
LBPatch12:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %al,(%edi)
|
||||||
|
movb 0x12345678(%ecx),%cl
|
||||||
|
LBPatch13:
|
||||||
|
movb %cl,1(%edi)
|
||||||
|
addl $0x2,%edi
|
||||||
|
|
||||||
|
LEnter2_8:
|
||||||
|
movb (%esi),%al
|
||||||
|
movb (%esi,%ebx,),%cl
|
||||||
|
movb %dh,%ah
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %dh,%ch
|
||||||
|
leal (%esi,%ebx,2),%esi
|
||||||
|
movb 0x12345678(%eax),%al
|
||||||
|
LBPatch14:
|
||||||
|
addl %ebp,%edx
|
||||||
|
movb %al,(%edi)
|
||||||
|
movb 0x12345678(%ecx),%cl
|
||||||
|
LBPatch15:
|
||||||
|
movb %cl,1(%edi)
|
||||||
|
addl $0x2,%edi
|
||||||
|
|
338
nq/include/bspfile.h
Normal file
338
nq/include/bspfile.h
Normal file
|
@ -0,0 +1,338 @@
|
||||||
|
/*
|
||||||
|
bspfile.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __bspfile_h
|
||||||
|
#define __bspfile_h
|
||||||
|
|
||||||
|
#include "qtypes.h"
|
||||||
|
|
||||||
|
// upper design bounds
|
||||||
|
|
||||||
|
#define MAX_MAP_HULLS 4
|
||||||
|
|
||||||
|
#define MAX_MAP_MODELS 256
|
||||||
|
#define MAX_MAP_BRUSHES 4096
|
||||||
|
#define MAX_MAP_ENTITIES 1024
|
||||||
|
#define MAX_MAP_ENTSTRING 65536
|
||||||
|
|
||||||
|
#define MAX_MAP_PLANES 32767
|
||||||
|
#define MAX_MAP_NODES 32767 // because negative shorts are contents
|
||||||
|
#define MAX_MAP_CLIPNODES 32767 //
|
||||||
|
#define MAX_MAP_LEAFS 8192
|
||||||
|
#define MAX_MAP_VERTS 65535
|
||||||
|
#define MAX_MAP_FACES 65535
|
||||||
|
#define MAX_MAP_MARKSURFACES 65535
|
||||||
|
#define MAX_MAP_TEXINFO 4096
|
||||||
|
#define MAX_MAP_EDGES 256000
|
||||||
|
#define MAX_MAP_SURFEDGES 512000
|
||||||
|
#define MAX_MAP_TEXTURES 512
|
||||||
|
#define MAX_MAP_MIPTEX 0x200000
|
||||||
|
#define MAX_MAP_LIGHTING 0x100000
|
||||||
|
#define MAX_MAP_VISIBILITY 0x100000
|
||||||
|
|
||||||
|
#define MAX_MAP_PORTALS 65536
|
||||||
|
|
||||||
|
// key / value pair sizes
|
||||||
|
|
||||||
|
#define MAX_KEY 32
|
||||||
|
#define MAX_VALUE 1024
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
#define BSPVERSION 29
|
||||||
|
#define TOOLVERSION 2
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int fileofs, filelen;
|
||||||
|
} lump_t;
|
||||||
|
|
||||||
|
#define LUMP_ENTITIES 0
|
||||||
|
#define LUMP_PLANES 1
|
||||||
|
#define LUMP_TEXTURES 2
|
||||||
|
#define LUMP_VERTEXES 3
|
||||||
|
#define LUMP_VISIBILITY 4
|
||||||
|
#define LUMP_NODES 5
|
||||||
|
#define LUMP_TEXINFO 6
|
||||||
|
#define LUMP_FACES 7
|
||||||
|
#define LUMP_LIGHTING 8
|
||||||
|
#define LUMP_CLIPNODES 9
|
||||||
|
#define LUMP_LEAFS 10
|
||||||
|
#define LUMP_MARKSURFACES 11
|
||||||
|
#define LUMP_EDGES 12
|
||||||
|
#define LUMP_SURFEDGES 13
|
||||||
|
#define LUMP_MODELS 14
|
||||||
|
|
||||||
|
#define HEADER_LUMPS 15
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
float mins[3], maxs[3];
|
||||||
|
float origin[3];
|
||||||
|
int headnode[MAX_MAP_HULLS];
|
||||||
|
int visleafs; // not including the solid leaf 0
|
||||||
|
int firstface, numfaces;
|
||||||
|
} dmodel_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int version;
|
||||||
|
lump_t lumps[HEADER_LUMPS];
|
||||||
|
} dheader_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int nummiptex;
|
||||||
|
int dataofs[4]; // [nummiptex]
|
||||||
|
} dmiptexlump_t;
|
||||||
|
|
||||||
|
#define MIPLEVELS 4
|
||||||
|
typedef struct miptex_s
|
||||||
|
{
|
||||||
|
char name[16];
|
||||||
|
unsigned width, height;
|
||||||
|
unsigned offsets[MIPLEVELS]; // four mip maps stored
|
||||||
|
} miptex_t;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
float point[3];
|
||||||
|
} dvertex_t;
|
||||||
|
|
||||||
|
|
||||||
|
// 0-2 are axial planes
|
||||||
|
#define PLANE_X 0
|
||||||
|
#define PLANE_Y 1
|
||||||
|
#define PLANE_Z 2
|
||||||
|
|
||||||
|
// 3-5 are non-axial planes snapped to the nearest
|
||||||
|
#define PLANE_ANYX 3
|
||||||
|
#define PLANE_ANYY 4
|
||||||
|
#define PLANE_ANYZ 5
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
float normal[3];
|
||||||
|
float dist;
|
||||||
|
int type; // PLANE_X - PLANE_ANYZ ?remove? trivial to regenerate
|
||||||
|
} dplane_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define CONTENTS_EMPTY -1
|
||||||
|
#define CONTENTS_SOLID -2
|
||||||
|
#define CONTENTS_WATER -3
|
||||||
|
#define CONTENTS_SLIME -4
|
||||||
|
#define CONTENTS_LAVA -5
|
||||||
|
#define CONTENTS_SKY -6
|
||||||
|
#define CONTENTS_ORIGIN -7 // removed at csg time
|
||||||
|
#define CONTENTS_CLIP -8 // changed to contents_solid
|
||||||
|
|
||||||
|
#define CONTENTS_CURRENT_0 -9
|
||||||
|
#define CONTENTS_CURRENT_90 -10
|
||||||
|
#define CONTENTS_CURRENT_180 -11
|
||||||
|
#define CONTENTS_CURRENT_270 -12
|
||||||
|
#define CONTENTS_CURRENT_UP -13
|
||||||
|
#define CONTENTS_CURRENT_DOWN -14
|
||||||
|
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in asm_ia32.h too !!!
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int planenum;
|
||||||
|
short children[2]; // negative numbers are -(leafs+1), not nodes
|
||||||
|
short mins[3]; // for sphere culling
|
||||||
|
short maxs[3];
|
||||||
|
unsigned short firstface;
|
||||||
|
unsigned short numfaces; // counting both sides
|
||||||
|
} dnode_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int planenum;
|
||||||
|
short children[2]; // negative numbers are contents
|
||||||
|
} dclipnode_t;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct texinfo_s
|
||||||
|
{
|
||||||
|
float vecs[2][4]; // [s/t][xyz offset]
|
||||||
|
int miptex;
|
||||||
|
int flags;
|
||||||
|
} texinfo_t;
|
||||||
|
#define TEX_SPECIAL 1 // sky or slime, no lightmap or 256 subdivision
|
||||||
|
|
||||||
|
// note that edge 0 is never used, because negative edge nums are used for
|
||||||
|
// counterclockwise use of the edge in a face
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
unsigned short v[2]; // vertex numbers
|
||||||
|
} dedge_t;
|
||||||
|
|
||||||
|
#define MAXLIGHTMAPS 4
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
short planenum;
|
||||||
|
short side;
|
||||||
|
|
||||||
|
int firstedge; // we must support > 64k edges
|
||||||
|
short numedges;
|
||||||
|
short texinfo;
|
||||||
|
|
||||||
|
// lighting info
|
||||||
|
byte styles[MAXLIGHTMAPS];
|
||||||
|
int lightofs; // start of [numstyles*surfsize] samples
|
||||||
|
} dface_t;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define AMBIENT_WATER 0
|
||||||
|
#define AMBIENT_SKY 1
|
||||||
|
#define AMBIENT_SLIME 2
|
||||||
|
#define AMBIENT_LAVA 3
|
||||||
|
|
||||||
|
#define NUM_AMBIENTS 4 // automatic ambient sounds
|
||||||
|
|
||||||
|
// leaf 0 is the generic CONTENTS_SOLID leaf, used for all solid areas
|
||||||
|
// all other leafs need visibility info
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int contents;
|
||||||
|
int visofs; // -1 = no visibility info
|
||||||
|
|
||||||
|
short mins[3]; // for frustum culling
|
||||||
|
short maxs[3];
|
||||||
|
|
||||||
|
unsigned short firstmarksurface;
|
||||||
|
unsigned short nummarksurfaces;
|
||||||
|
|
||||||
|
byte ambient_level[NUM_AMBIENTS];
|
||||||
|
} dleaf_t;
|
||||||
|
|
||||||
|
|
||||||
|
//============================================================================
|
||||||
|
|
||||||
|
#ifndef QUAKE_GAME
|
||||||
|
|
||||||
|
#define ANGLE_UP -1
|
||||||
|
#define ANGLE_DOWN -2
|
||||||
|
|
||||||
|
|
||||||
|
// the utilities get to be lazy and just use large static arrays
|
||||||
|
|
||||||
|
extern int nummodels;
|
||||||
|
extern dmodel_t dmodels[MAX_MAP_MODELS];
|
||||||
|
|
||||||
|
extern int visdatasize;
|
||||||
|
extern byte dvisdata[MAX_MAP_VISIBILITY];
|
||||||
|
|
||||||
|
extern int lightdatasize;
|
||||||
|
extern byte dlightdata[MAX_MAP_LIGHTING];
|
||||||
|
|
||||||
|
extern int texdatasize;
|
||||||
|
extern byte dtexdata[MAX_MAP_MIPTEX]; // (dmiptexlump_t)
|
||||||
|
|
||||||
|
extern int entdatasize;
|
||||||
|
extern char dentdata[MAX_MAP_ENTSTRING];
|
||||||
|
|
||||||
|
extern int numleafs;
|
||||||
|
extern dleaf_t dleafs[MAX_MAP_LEAFS];
|
||||||
|
|
||||||
|
extern int numplanes;
|
||||||
|
extern dplane_t dplanes[MAX_MAP_PLANES];
|
||||||
|
|
||||||
|
extern int numvertexes;
|
||||||
|
extern dvertex_t dvertexes[MAX_MAP_VERTS];
|
||||||
|
|
||||||
|
extern int numnodes;
|
||||||
|
extern dnode_t dnodes[MAX_MAP_NODES];
|
||||||
|
|
||||||
|
extern int numtexinfo;
|
||||||
|
extern texinfo_t texinfo[MAX_MAP_TEXINFO];
|
||||||
|
|
||||||
|
extern int numfaces;
|
||||||
|
extern dface_t dfaces[MAX_MAP_FACES];
|
||||||
|
|
||||||
|
extern int numclipnodes;
|
||||||
|
extern dclipnode_t dclipnodes[MAX_MAP_CLIPNODES];
|
||||||
|
|
||||||
|
extern int numedges;
|
||||||
|
extern dedge_t dedges[MAX_MAP_EDGES];
|
||||||
|
|
||||||
|
extern int nummarksurfaces;
|
||||||
|
extern unsigned short dmarksurfaces[MAX_MAP_MARKSURFACES];
|
||||||
|
|
||||||
|
extern int numsurfedges;
|
||||||
|
extern int dsurfedges[MAX_MAP_SURFEDGES];
|
||||||
|
|
||||||
|
|
||||||
|
void DecompressVis (byte *in, byte *decompressed);
|
||||||
|
int CompressVis (byte *vis, byte *dest);
|
||||||
|
|
||||||
|
void LoadBSPFile (char *filename);
|
||||||
|
void WriteBSPFile (char *filename);
|
||||||
|
void PrintBSPFileSizes (void);
|
||||||
|
|
||||||
|
//===============
|
||||||
|
|
||||||
|
/*
|
||||||
|
typedef struct epair_s
|
||||||
|
{
|
||||||
|
struct epair_s *next;
|
||||||
|
char *key;
|
||||||
|
char *value;
|
||||||
|
} epair_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
vec3_t origin;
|
||||||
|
int firstbrush;
|
||||||
|
int numbrushes;
|
||||||
|
epair_t *epairs;
|
||||||
|
} entity_t;
|
||||||
|
|
||||||
|
extern int num_entities;
|
||||||
|
extern entity_t entities[MAX_MAP_ENTITIES];
|
||||||
|
|
||||||
|
void ParseEntities (void);
|
||||||
|
void UnparseEntities (void);
|
||||||
|
|
||||||
|
void SetKeyValue (entity_t *ent, char *key, char *value);
|
||||||
|
char *ValueForKey (entity_t *ent, char *key);
|
||||||
|
// will return "" if not present
|
||||||
|
|
||||||
|
vec_t FloatForKey (entity_t *ent, char *key);
|
||||||
|
void GetVectorForKey (entity_t *ent, char *key, vec3_t vec);
|
||||||
|
|
||||||
|
epair_t *ParseEpair (void);
|
||||||
|
*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // __bspfile_h
|
41
nq/include/cdaudio.h
Normal file
41
nq/include/cdaudio.h
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
/*
|
||||||
|
cdaudio.h
|
||||||
|
|
||||||
|
Redbook CD Audio function prototypes
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __cdaudio_h
|
||||||
|
#define __cdaudio_h
|
||||||
|
|
||||||
|
|
||||||
|
int CDAudio_Init(void);
|
||||||
|
void CDAudio_Play(byte track, qboolean looping);
|
||||||
|
void CDAudio_Stop(void);
|
||||||
|
void CDAudio_Pause(void);
|
||||||
|
void CDAudio_Resume(void);
|
||||||
|
void CDAudio_Shutdown(void);
|
||||||
|
void CDAudio_Update(void);
|
||||||
|
|
||||||
|
#endif // __cdaudio_h
|
38
nq/include/chase.h
Normal file
38
nq/include/chase.h
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
chase.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __chase_h
|
||||||
|
#define __chase_h
|
||||||
|
|
||||||
|
extern cvar_t *chase_active;
|
||||||
|
|
||||||
|
void Chase_Init (void);
|
||||||
|
void Chase_Reset (void);
|
||||||
|
void Chase_Update (void);
|
||||||
|
|
||||||
|
#endif __chase_h
|
34
nq/include/checksum.h
Normal file
34
nq/include/checksum.h
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
/*
|
||||||
|
checksum.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __checksum_h
|
||||||
|
#define __checksum_h
|
||||||
|
|
||||||
|
unsigned Com_BlockChecksum (void *buffer, int length);
|
||||||
|
|
||||||
|
#endif // __checksum_h
|
407
nq/include/client.h
Normal file
407
nq/include/client.h
Normal file
|
@ -0,0 +1,407 @@
|
||||||
|
/*
|
||||||
|
client.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __client_h
|
||||||
|
#define __client_h
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "info.h"
|
||||||
|
#include "mathlib.h"
|
||||||
|
#include "protocol.h"
|
||||||
|
#include "net.h"
|
||||||
|
#include "model.h"
|
||||||
|
#include "sound.h"
|
||||||
|
#include "render.h"
|
||||||
|
#include "cvar.h"
|
||||||
|
#include "quakefs.h"
|
||||||
|
#include "qdefs.h"
|
||||||
|
|
||||||
|
typedef struct usercmd_s
|
||||||
|
{
|
||||||
|
vec3_t viewangles;
|
||||||
|
|
||||||
|
// intended velocities
|
||||||
|
float forwardmove;
|
||||||
|
float sidemove;
|
||||||
|
float upmove;
|
||||||
|
#ifdef QUAKE2
|
||||||
|
byte lightlevel;
|
||||||
|
#endif
|
||||||
|
} usercmd_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int length;
|
||||||
|
char map[MAX_STYLESTRING];
|
||||||
|
} lightstyle_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
char name[MAX_SCOREBOARDNAME];
|
||||||
|
float entertime;
|
||||||
|
int frags;
|
||||||
|
int colors; // two 4 bit fields
|
||||||
|
byte translations[VID_GRADES*256];
|
||||||
|
} scoreboard_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int destcolor[3];
|
||||||
|
int percent; // 0-256
|
||||||
|
} cshift_t;
|
||||||
|
|
||||||
|
#define CSHIFT_CONTENTS 0
|
||||||
|
#define CSHIFT_DAMAGE 1
|
||||||
|
#define CSHIFT_BONUS 2
|
||||||
|
#define CSHIFT_POWERUP 3
|
||||||
|
#define NUM_CSHIFTS 4
|
||||||
|
|
||||||
|
#define NAME_LENGTH 64
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// client_state_t should hold all pieces of the client state
|
||||||
|
//
|
||||||
|
|
||||||
|
#define SIGNONS 4 // signon messages to receive before connected
|
||||||
|
|
||||||
|
#define MAX_DLIGHTS 32
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
vec3_t origin;
|
||||||
|
float radius;
|
||||||
|
float die; // stop lighting after this time
|
||||||
|
float decay; // drop this each second
|
||||||
|
float minlight; // don't add when contributing less
|
||||||
|
int key;
|
||||||
|
float _color[3];
|
||||||
|
float *color;
|
||||||
|
#ifdef QUAKE2
|
||||||
|
qboolean dark; // subtracts light instead of adding
|
||||||
|
#endif
|
||||||
|
} dlight_t;
|
||||||
|
|
||||||
|
|
||||||
|
#define MAX_BEAMS 24
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int entity;
|
||||||
|
struct model_s *model;
|
||||||
|
float endtime;
|
||||||
|
vec3_t start, end;
|
||||||
|
} beam_t;
|
||||||
|
|
||||||
|
#define MAX_EFRAGS 640
|
||||||
|
|
||||||
|
#define MAX_MAPSTRING 2048
|
||||||
|
#define MAX_DEMOS 8
|
||||||
|
#define MAX_DEMONAME 16
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
ca_dedicated, // a dedicated server with no ability to start a client
|
||||||
|
ca_disconnected, // full screen console with no connection
|
||||||
|
ca_connected // valid netcon, talking to a server
|
||||||
|
} cactive_t;
|
||||||
|
|
||||||
|
//
|
||||||
|
// the client_static_t structure is persistant through an arbitrary number
|
||||||
|
// of server connections
|
||||||
|
//
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
cactive_t state;
|
||||||
|
|
||||||
|
// personalization data sent to server
|
||||||
|
char mapstring[MAX_QPATH];
|
||||||
|
char spawnparms[MAX_MAPSTRING]; // to restart a level
|
||||||
|
|
||||||
|
// demo loop control
|
||||||
|
int demonum; // -1 = don't play demos
|
||||||
|
char demos[MAX_DEMOS][MAX_DEMONAME]; // when not playing
|
||||||
|
|
||||||
|
// demo recording info must be here, because record is started before
|
||||||
|
// entering a map (and clearing client_state_t)
|
||||||
|
qboolean demorecording;
|
||||||
|
qboolean demoplayback;
|
||||||
|
qboolean timedemo;
|
||||||
|
int forcetrack; // -1 = use normal cd track
|
||||||
|
QFile *demofile;
|
||||||
|
int td_lastframe; // to meter out one message a frame
|
||||||
|
int td_startframe; // host_framecount at start
|
||||||
|
float td_starttime; // realtime at second frame of timedemo
|
||||||
|
|
||||||
|
|
||||||
|
// connection information
|
||||||
|
int signon; // 0 to SIGNONS
|
||||||
|
struct qsocket_s *netcon;
|
||||||
|
sizebuf_t message; // writing buffer to send to server
|
||||||
|
|
||||||
|
} client_static_t;
|
||||||
|
|
||||||
|
extern client_static_t cls;
|
||||||
|
|
||||||
|
//
|
||||||
|
// the client_state_t structure is wiped completely at every
|
||||||
|
// server signon
|
||||||
|
//
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int movemessages; // since connecting to this server
|
||||||
|
// throw out the first couple, so the player
|
||||||
|
// doesn't accidentally do something the
|
||||||
|
// first frame
|
||||||
|
usercmd_t cmd; // last command sent to the server
|
||||||
|
|
||||||
|
// information for local display
|
||||||
|
int stats[MAX_CL_STATS]; // health, etc
|
||||||
|
int items; // inventory bit flags
|
||||||
|
float item_gettime[32]; // cl.time of aquiring item, for blinking
|
||||||
|
float faceanimtime; // use anim frame if cl.time < this
|
||||||
|
|
||||||
|
cshift_t cshifts[NUM_CSHIFTS]; // color shifts for damage, powerups
|
||||||
|
cshift_t prev_cshifts[NUM_CSHIFTS]; // and content types
|
||||||
|
|
||||||
|
// the client maintains its own idea of view angles, which are
|
||||||
|
// sent to the server each frame. The server sets punchangle when
|
||||||
|
// the view is temporarliy offset, and an angle reset commands at the start
|
||||||
|
// of each level and after teleporting.
|
||||||
|
vec3_t mviewangles[2]; // during demo playback viewangles is lerped
|
||||||
|
// between these
|
||||||
|
vec3_t viewangles;
|
||||||
|
|
||||||
|
vec3_t mvelocity[2]; // update by server, used for lean+bob
|
||||||
|
// (0 is newest)
|
||||||
|
vec3_t velocity; // lerped between mvelocity[0] and [1]
|
||||||
|
|
||||||
|
vec3_t punchangle; // temporary offset
|
||||||
|
|
||||||
|
// pitch drifting vars
|
||||||
|
float idealpitch;
|
||||||
|
float pitchvel;
|
||||||
|
qboolean nodrift;
|
||||||
|
float driftmove;
|
||||||
|
double laststop;
|
||||||
|
|
||||||
|
float viewheight;
|
||||||
|
float crouch; // local amount for smoothing stepups
|
||||||
|
|
||||||
|
qboolean paused; // send over by server
|
||||||
|
qboolean onground;
|
||||||
|
qboolean inwater;
|
||||||
|
|
||||||
|
int intermission; // don't change view angle, full screen, etc
|
||||||
|
int completed_time; // latched at intermission start
|
||||||
|
|
||||||
|
double mtime[2]; // the timestamp of last two messages
|
||||||
|
double time; // clients view of time, should be between
|
||||||
|
// servertime and oldservertime to generate
|
||||||
|
// a lerp point for other data
|
||||||
|
double oldtime; // previous cl.time, time-oldtime is used
|
||||||
|
// to decay light values and smooth step ups
|
||||||
|
|
||||||
|
|
||||||
|
float last_received_message; // (realtime) for net trouble icon
|
||||||
|
|
||||||
|
//
|
||||||
|
// information that is static for the entire time connected to a server
|
||||||
|
//
|
||||||
|
struct model_s *model_precache[MAX_MODELS];
|
||||||
|
struct sfx_s *sound_precache[MAX_SOUNDS];
|
||||||
|
|
||||||
|
char levelname[40]; // for display on solo scoreboard
|
||||||
|
int viewentity; // cl_entitites[cl.viewentity] = player
|
||||||
|
int maxclients;
|
||||||
|
int gametype;
|
||||||
|
|
||||||
|
// refresh related state
|
||||||
|
struct model_s *worldmodel; // cl_entitites[0].model
|
||||||
|
struct efrag_s *free_efrags;
|
||||||
|
int num_entities; // held in cl_entities array
|
||||||
|
int num_statics; // held in cl_staticentities array
|
||||||
|
entity_t viewent; // the gun model
|
||||||
|
|
||||||
|
int cdtrack, looptrack; // cd audio
|
||||||
|
|
||||||
|
// frag scoreboard
|
||||||
|
scoreboard_t *scores; // [cl.maxclients]
|
||||||
|
|
||||||
|
#ifdef QUAKE2
|
||||||
|
// light level at player's position including dlights
|
||||||
|
// this is sent back to the server each frame
|
||||||
|
// architectually ugly but it works
|
||||||
|
int light_level;
|
||||||
|
#endif
|
||||||
|
} client_state_t;
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// cvars
|
||||||
|
//
|
||||||
|
extern cvar_t *cl_name;
|
||||||
|
extern cvar_t *cl_color;
|
||||||
|
|
||||||
|
extern cvar_t *cl_upspeed;
|
||||||
|
extern cvar_t *cl_forwardspeed;
|
||||||
|
extern cvar_t *cl_backspeed;
|
||||||
|
extern cvar_t *cl_sidespeed;
|
||||||
|
|
||||||
|
extern cvar_t *cl_movespeedkey;
|
||||||
|
|
||||||
|
extern cvar_t *cl_yawspeed;
|
||||||
|
extern cvar_t *cl_pitchspeed;
|
||||||
|
|
||||||
|
extern cvar_t *cl_anglespeedkey;
|
||||||
|
|
||||||
|
extern cvar_t *cl_autofire;
|
||||||
|
|
||||||
|
extern cvar_t *cl_shownet;
|
||||||
|
extern cvar_t *cl_nolerp;
|
||||||
|
|
||||||
|
extern cvar_t *cl_sbar;
|
||||||
|
extern cvar_t *cl_hudswap;
|
||||||
|
|
||||||
|
extern cvar_t *cl_pitchdriftspeed;
|
||||||
|
extern cvar_t *cl_freelook;
|
||||||
|
extern cvar_t *lookspring;
|
||||||
|
extern cvar_t *lookstrafe;
|
||||||
|
extern cvar_t *sensitivity;
|
||||||
|
|
||||||
|
extern cvar_t *m_pitch;
|
||||||
|
extern cvar_t *m_yaw;
|
||||||
|
extern cvar_t *m_forward;
|
||||||
|
extern cvar_t *m_side;
|
||||||
|
|
||||||
|
|
||||||
|
#define MAX_TEMP_ENTITIES 64 // lightning bolts, etc
|
||||||
|
#define MAX_STATIC_ENTITIES 128 // torches, etc
|
||||||
|
|
||||||
|
extern client_state_t cl;
|
||||||
|
|
||||||
|
// FIXME, allocate dynamically
|
||||||
|
extern efrag_t cl_efrags[MAX_EFRAGS];
|
||||||
|
extern entity_t cl_entities[MAX_EDICTS];
|
||||||
|
extern entity_t cl_static_entities[MAX_STATIC_ENTITIES];
|
||||||
|
extern lightstyle_t cl_lightstyle[MAX_LIGHTSTYLES];
|
||||||
|
extern dlight_t cl_dlights[MAX_DLIGHTS];
|
||||||
|
extern entity_t cl_temp_entities[MAX_TEMP_ENTITIES];
|
||||||
|
extern beam_t cl_beams[MAX_BEAMS];
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
//
|
||||||
|
// cl_main
|
||||||
|
//
|
||||||
|
dlight_t *CL_AllocDlight (int key);
|
||||||
|
void CL_DecayLights (void);
|
||||||
|
|
||||||
|
void CL_Init (void);
|
||||||
|
void CL_InitCvars (void);
|
||||||
|
|
||||||
|
void CL_EstablishConnection (char *host);
|
||||||
|
void CL_Signon1 (void);
|
||||||
|
void CL_Signon2 (void);
|
||||||
|
void CL_Signon3 (void);
|
||||||
|
void CL_Signon4 (void);
|
||||||
|
|
||||||
|
void CL_Disconnect (void);
|
||||||
|
void CL_Disconnect_f (void);
|
||||||
|
void CL_NextDemo (void);
|
||||||
|
|
||||||
|
#define MAX_VISEDICTS 256
|
||||||
|
extern int cl_numvisedicts;
|
||||||
|
extern entity_t *cl_visedicts[MAX_VISEDICTS];
|
||||||
|
|
||||||
|
//
|
||||||
|
// cl_input
|
||||||
|
//
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int down[2]; // key nums holding it down
|
||||||
|
int state; // low bit is down state
|
||||||
|
} kbutton_t;
|
||||||
|
|
||||||
|
extern kbutton_t in_mlook, in_klook;
|
||||||
|
extern kbutton_t in_strafe;
|
||||||
|
extern kbutton_t in_speed;
|
||||||
|
|
||||||
|
void CL_InitInput (void);
|
||||||
|
void CL_SendCmd (void);
|
||||||
|
void CL_SendMove (usercmd_t *cmd);
|
||||||
|
|
||||||
|
void CL_ParseTEnt (void);
|
||||||
|
void CL_UpdateTEnts (void);
|
||||||
|
|
||||||
|
void CL_ClearState (void);
|
||||||
|
|
||||||
|
|
||||||
|
int CL_ReadFromServer (void);
|
||||||
|
void CL_WriteToServer (usercmd_t *cmd);
|
||||||
|
void CL_BaseMove (usercmd_t *cmd);
|
||||||
|
|
||||||
|
|
||||||
|
float CL_KeyState (kbutton_t *key);
|
||||||
|
char *Key_KeynumToString (int keynum);
|
||||||
|
|
||||||
|
//
|
||||||
|
// cl_demo.c
|
||||||
|
//
|
||||||
|
void CL_StopPlayback (void);
|
||||||
|
int CL_GetMessage (void);
|
||||||
|
|
||||||
|
void CL_Stop_f (void);
|
||||||
|
void CL_Record_f (void);
|
||||||
|
void CL_PlayDemo_f (void);
|
||||||
|
void CL_TimeDemo_f (void);
|
||||||
|
|
||||||
|
//
|
||||||
|
// cl_parse.c
|
||||||
|
//
|
||||||
|
void CL_ParseServerMessage (void);
|
||||||
|
void CL_NewTranslation (int slot);
|
||||||
|
|
||||||
|
//
|
||||||
|
// view
|
||||||
|
//
|
||||||
|
void V_StartPitchDrift (void);
|
||||||
|
void V_StopPitchDrift (void);
|
||||||
|
|
||||||
|
void V_RenderView (void);
|
||||||
|
void V_UpdatePalette (void);
|
||||||
|
void V_Register (void);
|
||||||
|
void V_ParseDamage (void);
|
||||||
|
void V_SetContentsColor (int contents);
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// cl_tent
|
||||||
|
//
|
||||||
|
void CL_InitTEnts (void);
|
||||||
|
void CL_SignonReply (void);
|
||||||
|
|
||||||
|
#endif // __client_h
|
146
nq/include/cmd.h
Normal file
146
nq/include/cmd.h
Normal file
|
@ -0,0 +1,146 @@
|
||||||
|
/*
|
||||||
|
cmd.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __cmd_h
|
||||||
|
#define __cmd_h
|
||||||
|
|
||||||
|
#include "qtypes.h"
|
||||||
|
#include "cvar.h"
|
||||||
|
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
Any number of commands can be added in a frame, from several different sources.
|
||||||
|
Most commands come from either keybindings or console line input, but remote
|
||||||
|
servers can also send across commands and entire text files can be execed.
|
||||||
|
|
||||||
|
The + command line options are also added to the command buffer.
|
||||||
|
|
||||||
|
The game starts with a Cbuf_AddText ("exec quake.rc\n"); Cbuf_Execute ();
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
void Cbuf_Init (void);
|
||||||
|
// allocates an initial text buffer that will grow as needed
|
||||||
|
|
||||||
|
void Cbuf_AddText (char *text);
|
||||||
|
// as new commands are generated from the console or keybindings,
|
||||||
|
// the text is added to the end of the command buffer.
|
||||||
|
|
||||||
|
void Cbuf_InsertText (char *text);
|
||||||
|
// when a command wants to issue other commands immediately, the text is
|
||||||
|
// inserted at the beginning of the buffer, before any remaining unexecuted
|
||||||
|
// commands.
|
||||||
|
|
||||||
|
void Cbuf_Execute (void);
|
||||||
|
// Pulls off \n terminated lines of text from the command buffer and sends
|
||||||
|
// them through Cmd_ExecuteString. Stops when the buffer is empty.
|
||||||
|
// Normally called once per frame, but may be explicitly invoked.
|
||||||
|
// Do not call inside a command function!
|
||||||
|
|
||||||
|
//===========================================================================
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
Command execution takes a null terminated string, breaks it into tokens,
|
||||||
|
then searches for a command or variable that matches the first token.
|
||||||
|
|
||||||
|
Commands can come from three sources, but the handler functions may choose
|
||||||
|
to dissallow the action or forward it to a remote server if the source is
|
||||||
|
not apropriate.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef void (*xcommand_t) (void);
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
src_client, // came in over a net connection as a clc_stringcmd
|
||||||
|
// host_client will be valid during this state.
|
||||||
|
src_command // from the command buffer
|
||||||
|
} cmd_source_t;
|
||||||
|
|
||||||
|
extern cmd_source_t cmd_source;
|
||||||
|
|
||||||
|
void Cmd_Init (void);
|
||||||
|
|
||||||
|
void Cmd_AddCommand (char *cmd_name, xcommand_t function);
|
||||||
|
// called by the init functions of other parts of the program to
|
||||||
|
// register commands and functions to call for them.
|
||||||
|
// The cmd_name is referenced later, so it should not be in temp memory
|
||||||
|
|
||||||
|
qboolean Cmd_Exists (char *cmd_name);
|
||||||
|
// used by the cvar code to check for cvar / command name overlap
|
||||||
|
|
||||||
|
char *Cmd_CompleteCommand (char *partial);
|
||||||
|
// attempts to match a partial command for automatic command line completion
|
||||||
|
// returns NULL if nothing fits
|
||||||
|
|
||||||
|
int Cmd_Argc (void);
|
||||||
|
char *Cmd_Argv (int arg);
|
||||||
|
char *Cmd_Args (void);
|
||||||
|
// The functions that execute commands get their parameters with these
|
||||||
|
// functions. Cmd_Argv () will return an empty string, not a NULL
|
||||||
|
// if arg > argc, so string operations are allways safe.
|
||||||
|
|
||||||
|
int Cmd_CheckParm (char *parm);
|
||||||
|
// Returns the position (1 to argc-1) in the command's argument list
|
||||||
|
// where the given parameter apears, or 0 if not present
|
||||||
|
|
||||||
|
void Cmd_TokenizeString (char *text);
|
||||||
|
// Takes a null terminated string. Does not need to be /n terminated.
|
||||||
|
// breaks the string up into arg tokens.
|
||||||
|
|
||||||
|
void Cmd_ExecuteString (char *text, cmd_source_t src);
|
||||||
|
// Parses a single line of text into arguments and tries to execute it.
|
||||||
|
// The text can come from the command buffer, a remote client, or stdin.
|
||||||
|
|
||||||
|
void Cmd_ForwardToServer (void);
|
||||||
|
// adds the current command line as a clc_stringcmd to the client message.
|
||||||
|
// things like godmode, noclip, etc, are commands directed to the server,
|
||||||
|
// so when they are typed in at the console, they will need to be forwarded.
|
||||||
|
|
||||||
|
void Cmd_Print (char *text);
|
||||||
|
// used by command functions to send output to either the graphics console or
|
||||||
|
// passed as a print message to the client
|
||||||
|
|
||||||
|
void Cmd_StuffCmds_f (void);
|
||||||
|
|
||||||
|
void Cbuf_Execute_Sets (void);
|
||||||
|
void Cmd_Exec_File (char *path);
|
||||||
|
|
||||||
|
|
||||||
|
#define MAX_COM_TOKEN 1024
|
||||||
|
extern char com_token[MAX_COM_TOKEN];
|
||||||
|
char *COM_Parse (char *data);
|
||||||
|
|
||||||
|
extern struct cvar_s *cl_warncmd;
|
||||||
|
|
||||||
|
#endif __cmd_h
|
77
nq/include/compat.h
Normal file
77
nq/include/compat.h
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
/*
|
||||||
|
compat.h
|
||||||
|
|
||||||
|
Miscellaneous compability stuff
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _COMPAT_H
|
||||||
|
#define _COMPAT_H
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
# include "config.h"
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_STDARG_H
|
||||||
|
# include <stdarg.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_SYS_TYPES_H
|
||||||
|
# include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "stdlib.h"
|
||||||
|
|
||||||
|
#ifndef max
|
||||||
|
# define max(a,b) ((a) > (b) ? (a) : (b))
|
||||||
|
#endif
|
||||||
|
#ifndef min
|
||||||
|
# define min(a,b) ((a) < (b) ? (a) : (b))
|
||||||
|
#endif
|
||||||
|
#ifndef bound
|
||||||
|
# define bound(a,b,c) (max(a, min(b, c)))
|
||||||
|
#endif
|
||||||
|
/* This fixes warnings when compiling with -pedantic */
|
||||||
|
#if defined(__GNUC__) && !defined(inline)
|
||||||
|
# define inline __inline__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* These may be underscored... */
|
||||||
|
#if !defined(HAVE_SNPRINTF) && defined(HAVE__SNPRINTF)
|
||||||
|
# define snprintf _snprintf
|
||||||
|
#endif
|
||||||
|
#if !defined(HAVE_VSNPRINTF) && defined(HAVE__VSNPRINTF)
|
||||||
|
# define vsnprintf _vsnprintf
|
||||||
|
#endif
|
||||||
|
#if defined(_WIN32) && !defined(__BORLANDC__)
|
||||||
|
# define kbhit _kbhit
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* If we don't have them in the C-library we declare them to avoid warnings */
|
||||||
|
#if ! (defined(HAVE_SNPRINTF) || defined(HAVE__SNPRINTF))
|
||||||
|
extern int snprintf(char * s, size_t maxlen, const char *format, ...);
|
||||||
|
#endif
|
||||||
|
#if ! (defined(HAVE_VSNPRINTF) || defined(HAVE__VSNPRINTF))
|
||||||
|
extern int vsnprintf(char *s, size_t maxlen, const char *format, va_list arg);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // _COMPAT_H
|
45
nq/include/conproc.h
Normal file
45
nq/include/conproc.h
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
conproc.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#define CCOM_WRITE_TEXT 0x2
|
||||||
|
// Param1 : Text
|
||||||
|
|
||||||
|
#define CCOM_GET_TEXT 0x3
|
||||||
|
// Param1 : Begin line
|
||||||
|
// Param2 : End line
|
||||||
|
|
||||||
|
#define CCOM_GET_SCR_LINES 0x4
|
||||||
|
// No params
|
||||||
|
|
||||||
|
#define CCOM_SET_SCR_LINES 0x5
|
||||||
|
// Param1 : Number of lines
|
||||||
|
|
||||||
|
void InitConProc (HANDLE hFile, HANDLE heventParent, HANDLE heventChild);
|
||||||
|
void DeinitConProc (void);
|
||||||
|
|
60
nq/include/console.h
Normal file
60
nq/include/console.h
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
/*
|
||||||
|
console.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __console_h
|
||||||
|
#define __console_h
|
||||||
|
|
||||||
|
#include "qtypes.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
// console
|
||||||
|
//
|
||||||
|
extern int con_totallines;
|
||||||
|
extern int con_backscroll;
|
||||||
|
extern qboolean con_forcedup; // because no entities to refresh
|
||||||
|
extern qboolean con_initialized;
|
||||||
|
extern byte *con_chars;
|
||||||
|
extern int con_notifylines; // scan lines to clear for notify lines
|
||||||
|
|
||||||
|
void Con_DrawCharacter (int cx, int line, int num);
|
||||||
|
|
||||||
|
void Con_CheckResize (void);
|
||||||
|
void Con_Init (void);
|
||||||
|
void Con_DrawConsole (int lines, qboolean drawinput);
|
||||||
|
void Con_Print (char *txt);
|
||||||
|
void Con_Printf (char *fmt, ...);
|
||||||
|
void Con_DPrintf (char *fmt, ...);
|
||||||
|
void Con_SafePrintf (char *fmt, ...);
|
||||||
|
void Con_Clear_f (void);
|
||||||
|
void Con_DrawNotify (void);
|
||||||
|
void Con_ClearNotify (void);
|
||||||
|
void Con_ToggleConsole_f (void);
|
||||||
|
|
||||||
|
void Con_NotifyBox (char *text); // during startup for sound / cd warnings
|
||||||
|
|
||||||
|
#endif // __console_h
|
68
nq/include/context_x11.h
Normal file
68
nq/include/context_x11.h
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
/*
|
||||||
|
context_x11.h
|
||||||
|
|
||||||
|
(description)
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
Copyright (C) 1999,2000 contributors of the QuakeForge project
|
||||||
|
Please see the file "AUTHORS" for a list of contributors
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __CONTEXT_X11_H__
|
||||||
|
#define __CONTEXT_X11_H__
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/Xutil.h>
|
||||||
|
|
||||||
|
#include "cvar.h"
|
||||||
|
#include "qtypes.h"
|
||||||
|
|
||||||
|
void GetEvent( void );
|
||||||
|
|
||||||
|
extern Display *x_disp;
|
||||||
|
extern int x_screen;
|
||||||
|
extern Window x_root;
|
||||||
|
extern XVisualInfo *x_visinfo;
|
||||||
|
extern Visual *x_vis;
|
||||||
|
extern Window x_win;
|
||||||
|
extern qboolean doShm;
|
||||||
|
extern int x_shmeventtype;
|
||||||
|
extern qboolean oktodraw;
|
||||||
|
extern cvar_t *vid_fullscreen;
|
||||||
|
|
||||||
|
qboolean x11_add_event (int event, void (*event_handler)(XEvent *));
|
||||||
|
qboolean x11_del_event (int event, void (*event_handler)(XEvent *));
|
||||||
|
void x11_process_event (void);
|
||||||
|
void x11_process_events (void);
|
||||||
|
void x11_open_display (void);
|
||||||
|
void x11_close_display (void);
|
||||||
|
void x11_create_null_cursor (void);
|
||||||
|
void x11_set_vidmode (int, int);
|
||||||
|
void x11_restore_vidmode (void);
|
||||||
|
void x11_create_window (int, int);
|
||||||
|
void x11_grab_keyboard (void);
|
||||||
|
void x11_set_caption (char *);
|
||||||
|
void x11_force_view_port (void);
|
||||||
|
void x11_Init_Cvars (void);
|
||||||
|
|
||||||
|
#endif // __CONTEXT_X11_H__
|
38
nq/include/crc.h
Normal file
38
nq/include/crc.h
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
crc.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __crc_h
|
||||||
|
#define __crc_h
|
||||||
|
|
||||||
|
#include "qtypes.h"
|
||||||
|
|
||||||
|
void CRC_Init(unsigned short *crcvalue);
|
||||||
|
void CRC_ProcessByte(unsigned short *crcvalue, byte data);
|
||||||
|
unsigned short CRC_Value(unsigned short crcvalue);
|
||||||
|
|
||||||
|
#endif // __crc_h
|
128
nq/include/cvar.h
Normal file
128
nq/include/cvar.h
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
/*
|
||||||
|
cvar.h
|
||||||
|
|
||||||
|
Configuration variable definitions and prototypes
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _CVAR_H
|
||||||
|
#define _CVAR_H
|
||||||
|
|
||||||
|
//#include "qtypes.h"
|
||||||
|
#include "quakeio.h"
|
||||||
|
#include "cmd.h"
|
||||||
|
|
||||||
|
typedef struct cvar_s
|
||||||
|
{
|
||||||
|
char *name;
|
||||||
|
char *string;
|
||||||
|
int flags;
|
||||||
|
char *description; // for "help" command
|
||||||
|
float value;
|
||||||
|
int int_val;
|
||||||
|
struct cvar_s *next;
|
||||||
|
} cvar_t;
|
||||||
|
|
||||||
|
typedef struct cvar_alias_s
|
||||||
|
{
|
||||||
|
char *name;
|
||||||
|
cvar_t *cvar;
|
||||||
|
struct cvar_alias_s *next;
|
||||||
|
} cvar_alias_t;
|
||||||
|
|
||||||
|
#define CVAR_NONE 0
|
||||||
|
#define CVAR_ARCHIVE 1 // set to cause it to be saved to vars.rc
|
||||||
|
// used for system variables, not for player
|
||||||
|
// specific configurations
|
||||||
|
#define CVAR_USERINFO 2 // sent to server on connect or change
|
||||||
|
#define CVAR_SERVERINFO 4 // sent in response to front end requests
|
||||||
|
#define CVAR_SYSTEMINFO 8 // these cvars will be duplicated on all clients
|
||||||
|
#define CVAR_INIT 16 // don't allow change from console at all,
|
||||||
|
// but can be set from the command line
|
||||||
|
#define CVAR_NOTIFY 32 // Will notify players when changed.
|
||||||
|
#define CVAR_ROM 64 // display only, cannot be set by user at all
|
||||||
|
#define CVAR_USER_CREATED 128 // created by a set command
|
||||||
|
#define CVAR_HEAP 256 // allocated off the heap, safe to free
|
||||||
|
#define CVAR_CHEAT 512 // can not be changed if cheats are disabled
|
||||||
|
#define CVAR_NORESTART 1024 // do not clear when a cvar_restart is issued
|
||||||
|
#define CVAR_LATCH 2048 // will only change when C code next does
|
||||||
|
// a Cvar_Get(), so it can't be changed
|
||||||
|
#define CVAR_TEMP 4096 // can be set even when cheats are
|
||||||
|
// disabled, but is not archived
|
||||||
|
|
||||||
|
// Zoid| A good CVAR_ROM example is userpath. The code should read "cvar_t
|
||||||
|
// *fs_userpath = CvarGet("fs_userpath", ".", CVAR_ROM); The user can
|
||||||
|
// override that with +set fs_userpath <blah> since the command line +set gets
|
||||||
|
// created _before_ the C code for fs_basepath setup is called. The code goes
|
||||||
|
// "look, the user made fs_basepath already", uses the users value, but sets
|
||||||
|
// CVAR_ROM as per the call.
|
||||||
|
|
||||||
|
|
||||||
|
// Returns the Cvar if found, creates it with value if not. Description and
|
||||||
|
// flags are always updated.
|
||||||
|
cvar_t *Cvar_Get (char *name, char *value, int cvarflags, char *description);
|
||||||
|
|
||||||
|
cvar_t *Cvar_FindAlias (char *alias_name);
|
||||||
|
|
||||||
|
void Cvar_Alias_Get (char *name, cvar_t *cvar);
|
||||||
|
|
||||||
|
// equivelants to "<name> <variable>" typed at the console
|
||||||
|
void Cvar_Set (cvar_t *var, char *value);
|
||||||
|
void Cvar_SetValue (cvar_t *var, float value);
|
||||||
|
|
||||||
|
// sets a CVAR_ROM variable from within the engine
|
||||||
|
void Cvar_SetROM (cvar_t *var, char *value);
|
||||||
|
|
||||||
|
// allows you to change a Cvar's flags without a full Cvar_Get
|
||||||
|
void Cvar_SetFlags (cvar_t *var, int cvarflags);
|
||||||
|
|
||||||
|
// returns 0 if not defined or non numeric
|
||||||
|
float Cvar_VariableValue (char *var_name);
|
||||||
|
|
||||||
|
// returns an empty string if not defined
|
||||||
|
char *Cvar_VariableString (char *var_name);
|
||||||
|
|
||||||
|
// attempts to match a partial variable name for command line completion
|
||||||
|
// returns NULL if nothing fits
|
||||||
|
char *Cvar_CompleteVariable (char *partial);
|
||||||
|
|
||||||
|
// called by Cmd_ExecuteString when Cmd_Argv(0) doesn't match a known
|
||||||
|
// command. Returns true if the command was a variable reference that
|
||||||
|
// was handled. (print or change)
|
||||||
|
qboolean Cvar_Command (void);
|
||||||
|
|
||||||
|
// Writes lines containing "set variable value" for all variables
|
||||||
|
// with the archive flag set to true.
|
||||||
|
void Cvar_WriteVariables (QFile *f);
|
||||||
|
|
||||||
|
// Returns a pointer to the Cvar, NULL if not found
|
||||||
|
cvar_t *Cvar_FindVar (char *var_name);
|
||||||
|
|
||||||
|
void Cvar_Init();
|
||||||
|
|
||||||
|
void Cvar_Shutdown();
|
||||||
|
|
||||||
|
extern cvar_t *cvar_vars;
|
||||||
|
|
||||||
|
#endif // _CVAR_H
|
242
nq/include/d_iface.h
Normal file
242
nq/include/d_iface.h
Normal file
|
@ -0,0 +1,242 @@
|
||||||
|
/*
|
||||||
|
d_iface.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __d_iface_h
|
||||||
|
#define __d_iface_h
|
||||||
|
|
||||||
|
#include "model.h"
|
||||||
|
|
||||||
|
#define WARP_WIDTH 320
|
||||||
|
#define WARP_HEIGHT 200
|
||||||
|
|
||||||
|
#define MAX_LBM_HEIGHT 480
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
float u, v;
|
||||||
|
float s, t;
|
||||||
|
float zi;
|
||||||
|
} emitpoint_t;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
pt_static, pt_grav, pt_slowgrav, pt_fire, pt_explode, pt_explode2, pt_blob, pt_blob2
|
||||||
|
} ptype_t;
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in d_ifacea.h too !!!
|
||||||
|
typedef struct particle_s
|
||||||
|
{
|
||||||
|
// driver-usable fields
|
||||||
|
vec3_t org;
|
||||||
|
float color;
|
||||||
|
// drivers never touch the following fields
|
||||||
|
struct particle_s *next;
|
||||||
|
vec3_t vel;
|
||||||
|
float ramp;
|
||||||
|
float die;
|
||||||
|
ptype_t type;
|
||||||
|
} particle_t;
|
||||||
|
|
||||||
|
#define PARTICLE_Z_CLIP 8.0
|
||||||
|
|
||||||
|
typedef struct polyvert_s {
|
||||||
|
float u, v, zi, s, t;
|
||||||
|
} polyvert_t;
|
||||||
|
|
||||||
|
typedef struct polydesc_s {
|
||||||
|
int numverts;
|
||||||
|
float nearzi;
|
||||||
|
msurface_t *pcurrentface;
|
||||||
|
polyvert_t *pverts;
|
||||||
|
} polydesc_t;
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in d_ifacea.h too !!!
|
||||||
|
typedef struct finalvert_s {
|
||||||
|
int v[6]; // u, v, s, t, l, 1/z
|
||||||
|
int flags;
|
||||||
|
float reserved;
|
||||||
|
} finalvert_t;
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in d_ifacea.h too !!!
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
void *pskin;
|
||||||
|
maliasskindesc_t *pskindesc;
|
||||||
|
int skinwidth;
|
||||||
|
int skinheight;
|
||||||
|
mtriangle_t *ptriangles;
|
||||||
|
finalvert_t *pfinalverts;
|
||||||
|
int numtriangles;
|
||||||
|
int drawtype;
|
||||||
|
int seamfixupX16;
|
||||||
|
} affinetridesc_t;
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in d_ifacea.h too !!!
|
||||||
|
typedef struct {
|
||||||
|
float u, v, zi, color;
|
||||||
|
} screenpart_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int nump;
|
||||||
|
emitpoint_t *pverts; // there's room for an extra element at [nump],
|
||||||
|
// if the driver wants to duplicate element [0] at
|
||||||
|
// element [nump] to avoid dealing with wrapping
|
||||||
|
mspriteframe_t *pspriteframe;
|
||||||
|
vec3_t vup, vright, vpn; // in worldspace
|
||||||
|
float nearzi;
|
||||||
|
} spritedesc_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int u, v;
|
||||||
|
float zi;
|
||||||
|
int color;
|
||||||
|
} zpointdesc_t;
|
||||||
|
|
||||||
|
extern cvar_t *r_drawflat;
|
||||||
|
extern int d_spanpixcount;
|
||||||
|
extern int r_framecount; // sequence # of current frame since Quake
|
||||||
|
// started
|
||||||
|
extern qboolean r_drawpolys; // 1 if driver wants clipped polygons
|
||||||
|
// rather than a span list
|
||||||
|
extern qboolean r_drawculledpolys; // 1 if driver wants clipped polygons that
|
||||||
|
// have been culled by the edge list
|
||||||
|
extern qboolean r_worldpolysbacktofront; // 1 if driver wants polygons
|
||||||
|
// delivered back to front rather
|
||||||
|
// than front to back
|
||||||
|
extern qboolean r_recursiveaffinetriangles; // true if a driver wants to use
|
||||||
|
// recursive triangular subdivison
|
||||||
|
// and vertex drawing via
|
||||||
|
// D_PolysetDrawFinalVerts() past
|
||||||
|
// a certain distance (normally
|
||||||
|
// only used by the software
|
||||||
|
// driver)
|
||||||
|
extern float r_aliasuvscale; // scale-up factor for screen u and v
|
||||||
|
// on Alias vertices passed to driver
|
||||||
|
extern int r_pixbytes;
|
||||||
|
extern qboolean r_dowarp;
|
||||||
|
|
||||||
|
extern affinetridesc_t r_affinetridesc;
|
||||||
|
extern spritedesc_t r_spritedesc;
|
||||||
|
extern zpointdesc_t r_zpointdesc;
|
||||||
|
extern polydesc_t r_polydesc;
|
||||||
|
|
||||||
|
extern int d_con_indirect; // if 0, Quake will draw console directly
|
||||||
|
// to vid.buffer; if 1, Quake will
|
||||||
|
// draw console via D_DrawRect. Must be
|
||||||
|
// defined by driver
|
||||||
|
|
||||||
|
extern vec3_t r_pright, r_pup, r_ppn;
|
||||||
|
|
||||||
|
|
||||||
|
void D_Aff8Patch (void *pcolormap);
|
||||||
|
void D_BeginDirectRect (int x, int y, byte *pbitmap, int width, int height);
|
||||||
|
void D_DisableBackBufferAccess (void);
|
||||||
|
void D_EndDirectRect (int x, int y, int width, int height);
|
||||||
|
void D_PolysetDraw (void);
|
||||||
|
void D_PolysetDrawFinalVerts (finalvert_t *fv, int numverts);
|
||||||
|
void D_DrawParticle (particle_t *pparticle);
|
||||||
|
void D_DrawPoly (void);
|
||||||
|
void D_DrawSprite (void);
|
||||||
|
void D_DrawSurfaces (void);
|
||||||
|
void D_DrawZPoint (void);
|
||||||
|
void D_EnableBackBufferAccess (void);
|
||||||
|
void D_EndParticles (void);
|
||||||
|
void D_Init (void);
|
||||||
|
void D_ViewChanged (void);
|
||||||
|
void D_SetupFrame (void);
|
||||||
|
void D_StartParticles (void);
|
||||||
|
void D_TurnZOn (void);
|
||||||
|
void D_WarpScreen (void);
|
||||||
|
|
||||||
|
void D_FillRect (vrect_t *vrect, int color);
|
||||||
|
void D_DrawRect (void);
|
||||||
|
void D_UpdateRects (vrect_t *prect);
|
||||||
|
|
||||||
|
// currently for internal use only, and should be a do-nothing function in
|
||||||
|
// hardware drivers
|
||||||
|
// FIXME: this should go away
|
||||||
|
void D_PolysetUpdateTables (void);
|
||||||
|
|
||||||
|
// these are currently for internal use only, and should not be used by drivers
|
||||||
|
extern int r_skydirect;
|
||||||
|
extern byte *r_skysource;
|
||||||
|
|
||||||
|
// transparency types for D_DrawRect ()
|
||||||
|
#define DR_SOLID 0
|
||||||
|
#define DR_TRANSPARENT 1
|
||||||
|
|
||||||
|
// !!! must be kept the same as in quakeasm.h !!!
|
||||||
|
#define TRANSPARENT_COLOR 0xFF
|
||||||
|
|
||||||
|
extern void *acolormap; // FIXME: should go away
|
||||||
|
|
||||||
|
//=======================================================================//
|
||||||
|
|
||||||
|
// callbacks to Quake
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
pixel_t *surfdat; // destination for generated surface
|
||||||
|
int rowbytes; // destination logical width in bytes
|
||||||
|
msurface_t *surf; // description for surface to generate
|
||||||
|
fixed8_t lightadj[MAXLIGHTMAPS];
|
||||||
|
// adjust for lightmap levels for dynamic lighting
|
||||||
|
texture_t *texture; // corrected for animating textures
|
||||||
|
int surfmip; // mipmapped ratio of surface texels / world pixels
|
||||||
|
int surfwidth; // in mipmapped texels
|
||||||
|
int surfheight; // in mipmapped texels
|
||||||
|
} drawsurf_t;
|
||||||
|
|
||||||
|
extern drawsurf_t r_drawsurf;
|
||||||
|
|
||||||
|
void R_DrawSurface (void);
|
||||||
|
void R_GenTile (msurface_t *psurf, void *pdest);
|
||||||
|
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in d_ifacea.h too !!!
|
||||||
|
#define TURB_TEX_SIZE 64 // base turbulent texture size
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in d_ifacea.h too !!!
|
||||||
|
#define CYCLE 128 // turbulent cycle size
|
||||||
|
|
||||||
|
#define TILE_SIZE 128 // size of textures generated by R_GenTiledSurf
|
||||||
|
|
||||||
|
#define SKYSHIFT 7
|
||||||
|
#define SKYSIZE (1 << SKYSHIFT)
|
||||||
|
#define SKYMASK (SKYSIZE - 1)
|
||||||
|
|
||||||
|
extern float skyspeed, skyspeed2;
|
||||||
|
extern float skytime;
|
||||||
|
|
||||||
|
extern int c_surf;
|
||||||
|
extern vrect_t scr_vrect;
|
||||||
|
|
||||||
|
extern byte *r_warpbuffer;
|
||||||
|
|
||||||
|
#endif // __d_iface_h
|
102
nq/include/d_ifacea.h
Normal file
102
nq/include/d_ifacea.h
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
/*
|
||||||
|
d_ifacea.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// !!! note that this file must match the corresponding C structures in
|
||||||
|
// d_iface.h at all times !!!
|
||||||
|
//
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in r_shared.h too !!!
|
||||||
|
#define ALIAS_ONSEAM 0x0020
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in d_iface.h too !!!
|
||||||
|
#define TURB_TEX_SIZE 64 // base turbulent texture size
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in d_iface.h too !!!
|
||||||
|
#define CYCLE 128
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in r_shared.h too !!!
|
||||||
|
#define MAXHEIGHT 1024
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in quakedef.h too !!!
|
||||||
|
#define CACHE_SIZE 32 // used to align key data structures
|
||||||
|
|
||||||
|
// particle_t structure
|
||||||
|
// !!! if this is changed, it must be changed in d_iface.h too !!!
|
||||||
|
// driver-usable fields
|
||||||
|
#define pt_org 0
|
||||||
|
#define pt_color 12
|
||||||
|
// drivers never touch the following fields
|
||||||
|
#define pt_next 16
|
||||||
|
#define pt_vel 20
|
||||||
|
#define pt_ramp 32
|
||||||
|
#define pt_die 36
|
||||||
|
#define pt_type 40
|
||||||
|
#define pt_size 44
|
||||||
|
|
||||||
|
#define PARTICLE_Z_CLIP 8.0
|
||||||
|
|
||||||
|
// finalvert_t structure
|
||||||
|
// !!! if this is changed, it must be changed in d_iface.h too !!!
|
||||||
|
#define fv_v 0 // !!! if this is moved, cases where the !!!
|
||||||
|
// !!! address of this field is pushed in !!!
|
||||||
|
// !!! d_polysa.s must be changed !!!
|
||||||
|
#define fv_flags 24
|
||||||
|
#define fv_reserved 28
|
||||||
|
#define fv_size 32
|
||||||
|
#define fv_shift 5
|
||||||
|
|
||||||
|
|
||||||
|
// stvert_t structure
|
||||||
|
// !!! if this is changed, it must be changed in modelgen.h too !!!
|
||||||
|
#define stv_onseam 0
|
||||||
|
#define stv_s 4
|
||||||
|
#define stv_t 8
|
||||||
|
#define stv_size 12
|
||||||
|
|
||||||
|
|
||||||
|
// trivertx_t structure
|
||||||
|
// !!! if this is changed, it must be changed in modelgen.h too !!!
|
||||||
|
#define tv_v 0
|
||||||
|
#define tv_lightnormalindex 3
|
||||||
|
#define tv_size 4
|
||||||
|
|
||||||
|
// affinetridesc_t structure
|
||||||
|
// !!! if this is changed, it must be changed in d_iface.h too !!!
|
||||||
|
#define atd_pskin 0
|
||||||
|
#define atd_pskindesc 4
|
||||||
|
#define atd_skinwidth 8
|
||||||
|
#define atd_skinheight 12
|
||||||
|
#define atd_ptriangles 16
|
||||||
|
#define atd_pfinalverts 20
|
||||||
|
#define atd_numtriangles 24
|
||||||
|
#define atd_drawtype 28
|
||||||
|
#define atd_seamfixupX16 32
|
||||||
|
#define atd_size 36
|
||||||
|
|
119
nq/include/d_local.h
Normal file
119
nq/include/d_local.h
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
/*
|
||||||
|
d_local.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "r_shared.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
// TODO: fine-tune this; it's based on providing some overage even if there
|
||||||
|
// is a 2k-wide scan, with subdivision every 8, for 256 spans of 12 bytes each
|
||||||
|
//
|
||||||
|
#define SCANBUFFERPAD 0x1000
|
||||||
|
|
||||||
|
#define R_SKY_SMASK 0x007F0000
|
||||||
|
#define R_SKY_TMASK 0x007F0000
|
||||||
|
|
||||||
|
#define DS_SPAN_LIST_END -128
|
||||||
|
|
||||||
|
#define SURFCACHE_SIZE_AT_320X200 600*1024
|
||||||
|
|
||||||
|
typedef struct surfcache_s
|
||||||
|
{
|
||||||
|
struct surfcache_s *next;
|
||||||
|
struct surfcache_s **owner; // NULL is an empty chunk of memory
|
||||||
|
int lightadj[MAXLIGHTMAPS]; // checked for strobe flush
|
||||||
|
int dlight;
|
||||||
|
int size; // including header
|
||||||
|
unsigned width;
|
||||||
|
unsigned height; // DEBUG only needed for debug
|
||||||
|
float mipscale;
|
||||||
|
struct texture_s *texture; // checked for animating textures
|
||||||
|
byte data[4]; // width*height elements
|
||||||
|
} surfcache_t;
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in asm_draw.h too !!!
|
||||||
|
typedef struct sspan_s
|
||||||
|
{
|
||||||
|
int u, v, count;
|
||||||
|
} sspan_t;
|
||||||
|
|
||||||
|
extern cvar_t *d_subdiv16;
|
||||||
|
|
||||||
|
extern float scale_for_mip;
|
||||||
|
|
||||||
|
extern qboolean d_roverwrapped;
|
||||||
|
extern surfcache_t *sc_rover;
|
||||||
|
extern surfcache_t *d_initial_rover;
|
||||||
|
|
||||||
|
extern float d_sdivzstepu, d_tdivzstepu, d_zistepu;
|
||||||
|
extern float d_sdivzstepv, d_tdivzstepv, d_zistepv;
|
||||||
|
extern float d_sdivzorigin, d_tdivzorigin, d_ziorigin;
|
||||||
|
|
||||||
|
fixed16_t sadjust, tadjust;
|
||||||
|
fixed16_t bbextents, bbextentt;
|
||||||
|
|
||||||
|
|
||||||
|
void D_DrawSpans8 (espan_t *pspans);
|
||||||
|
void D_DrawSpans16 (espan_t *pspans);
|
||||||
|
void D_DrawZSpans (espan_t *pspans);
|
||||||
|
void Turbulent8 (espan_t *pspan);
|
||||||
|
void D_SpriteDrawSpans (sspan_t *pspan);
|
||||||
|
|
||||||
|
void D_DrawSkyScans8 (espan_t *pspan);
|
||||||
|
void D_DrawSkyScans16 (espan_t *pspan);
|
||||||
|
|
||||||
|
void R_ShowSubDiv (void);
|
||||||
|
void (*prealspandrawer)(void);
|
||||||
|
surfcache_t *D_CacheSurface (msurface_t *surface, int miplevel);
|
||||||
|
|
||||||
|
extern int D_MipLevelForScale (float scale);
|
||||||
|
|
||||||
|
#ifdef USE_INTEL_ASM
|
||||||
|
extern void D_PolysetAff8Start (void);
|
||||||
|
extern void D_PolysetAff8End (void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern short *d_pzbuffer;
|
||||||
|
extern unsigned int d_zrowbytes, d_zwidth;
|
||||||
|
|
||||||
|
extern int *d_pscantable;
|
||||||
|
extern int d_scantable[MAXHEIGHT];
|
||||||
|
|
||||||
|
extern int d_vrectx, d_vrecty, d_vrectright_particle, d_vrectbottom_particle;
|
||||||
|
|
||||||
|
extern int d_y_aspect_shift, d_pix_min, d_pix_max, d_pix_shift;
|
||||||
|
|
||||||
|
extern pixel_t *d_viewbuffer;
|
||||||
|
|
||||||
|
extern short *zspantable[MAXHEIGHT];
|
||||||
|
|
||||||
|
extern int d_minmip;
|
||||||
|
extern float d_scalemip[3];
|
||||||
|
|
||||||
|
extern void (*d_drawspans) (espan_t *pspan);
|
||||||
|
|
52
nq/include/dga_check.h
Normal file
52
nq/include/dga_check.h
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
dga_check.h
|
||||||
|
|
||||||
|
Definitions for XFree86 DGA and VidMode support
|
||||||
|
|
||||||
|
Copyright (C) 2000 Jeff Teunissen <deek@dusknet.dhs.org>
|
||||||
|
Copyright (C) 2000 Marcus Sundberg [mackan@stacken.kth.se]
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __dga_check_h_
|
||||||
|
#define __dga_check_h_
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
|
||||||
|
#include "qtypes.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
VID_CheckDGA
|
||||||
|
|
||||||
|
Check for the presence of the XFree86-DGA support in the X server
|
||||||
|
*/
|
||||||
|
qboolean VID_CheckDGA (Display *, int *, int *, int *);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
VID_CheckVMode
|
||||||
|
|
||||||
|
Check for the presence of the XFree86-VMode X server extension
|
||||||
|
*/
|
||||||
|
qboolean VID_CheckVMode (Display *, int *, int *);
|
||||||
|
|
||||||
|
#endif // __dga_check_h_
|
105
nq/include/dosisms.h
Normal file
105
nq/include/dosisms.h
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
/*
|
||||||
|
dosisms.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _DOSISMS_H_
|
||||||
|
#define _DOSISMS_H_
|
||||||
|
|
||||||
|
int dos_lockmem(void *addr, int size);
|
||||||
|
int dos_unlockmem(void *addr, int size);
|
||||||
|
|
||||||
|
typedef union {
|
||||||
|
struct {
|
||||||
|
unsigned long edi;
|
||||||
|
unsigned long esi;
|
||||||
|
unsigned long ebp;
|
||||||
|
unsigned long res;
|
||||||
|
unsigned long ebx;
|
||||||
|
unsigned long edx;
|
||||||
|
unsigned long ecx;
|
||||||
|
unsigned long eax;
|
||||||
|
} d;
|
||||||
|
struct {
|
||||||
|
unsigned short di, di_hi;
|
||||||
|
unsigned short si, si_hi;
|
||||||
|
unsigned short bp, bp_hi;
|
||||||
|
unsigned short res, res_hi;
|
||||||
|
unsigned short bx, bx_hi;
|
||||||
|
unsigned short dx, dx_hi;
|
||||||
|
unsigned short cx, cx_hi;
|
||||||
|
unsigned short ax, ax_hi;
|
||||||
|
unsigned short flags;
|
||||||
|
unsigned short es;
|
||||||
|
unsigned short ds;
|
||||||
|
unsigned short fs;
|
||||||
|
unsigned short gs;
|
||||||
|
unsigned short ip;
|
||||||
|
unsigned short cs;
|
||||||
|
unsigned short sp;
|
||||||
|
unsigned short ss;
|
||||||
|
} x;
|
||||||
|
struct {
|
||||||
|
unsigned char edi[4];
|
||||||
|
unsigned char esi[4];
|
||||||
|
unsigned char ebp[4];
|
||||||
|
unsigned char res[4];
|
||||||
|
unsigned char bl, bh, ebx_b2, ebx_b3;
|
||||||
|
unsigned char dl, dh, edx_b2, edx_b3;
|
||||||
|
unsigned char cl, ch, ecx_b2, ecx_b3;
|
||||||
|
unsigned char al, ah, eax_b2, eax_b3;
|
||||||
|
} h;
|
||||||
|
} regs_t;
|
||||||
|
|
||||||
|
unsigned int ptr2real(void *ptr);
|
||||||
|
void *real2ptr(unsigned int real);
|
||||||
|
void *far2ptr(unsigned int farptr);
|
||||||
|
unsigned int ptr2far(void *ptr);
|
||||||
|
|
||||||
|
int dos_inportb(int port);
|
||||||
|
int dos_inportw(int port);
|
||||||
|
void dos_outportb(int port, int val);
|
||||||
|
void dos_outportw(int port, int val);
|
||||||
|
|
||||||
|
void dos_irqenable(void);
|
||||||
|
void dos_irqdisable(void);
|
||||||
|
void dos_registerintr(int intr, void (*handler)(void));
|
||||||
|
void dos_restoreintr(int intr);
|
||||||
|
|
||||||
|
int dos_int86(int vec);
|
||||||
|
|
||||||
|
void *dos_getmemory(int size);
|
||||||
|
void dos_freememory(void *ptr);
|
||||||
|
|
||||||
|
void dos_usleep(int usecs);
|
||||||
|
|
||||||
|
int dos_getheapsize(void);
|
||||||
|
|
||||||
|
extern regs_t regs;
|
||||||
|
|
||||||
|
#endif // _DOSISMS_H_
|
||||||
|
|
55
nq/include/draw.h
Normal file
55
nq/include/draw.h
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
/*
|
||||||
|
draw.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __draw_h
|
||||||
|
#define __draw_h
|
||||||
|
|
||||||
|
#include "wad.h"
|
||||||
|
|
||||||
|
extern qpic_t *draw_disc; // also used on sbar
|
||||||
|
|
||||||
|
void Draw_Init (void);
|
||||||
|
void Draw_Character8 (int x, int y, int num);
|
||||||
|
void Draw_DebugChar (char num);
|
||||||
|
void Draw_Pic (int x, int y, qpic_t *pic);
|
||||||
|
void Draw_SubPic(int x, int y, qpic_t *pic, int srcx, int srcy, int width, int height);
|
||||||
|
void Draw_TransPic (int x, int y, qpic_t *pic);
|
||||||
|
void Draw_TransPicTranslate (int x, int y, qpic_t *pic, byte *translation);
|
||||||
|
void Draw_ConsoleBackground (int lines);
|
||||||
|
void Draw_BeginDisc (void);
|
||||||
|
void Draw_EndDisc (void);
|
||||||
|
void Draw_TileClear (int x, int y, int w, int h);
|
||||||
|
void Draw_Fill (int x, int y, int w, int h, int c);
|
||||||
|
void Draw_FadeScreen (void);
|
||||||
|
void Draw_String8 (int x, int y, char *str);
|
||||||
|
void Draw_Crosshair(void);
|
||||||
|
qpic_t *Draw_PicFromWad (char *name);
|
||||||
|
qpic_t *Draw_CachePic (char *path);
|
||||||
|
void Draw_Crosshair(void);
|
||||||
|
|
||||||
|
#endif // __draw_h
|
36
nq/include/gcc_attr.h
Normal file
36
nq/include/gcc_attr.h
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
gcc_attr.h
|
||||||
|
|
||||||
|
GCC __attribute__ protection for lame compilers.
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _GCC_ATTR_H
|
||||||
|
#define _GCC_ATTR_H
|
||||||
|
|
||||||
|
#ifndef __GNUC__
|
||||||
|
#define __attribute__(x)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // _GCC_ATTR_H
|
38
nq/include/gib.h
Normal file
38
nq/include/gib.h
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
typedef int (*gib_func_t) (void);
|
||||||
|
|
||||||
|
typedef struct gib_var_s
|
||||||
|
{
|
||||||
|
char *key;
|
||||||
|
char *value;
|
||||||
|
struct gib_var_s *next;
|
||||||
|
} gib_var_t;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct gib_sub_s
|
||||||
|
{
|
||||||
|
char *name;
|
||||||
|
char *code;
|
||||||
|
gib_var_t *vars;
|
||||||
|
struct gib_sub_s *next;
|
||||||
|
} gib_sub_t;
|
||||||
|
|
||||||
|
typedef struct gib_module_s
|
||||||
|
{
|
||||||
|
char *name;
|
||||||
|
gib_sub_t *subs;
|
||||||
|
gib_var_t *vars;
|
||||||
|
struct gib_module_s *next;
|
||||||
|
} gib_module_t;
|
||||||
|
|
||||||
|
typedef struct gib_inst_s
|
||||||
|
{
|
||||||
|
char *name;
|
||||||
|
gib_func_t func;
|
||||||
|
struct gib_inst_s *next;
|
||||||
|
} gib_inst_t;
|
||||||
|
|
||||||
|
void GIB_Init (void);
|
||||||
|
void GIB_Gib_f (void);
|
||||||
|
void GIB_Load_f (void);
|
||||||
|
void GIB_Stats_f (void);
|
||||||
|
|
12
nq/include/gib_error.h
Normal file
12
nq/include/gib_error.h
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#define GIB_E_EXIT -2
|
||||||
|
#define GIB_E_RETURN -1
|
||||||
|
#define GIB_E_PARSE 1
|
||||||
|
#define GIB_E_NUMARGS 2
|
||||||
|
#define GIB_E_ARG 3
|
||||||
|
#define GIB_E_CALLS 4
|
||||||
|
#define GIB_E_NOSUB 5
|
||||||
|
#define GIB_E_NOVAR 6
|
||||||
|
#define GIB_E_BUFFER 7
|
||||||
|
#define GIB_E_TYPE 8
|
||||||
|
#define GIB_E_ULIMIT 9
|
||||||
|
#define GIB_E_ILLINST 10
|
10
nq/include/gib_instructions.h
Normal file
10
nq/include/gib_instructions.h
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
void GIB_AddInstruction (char *name, gib_func_t func);
|
||||||
|
gib_inst_t *GIB_Find_Instruction (char *name);
|
||||||
|
void GIB_Init_Instructions (void);
|
||||||
|
int GIB_Echo_f (void);
|
||||||
|
int GIB_Call_f (void);
|
||||||
|
int GIB_Return_f (void);
|
||||||
|
int GIB_Con_f (void);
|
||||||
|
int GIB_ListFetch_f (void);
|
||||||
|
int GIB_ExpandVars (char *source, char *buffer, int bufferlen);
|
||||||
|
int GIB_ExpandBackticks (char *source, char *buffer, int bufferlen);
|
15
nq/include/gib_interpret.h
Normal file
15
nq/include/gib_interpret.h
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#define GIB_MAXCALLS 2048
|
||||||
|
#define GIB_MAXSUBARGS 256
|
||||||
|
|
||||||
|
extern char *gib_subargv[256];
|
||||||
|
extern int gib_subargc;
|
||||||
|
|
||||||
|
char *GIB_Argv(int i);
|
||||||
|
int GIB_Argc(void);
|
||||||
|
void GIB_Strip_Arg (char *arg);
|
||||||
|
int GIB_Execute_Block (char *block, int retflag);
|
||||||
|
int GIB_Execute_Inst (void);
|
||||||
|
int GIB_Execute_Sub (void);
|
||||||
|
int GIB_Interpret_Inst (char *inst);
|
||||||
|
int GIB_Run_Inst (char *inst);
|
||||||
|
int GIB_Run_Sub (gib_module_t *mod, gib_sub_t *sub);
|
7
nq/include/gib_modules.h
Normal file
7
nq/include/gib_modules.h
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
void GIB_Module_Load (char *name, QFile *f);
|
||||||
|
gib_module_t *GIB_Create_Module (char *name);
|
||||||
|
gib_sub_t *GIB_Create_Sub (gib_module_t *mod, char *name);
|
||||||
|
void GIB_Read_Sub (gib_sub_t *sub, QFile *f);
|
||||||
|
gib_module_t *GIB_Find_Module (char *name);
|
||||||
|
gib_sub_t *GIB_Find_Sub (gib_module_t *mod, char *name);
|
||||||
|
void GIB_Stats_f (void);
|
8
nq/include/gib_parse.h
Normal file
8
nq/include/gib_parse.h
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
int GIB_Get_Inst (char *start);
|
||||||
|
int GIB_Get_Arg (char *start);
|
||||||
|
int GIB_End_Quote (char *start);
|
||||||
|
int GIB_End_DQuote (char *start);
|
||||||
|
int GIB_End_Bracket (char *start);
|
||||||
|
gib_sub_t *GIB_Get_ModSub_Sub (char *modsub);
|
||||||
|
gib_module_t *GIB_Get_ModSub_Mod (char *modsub);
|
||||||
|
int GIB_ExpandEscapes (char *source);
|
29
nq/include/gib_stack.h
Normal file
29
nq/include/gib_stack.h
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
#define GIB_LOCALS gib_substack[gib_subsp - 1].local
|
||||||
|
#define GIB_CURRENTMOD gib_substack[gib_subsp - 1].mod
|
||||||
|
#define GIB_CURRENTSUB gib_substack[gib_subsp - 1].sub
|
||||||
|
|
||||||
|
typedef struct gib_instack_s
|
||||||
|
{
|
||||||
|
gib_inst_t *instruction;
|
||||||
|
char **argv;
|
||||||
|
int argc;
|
||||||
|
} gib_instack_t;
|
||||||
|
|
||||||
|
typedef struct gib_substack_s
|
||||||
|
{
|
||||||
|
gib_module_t *mod;
|
||||||
|
gib_sub_t *sub;
|
||||||
|
gib_var_t *local;
|
||||||
|
} gib_substack_t;
|
||||||
|
|
||||||
|
extern gib_instack_t *gib_instack;
|
||||||
|
extern gib_substack_t *gib_substack;
|
||||||
|
|
||||||
|
extern int gib_insp;
|
||||||
|
extern int gib_subsp;
|
||||||
|
|
||||||
|
void GIB_InStack_Push (gib_inst_t *instruction, int argc, char **argv);
|
||||||
|
void GIB_InStack_Pop ();
|
||||||
|
void GIB_SubStack_Push (gib_module_t *mod, gib_sub_t *sub, gib_var_t *local);
|
||||||
|
void GIB_SubStack_Pop ();
|
||||||
|
|
5
nq/include/gib_vars.h
Normal file
5
nq/include/gib_vars.h
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
|
||||||
|
gib_var_t *GIB_Var_FindLocal (char *key);
|
||||||
|
gib_var_t *GIB_Var_FindGlobal (char *key);
|
||||||
|
void GIB_Var_Set (char *key, char *value);
|
||||||
|
void GIB_Var_FreeAll (gib_var_t *var);
|
60
nq/include/gl_warp_sin.h
Normal file
60
nq/include/gl_warp_sin.h
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
/*
|
||||||
|
gl_warp_sin.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
0, 0.19633, 0.392541, 0.588517, 0.784137, 0.979285, 1.17384, 1.3677,
|
||||||
|
1.56072, 1.75281, 1.94384, 2.1337, 2.32228, 2.50945, 2.69512, 2.87916,
|
||||||
|
3.06147, 3.24193, 3.42044, 3.59689, 3.77117, 3.94319, 4.11282, 4.27998,
|
||||||
|
4.44456, 4.60647, 4.76559, 4.92185, 5.07515, 5.22538, 5.37247, 5.51632,
|
||||||
|
5.65685, 5.79398, 5.92761, 6.05767, 6.18408, 6.30677, 6.42566, 6.54068,
|
||||||
|
6.65176, 6.75883, 6.86183, 6.9607, 7.05537, 7.14579, 7.23191, 7.31368,
|
||||||
|
7.39104, 7.46394, 7.53235, 7.59623, 7.65552, 7.71021, 7.76025, 7.80562,
|
||||||
|
7.84628, 7.88222, 7.91341, 7.93984, 7.96148, 7.97832, 7.99036, 7.99759,
|
||||||
|
8, 7.99759, 7.99036, 7.97832, 7.96148, 7.93984, 7.91341, 7.88222,
|
||||||
|
7.84628, 7.80562, 7.76025, 7.71021, 7.65552, 7.59623, 7.53235, 7.46394,
|
||||||
|
7.39104, 7.31368, 7.23191, 7.14579, 7.05537, 6.9607, 6.86183, 6.75883,
|
||||||
|
6.65176, 6.54068, 6.42566, 6.30677, 6.18408, 6.05767, 5.92761, 5.79398,
|
||||||
|
5.65685, 5.51632, 5.37247, 5.22538, 5.07515, 4.92185, 4.76559, 4.60647,
|
||||||
|
4.44456, 4.27998, 4.11282, 3.94319, 3.77117, 3.59689, 3.42044, 3.24193,
|
||||||
|
3.06147, 2.87916, 2.69512, 2.50945, 2.32228, 2.1337, 1.94384, 1.75281,
|
||||||
|
1.56072, 1.3677, 1.17384, 0.979285, 0.784137, 0.588517, 0.392541, 0.19633,
|
||||||
|
9.79717e-16, -0.19633, -0.392541, -0.588517, -0.784137, -0.979285, -1.17384, -1.3677,
|
||||||
|
-1.56072, -1.75281, -1.94384, -2.1337, -2.32228, -2.50945, -2.69512, -2.87916,
|
||||||
|
-3.06147, -3.24193, -3.42044, -3.59689, -3.77117, -3.94319, -4.11282, -4.27998,
|
||||||
|
-4.44456, -4.60647, -4.76559, -4.92185, -5.07515, -5.22538, -5.37247, -5.51632,
|
||||||
|
-5.65685, -5.79398, -5.92761, -6.05767, -6.18408, -6.30677, -6.42566, -6.54068,
|
||||||
|
-6.65176, -6.75883, -6.86183, -6.9607, -7.05537, -7.14579, -7.23191, -7.31368,
|
||||||
|
-7.39104, -7.46394, -7.53235, -7.59623, -7.65552, -7.71021, -7.76025, -7.80562,
|
||||||
|
-7.84628, -7.88222, -7.91341, -7.93984, -7.96148, -7.97832, -7.99036, -7.99759,
|
||||||
|
-8, -7.99759, -7.99036, -7.97832, -7.96148, -7.93984, -7.91341, -7.88222,
|
||||||
|
-7.84628, -7.80562, -7.76025, -7.71021, -7.65552, -7.59623, -7.53235, -7.46394,
|
||||||
|
-7.39104, -7.31368, -7.23191, -7.14579, -7.05537, -6.9607, -6.86183, -6.75883,
|
||||||
|
-6.65176, -6.54068, -6.42566, -6.30677, -6.18408, -6.05767, -5.92761, -5.79398,
|
||||||
|
-5.65685, -5.51632, -5.37247, -5.22538, -5.07515, -4.92185, -4.76559, -4.60647,
|
||||||
|
-4.44456, -4.27998, -4.11282, -3.94319, -3.77117, -3.59689, -3.42044, -3.24193,
|
||||||
|
-3.06147, -2.87916, -2.69512, -2.50945, -2.32228, -2.1337, -1.94384, -1.75281,
|
||||||
|
-1.56072, -1.3677, -1.17384, -0.979285, -0.784137, -0.588517, -0.392541, -0.19633,
|
292
nq/include/glquake.h
Normal file
292
nq/include/glquake.h
Normal file
|
@ -0,0 +1,292 @@
|
||||||
|
/*
|
||||||
|
glquake.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __glquake_h
|
||||||
|
#define __glquake_h
|
||||||
|
|
||||||
|
#ifndef __GNUC__
|
||||||
|
// disable data conversion warnings
|
||||||
|
#pragma warning(disable : 4244) // MIPS
|
||||||
|
#pragma warning(disable : 4136) // X86
|
||||||
|
#pragma warning(disable : 4051) // ALPHA
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <GL/gl.h>
|
||||||
|
|
||||||
|
#include "qtypes.h"
|
||||||
|
#include "model.h"
|
||||||
|
#include "d_iface.h"
|
||||||
|
|
||||||
|
void GL_BeginRendering (int *x, int *y, int *width, int *height);
|
||||||
|
void GL_EndRendering (void);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
// Function prototypes for the Texture Object Extension routines
|
||||||
|
typedef GLboolean (APIENTRY *ARETEXRESFUNCPTR)(GLsizei, const GLuint *,
|
||||||
|
const GLboolean *);
|
||||||
|
typedef void (APIENTRY *BINDTEXFUNCPTR)(GLenum, GLuint);
|
||||||
|
typedef void (APIENTRY *DELTEXFUNCPTR)(GLsizei, const GLuint *);
|
||||||
|
typedef void (APIENTRY *GENTEXFUNCPTR)(GLsizei, GLuint *);
|
||||||
|
typedef GLboolean (APIENTRY *ISTEXFUNCPTR)(GLuint);
|
||||||
|
typedef void (APIENTRY *PRIORTEXFUNCPTR)(GLsizei, const GLuint *,
|
||||||
|
const GLclampf *);
|
||||||
|
typedef void (APIENTRY *TEXSUBIMAGEPTR)(int, int, int, int, int, int, int, int, void *);
|
||||||
|
|
||||||
|
extern BINDTEXFUNCPTR bindTexFunc;
|
||||||
|
extern DELTEXFUNCPTR delTexFunc;
|
||||||
|
extern TEXSUBIMAGEPTR TexSubImage2DFunc;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern int texture_extension_number;
|
||||||
|
extern int texture_mode;
|
||||||
|
extern int gl_mtex_enum;
|
||||||
|
|
||||||
|
extern float gldepthmin, gldepthmax;
|
||||||
|
|
||||||
|
void GL_Upload8 (byte *data, int width, int height, qboolean mipmap, qboolean alpha);
|
||||||
|
int GL_LoadTexture (char *identifier, int width, int height, byte *data, qboolean mipmap, qboolean alpha, int bytesperpixel);
|
||||||
|
int GL_FindTexture (char *identifier);
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
float x, y, z;
|
||||||
|
float s, t;
|
||||||
|
float r, g, b;
|
||||||
|
} glvert_t;
|
||||||
|
|
||||||
|
extern glvert_t glv;
|
||||||
|
|
||||||
|
extern int glx, gly, glwidth, glheight;
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
extern PROC glArrayElementEXT;
|
||||||
|
extern PROC glColorPointerEXT;
|
||||||
|
extern PROC glTexturePointerEXT;
|
||||||
|
extern PROC glVertexPointerEXT;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// r_local.h -- private refresh defs
|
||||||
|
|
||||||
|
#define ALIAS_BASE_SIZE_RATIO (1.0 / 11.0)
|
||||||
|
// normalizing factor so player model works out to about
|
||||||
|
// 1 pixel per triangle
|
||||||
|
#define MAX_LBM_HEIGHT 480
|
||||||
|
|
||||||
|
#define MAX_GLTEXTURES 2048
|
||||||
|
|
||||||
|
#define TILE_SIZE 128 // size of textures generated by R_GenTiledSurf
|
||||||
|
|
||||||
|
#define SKYSHIFT 7
|
||||||
|
#define SKYSIZE (1 << SKYSHIFT)
|
||||||
|
#define SKYMASK (SKYSIZE - 1)
|
||||||
|
|
||||||
|
#define BACKFACE_EPSILON 0.01
|
||||||
|
|
||||||
|
|
||||||
|
void R_TimeRefresh_f (void);
|
||||||
|
void R_ReadPointFile_f (void);
|
||||||
|
texture_t *R_TextureAnimation (texture_t *base);
|
||||||
|
|
||||||
|
typedef struct surfcache_s
|
||||||
|
{
|
||||||
|
struct surfcache_s *next;
|
||||||
|
struct surfcache_s **owner; // NULL is an empty chunk of memory
|
||||||
|
int lightadj[MAXLIGHTMAPS]; // checked for strobe flush
|
||||||
|
int dlight;
|
||||||
|
int size; // including header
|
||||||
|
unsigned width;
|
||||||
|
unsigned height; // DEBUG only needed for debug
|
||||||
|
float mipscale;
|
||||||
|
struct texture_s *texture; // checked for animating textures
|
||||||
|
byte data[4]; // width*height elements
|
||||||
|
} surfcache_t;
|
||||||
|
|
||||||
|
//====================================================
|
||||||
|
|
||||||
|
|
||||||
|
extern entity_t r_worldentity;
|
||||||
|
extern qboolean r_cache_thrash; // compatability
|
||||||
|
extern vec3_t modelorg, r_entorigin;
|
||||||
|
extern entity_t *currententity;
|
||||||
|
extern int r_visframecount; // ??? what difs?
|
||||||
|
extern int r_framecount;
|
||||||
|
extern mplane_t frustum[4];
|
||||||
|
extern int c_brush_polys, c_alias_polys;
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// view origin
|
||||||
|
//
|
||||||
|
extern vec3_t vup;
|
||||||
|
extern vec3_t vpn;
|
||||||
|
extern vec3_t vright;
|
||||||
|
extern vec3_t r_origin;
|
||||||
|
|
||||||
|
//
|
||||||
|
// screen size info
|
||||||
|
//
|
||||||
|
extern refdef_t r_refdef;
|
||||||
|
extern mleaf_t *r_viewleaf, *r_oldviewleaf;
|
||||||
|
extern texture_t *r_notexture_mip;
|
||||||
|
extern int d_lightstylevalue[256]; // 8.8 fraction of base light value
|
||||||
|
|
||||||
|
extern qboolean envmap;
|
||||||
|
extern int currenttexture;
|
||||||
|
extern int cnttextures[2];
|
||||||
|
extern int particletexture;
|
||||||
|
extern int netgraphtexture;
|
||||||
|
extern int playertextures;
|
||||||
|
|
||||||
|
extern int skytexturenum; // index in cl.loadmodel, not gl texture object
|
||||||
|
|
||||||
|
extern cvar_t *r_norefresh;
|
||||||
|
extern cvar_t *r_drawentities;
|
||||||
|
extern cvar_t *r_drawworld;
|
||||||
|
extern cvar_t *r_drawviewmodel;
|
||||||
|
extern cvar_t *r_speeds;
|
||||||
|
extern cvar_t *r_waterwarp;
|
||||||
|
extern cvar_t *r_fullbright;
|
||||||
|
extern cvar_t *r_lightmap;
|
||||||
|
extern cvar_t *r_shadows;
|
||||||
|
extern cvar_t *r_mirroralpha;
|
||||||
|
extern cvar_t *r_wateralpha;
|
||||||
|
extern cvar_t *r_waterripple;
|
||||||
|
extern cvar_t *r_dynamic;
|
||||||
|
extern cvar_t *r_novis;
|
||||||
|
extern cvar_t *r_netgraph;
|
||||||
|
|
||||||
|
extern cvar_t *gl_clear;
|
||||||
|
extern cvar_t *gl_cull;
|
||||||
|
extern cvar_t *gl_poly;
|
||||||
|
extern cvar_t *gl_texsort;
|
||||||
|
extern cvar_t *gl_smoothmodels;
|
||||||
|
extern cvar_t *gl_affinemodels;
|
||||||
|
extern cvar_t *gl_polyblend;
|
||||||
|
extern cvar_t *gl_keeptjunctions;
|
||||||
|
extern cvar_t *gl_reporttjunctions;
|
||||||
|
extern cvar_t *gl_flashblend;
|
||||||
|
extern cvar_t *gl_nocolors;
|
||||||
|
extern cvar_t *gl_doubleeyes;
|
||||||
|
|
||||||
|
extern cvar_t *gl_ztrick;
|
||||||
|
extern cvar_t *gl_finish;
|
||||||
|
extern cvar_t *gl_clear;
|
||||||
|
extern cvar_t *gl_subdivide_size;
|
||||||
|
extern cvar_t *gl_particles;
|
||||||
|
extern cvar_t *gl_fires;
|
||||||
|
extern cvar_t *gl_fb_models;
|
||||||
|
extern cvar_t *gl_fb_bmodels;
|
||||||
|
|
||||||
|
extern int gl_lightmap_format;
|
||||||
|
extern int gl_solid_format;
|
||||||
|
extern int gl_alpha_format;
|
||||||
|
|
||||||
|
extern cvar_t *gl_max_size;
|
||||||
|
extern cvar_t *gl_playermip;
|
||||||
|
|
||||||
|
extern cvar_t *r_skyname;
|
||||||
|
extern cvar_t *gl_skymultipass;
|
||||||
|
|
||||||
|
extern int mirrortexturenum; // quake texturenum, not gltexturenum
|
||||||
|
extern qboolean mirror;
|
||||||
|
extern qboolean lighthalf;
|
||||||
|
extern mplane_t *mirror_plane;
|
||||||
|
|
||||||
|
extern float r_world_matrix[16];
|
||||||
|
|
||||||
|
extern float bubble_sintable[], bubble_costable[];
|
||||||
|
|
||||||
|
extern const char *gl_vendor;
|
||||||
|
extern const char *gl_renderer;
|
||||||
|
extern const char *gl_version;
|
||||||
|
extern const char *gl_extensions;
|
||||||
|
|
||||||
|
void R_TranslatePlayerSkin (int playernum);
|
||||||
|
void GL_Bind (int texnum);
|
||||||
|
|
||||||
|
// Multitexture
|
||||||
|
#define TEXTURE0_SGIS 0x835E
|
||||||
|
#define TEXTURE1_SGIS 0x835F
|
||||||
|
|
||||||
|
#ifndef _WIN32
|
||||||
|
#define APIENTRY /* */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef void (APIENTRY *lpMTexFUNC) (GLenum, GLfloat, GLfloat);
|
||||||
|
typedef void (APIENTRY *lpSelTexFUNC) (GLenum);
|
||||||
|
extern lpMTexFUNC qglMTexCoord2fSGIS;
|
||||||
|
extern lpSelTexFUNC qglSelectTextureSGIS;
|
||||||
|
extern lpMTexFUNC qglMTexCoord2f;
|
||||||
|
extern lpSelTexFUNC qglSelectTexture;
|
||||||
|
|
||||||
|
extern qboolean gl_mtexable;
|
||||||
|
|
||||||
|
void GL_SubdivideSurface (msurface_t *fa);
|
||||||
|
|
||||||
|
void GL_DisableMultitexture(void);
|
||||||
|
void GL_EnableMultitexture(void);
|
||||||
|
void GL_BuildLightmaps (void);
|
||||||
|
void GL_Upload8_EXT (byte *data, int width, int height, qboolean mipmap, qboolean alpha) ;
|
||||||
|
void GL_Set2D (void);
|
||||||
|
void GL_CheckGamma (unsigned char *pal);
|
||||||
|
|
||||||
|
void EmitWaterPolys (msurface_t *fa);
|
||||||
|
void EmitSkyPolys (msurface_t *fa);
|
||||||
|
void EmitBothSkyLayers (msurface_t *fa);
|
||||||
|
void R_DrawSkyChain (msurface_t *s);
|
||||||
|
void R_LoadSkys (char *);
|
||||||
|
void R_DrawSky (void);
|
||||||
|
|
||||||
|
void R_RotateForEntity (entity_t *e);
|
||||||
|
|
||||||
|
qboolean R_CullBox (vec3_t mins, vec3_t maxs);
|
||||||
|
|
||||||
|
void AddLightBlend (float, float, float, float);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int key; // allows reusability
|
||||||
|
vec3_t origin, owner;
|
||||||
|
float size;
|
||||||
|
float die, decay; // duration settings
|
||||||
|
float minlight; // lighting threshold
|
||||||
|
float _color[3]; // RGBA
|
||||||
|
float *color;
|
||||||
|
} fire_t;
|
||||||
|
|
||||||
|
void R_AddFire (vec3_t, vec3_t, entity_t *ent);
|
||||||
|
fire_t *R_AllocFire (int);
|
||||||
|
void R_DrawFire (fire_t *);
|
||||||
|
void R_UpdateFires (void);
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __glquake_h
|
217
nq/include/glquake2.h
Normal file
217
nq/include/glquake2.h
Normal file
|
@ -0,0 +1,217 @@
|
||||||
|
/*
|
||||||
|
glquake2.h
|
||||||
|
|
||||||
|
@description@
|
||||||
|
|
||||||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||||||
|
|
||||||
|
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$
|
||||||
|
*/
|
||||||
|
|
||||||
|
// disable data conversion warnings
|
||||||
|
|
||||||
|
#pragma warning(disable : 4244) // MIPS
|
||||||
|
#pragma warning(disable : 4136) // X86
|
||||||
|
#pragma warning(disable : 4051) // ALPHA
|
||||||
|
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
#include <gl\gl.h>
|
||||||
|
|
||||||
|
void GL_BeginRendering (int *x, int *y, int *width, int *height);
|
||||||
|
void GL_EndRendering (void);
|
||||||
|
|
||||||
|
|
||||||
|
// Function prototypes for the Texture Object Extension routines
|
||||||
|
typedef GLboolean (APIENTRY *ARETEXRESFUNCPTR)(GLsizei, const GLuint *,
|
||||||
|
const GLboolean *);
|
||||||
|
typedef void (APIENTRY *BINDTEXFUNCPTR)(GLenum, GLuint);
|
||||||
|
typedef void (APIENTRY *DELTEXFUNCPTR)(GLsizei, const GLuint *);
|
||||||
|
typedef void (APIENTRY *GENTEXFUNCPTR)(GLsizei, GLuint *);
|
||||||
|
typedef GLboolean (APIENTRY *ISTEXFUNCPTR)(GLuint);
|
||||||
|
typedef void (APIENTRY *PRIORTEXFUNCPTR)(GLsizei, const GLuint *,
|
||||||
|
const GLclampf *);
|
||||||
|
typedef void (APIENTRY *TEXSUBIMAGEPTR)(int, int, int, int, int, int, int, int, void *);
|
||||||
|
|
||||||
|
extern BINDTEXFUNCPTR bindTexFunc;
|
||||||
|
extern DELTEXFUNCPTR delTexFunc;
|
||||||
|
extern TEXSUBIMAGEPTR TexSubImage2DFunc;
|
||||||
|
|
||||||
|
extern int texture_extension_number;
|
||||||
|
extern int texture_mode;
|
||||||
|
|
||||||
|
extern float gldepthmin, gldepthmax;
|
||||||
|
|
||||||
|
void GL_Upload32 (unsigned *data, int width, int height, qboolean mipmap, qboolean alpha, qboolean modulate);
|
||||||
|
void GL_Upload8 (byte *data, int width, int height, qboolean mipmap, qboolean alpha, qboolean modulate);
|
||||||
|
int GL_LoadTexture (char *identifier, int width, int height, byte *data, int mipmap, int alpha, int modulate);
|
||||||
|
int GL_FindTexture (char *identifier);
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
float x, y, z;
|
||||||
|
float s, t;
|
||||||
|
float r, g, b;
|
||||||
|
} glvert_t;
|
||||||
|
|
||||||
|
extern glvert_t glv;
|
||||||
|
|
||||||
|
extern int glx, gly, glwidth, glheight;
|
||||||
|
|
||||||
|
extern PROC glArrayElementEXT;
|
||||||
|
extern PROC glColorPointerEXT;
|
||||||
|
extern PROC glTexturePointerEXT;
|
||||||
|
extern PROC glVertexPointerEXT;
|
||||||
|
|
||||||
|
|
||||||
|
// r_local.h -- private refresh defs
|
||||||
|
|
||||||
|
#define MAXALIASVERTS 2000 // TODO: tune this
|
||||||
|
|
||||||
|
#define ALIAS_BASE_SIZE_RATIO (1.0 / 11.0)
|
||||||
|
// normalizing factor so player model works out to about
|
||||||
|
// 1 pixel per triangle
|
||||||
|
#define MAX_LBM_HEIGHT 480
|
||||||
|
|
||||||
|
#define TILE_SIZE 128 // size of textures generated by R_GenTiledSurf
|
||||||
|
|
||||||
|
#define SKYSHIFT 7
|
||||||
|
#define SKYSIZE (1 << SKYSHIFT)
|
||||||
|
#define SKYMASK (SKYSIZE - 1)
|
||||||
|
|
||||||
|
#define BACKFACE_EPSILON 0.01
|
||||||
|
|
||||||
|
|
||||||
|
void R_TimeRefresh_f (void);
|
||||||
|
void R_ReadPointFile_f (void);
|
||||||
|
texture_t *R_TextureAnimation (texture_t *base);
|
||||||
|
|
||||||
|
typedef struct surfcache_s
|
||||||
|
{
|
||||||
|
struct surfcache_s *next;
|
||||||
|
struct surfcache_s **owner; // NULL is an empty chunk of memory
|
||||||
|
int lightadj[MAXLIGHTMAPS]; // checked for strobe flush
|
||||||
|
int dlight;
|
||||||
|
int size; // including header
|
||||||
|
unsigned width;
|
||||||
|
unsigned height; // DEBUG only needed for debug
|
||||||
|
float mipscale;
|
||||||
|
struct texture_s *texture; // checked for animating textures
|
||||||
|
byte data[4]; // width*height elements
|
||||||
|
} surfcache_t;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
pixel_t *surfdat; // destination for generated surface
|
||||||
|
int rowbytes; // destination logical width in bytes
|
||||||
|
msurface_t *surf; // description for surface to generate
|
||||||
|
fixed8_t lightadj[MAXLIGHTMAPS];
|
||||||
|
// adjust for lightmap levels for dynamic lighting
|
||||||
|
texture_t *texture; // corrected for animating textures
|
||||||
|
int surfmip; // mipmapped ratio of surface texels / world pixels
|
||||||
|
int surfwidth; // in mipmapped texels
|
||||||
|
int surfheight; // in mipmapped texels
|
||||||
|
} drawsurf_t;
|
||||||
|
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
pt_static, pt_grav, pt_slowgrav, pt_fire, pt_explode, pt_explode2, pt_blob, pt_blob2
|
||||||
|
} ptype_t;
|
||||||
|
|
||||||
|
// !!! if this is changed, it must be changed in d_ifacea.h too !!!
|
||||||
|
typedef struct particle_s
|
||||||
|
{
|
||||||
|
// driver-usable fields
|
||||||
|
vec3_t org;
|
||||||
|
float color;
|
||||||
|
// drivers never touch the following fields
|
||||||
|
struct particle_s *next;
|
||||||
|
vec3_t vel;
|
||||||
|
float ramp;
|
||||||
|
float die;
|
||||||
|
ptype_t type;
|
||||||
|
} particle_t;
|
||||||
|
|
||||||
|
|
||||||
|
//====================================================
|
||||||
|
|
||||||
|
|
||||||
|
extern entity_t r_worldentity;
|
||||||
|
extern qboolean r_cache_thrash; // compatability
|
||||||
|
extern vec3_t modelorg, r_entorigin;
|
||||||
|
extern entity_t *currententity;
|
||||||
|
extern int r_visframecount; // ??? what difs?
|
||||||
|
extern int r_framecount;
|
||||||
|
extern mplane_t frustum[4];
|
||||||
|
extern int c_brush_polys, c_alias_polys;
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// view origin
|
||||||
|
//
|
||||||
|
extern vec3_t vup;
|
||||||
|
extern vec3_t vpn;
|
||||||
|
extern vec3_t vright;
|
||||||
|
extern vec3_t r_origin;
|
||||||
|
|
||||||
|
//
|
||||||
|
// screen size info
|
||||||
|
//
|
||||||
|
extern refdef_t r_refdef;
|
||||||
|
extern mleaf_t *r_viewleaf, *r_oldviewleaf;
|
||||||
|
extern texture_t *r_notexture_mip;
|
||||||
|
extern int d_lightstylevalue[256]; // 8.8 fraction of base light value
|
||||||
|
|
||||||
|
extern qboolean envmap;
|
||||||
|
extern int currenttexture;
|
||||||
|
extern int particletexture;
|
||||||
|
extern int playertextures;
|
||||||
|
|
||||||
|
extern int skytexturenum; // index in cl.loadmodel, not gl texture object
|
||||||
|
|
||||||
|
extern cvar_t *r_drawentities;
|
||||||
|
extern cvar_t *r_drawworld;
|
||||||
|
extern cvar_t *r_drawviewmodel;
|
||||||
|
extern cvar_t *r_speeds;
|
||||||
|
extern cvar_t *r_waterwarp;
|
||||||
|
extern cvar_t *r_fullbright;
|
||||||
|
extern cvar_t *r_lightmap;
|
||||||
|
extern cvar_t *r_shadows;
|
||||||
|
extern cvar_t *r_dynamic;
|
||||||
|
|
||||||
|
extern cvar_t *gl_clear;
|
||||||
|
extern cvar_t *gl_cull;
|
||||||
|
extern cvar_t *gl_poly;
|
||||||
|
extern cvar_t *gl_texsort;
|
||||||
|
extern cvar_t *gl_smoothmodels;
|
||||||
|
extern cvar_t *gl_affinemodels;
|
||||||
|
extern cvar_t *gl_fogblend;
|
||||||
|
extern cvar_t *gl_polyblend;
|
||||||
|
extern cvar_t *gl_keeptjunctions;
|
||||||
|
extern cvar_t *gl_reporttjunctions;
|
||||||
|
|
||||||
|
extern int gl_lightmap_format;
|
||||||
|
extern int gl_solid_format;
|
||||||
|
extern int gl_alpha_format;
|
||||||
|
|
||||||
|
void R_TranslatePlayerSkin (int playernum);
|
||||||
|
void GL_Bind (int texnum);
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue