diff --git a/src/p_user.c b/src/p_user.c index 5358df1fe..436890e33 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7168,6 +7168,7 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall UINT8 timeover; mobj_t *mo; fixed_t f1, f2; + fixed_t speed; #ifndef NOCLIPCAM boolean cameranoclip; subsector_t *newsubsec; @@ -7402,8 +7403,11 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall // sets ideal cam pos dist = camdist; - if (player->speed > K_GetKartSpeed(player, false)) - dist += 4*(player->speed - K_GetKartSpeed(player, false)); + /* player->speed subtracts conveyors, janks up the camera */ + speed = R_PointToDist2(0, 0, player->mo->momx, player->mo->momy); + + if (speed > K_GetKartSpeed(player, false)) + dist += 4*(speed - K_GetKartSpeed(player, false)); dist += abs(thiscam->momz)/4; if (player->karthud[khud_boostcam])