mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'fix-top-arrow-crash' into 'master'
Remove Garden Top grounded arrow Closes #441 See merge request KartKrew/Kart!943
This commit is contained in:
commit
62c695cf2f
2 changed files with 7 additions and 66 deletions
|
|
@ -4371,7 +4371,7 @@ state_t states[NUMSTATES] =
|
|||
{SPR_GTOP, 4, 1, {NULL}, 5, 1, S_GARDENTOP_SINKING1}, // S_GARDENTOP_SINKING3
|
||||
{SPR_GTOP, FF_ANIMATE, 100, {A_Scream}, 5, 1, S_NULL}, // S_GARDENTOP_DEAD
|
||||
{SPR_BDRF, FF_FULLBRIGHT|FF_PAPERSPRITE|FF_ANIMATE|FF_RANDOMANIM, -1, {NULL}, 5, 2, S_NULL}, // S_GARDENTOPSPARK
|
||||
{SPR_GTAR, FF_FULLBRIGHT, -1, {NULL}, 5, 2, S_NULL}, // S_GARDENTOPARROW
|
||||
{SPR_GTAR, FF_FULLBRIGHT|FF_PAPERSPRITE, -1, {NULL}, 5, 2, S_NULL}, // S_GARDENTOPARROW
|
||||
|
||||
{SPR_HYUU, FF_FULLBRIGHT, -1, {NULL}, 0, 0, S_NULL}, // S_HYUDORO
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@ enum {
|
|||
};
|
||||
|
||||
#define arrow_top(o) ((o)->target)
|
||||
#define arrow_kind(o) ((o)->reactiontime)
|
||||
|
||||
static inline player_t *
|
||||
get_rider_player (mobj_t *rider)
|
||||
|
|
@ -212,47 +211,16 @@ spawn_grind_spark (mobj_t *top)
|
|||
}
|
||||
}
|
||||
|
||||
static mobj_t *
|
||||
spawn_arrow
|
||||
( mobj_t * top,
|
||||
UINT32 ff,
|
||||
UINT8 kind)
|
||||
static void
|
||||
spawn_arrow (mobj_t *top)
|
||||
{
|
||||
mobj_t *arrow = P_SpawnMobjFromMobj(
|
||||
top, 0, 0, 0, MT_GARDENTOPARROW);
|
||||
|
||||
P_SetTarget(&arrow_top(arrow), top);
|
||||
arrow_kind(arrow) = kind;
|
||||
|
||||
arrow->frame |= ff;
|
||||
|
||||
return arrow;
|
||||
}
|
||||
|
||||
static void
|
||||
spawn_arrow_pair (mobj_t *top)
|
||||
{
|
||||
{
|
||||
mobj_t *x = spawn_arrow(top,
|
||||
FF_PAPERSPRITE, ARROW_OVERHEAD);
|
||||
|
||||
// overhead arrow is slightly smaller
|
||||
P_SetScale(x, (x->destscale = 3 * x->scale / 4));
|
||||
}
|
||||
|
||||
{
|
||||
mobj_t *x = spawn_arrow(top,
|
||||
FF_FLOORSPRITE | FF_ADD, ARROW_IN_FRONT);
|
||||
|
||||
x->renderflags |= RF_SLOPESPLAT | RF_NOSPLATBILLBOARD;
|
||||
|
||||
// Let splat be flat, useful later for
|
||||
// Obj_GardenTopArrowThink reverse gravity.
|
||||
x->height = 0;
|
||||
|
||||
// Make the arrow wider (sprite length is horizontal).
|
||||
x->spriteyscale = 2*FRACUNIT;
|
||||
}
|
||||
P_SetScale(arrow,
|
||||
(arrow->destscale = 3 * arrow->scale / 4));
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -547,24 +515,6 @@ anchor_arrow_overhead (mobj_t *arrow)
|
|||
anchor(arrow, top, rider->angle + ANGLE_180, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
anchor_arrow_in_front (mobj_t *arrow)
|
||||
{
|
||||
mobj_t *top = arrow_top(arrow);
|
||||
mobj_t *rider = top_rider(top);
|
||||
|
||||
anchor(arrow, top, rider->angle, 2 * rider->radius);
|
||||
|
||||
arrow->angle += ANGLE_90;
|
||||
|
||||
if (P_IsObjectFlipped(arrow))
|
||||
{
|
||||
arrow->angle += ANGLE_180;
|
||||
}
|
||||
|
||||
arrow->floorspriteslope = rider->standingslope;
|
||||
}
|
||||
|
||||
void
|
||||
Obj_GardenTopDeploy (mobj_t *rider)
|
||||
{
|
||||
|
|
@ -591,7 +541,7 @@ Obj_GardenTopDeploy (mobj_t *rider)
|
|||
|
||||
spawn_spark_circle(top, 6);
|
||||
|
||||
spawn_arrow_pair(top);
|
||||
spawn_arrow(top);
|
||||
}
|
||||
|
||||
mobj_t *
|
||||
|
|
@ -712,16 +662,7 @@ Obj_GardenTopArrowThink (mobj_t *arrow)
|
|||
return;
|
||||
}
|
||||
|
||||
switch (arrow_kind(arrow))
|
||||
{
|
||||
case ARROW_OVERHEAD:
|
||||
anchor_arrow_overhead(arrow);
|
||||
break;
|
||||
|
||||
case ARROW_IN_FRONT:
|
||||
anchor_arrow_in_front(arrow);
|
||||
break;
|
||||
}
|
||||
anchor_arrow_overhead(arrow);
|
||||
|
||||
if (rider->player)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue