summaryrefslogtreecommitdiff
path: root/src/game/vars.h
diff options
context:
space:
mode:
author2lag <96544487+2lag@users.noreply.github.com>2026-08-08 17:33:36 +0200
committer2lag <96544487+2lag@users.noreply.github.com>2026-08-08 17:33:36 +0200
commit2973df584978d9aae6f164ce0204179c8a28b3ae (patch)
treec1b793c8e0d17aeb66c5197bc28acca84b2c98ab /src/game/vars.h
parente540910745aad31378452eec25aacfb3f346191a (diff)
console, textbox changes, some other shit
Diffstat (limited to 'src/game/vars.h')
-rw-r--r--src/game/vars.h47
1 files changed, 39 insertions, 8 deletions
diff --git a/src/game/vars.h b/src/game/vars.h
index 253effb..754979c 100644
--- a/src/game/vars.h
+++ b/src/game/vars.h
@@ -10,11 +10,18 @@ enum CvarTypes_t {
CVAR_TYPE_LAST
};
-typedef I32(*CVAR_FUNC)( struct CVAR* self, const char* cmdline );
+enum CvarFlags_t {
+ CVAR_FLAG_NONE = 0,
+ CVAR_FLAG_MINMAX = 1 << 1,
+};
+
+typedef I32(*CVAR_FUNC)( struct CVAR* self, LIST<STR> cmdline );
struct CVAR {
STR name;
U8 type;
+ STR desc;
+ U32 flags;
union {
F32 fl_v;
I32 i_v;
@@ -30,6 +37,16 @@ struct CVAR {
CVAR_FUNC fn_v;
char str_v[64];
} default_v;
+
+ union {
+ F32 fl_v;
+ I32 i_v;
+ } min_v;
+
+ union {
+ F32 fl_v;
+ I32 i_v;
+ } max_v;
};
struct VAR_LIST {
@@ -38,18 +55,32 @@ struct VAR_LIST {
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_new( const char* name, STR desc, F32 v );
+extern CVAR* var_new(
+ const char* name,
+ STR desc,
+ F32 v,
+ F32 min_v,
+ F32 max_v
+);
+extern CVAR* var_new( const char* name, STR desc, I32 v );
+extern CVAR* var_new(
+ const char* name,
+ STR desc,
+ I32 v,
+ I32 min_v,
+ I32 max_v
+);
+extern CVAR* var_new( const char* name, STR desc, CLR v );
+extern CVAR* var_new( const char* name, STR desc, const char* v );
+extern CVAR* var_new( const char* name, STR desc, CVAR_FUNC fn );
extern CVAR* var_find( const char* name );
-extern I32 var_call( CVAR* cmdvar, const char* cmdline );
+extern I32 var_call( CVAR* cmdvar, LIST<STR> 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 STR var_gets( const CVAR* var );
extern void var_set( CVAR* var, F32 v );
extern void var_set( CVAR* var, I32 v );