MTek-GDL 0.100.4-muffintrap
Loading...
Searching...
No Matches
mgdl-controller.h
Go to the documentation of this file.
1#pragma once
2
8#include "mgdl-types.h"
9#include "mgdl-vector.h"
10
15{
16 Button2 = 0x0001,
17 Button1 = 0x0002,
18 ButtonB = 0x0004,
19 ButtonA = 0x0008,
20 ButtonMinus = 0x0010,
21 ButtonHome = 0x0080,
22 ButtonLeft = 0x0100,
23 ButtonRight = 0x0200,
24 ButtonDown = 0x0400,
25 ButtonUp = 0x0800,
26 ButtonPlus = 0x1000,
27
28 // Nunchuck
29 ButtonZ = (0x0001 << 16),
30 ButtonC = (0x0002 << 16)
31};
32typedef enum WiiButtons WiiButtons;
33
41{
42 u32 _pressedButtons;
43 u32 _releasedButtons;
44 u32 _heldButtons;
45 float _nunchukJoystickDirectionX;
46 float _nunchukJoystickDirectionY;
47 float _cursorX;
48 float _cursorY;
49 float _roll;
50 float _pitch;
51 float _yaw;
52
53 // Which controller number this is: 0-3
54 u8 _channel;
55};
56typedef struct WiiController WiiController;
57
58#ifdef __cplusplus
59extern "C"
60{
61#endif
62
67void WiiController_Init(WiiController* controller, u8 channel);
68
74
80
81// Button values are same as in <wiiuse/wpad.h>
88bool WiiController_ButtonPress(WiiController* controller, int buttonEnum);
94bool WiiController_ButtonRelease(WiiController* controller, int buttonEnum);
95
101bool WiiController_ButtonHeld(WiiController* controller, int buttonEnum);
102
108
115
120float WiiController_GetRoll(WiiController* controller);
125float WiiController_GetPitch(WiiController* controller);
130float WiiController_GetYaw(WiiController* controller);
131
132const char* WiiController_GetButtonSymbol(int buttonEnum);
133
134void _WiiController_SetButtonDown(WiiController* controller, int buttonEnum);
135void _WiiController_SetButtonUp(WiiController* controller, int buttonEnum);
136
137#ifdef __cplusplus
138}
139#endif
WiiButtons
Enum values for all the buttons on the Wii Controller.
Definition mgdl-controller.h:15
bool WiiController_ButtonHeld(WiiController *controller, int buttonEnum)
Tells if a button is down.
Definition mgdl-controller.cpp:36
void WiiController_ZeroAllInputs(WiiController *controller)
Zero all inputs on a controller.
Definition mgdl-controller.cpp:10
float WiiController_GetYaw(WiiController *controller)
Returns the yaw reported by the gyroscope in radians.
Definition mgdl-controller.cpp:60
vec2 WiiController_GetNunchukJoystickDirection(WiiController *controller)
Returns the direction of the nunchuck joystick.
Definition mgdl-controller.cpp:48
void WiiController_Init(WiiController *controller, u8 channel)
Initialize a controller and set a channel for it.
Definition mgdl-controller.cpp:4
bool WiiController_ButtonRelease(WiiController *controller, int buttonEnum)
Tells if a button was released this frame.
Definition mgdl-controller.cpp:32
float WiiController_GetRoll(WiiController *controller)
Returns the roll reported by the gyroscope in radians.
Definition mgdl-controller.cpp:64
float WiiController_GetPitch(WiiController *controller)
Returns the pitch reported by the gyroscope in radians.
Definition mgdl-controller.cpp:56
bool WiiController_ButtonPress(WiiController *controller, int buttonEnum)
Tells if a button was pressed down this frame.
Definition mgdl-controller.cpp:28
vec2 WiiController_GetCursorPosition(WiiController *controller)
Returns the position of the cursor.
Definition mgdl-controller.cpp:40
void WiiController_StartFrame(WiiController *controller)
Prepares controller for input.
Definition mgdl-controller.cpp:22
Library types, macros, defines and enums header.
Struct representing the Wii controller.
Definition mgdl-controller.h:41