diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 25b9145ab..db5b4537d 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -4105,6 +4105,10 @@ void ProcessMissiles() for (i = 0; i < nummissiles; i++) { dFlags[missile[missileactive[i]]._mix][missile[missileactive[i]]._miy] &= ~BFLAG_MISSILE; dMissile[missile[missileactive[i]]._mix][missile[missileactive[i]]._miy] = 0; +#ifdef HELLFIRE + if (missile[missileactive[i]]._mix < 0 || missile[missileactive[i]]._mix >= MAXDUNX - 1 || missile[missileactive[i]]._miy < 0 || missile[missileactive[i]]._miy >= MAXDUNY - 1) + missile[missileactive[i]]._miDelFlag = TRUE; +#endif } i = 0; @@ -4146,7 +4150,11 @@ void ProcessMissiles() i = 0; while (i < nummissiles) { +#ifdef HELLFIRE + if (missile[missileactive[i]]._miDelFlag == TRUE) { +#else if (missile[missileactive[i]]._miDelFlag) { +#endif DeleteMissile(missileactive[i], i); i = 0; } else {