#include <KartMove.hh>
Responsible for reacting to player inputs and moving the kart.
Definition at line 18 of file KartMove.hh.
Classes | |
| struct | DriftingParameters |
| Houses parameters that vary between the drift type (inward bike, outward bike, kart). More... | |
| struct | JumpPadProperties |
Public Types | |
| enum class | ePadType { BoostPanel = 0 , BoostRamp = 1 , JumpPad = 2 } |
| typedef EGG::TBitFlag< u32, ePadType > | PadType |
Public Member Functions | |
| virtual void | createSubsystems () |
| virtual void | calcTurn () |
| Each frame, looks at player input and kart stats. Saves turn-related info. | |
| virtual void | calcWheelie () |
| virtual void | setTurnParams () |
| virtual void | init (bool b1, bool b2) |
| virtual void | clear () |
| virtual f32 | leanRot () const |
| void | setInitialPhysicsValues (const EGG::Vector3f &position, const EGG::Vector3f &angles) |
| Initializes the kart's position and rotation. Calls tire suspension initializers. | |
| void | resetDriftManual () |
| Clears drift state. Called when touching ground and drift is canceled. | |
| void | calc () |
| Each frame, calculates the kart's movement. | |
| void | calcRespawnStart () |
| void | calcInRespawn () |
| void | calcRespawnBoost () |
| void | calcTop () |
| void | calcAirtimeTop () |
| Calculates rotation of the bike due to excessive airtime. | |
| void | calcSpecialFloor () |
| Every frame, calculates any boost resulting from a boost panel. | |
| void | calcDirs () |
| void | calcStickyRoad () |
| void | calcOffroad () |
| Each frame, computes rotation and speed scalars from the floor KCL. | |
| void | calcBoost () |
| void | calcRampBoost () |
| void | calcDisableBackwardsAccel () |
| Computes the current cooldown duration between braking and reversing. | |
| void | calcSsmt () |
| Calculates standstill mini-turbo components, if applicable. | |
| bool | calcPreDrift () |
| Each frame, checks for hop or slipdrift. Computes drift direction based on player input. | |
| void | calcAutoDrift () |
| Each frame, handles automatic transmission drifting. | |
| void | calcManualDrift () |
| Each frame, handles hopping, drifting, and mini-turbos. | |
| void | startManualDrift () |
| Called when the player lands from a drift hop, or to start a slipdrift. | |
| void | clearDrift () |
| void | clearJumpPad () |
| void | clearRampBoost () |
| void | clearZipperBoost () |
| void | clearBoost () |
| void | clearSsmt () |
| void | clearOffroadInvincibility () |
| void | clearRejectRoad () |
| void | releaseMt () |
| Stops charging a mini-turbo, and applies boost if charged. | |
| void | controlOutsideDriftAngle () |
| Every frame, handles mini-turbo charging and outside drifting bike rotation. | |
| void | calcRotation () |
| Every frame, calculates kart rotation based on player input. | |
| void | calcVehicleSpeed () |
| Every frame, computes speed based on acceleration and any active boosts. | |
| void | calcDeceleration () |
| f32 | calcVehicleAcceleration () const |
| Every frame, computes acceleration based off the character/vehicle stats. | |
| void | calcAcceleration () |
| Every frame, applies acceleration to the kart's internal velocity. | |
| f32 | calcWallCollisionSpeedFactor (f32 &f1) |
| Every frame, computes a speed scalar if we are colliding with a wall. | |
| void | calcWallCollisionStart (f32 param_2) |
| If we started to collide with a wall this frame, applies rotation. | |
| void | calcStandstillBoostRot () |
| STAGE Computes the x-component of angular velocity based on the kart's speed. | |
| void | calcDive () |
| Responds to player input to handle up/down kart tilt mid-air. | |
| void | calcSsmtStart () |
| Calculates whether we are starting a standstill mini-turbo. | |
| void | calcHopPhysics () |
| void | calcRejectRoad () |
| bool | calcZipperCollision (f32 radius, f32 scale, EGG::Vector3f &pos, EGG::Vector3f &upLocal, const EGG::Vector3f &prevPos, Field::CollisionInfo *colInfo, Field::KCLTypeMask *maskOut, Field::KCLTypeMask flags) const |
| f32 | calcSlerpRate (f32 scale, const EGG::Quatf &from, const EGG::Quatf &to) const |
| void | applyForce (f32 force, const EGG::Vector3f &hitDir, bool stop) |
| virtual void | calcVehicleRotation (f32 turn) |
| Every frame, calculates rotation, EV, and angular velocity for the kart. | |
| virtual void | hop () |
| Initializes hop information, resets upwards EV and clears upwards force. | |
| virtual void | onHop () |
| virtual void | onWallCollision () |
| virtual void | calcMtCharge () |
| Every frame during a drift, calculates MT/SMT charge based on player input. | |
| virtual void | initOob () |
| virtual f32 | getWheelieSoftSpeedLimitBonus () const |
| Returns the % speed boost from wheelies. For karts, this is always 0. | |
| virtual bool | canWheelie () const |
| virtual bool | canHop () const |
| bool | canStartDrift () const |
| void | tryStartBoostPanel () |
| void | tryStartBoostRamp () |
| Sets offroad invincibility and and enables the ramp boost bitfield flag. | |
| void | tryStartJumpPad () |
| Applies calculations to start interacting with a jump pad. | |
| void | tryEndJumpPad () |
| void | cancelJumpPad () |
| void | activateBoost (KartBoost::Type type, s16 frames) |
| void | applyStartBoost (s16 frames) |
| void | activateMushroom () |
| void | activateZipperBoost () |
| void | setOffroadInvincibility (s16 timer) |
| Ignores offroad KCL collision for a set amount of time. | |
| void | calcOffroadInvincibility () |
| Checks a timer to see if we are still ignoring offroad slowdown. | |
| void | calcMushroomBoost () |
| Checks a timer to see if we are still boosting from a mushroom. | |
| void | calcZipperBoost () |
| void | landTrick () |
| void | activateCrush (u16 timer) |
| void | calcCrushed () |
| void | calcScale () |
| void | applyBumpForce (f32 speed, const EGG::Vector3f &hitDir, bool resetSpeed) |
| void | enterCannon () |
| void | calcCannon () |
| void | calcRotCannon (const EGG::Vector3f &forward) |
| void | exitCannon () |
| void | triggerRespawn () |
Setters | |
| void | setSpeed (f32 val) |
| void | setSmoothedUp (const EGG::Vector3f &v) |
| void | setUp (const EGG::Vector3f &v) |
| void | setDir (const EGG::Vector3f &v) |
| void | setVel1Dir (const EGG::Vector3f &v) |
| void | setFloorCollisionCount (u16 count) |
| void | setKCLWheelSpeedFactor (f32 val) |
| void | setKCLWheelRotFactor (f32 val) |
| void | setKartSpeedLimit () |
| void | setScale (const EGG::Vector3f &v) |
| void | setPadType (PadType type) |
Getters | |
| s32 | getAppliedHopStickX () const |
| Factors in vehicle speed to retrieve our hop direction and magnitude. | |
| f32 | softSpeedLimit () const |
| f32 | speed () const |
| f32 | acceleration () const |
| const EGG::Vector3f & | scale () const |
| f32 | hardSpeedLimit () const |
| const EGG::Vector3f & | smoothedUp () const |
| const EGG::Vector3f & | up () const |
| f32 | totalScale () const |
| f32 | hitboxScale () const |
| const EGG::Vector3f & | dir () const |
| const EGG::Vector3f & | lastDir () const |
| const EGG::Vector3f & | vel1Dir () const |
| f32 | speedRatioCapped () const |
| f32 | speedRatio () const |
| u16 | floorCollisionCount () const |
| s32 | hopStickX () const |
| f32 | hopPosY () const |
| s16 | respawnTimer () const |
| s16 | respawnPostLandTimer () const |
| PadType & | padType () |
| KartJump * | jump () const |
| KartHalfPipe * | halfPipe () const |
| KartScale * | kartScale () const |
| KartBurnout & | burnout () |
Protected Types | |
| enum class | eFlags { Respawned = 0 , DriftReset = 1 , SsmtCharged = 2 , LaunchBoost = 4 , SsmtLeeway = 5 , TrickableSurface = 6 , WallBounce = 8 } |
| enum class | DriftState { NotDrifting = 0 , ChargingMt = 1 , ChargedMt = 2 , ChargingSmt = 2 , ChargedSmt = 3 } |
| enum class | DrivingDirection { Forwards = 0 , Braking = 1 , WaitingForBackwards = 2 , Backwards = 3 } |
| The direction the player is currently driving in. More... | |
| typedef EGG::TBitFlag< u16, eFlags > | Flags |
Protected Attributes | |
| f32 | m_baseSpeed |
| The speed associated with the current character/vehicle stats. | |
| f32 | m_softSpeedLimit |
| Base speed + boosts + wheelies, restricted to the hard speed limit. | |
| f32 | m_speed |
| Current speed, restricted to the soft speed limit. | |
| f32 | m_lastSpeed |
| Last frame's speed, cached to calculate angular velocity. | |
| f32 | m_processedSpeed |
| Offset 0x28. It's only ever just a copy of m_speed. | |
| f32 | m_hardSpeedLimit |
| Absolute speed cap. It's 120, unless you're in a bullet (140). | |
| f32 | m_acceleration |
| Captures the acceleration from player input and boosts. | |
| f32 | m_speedDragMultiplier |
| After 5 frames of airtime, this causes speed to slowly decay. | |
| EGG::Vector3f | m_smoothedUp |
| A smoothed up vector, mostly used after significant airtime. | |
| EGG::Vector3f | m_up |
| Vector perpendicular to the floor, pointing upwards. | |
| EGG::Vector3f | m_landingDir |
| EGG::Vector3f | m_dir |
| EGG::Vector3f | m_lastDir |
| m_speed from the previous frame but with signed magnitude. | |
| EGG::Vector3f | m_vel1Dir |
| EGG::Vector3f | m_dirDiff |
| bool | m_hasLandingDir |
| f32 | m_outsideDriftAngle |
| The facing angle of an outward-drifting vehicle. | |
| f32 | m_landingAngle |
| EGG::Vector3f | m_outsideDriftLastDir |
| Used to compute the next m_outsideDriftAngle. | |
| f32 | m_speedRatioCapped |
| m_speedRatio but capped at 1.0f. | |
| f32 | m_speedRatio |
| The ratio between current speed and the player's base speed stat. | |
| f32 | m_kclSpeedFactor |
| Float between 0-1 that scales the player's speed on offroad. | |
| f32 | m_kclRotFactor |
| Float between 0-1 that scales the player's turning radius on offroad. | |
| f32 | m_kclWheelSpeedFactor |
| The slowest speed multiplier of each wheel's floor collision. | |
| f32 | m_kclWheelRotFactor |
| The slowest rotation multiplier of each wheel's floor collision. | |
| u16 | m_floorCollisionCount |
| The number of tires colliding with the floor. | |
| s32 | m_hopStickX |
| A ternary for the direction of our hop, 0 if still neutral hopping. | |
| s32 | m_hopFrame |
| A timer that can prevent subsequent hops until reset. | |
| EGG::Vector3f | m_hopUp |
| The up vector when hopping. | |
| EGG::Vector3f | m_hopDir |
| Used for outward drift. Tracks the forward vector of our rotation. | |
| f32 | m_divingRot |
| Induces x-axis angular velocity based on up/down stick input. | |
| f32 | m_standStillBoostRot |
| DriftState | m_driftState |
| u16 | m_mtCharge |
| A value between 0 and 270 representing current MT charge. | |
| u16 | m_smtCharge |
| A value between 0 and 300 representing current SMT charge. | |
| f32 | m_outsideDriftBonus |
| Added to angular velocity when outside drifting. | |
| KartBoost | m_boost |
| s16 | m_zipperBoostTimer |
| s16 | m_zipperBoostMax |
| KartReject | m_reject |
| s16 | m_offroadInvincibility |
| How many frames until the player is affected by offroad. | |
| s16 | m_ssmtCharge |
| Increments every frame up to 75 when charging stand-still MT. | |
| s16 | m_ssmtLeewayTimer |
| Frames to forgive letting go of A before clearing SSMT charge. | |
| s16 | m_ssmtDisableAccelTimer |
| Counter that tracks delay before starting to reverse. | |
| f32 | m_realTurn |
| The "true" turn magnitude. Equal to m_weightedTurn unless drifting. | |
| f32 | m_weightedTurn |
| Magnitude+direction of stick input, factoring in the kart's stats. | |
| EGG::Vector3f | m_scale |
| Normally the unit vector, but may vary due to crush animations. | |
| f32 | m_totalScale |
| [Unused] Always 1.0f | |
| f32 | m_hitboxScale |
| u16 | m_mushroomBoostTimer |
| Number of frames until the mushroom boost runs out. | |
| u16 | m_crushTimer |
| Number of frames until player will be uncrushed. | |
| u32 | m_nonZipperAirtime |
| f32 | m_jumpPadMinSpeed |
| Snaps the player to a minimum speed when first touching a jump pad. | |
| f32 | m_jumpPadMaxSpeed |
| f32 | m_jumpPadBoostMultiplier |
| f32 | m_jumpPadSoftSpeedLimit |
| const JumpPadProperties * | m_jumpPadProperties |
| u16 | m_rampBoost |
| f32 | m_autoDriftAngle |
| s16 | m_autoDriftStartFrameCounter |
| f32 | m_cannonEntryOfsLength |
| EGG::Vector3f | m_cannonEntryPos |
| EGG::Vector3f | m_cannonEntryOfs |
| EGG::Vector3f | m_cannonOrthog |
| EGG::Vector3f | m_cannonProgress |
| f32 | m_hopVelY |
| Relative velocity due to a hop. Starts at 10 and decreases with gravity. | |
| f32 | m_hopPosY |
| Relative position as the result of a hop. Starts at 0. | |
| f32 | m_hopGravity |
| Always main gravity (-1.3f). | |
| s16 | m_timeInRespawn |
| The number of frames elapsed after position snap from respawn. | |
| s16 | m_respawnPreLandTimer |
| Counts down from 4 when pressing A before landing from respawn. | |
| s16 | m_respawnPostLandTimer |
| Counts up to 4 if not accelerating after respawn landing. | |
| s16 | m_respawnTimer |
| s16 | m_bumpTimer |
| Set when a Reaction::SmallBump collision occurs. | |
| DrivingDirection | m_drivingDirection |
| Current state of driver's direction. | |
| s16 | m_backwardsAllowCounter |
| Tracks the 15f delay before reversing. | |
| PadType | m_padType |
| Flags | m_flags |
| KartJump * | m_jump |
| KartHalfPipe * | m_halfPipe |
| Pertains to zipper physics. | |
| KartScale * | m_kartScale |
| Manages scaling due to TF stompers and MH cars. | |
| KartBurnout | m_burnout |
| Manages the state of start boost burnout. | |
| const DriftingParameters * | m_driftingParams |
| Drift-type-specific parameters. | |
| f32 | m_rawTurn |
| Float in range [-1, 1]. Represents stick magnitude + direction. | |
Static Protected Attributes | |
| static constexpr f32 | MINIMUM_DRIFT_THRESOLD = 0.55f |
Additional Inherited Members | |
Protected Member Functions inherited from 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 |
Static Protected Member Functions inherited from Kart::KartObjectProxy | |
| static std::list< KartObjectProxy * > & | proxyList () |
|
protected |
Definition at line 325 of file KartMove.hh.
| EGG::TBitFlag<u32, ePadType> Kart::KartMove::PadType |
Definition at line 26 of file KartMove.hh.
|
strongprotected |
Definition at line 327 of file KartMove.hh.
|
strongprotected |
The direction the player is currently driving in.
| Enumerator | |
|---|---|
| WaitingForBackwards | Holding reverse but waiting on a 15 frame delay. |
Definition at line 336 of file KartMove.hh.
|
strongprotected |
Definition at line 316 of file KartMove.hh.
|
strong |
Definition at line 20 of file KartMove.hh.
|
0x80577FC4 |
Definition at line 42 of file KartMove.cc.
|
virtual0x80587B78 |
Definition at line 51 of file KartMove.cc.
|
inlinenodiscard |
Definition at line 226 of file KartMove.hh.
|
0x8057F090 |
Definition at line 2045 of file KartMove.cc.
|
0x80580F28 |
Definition at line 2188 of file KartMove.cc.
|
0x8057F3D8 |
Definition at line 2057 of file KartMove.cc.
|
0x8057F96C |
Definition at line 2074 of file KartMove.cc.
|
0x80586DB4 |
Definition at line 2213 of file KartMove.cc.
|
0x80586DB4 |
Definition at line 1761 of file KartMove.cc.
|
0x8058212C |
Definition at line 2052 of file KartMove.cc.
|
inlinenodiscard |
Definition at line 310 of file KartMove.hh.
|
0x805788DC |
Each frame, calculates the kart's movement.
Calls various functions to handle drifts, hops, boosts. Afterwards, calculates the kart's speed and rotation.
Definition at line 281 of file KartMove.cc.
|
0x8057B9BC |
Every frame, applies acceleration to the kart's internal velocity.
Definition at line 1368 of file KartMove.cc.
|
0x8057D888 |
Calculates rotation of the bike due to excessive airtime.
Definition at line 481 of file KartMove.cc.
|
0x8057E0DC |
Each frame, handles automatic transmission drifting.
Definition at line 902 of file KartMove.cc.
|
0x80582694 |
Definition at line 684 of file KartMove.cc.
|
0x80584D58 |
Definition at line 2265 of file KartMove.cc.
|
0x80580F9C |
Definition at line 2195 of file KartMove.cc.
|
0x8057B028 |
Definition at line 1320 of file KartMove.cc.
|
0x8057A140 |
Definition at line 528 of file KartMove.cc.
|
Inlined in 0x805828CC |
Computes the current cooldown duration between braking and reversing.
Definition at line 714 of file KartMove.cc.
|
0x805869DC |
Responds to player input to handle up/down kart tilt mid-air.
Definition at line 1653 of file KartMove.cc.
|
0x80579968 |
Definition at line 1727 of file KartMove.cc.
|
0x80579A50 |
Definition at line 349 of file KartMove.cc.
|
0x8057DC44 |
Each frame, handles hopping, drifting, and mini-turbos.
Definition at line 957 of file KartMove.cc.
|
virtual0x8057EE50 |
Every frame during a drift, calculates MT/SMT charge based on player input.
Reimplemented in Kart::KartMoveBike.
Definition at line 1826 of file KartMove.cc.
| void Kart::KartMove::calcMushroomBoost | ( | ) |
Checks a timer to see if we are still boosting from a mushroom.
Definition at line 2124 of file KartMove.cc.
|
0x8057C3D4 |
Each frame, computes rotation and speed scalars from the floor KCL.
Definition at line 653 of file KartMove.cc.
|
0x805824F0 |
Checks a timer to see if we are still ignoring offroad slowdown.
Definition at line 2108 of file KartMove.cc.
|
0x8057E804 |
Each frame, checks for hop or slipdrift. Computes drift direction based on player input.
Definition at line 788 of file KartMove.cc.
|
0x80582804 |
Definition at line 697 of file KartMove.cc.
|
0x80579960 |
Definition at line 1738 of file KartMove.cc.
|
0x80581C90 |
Definition at line 373 of file KartMove.cc.
|
0x80584334 |
Definition at line 330 of file KartMove.cc.
|
0x8057C69C |
Every frame, calculates kart rotation based on player input.
Definition at line 1140 of file KartMove.cc.
|
0x805855BC |
Definition at line 2327 of file KartMove.cc.
|
0x8058160C |
Definition at line 2207 of file KartMove.cc.
|
0x805879A4 |
Definition at line 1754 of file KartMove.cc.
|
0x80587590 |
Every frame, calculates any boost resulting from a boost panel.
Definition at line 506 of file KartMove.cc.
|
0x805828CC |
Calculates standstill mini-turbo components, if applicable.
Definition at line 731 of file KartMove.cc.
|
Inlined in 0x805788DC |
Calculates whether we are starting a standstill mini-turbo.
Definition at line 1714 of file KartMove.cc.
|
0x8057D1D4 |
STAGE Computes the x-component of angular velocity based on the kart's speed.
Definition at line 1613 of file KartMove.cc.
|
0x80583B88 |
Definition at line 605 of file KartMove.cc.
|
0x8057D398 |
Definition at line 421 of file KartMove.cc.
|
virtual0x8057A8B4 |
Each frame, looks at player input and kart stats. Saves turn-related info.
Definition at line 67 of file KartMove.cc.
|
nodiscard0x8057B868 |
Every frame, computes acceleration based off the character/vehicle stats.
Definition at line 1334 of file KartMove.cc.
|
virtual0x8057CF0C |
Every frame, calculates rotation, EV, and angular velocity for the kart.
Reimplemented in Kart::KartMoveBike.
Definition at line 1778 of file KartMove.cc.
|
0x8057AB68 |
Every frame, computes speed based on acceleration and any active boosts.
Definition at line 1237 of file KartMove.cc.
|
nodiscard0x8057B108 |
Every frame, computes a speed scalar if we are colliding with a wall.
Definition at line 1514 of file KartMove.cc.
|
0x8057B2A0 |
If we started to collide with a wall this frame, applies rotation.
Definition at line 1547 of file KartMove.cc.
|
inlinevirtual |
Reimplemented in Kart::KartMoveBike.
Definition at line 33 of file KartMove.hh.
|
0x80582E34 |
Definition at line 2139 of file KartMove.cc.
|
0x80583F2C |
Definition at line 1743 of file KartMove.cc.
|
0x80582DB4 |
Definition at line 2039 of file KartMove.cc.
|
inlinevirtual0x8057DA18 |
Definition at line 111 of file KartMove.hh.
|
inline0x8057EA94 |
This doesn't bytematch the base game. The base game's implementation uses the > comparison. In practice, > is only ever used once, whereas >= is used in every other scenario, so we simplify by writing this function for the more common scenario.
Definition at line 129 of file KartMove.hh.
|
inlinevirtual0x8058758C |
Reimplemented in Kart::KartMoveBike.
Definition at line 106 of file KartMove.hh.
|
virtual0x8058348C |
Definition at line 224 of file KartMove.cc.
|
0x80582D94 |
Definition at line 876 of file KartMove.cc.
|
0x8057E348 |
Definition at line 841 of file KartMove.cc.
|
0x80582DB4 |
Definition at line 858 of file KartMove.cc.
|
0x80582F7C |
Definition at line 890 of file KartMove.cc.
|
0x80582DD8 |
Definition at line 864 of file KartMove.cc.
| void Kart::KartMove::clearRejectRoad | ( | ) |
Definition at line 895 of file KartMove.cc.
|
0x80582F58 |
Definition at line 882 of file KartMove.cc.
|
0x80582F38 |
Definition at line 870 of file KartMove.cc.
|
0x8057EAB8 |
Every frame, handles mini-turbo charging and outside drifting bike rotation.
Definition at line 1107 of file KartMove.cc.
|
virtual0x8057821C |
Definition at line 58 of file KartMove.cc.
|
inlinenodiscard |
Definition at line 254 of file KartMove.hh.
|
0x8058498C |
Definition at line 2231 of file KartMove.cc.
|
0x805852C8 |
Definition at line 2347 of file KartMove.cc.
|
inlinenodiscard |
Definition at line 274 of file KartMove.hh.
|
inlinenodiscard0x8057EFF8 |
Factors in vehicle speed to retrieve our hop direction and magnitude.
Definition at line 214 of file KartMove.hh.
|
inlinenodiscardvirtual0x8057C3C8 |
Returns the % speed boost from wheelies. For karts, this is always 0.
Reimplemented in Kart::KartMoveBike.
Definition at line 101 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 302 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 234 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 250 of file KartMove.hh.
|
virtual0x8057DA5C |
Initializes hop information, resets upwards EV and clears upwards force.
Definition at line 1891 of file KartMove.cc.
|
inlinenodiscard |
Definition at line 282 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 278 of file KartMove.hh.
|
virtual0x805784D4 |
Definition at line 133 of file KartMove.cc.
|
virtual0x80583658 |
Definition at line 1879 of file KartMove.cc.
|
inlinenodiscard |
Definition at line 298 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 306 of file KartMove.hh.
|
0x8057F7A8 |
Definition at line 2161 of file KartMove.cc.
|
inlinenodiscard |
Definition at line 258 of file KartMove.hh.
|
inlinenodiscardvirtual0x8058974C |
Definition at line 39 of file KartMove.hh.
|
inlinevirtual |
Reimplemented in Kart::KartMoveBike.
Definition at line 93 of file KartMove.hh.
|
inlinevirtual |
Reimplemented in Kart::KartMoveBike.
Definition at line 94 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 294 of file KartMove.hh.
|
0x80582F9C |
Stops charging a mini-turbo, and applies boost if charged.
Definition at line 1081 of file KartMove.cc.
|
0x8057EA50 |
Clears drift state. Called when touching ground and drift is canceled.
Definition at line 830 of file KartMove.cc.
|
inlinenodiscard |
Definition at line 290 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 286 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 230 of file KartMove.hh.
|
inline |
Definition at line 173 of file KartMove.hh.
|
inline |
Definition at line 181 of file KartMove.hh.
|
0x80584044 |
Initializes the kart's position and rotation. Calls tire suspension initializers.
Definition at line 244 of file KartMove.cc.
|
inline0x8057B9AC |
Definition at line 194 of file KartMove.hh.
|
inline |
Definition at line 189 of file KartMove.hh.
|
inline |
Definition at line 185 of file KartMove.hh.
|
0x805824C8 |
Ignores offroad KCL collision for a set amount of time.
| timer | Framecount to ignore offroad |
Definition at line 2097 of file KartMove.cc.
|
inline |
Definition at line 204 of file KartMove.hh.
|
inline0x80581720 |
Definition at line 200 of file KartMove.hh.
|
inline |
Definition at line 165 of file KartMove.hh.
|
inline |
Definition at line 161 of file KartMove.hh.
|
virtual0x8057829C |
Reimplemented in Kart::KartMoveBike.
Definition at line 115 of file KartMove.cc.
|
inline |
Definition at line 169 of file KartMove.hh.
|
inline |
Definition at line 177 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 238 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 218 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 222 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 270 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 266 of file KartMove.hh.
|
0x8057E3F4 |
Called when the player lands from a drift hop, or to start a slipdrift.
Definition at line 1039 of file KartMove.cc.
|
inlinenodiscard |
Definition at line 246 of file KartMove.hh.
|
0x805799AC |
Definition at line 2359 of file KartMove.cc.
|
0x80582530 |
Definition at line 2014 of file KartMove.cc.
|
Inlined at 0x80587590 |
Definition at line 1917 of file KartMove.cc.
|
Inlined at 0x80587590 |
Sets offroad invincibility and and enables the ramp boost bitfield flag.
Definition at line 1931 of file KartMove.cc.
|
0x8057FD18 |
Applies calculations to start interacting with a jump pad.
If applicable, updates external velocity
Definition at line 1949 of file KartMove.cc.
|
inlinenodiscard |
Definition at line 242 of file KartMove.hh.
|
inlinenodiscard |
Definition at line 262 of file KartMove.hh.
|
protected |
Captures the acceleration from player input and boosts.
Definition at line 363 of file KartMove.hh.
|
protected |
Definition at line 415 of file KartMove.hh.
|
protected |
Definition at line 416 of file KartMove.hh.
|
protected |
Tracks the 15f delay before reversing.
Definition at line 431 of file KartMove.hh.
|
protected |
The speed associated with the current character/vehicle stats.
Definition at line 357 of file KartMove.hh.
|
protected |
Definition at line 393 of file KartMove.hh.
|
protected |
Set when a Reaction::SmallBump collision occurs.
Definition at line 429 of file KartMove.hh.
|
protected |
Manages the state of start boost burnout.
Definition at line 437 of file KartMove.hh.
|
protected |
Definition at line 419 of file KartMove.hh.
|
protected |
Definition at line 417 of file KartMove.hh.
|
protected |
Definition at line 418 of file KartMove.hh.
|
protected |
Definition at line 420 of file KartMove.hh.
|
protected |
Definition at line 421 of file KartMove.hh.
|
protected |
Number of frames until player will be uncrushed.
Definition at line 407 of file KartMove.hh.
|
protected |
Definition at line 368 of file KartMove.hh.
|
protected |
Definition at line 371 of file KartMove.hh.
|
protected |
Induces x-axis angular velocity based on up/down stick input.
Definition at line 387 of file KartMove.hh.
|
protected |
Drift-type-specific parameters.
Definition at line 438 of file KartMove.hh.
|
protected |
Definition at line 389 of file KartMove.hh.
|
protected |
Current state of driver's direction.
Definition at line 430 of file KartMove.hh.
|
protected |
Definition at line 433 of file KartMove.hh.
|
protected |
The number of tires colliding with the floor.
Definition at line 382 of file KartMove.hh.
|
protected |
Pertains to zipper physics.
Definition at line 435 of file KartMove.hh.
|
protected |
Absolute speed cap. It's 120, unless you're in a bullet (140).
Definition at line 362 of file KartMove.hh.
|
protected |
Definition at line 372 of file KartMove.hh.
|
protected |
Definition at line 405 of file KartMove.hh.
|
protected |
Used for outward drift. Tracks the forward vector of our rotation.
Definition at line 386 of file KartMove.hh.
|
protected |
A timer that can prevent subsequent hops until reset.
Definition at line 384 of file KartMove.hh.
|
protected |
Always main gravity (-1.3f).
Definition at line 424 of file KartMove.hh.
|
protected |
Relative position as the result of a hop. Starts at 0.
Definition at line 423 of file KartMove.hh.
|
protected |
A ternary for the direction of our hop, 0 if still neutral hopping.
Definition at line 383 of file KartMove.hh.
|
protected |
The up vector when hopping.
Definition at line 385 of file KartMove.hh.
|
protected |
Relative velocity due to a hop. Starts at 10 and decreases with gravity.
Definition at line 422 of file KartMove.hh.
|
protected |
Definition at line 434 of file KartMove.hh.
|
protected |
Definition at line 411 of file KartMove.hh.
|
protected |
Definition at line 410 of file KartMove.hh.
|
protected |
Snaps the player to a minimum speed when first touching a jump pad.
Definition at line 409 of file KartMove.hh.
|
protected |
Definition at line 413 of file KartMove.hh.
|
protected |
Definition at line 412 of file KartMove.hh.
|
protected |
Manages scaling due to TF stompers and MH cars.
Definition at line 436 of file KartMove.hh.
|
protected |
Float between 0-1 that scales the player's turning radius on offroad.
Definition at line 379 of file KartMove.hh.
|
protected |
Float between 0-1 that scales the player's speed on offroad.
Definition at line 378 of file KartMove.hh.
|
protected |
The slowest rotation multiplier of each wheel's floor collision.
Definition at line 381 of file KartMove.hh.
|
protected |
The slowest speed multiplier of each wheel's floor collision.
Definition at line 380 of file KartMove.hh.
|
protected |
Definition at line 374 of file KartMove.hh.
|
protected |
Definition at line 367 of file KartMove.hh.
|
protected |
m_speed from the previous frame but with signed magnitude.
Definition at line 369 of file KartMove.hh.
|
protected |
Last frame's speed, cached to calculate angular velocity.
Definition at line 360 of file KartMove.hh.
|
protected |
A value between 0 and 270 representing current MT charge.
Definition at line 390 of file KartMove.hh.
|
protected |
Number of frames until the mushroom boost runs out.
Definition at line 406 of file KartMove.hh.
|
protected |
Definition at line 408 of file KartMove.hh.
|
protected |
How many frames until the player is affected by offroad.
Definition at line 397 of file KartMove.hh.
|
protected |
The facing angle of an outward-drifting vehicle.
Definition at line 373 of file KartMove.hh.
|
protected |
Added to angular velocity when outside drifting.
Definition at line 392 of file KartMove.hh.
|
protected |
Used to compute the next m_outsideDriftAngle.
Definition at line 375 of file KartMove.hh.
|
protected |
Definition at line 432 of file KartMove.hh.
|
protected |
Offset 0x28. It's only ever just a copy of m_speed.
Definition at line 361 of file KartMove.hh.
|
protected |
Definition at line 414 of file KartMove.hh.
|
protected |
Float in range [-1, 1]. Represents stick magnitude + direction.
Definition at line 439 of file KartMove.hh.
|
protected |
The "true" turn magnitude. Equal to m_weightedTurn unless drifting.
Definition at line 401 of file KartMove.hh.
|
protected |
Definition at line 396 of file KartMove.hh.
|
protected |
Counts up to 4 if not accelerating after respawn landing.
Definition at line 427 of file KartMove.hh.
|
protected |
Counts down from 4 when pressing A before landing from respawn.
Definition at line 426 of file KartMove.hh.
|
protected |
Definition at line 428 of file KartMove.hh.
|
protected |
Normally the unit vector, but may vary due to crush animations.
Definition at line 403 of file KartMove.hh.
|
protected |
A smoothed up vector, mostly used after significant airtime.
Definition at line 365 of file KartMove.hh.
|
protected |
A value between 0 and 300 representing current SMT charge.
Definition at line 391 of file KartMove.hh.
|
protected |
Base speed + boosts + wheelies, restricted to the hard speed limit.
Definition at line 358 of file KartMove.hh.
|
protected |
Current speed, restricted to the soft speed limit.
Definition at line 359 of file KartMove.hh.
|
protected |
After 5 frames of airtime, this causes speed to slowly decay.
Definition at line 364 of file KartMove.hh.
|
protected |
The ratio between current speed and the player's base speed stat.
Definition at line 377 of file KartMove.hh.
|
protected |
m_speedRatio but capped at 1.0f.
Definition at line 376 of file KartMove.hh.
|
protected |
Increments every frame up to 75 when charging stand-still MT.
Definition at line 398 of file KartMove.hh.
|
protected |
Counter that tracks delay before starting to reverse.
Definition at line 400 of file KartMove.hh.
|
protected |
Frames to forgive letting go of A before clearing SSMT charge.
Definition at line 399 of file KartMove.hh.
|
protected |
Definition at line 388 of file KartMove.hh.
|
protected |
The number of frames elapsed after position snap from respawn.
Definition at line 425 of file KartMove.hh.
|
protected |
[Unused] Always 1.0f
Definition at line 404 of file KartMove.hh.
|
protected |
Vector perpendicular to the floor, pointing upwards.
Definition at line 366 of file KartMove.hh.
|
protected |
Definition at line 370 of file KartMove.hh.
|
protected |
Magnitude+direction of stick input, factoring in the kart's stats.
Definition at line 402 of file KartMove.hh.
|
protected |
Definition at line 395 of file KartMove.hh.
|
protected |
Definition at line 394 of file KartMove.hh.
|
staticconstexprprotected |
Definition at line 441 of file KartMove.hh.