mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Use lookback frames for sliptides
This commit is contained in:
parent
526b3c3b57
commit
1e97e92be0
3 changed files with 16 additions and 14 deletions
|
|
@ -406,4 +406,7 @@ unset_bit_array (bitarray_t * const array, const int value)
|
|||
typedef UINT64 precise_t;
|
||||
#endif
|
||||
|
||||
#define intsign(n) \
|
||||
((n) < 0 ? -1 : (n) > 0 ? 1 : 0)
|
||||
|
||||
#endif //__DOOMTYPE__
|
||||
|
|
|
|||
23
src/k_kart.c
23
src/k_kart.c
|
|
@ -1981,22 +1981,25 @@ void K_KartMoveAnimation(player_t *player)
|
|||
turndir = 1;
|
||||
}
|
||||
|
||||
// Use drift frames when sliptiding
|
||||
if (player->aizDriftTurn)
|
||||
{
|
||||
drift = (player->kartstuff[k_aizdriftstrat]);
|
||||
|
||||
if (drift)
|
||||
turndir = 0;
|
||||
}
|
||||
|
||||
if (lookback == true && drift == 0)
|
||||
{
|
||||
// Prioritize looking back frames over turning
|
||||
turndir = 0;
|
||||
}
|
||||
|
||||
if (turndir == 0 && drift == 0)
|
||||
// Sliptides: drift -> lookback frames
|
||||
if (abs(player->aizDriftTurn) >= ANGLE_90)
|
||||
{
|
||||
destGlanceDir = -(2*intsign(player->aizDriftTurn));
|
||||
player->glanceDir = destGlanceDir;
|
||||
drift = turndir = 0;
|
||||
}
|
||||
else if (player->aizDriftTurn)
|
||||
{
|
||||
drift = intsign(player->aizDriftTurn);
|
||||
turndir = 0;
|
||||
}
|
||||
else if (turndir == 0 && drift == 0)
|
||||
{
|
||||
// Only try glancing if you're driving straight.
|
||||
// This avoids all-players loops when we don't need it.
|
||||
|
|
|
|||
|
|
@ -936,10 +936,6 @@ void R_ApplyViewMorph(int s)
|
|||
width*vid.bpp, height, width*vid.bpp, vid.width);
|
||||
}
|
||||
|
||||
static inline int intsign(int n) {
|
||||
return n < 0 ? -1 : n > 0 ? 1 : 0;
|
||||
}
|
||||
|
||||
angle_t R_ViewRollAngle(const player_t *player)
|
||||
{
|
||||
angle_t roll = player->viewrollangle;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue