oneshot synchronization
[carveJwlIkooP6JGAAIwe30JlM.git] / workshop.c
index ffe776c5c5cde7263879145f85870d5f4feda5d3..6cb6b6fade73050d2aeb45e6170a9aafa5e5fd64 100644 (file)
@@ -894,11 +894,13 @@ static void workshop_render_player_preview(void){
    v3_copy( res.root_co, transform[3] );
 
    /* TODO: Function. */
-   skeleton_apply_pose( sk, res.keyframes, k_anim_apply_defer_ik );
-   skeleton_apply_ik_pass( sk );
-   skeleton_apply_pose( sk, res.keyframes, k_anim_apply_deffered_only );
-   skeleton_apply_inverses( sk );
-   skeleton_apply_transform( sk, transform );
+   skeleton_apply_pose( sk, res.keyframes, k_anim_apply_defer_ik, 
+                        localplayer.final_mtx );
+   skeleton_apply_ik_pass( sk, localplayer.final_mtx );
+   skeleton_apply_pose( sk, res.keyframes, k_anim_apply_deffered_only,
+                        localplayer.final_mtx );
+   skeleton_apply_inverses( sk, localplayer.final_mtx );
+   skeleton_apply_transform( sk, transform, localplayer.final_mtx );
 
    camera cam;
    v3_copy( (v3f){ 0.0f, 201.7f, 1.2f }, cam.pos );
@@ -914,7 +916,8 @@ static void workshop_render_player_preview(void){
    camera_finalize( &cam );
 
    world_instance *world = localplayer.viewable_world;
-   render_playermodel( &cam, world, 0, &workshop_form.player_model, sk );
+   render_playermodel( &cam, world, 0, &workshop_form.player_model, sk,
+                        localplayer.final_mtx );
 
    glBindFramebuffer( GL_FRAMEBUFFER, 0 );
    glViewport( 0,0, vg.window_x, vg.window_y );