- Blood: Force synchronised input while a revolving door is busy/in-use.

* Fixes #205.
This commit is contained in:
Mitchell Richters 2020-12-01 07:43:12 +11:00
parent 22f7fc93f4
commit 232dd5e07a
2 changed files with 10 additions and 1 deletions

View file

@ -1435,9 +1435,12 @@ void ProcessInput(PLAYER *pPlayer)
if (cl_syncinput)
{
applylook(&pPlayer->angle, pInput->avel, &pInput->actions);
UpdatePlayerSpriteAngle(pPlayer);
}
// unconditionally update the player's sprite angle
// in case game is forcing synchronised input.
UpdatePlayerSpriteAngle(pPlayer);
if (!(pInput->actions & SB_JUMP))
pPlayer->cantJump = 0;
@ -1647,6 +1650,10 @@ void playerProcess(PLAYER *pPlayer)
int nXSprite = pSprite->extra;
XSPRITE *pXSprite = pPlayer->pXSprite;
POSTURE* pPosture = &pPlayer->pPosture[pPlayer->lifeMode][pPlayer->posture];
// disable synchronised input if set by game.
resetForcedSyncInput();
powerupProcess(pPlayer);
int top, bottom;
GetSpriteExtents(pSprite, &top, &bottom);

View file

@ -1714,6 +1714,8 @@ void LinkSector(int nSector, XSECTOR *pXSector, EVENT event)
break;
case kSectorRotateMarked:
case kSectorRotate:
// force synchronised input here for now.
setForcedSyncInput();
RDoorBusy(nSector, nBusy);
break;
default: