A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
Status.hh
1#pragma once
2
3#include <egg/core/BitFlag.hh>
4
5namespace Kart {
6
8enum class eStatus {
9 Accelerate = 0,
10 Brake = 1,
15 DriftInput = 2,
16 DriftManual = 3,
17 BeforeRespawn = 4,
18 Wall3Collision = 5,
19 WallCollision = 6,
20 HopStart = 7,
21 AccelerateStart = 8,
22 GroundStart = 9,
26 StickLeft = 13,
28 AirtimeOver20 = 15,
29 StickyRoad = 16,
30 TouchingGround = 18,
31 Hop = 19,
32 Boost = 20,
33 AirStart = 23,
34 StickRight = 24,
35 LargeFlipHit = 25,
36 MushroomBoost = 26,
37 SlipdriftCharge = 27,
38 DriftAuto = 28,
39 Wheelie = 29,
40 JumpPad = 30,
41 RampBoost = 31,
42
43 InAction = 32,
44 TriggerRespawn = 33,
45 CannonStart = 35,
46 InCannon = 36,
47 TrickStart = 37,
48 InATrick = 38,
50 HalfPipeRamp = 41,
51 OverZipper = 42,
52 JumpPadMushroomCollision = 43,
54 ZipperBoost = 45,
55 ZipperStick = 46,
56 ZipperTrick = 47,
58 RespawnKillY = 49,
59 Burnout = 50,
60 TrickRot = 54,
61 JumpPadMushroomVelYInc = 55,
62 ChargingSSMT = 57,
63 RejectRoad = 59,
65 Trickable = 62,
66
67 WheelieRot = 68,
68 SkipWheelCalc = 69,
69 JumpPadMushroomTrigger = 70,
70 NoSparkInvisibleWall = 75,
71 CollidingOffroad = 76,
72 InRespawn = 77,
73 AfterRespawn = 78,
74 Crushed = 80,
75 JumpPadFixedSpeed = 84,
76 JumpPadDisableYsusForce = 86,
77 HalfpipeMidair = 87,
78
79 UNK2 = 97,
80 SomethingWallCollision = 99,
81 SoftWallDrift = 100,
82 HWG = 101,
83 AfterCannon = 102,
84 ActionMidZipper = 103,
85 ChargeStartBoost = 104,
86 EndHalfPipe = 107,
87
88 AutoDrift = 133,
89
90 FlagMax,
91};
93
94} // namespace Kart
Wrapper around a variable length bitfield with an enum corresponding to its bits.
Definition BitFlag.hh:322
Pertains to kart-related functionality.
eStatus
This is a union of the 5 bitfields contained within KartState.
Definition Status.hh:8
@ Wheelie
Set while we are in a wheelie (even during the countdown).
@ HopStart
Set if m_bDriftInput was toggled on this frame.
@ RejectRoad
Collision which causes a change in the player's pos and rot.
@ DisableBackwardsAccel
Enforces a 20f delay when reversing after charging SSMT.
@ HalfPipeRamp
Set while colliding with zipper KCL.
@ FlagMax
Internal. Total number of bits in the status.
@ Boost
Set while in a boost.
@ BoostOffroadInvincibility
Set if we should ignore offroad slowdown this frame.
@ HWG
Set when "Horizontal Wall Glitch" is active.
@ ZipperTrick
Set while tricking mid-air from a zipper.
@ SlipdriftCharge
Currently in a drift w/ automatic.
@ Hop
Set while we are in a drift hop. Clears when we land.
@ MushroomBoost
Set while we are in a mushroom boost.
@ StickyRoad
Like the rBC stairs.
@ ZipperStick
Set while mid-air and still influenced by the zipper.
@ StickLeft
Set on left stick input. Mutually exclusive to m_bStickRight.
@ RespawnKillY
Set while respawning to cap external velocity at 0.
@ VehicleBodyFloorCollision
Set if the vehicle body is colliding with the floor.
@ ChargeStartBoost
Like m_bAccelerate but during countdown.
@ LargeFlipHit
Set when hitting an exploding object.
@ RejectRoadTrigger
e.g. DK Summit ending, and Maple Treeway side walls.
@ GroundStart
Set first frame landing from airtime.
@ AllWheelsCollision
Set when all wheels are touching floor collision.
@ Accelerate
Accel button is pressed.
@ StickRight
Set on right stick input. Mutually exclusive to m_bStickLeft.
@ ActionMidZipper
Set when we enter an action while mid-air from a zipper.
@ DriftInput
A "fake" button, normally set if you meet the speed requirement to hop.
@ AirtimeOver20
Set after 20 frames of airtime, resets on landing.
@ ZipperBoost
Set when boosting after landing from a zipper.
@ DriftManual
Currently in a drift w/ manual.
@ OverZipper
Set while mid-air from a zipper.
@ ChargingSSMT
Tracks whether we are charging a stand-still mini-turbo.
@ AccelerateStart
Set if m_bAccelerate was toggled on this frame.
@ Burnout
Set during a burnout on race start.
@ WallCollisionStart
Set if we have just started colliding with a wall.
@ AnyWheelCollision
Set when any wheel is touching floor collision.
@ AutoDrift
True if auto transmission, false if manual.
@ Wall3Collision
Set when colliding with wall KCL COL_TYPE_WALL_2.
@ TouchingGround
Set when any part of the vehicle is colliding with floor KCL.
@ ZipperInvisibleWall
Set when colliding with invisible wall above a zipper.
@ BeforeRespawn
Set on respawn collision, cleared on position snap.
@ WallCollision
Set if we are colliding with a wall.