X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_render.h;h=21a53b715439830c4627e61a1ad1d32788ba6942;hb=e311bbe2fa903a7e2a922f202f389b799193195d;hp=be12d68287c9c8eaa75f6d1705bd16a01cc820c5;hpb=22f62f001f21d1b91fefd9fc495c122d9ddf205a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_render.h b/player_render.h index be12d68..21a53b7 100644 --- a/player_render.h +++ b/player_render.h @@ -6,26 +6,6 @@ #include "camera.h" #include "world.h" -struct player_avatar -{ - mdl_context meta; - struct skeleton sk; - - u32 id_hip, - 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; -}; - enum eboard_truck{ k_board_truck_back = 0, k_board_truck_front = 1 @@ -68,7 +48,7 @@ enum board_shader{ static void dynamic_model_load( mdl_context *ctx, struct dynamic_model_1texture *mdl, - const char *path ); + const char *path, u32 *fixup_table ); static void dynamic_model_unload( struct dynamic_model_1texture *mdl ); static void player_board_load( struct player_board *mdl, const char *path ); @@ -85,6 +65,11 @@ static void render_board( 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 */