poll functions
authorhgn <hgodden00@gmail.com>
Mon, 16 Jan 2023 14:16:48 +0000 (14:16 +0000)
committerhgn <hgodden00@gmail.com>
Mon, 16 Jan 2023 14:16:48 +0000 (14:16 +0000)
audio.h
conf.h
player.h
player_physics.h
render.h
rigidbody.h
skaterift.c
world.h

diff --git a/audio.h b/audio.h
index 8282c068183669efddbea0437be3fa96e56cdb10..2d0417fd3293a9b8902f282ab4e1fd6ec69b5ca8 100644 (file)
--- 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 f74f318e347823601d867979551b4234a23dff60..ade9247a18eda299e67f2e9b9a348a7149e5fa6e 100644 (file)
--- 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
    });
index 0e92f3aae5d6f5038bcd7703adb0c046c731844a..f63069240bcd3f2b83b15fc88b59ba6fa9cc2fcf 100644 (file)
--- 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){
index 6a744e877a4e8107fb6aa16645e04e5e03353de2..e08f6112281b5f0394ca10a2060da9d3b0a6095d 100644 (file)
@@ -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; i<world.spawn_count; i++ )
+      {
+         struct respawn_point *r = &world.spawns[i];
+
+         console_suggest_score_text( r->name, argv[argc-1], 0 );
+      }
+   }
+}
+
 #endif /* PLAYER_PHYSICS_H */
index 374cc06a0343590958e271bb0dea9c6d3bd92ff2..cd41ec33e836d65ef02d690fc824d4505efee3a1 100644 (file)
--- 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; i<vg_list_size(framebuffers); i++ )
+      {
+         struct framebuffer *fb = &framebuffers[i];
+         console_suggest_score_text( fb->display_name, term, 0 );
+      }
+   }
+   else if( argc == 3 )
+   {
+      int modify_all = 0;
+
+      if( !strcmp( argv[1], "all" ) )
+         modify_all = 1;
+
+      for( int i=0; i<vg_list_size(framebuffers); i++ )
+      {
+         struct framebuffer *fb = &framebuffers[i];
+         
+         for( int j=0; j<vg_list_size(fb->attachments); 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 */
index f4d6ef9ccf0e1c5336087ba135b7fcde726118b6..e8dae45227d1045b91a755b49214dc0dac170f27 100644 (file)
@@ -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
    });
 }
 
index 9d72bec2aa030060fdd7009f465715e07026e195..c0fe0031cc71e44da732218dfbfa3c9606d2bc74 100644 (file)
@@ -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 240e8dc1a44c77ec2b9be778e25e9d96ec688ccf..e158e184e4b9f89193d0552842c75fde21e2082a 100644 (file)
--- 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
    });