From 2de143214b6ccb3c934689f37167971733768546 Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Wed, 4 Oct 2023 11:21:17 +1100 Subject: [PATCH] - Duke: Clean up player/actor accesses in `checkhitdefault()`. --- source/games/duke/src/sectors.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/source/games/duke/src/sectors.cpp b/source/games/duke/src/sectors.cpp index 90620efb9..6f757c60b 100644 --- a/source/games/duke/src/sectors.cpp +++ b/source/games/duke/src/sectors.cpp @@ -1476,13 +1476,15 @@ void checkhitdefault(DDukeActor* targ, DDukeActor* proj) if (targ->spr.statnum == STAT_PLAYER) { - auto p = targ->PlayerIndex(); - if (getPlayer(p)->newOwner != nullptr) - { - getPlayer(p)->newOwner = nullptr; - getPlayer(p)->GetActor()->restoreloc(); + const auto p = getPlayer(targ->PlayerIndex()); + const auto pact = p->GetActor(); - updatesector(getPlayer(p)->GetActor()->getPosWithOffsetZ(), &getPlayer(p)->cursector); + if (p->newOwner != nullptr) + { + p->newOwner = nullptr; + pact->restoreloc(); + + updatesector(pact->getPosWithOffsetZ(), &p->cursector); DukeStatIterator it(STAT_ACTOR); while (auto itActor = it.Next())