SuperTuxKart
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12345]
 NcomputeGPRanksDataThis class is only used in computeGPRanks, but the C++ standard forbids the usage of local data type in templates, so we have to declare it outside of the function
 NGraphicsRestrictions
 NGUIEngineContains all GUI engine related classes and functions
 NHardwareStats
 Nirr
 NMessageQueue
 NOnline
 NScripting
 NShaders
 NSP
 NStringUtils
 NTextBillboardDrawer
 Ntinygettext
 CAbortWorldUpdateException
 CAbstractCharacteristicCharacteristics are the properties of a kart that influence gameplay mechanics
 CAbstractKartAn abstract interface for the actual karts
 CAbstractKartAnimationThe base class for all kart animation, like rescue, explosion, or cannon
 CAbstractRendererVirtual base class for the renderer
 CAbstractSingletonManages the abstract singleton at runtime. This has been designed to allow multi-inheritance. This is advised to re-declare getInstance, but whithout templates parameters in the inheriting classes
 CAchievement
 CAchievementInfoThis is the base class for storing the definition of an achievement, e.g
 CAchievementsManagerThis class manages the list of all achievements
 CAchievementsStatusThis class keeps tracks of all achievements of one player
 CAddDeviceDialogDialog that warns the user about the potential problems of creating multiple keyboard configs
 CAddon
 CAddonsLoading
 CAddonsManager
 CAddonsScreenAddons screen
 CAIBaseControllerA base class for all AI karts
 CAIBaseLapControllerA base class for all AI karts
 CAIPropertiesA simple class that stores all AI related properties
 CAlphaTestParticleRendererA Shader to render alpha-test particles
 CAmbientLightSphereThis class implements a check sphere that is used to change the ambient light if a kart is inside this sphere
 CAnimatedProperty
 CAnimationBaseA base class for all animations
 CArenaAIA base class for AI that use navmesh to work
 CArenaGraphA graph made from navmesh
 CArenaNode
 CArenaNode3D
 CArenasScreenHandles the screen where a battle arena choice is offered
 CAssetsAndroid
 CAttachmentThis objects is permanently available in a kart and stores information about addons
 CAttachmentManager
 CAttachmentPluginThis is the base class for a plugin into an attachment
 CB3DMeshLoader
 CBareNetworkStringDescribes a chain of 8-bit unsigned integers
 CBaseOnlineProfileAchievementsOnline profiel overview screen
 CBaseUserScreenThe user management screen
 CBattleAIThe actual battle AI
 CBezierCurveA class to manage bezier curves and interpolation
 CBinding
 CBloomBlendShader
 CBloomShader
 CBoldFaceA font which uses regular TTFs to render title or important message in STK with a bold outline, it shares the same FaceTTF with RegularFace
 CBoolUserConfigParam
 CBoundingBox3D
 CBowling
 CbtKartRayCast vehicle, very special constraint that turn a rigidbody into a vehicle
 CbtKartRaycaster
 CbtWheelContactPoint
 CCachedCharacteristic
 CCake
 CCallbackObjectClass that must be inherited to pass objects to protocols
 CCameraThis is the base class for all cameras
 CCameraDebugHandles the debug camera
 CCameraEndHandles the end race camera
 CCameraFPSHandles the game camera
 CCameraNormalHandles the normal racing camera
 CCanBeDeletedA simple class that a adds a function to wait with a timeout for a class to be ready to be deleted
 CCannonAnimationThis animation shoots the kart to a specified point on the track
 CCentralVideoSettings
 CCGUIEditBox
 CChallengeDataDescription of one challenge
 CChallengeStatusThe state of a challenge for one player
 CChangePasswordDialogDialog that allows a user to sign in
 CCheckCannonImplements a simple checkline that will cause a kart to be shot to a specified point
 CCheckCylinderThis class implements a check sphere that is used to change the ambient light if a kart is inside this sphere
 CCheckGoalImplements a simple checkline that will score a point when the soccer ball crosses it
 CCheckLapImplements a simple lap test
 CCheckLineImplements a simple checkline
 CCheckManagerControls all checks structures of a track
 CCheckSphereThis class implements a check sphere that is used to change the ambient light if a kart is inside this sphere
 CCheckStructureVirtual base class for a check structure
 CClientLobby
 CColor
 CColoredRectShader
 CColoredTextureRectShader
 CCombinedCharacteristic
 CCombineDiffuseColor
 CCommandLineA small class to manage the 'argv' parameters of a program
 CComputeGaussian17TapHShader
 CComputeGaussian17TapVShader
 CComputeGaussian6HBlurShader
 CComputeGaussian6VBlurShader
 CComputeShadowBlurHShader
 CComputeShadowBlurVShader
 CConfirmResolutionDialogDialog shown after a resolution switch sot he user may confirm if the resolution works
 CConnectToPeerOne instance of this is started for every peer who tries to connect to this server
 CConnectToServer
 CControllerThis is the base class for kart controller - that can be a player or a a robot
 CCPUParticle
 CCPUParticleManager
 CCreateServerScreenHandles the main menu
 CCreditsEntry
 CCreditsScreenScreen where STK credits are shown
 CCreditsSection
 CCScriptArray
 CCStdStringFactory
 CCustomVideoSettingsDialogDialog that allows the player to select custom video settings
 CCutsceneGUIHandles the overlay for cutscenes
 CCutsceneWorldAn implementation of World, to provide animated 3D cutscenes
 CDateFilter
 CDebugSliderDialogFor internal value tweaking
 CDegradedIBLShader
 CDemoWorldThis class is used to show a demo of STK (e.g
 CDepthOfFieldShader
 CDeviceConfigKey bindings information related to one input device
 CDeviceManagerThis class holds the list of all known devices (ands their configurations), as well as the list of currently plugged (used) devices
 CDigitFaceA font which uses a more cartonish style TTF to render big numbers in STK
 CDrawCalls
 CDriveGraphA graph made from driveline
 CDriveNodeThis class stores a node of the drive graph, i.e
 CDriveNode2D
 CDriveNode3D
 CDummySFXDummy sound when ogg or openal aren't available
 CEasterEggHuntAn implementation of World to provide an easter egg hunt like mode
 CEasterEggScreenScreen where the user can select a track
 CEditGPScreenScreen where the user can edit a grand prix
 CEditTrackScreenScreen where the user can edit the details of a track inside a grand prix
 CEndController
 CEnetHostA small wrapper around enet to allow sending and receiving packages
 CEventClass representing an event that need to pass trough the system. This is used to remove ENet dependency in the network. It interfaces the ENetEvent structure. The user has to be extremely careful about the peer. Indeed, when packets are logged, the state of the peer cannot be stored at all times, and then the user of this class can rely only on the address/port of the peer, and not on values that might change over time
 CEventRewinder
 CExplosion
 CExplosionAnimationThis class is a 'mixin' for kart, and handles the animated explosion
 CFaceTTFThis class will load a list of TTF files from STKConfig, and save them inside m_faces for FontWithFace to load glyph
 CFeatureUnlockedCutSceneScreen shown when a feature has been unlocked
 CFileManagerClass handling files and paths
 CFixedPipelineRenderer
 CFloatUserConfigParam
 CFlyable
 CFocusDispatcher

FocusDispatcher :

 CFollowTheLeaderRaceAn implementation of World, based on LinearWorld, to provide the Follow-the-leader game mode
 CFontManagerThis class stores all font files required in STK
 CFontSettingsThis class stores settings when rendering fonts, used when instantiating irr::gui::ScalableFont
 CFontWithFaceAn abstract class which contains functions which convert vector fonts into bitmap and render them in STK
 CFrameBuffer
 CFrameBufferLayer
 CGameEventsProtocol
 CGamepadConfigSpecialisation of DeviceConfig for gamepad type devices
 CGamePadDeviceSpecialisation of Inputdevice for gamepad type devices
 CGameProtocol
 CGameSetupUsed to store the needed data about the players that join a game. This class stores all the possible information about players in a lobby
 CGaussian17TapHShader
 CGaussian17TapVShader
 CGaussian3HBlurShader
 CGaussian3VBlurShader
 CGaussian6HBlurShader
 CGaussian6VBlurShader
 CGeneralTextFieldDialogA general textfield dialog to do anything based on captured text using callbacks
 CGetPeerAddress
 CGFXPreset
 CGhostControllerA class for Ghost controller
 CGhostKartA ghost kart
 CGhostReplayInfoDialogDialog that allows a user to do action with ghost replay file
 CGhostReplaySelectionGhostReplaySelection
 CGL1RenderTarget
 CGL3RenderTarget
 CGlowData
 CGlowShader
 CGodFadeShader
 CGodRayShader
 CGPInfoScreenDialog that shows information about a specific grand prix
 CGPUTimer
 CGrandPrixCutscene
 CGrandPrixDataSimple class that hold the data relevant to a 'grand_prix', aka
 CGrandPrixEditorScreenScreen where the user can edit his own grand prix
 CGrandPrixLoseScreen shown at the end of a Grand Prix
 CGrandPrixManager
 CGrandPrixWinScreen shown at the end of a Grand Prix
 CGraphThis class stores a graph of quads
 CGroupUserConfigParam
 CHeadlightObjectA class to store the headlights of a kart
 CHelpScreen1Help screen, part 1
 CHelpScreen2Help Screen, part 2
 CHelpScreen3Help screen, part 3
 CHelpScreen4Help screen, part 4
 CHelpScreen5Help screen, part 5
 CHidePublicAddress
 CHighscoreManagerThis class reads and writes the 'highscores.xml' file, and also takes care of dealing with new records
 CHighscoresRepresents one highscore entry, i.e
 CHistory
 CHitEffectA small interface for effects to be used when a kart is hit
 CHitSFX
 CIBLShader
 CinitAttachmentType
 CInput
 CInputDeviceBase class for input devices
 CInputManagerClass to handle input
 CInterpolationArrayThis class manages a set of (x_i,y_i) points, x_i must be sorted
 CIntUserConfigParam
 CIpoA class to manage a single blender IPO curve
 CIrrDebugDrawer
 CIrrDriverClass that creates the irrLicht device and offers higher-level ways to manage the 3D scene
 CISynchronised
 CItem
 CItemManager
 CKartThe main kart class
 CKartColorSliderDialog
 CKartControl
 CKartGFX
 CKartHoverListener

KartHoverListener :

 CKartModelThis class stores a 3D kart model
 CKartMotionStateThis is a very simple motion state implementation for bullet, which does not support any transformation from physics transform to graphics transform
 CKartPropertiesThis class stores the properties of a kart
 CKartPropertiesManager
 CKartRewinder
 CKartSelectionScreenScreen where players can choose their kart
 CKartWithStatsThis class implements a kart that collects statistics about a race, which is used in profiling mode
 CKeyboardConfigSpecialisation of DeviceConfig for keyboard type devices
 CKeyboardDeviceSpecialisation of InputDevice for keyboard type devices
 CLatencyProtocol
 CLayerPassThroughShader
 CLensBlendShader
 CLightBaseClass
 CLightingPasses
 CLightningShader
 CLightNode
 CLinearizeDepthShader
 CLinearWorld
 CListUserConfigParam
 CLobbyProtocolBase class for both client and server lobby. The lobbies are started when a server opens a game, or when a client joins a game. It is used to exchange data about the race settings, like kart selection
 CLocalPlayerControllerPlayerKart manages control events from the player and moves them to the Kart
 CLODNodeManages level-of-detail
 CLog
 CMainLoopManagement class for the whole gameflow, this is where the main-loop is
 CMainMenuScreenHandles the main menu
 CMapUserConfigParam
 CMaterial
 CMaterialManager
 CMaxSpeed
 CMessageDialogGeneric dialog to ask the user to confirm something, or to show a simple message box
 CMLAABlendWeightSHader
 CMLAAColorEdgeDetectionSHader
 CMLAAGatherSHader
 CModelDefinition
 CModelDefinitionLoaderUtility class to load level-of-detail nodes and library nodes
 CMotionBlurShader
 CMoveable
 CMovingTextureHandles animated textures (textures that move)
 CMultitouchButton
 CMultitouchDevice
 CMultitouchEvent
 CMultitouchSettingsDialogDialog that allows the player to adjust multitouch steering settings
 CMusicAbstract interface for classes that can handle music playback
 CMusicDummyDummy object used when ogg vorbis support is not available
 CMusicInformationWrapper around an instance of the Music interface Adds information like composer, song title, etc..
 CMusicManagerCentral place to request for musics to be loaded, played, stopped, etc..
 CMutexLockerHelper
 CMyCGUIEditBox
 CNetwork
 CNetworkConfigThis class is the interface between STK and the online code, particularly STKHost
 CNetworkingLobbyHandles the main menu
 CNetworkKartSelectionScreen
 CNetworkPlayerController
 CNetworkPlayerProfileContains the profile of a player
 CNetworkStringA new implementation of NetworkString, which has a fixed format: Byte 0: The type of the message, which is actually a bit field: bit 7: if set, the message needs to be handled synchronously, otherwise it can be handled by the separate protocol manager thread
 CNewsManager
 CNoCopyUtility class, you can inherit from this class to disallow the assignment operator and copy construction
 COfflineKartSelectionScreen
 COnlineLanScreenOnline profiel overview screen
 COnlineProfileAchievementsOnline profiel overview screen
 COnlineProfileBaseOnline profile base screen
 COnlineProfileFriendsOnline profile overview screen
 COnlineProfileServersOnline profiel overview screen
 COnlineProfileSettingsOnline profiel overview screen
 COnlineScreenHandles the networking main menu
 COnlineUserSearch
 COptionsScreenAudioAudio options screen
 COptionsScreenDeviceInput options screen
 COptionsScreenInputInput options screen
 COptionsScreenUIGraphics options screen
 COptionsScreenVideoGraphics options screen
 COverWorld
 COverworldChallenge
 CParticleEmitterManages smoke particle effects
 CParticleKindType of particles
 CParticleKindManagerHolds and manages a list of all types of particles
 CParticleRendererA Shader to render particles
 CPassThroughShader
 CPerCameraNodeManages smoke particle effects
 CPhysicalObject
 CPhysics
 CPlayerController
 CPlayerManagerA special class that manages all local player accounts
 CPlayerProfileClass for managing player profiles (name, usage frequency, etc.)
 CPlunger
 CPointLightScatterShader
 CPointLightShader
 CPostProcessingHandles post processing, eg motion blur
 CPowerup
 CPowerupManagerThis class manages all powerups
 CPressAKeyDialogDialog shown when editing input bindings and it's time to press a key
 CPrimitive2DList
 CProfilerClass that allows run-time graphical profiling through the use of markers
 CProfileWorldAn implementation of World, used for profiling only
 CProjectileManager
 CPropertyAnimator
 CProtocolAbstract class used to define the global protocol functions
 CProtocolManagerManages the protocols at runtime
 CProtocolRequestRepresents a request to do an action about a protocol, e.g
 CPtrVector
 CQuad
 CRaceConfig
 CRaceEventManagerThis is the interface between the main game and the online implementation
 CRaceGUIHandles the in-race GUI (messages, mini-map, rankings, timer, etc...)
 CRaceGUIBaseAn abstract base class for the two race guis (race_gui and race_result gui)
 CRaceGUIMultitouch
 CRaceGUIOverworldHandles the in-race GUI (messages, mini-map, rankings, timer, etc...)
 CRaceManagerThe race manager has two functions: 1) it stores information about the race the user selected (e.g
 CRacePausedDialogDialog shown when the race is paused
 CRaceResultGUIDisplays the results (while the end animation is shown)
 CRaceSetupScreenScreen with race setup options (difficulty, game mode, etc...)
 CRaceVote
 CRandomGeneratorA random number generator
 CRecoveryDialogDialog that allows a user to recover his account
 CRefereeThis implements the referee, a character that is displayed at the start of the race holding a 'ready-set-go' traffic light (or so)
 CRegisterScreenScreen to register an online account
 CRegistrationDialogDialog that allows a user to register
 CRegularFaceA font which uses regular TTFs to render most text in STK
 CRemoteKartInfo
 CRenderInfo
 CRenderTarget
 CReplayBase
 CReplayPlay
 CReplayRecorder
 CRequestConnection
 CRescueAnimationThis triggers a rescue of the specified kart
 CResolution
 CRewinder
 CRewindInfoUsed to store rewind information for a given time for all rewind instances
 CRewindInfoEvent
 CRewindInfoRewinderA rewind info abstract class that keeps track of a rewinder object, and has a BareNetworkString buffer which is used to store a state or event
 CRewindInfoState
 CRewindManagerThis class manages rewinding
 CRewindQueue
 CRTT
 CRubberBall
 CRubberBandThis class is used together with the pluger to display a rubber band from the shooting kart to the plunger
 CSArrayBuffer
 CSArrayCache
 CSavedGrandPrixClass for managing saved Grand-Prix's A list of all possible resumable GP's is stored in the user config
 CScopedGPUTimer
 CSelectChallengeDialogDialog shown when starting a challenge
 CSeparateProcess
 CServer
 CServerInfoDialogDialog that allows a user to sign in
 CServerLobby
 CServerSelectionServerSelection
 CServersManager
 CSFXBaseThe base class for sound effects
 CSFXBufferThe buffer (data) for one kind of sound effects
 CSFXManagerManager of all sound effects
 CShaderThe main templated base class for all shaders that do not use textures
 CShaderBaseA simple non-templated base class
 CShaderBasedRenderer
 CShaderFilesManager
 CShadowThis class is used to enable a shadow for a kart
 CShadowedSunLightShaderPCF
 CShadowMatrices
 CSharedGPUObjects
 CSHCoefficients
 CShowCurveThis class is used for debugging
 CSingleton
 CSkidding
 CSkiddingAIThis is the actual racing AI
 CSkidMarksThis class is responsible for drawing skid marks for a kart
 CSkybox
 CSkyboxShader
 CSlipStream
 CSoccerAIThe actual soccer AI
 CSoccerSetupScreenScreen with soccer setup options
 CSoccerWorldAn implementation of WorldWithRank, to provide the soccer game mode Notice: In soccer world, true goal means blue, false means red
 CSpareTireAIThe AI for spare tire karts in battle mode, allowing kart to gain life
 CSpecularIBLGenerator
 CSpeedWeightedObjectA speed-weighted object is an object whose characteristics are influenced by the kart's speed
 CSphericalHarmonics
 CSPMeshLoader
 CSSAOShader
 CStandardRaceRepresents a standard race, i.e
 CStarsThis class is used to display rotating stars around a kart's head
 CStateManagerA concrete scene manager, derived from GUIEngine's AbastractSceneManager
 CSTKConfigGlobal STK configuration information
 CSTKDynamicsWorldA thin wrapper around bullet's btDiscreteDynamicsWorld
 CSTKHostRepresents the local host
 CSTKParticle
 CSTKPeerRepresents a peer. This class is used to interface the ENetPeer structure
 CSTKTexManager
 CSTKTextBillboard
 CSTKTexture
 CStkTime
 CStoryModeStatusThis class contains the progression through challenges for the story mode
 CStringUserConfigParam
 CSubtitle
 CSunLightShader
 CSunNode
 CSwatter
 CSynchronisedA variable that is automatically synchronised using pthreads mutex
 CTabbedUserScreen
 CTabOnlineProfileAchievementsOnline profiel overview screen
 CTerrainInfoThis class stores information about the triangle that's under an object, i.e
 CTestAIThis is a test version of the AI, which can be used to create new AIs, and compare them with the current AI
 CTexConfig
 CTextureRectShader
 CTextureSearchPath
 CTextureShaderClass C needs to be the newly declared shaders class (necessary for the instance template)
 CTextureShaderBaseA simple non-templated base class for a shader that uses textures
 CThreeDAnimationA virtual base class for all animations
 CThreeStrikesBattleAn implementation of WorldWithRank, to provide the 3 strikes battle game mode
 CTimeStepInfoThis class stores information about each time step on a client or server
 CTimeUserConfigParam
 CToneMapShader
 CTrack
 CTrackInfoStores the name of a track, number of laps, and reverse driving
 CTrackInfoScreenDialog that shows the information about a given track
 CTrackManagerSimple class to load and manage track data, track names and such
 CTrackObjectThis is a base object for any separate object on the track, which might also have a skeletal animation
 CTrackObjectManager
 CTrackObjectPresentationBase class for all track object presentation classes
 CTrackObjectPresentationActionTriggerA track object representation that consists of an action trigger
 CTrackObjectPresentationBillboardA track object representation that consists of a billboard scene node
 CTrackObjectPresentationEmptyA track object representation that is invisible and only consists of a location, rotation and scale
 CTrackObjectPresentationLibraryNodeA track object representation that is a library node
 CTrackObjectPresentationLightA track object representation that consists of a light emitter
 CTrackObjectPresentationLODA track object representation that consists of a level-of-detail scene node
 CTrackObjectPresentationMeshA track object representation that consists of a mesh scene node
 CTrackObjectPresentationParticlesA track object representation that consists of a particle emitter
 CTrackObjectPresentationSceneNodeBase class for all track object presentation classes using a scene node as presentation
 CTrackObjectPresentationSoundA track object representation that consists of a sound emitter
 CTracksAndGPScreenScreen where the user can select a track or grand prix
 CTrackSectorThis object keeps track of which sector an object is on
 CTracksScreenScreen where the user can select a track
 CTrackVoteStores a vote about the name of a track, number of laps, and reverse driving
 CTranslations
 CTransportAddressDescribes a transport-layer address. For IP networks, a transport address is the couple ip:port
 CTriangleMeshA special class to store a triangle mesh with a separate material per triangle
 CTriggerItemListenerListener class to go with Items of type ITEM_TRIGGER
 CTutorialMessageDialogMessages shown during tutorial
 CTutorialWorld
 CUniformColoredTextureRectShader
 CUnlockManagerMain class to handle locking/challenges
 CUserConfigClass for managing general STK user configuration data
 CUserConfigParamThe base of a set of small utilities to enable quickly adding/removing stuff to/from config painlessly
 CUserInfoDialogDialog that allows a user to sign in
 CUserPointerA UserPointer is stored as a user pointer in all bullet bodies
 CUserScreen
 CUTFWriterUtility class used to write wide (UTF-16 or UTF-32, depending of size of wchar_t) XML files
 CUtil
 CVec3A wrapper around bullets btVector3 to include conventient conversion functions (e.g
 CVertexUtils
 CViewFrustrumShader
 CVoteDialogDialog that allows a user to sign in
 CWaitingForOthersScreenHelp screen, part 1
 CWeather
 CWind
 CWorldBase class for all game modes This class is responsible for running the actual race
 CWorldStatusA class that manages the clock (countdown, chrono, etc.) Also manages stuff like the 'ready/set/go' text at the beginning or the delay at the end of a race
 CWorldWithRankA WorldWithRank is a world where the karts are ranked
 CXmlCharacteristic
 CXMLNodeUtility class used to parse XML files