X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player.h;h=4396cbe353a5cb432087be6c4b400f3e7ebdbc28;hb=53b534974303043efaf1d887711fcd349f6a2885;hp=a5ae8e89ddd55b819adffb39a2e0856e8e89ce4e;hpb=f7c3600e850cc57df80d70c1862cf554c0cf4502;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player.h b/player.h index a5ae8e8..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 * -------------------------------------------------- @@ -140,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 = {