blob: 723567500d67da427f48ea37c91d7adbd7779b8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#include "input.h"
#include "lzy.h"
static const unsigned int keys[6] = {LZYK_LEFT, LZYK_RIGHT, LZYK_UP,
LZYK_DOWN, LZYK_O, LZYK_X};
static int states[6] = {0};
void input_update(void)
{
int i = 6;
while (i-- > 0)
if (LZY_KeyDown(keys[i]))
states[i] =
(states[i] == KS_UP) ? (KS_PRESSED) : (KS_DOWN);
else
states[i] = KS_UP;
}
int input_up(unsigned int k)
{
if (k >= 6)
return 0;
return states[k] == KS_UP;
}
int input_down(unsigned int k)
{
if (k >= 6)
return 0;
return states[k] == KS_DOWN || states[k] == KS_PRESSED;
}
int input_pressed(unsigned int k)
{
if (k >= 6)
return 0;
return states[k] == KS_PRESSED;
}
|