replay->cursor = vg.time;
replay->cursor_frame = frame;
- player_animation *res = &frame->anim;
+ player_pose *res = &frame->pose;
v3_zero( res->root_co );
q_identity( res->root_q );
- res->type = k_player_animation_type_absolute;
+ res->type = k_player_pose_type_absolute;
struct skeleton *sk = &localplayer.playeravatar->sk;
- memcpy( &frame->board_pose, &localplayer.board_pose,
- sizeof(localplayer.board_pose) );
+ memcpy( &frame->pose.board, &localplayer.pose.board,
+ sizeof(localplayer.pose.board) );
frame->time = vg.time;
v3_copy( localplayer.cam.pos, frame->cam_pos );
for( u32 i=1; i<sk->bone_count; i++ ){
struct skeleton_bone *sb = &sk->bones[i];
- mdl_keyframe *kf = &res->pose[i-1];
+ mdl_keyframe *kf = &res->keyframes[i-1];
m4x3f mtx;
m4x3_mul( localplayer.gate_waiting->transport, sk->final_mtx[i], mtx );
m4x3_decompose( mtx, kf->co, kf->q, kf->s );
}
}
else
- skeleton_decompose_mtx_absolute( sk, res->pose );
+ skeleton_decompose_mtx_absolute( sk, res->keyframes );
v3_copy( localplayer.cam.angles, frame->cam_angles );
frame->cam_fov = localplayer.cam.fov;