X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=player_common.c;h=29ae05068a284d85a2c5fd013571232ae6d6878a;hb=a9e3181f697ab37fc74f072cfcfdf44e2d659468;hp=0e0c8a949a0c283c71228e56ccc93ca8d0641dc9;hpb=34a8df54eb962f3ad2e036355041f5bc5cabe5a0;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/player_common.c b/player_common.c index 0e0c8a9..29ae050 100644 --- a/player_common.c +++ b/player_common.c @@ -33,8 +33,8 @@ VG_STATIC void player_camera_portal_correction( player_instance *player ) { /* construct plane equation for reciever gate */ v4f plane; - v3_copy( player->gate_waiting->recv_to_world[2], plane ); - plane[3] = v3_dot( plane, player->gate_waiting->recv_to_world[3] ); + q_mulv( player->gate_waiting->q[1], (v3f){0.0f,0.0f,1.0f}, plane ); + plane[3] = v3_dot( plane, player->gate_waiting->co[1] ); /* check camera polarity */ if( v3_dot( player->cam.pos, plane ) < plane[3] ) @@ -51,15 +51,6 @@ VG_STATIC void player_camera_portal_correction( player_instance *player ) m4x3_invert_affine( player->gate_waiting->transport, inverse ); m4x3_mulv( inverse, player->cam.pos, player->cam.pos ); -#if 0 - /* TODO: Find robust method for this */ - v3f fwd_dir = { cosf(player->cam.angles[0]), - 0.0f, - sinf(player->cam.angles[0])}; - m3x3_mulv( inverse, fwd_dir, fwd_dir ); - player->cam.angles[0] = atan2f( fwd_dir[2], fwd_dir[0] ); -#endif - struct skeleton *sk = &player->playeravatar->sk; skeleton_apply_transform( sk, inverse ); }