A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 NKinoko
 NAbstractAn abstraction of components from the nw4r and RVL libraries
 Ng3d
 CAnmObjChrRes
 CCAnmFmtTraitsAnimation traits
 CCAnmFmtTraits< ResAnmChr::FVS48Data >
 CCAnmFmtTraits< ResAnmChr::FVS96Data >
 CChrAnmResult
 CCResAnmChrFrm
 CCResAnmChrFrm< ResAnmChr::Frm48Data >
 CCResAnmChrFrm< ResAnmChr::Frm96Data >
 CCResAnmChrFrmBaseAnimation keyframe
 CFrameCtrl
 CResAnmChrRepresents the CHR0 file format, which pertains to model movement animations
 CFrm48DataFrame values (FVS) animation data
 CFVS48Data
 CFrm96Data
 CFVS96Data
 CFVSData
 CCV32DataConst value (CV) animation data
 CCVData
 CAnmData
 CNodeData
 CAnmData
 CInfoData
 CData
 CResBlockHeaderData
 CResDicEssentially a lookup table to find different sections within the resource file
 CNodeData
 CData
 CResFileRepresents a binary resource file which contains object models, textures, and animations
 CTopLevelDictDataThe "root" section of the file
 CData
 CResFileHeaderData
 NMemory
 CMEMiExpBlockHeadHead of the memory block. Contains information about the block and a link in the corresponding used/free linked lists
 CMEMiExpBlockLinkLink of a non-intrusive doubly-linked list
 CMEMiExpBlockListNon-intrusive doubly-linked list
 CMEMiExpHeapHeadLow-level implementation of a memory heap for managing dynamic memory allocation. Allocation may occur anywhere within the memory space the heap is created from
 CMEMiHeapHeadA low-level representation of a memory heap for managing dynamic memory allocation. Interface for allocating and freeing memory blocks
 CMEMLinkLink of an intrusive doubly-linked list
 CMEMListIntrusive doubly-linked list. Links are placed within the corresponding object
 CRegionRepresents a region of memory
 CArchiveHandle
 CRawArchive
 CNode
 CFileInfo
 NEGGEGG core library
 NMathfMath functions and constants used in the base game
 CSinCosEntry
 CAtanEntry
 CBaseAndDec32
 CBaseAndDec64
 Cc32
 Cc64
 CAllocator
 CArchive
 CBoundBox2fA representation of a bounding rectangle
 CBoundBox3fA representation of a bounding cuboid
 CDisposerAn interface for ensuring certain structures and classes are destroyed with the heap
 CExpHeapHigh-level implementation of a memory heap for managing dynamic memory allocation. Allocation may occur anywhere within the memory space the heap is created from
 CGroupSizeRecordMemory blocks have group IDs assigned to them (default 0). This class is a record of the total sum of those blocks' sizes, categorized by group ID. Used for memory profiling
 CHeapA high-level representation of a memory heap for managing dynamic memory allocation. Interface for allocating and freeing memory blocks
 CMatrix34fA 3 x 4 matrix
 CPlane3fRepresents a plane in 3D space, expressed with n.dot(x) = d for point x on the plane
 CQuatfA quaternion, used to represent 3D rotation
 CRamStreamA stream of data stored in memory
 CSceneBase class for all scenes
 CSceneCreatorInterface for creating and destroying scenes
 CSceneManagerManages the scene stack and transitions between scenes
 CSphere3fRepresents a sphere in 3D space
 CStreamA stream of data, abstracted to allow for continuous seeking
 CTBitFlagWrapper around an integral type with an enum corresponding to its bits
 CTBitFlagExtWrapper around a variable length bitfield with an enum corresponding to its bits
 CVector2fA 2D float vector
 CVector3fA 3D float vector
 NFieldPertains to collision
 CBoxColHighPoint
 CBoxColLowPoint
 CBoxColManagerSpatial indexing manager for entities with dynamic collision
 CBoxColUnitA representation of the boundaries of an entity that has dynamic collision
 CCollisionDirectorManages the caching of colliding KCL triangles and exposes queries for collision checks
 CCollisionEntry
 CCollisionInfo
 CCollisionInfoPartial
 CCourseColMgrManager for course KCL interactions
 CNoBounceWallColInfo
 CGJKStateHouses the state of an object in terms of the Gilbert–Johnson–Keerthi (GJK) algorithm
 CHanachanChainManagerClass that interfaces with the chain links corresponding to wiggler body parts
 CJugemDirectorManager class for the lifecycle of Jugem objects for players
 CJugemInterpManages interpolation keyframes for the Lakitu's position when ascending and descending
 CInterpKeyframe
 CJugemMoveManages state information related to Lakitu movement
 CJugemSwitchBase class which is used to represent cases that toggle Lakitu on or off
 CJugemSwitchReverseRepresents a Lakitu toggle when turning to face backwards
 CJugemUnitRepresents a single Lakitu and houses some state management members
 CKColDataPerforms lookups for KCL triangles
 CKCollisionPrism
 CKColHeaderThe header of the KCL file format. It is 0x3C bytes long (for Mario Kart Wii)
 CObjColMgrManager for an object's KCL interactions
 CObjectAmi
 CObjectAurora
 CObjectBasabasaCan be thought of as the bat "spawner". It's the class that manages an array of bats
 CObjectBasabasaDummyRepresents a single bat. It's owned and managed by ObjectBasabasa
 CObjectBase
 CObjectBeltThe base class for a conveyor belt which induces road velocity
 CObjectBeltCrossingThe conveyers in the first section of Toad's Factory
 CObjectBeltCurveAThe curved conveyor belt at the end of the factory on Toad's Factory
 CObjectBeltEasyThe conveyers outside of the factory on Toad's Factory
 CObjectBirdRepresents a group of birds
 CObjectBirdFollowerRepresents all but one of the birds in an @ObjectBird group
 CObjectBirdLeaderThe main bird within an ObjectBird. Other birds follow this leader
 CObjectBoble
 CObjectBreakable
 CObjectBulldozerRepresents the bulldozers at the end of Toad's Factory
 CObjectCarA
 CObjectCarTGE
 CObjectChoropuRepresents the MMM and rPG monty moles
 CObjectChoropuGround
 CObjectChoropuHoll
 CObjectCollidable
 CObjectCollisionBaseThe base class that all objects' collision inherits from
 CObjectCollisionBox
 CObjectCollisionConvexHullSmallest convex shape that encloses a given set of points
 CObjectCollisionCylinder
 CObjectCollisionKartRelates a KartObject with its convex hull representation
 CObjectCollisionSphere
 CObjectCowThe base class shared between ObjectCowLeader and ObjectCowFollower
 CObjectCowFollowerA cow that follows a leader by sharing the same rail
 CObjectCowHerdThe manager class that controls a group of cows
 CObjectCowLeaderA cow who its own rail and whose position is not influenced by the path of the others
 CObjectCrab
 CObjectCraneThe moving crane platforms after the second turn of Toad's Factory
 CObjectDirector
 CObjectDokan
 CObjectDossunBase class for the various different Thwomp types in the game
 CObjectDossuncHolder class for one of various Thwomp "modes"
 CObjectDossunNormalA Thwomp that remains in one position and stomps downward
 CObjectDossunSyuukaiThwomps that move along a rail and stomp
 CObjectDossunTsuibiRepresents one of the two thwomps that oscillate and stomp in the long rBC hallway
 CObjectDossunTsuibiHolderThe manager class for the pair of Thwomps in the long hallway on rBC
 CObjectDossunYokoMoveRepresents Thwomps that move sideways on the ground on rBC
 CObjectDrivable
 CObjectDrivableDirector
 CObjectEscalatorRepresents an individual escalator on Coconut Mall
 CObjectEscalatorGroupRepresents a group of two escalators and the Pianta dancing in the middle
 CObjectFireball
 CObjectFirebar
 CObjectFireRing
 CObjectFireSnake
 CObjectFireSnakeKid
 CObjectFireSnakeV
 CObjectFlamePoleThe flamepole that erupts from a geyser on Bowser's Castle
 CObjectFlamePoleFootRepresents the geysers on Bowser's Castle
 CObjectFlamePoleV
 CObjectFlowTable
 CSFile
 CObjectHanachan
 CObjectHanachanBody
 CObjectHanachanHead
 CObjectHanachanPart
 CObjectHeyhoShy guys on DK Summit
 CObjectHeyhoBallThe cannonball projectiles on GBA Shy Guy Beach
 CObjectHeyhoShipThe ship on GBA Shy Guy Beach that shoots cannonballs
 CObjectHeyhoShipManager
 CObjectHighwayManager
 CObjectHitTable
 CObjectItemboxLineObject which represents a line of itemboxes, a brick block which may be pressed into an itembox, and a stomper. The stomper is held and managed by ObjectItemboxPress
 CObjectItemboxPressResponsible for stomper state management
 CObjectKCL
 CObjectKinokoThe base class for a mushroom object with jump pad properties
 CObjectKinokoBendMushrooms which bend in a certain direction
 CObjectKinokoNmThe class for a mushroom object with normal road properties, for the most part
 CObjectKinokoUdMushrooms which oscillate up and down. The stem does not move
 CObjectKoopaBall
 CObjectKoopaFigure64The Bowser statues on N64 Bowser's Castle
 CObjectKuribo
 CObjectNoImpl
 CObjectObakeBlock
 CObjectObakeManagerThe manager class for SNES Ghost Valley 2 blocks
 CObjectOilSFC
 CObjectPakkunFRepresents the piranhas on GCN Mario Circuit
 CObjectParasolR
 CObjectPenguinThe base class for penguins on N64 Sherbet Land
 CObjectPenguinSRepresents the penguins on N64 Sherbet Land that slide on their stomach
 CObjectPillarRepresents the entirety of a pillar that falls on Dry Dry Ruins
 CObjectPillarBaseThe stationary portion of the Dry Dry Ruins pillars. It just acts as a wall
 CObjectPillarCRepresents the part of the Dry Dry Ruins pillar that falls
 CObjectPoihanaRepresents the cataquacks on GCN Peach Beach
 CObjectPoihanaBase
 CObjectPressRepresents the Toad's Factory stompers
 CObjectPressSenkoThe stompers on the left and right side of the first TF factory room
 CObjectProjectileAbstract class that represents an object thrown by an ObjectProjectileLauncher
 CObjectProjectileLauncherAbstract class that moves along its own rail and throws projectiles
 CObjectPropeller
 CObjectPseaRepresents the rising water on GCN Peach Beach and Delfino Pier battle stage
 CObjectPylonThe traffic cones on Daisy Circuit
 CObjectRockThe falling rocks on GCN DK Mountain
 CObjectSanbo
 CObjectSandcone
 CObjectShip64
 CObjectSniperThe base class for a manager object which is responsible for synchronizing a set of projectiles and a projectile launcher
 CObjectSunDS
 CObjectSunManagerHandles the synchronization between the ObjectSunDS and ObjectFireSnake projectiles
 CObjectTownBridge
 CObjectTruckWagonThe "spawner" for minecarts on Wario's Gold Mine
 CObjectTruckWagonCartThe individual minecarts that spawn from the ObjectTruckWagon spawner
 CObjectTuribashi
 CObjectTwistedWayThe wavy road in Bowser's Castle
 CObjectVolcanoBallRepresents a fireball that is launched from the volcanoes on Grumble Volcano
 CObjectVolcanoBallLauncherThe manager class that launch fireballs on Grumble Volcano
 CObjectVolcanoPieceRepresents an object that eventually shakes and then falls, e.g. the ultra rock on GV
 CObjectVolcanoRockThe oscillating platforms before and after the indoor section on Grumble Volcano
 CObjectWanwanRepresents Chain Chomps chained to a stake that attack in a limited arc
 CObjectWanwanPileThe wooden stake that the chain chomp is chained to
 CObjectWLWallGC
 CObjectWoodbox
 CObjectWoodboxW
 CObjectWoodboxWSub
 CRail
 CRailInterpolator
 CRailLine
 CRailLinearInterpolator
 CRailLineTransition
 CRailManager
 CRailSmoothInterpolator
 CRailSpline
 CRailSplineTransition
 CSObjectCollisionSetStructure of the ObjFlow.bin table entry. Contains dependencies and collision parameters
 CSphereLinkOne link in a chain where each link's position is limited by the other links
 CStateManagerBase class that represents different "states" for an object
 CStateManagerEntry
 NHostRepresents the host application
 CContextContexts can be used to restore a previous memory state for the current session
 CStatics
 CSceneCreatorDynamic
 NItemPertains to item handling
 CItemDirector
 CItemInventory
 CKartItemState management for item usage
 NKartPertains to kart-related functionality
 CBSPHouses hitbox and wheel positions, radii, and suspension info
 CHitboxRepresents one of the many hitboxes that make up a vehicle
 CWheelInfo pertaining to the suspension, position, etc. of a wheel
 CCannonParameter
 CCollisionDataInformation about the current collision and its properties
 CCollisionGroupHouses hitbox and collision info for an object (body or wheel)
 CHitboxRepresents a hitbox for the kart body or a wheel
 CKartAccessorShared between classes who inherit KartObjectProxy so they can access one another
 CKartAction
 CActionParamsParameters specific to an action ID
 CRotationParams
 CKartBody
 CKartBodyBike
 CKartBodyKart
 CKartBodyQuacker
 CKartBoostState management for boosts (start boost, mushrooms, mini-turbos)
 CKartBurnoutCalculates the duration of burnout and rotation induced when holding acceleration too long during the race countdown
 CKartCollideManages body+wheel collision and its influence on position/velocity/etc
 CKartDynamicsState management for most components of a kart's physics
 CKartDynamicsBikeState management for most components of a bike's physics
 CKartHalfPipeHandles the physics and boosts associated with zippers
 CStuntPropertiesAngle properties corresponding with the stunts
 CStuntManager
 CKartJumpManages trick inputs and state
 CTrickProperties
 CAngleProperties
 CKartJumpBike
 CKartMoveResponsible for reacting to player inputs and moving the kart
 CJumpPadProperties
 CDriftingParametersHouses parameters that vary between the drift type (inward bike, outward bike, kart)
 CKartMoveBikeResponsible for reacting to player inputs and moving the bike
 CTurningParametersRepresents turning information which differs only between inside/outside drift
 CKartObjectThe highest level abstraction for a kart
 CKartObjectBikeThe highest level abstraction for a bike
 CKartObjectManagerResponsible for the lifecycle and calculation of KartObjects
 CKartObjectProxyBase class for most kart-related objects
 CKartParamHouses stats regarding a given character/vehicle combo
 CBikeDisp
 CKartDisp
 CStatsVarious character/vehicle-related handling and speed stats
 CKartCameraParam
 CKartParamFileManagerAbstraction for the process of retrieving kart parameters from files
 CParamFile
 CFileInfo
 CKartPhysicsManages the lifecycle of KartDynamics, handles moving floors and trick rotation
 CKartPullPathManages areas pulling the kart along a given path
 CKartPullPathTrackerTracks the kart's progress along the pull path
 CKartRejectPertains to handling reject road
 CKartScaleMainly responsible for calculating scaling for the squish/unsquish animation
 CKartStateHouses various flags and other variables to preserve the kart's state
 CKartSubHosts a few classes and the high level per-frame calc functions
 CKartSuspensionDoesn't do much besides hold a pointer to KartSuspensionPhysics
 CKartSuspensionFrontBike
 CKartSuspensionPhysicsPhysics for a single wheel's suspension
 CKartSuspensionRearBike
 CKartTireA holder for a wheel's physics data
 CKartTireFrontA holder for a kart's front tire's physics data
 CKartTireFrontBikeA holder for a bike's front tire's physics data
 CKartTireRearBikeA holder for a bike's rear tire's physics data
 CStartBoostEntry
 CWheelPhysicsManages wheel physics and collision checks
 NRenderPertains to rendering the kart model
 CAnmMgr
 CAnmNodeChr
 CDrawMdl
 CKartCameraManager class for the forward and backwards cameras
 CKartCameraStateTracks the current state of the front and backwards player cameras
 CKartModelIncluded in Kinoko because it mysteriously sets an angle member variable in KartBody
 CKartModelBike
 CKartModelKart
 NScenePertains to scene handling
 CGameSceneInterface for menu and race scenes
 CResource
 CRaceSceneRepresents an instance of a race
 CRootSceneThe parent scene for all other scenes
 NSystemHigh-level handling for generic system operations, such as input reading, race configuration, and resource management
 CCourseMapContains course metadata, notably the starting position
 CDvdArchive
 CGhostFileParsed representation of a binary ghost file
 CKPad
 CKPadControllerAn abstraction for a controller object. It is associated with an input state
 CKPadDirectorThe highest level abstraction for controller processing
 CKPadGhostButtonsStreamRepresents a stream of button inputs from a ghost file
 CKPadGhostControllerThe abstraction of a controller object but for ghost playback
 CKPadGhostDirectionButtonsStreamA specialized stream for the analog stick. Direction tuples take the following form:
 CKPadGhostFaceButtonsStreamA specialized stream for button presses (not tricks)
 CKPadGhostTrickButtonsStreamA specialized stream for D-Pad inputs for tricking and wheeling. Trick tuples take the following form:
 CKPadHostControllerThe abstraction of a controller object but for external usage
 CKPadPlayerA specialized KPad for player input, as opposed to CPU players for example
 CLinkedCheckpoint
 CMapdataAccessorBase
 CMapdataAreaAccessor
 CMapdataAreaBase
 CSData
 CMapdataAreaBox
 CMapdataAreaCylinder
 CMapdataCannonPoint
 CSData
 CMapdataCannonPointAccessor
 CMapdataCheckPath
 CSData
 CMapdataCheckPathAccessor
 CMapdataCheckPoint
 CSData
 CMapdataCheckPointAccessor
 CMapdataFileAccessor
 CSData
 CMapdataGeoObj
 CSData
 CMapdataGeoObjAccessor
 CMapdataJugemPointThis class represents the course's respawn positions
 CSData
 CMapdataJugemPointAccessor
 CMapdataPointInfo
 CPoint
 CSData
 CMapdataPointInfoAccessor
 CMapdataStageInfo
 CSData
 CMapdataStageInfoAccessor
 CMapdataStartPoint
 CSData
 CMapdataStartPointAccessor
 CMapSectionHeader
 CMultiDvdArchive
 CRaceConfigInitializes the player with parameters specified in the provided ghost file
 CPlayer
 CScenario
 CRaceInputStateRepresents a set of controller inputs
 CRaceManagerManages the timers that track the stages of a race. Also acts as the interface between the physics engine and CourseMap
 CPlayer
 CRandom
 CRawGhostFileThe binary data of a ghost saved to a file
 CResourceManagerHighest level abstraction for archive management and subsequent file retrieval
 CTimerA simple struct to represent a lap or race finish time
 CTimerManagerManages the race timer to create lap splits and final times
 Cis_derived_from_templateHelper template which uses function overloading and implicit up-casting to determine whether or not a class is derived from a templated base class (i.e. MapdataPointInfoAccessor derives from MapdataAccessorBase). See: https://en.cppreference.com/w/cpp/language/sfinae
 CKReplaySystemKinoko system designed to execute replays
 CKSystemBase interface for a Kinoko system
 CKTestSystemKinoko system designed to execute tests
 CTestCase
 CTestData
 Cowning_spanA contiguous storage container that manages the lifecycle of a buffer of a given size
 CScopeLock
 CScopeLock< GroupID >
 CTestHeader