From 9836925258f5b3055c662987a1a725366d13044e Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Wed, 4 Oct 2023 10:25:46 +1100 Subject: [PATCH] - Duke: Clean up player/actor accesses in `fireweapon()`. --- source/games/duke/src/player_d.cpp | 5 ++--- source/games/duke/src/player_r.cpp | 11 +++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index 517063631..df974b4d0 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -877,9 +877,8 @@ int operateTripbomb(DDukePlayer* const p) // //--------------------------------------------------------------------------- -static void fireweapon(int snum) +static void fireweapon(DDukePlayer* const p) { - auto p = getPlayer(snum); auto pact = p->GetActor(); p->crack_time = CRACK_TIME; @@ -1511,7 +1510,7 @@ static void processweapon(int snum, ESyncBits actions) else if (shrunk == 0 && (actions & SB_FIRE) && p->kickback_pic == 0 && p->fist_incs == 0 && p->last_weapon == -1 && (p->weapon_pos == 0 || p->holster_weapon == 1)) { - if (!isWW2GI()) fireweapon(snum); + if (!isWW2GI()) fireweapon(p); else fireweapon_ww(snum); } else if (p->kickback_pic) diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp index 9c1c037ac..0e661a063 100644 --- a/source/games/duke/src/player_r.cpp +++ b/source/games/duke/src/player_r.cpp @@ -1499,10 +1499,9 @@ void onBoatHit(int snum, DDukeActor* victim) // //--------------------------------------------------------------------------- -static void fireweapon(int snum) +static void fireweapon(DDukePlayer* const p) { - auto p = getPlayer(snum); - + const auto pact = p->GetActor(); p->crack_time = CRACK_TIME; if (p->holster_weapon == 1) @@ -1563,13 +1562,13 @@ static void fireweapon(int snum) if (p->ammo_amount[BUZZSAW_WEAPON] > 0) { p->kickback_pic = 1; - S_PlayActorSound(431, p->GetActor()); + S_PlayActorSound(431, pact); } } else if (p->ammo_amount[THROWSAW_WEAPON] > 0) { p->kickback_pic = 1; - S_PlayActorSound(SHRINKER_FIRE, p->GetActor()); + S_PlayActorSound(SHRINKER_FIRE, pact); } break; @@ -2244,7 +2243,7 @@ static void processweapon(int snum, ESyncBits actions, sectortype* psectp) else if (shrunk == 0 && (actions & SB_FIRE) && p->kickback_pic == 0 && p->fist_incs == 0 && p->last_weapon == -1 && (p->weapon_pos == 0 || p->holster_weapon == 1)) { - fireweapon(snum); + fireweapon(p); } else if (p->kickback_pic) {