The code base of supertuxkart

Overview

SuperTuxKart

Linux build status Apple build status Windows build status Switch build status #supertuxkart on the libera IRC network

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.

Latest release binaries can be found here, and preview release here.

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 470 GTX, AMD Radeon 6870 HD series card or Intel HD Graphics 4000 and newer. OpenGL >= 3.3
  • You should have a dual-core CPU that's running at 1 GHz or faster.
  • You'll need at least 512 MB of free VRAM (video memory).
  • System memory: 1 GB
  • Minimum disk space: 700 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.


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

Building instructions can be found in INSTALL.md

Comments
  • Refactoring of OpenGL code

    Refactoring of OpenGL code

    Our new OpenGL is in a horrible state: I've found memory leaks, global variables (sometimes declared in the middle of different functions in one file), hardly anything follows our coding style, hardly any OO is used, and for example irr_driver (originally a thin interface between STK and irrlicht) is still O, but it is now a 'god object' anti-pattern with implementations in at least 5 different files(!), and over 7000 lines of code.

    Ideally our graphics rendering engine would be combined into a stand-alone (irrlicht based) library, but the amount of effort is probably huge (e.g. just designing a proper API to allow our new functionality to be used might not be easy). More realistic would be do just to small refactoring steps. Split big objects into smaller units, convert functions to be part of objects.

    As an example, I have already done some work on the shaders (previously one shader was distributed across three files: one for declaration, one for implementation, and one for usage - now all shaders are declared, implemented and used in one file (except for a few shared shaders).

    Also there is hardly any documentation for the system.

    P3: normal R: fixed C:Graphics 
    opened by hiker 123
  • launchpad ppa didn't move to git

    launchpad ppa didn't move to git

    The launchpad daily ppa (https://launchpad.net/~stk/+archive/ubuntu/daily) is still using svn and therefore doesn't create new builds - The latest is 32 weeks old. It also doesn't contain builds for the new ubuntu releases.

    opened by konstin 56
  • There is something wrong with normal maps

    There is something wrong with normal maps

    I did some test of normal map on simple objects and the results are strange. When you enable normal maps it looks like part where you have the UV seams are set to hard.

    Here is an example, same mesh, same parameters with/without normal map enabled uv_nor_on

    And without normal map uv_nor_off

    At first I thought there was something wrong with the mesh, but after looking in blender, the mesh is displayed without any issues uv_nor_blender

    P2: major 
    opened by samuncle 43
  • Intel 5200 HD issue on Cocoa Temple

    Intel 5200 HD issue on Cocoa Temple

    First up before the rants about Intel graphics, ya they used to suck, but this fifth gen Intel Graphics is pretty decent! No seriously, it's true. See details below...

    The actual issue I'm seeing, Cocoa Temple seems to be causing issues at certain points, even at 1366x768 and graphics level 1. I can drive along averaging 80 FPS, then in the section with the spinning gear in the middle of the track or when crossing a wooden bridge it drops to as low as 20 FPS and really stutters.

    System Specs: Dell XPS 13 (2015) Intel i5-5200u Intel HD5500 (using latest OEM drivers, unfortunately must use those I believe) Windows 8.1

    And per this review this graphics card can play Grid 2 at the same resolution 44FPS so I'm thinking something is up! And also otherwise I've played the initial few tracks on STK 0.9 at graphics Level 3, with no issues, and easily 50FPS.

    Please let me know if I can provide any more info! Thank you!!

    R: fixed 
    opened by onetrev 43
  • Is it a good idea to render with freetype?

    Is it a good idea to render with freetype?

    Hi!

    I recently updated the chinese translations (both version), I want to test so I tried to regenerate the fonts, unfortunately some problems come out.

    The font tool doesn't work on linux,it can't auto remove unneeded chars (chinese for example), but it's easy to fix. But the generated fonts are too large (~10 pics), I tried to load but Korean was display corruptly, why can't stk just load specific lang xml file? I see some related code comment out in scalable_font.cpp.

    *Note, I don't know if it's a problem with my linux font tool.

    Anyway, instead of using font png, I tried something more ambitious -- try using libfreetype instead.

    Some advantages gained is that it enables better font display with cyrillic like #2121, or even font selection support(does stk need?), if not too useless typing wildchar in stk input prompt support too.

    Also no more font addition is needed for each translation update when the code is ready.

    Do devs from stk like this idea? I can do further work on it if you like.

    opened by Benau 40
  • Wayland support

    Wayland support

    In near future (perhaps 1-2 years) main linux distributions (Ubuntu and Fedora) probably will use Wayland/Mir by default instead of X11. With Gnome 3.12 you can alredy run experimental Wayland session. Gnome 3.14 which will be released in autumn should have probably stable Wayland support. Even Nvidia works on support Wayland in their drivers.

    I don't know if irrlicht developers have plans for support Wayland and Mir. I'm also not sure if we should wait for them or try to implement it. We have now a bit modified irrlicht version... Will we synchronise it with upstream irrlicht in future at all?

    If currently a lot of work is done in pure OpenGL, maybe switch to SDL2 would be good idea? It already supports Wayland, Mir, Android and others. It seems to be better in handling window, keyboard input etc. than Irrlicht.

    opened by deveee 40
  • Improving some nitro and item placements

    Improving some nitro and item placements

    The standard replays often make use the current nitro placements, so for tracks where nitro is changed, the replay will have to be redone if he make use of the changed nitro.

    The following tracks exhibit item placements to improve :

    • [x] Northern Resort : I suggest moving the 2nd big nitro can to the outer edge of the curve instead of the inner edge. A big nitro can is a significant advantage and can justify taking a slightly longer trajectory. Having it in the fastest trajectory makes it too powerful, and gives too much of a penalty to a player unable to get the big nitro can because it has not yet respawned.
    • [x] Volcano Island : Change the big nitro can right at the end (or the start from reverse) to a small nitro can. This small/big/small pattern is unusual, the big nitro in the middle is not hard to catch, and it gives too much of an advantage for the player getting it first and denying it to a player chasing behind. Also, a few well placed bananas (no wall, but enough to sometimes catch careless players) would spice it up.
    • [x] Zen Garden : it should have much less item boxes inside the tunnel, and the very first item box after the start should be removed too.
    • [x] Fort Magma : some nitro cans are uncatchable without crashing or losing time
    • [x] Oliver's math class : remove the third serie of item boxes after the small fork in the road to avoid having too much item boxes.
    • [x] Minigolf : remove the line of item boxes just after the starting line. It is too close to the start and there is already many boxes before and after the tunnel
    • [x] Lighthouse : Remove the innermost two item boxes in the curve following the two item box on the left/two nitro on the right arrangement, leaving a choice : worse trajectory and item, or no item.
    • [x] Black Forest : ~~I will write details when @MTres19 will have finished his work and the track is integrated. Assuming the abuse of bananas has already been fixed, it's about some nitro cans tweaks.~~ The track mostly suffers from some suboptimal nitro placements. Here are the changes I'd like : 1)Move the first serie of item boxes slightly farther from the start, halfway between the current position and the bridge. 2)In the first left main path, there is item box/nitro/item box to the left and banana to the right. It is quite easy to get nitro and 2nd item box together. Placements should be rearranged to avoid this. 3)On the main path after the section near the railroad, there is a single big nitro can in the middle of the road. Remove it altogether. 4)On the second main left path (around the monastery hill), there is three small nitro cans across the road, but put in a way that a player can take 2 or 3 of them. Change their position so only one can be taken. 5) On the first right main path, there is two nitros/item box/two nitros. Use a single small nitro can instead of the doubled version, nitro/box/nitro. 6) Also on the first right main path, there is an empty dead tree with 2 big nitro cans and an item box. Replace the second big nitro can by a small nitro can.
    • [x] Candela City : place the big nitro can soon after the start more to the left (same distance to the banana as current version, but more behind it) and add an alternative small nitro can to the right. Replace the second big nitro can by a small one.
    • [x] Green Valley : replace the 2nd big nitro can (the one closest to the end of the track) by 3 small nitro cans disposed so that a player can only get one.
    • [x] Hacienda : the first serie of item boxes is very close to the start, too close. I would remove it and do a few related adjustements. In the building, replace the lone item box by two. In the canyon, put the first two item boxes a bit earlier, replace the second group of item boxes by two small nitro cans on the inner side of the curve and a big nitro on the outer, while replacing the nitro close to the end by item boxes.
    • [x] Old Mine : remove the nitro close to the end that can't be taken without losing time even in easy
    • [x] STK Enterprise : This track has an overload of item and nitro. I'd remove : 1) The nitro between the two close bananas (after the road has been split and reunited) ; 2)In the area following the tight curve with three small nitro cans, I'd remove two of the four nitro cans (one on each side) and the first two item boxes (keep the box/banana/box). 3) At the end of this section I'd remove the two small nitro cans left of the banana. 4)Remove the two small nitro can before the zipper jump pad.
    • [x] Northern Resort bis : the first nitro and item box (in reverse) are quite close to the starting line and the player first on the start line is guaranteed to get them if he accelerate properly. There is already more than enough boxes and nitro in the track, so remove those.
    T: enhancement P3: normal R: fixed C: 3D Modelling 
    opened by Alayan-stk-2 37
  • Countdown timer appearing on timeless challenge

    Countdown timer appearing on timeless challenge

    naamloos this one is inposible to win on all dificultys

    on easy the clock runs out just when i start the second lap

    and on hard i get past halfway the second lap

    and on normal its inbetween the above

    and im playing very good becouse the ai karts are very far away

    naamloos this one is to hard to win on normal and hard,

    i just need 10 seconds more to win (keep in mind that im playing extremly well and if i keep trying i will probably get there but for kids this wuld be inposible to win)

    im still playing the storymode so i will probably find more inpisible levels

    opened by tobyplowy 37
  • Kart not visible

    Kart not visible

    Device: Samsung Galaxy Tab 8.4 Pro Android version: 4.4.2 (stock) Resolution: 2560:1600

    Tried all of the "Graphical Effect Levels" with the same result. Wheels are visible and some kart add-ons, but not the kart itself. Check the screenshot. screenshot_2017-11-22-09-35-23 screenshot_2017-11-22-09-54-04

    opened by ghost 35
  • Add

    Add "Volcan Island" track

    It would be nice to have the "Volcan Island" track as an official track, as it is very high quality, and many people probably do not go into the addons section and try different tracks looking for good ones.

    opened by qwertychouskie 35
  • Career Mode

    Career Mode

    Author: auria

    replace the trophy room with a career mode; the trophy room is indeed not very cool. Furthermore, a career mode could be per-user and feature several levels of difficulty

    T: enhancement P2: major R: fixed 
    opened by supertuxkart-sourceforge-migration 34
  • Multi-monitor setup doesn't allow resolutions for non-primary screens

    Multi-monitor setup doesn't allow resolutions for non-primary screens

    Description

    If STK is started on a system with 2 monitors, there are no resolutions available for the secondary monitor. It is not possible to run STK in full-screen mode on the secondary monitor.

    Steps to reproduce

    1. You need 2 (or more) monitors with different resolutions.
    2. The best is to turn the primary monitor 90 degrees to have a portrait format (e.g. 1200x1920 - yes, upright !!!).
    3. The second monitor then with a normal landscape format (1920x1200).
    4. Run STK.
    5. STK allows you to set almost only portrait resolutions: 1024x1280, 1050x1680, 1080x1920, 1020x1600, 1200x1920
    6. The only landscape resolutions are 1280x720 and 1024x768 but "1280x720" fails when applying. So the only landscape resolution that can be used is 1024x768.

    Desired behavior

    1. STK should list possible resolutions for the non-primary monitors as well (up to 1920x1200).
    2. The target monitor for full-screen mode should be configurable in the options.

    Configuration

    • STK release version: 1.3
    • STK Source: official binary
    • System: Windows 10
    • Graphics card: NVIDIA GeForce GTX 1050
    • CPU: Intel Core i7-8700
    • primary monitor resolution: 1200x1920
    • secondary monitor resolution: 1920x1200
    opened by ondrejpokorny 0
  • Server List should display Human and CPU players separately

    Server List should display Human and CPU players separately

    For example it should show something like 0/13 + 2🤖 or so if there is nobody in Frankfurt 0 or 1 rather than 2/15... And the sorting should ignore CPUs.

    opened by Fouks0 3
  • Revert

    Revert "Fix build when SDL2 is built with DirectFB support"

    The upstream bug that required this will be fixed in a future SDL release, so marking as a draft until that happens.

    See https://github.com/libsdl-org/SDL/pull/6084

    This reverts commit f5d4475efc1a54400a8e75710317f5de1b1a68b5.

    Agreement

    By creating a pull request in stk-code, you hereby agree to dual-license your contribution as
    GNU General Public License version 3 or any later version and
    Mozilla Public License version 2 or any later version.
    
    This includes your previous contribution(s) under the same name of contributor.
    
    Keep the above statement in the pull request comment for agreement.
    
    
    opened by Newbytee 0
  • Bad track count in GP

    Bad track count in GP

    Description

    When playing in GP with friend, we notice that the displayed number of track is wrong. See for example the screenshot at the end of a GP with 5 tracks. In fact during playing, the counter is always of at the end of each track. Additionally on the screenshot the last played track (Old Mine) is shown as the 4th, even if it was the last of a 5-track GP. image

    Configuration

    I'm using : STK 1.2 : Debian 11 from apt Friends are using various setup : STK 1.3 : Windows 11, from exe STK 1.3 : Windows 11, from zip STK 1.3 : Ubuntu 20.04, from apt STK 1.3 : Ubuntu 22.04, from apt

    Every one running similar laptop, everyone have seen the bug, afaik.

    GP was setup using a LAN server, on my laptop, using supertuxkart --lan-server=server --network-gp=5 --mode=0 --difficulty=3, with reverse grid setup in the configuration file.

    opened by ShuffleWire 0
  • STK doesn't check for game controller until the options page is opened.

    STK doesn't check for game controller until the options page is opened.

    Description

    I am using the git version. Linux Mint 20.3 Cinnamon. Asus x415 laptop with 20GB RAM and 500GB ssd. Every time I start STK, I have to use the mouse or Keyboard to open the options page. Once the options page is displayed, my wireless, usb ps3 controller will work, until I get on the options page, STK doesn't recognize it. Everything is fine until I quit the game and restart it. Then I have to open the options screen again.

    Steps to reproduce

    I cloned the git files and compiled and installed from source. Not sure how to determine version. Git was cloned on 8/8/2022. When using a wireless usb ps3 controller, everything seems to work after setting up the controller. Gameplay is good. When I quit the game, and then restart the game, only the keyboard and mouse are detected until I press the options wrench. as soon as I am on the options screen, the ps3 controller works as it is supposed to. Is there a setting I need to change for the game to auto discover the controller without having to click on the options button? The previous version of STK, from the repository worked properly in this regard. However I could not connect to the STK servers with that version, thus the GIT clone, build and install from source route for the latest version.

    Configuration

    STK release version: Git version

    STK Source (PPA, distribution package, official binary, etc.): Git Clone from STK on github (downloaded on 8/8/2022)

    System: linux mint 20.3 cinnamon Running on Asus X415 with 20GB Ram, 500GB ssd Graphics card: Intel UHD

    CPU: Intel core i3 Gamepads/keyboards models if related to the issue: Afterglow PS3 usb wireless controller

    Additional information

    stdout.log:

    [info   ] [FileManager]: Data files will be fetched from: '/usr/local/share/supertuxkart/data/'
    [info   ] [FileManager]: User directory is '/home/daniel/.config/supertuxkart/config-0.10/'.
    [info   ] [FileManager]: Addons files will be stored in '/home/daniel/.local/share/supertuxkart/addons/'.
    [info   ] [FileManager]: Screenshots will be stored in '/home/daniel/.local/share/supertuxkart/screenshots/'.
    [info   ] [FileManager]: User-defined grand prix will be stored in '/home/daniel/.local/share/supertuxkart/grandprix/'.
    [info   ] [FileManager]: Asset 0 will be loaded from '/usr/local/share/supertuxkart/data/challenges/'.
    [info   ] [FileManager]: Asset 1 will be loaded from '/usr/local/share/supertuxkart/data/gfx/'.
    [info   ] [FileManager]: Asset 2 will be loaded from '/usr/local/share/supertuxkart/data/grandprix/'.
    [info   ] [FileManager]: Asset 3 will be loaded from '/usr/local/share/supertuxkart/data/gui/icons/'.
    [info   ] [FileManager]: Asset 4 will be loaded from '/usr/local/share/supertuxkart/data/gui/screens/'.
    [info   ] [FileManager]: Asset 5 will be loaded from '/usr/local/share/supertuxkart/data/gui/dialogs/'.
    [info   ] [FileManager]: Asset 6 will be loaded from '/usr/local/share/supertuxkart/data/replay/'.
    [info   ] [FileManager]: Asset 7 will be loaded from '/usr/local/share/supertuxkart/data/shaders/'.
    [info   ] [FileManager]: Asset 8 will be loaded from '/usr/local/share/supertuxkart/data/skins/'.
    [info   ] [FileManager]: Asset 9 will be loaded from '/usr/local/share/supertuxkart/data/ttf/'.
    [info   ] [FileManager]: Asset 10 will be loaded from '/usr/local/share/supertuxkart/data/po/'.
    [info   ] [FileManager]: Asset 11 will be loaded from '/usr/local/share/supertuxkart/data/library/'.
    [info   ] [FileManager]: Asset 12 will be loaded from '/usr/local/share/supertuxkart/data/models/'.
    [info   ] [FileManager]: Asset 13 will be loaded from '/usr/local/share/supertuxkart/data/music/'.
    [info   ] [FileManager]: Asset 14 will be loaded from '/usr/local/share/supertuxkart/data/sfx/'.
    [info   ] [FileManager]: Asset 15 will be loaded from '/usr/local/share/supertuxkart/data/textures/'.
    [info   ] [FileManager]: Asset 16 will be loaded from '/usr/local/share/supertuxkart/data/tracks/'.
    [verbose  ] translation: Env var LANGUAGE = 'en_US'.
    [verbose  ] translation: Language 'English (United States)'.
    [info   ] [IrrDriver Logger]: ..:: Antarctica Rendering Engine 2.0 ::..
    [info   ] [IrrDriver Logger]: SDL Version 2.0.10
    [info   ] [IrrDriver Logger]: Using renderer: OpenGL 4.6
    [info   ] [IrrDriver Logger]: Mesa Intel(R) UHD Graphics (TGL GT2): Intel
    [info   ] [IrrDriver Logger]: OpenGL driver version is 1.2 or better.
    [info   ] [IrrDriver Logger]: GLSL version: 4.6
    [info   ] IrrDriver: OpenGL version: 4.6
    [info   ] IrrDriver: OpenGL vendor: Intel
    [info   ] IrrDriver: OpenGL renderer: Mesa Intel(R) UHD Graphics (TGL GT2)
    [info   ] IrrDriver: OpenGL version string: 4.6 (Core Profile) Mesa 21.2.6
    [info   ] GLDriver: ARB Buffer Storage Present
    [info   ] GLDriver: ARB Compute Shader Present
    [info   ] GLDriver: ARB Arrays of Arrays Present
    [info   ] GLDriver: ARB Texture Storage Present
    [info   ] GLDriver: ARB Texture View Present
    [info   ] GLDriver: ARB Image Load Store Present
    [info   ] GLDriver: ARB Shader Atomic Counters Present
    [info   ] GLDriver: ARB Shader Storage Buffer Object Present
    [info   ] GLDriver: EXT Texture Compression S3TC Present
    [info   ] GLDriver: ARB Uniform Buffer Object Present
    [info   ] GLDriver: ARB Explicit Attrib Location Present
    [info   ] GLDriver: EXT Texture Filter Anisotropic Present
    [info   ] GLDriver: Geometry Shaders Present
    [info   ] GLDriver: ARB Texture Buffer Object Present
    [info   ] GLDriver: ARB Texture Swizzle Present
    [info   ] GLDriver: ARB Pixel Buffer Object Present
    [info   ] GLDriver: ARB Sampler Objects Present
    [info   ] GLDriver: ARB Vertex Type 2_10_10_10_rev Present
    [info   ] GLDriver: ARB Instanced Arrays Present
    [info   ] SharedGPUObjects: Hardware Skinning enabled, method: TBO, max bones: 1024
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/screenquad.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/motion_blur.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/lightning.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/primitive2dlist.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/transparent.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/texturedquad.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/uniformcolortexturedquad.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/texturedquad.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/coloredquad.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/coloredquad.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/colortexturedquad.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/colortexturedquad.frag
    [info   ] irr_driver: GLSL supported.
    [info   ] GUI: Loading skin data from file: /usr/local/share/supertuxkart/data/skins/peach/stkskin.xml
    [info   ] SDLController: Generic X-Box pad plugged in: buttons: 11, axes: 6, hats: 1.
    [info   ] SDLController: Generic X-Box pad uses game controller mapping XInput Controller.
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_pass.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_solid.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_shadow.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/white.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_skinning.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_skinning_shadow.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_normal_map.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_alpha_test.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_shadow_alpha_test.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_decal.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_grass_pass.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_grass.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_grass_shadow.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_unlit.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_transparent.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_ghost.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_dynamic_night_bloom.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_tilling_mitigation.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_vertical_mapping.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_road_blending.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_displace.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/colorize.frag
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_normal_visualizer.vert
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_normal_visualizer.geom
    [info   ] ShaderFilesManager: Compiling shader: /usr/local/share/supertuxkart/data/shaders/sp_normal_visualizer.frag
    [info   ] HTTPRequest: Sending userid=376970&token=************************ to https://online.supertuxkart.net/api/v2/user/saved-session/
    [info   ] HTTPRequest: Downloading https://online.supertuxkart.net/dl/xml/online_news.xml
    [info   ] GrandPrixManager: Loading Grand Prix files from /usr/local/share/supertuxkart/data/grandprix/
    [info   ] GrandPrixManager: Loading Grand Prix files from /home/daniel/.local/share/supertuxkart/grandprix/
    [warn   ] SPMeshBuffer: kartDirt shader is missing, fallback to solid
    [warn   ] SPMeshBuffer: kartDirt shader is missing, fallback to solid
    [warn   ] SPMeshBuffer: kartDirt shader is missing, fallback to solid
    [warn   ] SPMeshBuffer: kartDirt shader is missing, fallback to solid
    [warn   ] SPMeshBuffer: kartDirt shader is missing, fallback to solid
    [info   ] Achievements: Synching achievement 2,5,7,9 to server.
    [info   ] HTTPRequest: Sending userid=376970&token=************************&achievementid=2%2C5%2C7%2C9 to https://online.supertuxkart.net/api/v2/user/achieving/
    [info   ] addons: Using cached addons.xml.
    [info   ] HTTPRequest: Sending userid=376970&token=************************&visitingid=376970 to https://online.supertuxkart.net/api/v2/user/get-friends-list/
    [info   ] HTTPRequest: Sending userid=376970&token=************************ to https://online.supertuxkart.net/api/v2/user/poll/
    [info   ] SDLController: Generic X-Box pad unplugged.
    [info   ] HTTPRequest: Sending userid=376970&token=************************ to https://online.supertuxkart.net/api/v2/user/client-quit/
    [verbose  ] Thread: Start waiting 2249143.385000
    [verbose  ] Thread: Waited 0.010000 seconds for thread to become deleteable.
    [verbose  ] Thread: Stop waiting 2249143.396000
    [verbose  ] Thread: Start waiting 2249143.404000
    [verbose  ] Thread: Waited 0.263000 seconds for thread to become deleteable.
    [verbose  ] Thread: Stop waiting 2249143.667000
    [info   ] Singleton: Destroyed singleton.
    [info   ] Singleton: Destroyed singleton.
    [info   ] Singleton: Destroyed singleton.
    [info   ] Singleton: Destroyed singleton.
    [info   ] Singleton: Destroyed singleton.
    [info   ] Singleton: Destroyed singleton.
    [info   ] Singleton: Destroyed singleton.
    [info   ] Singleton: Destroyed singleton.
    [info   ] Singleton: Destroyed singleton.
    [info   ] Singleton: Destroyed singleton.
    

    input.xml:

    <input version="1">
    
    <!--
    Event 1 : Keyboard button press
        'id' indicates which button, as defined by irrlicht's EKEY_CODE enum
    Event 2 : Gamepad stick motion
        'id' indicates which stick, starting from 0
        'direction' 0 means negative, 1 means positive
    Event 3 : Gamepad button press
        'id' indicates which button, starting from 0
    -->
    
    <keyboard enabled="true" configName="">
         <action name="steerLeft" event="1" id="37" />
        <action name="steerRight" event="1" id="39" />
        <action name="accel" event="1" id="38" />
        <action name="brake" event="1" id="40" />
        <action name="nitro" event="1" id="78" />
        <action name="drift" event="1" id="86" />
        <action name="rescue" event="1" id="8" />
        <action name="fire" event="1" id="32" />
        <action name="lookBack" event="1" id="66" />
        <action name="pauserace" event="1" id="27" />
        <action name="menuUp" event="1" id="38" />
        <action name="menuDown" event="1" id="40" />
        <action name="menuLeft" event="1" id="37" />
        <action name="menuRight" event="1" id="39" />
        <action name="menuSelect" event="1" id="13" />
        <action name="menuCancel" event="1" id="27" />
    </keyboard>
    
    <gamepad name ="Generic X-Box pad" deadzone="4096" desensitize="0" auto-center="20" force-feedback="1" enabled="true" configName="">
         <action name="steerLeft" event="2" id="0" direction="0" range="0" />
        <action name="steerRight" event="2" id="0" direction="1" range="0" />
        <action name="accel" event="2" id="2" direction="1" range="1" />
        <action name="brake" event="3" id="4" />
        <action name="nitro" event="3" id="3" />
        <action name="drift" event="3" id="5" />
        <action name="rescue" event="3" id="6" />
        <action name="fire" event="2" id="5" direction="1" range="1" />
        <action name="lookBack" event="3" id="2" />
        <action name="pauserace" event="3" id="7" />
        <action name="menuUp" event="2" id="1" direction="0" range="0" />
        <action name="menuDown" event="2" id="1" direction="1" range="0" />
        <action name="menuLeft" event="2" id="0" direction="0" range="0" />
        <action name="menuRight" event="2" id="0" direction="1" range="0" />
        <action name="menuSelect" event="3" id="0" />
        <action name="menuCancel" event="3" id="3" />
    </gamepad>
    
    </input>
    

    Error message:

    not applicable
    
    opened by DaniAngel 6
Releases(1.4)
Owner
SuperTuxKart
SuperTuxKart
Base projects for Devpass' Dev Sprints

Foundations Backend Challenge In this challenge, we're going to develop features for a Backend application where we'll apply backend development funda

Devpass 4 Aug 18, 2022
Base projects for Devpass' Dev Sprints

CI Challenge - Android ✅ Learn to create and configure Continuous Integration (CI) environments. Develop CI pipelines and integrations with tools like

Devpass 2 Aug 30, 2022
Advent of Code 2021 in Kotlin, solved by myself. Focus on code readability. With GitHub Actions all puzzles are executed and their solutions printed

Advent of Code 2021 in Kotlin Focus on Code Readability. With CI Solution Printing. Welcome to the Advent of Code1 Kotlin project created by michaeltr

Michael Troger 1 Dec 12, 2021
Repository with source code from http://rosettacode.org/wiki/Category:Kotlin

Rosetta Code Kotlin This is a repository with the Kotlin source code from RosettaCode wiki. The main motivation for extracting all the code into a rep

Dmitry Kandalov 20 Dec 27, 2022
Copilot: Copy & Paste Code

copilot Template ToDo list Create a new IntelliJ Platform Plugin Template project. Verify the pluginGroup, plugin ID and sources package. Review the L

null 4 Nov 5, 2021
Plugin and Desktop app for parsing layout xml into Composable code

composed-xml Inspired by - Recompose composed-xml is a tool for parsing Android layouts into Jetpack Compose code. It can work as both Desktop app or

Bacho Kurtanidze 9 Dec 26, 2022
Simple and extendable code highlighter in Kotlin Multiplatform

Kighlighter Simple and extendable code highlighter in Kotlin Multiplatform with a composable output to display the code highlighted on Android and Des

Gérard Paligot 21 Dec 2, 2022
Used to generate the template code of GetX framework

Language: English | 中文简体 statement some fast code snippet prompt come from getx-snippets-intelliJ Description install Plugin effect Take a look at the

小呆呆666 242 Dec 30, 2022
This folder contains the source code for the Words app codelab.

Words App This folder contains the source code for the Words app codelab. Introduction Words app allows you to select a letter and use Intents to navi

Ibrahim Alfaifi 0 Nov 8, 2021
A collection of code generators powered by ksp.

AutoKsp A collection of code generators powered by ksp. status: working in progress Projects AutoGradlePlugin - Generate gradle plugin properties file

shenghaiyang 0 Nov 8, 2021
Starter code for PropertyAnimation codelab

PropertyAnimation - Final Code Starter code for PropertyAnimation codelab Introduction PropertyAnimation is an app that shows various types of propert

null 0 Nov 14, 2021
Code for the Advanced Android Kotlin Testing Codelab 5.1-5.3

TO-DO Notes - Code for 5.1-5.3 Testing Codelab Code for the Advanced Android Kotlin Testing Codelab 5.1-5.3 Introduction TO-DO Notes is an app where y

Jorge M 1 Jun 7, 2022
Share MPS code snippets. More than just screenshots.

skadi gist Share MPS code snippets. More than just screenshots. Repository Content ide-plugin: MPS Plugin that creates a gist from the IDE written in

Skadi 6 Jan 8, 2023
This folder contains the source code for the Words app codelab.

Choose the letter, choose the word from a list then press it to google search for it. Ps. Learnt from Android-Basics-Kotlin powered by Google.

null 0 Nov 14, 2021
The source code for the Words app codelab

Words App This folder contains the source code for the Words app codelab. Introduction Words app allows you to select a letter and use Intents to navi

null 0 Nov 15, 2021
Starter code for Android Basics codelab - Store the data in a ViewModel

Unscramble App =================================== Starter code for Android Basics codelab - Store the data in a ViewModel Unscramble is a single pla

Исмоил 0 Nov 19, 2021
The source code of the MVVM Caching Course

MVVM Caching Course This is the source code of the MVVM Caching Course created by Florian Walther (Coding in Flow) and Gabor Varadi (Zhuinden/EpicPand

Coding in Flow 199 Dec 26, 2022
This folder contains the source code for the Words app codelab.

Words App This folder contains the source code for the Words app codelab. Introduction Words app allows you to select a letter and use Intents to navi

Bruna Medeiros dos Santos 0 Nov 25, 2021