X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=5dd9401dbfca38fd3b922622aeff98b11de9eb4e;hb=d00b1df8f80e4714dc2f9aa2189d242bb4d09a2f;hp=e4c0fced5366a51cbfa083bd514d53e030705629;hpb=86dbcd5796ed674ca9433cce1ace8bef322cd121;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index e4c0fce..5dd9401 100644 --- a/player.h +++ b/player.h @@ -1,10 +1,5 @@ /* - * Copyright 2021-2022 (C) Mount0 Software, Harry Godden - All Rights Reserved - * ----------------------------------------------------------------------------- - * - * Player head module - * - * ----------------------------------------------------------------------------- + * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved */ #ifndef PLAYER_H @@ -177,17 +172,59 @@ static void player_restore_frame(void); * ----------------------------------------------------------------------------- */ -static void player_register(void) /* 0 */ -{ - 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 + }); + + /* other systems */ + vg_loader_highwater( player_model_init, player_model_free, NULL ); } static void player_update(void) /* 2 */ @@ -220,12 +257,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 ) {