about summary refs log tree commit diff
path: root/src/game/client/components/binds.hpp
blob: 1c9bf38829218aeef0629107bf7e5f66f1bc053c (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
#include <game/client/component.hpp>

class BINDS : public COMPONENT
{
	char keybindings[KEY_LAST][128];

	int get_key_id(const char *key_name);

	static void con_bind(void *result, void *user_data);
	static void con_unbind(void *result, void *user_data);
	static void con_unbindall(void *result, void *user_data);
	static void con_dump_binds(void *result, void *user_data);
	
public:
	BINDS();
	
	class BINDS_SPECIAL : public COMPONENT
	{
	public:
		BINDS *binds;
		virtual bool on_input(INPUT_EVENT e);
	};
	
	BINDS_SPECIAL special_binds;
	
	void bind(int keyid, const char *str);
	void set_defaults();
	void unbindall();
	const char *get(int keyid);
	
	virtual void on_save();
	virtual void on_console_init();
	virtual bool on_input(INPUT_EVENT e);
};