Merge branch 'ceiling-bump' into 'master'

Ceiling clipping is satisfying

See merge request KartKrew/Kart!466
This commit is contained in:
James R 2021-11-30 04:09:19 +00:00
commit 7180027c9f
4 changed files with 23 additions and 8 deletions

View file

@ -2079,6 +2079,18 @@ void K_SpawnInvincibilitySpeedLines(mobj_t *mo)
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)
{
const fixed_t maxdistance = FixedMul(1280 * mapobjectscale, K_GetKartGameSpeedScalar(gamespeed));

View file

@ -51,6 +51,7 @@ void K_SpawnDriftBoostClip(player_t *player);
void K_SpawnDriftBoostClipSpark(mobj_t *clip);
void K_SpawnNormalSpeedLines(player_t *player);
void K_SpawnInvincibilitySpeedLines(mobj_t *mo);
void K_SpawnBumpEffect(mobj_t *mo);
void K_KartMoveAnimation(player_t *player);
void K_KartPlayerHUDUpdate(player_t *player);
void K_KartPlayerThink(player_t *player, ticcmd_t *cmd);

View file

@ -3720,14 +3720,7 @@ void P_BouncePlayerMove(mobj_t *mo)
}
else
{
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);
K_SpawnBumpEffect(mo);
}
P_PlayerHitBounceLine(bestslideline);

View file

@ -2775,6 +2775,15 @@ void P_PlayerZMovement(mobj_t *mo)
P_CheckMarioBlocks(mo);
mo->momz = 0;
P_CheckGravity(mo, true);
if (abs(mo->momz) < 15 * mapobjectscale)
{
mo->momz = 15 * mapobjectscale
* -(P_MobjFlip(mo));
}
K_SpawnBumpEffect(mo);
}
}
}