Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectKoopaFigure64.hh
1
#pragma once
2
3
#include "game/field/obj/ObjectCollidable.hh"
4
5
namespace
Kinoko::Field
{
6
9
class
ObjectKoopaFigure64
final :
public
ObjectCollidable
{
10
public
:
11
ObjectKoopaFigure64
(
const
System::MapdataGeoObj
¶ms);
12
~ObjectKoopaFigure64
()
override
;
13
14
void
init()
override
;
15
void
calc()
override
;
16
19
[[nodiscard]] u32
loadFlags
()
const override
{
20
return
1;
21
}
22
24
void
createCollision()
override
{
25
if
(
m_isBigStatue
) {
26
ObjectCollidable::createCollision();
27
}
28
}
29
30
void
calcCollisionTransform()
override
;
31
33
Kart::Reaction onCollision(Kart::KartObject *
/*kartObj*/
, Kart::Reaction reactionOnKart,
34
Kart::Reaction
/*reactionOnObj*/
, EGG::Vector3f &hitDepth)
override
{
35
hitDepth.setZero();
36
return
reactionOnKart;
37
}
38
39
private
:
40
const
bool
m_isBigStatue
;
41
const
u32 m_startDelay;
42
u32 m_cycleFrame;
43
44
static
constexpr
u32
FIRE_DURATION
= 300;
45
static
constexpr
u32
COOLDOWN_DURATION
= 180;
46
static
constexpr
u32 CYCLE_DURATION =
FIRE_DURATION
+
COOLDOWN_DURATION
;
47
};
48
49
}
// namespace Kinoko::Field
Kinoko::Field::ObjectCollidable
Definition
ObjectCollidable.hh:18
Kinoko::Field::ObjectKoopaFigure64
The Bowser statues on N64 Bowser's Castle.
Definition
ObjectKoopaFigure64.hh:9
Kinoko::Field::ObjectKoopaFigure64::FIRE_DURATION
static constexpr u32 FIRE_DURATION
How long the statue shoots fire for in a cycle.
Definition
ObjectKoopaFigure64.hh:44
Kinoko::Field::ObjectKoopaFigure64::COOLDOWN_DURATION
static constexpr u32 COOLDOWN_DURATION
How long fire is disabled for in a cycle.
Definition
ObjectKoopaFigure64.hh:45
Kinoko::Field::ObjectKoopaFigure64::m_isBigStatue
const bool m_isBigStatue
Differentiates the first rBC turn statue from tiny statues.
Definition
ObjectKoopaFigure64.hh:40
Kinoko::Field::ObjectKoopaFigure64::loadFlags
u32 loadFlags() const override
Definition
ObjectKoopaFigure64.hh:19
Kinoko::System::MapdataGeoObj
Definition
MapdataGeoObj.hh:9
Kinoko::Field
Pertains to collision.
Definition
BoxColManager.cc:8
game
field
obj
ObjectKoopaFigure64.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.12.0