blob: 8abe2faec7a9fc0d9560daa682b9854181fb0858 (
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#pragma once
#include "../util.h"
enum CvarTypes_t {
CVAR_TYPE_INT,
CVAR_TYPE_FLOAT,
CVAR_TYPE_COLOR,
CVAR_TYPE_STRING,
CVAR_TYPE_FN,
CVAR_TYPE_LAST
};
typedef I32(*CVAR_FUNC)( struct CVAR* self, const char* cmdline );
struct CVAR {
char name[100];
U8 type;
union {
F32 fl_v;
I32 i_v;
CLR clr_v;
CVAR_FUNC fn_v;
char str_v[64];
};
union {
F32 fl_v;
I32 i_v;
CLR clr_v;
CVAR_FUNC fn_v;
char str_v[64];
} default_v;
};
struct VAR_LIST {
LIST<CVAR*> vars;
};
extern VAR_LIST* vars_init();
extern CVAR* var_new( const char* name, F32 v );
extern CVAR* var_new( const char* name, I32 v );
extern CVAR* var_new( const char* name, CLR v );
extern CVAR* var_new( const char* name, const char* v );
extern CVAR* var_new( const char* name, CVAR_FUNC fn );
extern CVAR* var_find( const char* name );
extern I32 var_call( CVAR* cmdvar, const char* cmdline );
extern F32 var_getf( CVAR* var );
extern I32 var_geti( CVAR* var );
extern CLR var_getclr( CVAR* var );
extern const char* var_gets( CVAR* var );
extern VAR_LIST* varl;
|