From b69162e92d972b58c59b73a19eed2ea234e464f3 Mon Sep 17 00:00:00 2001 From: James R <justsomejames2@gmail.com> Date: Sun, 27 Sep 2020 23:02:04 -0700 Subject: [PATCH] Apply quake rolling to opengl too, cv_actionmovie depends on cv_tilting --- src/d_player.h | 1 + src/p_user.c | 29 ++++++++++++++++++----------- src/r_main.c | 3 --- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/d_player.h b/src/d_player.h index 90370c796..7b542d7ab 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -370,6 +370,7 @@ typedef struct player_s //fixed_t bob; angle_t viewrollangle; + angle_t tilt; // Mouse aiming, where the guy is looking at! // It is updated with cmd->aiming. diff --git a/src/p_user.c b/src/p_user.c index 94c5e5cd5..c222fed7f 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -8303,12 +8303,26 @@ DoABarrelRoll (player_t *player) slope -= Quaketilt(player); - delta = (INT32)( slope - player->viewrollangle )/ 32; + delta = (INT32)( slope - player->tilt )/ 32; if (delta) - player->viewrollangle += delta; + player->tilt += delta; 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; + } } // @@ -8860,14 +8874,7 @@ void P_PlayerThink(player_t *player) K_KartPlayerThink(player, cmd); // SRB2kart - if (cv_tilting.value) - { - DoABarrelRoll(player); - } - else - { - player->viewrollangle = 0; - } + DoABarrelRoll(player); /* // Colormap verification diff --git a/src/r_main.c b/src/r_main.c index c764d5d43..eee1be27f 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -671,9 +671,6 @@ void R_CheckViewMorph(void) fixed_t fisheye = cv_cam2_turnmultiplier.value; // temporary test value #endif - if (cv_actionmovie.value) - rollangle += quake.roll; - rollangle >>= ANGLETOFINESHIFT; rollangle = ((rollangle+2) & ~3) & FINEMASK; // Limit the distinct number of angles to reduce recalcs from angles changing a lot. -- GitLab