From 8bbf7f4e00a9f8e7f0d14a138721c432eb149480 Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Fri, 16 Dec 2022 08:38:43 +1100 Subject: [PATCH] Revert "- SW: Revert last commit and apply changes directly in `pp->setHeightAndZ()` so all bases are covered." This reverts commit a643a740838e496cade7c3fd9dab82bcba3b9623. * Fixes #795 --- source/games/sw/src/game.h | 2 +- source/games/sw/src/player.cpp | 6 ++++-- source/games/sw/src/track.cpp | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/source/games/sw/src/game.h b/source/games/sw/src/game.h index d9511840c..e262fa995 100644 --- a/source/games/sw/src/game.h +++ b/source/games/sw/src/game.h @@ -1888,7 +1888,7 @@ struct PLAYER void setHeightAndZ(const double newz, const double newheight) { - actor->spr.pos.Z = newz - newheight - actor->viewzoffset; + actor->spr.pos.Z = newz; height = newheight; } diff --git a/source/games/sw/src/player.cpp b/source/games/sw/src/player.cpp index 57176ecc3..209fceb73 100644 --- a/source/games/sw/src/player.cpp +++ b/source/games/sw/src/player.cpp @@ -3142,7 +3142,8 @@ void DoPlayerFall(PLAYER* pp) // i any kind of crawl key get rid of recoil if (DoPlayerTestCrawl(pp) || (pp->input.actions & SB_CROUCH)) { - pp->setHeightAndZ(pp->loz, PLAYER_CRAWL_HEIGHTF); + pp->actor->spr.pos.Z = pp->loz - PLAYER_CRAWL_HEIGHTF - pp->actor->viewzoffset; + pp->height = PLAYER_CRAWL_HEIGHTF; } else { @@ -3605,7 +3606,8 @@ void DoPlayerCrawl(PLAYER* pp) if (pp->insector() && (pp->cursector->extra & SECTFX_DYNAMIC_AREA)) { - pp->setHeightAndZ(pp->loz, PLAYER_CRAWL_HEIGHTF); + pp->actor->spr.pos.Z = pp->loz - PLAYER_CRAWL_HEIGHTF - pp->actor->viewzoffset; + pp->height = PLAYER_CRAWL_HEIGHTF; } DoPlayerBob(pp); diff --git a/source/games/sw/src/track.cpp b/source/games/sw/src/track.cpp index ab3a6eeb7..5c0b51b13 100644 --- a/source/games/sw/src/track.cpp +++ b/source/games/sw/src/track.cpp @@ -1743,7 +1743,8 @@ PlayerPart: { // move up some for really fast moving plats DoPlayerZrange(pp); - pp->setHeightAndZ(pp->loz, PLAYER_CRAWL_HEIGHTF); + pp->actor->spr.pos.Z = pp->loz - PLAYER_CRAWL_HEIGHTF - pp->actor->viewzoffset; + pp->height = PLAYER_CRAWL_HEIGHTF; } else {