mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Sliptide makes waterrun particles only show on the outside of your turn
This commit is contained in:
parent
73c381750a
commit
06390642ac
1 changed files with 54 additions and 48 deletions
102
src/k_kart.c
102
src/k_kart.c
|
|
@ -3401,58 +3401,64 @@ void K_SpawnWaterRunParticles(mobj_t *mobj)
|
||||||
y2 = y2 + P_ReturnThrustY(mobj, forwardangle, playerVisualRadius);
|
y2 = y2 + P_ReturnThrustY(mobj, forwardangle, playerVisualRadius);
|
||||||
|
|
||||||
// Left
|
// Left
|
||||||
// underlay
|
if (!mobj->player || mobj->player->aizdriftstrat <= 0)
|
||||||
water = P_SpawnMobj(x1, y1,
|
{
|
||||||
((mobj->eflags & MFE_VERTICALFLIP) ? mobj->waterbottom - FixedMul(mobjinfo[MT_WATERTRAILUNDERLAY].height, mobj->scale) : mobj->watertop), MT_WATERTRAILUNDERLAY);
|
// underlay
|
||||||
water->angle = forwardangle - ANGLE_180 - ANGLE_22h;
|
water = P_SpawnMobj(x1, y1,
|
||||||
water->destscale = trailScale;
|
((mobj->eflags & MFE_VERTICALFLIP) ? mobj->waterbottom - FixedMul(mobjinfo[MT_WATERTRAILUNDERLAY].height, mobj->scale) : mobj->watertop), MT_WATERTRAILUNDERLAY);
|
||||||
water->momx = mobj->momx;
|
water->angle = forwardangle - ANGLE_180 - ANGLE_22h;
|
||||||
water->momy = mobj->momy;
|
water->destscale = trailScale;
|
||||||
water->momz = mobj->momz;
|
water->momx = mobj->momx;
|
||||||
P_SetScale(water, trailScale);
|
water->momy = mobj->momy;
|
||||||
P_SetMobjState(water, curUnderlayFrame);
|
water->momz = mobj->momz;
|
||||||
P_SetTarget(&water->owner, mobj);
|
P_SetScale(water, trailScale);
|
||||||
water->renderflags |= RF_REDUCEVFX;
|
P_SetMobjState(water, curUnderlayFrame);
|
||||||
|
P_SetTarget(&water->owner, mobj);
|
||||||
|
water->renderflags |= RF_REDUCEVFX;
|
||||||
|
|
||||||
// overlay
|
// overlay
|
||||||
water = P_SpawnMobj(x1, y1,
|
water = P_SpawnMobj(x1, y1,
|
||||||
((mobj->eflags & MFE_VERTICALFLIP) ? mobj->waterbottom - FixedMul(mobjinfo[MT_WATERTRAIL].height, mobj->scale) : mobj->watertop), MT_WATERTRAIL);
|
((mobj->eflags & MFE_VERTICALFLIP) ? mobj->waterbottom - FixedMul(mobjinfo[MT_WATERTRAIL].height, mobj->scale) : mobj->watertop), MT_WATERTRAIL);
|
||||||
water->angle = forwardangle - ANGLE_180 - ANGLE_22h;
|
water->angle = forwardangle - ANGLE_180 - ANGLE_22h;
|
||||||
water->destscale = trailScale;
|
water->destscale = trailScale;
|
||||||
water->momx = mobj->momx;
|
water->momx = mobj->momx;
|
||||||
water->momy = mobj->momy;
|
water->momy = mobj->momy;
|
||||||
water->momz = mobj->momz;
|
water->momz = mobj->momz;
|
||||||
P_SetScale(water, trailScale);
|
P_SetScale(water, trailScale);
|
||||||
P_SetMobjState(water, curOverlayFrame);
|
P_SetMobjState(water, curOverlayFrame);
|
||||||
P_SetTarget(&water->owner, mobj);
|
P_SetTarget(&water->owner, mobj);
|
||||||
water->renderflags |= RF_REDUCEVFX;
|
water->renderflags |= RF_REDUCEVFX;
|
||||||
|
}
|
||||||
|
|
||||||
// Right
|
// Right
|
||||||
// Underlay
|
if (!mobj->player || mobj->player->aizdriftstrat >= 0)
|
||||||
water = P_SpawnMobj(x2, y2,
|
{
|
||||||
((mobj->eflags & MFE_VERTICALFLIP) ? mobj->waterbottom - FixedMul(mobjinfo[MT_WATERTRAILUNDERLAY].height, mobj->scale) : mobj->watertop), MT_WATERTRAILUNDERLAY);
|
// Underlay
|
||||||
water->angle = forwardangle - ANGLE_180 + ANGLE_22h;
|
water = P_SpawnMobj(x2, y2,
|
||||||
water->destscale = trailScale;
|
((mobj->eflags & MFE_VERTICALFLIP) ? mobj->waterbottom - FixedMul(mobjinfo[MT_WATERTRAILUNDERLAY].height, mobj->scale) : mobj->watertop), MT_WATERTRAILUNDERLAY);
|
||||||
water->momx = mobj->momx;
|
water->angle = forwardangle - ANGLE_180 + ANGLE_22h;
|
||||||
water->momy = mobj->momy;
|
water->destscale = trailScale;
|
||||||
water->momz = mobj->momz;
|
water->momx = mobj->momx;
|
||||||
P_SetScale(water, trailScale);
|
water->momy = mobj->momy;
|
||||||
P_SetMobjState(water, curUnderlayFrame);
|
water->momz = mobj->momz;
|
||||||
P_SetTarget(&water->owner, mobj);
|
P_SetScale(water, trailScale);
|
||||||
water->renderflags |= RF_REDUCEVFX;
|
P_SetMobjState(water, curUnderlayFrame);
|
||||||
|
P_SetTarget(&water->owner, mobj);
|
||||||
|
water->renderflags |= RF_REDUCEVFX;
|
||||||
|
|
||||||
// Overlay
|
// Overlay
|
||||||
water = P_SpawnMobj(x2, y2,
|
water = P_SpawnMobj(x2, y2,
|
||||||
((mobj->eflags & MFE_VERTICALFLIP) ? mobj->waterbottom - FixedMul(mobjinfo[MT_WATERTRAIL].height, mobj->scale) : mobj->watertop), MT_WATERTRAIL);
|
((mobj->eflags & MFE_VERTICALFLIP) ? mobj->waterbottom - FixedMul(mobjinfo[MT_WATERTRAIL].height, mobj->scale) : mobj->watertop), MT_WATERTRAIL);
|
||||||
water->angle = forwardangle - ANGLE_180 + ANGLE_22h;
|
water->angle = forwardangle - ANGLE_180 + ANGLE_22h;
|
||||||
water->destscale = trailScale;
|
water->destscale = trailScale;
|
||||||
water->momx = mobj->momx;
|
water->momx = mobj->momx;
|
||||||
water->momy = mobj->momy;
|
water->momy = mobj->momy;
|
||||||
water->momz = mobj->momz;
|
water->momz = mobj->momz;
|
||||||
P_SetScale(water, trailScale);
|
P_SetScale(water, trailScale);
|
||||||
P_SetMobjState(water, curOverlayFrame);
|
P_SetMobjState(water, curOverlayFrame);
|
||||||
P_SetTarget(&water->owner, mobj);
|
P_SetTarget(&water->owner, mobj);
|
||||||
water->renderflags |= RF_REDUCEVFX;
|
water->renderflags |= RF_REDUCEVFX;
|
||||||
|
}
|
||||||
|
|
||||||
if (!S_SoundPlaying(mobj, sfx_s3kdbs))
|
if (!S_SoundPlaying(mobj, sfx_s3kdbs))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue