X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_dead.h;h=19d6e5900c3eaa96cd664cf39d0746edce9e6a06;hb=74b2136d5b41b18e2eec698f1fd11b503aa1100a;hp=fbdb47f5a974665660fc9dc1213d39a0cd2fffb9;hpb=6c84fa207dec2cf8e92b3882492bdd2f92ee7afe;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_dead.h b/player_dead.h index fbdb47f..19d6e59 100644 --- a/player_dead.h +++ b/player_dead.h @@ -1,18 +1,44 @@ #ifndef PLAYER_DEAD_H #define PLAYER_DEAD_H +#include "player.h" #include "player_api.h" struct player_dead{ v3f co_lpf, v_lpf, w_lpf; -}; -VG_STATIC void player__dead_update ( player_instance *player ); -VG_STATIC void player__dead_animate ( player_instance *player, - player_animation *anim ); + struct player_dead_animator{ + struct { + v3f co; + v4f q; + } + transforms[ 32 ]; + } + animator; +} +static player_dead; + +static void player__dead_update (void); +static void player__dead_post_update (void); +static void player__dead_animate (void); +static void player__dead_pose (void *animator, player_pose *pose); +static void player__dead_post_animate(void); +static void player__dead_im_gui (void); +static void player__dead_transition (void); +static void player__dead_animator_exchange( bitpack_ctx *ctx, void *data ); -VG_STATIC void player__dead_post_animate( player_instance *player ); -VG_STATIC void player__dead_im_gui ( player_instance *player ); -VG_STATIC void player__dead_transition ( player_instance *player ); +struct player_subsystem_interface static player_subsystem_dead = { + .update = player__dead_update, + .post_update = player__dead_post_update, + .animate = player__dead_animate, + .pose = player__dead_pose, + .post_animate = player__dead_post_animate, + .im_gui = player__dead_im_gui, + + .animator_data = &player_dead.animator, + .animator_size = sizeof(player_dead.animator), + .network_animator_exchange = player__dead_animator_exchange, + .name = "Dead" +}; #endif /* PLAYER_DEAD_H */