Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
ObjectHeyhoShip.hh
1
#pragma once
2
3
#include "game/field/StateManager.hh"
4
#include "game/field/obj/ObjectProjectileLauncher.hh"
5
6
namespace
Field
{
7
9
class
ObjectHeyhoShip
final :
public
ObjectProjectileLauncher
{
10
public
:
11
ObjectHeyhoShip
(
const
System::MapdataGeoObj
¶ms);
12
~ObjectHeyhoShip
()
override
;
13
14
void
init()
override
;
15
void
calc()
override
;
16
18
[[nodiscard]] u32 loadFlags()
const override
{
19
return
1;
20
}
21
23
[[nodiscard]] s16
launchPointIdx
()
override
{
24
return
m_framesSinceLastLaunch == 0 ? m_railInterpolator->curPointIdx() : -1;
25
}
26
28
const
EGG::Vector3f
&initRailDir(
u16
idx) {
29
m_railInterpolator->init(0.0f,
static_cast<
u32
>
(idx));
30
return
m_railInterpolator->curTangentDir();
31
}
32
33
void
calcPos();
34
35
const
f32
m_yAmplitude
;
36
u32 m_frame;
37
u32 m_framesSinceLastLaunch;
38
};
39
40
}
// namespace Field
Field::ObjectHeyhoShip
The ship on GBA Shy Guy Beach that shoots cannonballs.
Definition
ObjectHeyhoShip.hh:9
Field::ObjectHeyhoShip::m_yAmplitude
const f32 m_yAmplitude
How much the ship bobs up and down.
Definition
ObjectHeyhoShip.hh:35
Field::ObjectHeyhoShip::launchPointIdx
s16 launchPointIdx() override
Used by ObjectSniper to check which object (if any) should be thrown.
Definition
ObjectHeyhoShip.hh:23
Field::ObjectProjectileLauncher
Abstract class that moves along its own rail and throws projectiles.
Definition
ObjectProjectileLauncher.hh:8
System::MapdataGeoObj
Definition
MapdataGeoObj.hh:9
uint16_t
Field
Pertains to collision.
Definition
BoxColManager.cc:8
EGG::Vector3f
A 3D float vector.
Definition
Vector.hh:88
game
field
obj
ObjectHeyhoShip.hh
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.12.0