A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
Kinoko::Kart::KartObject Class Reference

#include <KartObject.hh>

Description

The highest level abstraction for a kart.

Definition at line 11 of file KartObject.hh.

Inheritance diagram for Kinoko::Kart::KartObject:

Public Member Functions

 KartObject (KartParam *param)
virtual KartBodycreateBody (KartPhysics *physics)
virtual void createTires ()
void init ()
void initImpl ()
void prepare ()
 Sets the initial position and rotation of the kart based off the current track.
void prepareTiresAndSuspensions ()
void createSub ()
void createModel ()
void calcSub ()
void calc ()
const KartAccessoraccessor () const
void setPos (const EGG::Vector3f &pos)
void setRot (const EGG::Quatf &q)
void setInertiaScale (const EGG::Vector3f &scale)
KartActionaction ()
const KartActionaction () const
KartBodybody ()
const KartBodybody () const
KartCollidecollide ()
const KartCollidecollide () const
CollisionGroupcollisionGroup ()
const CollisionGroupcollisionGroup () const
KartMovemove ()
const KartMovemove () const
KartHalfPipehalfPipe ()
const KartHalfPipehalfPipe () const
KartScalekartScale ()
const KartScalekartScale () const
KartJumpjump ()
const KartJumpjump () const
KartParamparam ()
const KartParamparam () const
const BSPbsp () const
KartPhysicsphysics ()
const KartPhysicsphysics () const
KartDynamicsdynamics ()
const KartDynamicsdynamics () const
KartStatestate ()
const KartStatestate () const
KartSubsub ()
const KartSubsub () const
KartSuspensionsuspension (u16 suspIdx)
const KartSuspensionsuspension (u16 suspIdx) const
KartSuspensionPhysicssuspensionPhysics (u16 suspIdx)
const KartSuspensionPhysicssuspensionPhysics (u16 suspIdx) const
KartTiretire (u16 tireIdx)
const KartTiretire (u16 tireIdx) const
WheelPhysicstirePhysics (u16 tireIdx)
const WheelPhysicstirePhysics (u16 tireIdx) const
CollisionDatacollisionData ()
const CollisionDatacollisionData () const
CollisionDatacollisionData (u16 tireIdx)
const CollisionDatacollisionData (u16 tireIdx) const
const System::KPadinputs () const
Render::KartModelmodel ()
const Render::KartModelmodel () const
Field::ObjectCollisionKartobjectCollisionKart ()
const Field::ObjectCollisionKartobjectCollisionKart () const
Field::BoxColUnitboxColUnit ()
const Field::BoxColUnitboxColUnit () const
const EGG::Vector3fscale () const
const EGG::Matrix34fpose () const
EGG::Vector3f bodyFront () const
 Returns the third column of the rotation matrix, which is the facing vector.
EGG::Vector3f bodyForward () const
 Returns the first column of the rotation matrix, which is the "right" direction.
EGG::Vector3f bodyUp () const
 Returns the second column of the rotation matrix, which is the "up" direction.
const EGG::Vector3fcomponentXAxis () const
const EGG::Vector3fcomponentYAxis () const
const EGG::Vector3fcomponentZAxis () const
const EGG::Vector3fpos () const
const EGG::Vector3fprevPos () const
const EGG::QuatffullRot () const
const EGG::Vector3fextVel () const
const EGG::Vector3fintVel () const
const EGG::Vector3fvelocity () const
f32 speed () const
f32 acceleration () const
f32 softSpeedLimit () const
const EGG::QuatfmainRot () const
const EGG::Vector3fangVel2 () const
bool isBike () const
u16 suspCount () const
u16 tireCount () const
bool hasFloorCollision (const WheelPhysics *wheelPhysics) const
std::pair< EGG::Vector3f, EGG::Vector3fgetCannonPosRot ()
f32 speedRatio () const
f32 speedRatioCapped () const
bool isInRespawn () const
Field::KCLTypeMask wallKclType () const
u32 wallKclVariant () const
Status & status ()
const Status & status () const
const EGG::Vector3fwheelPos (u16 idx) const
const EGG::Vector3fwheelEdgePos (u16 idx) const
f32 cameraDistY () const
s32 hopStickX () const
KartParam::Stats::DriftType vehicleType () const

Static Public Member Functions

static KartObject * Create (Character character, Vehicle vehicle, u8 playerIdx)
static std::list< KartObjectProxy *, EGG::Allocator< KartObjectProxy * > > & proxyList ()

Protected Attributes

KartAccessor m_pointers

Additional Inherited Members

Protected Member Functions inherited from Kinoko::Kart::KartObjectProxy
void apply (size_t idx)

Constructor & Destructor Documentation

◆ KartObject()

Kinoko::Kart::KartObject::KartObject ( KartParam * param)
0x8058DDBC

Definition at line 18 of file KartObject.cc.

◆ ~KartObject()

Kinoko::Kart::KartObject::~KartObject ( )
virtual0x8058DEF0

Definition at line 23 of file KartObject.cc.

Member Function Documentation

◆ accessor()

const KartAccessor * Kinoko::Kart::KartObject::accessor ( ) const
nodiscard

Definition at line 172 of file KartObject.cc.

◆ calc()

void Kinoko::Kart::KartObject::calc ( )
0x8058EEBC

Definition at line 167 of file KartObject.cc.

◆ calcSub()

void Kinoko::Kart::KartObject::calcSub ( )
0x8058EEB4

Definition at line 162 of file KartObject.cc.

◆ Create()

KartObject * Kinoko::Kart::KartObject::Create ( Character character,
Vehicle vehicle,
u8 playerIdx )
staticnodiscard0x8058F5B4

Definition at line 177 of file KartObject.cc.

◆ createBody()

KartBody * Kinoko::Kart::KartObject::createBody ( KartPhysics * physics)
nodiscardvirtual0x8058E5F8

Definition at line 80 of file KartObject.cc.

◆ createModel()

void Kinoko::Kart::KartObject::createModel ( )
0x8058F820

Definition at line 147 of file KartObject.cc.

◆ createSub()

void Kinoko::Kart::KartObject::createSub ( )
0x8058E724

Definition at line 141 of file KartObject.cc.

◆ createTires()

void Kinoko::Kart::KartObject::createTires ( )
virtual0x8058EA0C

Definition at line 40 of file KartObject.cc.

◆ init()

void Kinoko::Kart::KartObject::init ( )
0x8058E22C

Definition at line 85 of file KartObject.cc.

◆ initImpl()

void Kinoko::Kart::KartObject::initImpl ( )
0x8058E188

Definition at line 99 of file KartObject.cc.

◆ prepare()

void Kinoko::Kart::KartObject::prepare ( )
0x8058EE48

Sets the initial position and rotation of the kart based off the current track.

Definition at line 107 of file KartObject.cc.

◆ prepareTiresAndSuspensions()

void Kinoko::Kart::KartObject::prepareTiresAndSuspensions ( )
0x8058E804

Definition at line 115 of file KartObject.cc.

Member Data Documentation

◆ m_pointers

KartAccessor Kinoko::Kart::KartObject::m_pointers
protected

Definition at line 34 of file KartObject.hh.