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

#include <KartPullPath.hh>

Description

Tracks the kart's progress along the pull path.

This implementation merges the global and regional tracker into one class.

Definition at line 13 of file KartPullPath.hh.

Inheritance diagram for Kinoko::Kart::KartPullPathTracker:

Public Types

enum class  Type {
  Global ,
  Regional
}

Public Member Functions

 KartPullPathTracker (KartPullPath *handle, Type type)
void calc ()
void setCurrentIdx (s16 idx)
void setPointInfo (System::MapdataPointInfo *info)

Private Types

enum class  SearchDirection {
  Current ,
  Next ,
  Previous
}

Private Member Functions

void calcTrackerGlobal ()
void calcTrackerRegional ()
f32 getDistance (const EGG::Vector3f &point, const EGG::Vector3f &dir) const
 Gets the distance from the line formed by the point and direction.
bool search (SearchDirection searchDirection, s16 &idx, EGG::Vector3f &point, EGG::Vector3f &dir) 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
void apply (size_t idx)

Private Attributes

Type m_type
 Replaces inheritance for calc.
s16 m_currentIdx
System::MapdataPointInfom_pointInfo
KartPullPathm_handle

Additional Inherited Members

static std::list< KartObjectProxy *, EGG::Allocator< KartObjectProxy * > > & proxyList ()

Member Enumeration Documentation

◆ SearchDirection

enum class Kinoko::Kart::KartPullPathTracker::SearchDirection
strongprivate

Definition at line 35 of file KartPullPath.hh.

◆ Type

enum class Kinoko::Kart::KartPullPathTracker::Type
strong

Definition at line 15 of file KartPullPath.hh.

Constructor & Destructor Documentation

◆ KartPullPathTracker()

Kinoko::Kart::KartPullPathTracker::KartPullPathTracker ( KartPullPath * handle,
Type type )
0x8059308C

Definition at line 10 of file KartPullPath.cc.

◆ ~KartPullPathTracker()

Kinoko::Kart::KartPullPathTracker::~KartPullPathTracker ( )
default0x805930E4

Member Function Documentation

◆ calc()

void Kinoko::Kart::KartPullPathTracker::calc ( )

Definition at line 16 of file KartPullPath.cc.

◆ calcTrackerGlobal()

void Kinoko::Kart::KartPullPathTracker::calcTrackerGlobal ( )
private0x80593138

Definition at line 27 of file KartPullPath.cc.

◆ calcTrackerRegional()

void Kinoko::Kart::KartPullPathTracker::calcTrackerRegional ( )
private0x80593814

Definition at line 40 of file KartPullPath.cc.

◆ getDistance()

f32 Kinoko::Kart::KartPullPathTracker::getDistance ( const EGG::Vector3f & point,
const EGG::Vector3f & dir ) const
nodiscardprivate0x80593310

Gets the distance from the line formed by the point and direction.

Parameters
pointA point on the line.
dirThe direction of the line.

Definition at line 68 of file KartPullPath.cc.

◆ search()

bool Kinoko::Kart::KartPullPathTracker::search ( SearchDirection searchDirection,
s16 & idx,
EGG::Vector3f & point,
EGG::Vector3f & dir ) const
private0x8059345C

Definition at line 76 of file KartPullPath.cc.

◆ setCurrentIdx()

void Kinoko::Kart::KartPullPathTracker::setCurrentIdx ( s16 idx)
inline

Definition at line 25 of file KartPullPath.hh.

◆ setPointInfo()

void Kinoko::Kart::KartPullPathTracker::setPointInfo ( System::MapdataPointInfo * info)
inline

Definition at line 29 of file KartPullPath.hh.

Member Data Documentation

◆ m_currentIdx

s16 Kinoko::Kart::KartPullPathTracker::m_currentIdx
private

Definition at line 49 of file KartPullPath.hh.

◆ m_handle

KartPullPath* Kinoko::Kart::KartPullPathTracker::m_handle
private

Definition at line 51 of file KartPullPath.hh.

◆ m_pointInfo

System::MapdataPointInfo* Kinoko::Kart::KartPullPathTracker::m_pointInfo
private

Definition at line 50 of file KartPullPath.hh.

◆ m_type

Type Kinoko::Kart::KartPullPathTracker::m_type
private

Replaces inheritance for calc.

Definition at line 48 of file KartPullPath.hh.