now fall in immobile mode
[carveJwlIkooP6JGAAIwe30JlM.git] / player.h
index ecf595d42c51a731daecfef6b4e99bdbaf43fd5c..2d31e46e28aa8188bae035d5e591fba2c37446c1 100644 (file)
--- a/player.h
+++ b/player.h
@@ -61,11 +61,6 @@ struct player_instance{
     */
    camera cam;
    struct player_cam_controller cam_control;
-
-   v3f cam_override_pos;
-   v3f cam_override_angles;
-   float cam_override_fov;
-   float cam_override_strength;
    f32 cam_trackshake;
 
    float cam_velocity_influence,
@@ -91,17 +86,10 @@ struct player_instance{
 
    u16 board_view_slot, playermodel_view_slot;
 
+   player_pose            pose;
    player_pose            holdout_pose;
    float                  holdout_time;
 
-   struct board_pose      board_pose;
-
-   /* 
-    * Replay
-    * -------------------------------------------------
-    */
-   replay_buffer replay;
-
    /*
     * Subsystems
     * -------------------------------------------------
@@ -122,8 +110,7 @@ static localplayer;
  */
 
 VG_STATIC
-void (*_player_system_register[])(void) =
-{
+void (*_player_system_register[])(void) = {
    player__walk_register,
    player__skate_register,
    NULL,
@@ -131,8 +118,7 @@ void (*_player_system_register[])(void) =
 };
 
 VG_STATIC
-void (*_player_bind[])( player_instance *player ) =
-{
+void (*_player_bind[])( player_instance *player ) = {
    player__walk_bind,
    player__skate_bind,
    NULL,
@@ -140,8 +126,7 @@ void (*_player_bind[])( player_instance *player ) =
 };
 
 VG_STATIC
-void (*_player_reset[])( player_instance *player, ent_spawn *rp ) =
-{
+void (*_player_reset[])( player_instance *player, ent_spawn *rp ) = {
    player__walk_reset,
    player__skate_reset,
    NULL,
@@ -149,8 +134,7 @@ void (*_player_reset[])( player_instance *player, ent_spawn *rp ) =
 };
 
 VG_STATIC
-void (*_player_pre_update[])( player_instance *player ) = 
-{
+void (*_player_pre_update[])( player_instance *player ) = {
    player__walk_pre_update,
    player__skate_pre_update,
    NULL,
@@ -158,8 +142,7 @@ void (*_player_pre_update[])( player_instance *player ) =
 };
 
 VG_STATIC
-void( *_player_update[])( player_instance *player ) =
-{
+void( *_player_update[])( player_instance *player ) = {
    player__walk_update,
    player__skate_update,
    player__dead_update,
@@ -167,17 +150,15 @@ void( *_player_update[])( player_instance *player ) =
 };
 
 VG_STATIC 
-void( *_player_post_update[])( player_instance *player ) =
-{
+void( *_player_post_update[])( player_instance *player ) = {
    player__walk_post_update,
    player__skate_post_update,
-   NULL,
+   player__dead_post_update,
    player__drive_post_update
 };
 
 VG_STATIC
-void( *_player_im_gui[])( player_instance *player ) =
-{
+void( *_player_im_gui[])( player_instance *player ) = {
    player__walk_im_gui,
    player__skate_im_gui,
    NULL,
@@ -185,8 +166,7 @@ void( *_player_im_gui[])( player_instance *player ) =
 };
 
 VG_STATIC
-void( *_player_animate[])( player_instance *player, player_animation *dest ) =
-{
+void( *_player_animate[])( player_instance *player ) = {
    player__walk_animate,
    player__skate_animate,
    player__dead_animate,
@@ -194,33 +174,21 @@ void( *_player_animate[])( player_instance *player, player_animation *dest ) =
 };
 
 VG_STATIC
-void( *_player_post_animate[])( player_instance *player ) =
-{
+void( *_player_pose[] )( player_instance *player, player_pose *pose ) = {
+   player__walk_pose,
+   player__skate_pose,
+   player__dead_pose,
+   player__drive_pose,
+};
+
+VG_STATIC
+void( *_player_post_animate[])( player_instance *player ) = {
    player__walk_post_animate,
    player__skate_post_animate,
    player__dead_post_animate,
    player__drive_post_animate
 };
 
-VG_STATIC
-void( *_player_store_state[] )( player_instance *player ) = 
-{
-   NULL,
-   NULL,
-   NULL,
-   NULL
-};
-
-VG_STATIC
-void( *_player_load_state_lerp[] )( player_instance *player, 
-                                    void *A, void *B, f32 t ) =
-{
-   NULL,
-   NULL,
-   NULL,
-   NULL
-};
-
 PLAYER_API void player__debugtext( int size, const char *fmt, ... );
 PLAYER_API void player__create( player_instance *inst );
 PLAYER_API void player__use_avatar( player_instance *player, 
@@ -239,6 +207,7 @@ PLAYER_API void player__im_gui( player_instance *player );
 PLAYER_API void player__setpos( player_instance *player, v3f pos );
 PLAYER_API void player__spawn( player_instance *player, ent_spawn *rp );
 PLAYER_API void player__kill( player_instance *player );
+PLAYER_API void player__begin_holdout( player_instance *player );
 
 VG_STATIC int localplayer_cmd_respawn( int argc, const char *argv[] );
 VG_STATIC void player_apply_transport_to_cam( m4x3f transport );