From c9b2396efb1adbfb798528f581840db76375715b Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Sun, 3 May 2020 20:12:01 -0400 Subject: [PATCH] Fix items vs springs crash --- src/k_collide.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/k_collide.c b/src/k_collide.c index f13ba3423..1921e3d38 100644 --- a/src/k_collide.c +++ b/src/k_collide.c @@ -15,6 +15,7 @@ boolean K_OrbinautJawzCollide(mobj_t *t1, mobj_t *t2) { boolean damageitem = false; + boolean sprung = false; if (((t1->target == t2) || (t1->target == t2->target)) && (t1->threshold > 0 || (t2->type != MT_PLAYER && t2->threshold > 0))) return true; @@ -81,7 +82,7 @@ boolean K_OrbinautJawzCollide(mobj_t *t1, mobj_t *t2) else if (t2->flags & MF_SPRING && (t1->type != MT_ORBINAUT_SHIELD && t1->type != MT_JAWZ_SHIELD)) { // Let thrown items hit springs! - P_DoSpring(t2, t1); + sprung = P_DoSpring(t2, t1); } else if (t2->flags & MF_SHOOTABLE) { @@ -105,6 +106,11 @@ boolean K_OrbinautJawzCollide(mobj_t *t1, mobj_t *t2) P_InstaThrust(t1, R_PointToAngle2(t2->x, t2->y, t1->x, t1->y)+ANGLE_90, 16*FRACUNIT); } + if (sprung) + { + return false; + } + return true; }