44 Commits
master ... v0.4

Author SHA1 Message Date
hikerstk
0c911c697b Moved supertuxkart tags to new directory.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/tags/0.4@3235 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2009-03-12 01:59:13 +00:00
cosmosninja
6837ed82c3 Moved the 0.4 tag from the branches directory to the tags directory and erased the 0.4rc1 tag from the same directory.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/tags/supertuxkart/0.4@1894 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-05-15 02:14:16 +00:00
hikerstk
b0eddb47f3 Updated revision number to 0.4.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4@1640 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-06 00:59:54 +00:00
hikerstk
bfbc54879a Fixed desktop file.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4@1639 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-05 22:46:51 +00:00
hikerstk
0fb21c2dad Fixed players manual: supported platforms, and removed description for
F9 (since it doesn't work on all platforms).


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4@1638 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-05 22:42:00 +00:00
hikerstk
9faafaaaa5 Updated version number to 0.4.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4@1635 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-05 04:53:10 +00:00
hikerstk
0350ac3305 Created 0.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4@1634 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-05 04:11:25 +00:00
hikerstk
b06a936e4b Updated credits for beach track and mac package.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1632 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-05 04:08:33 +00:00
hikerstk
0ecf2eea05 Updated READMEs, added missing files to Makefile.ams.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1630 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-05 03:54:33 +00:00
auria
184e5c9cde beach track improvements : added bridge, new screenshots
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1626 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-05 00:43:51 +00:00
hikerstk
b90b7c805c Bugfix for compilation problem on Macs.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1624 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-04 03:26:09 +00:00
hikerstk
38caef402e Fixed problem with karts being rescued incorrectly when jumping down
the tollway ramp (the raytest for terrain detection actually started
under the track, resulting in 'no terrain' and therefore auto-rescue.
A small epsilon is added to the height to avoid this issue, a similar
fix has been in place for a while now for driveline segment detection).



git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1623 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-04 01:58:39 +00:00
hikerstk
f08b9afde7 Applied Coz's bugfix for crashes when switching resolution
in windows/macs (see r1616 in trunk).


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1618 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-02 13:02:16 +00:00
hikerstk
8742122103 Bugfix for incorrect rescue (which usually happened when jumping
down the ramp in tux tollway), see r1615 on trunk.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1617 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-02 13:01:18 +00:00
hikerstk
ba527c17dd Added menu for selecting the number of karts (same
as on trunk).


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1611 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-03-01 03:42:58 +00:00
auria
860a9844d0 added mac path fixes
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1594 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-26 02:46:26 +00:00
hikerstk
717022258e File was missing from yesterday's update to include all track fixes.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1592 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-26 01:51:21 +00:00
hikerstk
2844210a1e Included all new track and texture improvements from Auria.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1591 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-25 05:35:08 +00:00
hikerstk
d500072d52 1) Replaced all references to berlios with sourceforge.
2) Fixed the manual (added new key bindings for jump
   and look back, improved layout, added picture for
   description of race interface.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1589 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-25 03:17:54 +00:00
hikerstk
025d67394b 1) empty robot templates have been moved from
'tools' to src/robots (documentation was updated),
   and are now included in source distributions
   Removed tools directory which is now empty.
2) Include documentation in source distributions
   (but only player_manual will be installed)
3) Added missing bullet documentation files
   and removed unnecessary cmake files.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1587 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-25 01:39:31 +00:00
hikerstk
9a6b005651 Updated URL.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1585 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-25 00:25:51 +00:00
hikerstk
3c8b1a76ce Updates revision number to 0.4rc1a.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1583 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-24 23:00:57 +00:00
hikerstk
1b9d44607b Fixed music and sfx bug (optimised VS version does not play music and sfx).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1582 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-24 22:40:22 +00:00
hikerstk
1e21421c69 Added VS project files to makefile, which were not installed before (and therefore
missing in 'make dist').


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1569 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-23 11:30:38 +00:00
hikerstk
3a5b6df32e Re-enabled setting a link in the start menu (needs NSIS shell link
extension), and improved installer to install visual studio and
openal redistributable packages (r1561 on trunk).


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1562 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-21 03:35:49 +00:00
hikerstk
f80b65f032 Added windows prerequisites: openal and VC++ redistributable
(including the .dll is not enough) - r1558.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1559 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-21 01:03:12 +00:00
hikerstk
e8f8510b5f Added icon files (r1556 on trunk).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1557 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-21 00:47:47 +00:00
hikerstk
afb92e1ae6 Added windows installer.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1554 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-21 00:42:20 +00:00
hikerstk
f7e02775a8 Added information for the windows binary about installing
openal and VC++ redistributables.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1553 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-20 13:00:36 +00:00
scifly
9ac2099e8f Fixed typo (missed one)
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1552 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-20 10:07:28 +00:00
scifly
01f1475715 Fixed typos.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1551 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-20 10:05:18 +00:00
hikerstk
600e01a4ae Added missing credits for windows installer.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1548 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-20 05:07:05 +00:00
hikerstk
7b7b5c4592 Added missing New licenses file.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1546 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-20 02:50:06 +00:00
hikerstk
145759736f Removed spaces (which are not allowed for 'make dist*').
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1545 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-20 02:35:14 +00:00
hikerstk
6d26ba5800 Added Magne's name.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1543 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-20 02:05:06 +00:00
hikerstk
73ea4eb7b2 Disables shortcut in race track (see r1539 on trunk).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1542 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-20 01:34:39 +00:00
hikerstk
dade9763d6 Removed warning for RC version only.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1541 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-20 01:02:05 +00:00
hikerstk
98045b6698 Disabled 'driver' level AI.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1540 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-20 00:33:44 +00:00
cosmosninja
e519754b3f Added Stephan Wiefling to the credits in the 0.4rc1 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1538 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-19 22:58:17 +00:00
hikerstk
8fcf8c0b9b Applied Robert's patch fixing the licenses and CREDITS on the 0.4rc1 branch (r1534,1535).
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1536 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-19 21:15:33 +00:00
hikerstk
755885c80b Updated version number to 0.4rc1.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1533 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-19 11:04:30 +00:00
hikerstk
9b2c8e31da Disabled 'too far away from road' shortcut detection - the previously defined
maximum distance wasn't big enough to fully disable this.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1531 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-19 10:59:21 +00:00
hikerstk
92aa10a427 Removed way too high gravity setting (which was necessary
for the pre-bullet physics).


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1529 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-19 10:56:25 +00:00
hikerstk
a1742761c6 Create branch for 0.4 rc1.
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/branches/supertuxkart/0.4rc1@1528 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2008-02-19 04:17:00 +00:00
64 changed files with 69494 additions and 57434 deletions

View File

@@ -1,5 +1,5 @@
SuperTuxKart 0.4 (February 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SuperTuxKart 0.4 (March 2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* New physics handling using the bullet physics engine
* New kart: wilber
* Improved 'Shifting Sands' and 'Lighthouse' tracks

View File

@@ -48,7 +48,7 @@ install following packages:
libglu1-mesa-dev subversion autoconf automake1.9 g++ gcc
do a:
$ svn checkout svn://svn.berlios.de/supertuxkart/trunk
$ svn checkout http://supertuxkart.svn.sourceforge.net/svnroot/supertuxkart/trunk/supertuxkart
then:
$ cd trunk
@@ -72,7 +72,7 @@ If you checked out your copy directly from SVN, you have to run
You should check the SuperTuxKart wiki at:
http://supertuxkart.berlios.de/wiki
http://supertuxkart.sourceforge.net/
Also, the most common (by FAR) reason for problems is that your OpenGL/Mesa

View File

@@ -1,6 +1,6 @@
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = @BULLETTREE@ src wavs images models oggs data fonts
SUBDIRS = @BULLETTREE@ src wavs images models oggs doc data fonts
EXTRA_DIST = README ChangeLog COPYING missing
EXTRA_DIST = README README.cygwin README.macosx README.windows ChangeLog COPYING missing

View File

@@ -1,28 +0,0 @@
Beginning with revision r1325 bullet physics is being used
in SuperTuxKart. A copy of bullet is included in
the sources and the STK build environment, so it's
not necessary to install your own version.
Even though we officiall switched to bullet physics,
not all 'old' features of STK are fully supported yet.
For now mainly the race track works as expected, all tracks
can be played. Most important bugs:
- not all collectable work
(zippers don't do much at the moment, rockets and sparks mostly
work, but are sometimes too high)
- karts are not automatically rescued when touching
water or lava
- no proper friction handling, so no skidding
(though skidding potentially works - if the friction is
set correctly).
- physics parameters have been improved, but might need
additional tuning
- 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.
- 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.

View File

@@ -1,3 +1,12 @@
The latest information about compilation on Mac are on our wiki:
http://supertuxkart.sourceforge.net/Building_and_packaging_on_OSX
The older instructions should still work, and are quite detailed.
Note that we supply a modified version of plib (on our download page
at http://sourceforge.net/project/showfiles.php?group_id=202302)
which fixes a few compilation problems on Macs. We strongly recommend
to use this version (unless a newer plib version is released).
System requirements Mac:
PowerPC- or Intel-Mac with 800 MHz or more,
1 GHz recommended 3D-graphics card with 32 MB or more.
@@ -413,7 +422,7 @@ echo "Done!"
e.g.: chmod 744 buildUB.sh
3. Download SuperTuxKart-Source from "http://developer.berlios.de/project/showfiles.php?group_id=2765".
3. Download SuperTuxKart-Source from "http://sourceforge.net/project/showfiles.php?group_id=202302".
4. Go in the folder SuperTuxKart.

View File

@@ -1,3 +1,17 @@
NOTE
====
If you have downloaded the 0.4 version and it does not start, please
install the Microsoft Visual C++ redistributable package ('vcredist_x86.exe')
included in this directory.
If you don't hear any sound, you have to install OpenAL (see http://ww.openal.org).
Simply install the OpenAL redistributable ('oalinst.exe').
The release comes with a full installer, which includes these redistributables.
If you are downloading a source version and want to compile it yourself:
There are two documented ways to compile an executable for windows: using
cygwin, and using visual c++ (tested with the free Express version).
@@ -42,6 +56,8 @@ can be found in .../src/ide/vc8/README.
You still have to install all dependencies, and:
1) Modify plib:
Best choice would be to use the plib version from our download page,
since it contains all bugfixes that are necessary. Otherwise:
In src/ssg/ssgLoadAC.cxx replace:
loader_fd = fopen ( filename, "ra" ) ;
with

2
TODO
View File

@@ -33,7 +33,7 @@ no particular order):
If you want to help the SuperTuxKart - Project, please
contact us on the email list:
supertuxkart-devel@list.berlios.de
supertuxkart-devel@lists.sourceforge.net
Thanks in advance!
The SuperTuxKart-Team

View File

@@ -1,6 +1,6 @@
dnl Process this file with autogen.sh to produce a configure script.
AC_INIT(supertuxkart, SVN)
AC_INIT(supertuxkart, 0.4)
AC_CONFIG_SRCDIR([src/main.cpp])
dnl Require at least automake 2.59
@@ -383,11 +383,6 @@ dnl Bullet physics
dnl ==============
AC_DEFINE([BT_NO_PROFILE], [], [Disable bullet internal profiling])
CXXFLAGS="$CXXFLAGS -Ibullet/src"
AC_CONFIG_FILES([ \
src/bullet/Makefile \
src/bullet/src/Makefile \
src/bullet/Demos/OpenGL/Makefile
])
SUMMARY="$SUMMARY\nUsing bullet physics."
BULLETTREE="src/bullet"
@@ -405,17 +400,23 @@ AC_SUBST(BULLETTREE)
dnl ================
dnl Create makefiles
dnl ================
AC_CONFIG_FILES([ \
Makefile \
data/Makefile \
fonts/Makefile \
images/Makefile \
models/Makefile \
oggs/Makefile \
src/Makefile \
wavs/Makefile \
wavs/radio/Makefile \
wavs/tintagel/Makefile \
AC_CONFIG_FILES([ \
Makefile \
data/Makefile \
doc/Makefile \
doc/players_manual/Makefile \
fonts/Makefile \
images/Makefile \
models/Makefile \
oggs/Makefile \
src/Makefile \
src/robots/Makefile \
src/bullet/Makefile \
src/bullet/src/Makefile \
src/bullet/Demos/OpenGL/Makefile \
wavs/Makefile \
wavs/radio/Makefile \
wavs/tintagel/Makefile \
models/herrings/Makefile
])
AC_OUTPUT

View File

@@ -1,6 +1,6 @@
SuperTuxKart - 0.4 RC 1
=====================
Super TuxKart is fun kart racing game.
SuperTuxKart - 0.4
================
Super TuxKart is a fun kart racing game.
http://sourceforge.net/supertuxkart
@@ -14,20 +14,27 @@ Project Leaders
Additional coding
--------------------
Robert Schuster
- IO handling
- User settings updates
- Input handling
- SDL port
- bug fixes
- Bug fixes
Paul Elms (scifly)
- bug fixes
- change resoluton gui
- Bug fixes
- Change resoluton gui
Hans Dzaack (Hans the farmer)
- physics tuning
- Physics tuning
Maik Semder (Ikework)
- Bugfixes
Stephan Wiefling
- Menu sounds
Sam Clarke
- Windows Installer
Canarix
- User interface
- Testing
@@ -36,10 +43,9 @@ Additional coding
- Ogg vorbis support
Patrick Ammann
- bug fixes, code cleanup
- Bug fixes, code cleanup
- OpenAL support
Artists
---------------
SuperTuxKart Music Theme
@@ -50,9 +56,9 @@ Artists
- Lukas Siewert (Dr.Sternhagel)
- Paul Esra Martin (P@ule)
- Asha B.
- ??? (KingArthur's Castle)
- Magne Djupvik
3D track improvements (Shifting Sands, Lighthouse)
3D track improvements (Shifting Sands, Lighthouse, Beach)
- Marianne Gagnon (auria)
Island track creation
@@ -70,7 +76,8 @@ Artists
Support for OS-X
----------------
Port and package creation:
- Florian, -Nuke-, TinGamer and Xeno74
- Florian, -Nuke-, TinGamer, Xeno74,
Auria, JPenguin
Additional artwork/documentation:
- Cherryprice, -Nuke-, and Xeno74

View File

@@ -5,7 +5,7 @@ pkgdatadir = $(datadir)/games/@PACKAGE@/data
pkgdata_DATA = $(wildcard *.dat) $(wildcard *.data) $(wildcard *.herring) \
$(wildcard *.loc) $(wildcard *.drv?) $(wildcard *.projectile) \
$(wildcard *.cup) $(wildcard *.tkkf) $(wildcard *.collectable)\
$(wildcard *.track) CREDITS \
$(wildcard *.track) CREDITS licenses \
supertuxkart_32.xpm supertuxkart_64.xpm supertuxkart.desktop
desktopdir = $(prefix)/share/applications

View File

@@ -2,7 +2,8 @@
(tuxkart-track
(name "On the Beach")
(description "Created by Ingo Ruhnke")
(description "Created by Ingo Ruhnke,
modified by M. Gagnon")
(music "oggs/CaribbeanMusic.ogg")
(screenshot "sshot-beach.rgb")
(topview "topview-beach.rgb")

View File

@@ -3,7 +3,6 @@
(tuxkart-track
(name "Gowns Bow")
(description "Created by Oliver & Steve Baker")
(gravity 78.0)
(music "oggs/another_caribbean_beat.ogg")
(screenshot "sshot-gownsbow.rgb")
(topview "topview-gownsbow.rgb")

View File

@@ -20,7 +20,7 @@ tk7.ogg,
tuxr.ogg,
Boom_boom_boom.ogg
------------------
Matt Thomas, license: CC
Matt Thomas, license: GNU GPL v2 (or later)
main_theme.ogg,
kart_grand_prix.ogg
@@ -34,7 +34,7 @@ Ethereal_Spectrum_(ver_loop).ogg
KingArthursCastle.ogg
---------------------
??, license: CC
Magne Djupvik, license: CC
Textures
@@ -50,5 +50,5 @@ New shifting sand and lighthouse textures
All other textures
------------------
Steve Baker, license: CC
Steve Baker, license: GNU GPL v2 (or later)

View File

@@ -189,5 +189,6 @@
"coniferous_tree.rgb" Y Y Y 0.5 N N 0.5 N N N N
"island/sky2.rgb" N N N 0.0 N N 1.0 N N N N
"window.rgb" N N Y 0.0 Y N 1.0 N N N N
"waterfall.rgb" N N Y 0.0 N N 1.0 N N Y N
# EOF #

View File

@@ -22,7 +22,7 @@
(anvil-time 2.0 ) ;; time an anvil is active
(zipper-time 5.0 ) ;; time a zipper is active
(zipper-force 800.0 ) ;; additional zipper force
(shortcut-road-distance 23.0 ) ;; max. distance from side of road to be still
(shortcut-road-distance 9999.0 ) ;; max. distance from side of road to be still
;; considered on the road (otherwise shortcut)
;; usually 5 is a good value, but for the math class
;; we have to use at least 21(!!)

View File

@@ -9,5 +9,5 @@ Exec=supertuxkart --log=file
Terminal=false
StartupNotify=false
Type=Application
TryExec=supertuxkart --log=file
TryExec=supertuxkart
Categories=3DGraphics;Game;ActionGame;Simulation;SportsGame;

View File

@@ -1,3 +1,7 @@
# contrib/
# doc
EXTRA_DIST =
SUBDIRS = players_manual
pkgdatadir = $(datadir)/games/@PACKAGE@/doc
EXTRA_DIST = conventions.txt implementation.txt robots.txt

View File

@@ -12,7 +12,8 @@ Coding style
============
The coding style used in Super Tux Kart can be found at
http://supertuxkart.berlios.de/wiki/index.php/Coding_Style .
http://supertuxkart.sourceforge.net/Coding_Style
Documentation line length

View File

@@ -0,0 +1,7 @@
# doc/players_manual
pkgdatadir = $(datadir)/games/@PACKAGE@/doc/players_manual
pkgdata_DATA = manual.html $(wildcard *.png) $(wildcard *.jpg)
EXTRA_DIST = $(pkgdata_DATA)

View File

@@ -11,14 +11,19 @@
<br>
<big><span style="font-weight: bold;">Introduction</span></big><br>
<br>
SuperTuxKart (abbreviated STK) is a kart racing game, based on<br>
Steve Baker's TuxKart (<a href="http://tuxkart.sourceforge.net">http://tuxkart.sourceforge.net</a>). It was<br>
SuperTuxKart (abbreviated STK) is a fun kart racing game, focusing on <br>
fun and not on realistic physics. You can find more details on<br>
<a href="http://supertuxkart.sourceforge.net">http://supertuxkart.sourceforge.net</a><br>
It was originally based on Steve Baker's TuxKart (<a href="http://tuxkart.sourceforge.net">http://tuxkart.sourceforge.net</a>),<br>
but by now has developed a life on its own. It was<br>
picked up by the Linux Game Tome (<a href="http://www.happypenguin.org">http://www.happypenguin.org</a>)<br>
Game of the Month project and got a big overhaul during this time,<br>
but was left in an unfinished state.<br>
<br>
A new set of maintainers, namely hiker &amp; coz, took over in 2006.<br>
You can find more details on&nbsp;<a href="http://supertuxkart.berlios.de">http://supertuxkart.berlios.de</a><br>
A new set of maintainers, namely hiker &amp; coz, took over in 2006, <br>
and since then three official versions (0.2, 0.3, and 0.4) have been released.<br>
<br>
<img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><br>
<br>
@@ -34,9 +39,9 @@ You can find more details on&nbsp;<a href="http://supertuxkart.berlios.de">http:
&nbsp; thought currently it is hard to drive with the mouse.<br>
<br>
<span style="font-weight: bold;">Software</span><br>
Right now, SuperTuxKart runs under Linux and under Windoze using<br>
the CygWin package. We hope MSVC/Windoze, MacOS, BSD, BeOS, etc.<br>
ports to follow.<br>
Right now, SuperTuxKart runs under Linux, Windows, and MacOSX.<br>
While we are not aware of any ports to BSD, BeOS, etc., we don't<br>
expect a problem on those platforms.<br>
<br>
You need the following programs installed:<br>
<br>
@@ -49,20 +54,13 @@ PLIB 1.8.4 <br>
SDL 1.2<br>
&nbsp;&nbsp;&nbsp; <a href="http://www.libsdl.org">http://www.libsdl.org</a><br>
<br>
OpenAL (optional, requires ALUT,&nbsp;&nbsp; MikMod)<br>
OpenAL<br>
&nbsp;&nbsp;&nbsp; <a href="http://www.openal.org">http://www.openal.org</a><br>
<br>
ALUT&nbsp;&nbsp; (optional, requires OpenAL, MikMod)<br>
ALUT<br>
&nbsp;&nbsp;&nbsp; <a href="http://www.openal.org">http://www.openal.org</a><br>
<br>
MikMod (optional, requires OpenAL, ALUT)<br>
&nbsp;&nbsp;&nbsp; <a href="http://mikmod.raphnet.net">http://mikmod.raphnet.net</a><br>
<br>
Bullet (optional)<br>
&nbsp;&nbsp;&nbsp; <a href="http://continuous.physics.com/Bullet/">http://continuous.physics.com/Bullet/</a><br>
<br>
<span style="font-style: italic;">If you wish to use bullet, you should see the README.bullet file</span><br style="font-style: italic;">
<span style="font-style: italic;">that should be in the main SuperTuxKart directory.</span><br>
<br>
<img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><br>
<br>
@@ -71,37 +69,17 @@ Bullet (optional)<br>
To win&nbsp;races you will need to master your controls. Here are the<br>
predefined controls:<br>
<br>
Player 1:<br>
&nbsp; Steer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Left / Right arrow<br>
&nbsp; Accelerate : Up arrow<br>
&nbsp; Brake&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Down arrow<br>
&nbsp; Use item&nbsp;&nbsp; : Right control<br>
&nbsp; Wheelie&nbsp;&nbsp;&nbsp; : Right shift<br>
&nbsp; Rescue&nbsp;&nbsp;&nbsp;&nbsp; : Backspace<br>
<br>
Player 2:<br>
&nbsp; Steer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : A / D key<br>
&nbsp; Accelerate : W key<br>
&nbsp; Brake&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : S key<br>
&nbsp; Use item&nbsp;&nbsp; : Left control<br>
&nbsp; Wheelie&nbsp;&nbsp;&nbsp; : Left shift<br>
&nbsp; Rescue&nbsp;&nbsp;&nbsp;&nbsp; : Left alt<br>
<br>
Player 3:<br>
&nbsp; Steer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : F / H key<br>
&nbsp; Accelerate : T key<br>
&nbsp; Brake&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : G key<br>
&nbsp; Use item&nbsp;&nbsp; : N key<br>
&nbsp; Wheelie&nbsp;&nbsp;&nbsp; : C key<br>
&nbsp; Rescue&nbsp;&nbsp;&nbsp;&nbsp; : B key<br>
<br>
Player 4:<br>
&nbsp; Steer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : J / L key<br>
&nbsp; Accelerate : I key<br>
&nbsp; Brake&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : K key<br>
&nbsp; Use item&nbsp;&nbsp; : M key<br>
&nbsp; Wheelie&nbsp;&nbsp;&nbsp; : . key<br>
&nbsp; Rescue&nbsp;&nbsp;&nbsp;&nbsp; : / key<br>
<table border="3">
<tr><td>Function</td><td>Player 1</td><td>Player 2</td><td>Player 3</td><td>Player 4</td></tr>
<tr><td>Steer </td><td>Left / Right arrow</td><td>A / D key </td><td>F / H key</td><td>J / L key</td></tr>
<tr><td>Accelerate</td><td>Up arrow </td><td>W key </td><td>T key </td><td>I key </td></tr>
<tr><td>Brake </td><td>Down arrow </td><td>S key </td><td>G key </td><td>K key </td></tr>
<tr><td>Use item </td><td>Right control </td><td>Left Control</td><td>N key </td><td>. key </td></tr>
<tr><td>Wheelie </td><td>Right shift </td><td>Left shift </td><td>C key </td><td>M key </td></tr>
<tr><td>Rescue </td><td>Backspace </td><td>Q key </td><td>R key </td><td>U key </td></tr>
<tr><td>Jump </td><td>- key </td><td>Caps lock </td><td>V key </td><td>, key </td></tr>
<tr><td>Look back </td><td>Right alt </td><td>Left alt </td><td>N key </td><td>/ key </td></tr>
</table>
<br>
The rescue button is meant to be used if your kart is stuck; it<br>
will send you to the track with your approximate progress, but<br>
@@ -113,9 +91,6 @@ menu it closes the game.<br>
<br>
There are also some special functions:<br>
<br>
&nbsp; F9 key&nbsp; - Toggle fullscreen during the race. Doesn't works on<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows.<br>
<br>
&nbsp; F10 key - Save the last 1000 frames into a file ./history.dat<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This can be used to reproduce problems occurring<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; during a race. This is mainly useful for developers.<br>
@@ -127,6 +102,7 @@ There are also some special functions:<br>
<img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><br>
<br>
<big><span style="font-weight: bold;">The race screen</span></big><br>
<img src="sshot-islandtrack.jpg" width="512" height="341">
<br>
This screen has several components:<br>
<br>
@@ -176,7 +152,7 @@ Three different game modes are available:<br>
&nbsp;&nbsp; A single race (with between 1 and 5 laps)<br>
<br>
3) Time Trial<br>
&nbsp;&nbsp; A single race with a single lap only<br>
&nbsp;&nbsp; A single race without opponents<br>
<br>
<img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><br>
<br>
@@ -272,8 +248,9 @@ this if the driver in the first position alreadyfinished the race, and you can't
&nbsp;<br>
&nbsp;Bomb: after 30 seconds the bomb will explode, but if another kart<br>
&nbsp;touches you, the bomb will be transfered to it and the remaining<br>
&nbsp;time will be reduced by 5 seconds. Also, the bomb can't be<br>
&nbsp;transfered to the inmediate previous bomb holder.<br>
&nbsp;time will be reduced by 5 seconds. If you hit a banana while<br>
&nbsp;having a bomb attach, it will explode immediately! Also, the bomb<br>
&nbsp;can't be transfered to the inmediate previous bomb holder.<br>
<br>
<img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><br>
<br>
@@ -296,7 +273,7 @@ carry one!<br>
<br>
On the track there could be zippers, which will give you a boost<br>
when you go over them. Avoid water and lava, since you can't<br>
drive inside them and you will have to be rescued just before<br>
drive on them and you will have to be rescued just before<br>
you touch them!<br>
<br>
There are also nasty things left on the track which will put an<br>
@@ -316,21 +293,15 @@ while doing a wheelie (since your front wheels are not touching<br>
the track), so be careful.<br>
<br>
Hitting another kart does not do any damage to your kart or the<br>
other kart, one of the karts will just be forced to a stand still,<br>
loosing precious seconds.<br>
other kart.<br>
<br>
When all human controlled karts finish the race, the game will wait<br>
some seconds for the AI to finish the race. If the AI doesn't, it<br>
will use the AI's current position as their final position.<br>
will estimate the arrival time based on the kart's average speed.<br>
<br>
<img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><br>
<br>
<big><span style="font-weight: bold;">Bugs in this version</span></big><br>
<br>
* Sometimes you can be pushed through a solid object if you are<br>
hit by another player when in contact with the surface. <br>
<br>
There might of course be more.<br>
<big><span style="font-weight: bold;">Known bugs in this version</span></big><br>
<br>
<img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><br>
<br>
@@ -356,16 +327,13 @@ Useful command line options:<br>
<big><span style="font-weight: bold;">Support</span></big><br>
<br>
If you have any problems, please send an e-mail to the<br>
Super Tux Kart mailing list at&nbsp;<a href="mailto:supertuxkart-devel@list.berlios.de">supertuxkart-devel@list.berlios.de</a>&nbsp;.<br>
Super Tux Kart mailing list at&nbsp;
<a href="mailto:supertuxkart-devel@lists.sourceforge.net">supertuxkart-devel@lists.sourceforge.net</a>&nbsp;.<br>
<br>
The archives of this mailing list can be found at <br>
<a href="http://lists.berlios.de/pipermail/supertuxkart-devel/">http://lists.berlios.de/pipermail/supertuxkart-devel/</a>&nbsp;.<br>
<a href="http://sourceforge.net/mailarchive/forum.php?forum_name=supertuxkart-devel">http://sourceforge.net/mailarchive/forum.php?forum_name=supertuxkart-devel/</a>&nbsp;.<br>
<br>
Or post a bug report on the SuperTuxKart bug forum (no <br>
registration is required):<br>
<a href="http://developer.berlios.de/forum/forum.php?forum_id=23737">http://developer.berlios.de/forum/forum.php?forum_id=23737</a><br>
<br>
There is also a wiki at&nbsp;<a href="http://supertuxkart.berlios.de/wiki">http://supertuxkart.berlios.de/wiki</a>&nbsp;.<br>
There is also a wiki on the homepage at&nbsp;<a href="http://supertuxkart.sourceforge.net/">http://supertuxkart.sourceforge.net</a>&nbsp;.<br>
<br>
<img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><img style="width: 32px; height: 33px;" alt="" src="chess.png"><br>
<br>

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -1,6 +1,6 @@
To create a robot, here is what you should do:
- There is a template for the robots in the contrib/ directory, modify it
- There is a template for the robots in the src/robots directory, modify it
to create your own robot, the files are named empty_robot.cpp and
empty_robot.hpp .
- Name your source file <name of robot>_robot.cpp, and your header as

View File

@@ -135,6 +135,7 @@ tuxkartshadow.rgb \
tv.rgb \
usaflag.rgb \
water.rgb \
waterfall.rgb \
water_light.rgb \
wheel.rgb \
wilbericon.rgb \

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
images/waterfall.rgb Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,2 +1,2 @@
King Arthur's Castle
???
Magne Djupvik

View File

@@ -99,6 +99,7 @@ supertuxkart_SOURCES = main.cpp \
gui/race_results_gui.cpp gui/race_results_gui.hpp \
gui/grand_prix_ending.cpp gui/grand_prix_ending.hpp \
gui/num_laps.cpp gui/num_laps.hpp \
gui/num_karts.cpp gui/num_karts.hpp \
gui/race_menu.cpp gui/race_menu.hpp \
gui/num_players.cpp gui/num_players.hpp \
gui/track_sel.cpp gui/track_sel.hpp \
@@ -122,7 +123,9 @@ supertuxkart_SOURCES = main.cpp \
replay_buffers.hpp replay_buffers.cpp \
replay_base.hpp replay_base.cpp \
replay_player.hpp replay_player.cpp \
replay_recorder.hpp replay_recorder.cpp
replay_recorder.hpp replay_recorder.cpp \
ide/vc8/supertuxkart.sln ide/vc8/supertuxkart.vcproj \
ide/vc8/bullet_lib.vcproj ide/vc8/README
# Link in the specific gcc 4.1 bug work around
@@ -133,3 +136,5 @@ supertuxkart_LDADD = -L. -lstatic_ssg \
.PHONY: pot
pot:
xgettext -o supertuxkart.pot -k_ --c++ *.?pp */*.?pp
SUBDIRS = robots

View File

@@ -1,63 +0,0 @@
# This is basically the overall name of the project in Visual Studio this is the name of the Solution File
# For every executable you have with a main method you should have an add_executable line below.
# For every add executable line you should list every .cpp and .h file you have associated with that executable.
# This is the variable for Windows. I use this to define the root of my directory structure.
SET(GLUT_ROOT ${BULLET_PHYSICS_SOURCE_DIR}/glut)
# You shouldn't have to modify anything below this line
########################################################
# This is the shortcut to finding GLU, GLUT and OpenGL if they are properly installed on your system
# This should be the case.
INCLUDE (${CMAKE_ROOT}/Modules/FindGLU.cmake)
INCLUDE (${CMAKE_ROOT}/Modules/FindGLUT.cmake)
INCLUDE (${CMAKE_ROOT}/Modules/FindOpenGL.cmake)
IF (WIN32)
# This is the Windows code for which Opengl, and Glut are not properly installed
# since I can't install them I must cheat and copy libraries around
INCLUDE_DIRECTORIES(${GLUT_ROOT})
# LINK_DIRECTORIES(${GLUT_ROOT}\\lib)
# IF (${GLUT_glut_LIBRARY} MATCHES "GLUT_glut_LIBRARY-NOTFOUND")
# LINK_LIBRARIES(${GLUT_ROOT}\\lib\\glut32 ${OPENGL_gl_LIBRARY} ${OPENGL_glU_LIBRARY})
# TARGET_LINK_LIBRARIES(table ${GLUT_ROOT}\\lib\\glut32)
#
# ADD_CUSTOM_COMMAND(TARGET table POST_BUILD COMMAND copy ${GLUT_ROOT}\\lib\\glut32.dll ${GLUT_ROOT}\\bin\\vs2005\\Debug
# COMMAND copy ${GLUT_ROOT}\\lib\\glut32.dll ${GLUT_ROOT}\\bin\\vs2003\\Debug
# COMMAND copy ${GLUT_ROOT}\\lib\\glut32.dll ${GLUT_ROOT}\\bin\\vs6\\Debug)
# ELSE (${GLUT_glut_LIBRARY} MATCHES "GLUT_glut_LIBRARY-NOTFOUND")
# LINK_LIBRARIES(${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
# TARGET_LINK_LIBRARIES(table ${GLUT_glut_LIBRARY})
# ENDIF(${GLUT_glut_LIBRARY} MATCHES "GLUT_glut_LIBRARY-NOTFOUND")
# TARGET_LINK_LIBRARIES(table ${OPENGL_gl_LIBRARY})
# TARGET_LINK_LIBRARIES(table ${OPENGL_glu_LIBRARY})
ELSE (WIN32)
# This is the lines for linux. This should always work if everything is installed and working fine.
# SET(CMAKE_BUILD_TYPE Debug)
# SET(CMAKE_CXX_FLAGS_DEBUG "-g")
INCLUDE_DIRECTORIES(/usr/include /usr/local/include ${GLUT_INCLUDE_DIR})
# TARGET_LINK_LIBRARIES(table ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
# TARGET_LINK_LIBRARIES(checker ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})
ENDIF (WIN32)
INCLUDE_DIRECTORIES(
${BULLET_PHYSICS_SOURCE_DIR}/src }
)
ADD_LIBRARY(LibOpenGLSupport
BMF_Api.cpp
BMF_BitmapFont.cpp
BMF_font_helv10.cpp
GL_ShapeDrawer.cpp
GL_Simplex1to4.cpp
GLDebugDrawer.cpp
GlutStuff.cpp
RenderTexture.cpp
DemoApplication.cpp
)

View File

@@ -1 +1,5 @@
SUBDIRS=src Demos/OpenGL
SUBDIRS=src Demos/OpenGL
EXTRA_DIST = BulletLicense.txt ChangeLog.txt copy_bullet_files \
LICENSE README VERSION

View File

@@ -235,11 +235,12 @@ void CharSel::select()
}
}
if (race_manager->getRaceMode() != RaceSetup::RM_GRAND_PRIX)
menu_manager->pushMenu(MENUID_TRACKSEL);
if (race_manager->getRaceMode() == RaceSetup::RM_GRAND_PRIX)
menu_manager->pushMenu(MENUID_NUMKARTS);
else
race_manager->start();
}
menu_manager->pushMenu(MENUID_TRACKSEL);
} // select
//----------------------------------------------------------------------------
// Function checks the vector of previously selected karts and returns true if
// kart i is in the vector and false if it is not.

View File

@@ -28,7 +28,7 @@ enum WidgetTokens
WTOK_TITLE,
WTOK_HARD,
WTOK_MEDIUM,
// WTOK_MEDIUM,
WTOK_EASY,
WTOK_QUIT
@@ -53,8 +53,8 @@ Difficulty::Difficulty()
widget_manager->addWgt(WTOK_HARD, 60, 7);
widget_manager->setWgtText(WTOK_HARD, _("Racer"));
widget_manager->addWgt(WTOK_MEDIUM, 60, 7);
widget_manager->setWgtText(WTOK_MEDIUM, _("Driver"));
//widget_manager->addWgt(WTOK_MEDIUM, 60, 7);
//widget_manager->setWgtText(WTOK_MEDIUM, _("Driver"));
widget_manager->addWgt(WTOK_EASY, 60, 7);
widget_manager->setWgtText(WTOK_EASY, _("Novice"));
@@ -80,10 +80,10 @@ void Difficulty::select()
race_manager->setDifficulty(RD_EASY);
menu_manager->pushMenu(MENUID_CHARSEL_P1);
break;
case WTOK_MEDIUM:
race_manager->setDifficulty(RD_MEDIUM);
menu_manager->pushMenu(MENUID_CHARSEL_P1);
break;
// case WTOK_MEDIUM:
// race_manager->setDifficulty(RD_MEDIUM);
// menu_manager->pushMenu(MENUID_CHARSEL_P1);
// break;
case WTOK_HARD:
race_manager->setDifficulty(RD_HARD);
menu_manager->pushMenu(MENUID_CHARSEL_P1);

View File

@@ -31,6 +31,7 @@
#include "options.hpp"
#include "track_sel.hpp"
#include "num_laps.hpp"
#include "num_karts.hpp"
#include "num_players.hpp"
#include "config_controls.hpp"
#include "config_display.hpp"
@@ -164,6 +165,9 @@ void MenuManager::update()
case MENUID_NUMLAPS:
m_current_menu= new NumLaps();
break;
case MENUID_NUMKARTS:
m_current_menu= new NumKarts();
break;
case MENUID_NUMPLAYERS:
m_current_menu= new NumPlayers();
break;

View File

@@ -38,6 +38,7 @@ enum MenuManagerIDs
MENUID_GRANDPRIXEND,
MENUID_RACEMENU,
MENUID_TRACKSEL,
MENUID_NUMKARTS,
MENUID_NUMLAPS,
MENUID_NUMPLAYERS,
MENUID_OPTIONS,

139
src/gui/num_karts.cpp Normal file
View File

@@ -0,0 +1,139 @@
// $Id: num_laps.cpp 1369 2007-12-25 03:23:32Z cosmosninja $
//
// SuperTuxKart - a fun racing game with go-kart
// Copyright (C) 2006, 2007 SuperTuxKart-Team
//
// 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.
#include "race_manager.hpp"
#include "num_karts.hpp"
#include "widget_manager.hpp"
#include "menu_manager.hpp"
#if defined(WIN32) && !defined(__CYGWIN__)
# define snprintf _snprintf
#endif
enum WidgetTokens
{
WTOK_TITLE,
WTOK_NUMLAPS,
WTOK_LESS,
WTOK_MORE,
WTOK_CONTINUE,
WTOK_QUIT
};
NumKarts::NumKarts()
{
widget_manager->addWgt(WTOK_TITLE, 50, 7);
widget_manager->showWgtRect(WTOK_TITLE);
widget_manager->showWgtText(WTOK_TITLE);
widget_manager->setWgtText(WTOK_TITLE, _("Choose number of karts"));
widget_manager->breakLine();
widget_manager->addWgt( WidgetManager::WGT_NONE, 100, 5);
widget_manager->breakLine();
widget_manager->addWgt(WTOK_NUMLAPS, 20, 7);
widget_manager->showWgtRect(WTOK_NUMLAPS);
widget_manager->showWgtText(WTOK_NUMLAPS);
m_num_karts = race_manager->getNumKarts();
snprintf(m_kart_label, MAX_MESSAGE_LENGTH, _("Karts: %d"), m_num_karts);
widget_manager->setWgtText(WTOK_NUMLAPS, m_kart_label);
widget_manager->breakLine();
widget_manager->addWgt( WidgetManager::WGT_NONE, 100, 5);
widget_manager->breakLine();
widget_manager->addWgt(WTOK_LESS, 20, 7);
widget_manager->showWgtRect(WTOK_LESS);
widget_manager->showWgtText(WTOK_LESS);
widget_manager->setWgtText(WTOK_LESS, _("Less"));
widget_manager->activateWgt(WTOK_LESS);
widget_manager->breakLine();
widget_manager->addWgt(WTOK_MORE, 20, 7);
widget_manager->showWgtRect(WTOK_MORE);
widget_manager->showWgtText(WTOK_MORE);
widget_manager->setWgtText(WTOK_MORE, _("More"));
widget_manager->activateWgt(WTOK_MORE);
widget_manager->breakLine();
widget_manager->addWgt( WidgetManager::WGT_NONE, 100, 5);
widget_manager->breakLine();
widget_manager->addWgt(WTOK_CONTINUE, 30, 7);
widget_manager->showWgtRect(WTOK_CONTINUE);
widget_manager->showWgtText(WTOK_CONTINUE);
if (race_manager->getRaceMode() == RaceSetup::RM_GRAND_PRIX)
widget_manager->setWgtText(WTOK_CONTINUE, _("Start race"));
else
widget_manager->setWgtText(WTOK_CONTINUE, _("Continue"));
widget_manager->activateWgt(WTOK_CONTINUE);
widget_manager->breakLine();
widget_manager->addWgt(WTOK_QUIT, 50, 7);
widget_manager->showWgtRect(WTOK_QUIT);
widget_manager->showWgtText(WTOK_QUIT);
widget_manager->setWgtText(WTOK_QUIT, _("Press <ESC> to go back"));
widget_manager->activateWgt(WTOK_QUIT);
widget_manager->layout(WGT_AREA_ALL);
widget_manager->setSelectedWgt(WTOK_CONTINUE);
}
// -----------------------------------------------------------------------------
NumKarts::~NumKarts()
{
widget_manager->reset();
} // ~NumKarts
// -----------------------------------------------------------------------------
void NumKarts::select()
{
const int WGT = widget_manager->getSelectedWgt();
switch (WGT)
{
case WTOK_LESS:
m_num_karts = std::max(race_manager->getNumPlayers(), m_num_karts-1);
snprintf(m_kart_label, MAX_MESSAGE_LENGTH, "Karts: %d", m_num_karts);
widget_manager->setWgtText(WTOK_NUMLAPS, m_kart_label);
break;
case WTOK_MORE:
m_num_karts = std::min(stk_config->m_max_karts, m_num_karts+1);
snprintf(m_kart_label, MAX_MESSAGE_LENGTH, "Karts: %d", m_num_karts);
widget_manager->setWgtText(WTOK_NUMLAPS, m_kart_label);
break;
case WTOK_CONTINUE:
race_manager->setNumKarts(m_num_karts);
if (race_manager->getRaceMode() == RaceSetup::RM_GRAND_PRIX)
race_manager->start();
else
menu_manager->pushMenu(MENUID_NUMLAPS);
break;
case WTOK_QUIT:
menu_manager->popMenu();
break;
}
} // select

40
src/gui/num_karts.hpp Normal file
View File

@@ -0,0 +1,40 @@
// $Id: num_karts.hpp 924 2007-03-06 17:33:35Z coz $
//
// SuperTuxKart - a fun racing game with go-kart
// Copyright (C) 2006 SuperTuxKart-Team
//
// 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.
#ifndef HEADER_KARTSLAPS_H
#define HEADER_KARTSLAPS_H
#include "base_gui.hpp"
#include "translation.hpp"
class NumKarts: public BaseGUI
{
public:
NumKarts();
~NumKarts();
void select();
private:
int m_karts_label_id;
int m_num_karts;
char m_kart_label[MAX_MESSAGE_LENGTH];
};
#endif

View File

@@ -89,6 +89,8 @@ NumLaps::NumLaps() : laps(3)
widget_manager->activateWgt(WTOK_QUIT);
widget_manager->layout(WGT_AREA_ALL);
widget_manager->setSelectedWgt(WTOK_START);
}
// -----------------------------------------------------------------------------

View File

@@ -246,8 +246,14 @@ void TrackSel::select()
const int CLICKED_TOKEN = widget_manager->getSelectedWgt();
const Track* TRACK = track_manager->getTrack(CLICKED_TOKEN - WTOK_TRACK0);
race_manager->setTrack(TRACK->getIdent());
menu_manager->pushMenu(MENUID_NUMLAPS);
}
if(race_manager->getRaceMode()==RaceSetup::RM_TIME_TRIAL)
{
menu_manager->pushMenu(MENUID_NUMLAPS);
}
else
{
menu_manager->pushMenu(MENUID_NUMKARTS);
}
} // select
/* EOF */

View File

@@ -522,7 +522,7 @@
Optimization="0"
WholeProgramOptimization="false"
AdditionalIncludeDirectories="./../../../src;&quot;$(PLIB_PATH)&quot;;&quot;$(SDL_PATH)\include&quot;;&quot;$(ALUT_PATH)\include&quot;;&quot;$(OGG_PATH)\include&quot;;&quot;$(VORBIS_PATH)\include&quot;;&quot;$(OPENAL_PATH)\include&quot;;&quot;$(OPENAL_PATH)\include\AL&quot;;../../../src/bullet/src;&quot;$(GLUT_PATH)\include&quot;;&quot;$(GETTEXT_PATH)/include&quot;"
PreprocessorDefinitions="BT_NO_PROFILE;HAVE_OPENAL;HAVE_OGGVORBIS;_DEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;0.4alpha\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;DEBUG;PACKAGE=\&quot;supertuxkart\&quot;"
PreprocessorDefinitions="BT_NO_PROFILE;HAVE_OPENAL;HAVE_OGGVORBIS;_DEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;0.4\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;DEBUG;PACKAGE=\&quot;supertuxkart\&quot;"
GeneratePreprocessedFile="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -607,7 +607,7 @@
Name="VCCLCompilerTool"
WholeProgramOptimization="true"
AdditionalIncludeDirectories="./../../../src;&quot;$(PLIB_PATH)&quot;;&quot;$(SDL_PATH)\include&quot;;&quot;$(ALUT_PATH)\include&quot;;&quot;$(OGG_PATH)\include&quot;;&quot;$(VORBIS_PATH)\include&quot;;&quot;$(OPENAL_PATH)\include&quot;;&quot;$(OPENAL_PATH)\include\AL&quot;;../../../src/bullet/src;&quot;$(GLUT_PATH)\include&quot;"
PreprocessorDefinitions="HAVE_OPENAL;HAVE_OGGVORBIS;NDEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;0.4alpha\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;BT_NO_PROFILE"
PreprocessorDefinitions="HAVE_OPENAL;HAVE_OGGVORBIS;NDEBUG;_CONSOLE;WIN32;NOMINMAX;VERSION=\&quot;0.4\&quot;;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;BT_NO_PROFILE"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
@@ -981,6 +981,10 @@
RelativePath="../../../src\gui\menu_manager.cpp"
>
</File>
<File
RelativePath="..\..\gui\num_karts.cpp"
>
</File>
<File
RelativePath="../../../src\gui\num_laps.cpp"
>
@@ -1403,6 +1407,10 @@
RelativePath="../../../src\gui\menu_manager.hpp"
>
</File>
<File
RelativePath="..\..\gui\num_karts.hpp"
>
</File>
<File
RelativePath="../../../src\gui\num_laps.hpp"
>

View File

@@ -633,13 +633,17 @@ void Kart::update (float dt)
Moveable::update(dt);
// Check if a kart is (nearly) upside down and not moving much --> automatic rescue
if((fabs(m_curr_pos.hpr[2])>60 && getSpeed()<3.0f) )
if((fabs(m_curr_pos.hpr[2])>60 && fabs(getSpeed())<3.0f) )
{
forceRescue();
}
btTransform trans=getTrans();
TerrainInfo::update(trans.getOrigin());
// Add a certain epsilon (0.1) to the height of the kart. This avoids
// problems of the ray being cast from under the track (which happened
// e.g. on tux tollway when jumping down from the ramp).
btVector3 pos_plus_epsilon = trans.getOrigin()+btVector3(0,0,0.1f);
TerrainInfo::update(pos_plus_epsilon);
if (getHoT()==Track::NOHIT ||
(getMaterial()->isReset() && isOnGround()) )
{

View File

@@ -21,6 +21,7 @@
#include <stdexcept>
#include <sstream>
#include <sys/stat.h>
#include <string>
#ifdef WIN32
# include <io.h>
# include <stdio.h>
@@ -38,16 +39,53 @@
#include "translation.hpp"
#include "material_manager.hpp"
#ifdef __APPLE__
// dynamic data path detection onmac
# include <CoreFoundation/CoreFoundation.h>
bool macSetBundlePathIfRelevant(std::string& data_dir)
{
printf("checking whether we are using an app bundle... ");
// the following code will enable STK to find its data when placed in an app bundle on mac OS X.
// returns true if path is set, returns false if path was not set
char path[1024];
CFBundleRef main_bundle = CFBundleGetMainBundle(); assert(main_bundle);
CFURLRef main_bundle_URL = CFBundleCopyBundleURL(main_bundle); assert(main_bundle_URL);
CFStringRef cf_string_ref = CFURLCopyFileSystemPath( main_bundle_URL, kCFURLPOSIXPathStyle); assert(cf_string_ref);
CFStringGetCString(cf_string_ref, path, 1024, kCFStringEncodingASCII);
CFRelease(main_bundle_URL);
CFRelease(cf_string_ref);
std::string contents = std::string(path) + std::string("/Contents");
if(contents.find(".app") != std::string::npos)
{
printf("yes\n");
// executable is inside an app bundle, use app bundle-relative paths
data_dir = contents + std::string("/Resources/data");
return true;
}
else
{
printf("no\n");
return false;
}
}
#endif
Loader* loader = 0;
Loader::Loader()
{
const char *datadir;
std::string datadir;
m_current_callback_type = CB_COLLECTABLE;
if ( getenv ( "SUPERTUXKART_DATADIR" ) != NULL )
datadir = getenv ( "SUPERTUXKART_DATADIR" ) ;
else
#ifdef __APPLE__
if( macSetBundlePathIfRelevant( datadir ) ) { /* nothing to do */ }
else
#endif
#ifdef _MSC_VER
if ( _access ( "data\\tuxtrack.track", 04 ) == 0 )
#else
@@ -68,7 +106,7 @@ Loader::Loader()
datadir = "/usr/local/share/games/supertuxkart" ;
#endif
fprintf(stderr, _("Data files will be fetched from: '%s'\n"),
datadir ) ;
datadir.c_str() ) ;
addSearchPath(datadir);
} // Loader

4
src/robots/Makefile.am Normal file
View File

@@ -0,0 +1,4 @@
# src/robots
EXTRA_DIST = empty_robot.cpp empty_robot.hpp

View File

@@ -38,6 +38,7 @@
#include "projectile_manager.hpp"
#include "loader.hpp"
#include "gui/menu_manager.hpp"
#include "widget_manager.hpp"
#include "player.hpp"
#include "gui/font.hpp"
#include "user_config.hpp"
@@ -205,6 +206,10 @@ void setVideoMode(bool resetTextures)
//Reinit fonts
delete_fonts();
init_fonts();
//TODO: this function probably will get deleted in the future; if
//so, the widget_manager.hpp include has no other reason to be here.
widget_manager->reloadFonts();
}
#endif
}

View File

@@ -39,7 +39,8 @@ SFXImpl::SFXImpl(const char* filename)
{
m_soundBuffer= 0;
m_soundSource= 0;
assert(load(filename));
bool ok=load(filename);
assert(ok);
}
//-----------------------------------------------------------------------------
@@ -53,6 +54,15 @@ SFXImpl::~SFXImpl()
void SFXImpl::play()
{
alSourcePlay(m_soundSource);
// Check (and clear) the error flag
int error = alGetError();
if(error != AL_NO_ERROR)
{
fprintf(stderr, "SFX OpenAL error: %d\n", error);
}
}
//-----------------------------------------------------------------------------

View File

@@ -380,11 +380,11 @@ bool Widget::createRect(int radius)
//TODO: show warning if text > rect
if(radius > m_width * 0.5)
{
std::cerr << "Warning: widget's radius > half width.\n";
//std::cerr << "Warning: widget's radius > half width.\n";
}
if(radius > m_height * 0.5)
{
std::cerr << "Warning: widget's radius > half height.\n";
// std::cerr << "Warning: widget's radius > half height.\n";
}
if(radius < 1)
{
@@ -677,4 +677,8 @@ void Widget::setFont( const WidgetFont FONT )
m_font = font_race;
break;
};
//TODO: the curr_widget_font variable exists only for a bug around; after
//some restructuration, it should be fine to remove this.
m_curr_widget_font = FONT;
}

View File

@@ -149,6 +149,10 @@ class Widget
std::string m_text;
WidgetFontSize m_text_size;
//TODO: This variable exists only to go around a bug; should be removed
//after better restructuration.
WidgetFont m_curr_widget_font;
static const int MAX_SCROLL;
bool m_enable_scroll;
float m_scroll_pos_x;

View File

@@ -1591,3 +1591,19 @@ int WidgetManager::findBottomWidget(const int START_WGT) const
return closest_wgt;
}
/** reloadFonts() sets the pointers to the fonts of the guis
* to their choosen fonts; it's useful in cases where you
* free the font's memory (which makes the pointers invalid),
* then reload the fonts, like it happens when you change resolution
* on the Macs or Windows.
*/
void WidgetManager::reloadFonts()
{
const int NUM_WIDGETS = (int)m_widgets.size();
for( int i = 0; i < NUM_WIDGETS; ++i )
{
m_widgets[i].widget->setFont(
m_widgets[i].widget->m_curr_widget_font );
}
}

View File

@@ -232,6 +232,7 @@ public:
void setWgtFont( const int TOKEN, const WidgetFont FONT);
void showWgtText( const int TOKEN );
void hideWgtText( const int TOKEN );
void reloadFonts();
//FIXME: change to enableWgtScrolling, since it enables or disables
//FIXME: maybe all that enabling the scrolling should do, is to allow

BIN
src/windows_installer/icon.ico Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
src/windows_installer/install.ico Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,164 @@
; Before you start you will need the shelllink plugin for NSIS
; Download it from the nsis webpage, and unzip it in the NSIS
; install dir.
;
; To use just put this in a directory below the supertuxkart directory
; which should be called "supertuxkart" and then copy the
; GPL in the supertuxkart directory to 'license.txt'.
; Next to supertuxkart create a subdirectory called 'prerequisites'
; and copy the VC++ (vcredist_x86.exe) and OpenAL (oalinst.exe)
; redistributables.
; You will then need to make an icon, you can use:
; http://tools.dynamicdrive.com/favicon/ to convert a png to an icon.
; Once you have made an icon put it in the supertuxkart dir and call it
; icon.ico. You will need to do the same for install.ico nd uninstall.ico
; Once there done then all you need to do is compile with NSIS.
;--------------------------------
;Include Modern UI
!include "MUI.nsh"
;--------------------------------
;General
;Name and file
Name "SuperTuxKart for Windows"
OutFile "supertuxkart-win.exe"
;Default installation folder
InstallDir "$PROGRAMFILES\SuperTuxKart"
;Get installation folder from registry if available
InstallDirRegKey HKCU "Software\SuperTuxKart" ""
;Sets the text in the bottom corner
BrandingText "SuperTuxKart Installer"
;Set the icon
!define MUI_ICON "SuperTuxKart\install.ico"
!define MUI_UNICON "SuperTuxKart\uninstall.ico"
;Sets the compressor to /SOLID lzma which when I tested was the best
SetCompressor /SOLID lzma
;Vista redirects $SMPROGRAMS to all users without this
RequestExecutionLevel admin
;--------------------------------
;Variables
Var MUI_TEMP
Var STARTMENU_FOLDER
;--------------------------------
;Interface Settings
!define MUI_ABORTWARNING
;--------------------------------
;Pages
;Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "SuperTuxKart\License.txt"
!insertmacro MUI_PAGE_DIRECTORY
;Start Menu Folder Page Configuration
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\SuperTuxKart"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
;Uninstaller pages
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
;Installer Sections
Section "Main Section" SecMain
SetOutPath "$INSTDIR"
;Adds all the tux kart files
File /r supertuxkart\*.*
;Store installation folder
WriteRegStr HKCU "Software\SuperTuxKart" "" $INSTDIR
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
;Create shortcuts
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\uninstall.ico"
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Run.lnk" "$INSTDIR\supertuxkart.exe" "" "$INSTDIR\icon.ico"
ShellLink::SetShortCutShowMode $SMPROGRAMS\$STARTMENU_FOLDER\Run.lnk 0
!insertmacro MUI_STARTMENU_WRITE_END
SectionEnd
Section -Prerequisites
SetOutPath $INSTDIR\Prerequisites
MessageBox MB_YESNO "Install Microsoft VC++ runtime libraries?" /SD IDYES IDNO endVC
File "prerequisites\vcredist_x86.exe"
ExecWait "$INSTDIR\prerequisites\vcredist_x86.exe"
Goto endVC
endVC:
MessageBox MB_YESNO "Install OpenAL sound libraries?" /SD IDYES IDNO endOA
File "prerequisites\oalinst.exe"
ExecWait "$INSTDIR\prerequisites\oalinst.exe"
Goto endOA
endOA:
SectionEnd
;--------------------------------
;Uninstaller Section
Section "Uninstall"redist
;Removes all the supertuxkart data files
RMDir /r /REBOOTOK $INSTDIR
Delete "$INSTDIR\Uninstall.exe"
RMDir "$INSTDIR"
;Remove start menuy items
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
Delete "$SMPROGRAMS\$MUI_TEMP\Run.lnk"
;Delete empty start menu parent diretories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
startMenuDeleteLoop:
ClearErrors
RMDir $MUI_TEMP
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
IfErrors startMenuDeleteLoopDone
StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
DeleteRegKey /ifempty HKCU "Software\SuperTuxKart"
SectionEnd

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB