X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_render.h;h=cfc48e78940cd5a67256911682bea13039d8327e;hb=5f6a4f9df6c8accc89f1920bfe9ace3cbac4c4b6;hp=ee98488db270dd1524daa58c435376788ab64017;hpb=a109f126d8adab622e38fbcc2d4281e75255246a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_render.h b/player_render.h index ee98488..cfc48e7 100644 --- a/player_render.h +++ b/player_render.h @@ -1,10 +1,11 @@ -#ifndef PLAYER_RENDER_H -#define PLAYER_RENDER_H - +#pragma once #include "model.h" #include "skeleton.h" -#include "camera.h" +#include "vg/vg_camera.h" #include "world.h" +#include "player_render.h" +#include "player_api.h" +#include "player_replay.h" enum eboard_truck{ k_board_truck_back = 0, @@ -46,33 +47,36 @@ enum board_shader{ k_board_shader_entity }; -static void dynamic_model_load( mdl_context *ctx, - struct dynamic_model_1texture *mdl, - 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 ); -static void player_board_unload( struct player_board *mdl ); +void dynamic_model_load( mdl_context *ctx, + struct dynamic_model_1texture *mdl, + const char *path, u32 *fixup_table ); +void dynamic_model_unload( struct dynamic_model_1texture *mdl ); -static void player_model_load( struct player_model *board, const char *path); -static void player_model_unload( struct player_model *board ); +void player_board_load( struct player_board *mdl, const char *path ); +void player_board_unload( struct player_board *mdl ); -static void render_board( camera *cam, world_instance *world, - struct player_board *board, m4x3f root, - struct player_board_pose *pose, - enum board_shader shader ); +void player_model_load( struct player_model *board, const char *path); +void player_model_unload( struct player_model *board ); -static void render_playermodel( camera *cam, world_instance *world, - int depth_compare, - struct player_model *model, - 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] ); -static void player__observe_system( enum player_subsystem id ); +void render_board( vg_camera *cam, world_instance *world, + struct player_board *board, m4x3f root, + struct player_board_pose *pose, + enum board_shader shader ); -#endif /* PLAYER_RENDER_H */ +void render_playermodel( vg_camera *cam, world_instance *world, + int depth_compare, + struct player_model *model, + struct skeleton *skeleton, + m4x3f *final_mtx ); +void apply_full_skeleton_pose( struct skeleton *sk, player_pose *pose, + m4x3f *final_mtx ); +void lerp_player_pose( player_pose *pose0, player_pose *pose1, f32 t, + player_pose *posed ); +void player_mirror_pose( mdl_keyframe pose[32], + mdl_keyframe mirrored[32] ); +void player__observe_system( enum player_subsystem id ); +void player_load_animation_reference( const char *path ); +void player__render( vg_camera *cam ); +void player__animate_from_replay( replay_buffer *replay ); +void player__animate(void); +void player__pre_render(void);