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

#include <KartParam.hh>

Description

Various character/vehicle-related handling and speed stats.

Definition at line 67 of file KartParam.hh.

Public Types

enum class  Body {
  Four_Wheel_Kart = 0 ,
  Handle_Relative_Bike = 1 ,
  Vehicle_Relative_Bike = 2 ,
  Three_Wheel_Kart = 3
}
 The body style of the vehicle. Basically the number of wheels. More...
 
enum class  DriftType {
  Outside_Drift_Kart = 0 ,
  Outside_Drift_Bike = 1 ,
  Inside_Drift_Bike = 2
}
 The type of drift (inside/outside). More...
 

Public Member Functions

 Stats (EGG::RamStream &stream)
 
void read (EGG::RamStream &stream)
 Parses out the stats for a given KartParam.bin stream.
 
void applyCharacterBonus (EGG::RamStream &stream)
 Applies character stats on top of the kart stats.
 

Public Attributes

Body body
 
DriftType driftType
 
WeightClass weightClass
 
f32 _00c
 [Unused]
 
f32 weight
 Contrary to popular belief, this does not affect gravity.
 
f32 bumpDeviationLevel
 
f32 speed
 Base full speed of the character/vehicle combo.
 
f32 turningSpeed
 Speed decrement percentage of the vehicle when handling.
 
f32 tilt
 
std::array< f32, 4 > accelerationStandardA
 
std::array< f32, 3 > accelerationStandardT
 
std::array< f32, 2 > accelerationDriftA
 
std::array< f32, 1 > accelerationDriftT
 
f32 handlingManualTightness
 Affects turn radius when manual and not drifting.
 
f32 handlingAutomaticTightness
 Affects turn radius when auto and not drifting.
 
f32 handlingReactivity
 A weight applied to turn radius when not drifting.
 
f32 driftManualTightness
 Affects turn radius when manual drifting.
 
f32 driftAutomaticTightness
 Affects turn radius when automatic drifting.
 
f32 driftReactivity
 A weight applied to turn radius when drifting.
 
f32 driftOutsideTargetAngle
 
f32 driftOutsideDecrement
 
u32 miniTurbo
 The framecount duration of a charged mini-turbo.
 
std::array< f32, 32 > kclSpeed
 Speed multipliers, indexed using KCL attributes.
 
std::array< f32, 32 > kclRot
 Rotation scalars, indexed using KCL attributes.
 
f32 itemUnk170
 [Unused]
 
f32 itemUnk174
 [Unused]
 
f32 itemUnk178
 [Unused]
 
f32 itemUnk17c
 [Unused]
 
f32 maxNormalAcceleration
 
f32 megaScale
 
f32 wheelDistance
 

Member Enumeration Documentation

◆ Body

enum class Kart::KartParam::Stats::Body
strong

The body style of the vehicle. Basically the number of wheels.

Enumerator
Four_Wheel_Kart 

Used by most karts.

Handle_Relative_Bike 

Used by most bikes.

Vehicle_Relative_Bike 

Used by Quacker.

Three_Wheel_Kart 

Used by Blue Falcon.

Definition at line 69 of file KartParam.hh.

◆ DriftType

The type of drift (inside/outside).

Definition at line 77 of file KartParam.hh.

Constructor & Destructor Documentation

◆ Stats()

Kart::KartParam::Stats::Stats ( EGG::RamStream & stream)

Definition at line 58 of file KartParam.cc.

Member Function Documentation

◆ applyCharacterBonus()

void Kart::KartParam::Stats::applyCharacterBonus ( EGG::RamStream & stream)

Applies character stats on top of the kart stats.

Parameters
streamA RamStream of data from driverParam.bin

Definition at line 112 of file KartParam.cc.

◆ read()

void Kart::KartParam::Stats::read ( EGG::RamStream & stream)

Parses out the stats for a given KartParam.bin stream.

Parameters
streamA RamStream of data from KartParam.bin

Definition at line 64 of file KartParam.cc.

Member Data Documentation

◆ _00c

f32 Kart::KartParam::Stats::_00c

[Unused]

Definition at line 92 of file KartParam.hh.

◆ accelerationDriftA

std::array<f32, 2> Kart::KartParam::Stats::accelerationDriftA

Definition at line 101 of file KartParam.hh.

◆ accelerationDriftT

std::array<f32, 1> Kart::KartParam::Stats::accelerationDriftT

Definition at line 102 of file KartParam.hh.

◆ accelerationStandardA

std::array<f32, 4> Kart::KartParam::Stats::accelerationStandardA

Definition at line 99 of file KartParam.hh.

◆ accelerationStandardT

std::array<f32, 3> Kart::KartParam::Stats::accelerationStandardT

Definition at line 100 of file KartParam.hh.

◆ body

Body Kart::KartParam::Stats::body

Definition at line 89 of file KartParam.hh.

◆ bumpDeviationLevel

f32 Kart::KartParam::Stats::bumpDeviationLevel

Definition at line 95 of file KartParam.hh.

◆ driftAutomaticTightness

f32 Kart::KartParam::Stats::driftAutomaticTightness

Affects turn radius when automatic drifting.

Definition at line 107 of file KartParam.hh.

◆ driftManualTightness

f32 Kart::KartParam::Stats::driftManualTightness

Affects turn radius when manual drifting.

Definition at line 106 of file KartParam.hh.

◆ driftOutsideDecrement

f32 Kart::KartParam::Stats::driftOutsideDecrement

Definition at line 110 of file KartParam.hh.

◆ driftOutsideTargetAngle

f32 Kart::KartParam::Stats::driftOutsideTargetAngle

Definition at line 109 of file KartParam.hh.

◆ driftReactivity

f32 Kart::KartParam::Stats::driftReactivity

A weight applied to turn radius when drifting.

Definition at line 108 of file KartParam.hh.

◆ driftType

DriftType Kart::KartParam::Stats::driftType

Definition at line 90 of file KartParam.hh.

◆ handlingAutomaticTightness

f32 Kart::KartParam::Stats::handlingAutomaticTightness

Affects turn radius when auto and not drifting.

Definition at line 104 of file KartParam.hh.

◆ handlingManualTightness

f32 Kart::KartParam::Stats::handlingManualTightness

Affects turn radius when manual and not drifting.

Definition at line 103 of file KartParam.hh.

◆ handlingReactivity

f32 Kart::KartParam::Stats::handlingReactivity

A weight applied to turn radius when not drifting.

Definition at line 105 of file KartParam.hh.

◆ itemUnk170

f32 Kart::KartParam::Stats::itemUnk170

[Unused]

Definition at line 114 of file KartParam.hh.

◆ itemUnk174

f32 Kart::KartParam::Stats::itemUnk174

[Unused]

Definition at line 115 of file KartParam.hh.

◆ itemUnk178

f32 Kart::KartParam::Stats::itemUnk178

[Unused]

Definition at line 116 of file KartParam.hh.

◆ itemUnk17c

f32 Kart::KartParam::Stats::itemUnk17c

[Unused]

Definition at line 117 of file KartParam.hh.

◆ kclRot

std::array<f32, 32> Kart::KartParam::Stats::kclRot

Rotation scalars, indexed using KCL attributes.

Definition at line 113 of file KartParam.hh.

◆ kclSpeed

std::array<f32, 32> Kart::KartParam::Stats::kclSpeed

Speed multipliers, indexed using KCL attributes.

Definition at line 112 of file KartParam.hh.

◆ maxNormalAcceleration

f32 Kart::KartParam::Stats::maxNormalAcceleration

Definition at line 118 of file KartParam.hh.

◆ megaScale

f32 Kart::KartParam::Stats::megaScale

Definition at line 119 of file KartParam.hh.

◆ miniTurbo

u32 Kart::KartParam::Stats::miniTurbo

The framecount duration of a charged mini-turbo.

Definition at line 111 of file KartParam.hh.

◆ speed

f32 Kart::KartParam::Stats::speed

Base full speed of the character/vehicle combo.

Definition at line 96 of file KartParam.hh.

◆ tilt

f32 Kart::KartParam::Stats::tilt

Definition at line 98 of file KartParam.hh.

◆ turningSpeed

f32 Kart::KartParam::Stats::turningSpeed

Speed decrement percentage of the vehicle when handling.

Definition at line 97 of file KartParam.hh.

◆ weight

f32 Kart::KartParam::Stats::weight

Contrary to popular belief, this does not affect gravity.

Definition at line 94 of file KartParam.hh.

◆ weightClass

WeightClass Kart::KartParam::Stats::weightClass

Definition at line 91 of file KartParam.hh.

◆ wheelDistance

f32 Kart::KartParam::Stats::wheelDistance

Definition at line 120 of file KartParam.hh.