From 3274450fe60a51f56fc46620884375481ceee1fd Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Mon, 2 Oct 2023 21:22:41 +1100 Subject: [PATCH] - Duke: Clean up player/actor accesses in `ifhitbyweapon_d()`. --- source/games/duke/src/actors_d.cpp | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index db1247efb..2870b5db0 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -149,7 +149,6 @@ int ifsquished(DDukeActor* actor, int p) int ifhitbyweapon_d(DDukeActor *actor) { - int p; auto hitowner = actor->GetHitOwner(); if (actor->hitextra >= 0) @@ -161,7 +160,7 @@ int ifhitbyweapon_d(DDukeActor *actor) { if (ud.god && !(adef->flags3 & SFLAG3_LIGHTDAMAGE)) return -1; - p = actor->PlayerIndex(); + const auto p = getPlayer(actor->PlayerIndex()); if (hitowner && hitowner->isPlayer() && @@ -177,23 +176,23 @@ int ifhitbyweapon_d(DDukeActor *actor) { actor->spr.extra = 0; - getPlayer(p)->wackedbyactor = hitowner; + p->wackedbyactor = hitowner; - if (hitowner->isPlayer() && p != hitowner->PlayerIndex()) + if (hitowner->isPlayer() && p != getPlayer(hitowner->PlayerIndex())) { - getPlayer(p)->frag_ps = hitowner->PlayerIndex(); + p->frag_ps = hitowner->PlayerIndex(); } - actor->SetHitOwner(getPlayer(p)->GetActor()); + actor->SetHitOwner(actor); } } if (adef->flags2 & SFLAG2_DOUBLEDMGTHRUST) { - getPlayer(p)->vel.XY() += actor->hitang.ToVector() * actor->hitextra * 0.25; + p->vel.XY() += actor->hitang.ToVector() * actor->hitextra * 0.25; } else { - getPlayer(p)->vel.XY() += actor->hitang.ToVector() * actor->hitextra * 0.125; + p->vel.XY() += actor->hitang.ToVector() * actor->hitextra * 0.125; } } else @@ -237,14 +236,14 @@ int ifhitbyweapon_d(DDukeActor *actor) } else { - p = actor->PlayerIndex(); + const auto p = getPlayer(actor->PlayerIndex()); actor->spr.extra = 0; - getPlayer(p)->wackedbyactor = hitowner; + p->wackedbyactor = hitowner; - if (hitowner->isPlayer() && hitowner != getPlayer(p)->GetActor()) - getPlayer(p)->frag_ps = hitowner->PlayerIndex(); // set the proper player index here - this previously set the sprite index... + if (hitowner->isPlayer() && hitowner != actor) + p->frag_ps = hitowner->PlayerIndex(); // set the proper player index here - this previously set the sprite index... - actor->SetHitOwner(getPlayer(p)->GetActor()); + actor->SetHitOwner(actor); actor->hitextra = -1; return 0;