SuperTuxKart Directory Structure

From Frankfurt STK Wiki
Jump to navigation Jump to search

This page documents SuperTuxKart's directory structure, as well as their purpose.

Structure

Core Files

  • data - Contains core assets. Usually stored in /usr/share/supertuxkart, but it depends on the distro/package formats.
    • challenges - Stores story mode challenges. It contains files in the .challenge format, which is XML based.
    • gamerzilla - Something related to the Gamerzilla service?
    • gfx - Particle effects.
    • grandprix - Stores Grand Prix files.
    • gui - GUI assets and layouts.
      • dialogs - Contains GUI layout files for dialogs (like pause screen, addon information, etc.)
      • screens - Contains GUI layout files for screens (main menu, server screen, etc.)
      • icons - All icons used in STK.
    • karts - Built-in karts
    • library - Library Nodes (used for tracks)
    • models - Models used in the core game. Such as giftboxes, bananas, etc.
    • music - Contains music files and music information.
    • po - Translation files (in gettext). It is possible to change the strings of those files to create a custom language, such as mimiz's special edition, where all strings were Google Translated multiple times.
    • replay - Contains built-in replays.
    • sfx - Sound Effects.
    • shaders - Graphics Shaders (GLSL). Modifying them could break STK graphics or worse make the game not launch anymore.
    • skins - Built-in skins.
    • textures - Textures used in tracks/karts.
      • skybox - Contains textures for the skybox.
      • deprecated - Stores deprecated textures. They're kept for compatibility reasons.
    • tracks - Contains tracks, arenas, and even internal cutscenes and worlds.
    • ttf - Stores TrueType fonts.
    • achievements.xml - List of achievements.
    • cacert.pem - CA Certificates used for cryptography/SSL.
    • country_names.tsv - Table comtaining country names in multiple languages.
    • CREDITS - Credits. Also used for the credits screen.
    • emoji_used.txt - Emojis that are used in the emoji picker. Each line can be modified to be something else, such as a command.
    • graphical_restrictions.xml - Used to determine what aspects of graphics should be disabled depending on device and drivers.
    • items.xml - List of collectibles (nitro, giftbox, etc.)
    • localized_name.tsv - Language names.
    • official_karts.xml - Determines official karts.
    • optimize_data.sh - Some script used in the development process that is somehow included.
    • powerup.xml - Powerup loot table.
    • stk_config.xml - Core SuperTuxKart configuration. Not to be confused with config.xml
    • supertuxkart_xxx.jpg - STK Icon in different sizes.
    • SuperTuxKart-Info-iOS.plist - Info about STK for iOS
    • SuperTuxKart-Info.plist - same purpose.
    • supertuxkart.appdata.xml - According to Benau it's used for Flathub.
    • supertuxkart.desktop - Desktop Entry for STK
    • supertuxkart.<version> - Used to find the data directory.
    • tips.xml - Tips that show up in loading screen, as well as if the player loses.

TODO: Complete this