diff --git a/source/games/sw/src/draw.cpp b/source/games/sw/src/draw.cpp index 141d401ce..df2863332 100644 --- a/source/games/sw/src/draw.cpp +++ b/source/games/sw/src/draw.cpp @@ -1138,7 +1138,7 @@ void UpdateWallPortalState() continue; } walltype* wal = mirror[i].mirrorWall; - if (wal->wallpicnum != MIRRORLABEL + i) + if (wal->wallpicnum != MIRRORLABEL) { wal->portalflags = 0; continue; diff --git a/source/games/sw/src/game.cpp b/source/games/sw/src/game.cpp index 2a313200e..73e57d281 100644 --- a/source/games/sw/src/game.cpp +++ b/source/games/sw/src/game.cpp @@ -234,9 +234,9 @@ enum void GameInterface::SetupSpecialTextures(TilesetBuildInfo& info) { info.Delete(MIRROR); // mirror + info.Delete(MIRRORLABEL); for (int i = 0; i < MAXMIRRORS; i++) { - info.Delete(i + MIRRORLABEL); info.MakeCanvas(CAMSPRITE + i, 128, 114); } // make these two unique, they are empty by default. diff --git a/source/games/sw/src/jsector.cpp b/source/games/sw/src/jsector.cpp index 9f1856244..363284973 100644 --- a/source/games/sw/src/jsector.cpp +++ b/source/games/sw/src/jsector.cpp @@ -283,10 +283,8 @@ void JS_InitMirrors(void) continue; } - wal.overpicnum = MIRRORLABEL + mirrorcnt; - wal.wallpicnum = MIRRORLABEL + mirrorcnt; - sec->ceilingpicnum = MIRRORLABEL + mirrorcnt; - sec->floorpicnum = MIRRORLABEL + mirrorcnt; + wal.overpicnum = MIRRORLABEL; + wal.wallpicnum = MIRRORLABEL; sec->floorstat |= CSTAT_SECTOR_SKY; mirror[mirrorcnt].mirrorWall = &wal; mirror[mirrorcnt].mirrorSector = sec; diff --git a/source/games/sw/src/track.cpp b/source/games/sw/src/track.cpp index 5c0b51b13..d6ad59bc0 100644 --- a/source/games/sw/src/track.cpp +++ b/source/games/sw/src/track.cpp @@ -2059,7 +2059,7 @@ void CallbackSOsink(ANIM* ap, void *data) ASSERT(destsect != nullptr); - destsect->floorpicnum = srcsect->floorpicnum; + destsect->setfloortexture(srcsect->floortexture()); destsect->floorshade = srcsect->floorshade; destsect->floorstat &= ~(CSTAT_SECTOR_ALIGN);