mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-28 20:40:47 +00:00
- Blood/RR: Replace a few playerSet*()
calls with playerAdd*()
. Because the setters continually set until target is reached, can cause some perceivable smoothness issues if ticker re-targets's player's angle/horizon before input code has reached target.
This commit is contained in:
parent
77265b3138
commit
ac635ebd0f
2 changed files with 22 additions and 11 deletions
|
@ -1358,12 +1358,13 @@ void ProcessInput(PLAYER *pPlayer)
|
|||
char bSeqStat = playerSeqPlaying(pPlayer, 16);
|
||||
if (pPlayer->fraggerId != -1)
|
||||
{
|
||||
pPlayer->angold = pSprite->ang = getangle(sprite[pPlayer->fraggerId].x - pSprite->x, sprite[pPlayer->fraggerId].y - pSprite->y);
|
||||
playerSetAngle(&pPlayer->q16ang, &pPlayer->angTarget, pSprite->ang);
|
||||
fixed_t fraggerAng = gethiq16angle(sprite[pPlayer->fraggerId].x - pSprite->x, sprite[pPlayer->fraggerId].y - pSprite->y);
|
||||
pPlayer->angold = pSprite->ang = FixedToInt(fraggerAng);
|
||||
playerAddAngle(&pPlayer->q16ang, &pPlayer->angAdjust, FixedToFloat(getincangleq16(pPlayer->q16ang, fraggerAng)));
|
||||
}
|
||||
pPlayer->deathTime += 4;
|
||||
if (!bSeqStat)
|
||||
playerSetHoriz(&pPlayer->q16horiz, &pPlayer->horizTarget, FixedToFloat(mulscale16(0x8000-(Cos(ClipHigh(pPlayer->deathTime<<3, 1024))>>15), IntToFixed(120))));
|
||||
playerAddHoriz(&pPlayer->q16horiz, &pPlayer->horizAdjust, FixedToFloat(mulscale16(0x8000-(Cos(ClipHigh(pPlayer->deathTime<<3, 1024))>>15), IntToFixed(120)) - pPlayer->q16horiz));
|
||||
if (pPlayer->curWeapon)
|
||||
pInput->setNewWeapon(pPlayer->curWeapon);
|
||||
if (pInput->actions & SB_OPEN)
|
||||
|
|
|
@ -1717,9 +1717,10 @@ static void onMotorcycle(int snum, ESyncBits &actions)
|
|||
p->moto_drink--;
|
||||
}
|
||||
}
|
||||
|
||||
int horiz = 0;
|
||||
if (p->TurbCount)
|
||||
{
|
||||
int horiz;
|
||||
if (p->TurbCount <= 1)
|
||||
{
|
||||
horiz = 100;
|
||||
|
@ -1733,7 +1734,6 @@ static void onMotorcycle(int snum, ESyncBits &actions)
|
|||
p->TurbCount--;
|
||||
p->moto_drink = (krand() & 3) - 2;
|
||||
}
|
||||
playerSetHoriz(&p->q16horiz, &p->horizTarget, horiz);
|
||||
}
|
||||
else if (p->VBumpTarget > p->VBumpNow)
|
||||
{
|
||||
|
@ -1743,7 +1743,7 @@ static void onMotorcycle(int snum, ESyncBits &actions)
|
|||
p->VBumpNow++;
|
||||
if (p->VBumpTarget < p->VBumpNow)
|
||||
p->VBumpNow = p->VBumpTarget;
|
||||
playerSetHoriz(&p->q16horiz, &p->horizTarget, 100 + p->VBumpNow / 3);
|
||||
horiz = 100 + p->VBumpNow / 3;
|
||||
}
|
||||
else if (p->VBumpTarget < p->VBumpNow)
|
||||
{
|
||||
|
@ -1753,13 +1753,18 @@ static void onMotorcycle(int snum, ESyncBits &actions)
|
|||
p->VBumpNow--;
|
||||
if (p->VBumpTarget > p->VBumpNow)
|
||||
p->VBumpNow = p->VBumpTarget;
|
||||
playerSetHoriz(&p->q16horiz, &p->horizTarget, 100 + p->VBumpNow / 3);
|
||||
horiz = 100 + p->VBumpNow / 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
p->VBumpTarget = 0;
|
||||
p->moto_bump_fast = 0;
|
||||
}
|
||||
if (horiz != 0)
|
||||
{
|
||||
playerAddHoriz(&p->q16horiz, &p->horizAdjust, horiz - FixedToFloat(p->q16horiz));
|
||||
}
|
||||
|
||||
if (p->MotoSpeed >= 20 && p->on_ground == 1 && (var74 || var7c))
|
||||
{
|
||||
short var8c, var90, var94, var98;
|
||||
|
@ -2041,9 +2046,10 @@ static void onBoat(int snum, ESyncBits &actions)
|
|||
p->moto_drink--;
|
||||
}
|
||||
}
|
||||
|
||||
int horiz = 0;
|
||||
if (p->TurbCount)
|
||||
{
|
||||
int horiz;
|
||||
if (p->TurbCount <= 1)
|
||||
{
|
||||
horiz = 100;
|
||||
|
@ -2057,7 +2063,6 @@ static void onBoat(int snum, ESyncBits &actions)
|
|||
p->TurbCount--;
|
||||
p->moto_drink = (krand() & 3) - 2;
|
||||
}
|
||||
playerSetHoriz(&p->q16horiz, &p->horizTarget, horiz);
|
||||
}
|
||||
else if (p->VBumpTarget > p->VBumpNow)
|
||||
{
|
||||
|
@ -2067,7 +2072,7 @@ static void onBoat(int snum, ESyncBits &actions)
|
|||
p->VBumpNow++;
|
||||
if (p->VBumpTarget < p->VBumpNow)
|
||||
p->VBumpNow = p->VBumpTarget;
|
||||
playerSetHoriz(&p->q16horiz, &p->horizTarget, 100 + p->VBumpNow / 3);
|
||||
horiz = 100 + p->VBumpNow / 3;
|
||||
}
|
||||
else if (p->VBumpTarget < p->VBumpNow)
|
||||
{
|
||||
|
@ -2077,13 +2082,18 @@ static void onBoat(int snum, ESyncBits &actions)
|
|||
p->VBumpNow--;
|
||||
if (p->VBumpTarget > p->VBumpNow)
|
||||
p->VBumpNow = p->VBumpTarget;
|
||||
playerSetHoriz(&p->q16horiz, &p->horizTarget, 100 + p->VBumpNow / 3);
|
||||
horiz = 100 + p->VBumpNow / 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
p->VBumpTarget = 0;
|
||||
p->moto_bump_fast = 0;
|
||||
}
|
||||
if (horiz != 0)
|
||||
{
|
||||
playerAddHoriz(&p->q16horiz, &p->horizAdjust, horiz - FixedToFloat(p->q16horiz));
|
||||
}
|
||||
|
||||
if (p->MotoSpeed > 0 && p->on_ground == 1 && (varbc || varc4))
|
||||
{
|
||||
short vard4, vard8, vardc, vare0;
|
||||
|
|
Loading…
Reference in a new issue