mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 20:41:46 +00:00
Drift Boost Plumes, play every other frame of Drift Boost Explosion (normally flicker frames)
This commit is contained in:
parent
3ff00e851e
commit
280791a832
4 changed files with 40 additions and 8 deletions
|
|
@ -6585,6 +6585,10 @@ static const char *const STATE_LIST[] = { // array length left dynamic for sanit
|
|||
"S_DRIFTEXPLODE2",
|
||||
"S_DRIFTEXPLODE3",
|
||||
"S_DRIFTEXPLODE4",
|
||||
"S_DRIFTEXPLODE5",
|
||||
"S_DRIFTEXPLODE6",
|
||||
"S_DRIFTEXPLODE7",
|
||||
"S_DRIFTEXPLODE8",
|
||||
|
||||
// Drift boost clip
|
||||
"S_DRIFTCLIP1",
|
||||
|
|
|
|||
14
src/info.c
14
src/info.c
|
|
@ -72,7 +72,7 @@ char sprnames[NUMSPRITES + 1][5] =
|
|||
"BFRT","OFRT","RFRT","PFRT","ASPK","HBST","HBSO","HBSF","WBLZ","WBLN",
|
||||
|
||||
"FWRK","MXCL","RGSP","DRAF","GRES","OTFG","DBOS","EGOO","WTRL","XMS4",
|
||||
"XMS5","FBUB","GCHA","CHEZ","VIEW","DBCL","DBNC",
|
||||
"XMS5","FBUB","GCHA","CHEZ","VIEW","DBCL","DBNC","DBST",
|
||||
};
|
||||
|
||||
// Doesn't work with g++, needs actionf_p1 (don't modify this comment)
|
||||
|
|
@ -2560,10 +2560,14 @@ state_t states[NUMSTATES] =
|
|||
{SPR_DSHR, FF_PAPERSPRITE|5, 1, {NULL}, 0, 0, S_FASTDUST7}, // S_FASTDUST6
|
||||
{SPR_DSHR, FF_PAPERSPRITE|6, 1, {NULL}, 0, 0, S_NULL}, // S_FASTDUST7
|
||||
|
||||
{SPR_DBOS, FF_FULLBRIGHT, 2, {NULL}, 6, 1, S_DRIFTEXPLODE2}, // S_DRIFTEXPLODE1
|
||||
{SPR_DBOS, FF_FULLBRIGHT|1, 2, {NULL}, 6, 1, S_DRIFTEXPLODE3}, // S_DRIFTEXPLODE2
|
||||
{SPR_DBOS, FF_FULLBRIGHT|2, 2, {NULL}, 6, 1, S_DRIFTEXPLODE4}, // S_DRIFTEXPLODE3
|
||||
{SPR_DBOS, FF_FULLBRIGHT|3, 2, {NULL}, 6, 1, S_DRIFTEXPLODE1}, // S_DRIFTEXPLODE4
|
||||
{SPR_DBOS, FF_FULLBRIGHT, 1, {NULL}, 6, 1, S_DRIFTEXPLODE2}, // S_DRIFTEXPLODE1
|
||||
{SPR_DBST, FF_PAPERSPRITE|FF_FULLBRIGHT, 1, {NULL}, 6, 1, S_DRIFTEXPLODE3}, // S_DRIFTEXPLODE2
|
||||
{SPR_DBOS, FF_FULLBRIGHT|1, 1, {NULL}, 6, 1, S_DRIFTEXPLODE4}, // S_DRIFTEXPLODE3
|
||||
{SPR_DBST, FF_PAPERSPRITE|FF_FULLBRIGHT|1, 1, {NULL}, 6, 1, S_DRIFTEXPLODE5}, // S_DRIFTEXPLODE4
|
||||
{SPR_DBOS, FF_FULLBRIGHT|2, 1, {NULL}, 6, 1, S_DRIFTEXPLODE6}, // S_DRIFTEXPLODE5
|
||||
{SPR_DBST, FF_PAPERSPRITE|FF_FULLBRIGHT|2, 1, {NULL}, 6, 1, S_DRIFTEXPLODE7}, // S_DRIFTEXPLODE6
|
||||
{SPR_DBOS, FF_FULLBRIGHT|3, 1, {NULL}, 6, 1, S_DRIFTEXPLODE8}, // S_DRIFTEXPLODE7
|
||||
{SPR_DBST, FF_PAPERSPRITE|FF_FULLBRIGHT|3, 1, {NULL}, 6, 1, S_DRIFTEXPLODE1}, // S_DRIFTEXPLODE8
|
||||
|
||||
{SPR_DBCL, FF_FULLBRIGHT, 2, {NULL}, 6, 1, S_DRIFTCLIP2}, // S_DRIFTCLIP1
|
||||
{SPR_DBCL, FF_FULLBRIGHT|1, 2, {NULL}, 6, 1, S_DRIFTCLIP3}, // S_DRIFTCLIP2
|
||||
|
|
|
|||
|
|
@ -813,6 +813,7 @@ typedef enum sprite
|
|||
|
||||
SPR_DBCL, // Drift boost clip
|
||||
SPR_DBNC, // Drift boost clip's sparks
|
||||
SPR_DBST, // Drift boost plume
|
||||
|
||||
SPR_FIRSTFREESLOT,
|
||||
SPR_LASTFREESLOT = SPR_FIRSTFREESLOT + NUMSPRITEFREESLOTS - 1,
|
||||
|
|
@ -3249,6 +3250,10 @@ typedef enum state
|
|||
S_DRIFTEXPLODE2,
|
||||
S_DRIFTEXPLODE3,
|
||||
S_DRIFTEXPLODE4,
|
||||
S_DRIFTEXPLODE5,
|
||||
S_DRIFTEXPLODE6,
|
||||
S_DRIFTEXPLODE7,
|
||||
S_DRIFTEXPLODE8,
|
||||
|
||||
// Drift boost clip
|
||||
S_DRIFTCLIP1,
|
||||
|
|
|
|||
25
src/p_mobj.c
25
src/p_mobj.c
|
|
@ -8329,18 +8329,37 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
//mobj->angle = mobj->target->angle;
|
||||
{
|
||||
angle_t angle = R_PointToAngle2(0, 0, mobj->target->momx, mobj->target->momy);
|
||||
fixed_t nudge;
|
||||
|
||||
mobj->angle = angle;
|
||||
P_TeleportMove(mobj, mobj->target->x + P_ReturnThrustX(mobj, angle+ANGLE_180, 4*mobj->target->radius),
|
||||
mobj->target->y + P_ReturnThrustY(mobj, angle+ANGLE_180, 4*mobj->target->radius), mobj->target->z);
|
||||
|
||||
if (( mobj->fuse & 1 ))
|
||||
{
|
||||
nudge = 4*mobj->target->radius;
|
||||
}
|
||||
else
|
||||
{
|
||||
nudge = 2*mobj->target->radius;
|
||||
/* rotate the papersprite frames to see the flat angle */
|
||||
mobj->angle += ANGLE_90;
|
||||
}
|
||||
|
||||
P_TeleportMove(mobj,
|
||||
mobj->target->x + P_ReturnThrustX(mobj, angle + ANGLE_180, nudge),
|
||||
mobj->target->y + P_ReturnThrustY(mobj, angle + ANGLE_180, nudge),
|
||||
mobj->target->z);
|
||||
}
|
||||
P_SetScale(mobj, mobj->target->scale);
|
||||
mobj->flags2 ^= MF2_DONTDRAW;
|
||||
#ifdef HWRENDER
|
||||
mobj->modeltilt = mobj->target->modeltilt;
|
||||
#endif
|
||||
|
||||
if (mobj->fuse <= 16)
|
||||
{
|
||||
mobj->color = SKINCOLOR_KETCHUP;
|
||||
/* don't draw papersprite frames after blue boost */
|
||||
mobj->flags2 ^= MF2_DONTDRAW;
|
||||
}
|
||||
else if (mobj->fuse <= 32)
|
||||
mobj->color = SKINCOLOR_SAPPHIRE;
|
||||
else if (mobj->fuse > 32)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue