From f33493df8e4936cafca4b698454a1aca8ff4b1f5 Mon Sep 17 00:00:00 2001 From: Chris Cowan Date: Thu, 17 Jul 2025 04:03:23 -0700 Subject: [PATCH] Fix crash when dying with Incinerator in hand --- source/games/duke/src/classnames.h | 1 + source/games/duke/src/player_d.cpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source/games/duke/src/classnames.h b/source/games/duke/src/classnames.h index dc2c7415ad..342fdac70a 100644 --- a/source/games/duke/src/classnames.h +++ b/source/games/duke/src/classnames.h @@ -40,6 +40,7 @@ xx(RedneckCheerleader) xx(DukeShotSpark) xx(DukeJibs6) xx(RedneckMotoHit) +xx(DukeFlamethrowerSprite) xx(DukeFlamethrowerFlame) xx(DukeShrinkSpark) xx(DukeFirefly) diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index 3ab014d876..968e25228e 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -538,7 +538,7 @@ void checkweapons_d(DDukePlayer* p) { static PClassActor* const * const weapon_sprites[MAX_WEAPONS] = { &DukeMeleeAttackClass, &DukeFirstgunSpriteClass, &DukeShotgunSpriteClass, &DukeChaingunSpriteClass, &DukeRPGSpriteClass, &DukePipeBombClass, &DukeShrinkerSpriteClass, &DukeDevastatorSpriteClass, - &DukeTripBombSpriteClass, &DukeFreezeSpriteClass, &DukePipeBombClass, &DukeShrinkerSpriteClass }; + &DukeTripBombSpriteClass, &DukeFreezeSpriteClass, &DukePipeBombClass, &DukeShrinkerSpriteClass, &DukeFlamethrowerSpriteClass }; int cw; @@ -556,7 +556,7 @@ void checkweapons_d(DDukePlayer* p) { const auto pact = p->GetActor(); - if (krand() & 1) + if (weapon_sprites[cw] && krand() & 1) spawn(pact, *weapon_sprites[cw]); else switch (cw) {