- moved trunk/ to trunk/supertuxkart
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/trunk/supertuxkart@1118 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
commit
7a6d165641
340
COPYING
Executable file
340
COPYING
Executable 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.
|
130
ChangeLog
Executable file
130
ChangeLog
Executable file
@ -0,0 +1,130 @@
|
||||
SuperTuxKart 0.3 (May 2007)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Highscore lists
|
||||
* Shortcut detection
|
||||
* Improved AI
|
||||
* Fullscreen support
|
||||
* New track: the island
|
||||
* New penalty: bomb
|
||||
* MacOSX support
|
||||
* OpenAL and ogg-vorbis support
|
||||
* Two new Grand Prixs
|
||||
* Improved user interface:
|
||||
- New racing interface
|
||||
- Better track map
|
||||
- Player kart dots in the track map are bigger than AI dots
|
||||
- Track selection screen has topview pictures
|
||||
- Added "Setup new race" option when a track is finished
|
||||
- Added "Restart race" option when a track is finished
|
||||
- The keyboard can skip vertical spaces between buttons
|
||||
- Better control configuration
|
||||
- Better in-game help
|
||||
- Added .desktop file for menus and icon
|
||||
* Bugfixes:
|
||||
- Fixed bug in ssg_help::MinMax, which could cause a significant performance loss.
|
||||
- Fixed bug that allowed the joystick to erase the main menu
|
||||
- Fixed bug that allowed the joystick to "play the game while paused"
|
||||
- Fixed screen_manager assert failure bug
|
||||
- Fixed sound_manager assert failure bug
|
||||
- Fixed keyboard keys unable to work on the first key press bug
|
||||
- And others
|
||||
|
||||
SuperTuxKart 0.2 (22. Sep 2006)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Significant performance improvement by using display lists
|
||||
* Improved AI
|
||||
* Support for different grand prixs
|
||||
* Too many bug fixes to list them all, but the important ones:
|
||||
* Work around for 'karts fall through track' compiler bug
|
||||
* Fixed rescue mode
|
||||
* Two new collectables: parachute and anvil
|
||||
* Track screen shots in the track select screen
|
||||
* Keyboard handling allows gradual turning
|
||||
* Improved physics (still work in progress)
|
||||
* All hard-coded properties like maximum velocity have
|
||||
been replaced by dynamically computed data dependent
|
||||
on kart parameters, allowing for karts having different
|
||||
characteristics.
|
||||
* Added help and about screens, added credits to track designer
|
||||
* Items were added to all tracks
|
||||
|
||||
SuperTuxKart 0.1 (04. May 2006) (not officially released)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Significant speedup by using a new HOT and collision algorithm
|
||||
--> all tracks are now playable
|
||||
* Removed all SDL dependencies, only plib is needed
|
||||
* Single and multi-window menu can be used
|
||||
* Code structure changes
|
||||
* Some bug fixes and small improvements
|
||||
* Added profile option to support automatic profiling
|
||||
|
||||
SuperTuxKart 0.0.0 (22. Dec 2004)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* new tracks
|
||||
* new characters and karts
|
||||
* new user-interface
|
||||
* some additional effects (skid-marks, smoke)
|
||||
|
||||
TuxKart v0.4.0 (March 19th 2004)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Changes for compatibility with PLIB 1.8.0 and later.
|
||||
* Removed some features that were only there to support
|
||||
truly ancient graphics cards like 3Dfx Voodoo-1/2.
|
||||
|
||||
TuxKart v0.3.0 (??)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
* Converted to use the new PLIB/PW library and thus
|
||||
avoid the need to link to GLUT.
|
||||
|
||||
TuxKart v0.2.0 (Sept 3rd 2002)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Changes for compatibility with PLIB 1.6.0 and later.
|
||||
|
||||
TuxKart v0.0.5 (??)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
* Changes for compatibility with PLIB 1.4.0 and later.
|
||||
|
||||
TuxKart v0.0.4 (??)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
* Changes to suit rassin-frassin-Windoze-junk.
|
||||
|
||||
* Steady-cam camera - courtesy of cowtan@ysbl.york.ac.uk
|
||||
|
||||
* Changes for compatibility with PLIB 1.3.1 and later.
|
||||
|
||||
* Added new music courtesy of Matt Thomas.
|
||||
|
||||
TuxKart v0.0.3 (July 4th 2000)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Fixed bug in Keyboard driver when no
|
||||
joystick driver is installed.
|
||||
|
||||
* More CygWin fixes.
|
||||
|
||||
* Started new feature to allow you to be
|
||||
rescued from lava, etc.
|
||||
|
||||
TuxKart v0.0.2 (July 2nd 2000)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Added ability to add new tracks without
|
||||
recompiling.
|
||||
|
||||
* Can now drive using keyboard only - no joystick
|
||||
required.
|
||||
|
||||
* Should compile and run under Windoze using CygWin.
|
||||
|
||||
TuxKart v0.0.1 (July 1st 2000)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Fixed a couple of files missing in initial
|
||||
Distro.
|
||||
|
||||
TuxKart v0.0.0 (June 29th 2000)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* First CVS release.
|
||||
|
||||
TuxKart (unnumbered) (April 13th 2000)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* First hack.
|
||||
|
||||
# EOF #
|
90
INSTALL
Executable file
90
INSTALL
Executable file
@ -0,0 +1,90 @@
|
||||
SUPERTUXKART INSTALLATION INSTRUCTIONS
|
||||
======================================
|
||||
|
||||
General
|
||||
-------
|
||||
|
||||
First, make sure that you have the following packages installed:
|
||||
|
||||
* OpenGL (or Mesa 3.0 or later)
|
||||
* PLIB version 1.8.4 or later
|
||||
* SDL 1.2 or later
|
||||
* OpenAL (optional)
|
||||
* freealut (optional)
|
||||
* MikMod (optional)
|
||||
|
||||
Unpack the files from the tarball like this:
|
||||
|
||||
tar xzf supertuxkart-*.tar.gz
|
||||
cd supertuxkart-*
|
||||
|
||||
|
||||
where '*' is the version of SuperTuxkart you downloaded - eg 0.2.0. Then:
|
||||
|
||||
./configure
|
||||
make
|
||||
|
||||
To test the compilation, supertuxkart can be run from the build
|
||||
directory by ./src/supertuxkart (./src/supertuxkart.exe on windows).
|
||||
|
||||
To install the file, as root execute:
|
||||
|
||||
make install
|
||||
|
||||
The default install location is /usr/local, i.e. the data files will
|
||||
be written to /usr/local/share/games/supertuxkart, the executable
|
||||
will be copied to /usr/local/bin. To change the default installation
|
||||
location, use the "--prefix" option of configure, e.g. --prefix=/usr
|
||||
See the --help output of configure for further options.
|
||||
|
||||
|
||||
SVN STK on Ubuntu Edgy
|
||||
----------------------
|
||||
Here are the compilation instructions for the current svn(05 oct. 2006) of
|
||||
Super Tux Kart on Ubuntu Edgy, contributed by Damien:
|
||||
|
||||
install following packages:
|
||||
# apt-get install libopenal-dev libalut-dev libmikmod2-dev plib1.8.4-dev
|
||||
libglu1-mesa-dev subversion autoconf automake1.9 g++ gcc
|
||||
|
||||
do a:
|
||||
$ svn checkout svn://svn.berlios.de/supertuxkart/trunk
|
||||
|
||||
then:
|
||||
$ cd trunk
|
||||
$ ./autogen.sh && ./configure && make
|
||||
and if all went well:
|
||||
$ src/supertuxkart
|
||||
|
||||
tested with g++ 3.3 and 4.1 , both succeeded.
|
||||
|
||||
If you want to install the game system-wide, do 'make install'.
|
||||
|
||||
|
||||
But it didn't work!
|
||||
-------------------
|
||||
|
||||
Right now there is no proper windows compilation. You can still compile
|
||||
for windows using cygwin, see README.cygwin for details.
|
||||
|
||||
If you checked out your copy directly from SVN, you have to run
|
||||
'sh autogen.sh' to generate the configure script.
|
||||
|
||||
You should check the SuperTuxKart wiki at:
|
||||
|
||||
http://supertuxkart.berlios.de/wiki
|
||||
|
||||
|
||||
Also, the most common (by FAR) reason for problems is that your OpenGL/Mesa
|
||||
is incorrectly installed - so before you complain to any of the PLIB or
|
||||
Supertuxkart mailing lists, first try running one of the example programs
|
||||
that comes with your OpenGL implementation - or one of the Mesa or GLUT
|
||||
sample programs.
|
||||
|
||||
If you those examples run OK - then go to the PLIB home page and download
|
||||
the PLIB examples.
|
||||
|
||||
If THOSE run correctly - but Supertuxkart doesn't then please get in touch
|
||||
with the SupertuxKart mailing list and we'll do our best to get you up and
|
||||
racing.
|
||||
|
6
Makefile.am
Executable file
6
Makefile.am
Executable file
@ -0,0 +1,6 @@
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
SUBDIRS = src wavs images models data mods fonts
|
||||
|
||||
EXTRA_DIST = README ChangeLog COPYING missing
|
||||
|
97
README
Executable file
97
README
Executable file
@ -0,0 +1,97 @@
|
||||
SuperTuxKart
|
||||
==============
|
||||
SuperTuxKart is based on TuxKart (http://tuxkart.sourceforge.net) by Steve
|
||||
Baker. You can find more details at:
|
||||
|
||||
http://supertuxkart.berlios.de
|
||||
|
||||
A big "thank you" to Steve Baker for designing and implementing the
|
||||
original TuxKart, and to the GotM team for their invaluable work.
|
||||
See the AUTHORS file for individual credits.
|
||||
|
||||
To contact the active maintainers, please send an email to:
|
||||
|
||||
supertuxkart-devel@list.berlios.de
|
||||
|
||||
Hope you enjoy the game.
|
||||
- The SuperTuxKart development team.
|
||||
|
||||
HARDWARE REQUIREMENTS
|
||||
=====================
|
||||
* You need a 3D graphics card that supports OpenGL or Mesa.
|
||||
* You should have a CPU that's running at 450MHz or better.
|
||||
* You'll need at least 32Mb RAM.
|
||||
* A sound card would be nice - but it's not essential.
|
||||
* Ideally, you want a joystick with at least 6 buttons.
|
||||
|
||||
PLAYING THE GAME
|
||||
================
|
||||
SuperTuxKart is a kart racing game. Basically you run around the track,
|
||||
and give your best shot at reaching the goal before your opponents. The ?
|
||||
boxes can help you, and certain items can build up your power, so you can
|
||||
grab more than one collectable!
|
||||
|
||||
Controls can be configured from the game, here are the defaults mappings:
|
||||
|
||||
Player 1:
|
||||
Steer : Left / Right arrow
|
||||
Accelerate : Up arrow
|
||||
Brake : Down arrow
|
||||
Use item : Right control
|
||||
Wheelie : Right shift
|
||||
Rescue : Backspace
|
||||
|
||||
Player 2:
|
||||
Steer : A / D key
|
||||
Accelerate : W key
|
||||
Brake : S key
|
||||
Use item : Left control
|
||||
Wheelie : Left shift
|
||||
Rescue : Left alt
|
||||
|
||||
Player 3:
|
||||
Steer : F / H key
|
||||
Accelerate : T key
|
||||
Brake : G key
|
||||
Use item : N key
|
||||
Wheelie : C key
|
||||
Rescue : B key
|
||||
|
||||
Player 4:
|
||||
Steer : J / L key
|
||||
Accelerate : I key
|
||||
Brake : K key
|
||||
Use item : M key
|
||||
Wheelie : . key
|
||||
Rescue : / key
|
||||
|
||||
The Escape key pauses the game and shows the race menu.
|
||||
|
||||
KNOWN BUGS
|
||||
==========
|
||||
* Sometimes you can be pushed through a solid object if you are hit by
|
||||
another player when in contact with the surface.
|
||||
* The --track command-line option doesn't seems to work.
|
||||
|
||||
SUPPORT
|
||||
=======
|
||||
The main webpage is at:
|
||||
|
||||
http://supertuxkart.berlios.de
|
||||
|
||||
If you have any problems, please contact the SuperTuxKart mailing list at:
|
||||
|
||||
supertuxkart-devel@list.berlios.de
|
||||
|
||||
The archives of this mailing list can be found at:
|
||||
|
||||
http://lists.berlios.de/pipermail/supertuxkart-devel/
|
||||
|
||||
Or post a message (no registration required) in the bug forum:
|
||||
|
||||
http://developer.berlios.de/forum/forum.php?forum_id=23737
|
||||
|
||||
LICENSE
|
||||
=======
|
||||
This software is released under the GNU General Public License (GPL) which
|
||||
can be found in the file 'LICENSE' in the same directory as this file.
|
33
README.bullet
Normal file
33
README.bullet
Normal file
@ -0,0 +1,33 @@
|
||||
Preliminary support for the bullet physics engine has been
|
||||
added. To enable it (assume that 'STK' is the supertuxkart root
|
||||
directory):
|
||||
1) Decompress version r528 of bullet in STK/trunk/bullet
|
||||
(the API of bullet is changing, and STK hasn't been updated
|
||||
to use a recent bullet version yet. So new bullet versions
|
||||
will most likely not compile and/or not work).
|
||||
2) Compile bullet (follow the instructions in STK/trunk/bullet/INSTALL)
|
||||
3) Run configure with:
|
||||
./configure --enable-bullet
|
||||
4) make
|
||||
|
||||
For now mainly the race track works as expected, all tracks
|
||||
can be played (though the performance in some tracks is somewhat
|
||||
bad at the moment). Most important bugs:
|
||||
- collectable don't work
|
||||
(well, you can fire a rocket, but hitting a kart won't do
|
||||
much, zipper, don't do anything, ...)
|
||||
- no proper friction handling, so no skidding
|
||||
(though skidding potentially works - if the friction is
|
||||
set correctly).
|
||||
- physics parameters are not tuned
|
||||
- rescuing an upside-down kart will return the kart to the middle
|
||||
of the track (waypoints) - the kart should be returned to where
|
||||
it ended, just with a proper orientation.
|
||||
- if a kart is upside down, it will actually hang under the
|
||||
track.
|
||||
- tuxtrack is using real rigid bodies for the roadcone and roadblock,
|
||||
so they are pushed around when hit by a kart. Currently, the
|
||||
start orientation is not used, so the heading of the objects
|
||||
is currently wrong.
|
||||
Furthermore, the cones currently don't stop rolling around.
|
||||
|
28
README.cygwin
Normal file
28
README.cygwin
Normal file
@ -0,0 +1,28 @@
|
||||
Some short instruction on how to compile supertuxkart with cygwin:
|
||||
|
||||
1) You have to use supertuxkart revision 593 or later (which you are
|
||||
probably doing since you are reading this readme :) ).
|
||||
|
||||
2) Install freeglut
|
||||
This is part of the cygwin packages, so just select this in
|
||||
the cygwin setup program.
|
||||
|
||||
3) Compile and install plib
|
||||
This should work straight out of the box.
|
||||
|
||||
4) Unpack supteruxkart and run ./configure and make.
|
||||
|
||||
That should be all.
|
||||
|
||||
|
||||
Comments:
|
||||
1) A -DNOMINMAX is added for cygwin compilations, since otherwise
|
||||
min and max are #defined, causing problems with all std::min and
|
||||
std::max constructs.
|
||||
2) The order in which plib/pu.h and plib/pw.h are included appears
|
||||
to be important - pw should be included first.
|
||||
|
||||
If you have any problems, please post on the mailing list - I am
|
||||
not a regular windows user, so am probably not able to help you.
|
||||
|
||||
hiker
|
3
README.macosx
Normal file
3
README.macosx
Normal file
@ -0,0 +1,3 @@
|
||||
There might be posible linking issues when Mac OS version is less than 10.4 and you have QuickTime 7 or higher.
|
||||
|
||||
Please see https://lists.berlios.de/pipermail/supertuxkart-devel/2006-September/000188.html for the thread in the mailing list about this issue.
|
80
README.windows
Normal file
80
README.windows
Normal file
@ -0,0 +1,80 @@
|
||||
There are two ways to compile an executable for windows: using
|
||||
cygwin, and using visual c++ (tested with the free Express version).
|
||||
|
||||
If you have any problems, please post on the mailing list - I am
|
||||
not a regular windows user, so am probably not able to help you.
|
||||
|
||||
hiker
|
||||
|
||||
|
||||
Cygwin
|
||||
======
|
||||
1) Install freeglut
|
||||
This is part of the cygwin packages, so just select this in
|
||||
the cygwin setup program.
|
||||
|
||||
2) Compile and install plib
|
||||
This should work straight out of the box.
|
||||
|
||||
3) Unpack supteruxkart and run ./configure and make.
|
||||
|
||||
That should be all.
|
||||
|
||||
Comments:
|
||||
1) A -DNOMINMAX is added for cygwin compilations, since otherwise
|
||||
min and max are #defined, causing problems with all std::min and
|
||||
std::max constructs. This is done automatically by the configure
|
||||
script.
|
||||
2) The order in which plib/pu.h and plib/pw.h are included appears
|
||||
to be important - pw should be included first.
|
||||
|
||||
|
||||
|
||||
Visual C++ Express
|
||||
==================
|
||||
|
||||
Since version r793 SuperTuxKart compiles with Visual C++ Express,
|
||||
version 8.0. To compile it, the following steps are necessary:
|
||||
|
||||
1) Modify plib:
|
||||
In src/ssg/ssgLoadAC.cxx replace:
|
||||
loader_fd = fopen ( filename, "ra" ) ;
|
||||
with
|
||||
loader_fd = fopen ( filename, "r" ) ;
|
||||
This patch will be submitted to PLIB, but we don't know if and
|
||||
when it will be applied.
|
||||
|
||||
2) Compile plib (project files for visual c++ are included)
|
||||
|
||||
3) Open a new project for SuperTuxKart and import all source files.
|
||||
|
||||
4) In properties, compile flags: add /DNOMINMAX
|
||||
(or add the symbol to the preprocessor defines)
|
||||
|
||||
5) Add /DVERSION=\"0.2\" (or whatever version number you downloaded)
|
||||
The backslashes and quotes are necessary!
|
||||
|
||||
6) In linker settings, ignore libcmt.lib
|
||||
|
||||
7) Add the following libraries:
|
||||
fnt.lib
|
||||
net.lib
|
||||
psl.lib
|
||||
pui.lib
|
||||
sg.lib
|
||||
sl.lib
|
||||
ssgAux.lib
|
||||
ul.lib
|
||||
js.lib
|
||||
puAux.lib
|
||||
pw.lib
|
||||
ssg.lib
|
||||
opengl32.lib
|
||||
user32.lib
|
||||
gdi32.lib
|
||||
winmm.lib
|
||||
advapi32.lib
|
||||
|
||||
8) Compile, run, and enjoy
|
||||
|
||||
Please post to the development list if you have any problems.
|
126
TODO
Normal file
126
TODO
Normal file
@ -0,0 +1,126 @@
|
||||
SuperTuxKart is looking for additional man power to make this
|
||||
one of the best free linux games out there :) We need (in
|
||||
no particular order):
|
||||
|
||||
1) Musicians/sound engineers
|
||||
- Create additional background soundtrack
|
||||
- Create sound effects
|
||||
|
||||
2) Artists and track designer
|
||||
- Create additional tracks
|
||||
- Create additional art work for tracks,
|
||||
background images
|
||||
|
||||
3) Developers
|
||||
- See todo list below - it's rather long at the moment :)
|
||||
|
||||
4) Web master
|
||||
- Extend the current web page, keep it up to date
|
||||
|
||||
5) Tester
|
||||
- For just about everything
|
||||
- Esp. different platforms
|
||||
|
||||
6) Package creators
|
||||
- Create packages for
|
||||
- most common linux Distributors
|
||||
- Windows
|
||||
- MaxOS (?? currently not sure if STK works on Macs)
|
||||
|
||||
7) Writers
|
||||
- Write documentation, ranging from man page, to
|
||||
a description for the web, to a design document, ...
|
||||
|
||||
If you want to help the SuperTuxKart - Project, please
|
||||
contact us on the email list:
|
||||
|
||||
supertuxkart-devel@list.berlios.de
|
||||
|
||||
Thanks in advance!
|
||||
The SuperTuxKart-Team
|
||||
|
||||
|
||||
********************************
|
||||
********************************
|
||||
** **
|
||||
** Incomplete(!!) TODO List **
|
||||
** **
|
||||
********************************
|
||||
********************************
|
||||
|
||||
Known bugs
|
||||
==========
|
||||
This contains either hard, or not reproducible errors.
|
||||
|
||||
- Fix keyboard bug: the first time turning left/right while
|
||||
pressing the up key is ignored. See bug 6168
|
||||
Might be difficult to fix, since it occurs (it appears) in the interface
|
||||
between X and plib.
|
||||
|
||||
Things that would be nice to fix, but are not urgent
|
||||
=====================================================
|
||||
- Write some documentation. Things to include:
|
||||
- taking shortcuts might result in not finishing a lap
|
||||
- lap display colour for all karts changes colour whenever
|
||||
a lap is finished
|
||||
- Display skid marks again (currently disabled due to problems of
|
||||
skid marks being 'in the air').
|
||||
- Added settings menu (e.g. for MPH vs KPH (vs. KM/H), ...)
|
||||
- Enable real fullscreen support
|
||||
- Top 10 lists for time trial, and grand prix.
|
||||
- Display the time difference to either the
|
||||
kart in front of the kart, or to the first kart.
|
||||
- Add track sections which must be passed in order to finish
|
||||
a lap. This would avoid karts taking shortcuts.
|
||||
That's already in the code, but currently the user does
|
||||
not get any feedback if a driveline is skipped --> after
|
||||
crossing the finishing line, the race might not end for a
|
||||
kart. Well, there is the 'wrong direction' message (?)
|
||||
- Add a tutorial course
|
||||
- Valgrind for memory bugs.
|
||||
- Update the web page, make more screen shots, ...
|
||||
- Tight/wide corner steering for AI. The AI is hitting the wall
|
||||
in very tight corners (e.g. subseatrack) [coz]
|
||||
|
||||
|
||||
long term
|
||||
=========
|
||||
- OpenAL support (optional) [patrick]
|
||||
- Improved physics to support skidding
|
||||
- Improved collision handling
|
||||
- Add network multiplayer
|
||||
- Make full use of OpenAL
|
||||
- Performance tuning
|
||||
- Support for multi-core CPUs
|
||||
(while this is not strictly necessary, it might be a nice headline
|
||||
for news entries. The physics/collision detection would be
|
||||
easy to parallelise)
|
||||
- More gadgets
|
||||
- Positive: - squirt oil on track to make karts slip, ...
|
||||
- Negative: - 'dirt on windscreen' - partial blackout of screen
|
||||
- More flexibility for items. E.g.
|
||||
- Tracks might hard code some items, change the distribution of some
|
||||
others (e.g. only a rocket at a certain location, but random choice
|
||||
which one the kart gets. Instead of just specifying
|
||||
GREENHERRING, one could write: ZIPPER:ANVIL and one of the listed
|
||||
things would be picked randomly)
|
||||
- Grand prixs might want to overwrite this, e.g.:
|
||||
"war" grand prix: only rockets for all gadgets
|
||||
- Perhaps make good and bad things indistinguishable?
|
||||
- sound/music manager needed
|
||||
Make it easy to replace sounds (which are currently hardcoded), e.g
|
||||
via a config file. Sound/music should be selectable for a track,
|
||||
but a grand prix should be able to overwrite this to create a consistent
|
||||
ambience, ...
|
||||
- More tracks
|
||||
- More grand prixs
|
||||
- Support for translations(?)
|
||||
- Support for easy-to-plugin different AIs, and allow different karts
|
||||
to have different AIs
|
||||
- Code cleanup
|
||||
- Consistent style (which needs to be defined)
|
||||
- Replace (as far as possible) all char* with std::string
|
||||
- Rather complicated way of passing information to world, a
|
||||
mixture of CupData, raceSetup, race_manager. This could
|
||||
probably all be simplified by only using the race_manager,
|
||||
removing the raceSetup class completely.
|
8
acinclude.m4
Executable file
8
acinclude.m4
Executable file
@ -0,0 +1,8 @@
|
||||
AC_DEFUN([MY_EXPAND_DIR], [
|
||||
$1=$2
|
||||
$1=`(
|
||||
test "x$prefix" = xNONE && prefix="$ac_default_prefix"
|
||||
test "x$exec_prefix" = xNONE && exec_prefix="${prefix}"
|
||||
eval echo \""[$]$1"\"
|
||||
)`
|
||||
])
|
47
autogen.sh
Executable file
47
autogen.sh
Executable file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
OSTYPE=`uname -s`
|
||||
MACHINE=`uname -m`
|
||||
AUTO_MAKE_VERSION=`automake --version | head -1 | awk '{print $4}' | sed -e 's/\.\([0-9]*\).*/\1/'`
|
||||
if test $AUTO_MAKE_VERSION -lt 15; then
|
||||
echo ""
|
||||
echo "You need to upgrade to automake version 1.5 or greater."
|
||||
echo "Most distributions have packages available to install or you can"
|
||||
echo "find the source for the most recent version at"
|
||||
echo "ftp://ftp.gnu.org/gnu/automake"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Host info: $OSTYPE $MACHINE"
|
||||
echo -n " automake: `automake --version | head -1 | awk '{print $4}'`"
|
||||
echo " ($AUTO_MAKE_VERSION)"
|
||||
echo ""
|
||||
|
||||
echo "Running aclocal"
|
||||
aclocal
|
||||
|
||||
echo "Running automake --add-missing"
|
||||
automake --add-missing
|
||||
|
||||
echo "Running autoconf"
|
||||
autoconf
|
||||
|
||||
if [ ! -e configure ]; then
|
||||
echo "ERROR: configure was not created!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "======================================"
|
||||
|
||||
if [ -f config.cache ]; then
|
||||
echo "config.cache exists. Removing the config.cache file will force"
|
||||
echo "the ./configure script to rerun all it's tests rather than using"
|
||||
echo "the previously cached values."
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo "Now you are ready to run './configure'"
|
||||
echo "======================================"
|
||||
|
||||
# EOF #
|
383
configure.ac
Normal file
383
configure.ac
Normal file
@ -0,0 +1,383 @@
|
||||
dnl Process this file with autogen.sh to produce a configure script.
|
||||
|
||||
AC_INIT
|
||||
AC_CONFIG_SRCDIR([src/main.cpp])
|
||||
|
||||
dnl Require at least automake 2.59
|
||||
AC_PREREQ(2.59)
|
||||
|
||||
dnl ================================================
|
||||
dnl Initialize the automake stuff
|
||||
dnl set the $host variable based on local machine/os
|
||||
dnl ================================================
|
||||
AC_CANONICAL_TARGET
|
||||
AM_INIT_AUTOMAKE(supertuxkart, 0.3SVN)
|
||||
|
||||
dnl ===================
|
||||
dnl Check for compilers
|
||||
dnl ===================
|
||||
AC_PROG_CC
|
||||
AC_PROG_CPP
|
||||
AC_PROG_CXX
|
||||
|
||||
dnl ==================
|
||||
dnl Set compiler flags
|
||||
dnl ==================
|
||||
CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -Wmissing-prototypes"
|
||||
CXXFLAGS="$CXXFLAGS -Wall"
|
||||
|
||||
dnl ===================
|
||||
dnl Checks for programs.
|
||||
dnl ===================
|
||||
AC_PROG_MAKE_SET
|
||||
AC_PROG_RANLIB
|
||||
AC_PROG_INSTALL
|
||||
|
||||
|
||||
dnl ===============================
|
||||
dnl Check for MS Windows environment
|
||||
dnl ================================
|
||||
AC_CHECK_HEADER(windows.h)
|
||||
|
||||
|
||||
dnl ================================================
|
||||
dnl Add special compiler flags for certain platforms
|
||||
dnl ================================================
|
||||
case "${host}" in
|
||||
*darwin*|*macosx*)
|
||||
AC_CHECK_PROGS(have_pkg_config,[pkg-config],"no")
|
||||
if test x$have_pkg_config != xno; then
|
||||
LDFLAGS="$LDFLAGS `pkg-config --libs freealut`"
|
||||
fi
|
||||
esac
|
||||
|
||||
|
||||
dnl ==================================
|
||||
dnl check for OpenGL related libraries
|
||||
dnl ==================================
|
||||
dnl We check for openal headers here, too - since otherwise
|
||||
dnl the test further down is even more complicated. This test
|
||||
dnl depends on the platform, since Macs are using OpenAL/al.h
|
||||
dnl instead of AL/al.h.
|
||||
case "${host}" in
|
||||
*darwin*|*macosx*)
|
||||
opengl_LIBS="$LIBS -framework Carbon -framework OpenGL -framework IOKit -framework AGL"
|
||||
;;
|
||||
|
||||
*-*-cygwin* | *-*-mingw32*)
|
||||
dnl CygWin under Windoze.
|
||||
|
||||
echo Win32 specific hacks...
|
||||
AC_DEFINE([WIN32], 1, [Define for Win32 platforms])
|
||||
AC_DEFINE([NOMINMAX], 1, [Define for Win32 platforms])
|
||||
|
||||
opengl_LIBS="-lglut32 -lglu32 -lopengl32 -luser32 -lgdi32 -lm -lwinmm"
|
||||
joystick_LIBS="$joystick_LIBS -lwinmm"
|
||||
|
||||
echo "Will link apps with $LIBS"
|
||||
;;
|
||||
|
||||
*)
|
||||
dnl X-Windows based machines
|
||||
|
||||
save_LIBS=$LIBS
|
||||
AC_SEARCH_LIBS(glNewList, [ GL GLcore MesaGL ])
|
||||
opengl_LIBS="$LIBS"
|
||||
LIBS=$save_LIBS
|
||||
if test "x$ac_cv_search_glNewList" = "x-lGLcore"; then
|
||||
dnl if GLcore found, then also check for GL
|
||||
AC_SEARCH_LIBS(glXCreateContext, GL)
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl ========================================
|
||||
dnl check for OpenAL (al and alut) libraries
|
||||
dnl ========================================
|
||||
dnl FIXME: this all appears too complicated, doing unnecesary
|
||||
dnl tests etc --> needs cleanup
|
||||
|
||||
dnl The check for OpenAL headers depends on the OS, since
|
||||
dnl Apple has the headers in OpenAL/al.h instead of AL/al.h
|
||||
AC_SEARCH_LIBS(alGenBuffers, [openal alut], have_al_lib=yes)
|
||||
|
||||
dnl as well as mikmod, since mikmod is only used (but then
|
||||
dnl it's necessary) when openal is used. We also check for
|
||||
dnl ogg vorbis support now.
|
||||
dnl we have 4 sound libraries to check, first we check for OpenAL
|
||||
if test x$have_al_lib = xyes; then
|
||||
case "${host}" in
|
||||
*darwin*|*macosx*)
|
||||
AC_CHECK_HEADER(OpenAL/al.h, have_al_hdr=yes)
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_HEADER(AL/al.h, have_al_hdr=yes)
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
SUMMARY="\nSummary of optional components:\n==============================="
|
||||
case "${host}" in
|
||||
*)
|
||||
dnl default unix style machines
|
||||
|
||||
dnl check for libraries
|
||||
save_LIBS=$LIBS
|
||||
|
||||
dnl AL/al.h is checked before, since Macs need a different path
|
||||
|
||||
dnl check for freealut
|
||||
AC_SEARCH_LIBS(alutInit, alut, have_alut_lib=yes)
|
||||
if test x$have_alut_lib = xyes; then
|
||||
AC_CHECK_HEADER(AL/alut.h, have_alut_hdr=yes)
|
||||
|
||||
if test x$have_alut_hdr = xyes; then
|
||||
AC_MSG_CHECKING([for alut version 1.0.0 or later ])
|
||||
|
||||
dnl check for right version of alut, must be at least 1.0
|
||||
AC_RUN_IFELSE([
|
||||
# include <AL/alut.h>
|
||||
# define MIN_ALUT_VERSION 1
|
||||
int main() {
|
||||
if(alutGetMajorVersion()<MIN_ALUT_VERSION) return -1;
|
||||
return 0; }
|
||||
|
||||
],
|
||||
alut_version_ok=yes
|
||||
[ AC_MSG_RESULT(yes)],
|
||||
AC_MSG_FAILURE(too old alut version - using plib instead),
|
||||
alut_version_ok=yes
|
||||
[ AC_MSG_RESULT(yes)])
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl search for mikmod libraries, needed to play mod files with OpenAL
|
||||
AC_SEARCH_LIBS(MikMod_RegisterDriver, mikmod, have_mikmod_lib=yes)
|
||||
|
||||
if test x$have_mikmod_lib = xyes; then
|
||||
AC_CHECK_HEADER(mikmod.h, have_mikmod_hdr=yes)
|
||||
fi
|
||||
|
||||
dnl search for the libraries needed to use ogg vorbis
|
||||
AC_SEARCH_LIBS(ov_open, vorbisfile, have_vorbisfile_lib=yes)
|
||||
|
||||
if test x$have_vorbisfile_lib = xyes; then
|
||||
dnl check for the headers needed by ogg vorbis
|
||||
AC_CHECK_HEADER(vorbis/vorbisfile.h, have_vorbisfile_hdr=yes)
|
||||
AC_CHECK_HEADER(ogg/ogg.h, have_ogg_hdr=yes)
|
||||
fi
|
||||
|
||||
dnl create OpenAL defines and a summary of the optional sound components
|
||||
SUMMARY="$SUMMARY\n"
|
||||
if test x$have_al_hdr != xyes; then
|
||||
SUMMARY="$SUMMARY You DO NOT have OpenAL."
|
||||
fi
|
||||
|
||||
if test x$have_alut_hdr = xyes; then
|
||||
if test x$alut_version_ok != xyes; then
|
||||
SUMMARY="$SUMMARY You need to update freealut."
|
||||
fi
|
||||
else
|
||||
SUMMARY="$SUMMARY You DO NOT have freealut."
|
||||
fi
|
||||
|
||||
if test x$have_mikmod_hdr != xyes; then
|
||||
SUMMARY="$SUMMARY You DO NOT have mikmod."
|
||||
fi
|
||||
|
||||
if test x$have_al_hdr = xyes -a x$alut_version_ok = xyes; then
|
||||
if test x$have_mikmod_hdr = xyes; then
|
||||
openal_LIBS="$LIBS"
|
||||
AC_DEFINE([HAVE_OPENAL], 1, [Defined when OpenAL is available])
|
||||
AC_DEFINE([HAVE_MIKMOD], 1, [Defined when mikmod is available])
|
||||
SUMMARY="$SUMMARY\nUsing OpenAL for sound."
|
||||
|
||||
if test x$have_vorbisfile_hdr = xyes -a x$have_ogg_hdr = xyes; then
|
||||
AC_DEFINE([HAVE_OGGVORBIS], 1, [Defined when Ogg Vorbis is available])
|
||||
SUMMARY="$SUMMARY\nWe have Ogg Vorbis support."
|
||||
fi
|
||||
fi
|
||||
else
|
||||
SUMMARY="$SUMMARY\nInstall OpenAL, freealut and mikmod for better sound!"
|
||||
fi
|
||||
|
||||
LIBS=$save_LIBS
|
||||
esac
|
||||
|
||||
# The following are C++ items that need to be tested for with the c++
|
||||
# compiler
|
||||
AC_LANG_PUSH(C++)
|
||||
|
||||
|
||||
# ==============================================
|
||||
# Check for "plib" without which we cannot go on
|
||||
# ==============================================
|
||||
# specify the plib location
|
||||
AC_ARG_WITH(plib, [ --with-plib=PREFIX Specify the prefix path to plib])
|
||||
if test "x$with_plib" != "x" ; then
|
||||
echo "plib prefix is $with_plib"
|
||||
EXTRA_DIRS="${EXTRA_DIRS} $with_plib"
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADER(plib/ul.h)
|
||||
if test "x$ac_cv_header_plib_ul_h" != "xyes"; then
|
||||
echo
|
||||
echo "You *must* have the plib library installed on your system to build!"
|
||||
echo
|
||||
echo "Please see README for more details."
|
||||
echo
|
||||
echo "configure aborted."
|
||||
exit
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([for plib 1.8.4 or newer])
|
||||
AC_TRY_RUN([
|
||||
# include <plib/ul.h>
|
||||
|
||||
# define MIN_PLIB_VERSION 184
|
||||
int main() {
|
||||
if ( PLIB_VERSION < MIN_PLIB_VERSION ) {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
],
|
||||
AC_MSG_RESULT(yes),
|
||||
[ AC_MSG_RESULT(wrong version);
|
||||
AC_MSG_ERROR([Install plib 1.8.4 or later first...])],
|
||||
AC_MSG_RESULT(yes)
|
||||
)
|
||||
|
||||
|
||||
|
||||
dnl =======================
|
||||
dnl check for SDL libraries
|
||||
dnl =======================
|
||||
dnl Potentially sdl-config could be used, but apparently that might not
|
||||
dnl exist on all platforms, so doing the 'classical' test is safer :(
|
||||
case "${host}" in
|
||||
*)
|
||||
dnl default unix style machines
|
||||
|
||||
dnl check for libraries
|
||||
save_LIBS=$LIBS
|
||||
AC_SEARCH_LIBS(SDL_Init, SDL, have_SDL_lib=yes)
|
||||
sdl_LIBS="$LIBS"
|
||||
LIBS=$save_LIBS
|
||||
|
||||
dnl check for header files
|
||||
AC_CHECK_HEADER(SDL/SDL.h, have_SDL_hdr=yes)
|
||||
|
||||
if test x$have_SDL_hdr != xyes -o x$have_SDL_lib != xyes; then
|
||||
AC_MSG_ERROR([Install SDL first...])
|
||||
fi
|
||||
|
||||
AC_TRY_RUN([
|
||||
# include <SDL/SDL.h>
|
||||
int main() {
|
||||
if ( SDL_VERSION_ATLEAST(1,2,10)) {
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
],
|
||||
:,
|
||||
AC_MSG_WARN([Your SDL version uses deprecated
|
||||
headers update to version 1.2.10 or higher if possible. Currently this
|
||||
doesn't affects the game at all.])
|
||||
)
|
||||
|
||||
esac
|
||||
|
||||
dnl =======================================================
|
||||
dnl Add special compiler flags for SDL on certain platforms
|
||||
dnl =======================================================
|
||||
case "${host}" in
|
||||
*darwin*|*macosx*)
|
||||
dnl SDL on Macs needs to link in SDLmain, since it includes the
|
||||
dnl actual main program (on Macs #include "SDL/SDL.h" renames
|
||||
dnl main into SDL_main, which then gets called from the new
|
||||
dnl main program included in SDLmain. This is necessary to
|
||||
dnl install a proper framework for SDL).
|
||||
dnl This can't be done earlier, since all SDL tests program
|
||||
dnl from configure do NOT include SDL/SDL.h, therefore the
|
||||
dnl main program gets not replaced, and then getting an linking
|
||||
dnl error about main defined twice :((
|
||||
LDFLAGGS="$LDFLAGS -framework OpenAL"
|
||||
AC_CHECK_PROGS(have_sdl_config,[sdl-config],"no")
|
||||
if test x$have_sdl_config != xno; then
|
||||
LDFLAGS="$LDFLAGS `sdl-config --libs`"
|
||||
CXXFLAGS="$CXXFLAGS `sdl-config --cflags`"
|
||||
fi
|
||||
esac
|
||||
|
||||
dnl ======================================================
|
||||
dnl Try to supply the SVN revision number for the compiler
|
||||
dnl ======================================================
|
||||
AC_CHECK_PROGS(have_svnversion,[svnversion],"no")
|
||||
if test x$have_svnversion != xno; then
|
||||
SVNVERSION="`svnversion .`"
|
||||
AC_DEFINE_UNQUOTED([SVNVERSION],"$SVNVERSION",["SVN revision number"])
|
||||
fi
|
||||
|
||||
|
||||
# =========================
|
||||
# subst bars in Makefile.am
|
||||
# =========================
|
||||
AC_SUBST(opengl_LIBS)
|
||||
AC_SUBST(openal_LIBS)
|
||||
AC_SUBST(mikmod_LIBS)
|
||||
AC_SUBST(sdl_LIBS)
|
||||
|
||||
AC_MSG_CHECKING([for gcc -fno-regmove option ])
|
||||
|
||||
dnl =========================
|
||||
dnl test regmove compiler bug
|
||||
dnl =========================
|
||||
dnl Test if -fno-regmove is supported, since -fregmove (which is part of -O2 on
|
||||
dnl g++) triggers an optimisation problem with static_ssg:
|
||||
ORIGCXXFLAGS="$CXXFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS -fno-regmove"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
|
||||
AC_MSG_RESULT(yes); NOREGMOVE=-fno-regmove,
|
||||
AC_MSG_RESULT(no); NOREGMOVE="")
|
||||
CXXFLAGS="$ORIGCXXFLAGS"
|
||||
AC_SUBST(NOREGMOVE)
|
||||
|
||||
dnl =======================================
|
||||
dnl Bullet physics - currently experimental
|
||||
dnl =======================================
|
||||
dnl Check for bullet physics. Currently, this is optional and needs
|
||||
dnl a '--enable-bullet' during configure to be used.
|
||||
AC_MSG_CHECKING(for bullet physics)
|
||||
AC_ARG_ENABLE(bullet,
|
||||
AC_HELP_STRING([--enable-bullet], [enable bullet physics]),
|
||||
[enable_bullet="$enableval"],
|
||||
[enable_bullet="no"])
|
||||
if test "x${enable_bullet}" != "xno"; then
|
||||
AC_DEFINE([BULLET], [], [Use the bullet physics engine])
|
||||
AC_MSG_RESULT([enabled])
|
||||
CXXFLAGS="$CXXFLAGS -I../bullet/src"
|
||||
LIBS="$LIBS -L ../bullet/out/*/*/libs -lbulletopenglsupport -lbulletdynamics -lbulletcollision -lbulletmath -lglut"
|
||||
else
|
||||
AC_MSG_RESULT([disabled])
|
||||
fi
|
||||
|
||||
dnl ================
|
||||
dnl Create makefiles
|
||||
dnl ================
|
||||
AC_CONFIG_FILES([ \
|
||||
Makefile \
|
||||
data/Makefile \
|
||||
fonts/Makefile \
|
||||
images/Makefile \
|
||||
models/Makefile \
|
||||
mods/Makefile \
|
||||
src/Makefile \
|
||||
wavs/Makefile \
|
||||
wavs/radio/Makefile \
|
||||
wavs/tintagel/Makefile \
|
||||
models/herrings/Makefile
|
||||
])
|
||||
AC_OUTPUT
|
||||
echo -e $SUMMARY
|
3
contrib/Makefile.am
Normal file
3
contrib/Makefile.am
Normal file
@ -0,0 +1,3 @@
|
||||
# contrib/
|
||||
|
||||
EXTRA_DIST =
|
1
contrib/README.contrib
Normal file
1
contrib/README.contrib
Normal file
@ -0,0 +1 @@
|
||||
In this directory there are unsorted files that can be useful, but aren't used inside the game yet.
|
241
contrib/black_closedbook.ac
Normal file
241
contrib/black_closedbook.ac
Normal file
@ -0,0 +1,241 @@
|
||||
AC3Db
|
||||
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
|
||||
MATERIAL "ac3dmat3" rgb 0.125 0.114 0.102 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.502 0.502 0.502 shi 10 trans 0
|
||||
OBJECT world
|
||||
kids 7
|
||||
OBJECT poly
|
||||
name "box"
|
||||
loc -0.9 0.05 -1.05
|
||||
numvert 8
|
||||
-0.7 -0.05 -1.15
|
||||
-0.7 0.05 -1.15
|
||||
0.7 0.05 -1.15
|
||||
0.7 -0.05 -1.15
|
||||
-0.7 -0.05 1.15
|
||||
-0.7 0.05 1.15
|
||||
0.7 0.05 1.15
|
||||
0.7 -0.05 1.15
|
||||
numsurf 6
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
0 1 0
|
||||
1 1 1
|
||||
2 0 1
|
||||
3 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
6 0 1
|
||||
7 0 0
|
||||
3 1 0
|
||||
2 1 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
7 1 0
|
||||
6 1 1
|
||||
5 0 1
|
||||
4 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
4 1 0
|
||||
5 1 1
|
||||
1 0 1
|
||||
0 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
1 0 0
|
||||
5 1 0
|
||||
6 1 1
|
||||
2 0 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
4 0 0
|
||||
0 1 0
|
||||
3 1 1
|
||||
7 0 1
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "box"
|
||||
loc -0.9 0.35 -1.05
|
||||
numvert 8
|
||||
-0.7 -0.05 -1.15
|
||||
-0.7 0.05 -1.15
|
||||
0.7 0.05 -1.15
|
||||
0.7 -0.05 -1.15
|
||||
-0.7 -0.05 1.15
|
||||
-0.7 0.05 1.15
|
||||
0.7 0.05 1.15
|
||||
0.7 -0.05 1.15
|
||||
numsurf 6
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
0 1 0
|
||||
1 1 1
|
||||
2 0 1
|
||||
3 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
6 0 1
|
||||
7 0 0
|
||||
3 1 0
|
||||
2 1 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
7 1 0
|
||||
6 1 1
|
||||
5 0 1
|
||||
4 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
4 1 0
|
||||
5 1 1
|
||||
1 0 1
|
||||
0 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
1 0 0
|
||||
5 1 0
|
||||
6 1 1
|
||||
2 0 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
4 0 0
|
||||
0 1 0
|
||||
3 1 1
|
||||
7 0 1
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "box"
|
||||
loc -0.15 0.20203 -1.05
|
||||
numvert 8
|
||||
-0.05 -0.15 -1.15
|
||||
-0.05 0.15 -1.15
|
||||
0.05 0.15 -1.15
|
||||
0.05 -0.15 -1.15
|
||||
-0.05 -0.15 1.15
|
||||
-0.05 0.15 1.15
|
||||
0.05 0.15 1.15
|
||||
0.05 -0.15 1.15
|
||||
numsurf 6
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
0 1 0
|
||||
1 1 1
|
||||
2 0 1
|
||||
3 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
6 0 1
|
||||
7 0 0
|
||||
3 1 0
|
||||
2 1 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
7 1 0
|
||||
6 1 1
|
||||
5 0 1
|
||||
4 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
4 1 0
|
||||
5 1 1
|
||||
1 0 1
|
||||
0 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
1 0 0
|
||||
5 1 0
|
||||
6 1 1
|
||||
2 0 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
4 0 0
|
||||
0 1 0
|
||||
3 1 1
|
||||
7 0 1
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "box"
|
||||
loc -0.85 0.2 -1.05
|
||||
numvert 4
|
||||
-0.65 -0.1 -1.05
|
||||
-0.65 0.1 -1.05
|
||||
0.65 0.1 -1.05
|
||||
0.65 -0.1 -1.05
|
||||
numsurf 1
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
0 1 0
|
||||
1 1 1
|
||||
2 0 1
|
||||
3 0 0
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "box"
|
||||
loc -0.85 0.2 -1.05
|
||||
numvert 4
|
||||
0.65 0.1 1.05
|
||||
0.65 -0.1 1.05
|
||||
0.65 -0.1 -1.05
|
||||
0.65 0.1 -1.05
|
||||
numsurf 1
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
0 0 1
|
||||
1 0 0
|
||||
2 1 0
|
||||
3 1 1
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "box"
|
||||
loc -0.85 0.2 -1.05
|
||||
numvert 4
|
||||
0.65 -0.1 1.05
|
||||
0.65 0.1 1.05
|
||||
-0.65 0.1 1.05
|
||||
-0.65 -0.1 1.05
|
||||
numsurf 1
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
0 1 0
|
||||
1 1 1
|
||||
2 0 1
|
||||
3 0 0
|
||||
kids 0
|
||||
OBJECT poly
|
||||
name "box"
|
||||
loc -0.85 0.2 -1.05
|
||||
numvert 4
|
||||
-0.65 -0.1 1.05
|
||||
-0.65 0.1 1.05
|
||||
-0.65 0.1 -1.05
|
||||
-0.65 -0.1 -1.05
|
||||
numsurf 1
|
||||
SURF 0x10
|
||||
mat 0
|
||||
refs 4
|
||||
0 1 0
|
||||
1 1 1
|
||||
2 0 1
|
||||
3 0 0
|
||||
kids 0
|
468
contrib/black_openbook.ac
Normal file
468
contrib/black_openbook.ac
Normal file
@ -0,0 +1,468 @@
|
||||
AC3Db
|
||||
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.5 0.5 0.5 shi 10 trans 0
|
||||
MATERIAL "ac3dmat3" rgb 0.133 0.153 0.122 amb 0.2 0.2 0.2 emis 0 0 0 spec 0.502 0.502 0.502 shi 10 trans 0
|
||||
OBJECT world
|
||||
kids 3
|
||||
OBJECT poly
|
||||
name "box"
|
||||
loc 0 1.21271 -1.16783
|
||||
numvert 24
|
||||
0.889244 1.16215 -0.166283
|
||||
0.802644 1.16214 -0.216282
|
||||
0.00623977 1.16214 1.05596
|
||||
0.0928401 1.16215 1.10596
|
||||
0.889247 -1.13786 -0.166282
|
||||
0.802644 -1.13786 -0.216282
|
||||
0.00624018 -1.13786 1.05597
|
||||
0.0928425 -1.13786 1.10597
|
||||
-0.1 1.16215 1.2173
|
||||
-0.1 1.16214 1.1173
|
||||
-1.6 1.16214 1.17089
|
||||
-1.6 1.16215 1.27088
|
||||
-0.1 -1.13786 1.2173
|
||||
-0.1 -1.13786 1.1173
|
||||
-1.6 -1.13786 1.17089
|
||||
-1.6 -1.13786 1.27089
|
||||
0.166074 1.14416 1.0949
|
||||
0.0875697 1.14415 1.04957
|
||||
-0.17794 1.14415 1.18454
|
||||
-0.17794 1.14416 1.27519
|
||||
0.166069 -1.1711 1.0949
|
||||
0.0875686 -1.1711 1.04957
|
||||
-0.17794 -1.1711 1.18454
|
||||
-0.17794 -1.1711 1.27518
|
||||
numsurf 18
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
0 1 0
|
||||
1 1 1
|
||||
2 0 1
|
||||
3 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
6 0 1
|
||||
7 0 0
|
||||
3 1 0
|
||||
2 1 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
7 1 0
|
||||
6 1 1
|
||||
5 0 1
|
||||
4 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
4 1 0
|
||||
5 1 1
|
||||
1 0 1
|
||||
0 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
1 0 0
|
||||
5 1 0
|
||||
6 1 1
|
||||
2 0 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
4 0 0
|
||||
0 1 0
|
||||
3 1 1
|
||||
7 0 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
8 1 0
|
||||
9 1 1
|
||||
10 0 1
|
||||
11 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
14 0 1
|
||||
15 0 0
|
||||
11 1 0
|
||||
10 1 1
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
15 1 0
|
||||
14 1 1
|
||||
13 0 1
|
||||
12 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||
refs 4
|
||||
12 1 0
|
||||
13 1 1
|
||||
9 0 1
|
||||
8 0 0
|
||||
SURF 0x10
|
||||
mat 1
|
||||