From 6eeedbd38a9a13ee25fc26cbbd8bb73a8bf9c5e5 Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Sun, 20 Nov 2022 19:03:27 +1100 Subject: [PATCH] - Duke: Move `player_struct::restorexyz()` to `DCoreActor::restorepos()`. --- source/core/coreactor.h | 6 ++++++ source/games/duke/src/actors.cpp | 2 +- source/games/duke/src/actors_d.cpp | 2 +- source/games/duke/src/gameexec.cpp | 2 +- source/games/duke/src/sectors_d.cpp | 4 ++-- source/games/duke/src/sectors_r.cpp | 2 +- source/games/duke/src/types.h | 5 ----- 7 files changed, 12 insertions(+), 11 deletions(-) diff --git a/source/core/coreactor.h b/source/core/coreactor.h index 3c8202ba1..c35e809e8 100644 --- a/source/core/coreactor.h +++ b/source/core/coreactor.h @@ -139,6 +139,12 @@ public: backupang(); } + void restorepos() + { + spr.pos = opos; + viewzoffset = oviewzoffset; + } + sectortype* sector() const { return spr.sectp; diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index 9e4c2378e..cc847aee2 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -203,7 +203,7 @@ void checkavailweapon(player_struct* player) void clearcamera(player_struct* ps) { ps->newOwner = nullptr; - ps->restorexyz(); + ps->GetActor()->restorepos(); ps->angle.restore(); updatesector(ps->posGet(), &ps->cursector); diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index 96db826e6..09684df23 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -1734,7 +1734,7 @@ static void greenslime(DDukeActor *actor) if (ps[p].newOwner != nullptr) { ps[p].newOwner = nullptr; - ps[p].restorexyz(); + ps[p].GetActor()->restorepos(); ps[p].angle.restore(); updatesector(ps[p].posGet(), &ps[p].cursector); diff --git a/source/games/duke/src/gameexec.cpp b/source/games/duke/src/gameexec.cpp index 71db86191..d4a379146 100644 --- a/source/games/duke/src/gameexec.cpp +++ b/source/games/duke/src/gameexec.cpp @@ -2045,7 +2045,7 @@ int ParseState::parse(void) if(!isRR() && ps[g_p].newOwner != nullptr) { ps[g_p].newOwner = nullptr; - ps[g_p].restorexyz(); + ps[g_p].GetActor()->restorepos(); ps[g_p].angle.restore(); updatesector(ps[g_p].posGet(), &ps[g_p].cursector); diff --git a/source/games/duke/src/sectors_d.cpp b/source/games/duke/src/sectors_d.cpp index 813171c19..ae0c86be9 100644 --- a/source/games/duke/src/sectors_d.cpp +++ b/source/games/duke/src/sectors_d.cpp @@ -1061,7 +1061,7 @@ void checkhitdefault_d(DDukeActor* targ, DDukeActor* proj) if (ps[p].newOwner != nullptr) { ps[p].newOwner = nullptr; - ps[p].restorexyz(); + ps[p].GetActor()->restorepos(); ps[p].angle.restore(); updatesector(ps[p].posGet(), &ps[p].cursector); @@ -1411,7 +1411,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj) void clearcameras(player_struct* p) { - p->restorexyz(); + p->GetActor()->restorepos(); p->newOwner = nullptr; updatesector(p->posGet(), &p->cursector); diff --git a/source/games/duke/src/sectors_r.cpp b/source/games/duke/src/sectors_r.cpp index 2dc04f075..721fde8bb 100644 --- a/source/games/duke/src/sectors_r.cpp +++ b/source/games/duke/src/sectors_r.cpp @@ -1544,7 +1544,7 @@ void checkhitdefault_r(DDukeActor* targ, DDukeActor* proj) if (ps[p].newOwner != nullptr) { ps[p].newOwner = nullptr; - ps[p].restorexyz(); + ps[p].GetActor()->restorepos(); updatesector(ps[p].posGet(), &ps[p].cursector); diff --git a/source/games/duke/src/types.h b/source/games/duke/src/types.h index e7295303e..1f08f7497 100644 --- a/source/games/duke/src/types.h +++ b/source/games/duke/src/types.h @@ -330,11 +330,6 @@ struct player_struct return cursector != nullptr; } - void restorexyz() - { - GetActor()->spr.pos = GetActor()->opos; - } - void backupxy() { GetActor()->opos.X = GetActor()->spr.pos.X;