mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Stronger tilt on sliptiding + turn to face the camera
Oni's Sick Nasty
This commit is contained in:
parent
9dcce02e5e
commit
5660cac3ad
4 changed files with 44 additions and 2 deletions
|
|
@ -529,6 +529,8 @@ typedef struct player_s
|
|||
tic_t airtime; // Keep track of how long you've been in the air
|
||||
boolean driftInput; // Whenever or not try drifting.
|
||||
boolean airFailsafe; // Whenever or not try the air boost
|
||||
INT32 aizDriftTilt;
|
||||
INT32 aizDriftTurn;
|
||||
|
||||
UINT8 trickpanel; // Trick panel state
|
||||
boolean trickdelay; // Prevent tricks until control stick is neutral
|
||||
|
|
|
|||
36
src/k_kart.c
36
src/k_kart.c
|
|
@ -1920,6 +1920,15 @@ 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
|
||||
|
|
@ -7351,8 +7360,35 @@ static void K_KartDrift(player_t *player, boolean onground)
|
|||
player->kartstuff[k_aizdriftstrat] = ((player->kartstuff[k_drift] > 0) ? 1 : -1);
|
||||
}
|
||||
else if (player->kartstuff[k_aizdriftstrat] && !player->kartstuff[k_drift])
|
||||
{
|
||||
K_SpawnAIZDust(player);
|
||||
|
||||
if (abs(player->aizDriftTilt) < ANGLE_22h)
|
||||
{
|
||||
player->aizDriftTilt =
|
||||
(abs(player->aizDriftTilt) + ANGLE_11hh / 4) *
|
||||
player->kartstuff[k_aizdriftstrat];
|
||||
}
|
||||
|
||||
if (abs(player->aizDriftTurn) < ANGLE_135)
|
||||
{
|
||||
player->aizDriftTurn =
|
||||
(abs(player->aizDriftTurn) + ANGLE_11hh) *
|
||||
player->kartstuff[k_aizdriftstrat];
|
||||
}
|
||||
}
|
||||
|
||||
if (!player->kartstuff[k_aizdriftstrat])
|
||||
{
|
||||
player->aizDriftTilt -= player->aizDriftTilt / 4;
|
||||
player->aizDriftTurn -= player->aizDriftTurn / 4;
|
||||
|
||||
if (abs(player->aizDriftTilt) < ANGLE_11hh / 4)
|
||||
player->aizDriftTilt = 0;
|
||||
if (abs(player->aizDriftTurn) < ANGLE_11hh)
|
||||
player->aizDriftTurn = 0;
|
||||
}
|
||||
|
||||
if (player->kartstuff[k_drift]
|
||||
&& ((buttons & BT_BRAKE)
|
||||
|| !(buttons & BT_ACCELERATE))
|
||||
|
|
|
|||
|
|
@ -2223,7 +2223,11 @@ void P_MovePlayer(player_t *player)
|
|||
{
|
||||
player->drawangle = player->mo->angle;
|
||||
|
||||
if (player->kartstuff[k_drift] != 0)
|
||||
if (player->aizDriftTurn)
|
||||
{
|
||||
player->drawangle += player->aizDriftTurn;
|
||||
}
|
||||
else if (player->kartstuff[k_drift] != 0)
|
||||
{
|
||||
INT32 a = (ANGLE_45 / 5) * player->kartstuff[k_drift];
|
||||
player->drawangle += a;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ angle_t R_SpriteRotationAngle(mobj_t *mobj)
|
|||
angle_t angleDelta = (viewingAngle - mobj->angle);
|
||||
|
||||
angle_t sliptideLift = mobj->player
|
||||
? K_Sliptiding(mobj->player) * ANGLE_11hh : 0;
|
||||
? mobj->player->aizDriftTilt : 0;
|
||||
|
||||
angle_t rollOrPitch = R_GetPitchRollAngle(mobj);
|
||||
angle_t rollAngle = (rollOrPitch + mobj->rollangle);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue