update helpers/location to 'frosted' ui
[carveJwlIkooP6JGAAIwe30JlM.git] / player_render.h
index d2b17bbeed54127cf0ab76afff13de51c77a5c06..cfc48e78940cd5a67256911682bea13039d8327e 100644 (file)
@@ -1,30 +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"
-
-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;
-};
+#include "player_render.h"
+#include "player_api.h"
+#include "player_replay.h"
 
 enum eboard_truck{
    k_board_truck_back = 0,
@@ -57,10 +38,6 @@ struct player_board{
                board;
 };
 
-struct board_pose {
-   f32 lean;
-};
-
 struct player_model{
    struct dynamic_model_1texture mdl;
 };
@@ -70,24 +47,36 @@ enum board_shader{
    k_board_shader_entity
 };
 
-VG_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 );
-
-VG_STATIC void player_board_load( struct player_board *mdl, const char *path );
-VG_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 );
-
-VG_STATIC void render_board( camera *cam, world_instance *world,
-                             struct player_board *board, m4x3f root,
-                             struct board_pose *pose,
-                             enum board_shader shader );
-
-VG_STATIC void render_playermodel( camera *cam, world_instance *world,
-                                   struct player_model *model,
-                                   struct skeleton *skeleton );
-
-#endif /* PLAYER_RENDER_H */
+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 );
+
+void player_board_load( struct player_board *mdl, const char *path );
+void player_board_unload( struct player_board *mdl );
+
+void player_model_load( struct player_model *board, const char *path);
+void player_model_unload( struct player_model *board );
+
+void render_board( vg_camera *cam, world_instance *world,
+                      struct player_board *board, m4x3f root,
+                      struct player_board_pose *pose,
+                      enum board_shader shader );
+
+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);