Make first-person and directionchar-off work as expected

This commit is contained in:
fickleheart 2019-12-08 15:05:44 -06:00
parent ebd2861593
commit eee0d42b1f

View file

@ -1374,7 +1374,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
cmd->angleturn = (INT16)(*myangle >> 16);
// Adjust camera angle by player input
if (!forcestrafe && !turnheld[forplayer] && !player->climbing)
if (!forcestrafe && camera.chase && !turnheld[forplayer] && !player->climbing)
{
fixed_t camadjustfactor = cv_cam_turnfacinginput[forplayer].value; //@TODO cvar
@ -1382,7 +1382,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
*myangle -= cmd->sidemove * 50 * camadjustfactor;
}
if (abilitydirection && !player->climbing && !forcestrafe)
if (abilitydirection && camera.chase && !player->climbing && !forcestrafe && (player->pflags & PF_DIRECTIONCHAR))
{
if (cmd->forwardmove || cmd->sidemove)
{
@ -1400,7 +1400,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
// Adjust camera angle to face player direction, depending on circumstances
// Nothing happens if cam left/right are held, so you can hold both to lock the camera in one direction
if (!forcestrafe && !turnheld[forplayer])
if (!forcestrafe && camera.chase && !turnheld[forplayer])
{
fixed_t camadjustfactor;