Always use drift state (and shallower angle) for sliptide in compatmode

This commit is contained in:
GenericHeroGuy 2025-01-27 02:42:26 +01:00
parent d461296c57
commit ef635dd7f4
2 changed files with 5 additions and 1 deletions

View file

@ -2602,7 +2602,7 @@ void K_KartMoveAnimation(player_t *player)
}
// Sliptides: drift -> lookback frames
if (abs(player->aizdriftturn) >= ANGLE_90)
if (abs(player->aizdriftturn) >= ANGLE_90 && !wadfiles[((skin_t *)player->mo->skin)->wadnum]->compatmode)
{
destGlanceDir = -(2*intsign(player->aizdriftturn));
player->glanceDir = destGlanceDir;

View file

@ -15,6 +15,7 @@
#include "r_fps.h"
#include "r_main.h"
#include "r_skins.h"
#include "g_game.h"
#include "i_video.h"
#include "r_plane.h"
@ -287,6 +288,9 @@ void R_InterpolateMobjState(mobj_t *mobj, fixed_t frac, interpmobjstate_t *out)
if (mobj->player && mobj->player->aizdriftturn)
{
addangle += mobj->player->aizdriftturn;
if (mobj->skin && wadfiles[((skin_t *)mobj->skin)->wadnum]->compatmode)
// don't turn too much in compatmode
addangle = (INT32)addangle / 4;
}
if (mobj->state == &states[S_KART_DRIFT_L]
|| mobj->state == &states[S_KART_DRIFT_L_OUT]