From 46ecd2b65209b80ebc4f80372420f4354d93ef65 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 23 Nov 2021 11:33:37 +0100 Subject: [PATCH] - minor cleanup of index variables in sectortype and walltype. --- source/games/whaven/src/whfx.cpp | 2 +- source/games/whaven/src/whmap.cpp | 25 ++++++++++++------------- source/games/whaven/src/whplr.cpp | 5 ++--- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/source/games/whaven/src/whfx.cpp b/source/games/whaven/src/whfx.cpp index 585bbcf42..95321e5af 100644 --- a/source/games/whaven/src/whfx.cpp +++ b/source/games/whaven/src/whfx.cpp @@ -498,7 +498,7 @@ void warp(int x, int y, int z, int daang, int dasector) { for (int s = startwall; s <= endwall; s++) { dax += wall[s].x; day += wall[s].y; - if (wall[s].nextsector >= 0) { + if (wall[s].twoSided()) { i = s; } } diff --git a/source/games/whaven/src/whmap.cpp b/source/games/whaven/src/whmap.cpp index aae36c2c3..fc610d0fc 100644 --- a/source/games/whaven/src/whmap.cpp +++ b/source/games/whaven/src/whmap.cpp @@ -65,7 +65,7 @@ void preparesectors() { revolveang[revolvecnt] = 0; revolveclip[revolvecnt] = 1; - if (sector[i].ceilingz == sector[wall[startwall].nextsector].ceilingz) + if (sector[i].ceilingz == wall[startwall].nextSector()->ceilingz) revolveclip[revolvecnt] = 0; revolvecnt++; @@ -142,22 +142,21 @@ void preparesectors() { if (wall[k].y == day2) dragydir[dragsectorcnt] = 16; - dasector = wall[startwall].nextsector; dragx1[dragsectorcnt] = 0x7fffffff; dragy1[dragsectorcnt] = 0x7fffffff; dragx2[dragsectorcnt] = 0x80000000; dragy2[dragsectorcnt] = 0x80000000; - startwall = sector[dasector].wallptr; - endwall = startwall + sector[dasector].wallnum - 1; - for (j = startwall; j <= endwall; j++) { - if (wall[j].x < dragx1[dragsectorcnt]) - dragx1[dragsectorcnt] = wall[j].x; - if (wall[j].y < dragy1[dragsectorcnt]) - dragy1[dragsectorcnt] = wall[j].y; - if (wall[j].x > dragx2[dragsectorcnt]) - dragx2[dragsectorcnt] = wall[j].x; - if (wall[j].y > dragy2[dragsectorcnt]) - dragy2[dragsectorcnt] = wall[j].y; + dasector = wall[startwall].nextsector; + for(auto& wallj : wallsofsector(dasector)) + { + if (wallj.x < dragx1[dragsectorcnt]) + dragx1[dragsectorcnt] = wallj.x; + if (wallj.y < dragy1[dragsectorcnt]) + dragy1[dragsectorcnt] = wallj.y; + if (wallj.x > dragx2[dragsectorcnt]) + dragx2[dragsectorcnt] = wallj.x; + if (wallj.y > dragy2[dragsectorcnt]) + dragy2[dragsectorcnt] = wallj.y; } dragx1[dragsectorcnt] += (wall[sector[i].wallptr].x - dax); diff --git a/source/games/whaven/src/whplr.cpp b/source/games/whaven/src/whplr.cpp index 0150ab839..8ba29217d 100644 --- a/source/games/whaven/src/whplr.cpp +++ b/source/games/whaven/src/whplr.cpp @@ -222,12 +222,11 @@ void updateviewmap(PLAYER& plr) { show2dsector.Set(i); for (int j = sector[i].wallnum; j > 0; j--) { WALL& wal = wall[wallid++]; + if (!wal.twoSided()) continue; i = wal.nextsector; - if (i < 0) - continue; if ((wal.cstat & 0x0071) != 0) continue; - if ((wall[wal.nextwall].cstat & 0x0071) != 0) + if ((wal.nextWall()->cstat & 0x0071) != 0) continue; if (sector[i].ceilingz >= sector[i].floorz) continue;