small compression
[carveJwlIkooP6JGAAIwe30JlM.git] / player_replay.c
index fc57680b7060349d8355ee6d58f630ab1cdaec04..04650b73b81ed05d2de6de8ea482cad313553abe 100644 (file)
@@ -5,7 +5,7 @@
 #include "input.h"
 #include "gui.h"
 
-VG_STATIC void replay_clear( replay_buffer *replay ){
+static void replay_clear( replay_buffer *replay ){
    replay->head = NULL;
    replay->tail = NULL;
    replay->cursor_frame = NULL;
@@ -13,13 +13,13 @@ VG_STATIC void replay_clear( replay_buffer *replay ){
    replay->cursor = -99999.9;
 }
 
-VG_STATIC void *
-replay_frame_data( replay_frame *frame, enum replay_framedata type ){
+static 
+void * replay_frame_data( replay_frame *frame, enum replay_framedata type ){
    void *baseptr = frame;
    return baseptr + frame->data_table[type][0];
 }
 
-VG_STATIC u16
+static u16
 replay_frame_calculate_data_offsets( u16 data_table[4][2] ){
    u32 total = vg_align8( sizeof(replay_frame) );
    for( u32 i=0; i<4; i++ ){
@@ -32,7 +32,7 @@ replay_frame_calculate_data_offsets( u16 data_table[4][2] ){
    return total;
 }
 
-VG_STATIC void replay_tailpop( replay_buffer *replay ){
+static void replay_tailpop( replay_buffer *replay ){
    if( replay->cursor_frame == replay->tail )
       replay->cursor_frame = NULL;
    if( replay->statehead == replay->tail )
@@ -46,7 +46,7 @@ VG_STATIC void replay_tailpop( replay_buffer *replay ){
       replay->head = NULL;
 }
 
-VG_STATIC replay_frame *replay_newframe( replay_buffer *replay, 
+static replay_frame *replay_newframe( replay_buffer *replay, 
                                          u16 animator_size,
                                          u16 gamestate_size,
                                          u16 sfx_count ){
@@ -64,16 +64,9 @@ VG_STATIC replay_frame *replay_newframe( replay_buffer *replay,
 
    replay_frame *frame = NULL;
    if( replay->head ){
-      assert( replay->head );
-
       u32 headsize = replay->head->total_size,
           nextpos  = ((void *)replay->head - replay->data) + headsize;
 
-      if( nextsize > replay->size ){
-         vg_error( "Keyframe too big\n" );
-         return NULL;
-      }
-
       if( nextpos + nextsize > replay->size ){
          nextpos = 0;
          
@@ -120,7 +113,7 @@ check_again:;
    return frame;
 }
 
-VG_STATIC void replay_seek( replay_buffer *replay, f64 t ){
+static void replay_seek( replay_buffer *replay, f64 t ){
    if( !replay->head ) return;
    assert( replay->tail );
 
@@ -164,7 +157,7 @@ VG_STATIC void replay_seek( replay_buffer *replay, f64 t ){
    replay->cursor = t;
 }
 
-VG_STATIC replay_frame *replay_find_recent_stateframe( replay_buffer *replay ){
+static replay_frame *replay_find_recent_stateframe( replay_buffer *replay ){
    replay_frame *frame = replay->cursor_frame;
    u32 i=4096;
    while( i --> 0 ){
@@ -176,7 +169,7 @@ VG_STATIC replay_frame *replay_find_recent_stateframe( replay_buffer *replay ){
    return NULL;
 }
 
-VG_STATIC f32 replay_subframe_time( replay_buffer *replay ){
+static f32 replay_subframe_time( replay_buffer *replay ){
    replay_frame *frame = replay->cursor_frame;
    if( !frame ) return 0.0f;
    replay_frame *next = frame->r;
@@ -189,13 +182,13 @@ VG_STATIC f32 replay_subframe_time( replay_buffer *replay ){
       return 0.0f;
 }
 
-VG_STATIC void replay_get_frame_camera( replay_frame *frame, camera *cam ){
+static void replay_get_frame_camera( replay_frame *frame, camera *cam ){
    cam->fov = frame->cam_fov;
    v3_copy( frame->cam_pos, cam->pos );
    v3_copy( frame->cam_angles, cam->angles );
 }
 
-VG_STATIC void replay_get_camera( replay_buffer *replay, camera *cam ){
+static void replay_get_camera( replay_buffer *replay, camera *cam ){
    cam->nearz = 0.1f;
    cam->farz = 100.0f;
    if( replay->cursor_frame ){
@@ -224,7 +217,7 @@ struct replay_rb{
    v4f q;
 };
 
-VG_STATIC 
+static 
 void skaterift_record_frame( replay_buffer *replay, int force_gamestate ){
    f64 delta      = 9999999.9,
        statedelta = 9999999.9;
@@ -284,9 +277,9 @@ void skaterift_record_frame( replay_buffer *replay, int force_gamestate ){
 
       /* subsytem/dynamic block */
       if( localplayer.subsystem == k_player_subsystem_walk )
-         memcpy( dst, &localplayer._walk.state, gamestate_size );
+         memcpy( dst, &player_walk.state, gamestate_size );
       else if( localplayer.subsystem == k_player_subsystem_skate )
-         memcpy( dst, &localplayer._skate.state, gamestate_size );
+         memcpy( dst, &player_skate.state, gamestate_size );
       else if( localplayer.subsystem == k_player_subsystem_dead ){
          struct replay_rb *arr = dst;
          for( u32 i=0; i<localplayer.ragdoll.part_count; i ++ ){
@@ -316,15 +309,15 @@ void skaterift_record_frame( replay_buffer *replay, int force_gamestate ){
    void *dst = replay_frame_data( frame, k_replay_framedata_animator );
 
    if( localplayer.subsystem == k_player_subsystem_walk )
-      memcpy( dst, &localplayer._walk.animator, animator_size );
+      memcpy( dst, &player_walk.animator, animator_size );
    else if( localplayer.subsystem == k_player_subsystem_skate )
-      memcpy( dst, &localplayer._skate.animator, animator_size );
+      memcpy( dst, &player_skate.animator, animator_size );
    else if( localplayer.subsystem == k_player_subsystem_dead ){
-      memcpy( dst, &localplayer._dead.animator, animator_size );
+      memcpy( dst, &player_dead.animator, animator_size );
    }
 }
 
-VG_STATIC
+static
 void skaterift_restore_frame( replay_frame *frame ){
    replay_gamestate *gs = 
       replay_frame_data( frame, k_replay_framedata_internal_gamestate );
@@ -333,13 +326,13 @@ void skaterift_restore_frame( replay_frame *frame ){
    assert( src_size );
 
    if(frame->system == k_player_subsystem_walk ){
-      memcpy( &localplayer._walk.state, src, src_size );
+      memcpy( &player_walk.state, src, src_size );
    }
    else if( frame->system == k_player_subsystem_skate ){
-      memcpy( &localplayer._skate.state, src, src_size );
+      memcpy( &player_skate.state, src, src_size );
    }
    else if( frame->system == k_player_subsystem_dead ){
-      player__dead_transition( &localplayer );
+      player__dead_transition();
       struct replay_rb *arr = src;
 
       for( u32 i=0; i<localplayer.ragdoll.part_count; i ++ ){
@@ -379,7 +372,7 @@ void skaterift_restore_frame( replay_frame *frame ){
    vg.time = frame->time;
 }
 
-VG_STATIC void skaterift_replay_resume(void){
+static void skaterift_replay_resume(void){
    replay_frame *prev = replay_find_recent_stateframe(&skaterift.replay);
 
    if( prev ){
@@ -390,7 +383,7 @@ VG_STATIC void skaterift_replay_resume(void){
    }
 }
 
-VG_STATIC void skaterift_replay_pre_update(void){
+static void skaterift_replay_pre_update(void){
    if( skaterift.activity != k_skaterift_replay ) return;
 
    if( skaterift.replay_control == k_replay_control_resume ){
@@ -508,7 +501,7 @@ VG_STATIC void skaterift_replay_pre_update(void){
    }
 }
 
-VG_STATIC void skaterift_get_replay_camera( camera *cam ){
+static void skaterift_get_replay_camera( camera *cam ){
    if( skaterift.freecam ){
       cam->nearz = 0.1f;
       cam->farz = 100.0f;
@@ -521,7 +514,7 @@ VG_STATIC void skaterift_get_replay_camera( camera *cam ){
    }
 }
 
-VG_STATIC void skaterift_replay_debug_info(void){
+static void skaterift_replay_debug_info(void){
    player__debugtext( 2, "replay info" );
 
    replay_buffer *replay = &skaterift.replay;
@@ -533,13 +526,12 @@ VG_STATIC void skaterift_replay_debug_info(void){
 
    player__debugtext( 1, "head @%u | tail @%u\n", head, tail );
 
-   for( u32 i=0; i<4; i++ ){
-      player__debugtext( 1, "[%u]: [%hu, %hu]\n", i,
-           replay->statehead->data_table[i][0],
-           replay->statehead->data_table[i][1] );
-   }
-
    if( replay->statehead ){
+      for( u32 i=0; i<4; i++ ){
+         player__debugtext( 1, "[%u]: [%hu, %hu]\n", i,
+              replay->statehead->data_table[i][0],
+              replay->statehead->data_table[i][1] );
+      }
       u32 state = (void *)replay->statehead - replay->data;
       player__debugtext( 1, "gs @%u\n", state );
       player__debugtext( 1, "gamestate_size: %hu\n", 
@@ -559,7 +551,7 @@ VG_STATIC void skaterift_replay_debug_info(void){
    player__debugtext( 1, "cursor: %.2fs / %.2fs\n", cur, len );
 }
 
-VG_STATIC void skaterift_replay_imgui(void){
+static void skaterift_replay_imgui(void){
    if( skaterift.activity != k_skaterift_replay ) return;
 
    replay_buffer *replay = &skaterift.replay;