mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'fast-snake' into 'master'
Quick reptile See merge request KartKrew/Kart!451
This commit is contained in:
commit
8109bc8e61
3 changed files with 23 additions and 2 deletions
|
|
@ -263,6 +263,7 @@ typedef struct respawnvars_s
|
||||||
fixed_t pointz;
|
fixed_t pointz;
|
||||||
boolean flip; // Flip upside down or not
|
boolean flip; // Flip upside down or not
|
||||||
tic_t timer; // Time left on respawn animation once you're there
|
tic_t timer; // Time left on respawn animation once you're there
|
||||||
|
tic_t airtimer; // Time spent in the air before respawning
|
||||||
UINT32 distanceleft; // How far along the course to respawn you
|
UINT32 distanceleft; // How far along the course to respawn you
|
||||||
tic_t dropdash; // Drop Dash charge timer
|
tic_t dropdash; // Drop Dash charge timer
|
||||||
} respawnvars_t;
|
} respawnvars_t;
|
||||||
|
|
|
||||||
|
|
@ -276,6 +276,8 @@ void K_DoIngameRespawn(player_t *player)
|
||||||
|
|
||||||
player->respawn.timer = RESPAWN_TIME;
|
player->respawn.timer = RESPAWN_TIME;
|
||||||
player->respawn.state = RESPAWNST_MOVE;
|
player->respawn.state = RESPAWNST_MOVE;
|
||||||
|
|
||||||
|
player->respawn.airtimer = player->airtime;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------------------
|
/*--------------------------------------------------
|
||||||
|
|
@ -318,8 +320,9 @@ size_t K_NextRespawnWaypointIndex(waypoint_t *waypoint)
|
||||||
--------------------------------------------------*/
|
--------------------------------------------------*/
|
||||||
static void K_MovePlayerToRespawnPoint(player_t *player)
|
static void K_MovePlayerToRespawnPoint(player_t *player)
|
||||||
{
|
{
|
||||||
const fixed_t realstepamt = (64 * mapobjectscale);
|
const int airCompensation = 128;
|
||||||
fixed_t stepamt = realstepamt;
|
fixed_t realstepamt = (64 * mapobjectscale);
|
||||||
|
fixed_t stepamt;
|
||||||
|
|
||||||
vector3_t dest, step, laser;
|
vector3_t dest, step, laser;
|
||||||
angle_t stepha, stepva;
|
angle_t stepha, stepva;
|
||||||
|
|
@ -330,6 +333,13 @@ static void K_MovePlayerToRespawnPoint(player_t *player)
|
||||||
waypoint_t *laserwp;
|
waypoint_t *laserwp;
|
||||||
boolean laserflip;
|
boolean laserflip;
|
||||||
|
|
||||||
|
/* speed up if in the air for a long time */
|
||||||
|
realstepamt += FixedMul(realstepamt,
|
||||||
|
(player->respawn.airtimer * FRACUNIT)
|
||||||
|
/ airCompensation);
|
||||||
|
|
||||||
|
stepamt = realstepamt;
|
||||||
|
|
||||||
player->mo->momx = player->mo->momy = player->mo->momz = 0;
|
player->mo->momx = player->mo->momy = player->mo->momz = 0;
|
||||||
|
|
||||||
player->flashing = 2;
|
player->flashing = 2;
|
||||||
|
|
|
||||||
10
src/p_user.c
10
src/p_user.c
|
|
@ -2966,6 +2966,10 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
||||||
else
|
else
|
||||||
lookbackdelay[num]--;
|
lookbackdelay[num]--;
|
||||||
}
|
}
|
||||||
|
else if (player->respawn.state != RESPAWNST_NONE)
|
||||||
|
{
|
||||||
|
camspeed = 3*FRACUNIT/4;
|
||||||
|
}
|
||||||
lookbackdown = (lookbackdelay[num] == MAXLOOKBACKDELAY) != lookbackactive[num];
|
lookbackdown = (lookbackdelay[num] == MAXLOOKBACKDELAY) != lookbackactive[num];
|
||||||
lookbackactive[num] = (lookbackdelay[num] == MAXLOOKBACKDELAY);
|
lookbackactive[num] = (lookbackdelay[num] == MAXLOOKBACKDELAY);
|
||||||
#undef MAXLOOKBACKDELAY
|
#undef MAXLOOKBACKDELAY
|
||||||
|
|
@ -4090,6 +4094,12 @@ DoABarrelRoll (player_t *player)
|
||||||
|
|
||||||
fixed_t smoothing;
|
fixed_t smoothing;
|
||||||
|
|
||||||
|
if (player->respawn.state != RESPAWNST_NONE)
|
||||||
|
{
|
||||||
|
player->tilt = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (player->exiting)
|
if (player->exiting)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue