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

Description

Definition at line 9 of file KartBody.hh.

Inheritance diagram for Kinoko::Kart::KartBody:

Public Member Functions

 KartBody (KartPhysics *physics)
virtual EGG::Matrix34f wheelMatrix (u16)
 Computes a matrix to represent wheel rotation. For Karts, this is wheel-agnostic.
void reset ()
void calcSinkDepth ()
void trySetTargetSinkDepth (f32 val)
void calcTargetSinkDepth ()

Setters

void setAngle (f32 val)

Getters

KartPhysicsphysics () const
f32 sinkDepth () const

Protected Attributes

KartPhysicsm_physics
f32 m_anAngle
f32 m_sinkDepth
 Vehicle offset applied downward into collision.
f32 m_targetSinkDepth

Additional Inherited Members

Protected Member Functions inherited from Kinoko::Kart::KartObjectProxy
void apply (size_t idx)
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 std::list< KartObjectProxy *, EGG::Allocator< KartObjectProxy * > > & proxyList ()

Constructor & Destructor Documentation

◆ KartBody()

Kinoko::Kart::KartBody::KartBody ( KartPhysics * physics)
0x8056C394

Definition at line 8 of file KartBody.cc.

◆ ~KartBody()

virtual Kinoko::Kart::KartBody::~KartBody ( )
inlinevirtual

Definition at line 12 of file KartBody.hh.

Member Function Documentation

◆ calcSinkDepth()

void Kinoko::Kart::KartBody::calcSinkDepth ( )
0x8056C9C4

Definition at line 31 of file KartBody.cc.

◆ calcTargetSinkDepth()

void Kinoko::Kart::KartBody::calcTargetSinkDepth ( )
0x8056C964

Definition at line 41 of file KartBody.cc.

◆ physics()

KartPhysics * Kinoko::Kart::KartBody::physics ( ) const
inlinenodiscard

Definition at line 29 of file KartBody.hh.

◆ reset()

void Kinoko::Kart::KartBody::reset ( )
0x8056C4B4

Definition at line 23 of file KartBody.cc.

◆ setAngle()

void Kinoko::Kart::KartBody::setAngle ( f32 val)
inline

Definition at line 23 of file KartBody.hh.

◆ sinkDepth()

f32 Kinoko::Kart::KartBody::sinkDepth ( ) const
inlinenodiscard

Definition at line 33 of file KartBody.hh.

◆ trySetTargetSinkDepth()

void Kinoko::Kart::KartBody::trySetTargetSinkDepth ( f32 val)
0x8056C950

Definition at line 36 of file KartBody.cc.

◆ wheelMatrix()

EGG::Matrix34f Kinoko::Kart::KartBody::wheelMatrix ( u16 )
nodiscardvirtual0x8056C604

Computes a matrix to represent wheel rotation. For Karts, this is wheel-agnostic.

Reimplemented in Kinoko::Kart::KartBodyBike, and Kinoko::Kart::KartBodyQuacker.

Definition at line 16 of file KartBody.cc.

Member Data Documentation

◆ m_anAngle

f32 Kinoko::Kart::KartBody::m_anAngle
protected
Note
This object is labeled as having a poor name. It should be renamed to better represent its purpose.

Definition at line 40 of file KartBody.hh.

◆ m_physics

KartPhysics* Kinoko::Kart::KartBody::m_physics
protected

Definition at line 39 of file KartBody.hh.

◆ m_sinkDepth

f32 Kinoko::Kart::KartBody::m_sinkDepth
protected

Vehicle offset applied downward into collision.

Definition at line 41 of file KartBody.hh.

◆ m_targetSinkDepth

f32 Kinoko::Kart::KartBody::m_targetSinkDepth
protected

Definition at line 42 of file KartBody.hh.