Apply quake rolling to opengl too, cv_actionmovie depends on cv_tilting

(cherry picked from commit b69162e92d972b58c59b73a19eed2ea234e464f3)
This commit is contained in:
James R 2020-09-27 23:02:04 -07:00
parent 737ea51ace
commit 4240b30453
3 changed files with 19 additions and 14 deletions

View file

@ -485,6 +485,7 @@ typedef struct player_s
fixed_t bob; fixed_t bob;
angle_t viewrollangle; angle_t viewrollangle;
angle_t tilt;
angle_t angleturn; angle_t angleturn;

View file

@ -4247,12 +4247,26 @@ DoABarrelRoll (player_t *player)
slope -= Quaketilt(player); slope -= Quaketilt(player);
delta = (INT32)( slope - player->viewrollangle )/ 32; delta = (INT32)( slope - player->tilt )/ 32;
if (delta) if (delta)
player->viewrollangle += delta; player->tilt += delta;
else else
player->viewrollangle = slope; player->tilt = slope;
if (cv_tilting.value)
{
player->viewrollangle = player->tilt;
if (cv_actionmovie.value)
{
player->viewrollangle += quake.roll;
}
}
else
{
player->viewrollangle = 0;
}
} }
// //
@ -4624,14 +4638,7 @@ void P_PlayerThink(player_t *player)
K_KartPlayerThink(player, cmd); // SRB2kart K_KartPlayerThink(player, cmd); // SRB2kart
if (cv_tilting.value) DoABarrelRoll(player);
{
DoABarrelRoll(player);
}
else
{
player->viewrollangle = 0;
}
LUAh_PlayerThink(player); LUAh_PlayerThink(player);
} }

View file

@ -645,9 +645,6 @@ void R_CheckViewMorph(int s)
v->zoomneeded = FRACUNIT; v->zoomneeded = FRACUNIT;
} }
if (cv_actionmovie.value)
rollangle += quake.roll;
rollangle >>= ANGLETOFINESHIFT; rollangle >>= ANGLETOFINESHIFT;
rollangle = ((rollangle+2) & ~3) & FINEMASK; // Limit the distinct number of angles to reduce recalcs from angles changing a lot. rollangle = ((rollangle+2) & ~3) & FINEMASK; // Limit the distinct number of angles to reduce recalcs from angles changing a lot.