1 /* Copyright (C) 2021-2024 Harry Godden (hgn) - All Rights Reserved */
4 #include "vg_platform.h"
6 #define VG_VAR_F32( NAME, ... ) \
7 { u32 flags=0x00; __VA_ARGS__ ;\
8 vg_console_reg_var( #NAME, &NAME, k_var_dtype_f32, flags ); }
10 #define VG_VAR_I32( NAME, ... ) \
11 { u32 flags=0x00; __VA_ARGS__ ;\
12 vg_console_reg_var( #NAME, &NAME, k_var_dtype_i32, flags ); }
14 #define VG_VAR_PERSISTENT 0x1
15 #define VG_VAR_CHEAT 0x2
17 typedef struct vg_var vg_var
;
18 typedef struct vg_cmd vg_cmd
;
38 int (*function
)( int argc
, char const *argv
[] );
39 void (*poll_suggest
)( int argc
, char const *argv
[] );
52 int suggestion_select
,
56 u32 var_count
, function_count
;
62 int history_last
, history_pos
, history_count
;
68 void vg_console_reg_var( const char *alias
, void *ptr
, enum vg_var_dtype type
,
71 void vg_console_reg_cmd( const char *alias
,
72 int (*function
)(int argc
, const char *argv
[]),
73 void (*poll_suggest
)(int argc
, const char *argv
[]) );
74 void vg_console_load_autos(void);
75 void vg_console_draw(void);
76 void vg_console_init(void);
77 int vg_console_exec( int argc
, const char *argv
[] );
78 void vg_execute_console_input( const char *cmd
, bool silent
);
79 static void vg_console_write_persistent(void);
80 void console_suggest_score_text( const char *str
, const char *input
,
82 vg_var
*vg_console_match_var( const char *kw
);
83 vg_cmd
*vg_console_match_cmd( const char *kw
);
84 static void console_suggest_next(void);
85 static void console_suggest_prev(void);