X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;ds=sidebyside;f=player.h;h=4396cbe353a5cb432087be6c4b400f3e7ebdbc28;hb=53b534974303043efaf1d887711fcd349f6a2885;hp=ef78e31645475117a4573609d16ed7a33dd1757b;hpb=15c0b8cb57ed5d10814103eaa0b5c06e8ae117e4;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index ef78e31..4396cbe 100644 --- a/player.h +++ b/player.h @@ -4,6 +4,7 @@ #include "skaterift.h" #include "player_common.h" #include "network_compression.h" +#include "player_effects.h" enum player_subsystem{ k_player_subsystem_walk = 0, @@ -43,6 +44,8 @@ struct player_subsystem_interface{ void(*im_gui)(void); void(*animate)(void); void(*pose)( void *animator, player_pose *pose ); + void(*effects)( void *animator, m4x3f *final_mtx, struct player_board *board, + struct player_effects_data *effect_data ); void(*post_animate)(void); void(*network_animator_exchange)( bitpack_ctx *ctx, void *data ); void(*sfx_oneshot)( u8 id, v3f pos, f32 volume ); @@ -97,6 +100,8 @@ struct { ent_gate *gate_waiting; int immobile; + int rewinded_since_last_gate; + /* * Network * -------------------------------------------------- @@ -117,6 +122,7 @@ struct { struct player_ragdoll ragdoll; struct player_model fallback_model; + struct player_board fallback_board; u16 board_view_slot, playermodel_view_slot; @@ -139,20 +145,27 @@ struct { mdl_context skeleton_meta; struct skeleton skeleton; - u32 id_hip, - id_chest, - id_ik_hand_l, - id_ik_hand_r, - id_ik_elbow_l, - id_ik_elbow_r, - id_head, - id_ik_foot_l, - id_ik_foot_r, - id_ik_knee_l, - id_ik_knee_r, - id_wheel_l, - id_wheel_r, - id_board; + u8 id_hip, + id_chest, + id_ik_hand_l, + id_ik_hand_r, + id_ik_elbow_l, + id_ik_elbow_r, + id_head, + id_foot_l, + id_foot_r, + id_ik_foot_l, + id_ik_foot_r, + id_ik_knee_l, + id_ik_knee_r, + id_wheel_l, + id_wheel_r, + id_board, + id_eyes; + + u8 skeleton_mirror[32]; + + struct player_effects_data effect_data; } static localplayer = { .rb = {