mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-26 12:01:47 +00:00
Smoother ceiling clipping
- Apply some gravity immediately. - Play the bump (like against walls) effect.
This commit is contained in:
parent
0fad5f5a23
commit
72ded01ac8
4 changed files with 23 additions and 8 deletions
12
src/k_kart.c
12
src/k_kart.c
|
|
@ -2077,6 +2077,18 @@ void K_SpawnInvincibilitySpeedLines(mobj_t *mo)
|
||||||
fast->destscale = 6*((mo->player->invincibilitytimer/TICRATE)*FRACUNIT)/8;
|
fast->destscale = 6*((mo->player->invincibilitytimer/TICRATE)*FRACUNIT)/8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void K_SpawnBumpEffect(mobj_t *mo)
|
||||||
|
{
|
||||||
|
mobj_t *fx = P_SpawnMobj(mo->x, mo->y, mo->z, MT_BUMP);
|
||||||
|
if (mo->eflags & MFE_VERTICALFLIP)
|
||||||
|
fx->eflags |= MFE_VERTICALFLIP;
|
||||||
|
else
|
||||||
|
fx->eflags &= ~MFE_VERTICALFLIP;
|
||||||
|
fx->scale = mo->scale;
|
||||||
|
|
||||||
|
S_StartSound(mo, sfx_s3k49);
|
||||||
|
}
|
||||||
|
|
||||||
static SINT8 K_GlanceAtPlayers(player_t *glancePlayer)
|
static SINT8 K_GlanceAtPlayers(player_t *glancePlayer)
|
||||||
{
|
{
|
||||||
const fixed_t maxdistance = FixedMul(1280 * mapobjectscale, K_GetKartGameSpeedScalar(gamespeed));
|
const fixed_t maxdistance = FixedMul(1280 * mapobjectscale, K_GetKartGameSpeedScalar(gamespeed));
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ void K_SpawnDriftBoostClip(player_t *player);
|
||||||
void K_SpawnDriftBoostClipSpark(mobj_t *clip);
|
void K_SpawnDriftBoostClipSpark(mobj_t *clip);
|
||||||
void K_SpawnNormalSpeedLines(player_t *player);
|
void K_SpawnNormalSpeedLines(player_t *player);
|
||||||
void K_SpawnInvincibilitySpeedLines(mobj_t *mo);
|
void K_SpawnInvincibilitySpeedLines(mobj_t *mo);
|
||||||
|
void K_SpawnBumpEffect(mobj_t *mo);
|
||||||
void K_KartMoveAnimation(player_t *player);
|
void K_KartMoveAnimation(player_t *player);
|
||||||
void K_KartPlayerHUDUpdate(player_t *player);
|
void K_KartPlayerHUDUpdate(player_t *player);
|
||||||
void K_KartPlayerThink(player_t *player, ticcmd_t *cmd);
|
void K_KartPlayerThink(player_t *player, ticcmd_t *cmd);
|
||||||
|
|
|
||||||
|
|
@ -3695,14 +3695,7 @@ void P_BouncePlayerMove(mobj_t *mo)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mobj_t *fx = P_SpawnMobj(mo->x, mo->y, mo->z, MT_BUMP);
|
K_SpawnBumpEffect(mo);
|
||||||
if (mo->eflags & MFE_VERTICALFLIP)
|
|
||||||
fx->eflags |= MFE_VERTICALFLIP;
|
|
||||||
else
|
|
||||||
fx->eflags &= ~MFE_VERTICALFLIP;
|
|
||||||
fx->scale = mo->scale;
|
|
||||||
|
|
||||||
S_StartSound(mo, sfx_s3k49);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
P_PlayerHitBounceLine(bestslideline);
|
P_PlayerHitBounceLine(bestslideline);
|
||||||
|
|
|
||||||
|
|
@ -2775,6 +2775,15 @@ void P_PlayerZMovement(mobj_t *mo)
|
||||||
P_CheckMarioBlocks(mo);
|
P_CheckMarioBlocks(mo);
|
||||||
|
|
||||||
mo->momz = 0;
|
mo->momz = 0;
|
||||||
|
P_CheckGravity(mo, true);
|
||||||
|
|
||||||
|
if (abs(mo->momz) < 15 * mapobjectscale)
|
||||||
|
{
|
||||||
|
mo->momz = 15 * mapobjectscale
|
||||||
|
* -(P_MobjFlip(mo));
|
||||||
|
}
|
||||||
|
|
||||||
|
K_SpawnBumpEffect(mo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue