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

#include <KartJump.hh>

Description

Manages trick inputs and state.

Definition at line 30 of file KartJump.hh.

Inheritance diagram for Kinoko::Kart::KartJump:

Classes

struct  TrickProperties
struct  AngleProperties

Public Member Functions

 KartJump (KartMove *move)
virtual void calcRot ()
void setupProperties ()
void reset ()
void tryStart (const EGG::Vector3f &left)
void calc ()
bool someFlagCheck ()
void calcInput ()
void end ()
void setAngle (const EGG::Vector3f &left)

Setters

void setBoostRampEnabled (bool isSet)

Getters

bool isBoostRampEnabled () const
TrickType type () const
SurfaceVariant variant () const
s16 cooldown () const

Protected Member Functions

virtual void start (const EGG::Vector3f &left)
virtual void init ()
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)
KartAction * action ()
const KartAction * action () const
KartBody * body ()
const KartBody * body () const
KartCollide * collide ()
const KartCollide * collide () const
CollisionGroup * collisionGroup ()
const CollisionGroup * collisionGroup () const
KartMove * move ()
const KartMove * move () const
KartHalfPipe * halfPipe ()
const KartHalfPipe * halfPipe () const
KartScale * kartScale ()
const KartScale * kartScale () const
KartJump * jump ()
const KartJump * jump () const
KartParam * param ()
const KartParam * param () const
const BSP & bsp () const
KartPhysics * physics ()
const KartPhysics * physics () const
KartDynamics * dynamics ()
const KartDynamics * dynamics () const
KartState * state ()
const KartState * state () const
KartSub * sub ()
const KartSub * sub () const
KartSuspension * suspension (u16 suspIdx)
const KartSuspension * suspension (u16 suspIdx) const
KartSuspensionPhysics * suspensionPhysics (u16 suspIdx)
const KartSuspensionPhysics * suspensionPhysics (u16 suspIdx) const
KartTire * tire (u16 tireIdx)
const KartTire * tire (u16 tireIdx) const
WheelPhysics * tirePhysics (u16 tireIdx)
const WheelPhysics * tirePhysics (u16 tireIdx) const
CollisionData & collisionData ()
const CollisionData & collisionData () const
CollisionData & collisionData (u16 tireIdx)
const CollisionData & collisionData (u16 tireIdx) const
const System::KPad * inputs () const
Render::KartModel * model ()
const Render::KartModel * model () const
Field::ObjectCollisionKart * objectCollisionKart ()
const Field::ObjectCollisionKart * objectCollisionKart () const
Field::BoxColUnit * boxColUnit ()
const Field::BoxColUnit * boxColUnit () const
const EGG::Vector3f & scale () const
const EGG::Matrix34f & pose () 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::Vector3f & componentXAxis () const
const EGG::Vector3f & componentYAxis () const
const EGG::Vector3f & componentZAxis () const
const EGG::Vector3f & pos () const
const EGG::Vector3f & prevPos () const
const EGG::Quatf & fullRot () const
const EGG::Vector3f & extVel () const
const EGG::Vector3f & intVel () const
const EGG::Vector3f & velocity () const
f32 speed () const
f32 acceleration () const
f32 softSpeedLimit () const
const EGG::Quatf & mainRot () const
const EGG::Vector3f & angVel2 () const
bool isBike () const
u16 suspCount () const
u16 tireCount () const
bool hasFloorCollision (const WheelPhysics *wheelPhysics) const
std::pair< EGG::Vector3f, EGG::Vector3f > getCannonPosRot ()
f32 speedRatio () const
f32 speedRatioCapped () const
bool isInRespawn () const
Field::KCLTypeMask wallKclType () const
u32 wallKclVariant () const
Status & status ()
const Status & status () const
const EGG::Vector3f & wheelPos (u16 idx) const
const EGG::Vector3f & wheelEdgePos (u16 idx) const
f32 cameraDistY () const
s32 hopStickX () const
KartParam::Stats::DriftType vehicleType () const

Protected Attributes

TrickType m_type
SurfaceVariant m_variant
System::Trick m_nextTrick
f32 m_rotSign
TrickProperties m_properties
f32 m_angle
f32 m_angleDelta
f32 m_angleDeltaFactor
f32 m_angleDeltaFactorDec
f32 m_finalAngle
s16 m_cooldown
EGG::Quatf m_rot
KartMove * m_move

Private Attributes

s16 m_nextAllowTimer
bool m_boostRampEnabled

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ KartJump()

Kinoko::Kart::KartJump::KartJump ( KartMove * move)
0x80575A44

Definition at line 16 of file KartJump.cc.

◆ ~KartJump()

Kinoko::Kart::KartJump::~KartJump ( )
virtualdefault0x80575AA8

Member Function Documentation

◆ calc()

void Kinoko::Kart::KartJump::calc ( )
0x805763E4

Definition at line 113 of file KartJump.cc.

◆ calcInput()

void Kinoko::Kart::KartJump::calcInput ( )
0x80575B38

Definition at line 129 of file KartJump.cc.

◆ calcRot()

void Kinoko::Kart::KartJump::calcRot ( )
virtual0x805764FC

Reimplemented in Kinoko::Kart::KartJumpBike.

Definition at line 27 of file KartJump.cc.

◆ cooldown()

s16 Kinoko::Kart::KartJump::cooldown ( ) const
inlinenodiscard

Definition at line 76 of file KartJump.hh.

◆ end()

void Kinoko::Kart::KartJump::end ( )
0x805766B8

Definition at line 161 of file KartJump.cc.

◆ init()

void Kinoko::Kart::KartJump::init ( )
protectedvirtual0x8057616C

Definition at line 225 of file KartJump.cc.

◆ isBoostRampEnabled()

bool Kinoko::Kart::KartJump::isBoostRampEnabled ( ) const
inlinenodiscard

Definition at line 66 of file KartJump.hh.

◆ reset()

void Kinoko::Kart::KartJump::reset ( )
0x80575AE8

Definition at line 83 of file KartJump.cc.

◆ setAngle()

void Kinoko::Kart::KartJump::setAngle ( const EGG::Vector3f & left)
0x80576230

Definition at line 173 of file KartJump.cc.

◆ setBoostRampEnabled()

void Kinoko::Kart::KartJump::setBoostRampEnabled ( bool isSet)
inline

Definition at line 60 of file KartJump.hh.

◆ setupProperties()

void Kinoko::Kart::KartJump::setupProperties ( )
0x80576460

Definition at line 51 of file KartJump.cc.

◆ someFlagCheck()

bool Kinoko::Kart::KartJump::someFlagCheck ( )

Definition at line 123 of file KartJump.cc.

◆ start()

void Kinoko::Kart::KartJump::start ( const EGG::Vector3f & left)
protectedvirtual0x80575EE8

Definition at line 217 of file KartJump.cc.

◆ tryStart()

void Kinoko::Kart::KartJump::tryStart ( const EGG::Vector3f & left)
0x80575D7C

Definition at line 88 of file KartJump.cc.

◆ type()

TrickType Kinoko::Kart::KartJump::type ( ) const
inlinenodiscard

Definition at line 70 of file KartJump.hh.

◆ variant()

SurfaceVariant Kinoko::Kart::KartJump::variant ( ) const
inlinenodiscard

Definition at line 73 of file KartJump.hh.

Member Data Documentation

◆ m_angle

f32 Kinoko::Kart::KartJump::m_angle
protected

Definition at line 90 of file KartJump.hh.

◆ m_angleDelta

f32 Kinoko::Kart::KartJump::m_angleDelta
protected

Definition at line 91 of file KartJump.hh.

◆ m_angleDeltaFactor

f32 Kinoko::Kart::KartJump::m_angleDeltaFactor
protected

Definition at line 92 of file KartJump.hh.

◆ m_angleDeltaFactorDec

f32 Kinoko::Kart::KartJump::m_angleDeltaFactorDec
protected

Definition at line 93 of file KartJump.hh.

◆ m_boostRampEnabled

bool Kinoko::Kart::KartJump::m_boostRampEnabled
private

Definition at line 101 of file KartJump.hh.

◆ m_cooldown

s16 Kinoko::Kart::KartJump::m_cooldown
protected

Definition at line 95 of file KartJump.hh.

◆ m_finalAngle

f32 Kinoko::Kart::KartJump::m_finalAngle
protected

Definition at line 94 of file KartJump.hh.

◆ m_move

KartMove* Kinoko::Kart::KartJump::m_move
protected

Definition at line 97 of file KartJump.hh.

◆ m_nextAllowTimer

s16 Kinoko::Kart::KartJump::m_nextAllowTimer
private

Definition at line 100 of file KartJump.hh.

◆ m_nextTrick

System::Trick Kinoko::Kart::KartJump::m_nextTrick
protected

Definition at line 87 of file KartJump.hh.

◆ m_properties

TrickProperties Kinoko::Kart::KartJump::m_properties
protected

Definition at line 89 of file KartJump.hh.

◆ m_rot

EGG::Quatf Kinoko::Kart::KartJump::m_rot
protected

Definition at line 96 of file KartJump.hh.

◆ m_rotSign

f32 Kinoko::Kart::KartJump::m_rotSign
protected

Definition at line 88 of file KartJump.hh.

◆ m_type

TrickType Kinoko::Kart::KartJump::m_type
protected

Definition at line 85 of file KartJump.hh.

◆ m_variant

SurfaceVariant Kinoko::Kart::KartJump::m_variant
protected

Definition at line 86 of file KartJump.hh.