medium sized dollop
[carveJwlIkooP6JGAAIwe30JlM.git] / player.h
index e4c0fced5366a51cbfa083bd514d53e030705629..0a226afaffe04541c3315dfc602dd81f859c88f0 100644 (file)
--- a/player.h
+++ b/player.h
@@ -177,17 +177,58 @@ static void player_restore_frame(void);
  * -----------------------------------------------------------------------------
  */
 
-static void player_register(void)                                        /* 0 */
+static int player_init(void)                                             /* 1 */
 {
-   player_model_register();
-}
-
-static void player_init(void)                                            /* 1 */
-{
-   player_model_init();
-
+   rb_init( &player.phys.rb );
    rb_init( &player.collide_front );
    rb_init( &player.collide_back  );
+
+   vg_convar_push( (struct vg_convar){
+      .name = "walk_speed",
+      .data = &k_walkspeed,
+      .data_type = k_convar_dtype_f32,
+      .opt_f32 = { .clamp = 0 },
+      .persistent = 1
+   });
+
+   vg_convar_push( (struct vg_convar){
+      .name = "run_speed",
+      .data = &k_runspeed,
+      .data_type = k_convar_dtype_f32,
+      .opt_f32 = { .clamp = 0 },
+      .persistent = 1
+   });
+
+   vg_convar_push( (struct vg_convar){
+      .name = "walk_accel",
+      .data = &k_walk_accel,
+      .data_type = k_convar_dtype_f32,
+      .opt_f32 = { .clamp = 0 },
+      .persistent = 1
+   });
+
+   vg_convar_push( (struct vg_convar){
+      .name = "fc",
+      .data = &freecam,
+      .data_type = k_convar_dtype_i32,
+      .opt_i32 = { .min=0, .max=1, .clamp=1 },
+      .persistent = 1
+   });
+
+   vg_convar_push( (struct vg_convar){
+      .name = "fcs",
+      .data = &fc_speed,
+      .data_type = k_convar_dtype_f32,
+      .opt_f32 = { .clamp = 0 },
+      .persistent = 1
+   });
+
+       vg_function_push( (struct vg_cmd){
+               .name = "reset",
+               .function = reset_player
+       });
+
+   return player_model_init();
 }
 
 static void player_update(void)                                          /* 2 */
@@ -220,12 +261,13 @@ static void player_update(void)                                          /* 2 */
       phys->on_board ^= 0x1;
    }
 
-   if( (glfwGetKey( vg_window, GLFW_KEY_O ) || (phys->rb.co[1] < 0.0f)) &&
-       !player.is_dead)
+#if 0
+   if( (glfwGetKey( vg_window, GLFW_KEY_O ) ))
    {
       player_ragdoll_copy_model( phys->rb.v );
       player.is_dead = 1;
    }
+#endif
 
    if( player.is_dead )
    {