diff --git a/src/client/view.c b/src/client/view.c index a7c04b6c..b6007370 100644 --- a/src/client/view.c +++ b/src/client/view.c @@ -15,6 +15,7 @@ */ var int autocvar_v_cambob = FALSE; +var int autocvar_v_camroll = TRUE; void View_Init(void) { @@ -99,6 +100,16 @@ void View_CalcBob(void) pSeat->fBob = bound(-7, fBob, 4); } +float View_CalcRoll(void) +{ + float roll; + makevectors(view_angles); + + roll = dotproduct(pSeat->vPlayerVelocity, v_right); + roll *= 0.02f; + return autocvar_v_camroll ? roll : 0; +} + /* ================= View_CalcCameraBob @@ -238,6 +249,7 @@ void View_DrawViewModel(void) addentity(eViewModel); } View_CalcCamBob(); + view_angles[2] = View_CalcRoll(); } void View_PostDraw(void)