From c8309ca41f8953d6aaa97cd8cbf625640346b80d Mon Sep 17 00:00:00 2001 From: hgn Date: Wed, 31 Jan 2024 06:27:06 +0000 Subject: [PATCH] add logs for fall off reason --- player_glide.c | 8 ++++++++ player_glide.h | 2 ++ player_skate.c | 4 ++++ player_walk.c | 1 + skaterift.c | 31 ++++++++++++++++++++++++++++++- 5 files changed, 45 insertions(+), 1 deletion(-) diff --git a/player_glide.c b/player_glide.c index 27d16dd..7725cf0 100644 --- a/player_glide.c +++ b/player_glide.c @@ -208,6 +208,7 @@ static void player_glide_update(void){ joystick_state( k_srjoystick_steer, steer ); if( glider_physics( steer ) ){ + vg_info( "player fell off due to glider hitting ground\n" ); player__dead_transition( k_player_die_type_generic ); localplayer.glider_orphan = 1; } @@ -255,6 +256,13 @@ static void player_glide_post_animate(void){ localplayer.cam_dist = 2.0f + v3_length( localplayer.rb.v )*0.2f; } +static void player_glide_animator_exchange( bitpack_ctx *ctx, void *data ){ + struct player_glide_animator *animator = data; + + bitpack_qv3f( ctx, 24, -1024.0f, 1024.0f, animator->root_co ); + bitpack_qquat( ctx, animator->root_q ); +} + static void player_glide_im_gui(void){ player__debugtext( 1, "Nothing here" ); player__debugtext( 1, " lift: %.2f %.2f %.2f", diff --git a/player_glide.h b/player_glide.h index 2e2d1eb..9889eb4 100644 --- a/player_glide.h +++ b/player_glide.h @@ -90,6 +90,7 @@ static void player_glide_im_gui(void); static void player_glide_bind(void); static void player_glide_transition(void); static bool glider_physics( v2f steer ); +static void player_glide_animator_exchange( bitpack_ctx *ctx, void *data ); struct player_subsystem_interface static player_subsystem_glide = { .pre_update = player_glide_pre_update, @@ -98,6 +99,7 @@ struct player_subsystem_interface static player_subsystem_glide = { .animate = player_glide_animate, .pose = player_glide_pose, .post_animate = player_glide_post_animate, + .network_animator_exchange = player_glide_animator_exchange, .im_gui = player_glide_im_gui, .bind = player_glide_bind, diff --git a/player_skate.c b/player_skate.c index d9b9c04..cbf43ec 100644 --- a/player_skate.c +++ b/player_skate.c @@ -765,6 +765,7 @@ static void skate_apply_trick_model(void){ if( (v3_length2(state->trick_vel) >= 0.0001f ) && state->trick_time > 0.2f) { + vg_info( "player fell off due to lack of skill\n" ); player__dead_transition( k_player_die_type_feet ); } @@ -2208,6 +2209,7 @@ static void player__skate_update(void){ if( world->water.enabled ){ if( localplayer.rb.co[1]+0.25f < world->water.height ){ + vg_info( "player fell off due to being in water\n" ); player__networked_sfx( k_player_subsystem_walk, 32, k_player_walk_soundeffect_splash, localplayer.rb.co, 1.0f ); @@ -2491,6 +2493,7 @@ begin_collision:; v3_lerp( start_co, localplayer.rb.co, t, localplayer.rb.co ); rb_update_matrices( &localplayer.rb ); + vg_info( "player fell of due to hitting head\n" ); player__dead_transition( k_player_die_type_head ); return; } @@ -2656,6 +2659,7 @@ begin_collision:; f32 nforce = v3_length(normal_total); if( nforce > 4.0f ){ if( nforce > 17.6f ){ + vg_info( "player fell off due to hitting ground too hard\n" ); v3_muladds( localplayer.rb.v, normal_total, -1.0f, localplayer.rb.v ); player__dead_transition( k_player_die_type_feet ); return; diff --git a/player_walk.c b/player_walk.c index cd5e52c..560d61a 100644 --- a/player_walk.c +++ b/player_walk.c @@ -452,6 +452,7 @@ static void player_walk_update_generic(void){ player__networked_sfx( k_player_subsystem_walk, 32, k_player_walk_soundeffect_splash, localplayer.rb.co, 1.0f ); + vg_info( "player fell of due to walking into walker\n" ); player__dead_transition( k_player_die_type_generic ); return; } diff --git a/skaterift.c b/skaterift.c index ae34d5b..bc0bd3c 100644 --- a/skaterift.c +++ b/skaterift.c @@ -14,7 +14,7 @@ #define SR_NETWORKED #define VG_AUDIO_FORCE_COMPRESSED #define SDL_MAIN_HANDLED -//#define SR_ALLOW_REWIND_HUB +#define SR_ALLOW_REWIND_HUB #ifndef VG_RELEASE #define VG_DEVWINDOW @@ -683,6 +683,35 @@ static void vg_render(void){ static void vg_gui(void){ if( skaterift.op == k_async_op_clientloading ) return; + if( k_tools_mode ){ + ui_rect null; + ui_rect screen = { 0, 0, vg.window_x, vg.window_y }; + ui_rect panel = { 0, 0, 1000, 700 }; + ui_rect_center( screen, panel ); + vg_ui.wants_mouse = 1; + + ui_fill( panel, ui_colour( k_ui_bg+1 ) ); + ui_outline( panel, 1, ui_colour( k_ui_bg+7 ), 0 ); + + ui_rect_pad( panel, (ui_px[2]){ 8, 8 } ); + + static i32 example; + ui_enum( panel, "example enum", vg_settings_vsync_enum, 3, &example ); + + static f32 val = 30.0f; + ui_slider( panel, "Slider", 0.0f, 100.0f, &val, NULL ); + + ui_dev_colourview(); + + static v4f colour = { 0.5f, 0.6f, 0.1f, 1.0f }; + ui_colourpicker( panel, "hello", colour ); + + return; + } + + if( k_light_editor ) + imgui_world_light_edit( world_current_instance() ); + vg_ui.tex_bg = gpipeline.fb_main->attachments[0].id; render_fb_inverse_ratio( gpipeline.fb_main, vg_ui.bg_inverse_ratio ); -- 2.25.1