A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
KPadDirector.hh
1#pragma once
2
3#include "game/system/KPadController.hh"
4
5namespace System {
6
10public:
11 void calc();
12 void calcPads();
13
15 void clear() {}
16
17 void reset();
18 void startGhostProxies();
19 void endGhostProxies();
20
21 [[nodiscard]] const KPadPlayer &playerInput() const {
22 return m_playerInput;
23 }
24
25 [[nodiscard]] KPadHostController *hostController() {
26 return m_hostController;
27 }
28
29 void setGhostPad(const u8 *inputs, bool driftIsAuto);
30 void setHostPad(bool driftIsAuto);
31
32 static KPadDirector *CreateInstance();
33 static void DestroyInstance();
34
35 [[nodiscard]] static KPadDirector *Instance() {
36 return s_instance;
37 }
38
39private:
41 ~KPadDirector() override;
42
43 KPadPlayer m_playerInput;
44 KPadGhostController *m_ghostController;
45 KPadHostController *m_hostController;
46
47 static KPadDirector *s_instance;
48};
49
50} // namespace System
An interface for ensuring certain structures and classes are destroyed with the heap.
Definition Disposer.hh:11
The highest level abstraction for controller processing.
The abstraction of a controller object but for ghost playback.
The abstraction of a controller object but for external usage.
A specialized KPad for player input, as opposed to CPU players for example.
High-level handling for generic system operations, such as input reading, race configuration,...
Definition CourseMap.cc:5