X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=0a226afaffe04541c3315dfc602dd81f859c88f0;hb=c2d67378dd5c82de50b8fbbbe222ec6be2da4eee;hp=e4c0fced5366a51cbfa083bd514d53e030705629;hpb=86dbcd5796ed674ca9433cce1ace8bef322cd121;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index e4c0fce..0a226af 100644 --- 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 ) {