#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
board;
};
-struct board_pose {
- f32 lean;
-};
-
struct player_model{
struct dynamic_model_1texture mdl;
};
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 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 */