From 7e63ccd57a9320c7822251f2b1966e51d441e409 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 26 Sep 2023 23:21:57 +0200 Subject: [PATCH] Blood: get rid of the mirror struct and related data. This is a relic of Polymost. --- source/games/blood/src/blood.cpp | 2 +- source/games/blood/src/blood.h | 9 ---- source/games/blood/src/loadsave.cpp | 2 - source/games/blood/src/mirrors.cpp | 69 ++--------------------------- 4 files changed, 5 insertions(+), 77 deletions(-) diff --git a/source/games/blood/src/blood.cpp b/source/games/blood/src/blood.cpp index a90745598..f9859cf7a 100644 --- a/source/games/blood/src/blood.cpp +++ b/source/games/blood/src/blood.cpp @@ -143,7 +143,7 @@ void QuitGame(void) void EndLevel(void) { - gViewPos = VIEWPOS_0; + gViewPos = viewFirstPerson; sndKillAllSounds(); sfxKillAllSounds(); ambKillAll(); diff --git a/source/games/blood/src/blood.h b/source/games/blood/src/blood.h index 482806463..426d715a5 100644 --- a/source/games/blood/src/blood.h +++ b/source/games/blood/src/blood.h @@ -83,15 +83,6 @@ void ProcessFrame(void); void ScanINIFiles(void); void EndLevel(bool); -struct MIRROR -{ - int type; - int link; - DVector3 diff; - int mynum; -}; - -extern MIRROR mirror[16]; extern int mirrorcnt, mirrorsector, mirrorwall[4]; inline bool DemoRecordStatus(void) diff --git a/source/games/blood/src/loadsave.cpp b/source/games/blood/src/loadsave.cpp index c8307cffc..e3c35645b 100644 --- a/source/games/blood/src/loadsave.cpp +++ b/source/games/blood/src/loadsave.cpp @@ -718,7 +718,6 @@ void SerializeGameStats(FSerializer& arc); void SerializePlayers(FSerializer& arc); void SerializeView(FSerializer& arc); void SerializeNNExts(FSerializer& arc); -void SerializeMirrors(FSerializer& arc); //--------------------------------------------------------------------------- // @@ -744,7 +743,6 @@ void GameInterface::SerializeGameState(FSerializer& arc) SerializeEvents(arc); SerializeGameStats(arc); SerializeSequences(arc); - SerializeMirrors(arc); SerializeWarp(arc); SerializeTriggers(arc); SerializeView(arc); diff --git a/source/games/blood/src/mirrors.cpp b/source/games/blood/src/mirrors.cpp index 87ab3f547..30fc152bd 100644 --- a/source/games/blood/src/mirrors.cpp +++ b/source/games/blood/src/mirrors.cpp @@ -31,9 +31,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. BEGIN_BLD_NS -int mirrorcnt, mirrorsector, mirrorwall[4]; - -MIRROR mirror[16]; // only needed by Polymost. //--------------------------------------------------------------------------- // @@ -43,20 +40,15 @@ MIRROR mirror[16]; // only needed by Polymost. void InitMirrors(void) { - mirrorcnt = 0; portalClear(); for (int i = (int)wall.Size() - 1; i >= 0; i--) { auto pWalli = &wall[i]; - if (mirrorcnt == 16) - break; if (pWalli->overtexture == mirrortile) { if (pWalli->extra > 0 && pWalli->type == kWallStack) { - mirror[mirrorcnt].mynum = i; - mirror[mirrorcnt].type = 0; pWalli->cstat |= CSTAT_WALL_1WAY; int tmp = pWalli->xw().data; int j; @@ -71,7 +63,6 @@ void InitMirrors(void) continue; pWalli->hitag = j; // hitag is only used by Polymost, the new renderer uses external links. pWallj->hitag = i; - mirror[mirrorcnt].link = j; break; } } @@ -81,7 +72,6 @@ void InitMirrors(void) } else { - mirrorcnt++; pWalli->portalflags = PORTAL_WALL_VIEW; pWalli->portalnum = j; } @@ -90,20 +80,13 @@ void InitMirrors(void) } if (pWalli->walltexture == mirrortile) { - mirror[mirrorcnt].link = i; - mirror[mirrorcnt].mynum = i; - mirror[mirrorcnt].type = 0; pWalli->cstat |= CSTAT_WALL_1WAY; pWalli->portalflags = PORTAL_WALL_MIRROR; - mirrorcnt++; continue; } } for (int i = (int)sector.Size() - 1; i >= 0; i--) { - if (mirrorcnt >= 15) - break; - auto secti = §or[i]; if (secti->floortexture == mirrortile) { @@ -118,59 +101,15 @@ void InitMirrors(void) int j = sectindex(sectj); if (sectj->ceilingtexture != mirrortile) I_Error("Lower link sector %d doesn't have mirror pic\n", j); - mirror[mirrorcnt].type = 2; - mirror[mirrorcnt].diff = link2->spr.pos - link->spr.pos; - mirror[mirrorcnt].mynum = i; - mirror[mirrorcnt].link = j; + auto diff = link2->spr.pos - link->spr.pos; secti->portalflags = PORTAL_SECTOR_FLOOR; - secti->portalnum = portalAdd(PORTAL_SECTOR_FLOOR, j, mirror[mirrorcnt].diff); - mirrorcnt++; - mirror[mirrorcnt].type = 1; - mirror[mirrorcnt].diff = link->spr.pos - link2->spr.pos; - mirror[mirrorcnt].mynum = j; - mirror[mirrorcnt].link = i; + secti->portalnum = portalAdd(PORTAL_SECTOR_FLOOR, j, diff); + diff = link->spr.pos - link2->spr.pos; sectj->portalflags = PORTAL_SECTOR_CEILING; - sectj->portalnum = portalAdd(PORTAL_SECTOR_CEILING, i, mirror[mirrorcnt].diff); - mirrorcnt++; + sectj->portalnum = portalAdd(PORTAL_SECTOR_CEILING, i, diff); } } - mirrorsector = sector.Size(); mergePortals(); } -//--------------------------------------------------------------------------- -// -// -// -//--------------------------------------------------------------------------- - -FSerializer& Serialize(FSerializer& arc, const char* keyname, MIRROR& w, MIRROR* def) -{ - if (arc.BeginObject(keyname)) - { - arc("type", w.type) - ("link", w.link) - ("diff", w.diff) - ("wallnum", w.mynum) - .EndObject(); - } - return arc; -} - -//--------------------------------------------------------------------------- -// -// -// -//--------------------------------------------------------------------------- - -void SerializeMirrors(FSerializer& arc) -{ - if (arc.BeginObject("mirror")) - { - arc("mirrorcnt", mirrorcnt) - .Array("mirror", mirror, countof(mirror)) - .EndObject(); - } -} - END_BLD_NS