BEEP-8 Helper Lib 1.0.0
Loading...
Searching...
No Matches
nesctrl.h
Go to the documentation of this file.
1
10#pragma once
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#include <beep8.h>
17
26public:
27 s16 left_pix = 8;
28 s16 top_pix = 160;
29 s16 radius_pix = 4;
31 u8 img_utile = B8_PPU_MAX_WTILE - 8;
32 u8 img_vtile = B8_PPU_MAX_HTILE - 16;
34 u8 img_pal = 1;
36 u8 clear_color = B8_PPU_COLOR_BLACK;
38 bool debug_visual = false;
39};
40
47enum class ENesCtrl : u8 {
48 LEFT,
49 UP,
50 RIGHT,
51 DOWN,
52 BTN_A,
53 BTN_B,
54 MAX
55};
56
57class ImplCNesCtrl;
58
66class CNesCtrl {
67 ImplCNesCtrl* impl;
68 CfgNesCtrl _cfg;
69public:
73 void Reset();
74
78 void Step();
79
85 void Draw( b8PpuCmd* pcmd , u32 otz );
86
92 u32 GetCntHold( ENesCtrl enc );
93
99 u32 GetCntRelease( ENesCtrl enc );
100
105 CNesCtrl( const CfgNesCtrl& cfg );
106
110 ~CNesCtrl();
111};
112
113#ifdef __cplusplus
114}
115#endif
NES controller emulation class.
Definition nesctrl.h:66
~CNesCtrl()
Destructor for CNesCtrl.
Definition nesctrl.cpp:246
void Reset()
Reset the NES controller state and load images.
Definition nesctrl.cpp:31
void Step()
Process touch events and update the controller state.
Definition nesctrl.cpp:138
u32 GetCntRelease(ENesCtrl enc)
Get the release count for a specific button.
Definition nesctrl.cpp:235
CNesCtrl(const CfgNesCtrl &cfg)
Constructor for CNesCtrl.
Definition nesctrl.cpp:240
void Draw(b8PpuCmd *pcmd, u32 otz)
Draw the NES controller on the screen.
Definition nesctrl.cpp:168
u32 GetCntHold(ENesCtrl enc)
Get the hold count for a specific button.
Definition nesctrl.cpp:230
Configuration for the NES controller.
Definition nesctrl.h:25
s16 radius_pix
Definition nesctrl.h:29
u8 img_vtile
Definition nesctrl.h:32
u8 clear_color
Definition nesctrl.h:36
bool debug_visual
Definition nesctrl.h:38
s16 left_pix
Definition nesctrl.h:27
s16 top_pix
Definition nesctrl.h:28
u8 img_utile
Definition nesctrl.h:31
u8 img_pal
Definition nesctrl.h:34
Definition nesctrl.cpp:21
ENesCtrl
Enumeration of NES controller buttons.
Definition nesctrl.h:47