Kinoko
A reimplementation of Mario Kart Wii's physics engine in C++
Toggle main menu visibility
Loading...
Searching...
No Matches
KPadDirector.cc
1
#include "KPadDirector.hh"
2
3
namespace
Kinoko::System
{
4
6
void
KPadDirector::calc() {
7
calcPads();
8
m_playerInput.calc();
9
}
10
12
void
KPadDirector::calcPads() {
13
m_ghostController->calc();
14
m_hostController->calc();
15
}
16
18
void
KPadDirector::reset() {
19
m_playerInput.reset();
20
}
21
23
void
KPadDirector::startGhostProxies() {
24
m_playerInput.startGhostProxy();
25
}
26
28
void
KPadDirector::endGhostProxies() {
29
m_playerInput.endGhostProxy();
30
}
31
33
void
KPadDirector::setGhostPad(
const
u8 *inputs,
bool
driftIsAuto) {
34
m_playerInput.setGhostController(m_ghostController, inputs, driftIsAuto);
35
}
36
37
void
KPadDirector::setHostPad(
bool
driftIsAuto) {
38
m_playerInput.setHostController(m_hostController, driftIsAuto);
39
}
40
42
KPadDirector
*KPadDirector::CreateInstance() {
43
ASSERT(!s_instance);
44
return
s_instance = EGG::egg_new<KPadDirector>();
45
}
46
48
void
KPadDirector::DestroyInstance() {
49
ASSERT(s_instance);
50
auto
*instance = s_instance;
51
s_instance =
nullptr
;
52
EGG::egg_delete(instance);
53
}
54
56
KPadDirector::KPadDirector() {
57
m_ghostController = EGG::egg_new<KPadGhostController>();
58
m_hostController = EGG::egg_new<KPadHostController>();
59
}
60
62
KPadDirector::~KPadDirector() {
63
if
(s_instance) {
64
s_instance =
nullptr
;
65
WARN(
"KPadDirector instance not explicitly handled!"
);
66
}
67
}
68
69
KPadDirector
*KPadDirector::s_instance =
nullptr
;
70
71
}
// namespace Kinoko::System
Kinoko::System::KPadDirector
The highest level abstraction for controller processing.
Definition
KPadDirector.hh:17
Kinoko::System
High-level handling for generic system operations, such as input reading, race configuration,...
Definition
CourseMap.cc:5
game
system
KPadDirector.cc
Made by
Malleo
. Logo by
vabold
. Website generated by
Doxygen
1.17.0