Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Toggle main menu visibility
Loading...
Searching...
No Matches
JugemSwitch.cc
1
#include "JugemSwitch.hh"
2
3
#include "game/kart/KartObjectManager.hh"
4
5
#include "game/system/RaceManager.hh"
6
7
namespace
Kinoko::Field
{
8
9
void
JugemSwitchReverse::calc() {
10
constexpr
f32 ACTIVATION_FRAME_STEP = 1.0f / 60.0f;
11
12
if
(System::RaceManager::Instance()->player().drivingWrongWay()) {
13
const
auto
&kartStatus = Kart::KartObjectManager::Instance()->object(0)->status();
14
if
(kartStatus.offBit(Kart::eStatus::InAction)) {
15
m_activationPercent
+= ACTIVATION_FRAME_STEP;
16
}
17
18
if
(
m_activationPercent
> 1.0f && kartStatus.offBit(
Kart::eStatus::BeforeRespawn
)) {
19
m_activationPercent
= 1.0f;
20
m_isOn =
true
;
21
}
22
}
else
{
23
m_activationPercent
-= ACTIVATION_FRAME_STEP;
24
if
(
m_activationPercent
< 0.0f) {
25
m_activationPercent
= 0.0f;
26
m_isOn =
false
;
27
}
28
}
29
}
30
31
}
// namespace Kinoko::Field
Kinoko::Field::JugemSwitchReverse::m_activationPercent
f32 m_activationPercent
Lakitu is activated when this reaches 1.0f.
Definition
JugemSwitch.hh:41
Kinoko::Field
Pertains to collision.
Definition
BoxColManager.cc:10
Kinoko::Kart::eStatus::BeforeRespawn
@ BeforeRespawn
Set on respawn collision, cleared on position snap.
Definition
Status.hh:17
game
field
jugem
JugemSwitch.cc
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.17.0