X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_render.h;h=4ea095cb5088059edc2da4eec01d55176d3b3543;hb=137d40d96fe923600d8378b8e138e3c276f27ff4;hp=f33e2db6f76faa189d3b444c974535283cb57bd7;hpb=f1fe55f957a3dbdb6ca20a696f0c1171e2d5e7ca;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_render.h b/player_render.h index f33e2db..4ea095c 100644 --- a/player_render.h +++ b/player_render.h @@ -12,6 +12,7 @@ struct player_avatar struct skeleton sk; u32 id_hip, + id_chest, id_ik_hand_l, id_ik_hand_r, id_ik_elbow_l, @@ -57,10 +58,6 @@ struct player_board{ board; }; -struct board_pose { - f32 lean; -}; - struct player_model{ struct dynamic_model_1texture mdl; }; @@ -70,25 +67,30 @@ enum board_shader{ k_board_shader_entity }; -VG_STATIC void dynamic_model_load( mdl_context *ctx, +static void dynamic_model_load( mdl_context *ctx, struct dynamic_model_1texture *mdl, const char *path ); -VG_STATIC void dynamic_model_unload( struct dynamic_model_1texture *mdl ); +static void dynamic_model_unload( struct dynamic_model_1texture *mdl ); -VG_STATIC void player_board_load( struct player_board *mdl, const char *path ); -VG_STATIC void player_board_unload( struct player_board *mdl ); +static void player_board_load( struct player_board *mdl, const char *path ); +static void player_board_unload( struct player_board *mdl ); -VG_STATIC void player_model_load( struct player_model *board, const char *path); -VG_STATIC void player_model_unload( struct player_model *board ); +static void player_model_load( struct player_model *board, const char *path); +static void player_model_unload( struct player_model *board ); -VG_STATIC void render_board( camera *cam, world_instance *world, +static void render_board( camera *cam, world_instance *world, struct player_board *board, m4x3f root, - struct board_pose *pose, + struct player_board_pose *pose, enum board_shader shader ); -VG_STATIC void render_playermodel( camera *cam, world_instance *world, +static void render_playermodel( camera *cam, world_instance *world, int depth_compare, struct player_model *model, - struct skeleton *skeleton ); + struct skeleton *skeleton, + m4x3f *final_mtx ); +static void apply_full_skeleton_pose( struct skeleton *sk, player_pose *pose, + m4x3f *final_mtx ); +static void lerp_player_pose( player_pose *pose0, player_pose *pose1, f32 t, + player_pose *posed ); #endif /* PLAYER_RENDER_H */