mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Instawhip "drop shadow" underlay
This commit is contained in:
parent
0e9e68a9cc
commit
c12ad72fff
3 changed files with 24 additions and 2 deletions
|
|
@ -3951,7 +3951,7 @@ state_t states[NUMSTATES] =
|
||||||
|
|
||||||
{SPR_SLPT, FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_SLIPTIDEZIP
|
{SPR_SLPT, FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_SLIPTIDEZIP
|
||||||
|
|
||||||
{SPR_IWHP, FF_FULLBRIGHT|FF_FLOORSPRITE|FF_ANIMATE|0, -1, {NULL}, 6, 2, S_NULL}, // S_INSTAWHIP
|
{SPR_IWHP, FF_FLOORSPRITE|FF_ANIMATE|0, -1, {NULL}, 6, 2, S_NULL}, // S_INSTAWHIP
|
||||||
{SPR_GRNG, FF_FULLBRIGHT|FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_BLOCKRING
|
{SPR_GRNG, FF_FULLBRIGHT|FF_PAPERSPRITE|0, -1, {NULL}, 0, 0, S_NULL}, // S_BLOCKRING
|
||||||
{SPR_GBDY, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 4, 2, S_NULL}, // S_BLOCKBODY
|
{SPR_GBDY, FF_FULLBRIGHT|FF_ANIMATE|0, -1, {NULL}, 4, 2, S_NULL}, // S_BLOCKBODY
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ void Obj_InstaWhipThink (mobj_t *whip)
|
||||||
player->glanceDir = -2;
|
player->glanceDir = -2;
|
||||||
|
|
||||||
// Visuals
|
// Visuals
|
||||||
whip->renderflags |= RF_NOSPLATBILLBOARD;
|
whip->renderflags |= RF_NOSPLATBILLBOARD|RF_FULLBRIGHT;
|
||||||
|
|
||||||
if (whip->renderflags & RF_DONTDRAW)
|
if (whip->renderflags & RF_DONTDRAW)
|
||||||
whip->renderflags &= ~RF_DONTDRAW;
|
whip->renderflags &= ~RF_DONTDRAW;
|
||||||
|
|
@ -38,5 +38,22 @@ void Obj_InstaWhipThink (mobj_t *whip)
|
||||||
|
|
||||||
if (whip->extravalue2) // Whip has no hitbox but removing it is a pain in the ass
|
if (whip->extravalue2) // Whip has no hitbox but removing it is a pain in the ass
|
||||||
whip->renderflags |= RF_DONTDRAW;
|
whip->renderflags |= RF_DONTDRAW;
|
||||||
|
|
||||||
|
// UGLY!
|
||||||
|
fixed_t dropOffset = 15*FRACUNIT;
|
||||||
|
whip->z -= dropOffset;
|
||||||
|
|
||||||
|
mobj_t *dropshadow = P_SpawnGhostMobj(whip);
|
||||||
|
dropshadow->fuse = 2;
|
||||||
|
dropshadow->flags2 = MF2_LINKDRAW;
|
||||||
|
P_SetTarget(&dropshadow->tracer, whip);
|
||||||
|
dropshadow->renderflags = whip->renderflags;
|
||||||
|
dropshadow->lightlevel = 0;
|
||||||
|
dropshadow->extravalue1 = 1; // Suppress fade-out behavior!
|
||||||
|
dropshadow->renderflags &= ~(RF_TRANSMASK|RF_FULLBRIGHT);
|
||||||
|
dropshadow->renderflags |= RF_ABSOLUTELIGHTLEVEL;
|
||||||
|
|
||||||
|
// FUCK!
|
||||||
|
whip->z += dropOffset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9850,6 +9850,11 @@ void P_MobjThinker(mobj_t *mobj)
|
||||||
|
|
||||||
if (mobj->type == MT_GHOST && mobj->fuse > 0) // Not guaranteed to be MF_SCENERY or not MF_SCENERY!
|
if (mobj->type == MT_GHOST && mobj->fuse > 0) // Not guaranteed to be MF_SCENERY or not MF_SCENERY!
|
||||||
{
|
{
|
||||||
|
if (mobj->frame & SPR_IWHP)
|
||||||
|
{
|
||||||
|
if (P_MobjWasRemoved(mobj->tracer))
|
||||||
|
mobj->renderflags |= RF_DONTDRAW;
|
||||||
|
}
|
||||||
if (mobj->extravalue1 > 0) // Sonic Advance 2 mode
|
if (mobj->extravalue1 > 0) // Sonic Advance 2 mode
|
||||||
{
|
{
|
||||||
if (mobj->extravalue2 >= 2)
|
if (mobj->extravalue2 >= 2)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue