* Add SuperTux difficulty & update number of karts Also make the expert challenge slightly easier to match more the difficulty of other challenges. * Add SuperTux difficulty & update number of karts & points required Also give some more time margin in easier difficulties, as it is a hard challenge compared to most. * Add SuperTux difficulty & update number of karts & points required Also change the lap count to 4 as it is a very short track (sub 30s) * Add SuperTux difficulty Also tweak the expert challenge to have a more appropriate difficulty * Add SuperTux difficulty & update number of karts * Add SuperTux difficulty & update number of karts & points required * Add SuperTux difficulty & update number of karts & points required Also correct the requirement position, since this is not a FTL race anymore. * Add SuperTux difficulty & update number of karts & points required Also slight balancing improvements for the usual difficulties. * Add SuperTux difficulty & update number of karts & points required Also adds a position requirement in expert * Add SuperTux difficulty & update number of karts & points required * Add SuperTux difficulty & update number of karts & points required * Add SuperTux difficulty & update number of karts & points required Also change the number of laps to 5, as this is a very short track. The time requirements for easier difficulties have been kept proportionally similar to before. * Add SuperTux difficulty & update number of karts & points required Also change the number of laps to 4. * Add SuperTux difficulty & update number of karts & points required Also add a position requirement to expert and intermediate. * Add SuperTux difficulty & update number of karts & points required Also change the number of laps to 4, as a lap often is 30s or less in expert/supertux * Add SuperTux difficulty & update number of karts & points required * Add SuperTux difficulty & update number of karts & points required * Rename islandtrack.challenge to gran_paradiso.challenge * Rename challenge file * Add SuperTux difficulty & update number of karts & points required Also makes the time limit in expert less easy and tweak position requirement. * Add SuperTux difficulty & update number of karts * Add SuperTux difficulty & update number of karts & points required * Add SuperTux difficulty & update number of karts & points required * Add SuperTux difficulty & update number of karts & points required * Add SuperTux difficulty & update number of karts & points required Doesn't unlock the SuperTux difficulty anymore - it's managed elsewhere. * Add SuperTux difficulty & update number of karts & points required * Add SuperTux difficulty & update number of karts & points required * Add new unlock challenges, for difficulty and karts * Add a lap to oliver's math class * Replace Northern Resort by Volcano Island * Replace Volcano Island by Candela City Candela City was in no (official) GP before this. Also sets Green Valley to 3 laps. * Add Northern Resort and remove Fort Magma In 0.9.3, this GP has only 4 races in Story Mode (5 for the other GPs) because Fort Magma is locked. Of all the tracks outside this GP before, Northern Resort is one of the hardest, the AI being rather good there. * Temporary cup for SuperTux challenges Recolored version of the gold cup * Update challenge selection UI for the SuperTux challenges * GUI used before SuperTux difficulty unlocking This is the old select_challenge.stkgui * Swap the two sara * Replace Kiki by another kart to unlock on Benau's demand * Update for improved Story Mode * Update for improved Story Mode * Add support for SuperTux challenges * Add support for SuperTux challenges * Add support for SuperTux challenges * Add support for SuperTux challenges * Update for SuperTux ; also adds the ability to unlock a challenge by points * Update for unlocking by points * Add support for SuperTux challenges * Add support for SuperTux challenges * Add support for SuperTux challenges * Minor changes to function calls * Update for SuperTux challenges * Add support for SuperTux challenges * Update for Story Mode GP changes * Allows to display the correct number of points for GP challenges * Set the unlock of the 1st bonus kart to correct non-test value * Add support for SuperTux challenges Including a bigger challenge selection diaolg * Add default value * Icon to indicate that there is an unlockable The number of points needed to unlock it are displayed next to it. * Changed format : the point requirements is now specified in the file * Changed format : the point requirements is now specified in the file * Changed format : the point requirements is now specified in the file * Function for unlock by points UI * Add default for unlock list node and use requirements node for all * Make unlockByPoints simpler and more flexible Now the code will iterate in StoryModeStatus and send the unlock_list challenges for treatment here. The question of getting the right challenge statuses beings solved, it allows for a great simplification and much more flexibility * Update unlockByPoints declaration * Adds support for next unlockable UI * Improve call of unlockByPoints Also calculations for displaying in the UI how many point the next unlockable by points requires. * Add icon for next unlockable * Displays icon/number to make the player aware of the next unlockable Also displays the number below the icon rather than on the side, for more clarity. * Changes to display karts in the unlock scene * Update unlock functions declarations * New function to clarify code and more logical recently unlocked list management In the previous version, everything was added to the recently unlocked list at some point, necessitating a clearing at the end of computeActive, which also removed from the list the non-race challenges. Checking if the feature is newly unlocked to add it to the list remove the need of that clearing. * Declaration for unlockFeatureByList * Display newly unlocked karts * Display newly unlocked karts * Clear the list of recently unlocked features at the end * Update testing code * Update unlocks finding function call * Improve UI scaling * Fixes indentation * Update the number of points before checking for unlock by points * Add const to declarations * Remove const_cast * Remove a const_cast There are other const_cast in the menu debug items (but they are unrelated to this PR) * Fix menu being bolder
SuperTuxKart
SuperTuxKart is a free kart racing game. It focuses on fun and not on realistic kart physics. Instructions can be found on the in-game help page.
The SuperTuxKart homepage can be found at https://supertuxkart.net/. There is also our FAQ and information on how get in touch with the community
Hardware Requirements
To run SuperTuxKart, make sure that your computer's specifications are equal or higher than the following specifications:
- A graphics card capable of 3D rendering - NVIDIA GeForce 8 series and newer (GeForce 8100 or newer), AMD/ATI Radeon HD 4000 series and newer, Intel HD Graphics 3000 and newer. OpenGL >= 3.3
- You should have a CPU that's running at 1 GHz or faster.
- You'll need at least 512 MB of free VRAM (video memory).
- Minimum disk space: 800 MB
- Ideally, you'll want a joystick with at least 6 buttons.
License
The software is released under the GNU General Public License (GPL) which can be found in the file COPYING in the same directory as this file. Information about the licenses for the artwork is contained in data/licenses.
3D coordinates
A reminder for those who are looking at the code and 3D models:
SuperTuxKart: X right, Y up, Z forwards
Blender: X right, Y forwards, Z up
The export utilities perform the needed transformation, so in Blender you just work with the XY plane as ground, and things will appear fine in STK (using XZ as ground in the code, obviously).
Building from source
In order to build SuperTuxKart from source, you'll need both the code and the assets (See https://supertuxkart.net/Source_control for more information):
git clone https://github.com/supertuxkart/stk-code stk-code
svn co https://svn.code.sf.net/p/supertuxkart/code/stk-assets stk-assets
Building SuperTuxKart on Linux
Dependencies
To build SuperTuxKart from source, you'll need to install the following packages:
- OpenGL (mesa)
- OpenAL (recommended: openal-soft-devel)
- Ogg (libogg-dev)
- Vorbis (libvorbis-dev)
- Freetype (libfreetype6-dev)
- libcurl (libcurl-devel)
- libbluetooth (bluez-devel)
- libpng (libpng-devel)
- zlib (zlib-devel)
- jpeg (libjpeg-turbo-devel)
Ubuntu command:
sudo apt-get install build-essential cmake libbluetooth-dev \
libcurl4-gnutls-dev libfreetype6-dev libfribidi-dev libgl1-mesa-dev \
libjpeg-dev libogg-dev libopenal-dev libpng-dev libvorbis-dev libxrandr-dev \
mesa-common-dev pkg-config zlib1g-dev
In-game recorder
To build the in-game recorder for STK, you have to install
libopenglrecorder from your distribution, or compile it yourself from here.
Compilation instruction is explained there. If you don't need this feature, pass -DBUILD_RECORDER=off to cmake.
Compiling
To compile SuperTuxKart, run the following commands inside stk-code directory:
mkdir cmake_build
cd cmake_build
cmake ..
make -j4
STK can then be run from the build directory with bin/supertuxkart
Keeping your build up to date
To recompile the latest code without redownloading the entire source, first run the svn up command inside the 'stk-assets' directory, then run the following commands inside the 'stk-code' directory:
git pull
cd cmake_build
cmake ..
make -j4
Build Speed Optimization
"-j4" is an example, for a faster build, use "-jx" instead, where "x" is the amount of CPU threads you have, minus one.
Further options
To create a debug version of STK, run:
cmake .. -DCMAKE_BUILD_TYPE=Debug
You can install your build system-wide:
sudo 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, specify CMAKE_INSTALL_PREFIX when running cmake, e.g.:
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk
Building SuperTuxKart on Windows
To Build SuperTuxKart on Windows, follow these instructions:
- Download and install Visual Studio from here: Visual Studio - Download. The free Visual Studio Community edition works fine.
- Download the SuperTuxKart source package from either SuperTuxKart download area - SourceForge.net or SuperTuxKart.net - Source Control, and unpack it.
Note: If you downloaded the source package from here: SuperTuxKart.net - Source Control, then both
stk-codeandstk-assetsmust be in the same directory, otherwise the build can result in failure - Download the Windows dependencies package from either SuperTuxKart download area: Dependencies - SourceForge.net
or SuperTuxKart on GitHub - Dependencies, and unpack it; then, copy the
dependenciesdirectory from either thewindowsor thewindows_64bitdirectories into thestk-codedirectory, rename it todependencies-64bitif you want to compile a 64bit build. - Download CMake from here: CMake - download page, install it; once CMake is installed, double click on the CMake icon on your desktop, and point it towards your
stk-codedirectory in the 'Where is the source code' field, and point it to a directory calledbuildorbldinside the stk-code directory. - Press 'Configure'; CMake will ask you if it is OK to create the aforementioned directory, press
Yes. CMake will then ask you about your version of Visual Studio. Confirm your selection; Please look at the table below to avoid confusion between version numbers and releases of Visual Studio; CMake will begin creating the required files for the build in the directory. - Navigate to your build directory and open the
SuperTuxKart.slnfile; Visual Studio will now load the solution. - In the 'Solution Explorer', right click on the
supertuxkartproject and select "Set as StartUp project" - Open the 'Build' menu and select 'Build Solution'; or, press the default keyboard shortcut:
CTRL + SHIFT + Bto build the solution.
Note: To avoid confusion between releases and versions, refer to this table:
| Visual Studio Release | Version |
|---|---|
| Visual Studio 2017 | 15 |
| Visual Studio 2015 | 14 |
| Visual Studio 2013 | 13 |
Building SuperTuxKart on Windows (from PowerShell/Command line)
-
Download and install Visual Studio from here: Visual Studio - Download, the free Visual Studio Community edition works fine.
-
Download a source package from either SuperTuxKart 0.9.2 download area - SourceForge.net or SuperTuxKart.net - Source Control NOTE: the
stk-codeandstk-assetsdirectories must be in the same directory -
Download the Windows dependencies package from either SuperTuxKart download area - SourceForge.net or SuperTuxKart on GitHub - Dependencies and unpack the archive; once unpacked, copy the
dependenciesdirectory from either thewindowsor thewindows_64bitdirectories into thestk-codedirectory -
Download CMake from here: CMake - download page; and install it. Navigate to the
stk-codedirectory; and create an directory called "build":
mkdir build
cd build
- Once inside the build directory; run CMake to start the compilation process:
cmake ..
- Now that CMake finished configuring and creating the necessary files for the build, run the build command in the same directory:
msbuild.exe SuperTuxKart.sln
SuperTuxKart can now be run as bin\Debug\supertuxkart.exe or bin\Release\supertuxkart.exe
Building SuperTuxKart on macOS
Getting Started
Install the developer tools, either from the OS X Install DVD or from Apple's website.
If you have never built anything before, you have create /usr/local/include/ first:
sudo mkdir -p /usr/local/include/
Symlink the include-folder of OpenGL framework to /usr/local/include/GL (Unix programs have an easier time finding it this way):
sudo ln -s /System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/ /usr/local/include/GL
On OS X 10.9.5, you might need the following workaround:
sudo ln -s `xcrun --show-sdk-path`/usr/include/ /usr/include
sudo ln -s `xcrun --show-sdk-path`/System/Library/Frameworks/OpenGL.framework/Headers/ /usr/local/include/OpenGL
The first link is required in order to find libcurl, the second to find opengl.
Download pre-built dependencies from here and put the frameworks in [hard disk root]/Library/Frameworks
CMake
CMake is used to build STK. At this time CMake will not make a binary that is ready for distribution.
You'll have to run these commands inside your stk-code directory.
Building
With clang:
mkdir cmake_build
cd cmake_build
cmake ..
make
With GCC:
mkdir cmake_build
cd cmake_build
cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc
make
Building on 10.10 with 10.9 compatibility:
cmake .. -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9
Xcode
Place an additional copy of the dependencies into Users/<YOUR_USERNAME>/Library/Frameworks.
Then cd to your cloned stk-code directory and execute the following commands:
mkdir xcode_build && cd xcode_build
cmake .. -GXcode
Use Finder to navigate to your stk-code/xcode_build folder and open the newly generated Xcode project (SuperTuxKart.xcodeproj).
You can then build the project in Xcode using Product -> Build
Note: Xcode is much less well tested than makefiles, so there may be issues when trying to use Xcode.