From c52e639cdcf6d21f69caa9625238afded7513ca4 Mon Sep 17 00:00:00 2001 From: hgn Date: Mon, 16 Jan 2023 14:16:48 +0000 Subject: [PATCH] poll functions --- audio.h | 8 +++---- conf.h | 16 +++++++------- player.h | 48 +++++++++++++++++++++--------------------- player_physics.h | 13 ++++++++++++ render.h | 54 +++++++++++++++++++++++++++++++++++++++++++++++- rigidbody.h | 16 +++++++------- skaterift.c | 12 +++++------ world.h | 4 ++-- 8 files changed, 119 insertions(+), 52 deletions(-) diff --git a/audio.h b/audio.h index 8282c06..2d0417f 100644 --- a/audio.h +++ b/audio.h @@ -231,18 +231,18 @@ VG_STATIC void audio_init(void) audio_unlock(); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "aud_debug_soundscape", .data = &k_audio_debug_soundscape, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .min=0, .max=1, .clamp=0 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "aud_occlusion_rate", .data = &k_audio_occlusion_rate, - .data_type = k_convar_dtype_f32, + .data_type = k_var_dtype_f32, .opt_f32 = { .clamp = 0 }, .persistent = 1 }); diff --git a/conf.h b/conf.h index f74f318..ade9247 100644 --- a/conf.h +++ b/conf.h @@ -11,34 +11,34 @@ VG_STATIC int cl_blur = 1, VG_STATIC void g_conf_init(void) { - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "cl_fov", .data = &cl_fov, - .data_type = k_convar_dtype_f32, + .data_type = k_var_dtype_f32, .opt_f32 = { .clamp = 0 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "cl_blur_strength", .data = &cl_blur_strength, - .data_type = k_convar_dtype_f32, + .data_type = k_var_dtype_f32, .opt_f32 = { .clamp = 0 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "cl_blur", .data = &cl_blur, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .min=0, .max=1, .clamp=1 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "cl_playermdl_id", .data = &cl_playermdl_id, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .min=0, .max=2, .clamp=1 }, .persistent = 1 }); diff --git a/player.h b/player.h index 0e92f3a..f630692 100644 --- a/player.h +++ b/player.h @@ -254,6 +254,7 @@ VG_STATIC void player_mouseview(void); */ VG_STATIC int kill_player( int argc, char const *argv[] ); VG_STATIC int reset_player( int argc, char const *argv[] ); +VG_STATIC void reset_player_poll( int argc, char const *argv[] ); VG_STATIC void player_init(void) /* 1 */ { @@ -321,97 +322,98 @@ VG_STATIC void player_init(void) /* 1 */ rb_init( &player.collide_front ); rb_init( &player.collide_back ); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "gwalk_speed", .data = &k_walkspeed, - .data_type = k_convar_dtype_f32, + .data_type = k_var_dtype_f32, .opt_f32 = { .clamp = 0 }, .persistent = 0 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "air_accelerate", .data = &k_air_accelerate, - .data_type = k_convar_dtype_f32, + .data_type = k_var_dtype_f32, .opt_f32 = { .clamp = 0 }, .persistent = 0 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "run_speed", .data = &k_runspeed, - .data_type = k_convar_dtype_f32, + .data_type = k_var_dtype_f32, .opt_f32 = { .clamp = 0 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "walk_accel", .data = &k_walk_accel, - .data_type = k_convar_dtype_f32, + .data_type = k_var_dtype_f32, .opt_f32 = { .clamp = 0 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "fc", .data = &freecam, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .min=0, .max=1, .clamp=1 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "cl_thirdperson", .data = &cl_thirdperson, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .min=0, .max=1, .clamp=1 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "fcs", .data = &fc_speed, - .data_type = k_convar_dtype_f32, + .data_type = k_var_dtype_f32, .opt_f32 = { .clamp = 0 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "k_ragdoll_limit_scale", .data = &k_ragdoll_limit_scale, - .data_type = k_convar_dtype_f32, + .data_type = k_var_dtype_f32, .opt_f32 = { .clamp = 0 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "k_ragdoll_div", .data = &k_ragdoll_div, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .clamp=0 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "k_ragdoll_debug_collider", .data = &k_ragdoll_debug_collider, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .clamp=0 }, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "k_ragdoll_debug_constraints", .data = &k_ragdoll_debug_constraints, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .clamp=0 }, .persistent = 1 }); vg_function_push( (struct vg_cmd){ .name = "reset", - .function = reset_player + .function = reset_player, + .poll_suggest = reset_player_poll }); vg_function_push( (struct vg_cmd){ diff --git a/player_physics.h b/player_physics.h index 6a744e8..e08f611 100644 --- a/player_physics.h +++ b/player_physics.h @@ -1459,4 +1459,17 @@ VG_STATIC int reset_player( int argc, char const *argv[] ) return 1; } +VG_STATIC void reset_player_poll( int argc, char const *argv[] ) +{ + if( argc == 1 ) + { + for( int i=0; iname, argv[argc-1], 0 ); + } + } +} + #endif /* PLAYER_PHYSICS_H */ diff --git a/render.h b/render.h index 374cc06..cd41ec3 100644 --- a/render.h +++ b/render.h @@ -592,6 +592,7 @@ VG_STATIC void render_fb_resize(void) } VG_STATIC int render_framebuffer_control( int argc, char const *argv[] ); +VG_STATIC void render_framebuffer_poll( int argc, char const *argv[] ); VG_STATIC void render_init_fs_quad(void) { vg_info( "[render] Allocate quad\n" ); @@ -631,7 +632,8 @@ VG_STATIC void render_init_fs_quad(void) vg_function_push( (struct vg_cmd) { .name = "fb", - .function = render_framebuffer_control + .function = render_framebuffer_control, + .poll_suggest = render_framebuffer_poll }); glGenVertexArrays( 1, &gpipeline.fsquad.vao ); @@ -832,4 +834,54 @@ VG_STATIC int render_framebuffer_control( int argc, char const *argv[] ) return 0; } +VG_STATIC void render_framebuffer_poll( int argc, char const *argv[] ) +{ + const char *term = argv[argc-1]; + + if( argc == 1 ) + { + console_suggest_score_text( "show", term, 0 ); + console_suggest_score_text( "hide", term, 0 ); + } + else if( argc == 2 ) + { + console_suggest_score_text( "all", term, 0 ); + + for( int i=0; idisplay_name, term, 0 ); + } + } + else if( argc == 3 ) + { + int modify_all = 0; + + if( !strcmp( argv[1], "all" ) ) + modify_all = 1; + + for( int i=0; iattachments); j++ ) + { + struct framebuffer_attachment *at = &fb->attachments[j]; + + if( at->purpose == k_framebuffer_attachment_type_none ) + continue; + + if( modify_all ) + { + console_suggest_score_text( at->display_name, term, 0 ); + } + else if( !strcmp( fb->display_name, argv[1] ) ) + { + console_suggest_score_text( at->display_name, term, 0 ); + } + } + } + } +} + #endif /* RENDER_H */ diff --git a/rigidbody.h b/rigidbody.h index f4d6ef9..e8dae45 100644 --- a/rigidbody.h +++ b/rigidbody.h @@ -43,24 +43,24 @@ VG_STATIC float VG_STATIC void rb_register_cvar(void) { - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "k_limit_bias", .data = &k_limit_bias, - .data_type = k_convar_dtype_f32, .opt_f32 = {.clamp = 0}, .persistent = 1 + .data_type = k_var_dtype_f32, .opt_f32 = {.clamp = 0}, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "k_joint_bias", .data = &k_joint_bias, - .data_type = k_convar_dtype_f32, .opt_f32 = {.clamp = 0}, .persistent = 1 + .data_type = k_var_dtype_f32, .opt_f32 = {.clamp = 0}, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "k_joint_correction", .data = &k_joint_correction, - .data_type = k_convar_dtype_f32, .opt_f32 = {.clamp = 0}, .persistent = 1 + .data_type = k_var_dtype_f32, .opt_f32 = {.clamp = 0}, .persistent = 1 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "k_joint_impulse", .data = &k_joint_impulse, - .data_type = k_convar_dtype_f32, .opt_f32 = {.clamp = 0}, .persistent = 1 + .data_type = k_var_dtype_f32, .opt_f32 = {.clamp = 0}, .persistent = 1 }); } diff --git a/skaterift.c b/skaterift.c index 9d72bec..c0fe003 100644 --- a/skaterift.c +++ b/skaterift.c @@ -49,26 +49,26 @@ VG_STATIC void vg_preload(void) { g_conf_init(); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "cl_ui", .data = &cl_ui, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .min=0, .max=1, .clamp=1 }, .persistent = 0 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "cl_view_id", .data = &cl_view_id, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .min=0, .max=1, .clamp=1 }, .persistent = 0 }); - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "ledit", .data = &cl_light_edit, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .min=0, .max=1, .clamp=1 }, .persistent = 0 }); diff --git a/world.h b/world.h index 240e8dc..e158e18 100644 --- a/world.h +++ b/world.h @@ -400,10 +400,10 @@ VG_STATIC int world_change_world( int argc, const char *argv[] ) VG_STATIC void world_init(void) { - vg_convar_push( (struct vg_convar){ + vg_var_push( (struct vg_var){ .name = "water_enable", .data = &world.water.enabled, - .data_type = k_convar_dtype_i32, + .data_type = k_var_dtype_i32, .opt_i32 = { .min=0, .max=1, .clamp=1 }, .persistent = 0 }); -- 2.25.1