summaryrefslogtreecommitdiff
path: root/src/client/control.h
blob: 4103f3322991663ef0c3b28feb2e23210fbb224e (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
#ifndef CONTROL_H
#define CONTROL_H

#define CONTROL_NONE	-1
#define CONTROL_UP	0
#define CONTROL_RIGHT	1
#define CONTROL_LEFT	2
#define CONTROL_DOWN	3
#define CONTROL_SHOT	4
#define CONTROL_SWITCH	5

#define CONTROL_KEY_COUNT_ROUTE		4
#define CONTROL_KEY_COUNT		6

typedef struct control_struct {
	SDLKey key[CONTROL_KEY_COUNT];
	int count[CONTROL_KEY_COUNT];
} control_t;

extern control_t* control_new(SDLKey arg_up, SDLKey arg_right,
			      SDLKey arg_left, SDLKey arg_down,
			      SDLKey arg_shot, SDLKey arg_switch);
extern int control_get_key_route(control_t *my_control);
extern int control_get_key_action(control_t *my_control);
extern void control_destroy(control_t *my_control);

#endif /* CONTROL_H */