1 #ifndef PLAYER_RENDER_H
2 #define PLAYER_RENDER_H
10 k_board_truck_back
= 0,
11 k_board_truck_front
= 1
21 /* TODO: Fully featured dynamic models
22 * This is FAR from the final system we want at all, but it will do for now */
23 struct dynamic_model_1texture
{
29 struct dynamic_model_1texture mdl
;
31 v4f wheel_positions
[4],
35 mdl_submesh wheels
[4],
41 struct dynamic_model_1texture mdl
;
45 k_board_shader_player
,
49 static void dynamic_model_load( mdl_context
*ctx
,
50 struct dynamic_model_1texture
*mdl
,
51 const char *path
, u32
*fixup_table
);
52 static void dynamic_model_unload( struct dynamic_model_1texture
*mdl
);
54 static void player_board_load( struct player_board
*mdl
, const char *path
);
55 static void player_board_unload( struct player_board
*mdl
);
57 static void player_model_load( struct player_model
*board
, const char *path
);
58 static void player_model_unload( struct player_model
*board
);
60 static void render_board( camera
*cam
, world_instance
*world
,
61 struct player_board
*board
, m4x3f root
,
62 struct player_board_pose
*pose
,
63 enum board_shader shader
);
65 static void render_playermodel( camera
*cam
, world_instance
*world
,
67 struct player_model
*model
,
68 struct skeleton
*skeleton
,
70 static void apply_full_skeleton_pose( struct skeleton
*sk
, player_pose
*pose
,
72 static void lerp_player_pose( player_pose
*pose0
, player_pose
*pose1
, f32 t
,
74 static void player_mirror_pose( mdl_keyframe pose
[32],
75 mdl_keyframe mirrored
[32] );
76 static void player__observe_system( enum player_subsystem id
);
78 #endif /* PLAYER_RENDER_H */