breakup walk system and add new exit animation
[carveJwlIkooP6JGAAIwe30JlM.git] / player_render.h
index 5a11bea841d77d47c2483b5c53c0995b1baa7bdd..02a1c6b7b56aacc80d9843f62e67e881c3604fe8 100644 (file)
@@ -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
@@ -66,25 +46,32 @@ 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 );
+                                   const char *path, u32 *fixup_table );
+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 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 );
+static void player_mirror_pose( mdl_keyframe pose[32], 
+                                mdl_keyframe mirrored[32] );
 
 #endif /* PLAYER_RENDER_H */