From c18a46b98a92d601834a597256546dacea43335f Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 30 Jan 2022 12:45:56 +0100 Subject: [PATCH] - fixed dofurniture --- source/games/duke/src/sectors_r.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/source/games/duke/src/sectors_r.cpp b/source/games/duke/src/sectors_r.cpp index b4508b386..85ec558c2 100644 --- a/source/games/duke/src/sectors_r.cpp +++ b/source/games/duke/src/sectors_r.cpp @@ -2763,7 +2763,7 @@ void dofurniture(walltype* wlwal, sectortype* sectp, int snum) if (movestep == 0) movestep = 4 * maptoworld; double max_x = INT32_MIN, max_y = INT32_MIN, min_x = INT32_MAX, min_y = INT32_MAX; - for (auto& wal : wallsofsector(sectp)) + for (auto& wal : wallsofsector(nextsect)) { double x = wal.pos.X; double y = wal.pos.Y; @@ -2835,25 +2835,26 @@ void dofurniture(walltype* wlwal, sectortype* sectp, int snum) } else { + movestep -= 2 * maptoworld; for(auto& wal : wallsofsector(nextsect)) { auto vec = wal.pos; switch (wlwal->lotag) { case 42: - vec.Y -= movestep - 2; + vec.Y -= movestep; dragpoint(&wal, vec); break; case 41: - vec.X += movestep - 2; + vec.X += movestep; dragpoint(&wal, vec); break; case 40: - vec.Y += movestep - 2; + vec.Y += movestep; dragpoint(&wal, vec); break; case 43: - vec.X -= movestep - 2; + vec.X -= movestep; dragpoint(&wal, vec); break; }