From 37c3f1cc46c83d9e21a42035d2104e869a3828a5 Mon Sep 17 00:00:00 2001 From: NY00123 Date: Fri, 22 May 2020 15:11:03 +0300 Subject: [PATCH] SW: Add the macro SO_EMPTY and use it instead of separate checks of the form sop->xmid == INT32_MAX --- source/sw/src/game.h | 2 ++ source/sw/src/interpso.cpp | 8 ++++---- source/sw/src/morph.cpp | 4 ++-- source/sw/src/sector.cpp | 4 ++-- source/sw/src/track.cpp | 10 +++++----- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/source/sw/src/game.h b/source/sw/src/game.h index 964435083..c51639079 100644 --- a/source/sw/src/game.h +++ b/source/sw/src/game.h @@ -2152,6 +2152,8 @@ struct SECTOR_OBJECTstruct #define SO_TANK 98 #define SO_SPEED_BOAT 99 +#define SO_EMPTY(sop) ((sop)->xmid == INT32_MAX) + extern SECTOR_OBJECT SectorObject[MAX_SECTOR_OBJECTS]; /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/source/sw/src/interpso.cpp b/source/sw/src/interpso.cpp index 682f9099d..98fb4b14c 100644 --- a/source/sw/src/interpso.cpp +++ b/source/sw/src/interpso.cpp @@ -202,7 +202,7 @@ void so_updateinterpolations(void) // Stick at beginning of domovethings for (sop = SectorObject, interp = so_interpdata; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++, interp++) { - if (sop->xmid == INT32_MAX /*|| sop->xmid == MAXSO*/) + if (SO_EMPTY(sop)) continue; if (interp->tic < interp->lasttic) interp->tic += synctics; @@ -240,7 +240,7 @@ void so_dointerpolations(int32_t smoothratio) // Stick at b for (sop = SectorObject, interp = so_interpdata; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++, interp++) { - if (sop->xmid == INT32_MAX /*|| sop->xmid == MAXSO*/) + if (SO_EMPTY(sop)) continue; for (i = 0; i < interp->numinterpolations; i++) @@ -266,7 +266,7 @@ void so_dointerpolations(int32_t smoothratio) // Stick at b for (sop = SectorObject, interp = so_interpdata; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++, interp++) { - if (sop->xmid == INT32_MAX /*|| sop->xmid == MAXSO*/) + if (SO_EMPTY(sop)) continue; // Unfortunately, interpolating over less samples doesn't work well @@ -305,7 +305,7 @@ void so_restoreinterpolations(void) // Stick at end of drawscree for (sop = SectorObject, interp = so_interpdata; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++, interp++) { - if (sop->xmid == INT32_MAX /*|| sop->xmid == MAXSO*/) + if (SO_EMPTY(sop)) continue; for (i = 0, data = interp->data; i < interp->numinterpolations; i++, data++) diff --git a/source/sw/src/morph.cpp b/source/sw/src/morph.cpp index c9382cfb6..26da88073 100644 --- a/source/sw/src/morph.cpp +++ b/source/sw/src/morph.cpp @@ -47,7 +47,7 @@ DoSectorObjectSetScale(short match) for (sop = SectorObject; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++) { - if (sop->xmid == INT32_MAX) + if (SO_EMPTY(sop)) continue; if (sop->match_event == match) @@ -122,7 +122,7 @@ DoSOevent(short match, short state) for (sop = SectorObject; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++) { - if (sop->xmid == INT32_MAX) + if (SO_EMPTY(sop)) continue; if (sop->match_event == match) diff --git a/source/sw/src/sector.cpp b/source/sw/src/sector.cpp index 207bf74d4..4458c06d4 100644 --- a/source/sw/src/sector.cpp +++ b/source/sw/src/sector.cpp @@ -1346,7 +1346,7 @@ DoSectorObjectKillMatch(short match) for (sop = SectorObject; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++) { - if (sop->xmid == INT32_MAX) + if (SO_EMPTY(sop)) continue; if (sop->match_event == match) @@ -3314,7 +3314,7 @@ DoSector(void) for (sop = SectorObject; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++) { - if (sop->xmid == INT32_MAX /*|| sop->xmid == MAXSO*/) + if (SO_EMPTY(sop)) continue; diff --git a/source/sw/src/track.cpp b/source/sw/src/track.cpp index 584b1ab0d..1672ccff9 100644 --- a/source/sw/src/track.cpp +++ b/source/sw/src/track.cpp @@ -1428,7 +1428,7 @@ PostSetupSectorObject(void) for (sop = SectorObject; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++) { - if (sop->xmid == INT32_MAX) + if (SO_EMPTY(sop)) continue; FindMainSector(sop); } @@ -1442,7 +1442,7 @@ PlayerOnObject(short sectnum_match) SECTOR_OBJECTp sop; // place each sector object on the track - //for (i = 0; (SectorObject[i].xmid != INT32_MAX) && (i < MAX_SECTOR_OBJECTS); i++) + //for (i = 0; !SO_EMPTY(&SectorObject[i]) && (i < MAX_SECTOR_OBJECTS); i++) for (i = 0; (i < MAX_SECTOR_OBJECTS); i++) { sop = &SectorObject[i]; @@ -1476,7 +1476,7 @@ PlaceSectorObjectsOnTracks(void) SECTOR_OBJECTp sop = &SectorObject[i]; TRACK_POINTp tpoint = NULL; - if (sop->xmid == INT32_MAX) + if (SO_EMPTY(sop)) continue; @@ -2095,7 +2095,7 @@ DetectSectorObject(SECTORp sectph) // move all points to nx,ny for (sop = SectorObject; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++) { - if (sop->xmid == INT32_MAX /*|| sop->xmid == MAXSO*/) + if (SO_EMPTY(sop)) continue; for (sectp = sop->sectp, j = 0; *sectp; sectp++, j++) @@ -2123,7 +2123,7 @@ DetectSectorObjectByWall(WALLp wph) // move all points to nx,ny for (sop = SectorObject; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++) { - if (sop->xmid == INT32_MAX /*|| sop->xmid == MAXSO*/) + if (SO_EMPTY(sop)) continue; for (sectp = sop->sectp, j = 0; *sectp; sectp++, j++)