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

#include <KartPullPath.hh>

Description

Manages areas pulling the kart along a given path.

This implementation merges the base class with the water derived class.

Definition at line 56 of file KartPullPath.hh.

Inheritance diagram for Kart::KartPullPath:

Public Member Functions

void init ()
 
void reset ()
 
void calc ()
 
void changePoint (s16 idx, f32 distance)
 
void resetDistance ()
 
s16 incomingIdx () const
 
const EGG::Vector3fpullDirection () const
 
f32 pullSpeed () const
 
f32 maxPullSpeed () const
 
f32 roadSpeedDecay () const
 

Private Member Functions

bool calcArea ()
 
void calcPointChange ()
 
void calcTrackers ()
 
EGG::Vector3f getPullUnitNormal () const
 
void setTrackerPointInfo (System::MapdataPointInfo *info)
 
- Private Member Functions inherited from Kart::KartObjectProxy
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
 
Statusstatus ()
 
const Statusstatus () const
 
const EGG::Vector3fwheelPos (u16 idx) const
 
const EGG::Vector3fwheelEdgePos (u16 idx) const
 
void apply (size_t idx)
 

Private Attributes

f32 m_distance
 
System::MapdataPointInfom_pointInfo
 
s16 m_incomingIdx
 
s16 m_currentIdx
 
EGG::Vector3f m_pullDirection
 
f32 m_pullSpeed
 
f32 m_maxPullSpeed
 
KartPullPathTracker m_globalTracker
 
KartPullPathTracker m_regionalTracker
 
f32 m_roadSpeedDecay
 
s16 m_areaId
 

Additional Inherited Members

- Static Private Member Functions inherited from Kart::KartObjectProxy
static std::list< KartObjectProxy * > & proxyList ()
 

Constructor & Destructor Documentation

◆ KartPullPath()

Kart::KartPullPath::KartPullPath ( )
0x80593FA4

Definition at line 142 of file KartPullPath.cc.

Member Function Documentation

◆ calc()

void Kart::KartPullPath::calc ( )
0x80594134

Definition at line 171 of file KartPullPath.cc.

◆ calcArea()

bool Kart::KartPullPath::calcArea ( )
private0x805941BC

Definition at line 195 of file KartPullPath.cc.

◆ calcPointChange()

void Kart::KartPullPath::calcPointChange ( )
private0x80593E18

Definition at line 230 of file KartPullPath.cc.

◆ calcTrackers()

void Kart::KartPullPath::calcTrackers ( )
private0x80593D54

Definition at line 260 of file KartPullPath.cc.

◆ changePoint()

void Kart::KartPullPath::changePoint ( s16 idx,
f32 distance )
0x80593DBC

Definition at line 183 of file KartPullPath.cc.

◆ getPullUnitNormal()

EGG::Vector3f Kart::KartPullPath::getPullUnitNormal ( ) const
nodiscardprivate0x805AEAD8

This isn't a part of KartPullPath, but is only called from this class.

Definition at line 267 of file KartPullPath.cc.

◆ incomingIdx()

s16 Kart::KartPullPath::incomingIdx ( ) const
inlinenodiscard

Definition at line 71 of file KartPullPath.hh.

◆ init()

void Kart::KartPullPath::init ( )
0x805940D4

Definition at line 152 of file KartPullPath.cc.

◆ maxPullSpeed()

f32 Kart::KartPullPath::maxPullSpeed ( ) const
inlinenodiscard

Definition at line 83 of file KartPullPath.hh.

◆ pullDirection()

const EGG::Vector3f & Kart::KartPullPath::pullDirection ( ) const
inlinenodiscard

Definition at line 75 of file KartPullPath.hh.

◆ pullSpeed()

f32 Kart::KartPullPath::pullSpeed ( ) const
inlinenodiscard

Definition at line 79 of file KartPullPath.hh.

◆ reset()

void Kart::KartPullPath::reset ( )
0x80593CB8

This was the init function in the base class, but it gets inlined in calcArea.

Definition at line 160 of file KartPullPath.cc.

◆ resetDistance()

void Kart::KartPullPath::resetDistance ( )
inline0x80593E08

Definition at line 67 of file KartPullPath.hh.

◆ roadSpeedDecay()

f32 Kart::KartPullPath::roadSpeedDecay ( ) const
inlinenodiscard

Definition at line 87 of file KartPullPath.hh.

◆ setTrackerPointInfo()

void Kart::KartPullPath::setTrackerPointInfo ( System::MapdataPointInfo * info)
private0x80593D1C

Definition at line 280 of file KartPullPath.cc.

Member Data Documentation

◆ m_areaId

s16 Kart::KartPullPath::m_areaId
private

Definition at line 108 of file KartPullPath.hh.

◆ m_currentIdx

s16 Kart::KartPullPath::m_currentIdx
private

Definition at line 101 of file KartPullPath.hh.

◆ m_distance

f32 Kart::KartPullPath::m_distance
private

Definition at line 98 of file KartPullPath.hh.

◆ m_globalTracker

KartPullPathTracker Kart::KartPullPath::m_globalTracker
private

Definition at line 105 of file KartPullPath.hh.

◆ m_incomingIdx

s16 Kart::KartPullPath::m_incomingIdx
private

Definition at line 100 of file KartPullPath.hh.

◆ m_maxPullSpeed

f32 Kart::KartPullPath::m_maxPullSpeed
private

Definition at line 104 of file KartPullPath.hh.

◆ m_pointInfo

System::MapdataPointInfo* Kart::KartPullPath::m_pointInfo
private

Definition at line 99 of file KartPullPath.hh.

◆ m_pullDirection

EGG::Vector3f Kart::KartPullPath::m_pullDirection
private

Definition at line 102 of file KartPullPath.hh.

◆ m_pullSpeed

f32 Kart::KartPullPath::m_pullSpeed
private

Definition at line 103 of file KartPullPath.hh.

◆ m_regionalTracker

KartPullPathTracker Kart::KartPullPath::m_regionalTracker
private

Definition at line 106 of file KartPullPath.hh.

◆ m_roadSpeedDecay

f32 Kart::KartPullPath::m_roadSpeedDecay
private

Definition at line 107 of file KartPullPath.hh.