mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-02-17 19:11:30 +00:00
OK go back to easing, but now actually work
This commit is contained in:
parent
fa792e3378
commit
ada9336137
1 changed files with 9 additions and 14 deletions
23
src/g_game.c
23
src/g_game.c
|
|
@ -898,10 +898,9 @@ void G_ResetAnglePrediction(player_t *player)
|
|||
// This brings back the camera prediction that was lost.
|
||||
static void G_DoAnglePrediction(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer, player_t *player)
|
||||
{
|
||||
const angle_t maxTurn = K_GetKartTurnValue(player, KART_FULLTURN) << TICCMD_REDUCE;
|
||||
INT32 angleChange = 0;
|
||||
INT32 destAngle = player->angleturn;
|
||||
INT32 diff = 0;
|
||||
angle_t angleChange = 0;
|
||||
angle_t destAngle = player->angleturn;
|
||||
angle_t diff = 0;
|
||||
|
||||
localtic = cmd->latency;
|
||||
|
||||
|
|
@ -928,21 +927,17 @@ static void G_DoAnglePrediction(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer, p
|
|||
|
||||
destAngle = player->angleturn + localdelta[ssplayer - 1];
|
||||
diff = destAngle - localangle[ssplayer - 1];
|
||||
if (abs(diff) <= maxTurn)
|
||||
|
||||
if (diff > ANGLE_180)
|
||||
{
|
||||
localangle[ssplayer - 1] = destAngle;
|
||||
diff = InvAngle(InvAngle(diff) / 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (diff > 0)
|
||||
{
|
||||
localangle[ssplayer - 1] += maxTurn;
|
||||
}
|
||||
else
|
||||
{
|
||||
localangle[ssplayer - 1] -= maxTurn;
|
||||
}
|
||||
diff /= 2;
|
||||
}
|
||||
|
||||
localangle[ssplayer - 1] += diff;
|
||||
}
|
||||
|
||||
void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue