From 3f4a539bf7dcfd3203f01d521eb6bf0f68614d7d Mon Sep 17 00:00:00 2001 From: Robin Eklind Date: Wed, 17 Jul 2019 12:10:34 +0200 Subject: [PATCH 1/8] Make _pBlockFlag into a boolean. _pBlockFlag is only ever used in boolean contexts. --- Source/items.cpp | 6 +++--- structs.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/items.cpp b/Source/items.cpp index 605dc467b..d6958c1fa 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -515,7 +515,7 @@ void CalcPlrItemVals(int p, BOOL Loadgfx) plr[p]._pInfraFlag = 0; } - plr[p]._pBlockFlag = 0; + plr[p]._pBlockFlag = FALSE; plr[p]._pwtype = WT_MELEE; g = 0; @@ -552,11 +552,11 @@ void CalcPlrItemVals(int p, BOOL Loadgfx) } if (plr[p].InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_SHIELD && plr[p].InvBody[INVLOC_HAND_LEFT]._iStatFlag) { - plr[p]._pBlockFlag = 1; + plr[p]._pBlockFlag = TRUE; g++; } if (plr[p].InvBody[INVLOC_HAND_RIGHT]._itype == ITYPE_SHIELD && plr[p].InvBody[INVLOC_HAND_RIGHT]._iStatFlag) { - plr[p]._pBlockFlag = 1; + plr[p]._pBlockFlag = TRUE; g++; } diff --git a/structs.h b/structs.h index dd100d914..6dab1427e 100644 --- a/structs.h +++ b/structs.h @@ -224,7 +224,7 @@ typedef struct PlayerStruct { int _pSplHotKey[4]; char _pSplTHotKey[4]; int _pwtype; - unsigned char _pBlockFlag; + BOOLEAN _pBlockFlag; unsigned char _pInvincible; char _pLightRad; unsigned char _pLvlChanging; From f59439a8ff8e4b7fc0c7b12c28b3ac14ba763a10 Mon Sep 17 00:00:00 2001 From: Robin Eklind Date: Wed, 17 Jul 2019 12:14:16 +0200 Subject: [PATCH 2/8] Make _pInvincible into a boolean. _pInvincible is only ever used in boolean contexts. --- Source/spells.cpp | 2 +- structs.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/spells.cpp b/Source/spells.cpp index 6eac5afea..81bd6de1b 100644 --- a/Source/spells.cpp +++ b/Source/spells.cpp @@ -167,7 +167,7 @@ void DoResurrect(int pnum, int rid) ClrPlrPath(rid); plr[rid].destAction = ACTION_NONE; - plr[rid]._pInvincible = 0; + plr[rid]._pInvincible = FALSE; PlacePlayer(rid); hp = 640; diff --git a/structs.h b/structs.h index 6dab1427e..68a23ba98 100644 --- a/structs.h +++ b/structs.h @@ -225,7 +225,7 @@ typedef struct PlayerStruct { char _pSplTHotKey[4]; int _pwtype; BOOLEAN _pBlockFlag; - unsigned char _pInvincible; + BOOLEAN _pInvincible; char _pLightRad; unsigned char _pLvlChanging; char _pName[PLR_NAME_LEN]; From 983d2d6769e6bb075bc809cea361bf378ca93c60 Mon Sep 17 00:00:00 2001 From: Robin Eklind Date: Wed, 17 Jul 2019 12:24:07 +0200 Subject: [PATCH 3/8] Make _pLvlChanging into a boolean. _pLvlChanging is only ever used in boolean contexts. --- Source/msg.cpp | 2 +- Source/multi.cpp | 2 +- Source/player.cpp | 4 ++-- structs.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Source/msg.cpp b/Source/msg.cpp index cad78aba0..3a729303e 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -2337,7 +2337,7 @@ DWORD On_PLAYER_JOINLEVEL(TCmd *pCmd, int pnum) if (gbBufferMsgs == 1) msg_send_packet(pnum, p, sizeof(*p)); else { - plr[pnum]._pLvlChanging = 0; + plr[pnum]._pLvlChanging = FALSE; if (plr[pnum]._pName[0] && !plr[pnum].plractive) { plr[pnum].plractive = TRUE; gbActivePlayers++; diff --git a/Source/multi.cpp b/Source/multi.cpp index 3033ce1be..466ccd57f 100644 --- a/Source/multi.cpp +++ b/Source/multi.cpp @@ -791,7 +791,7 @@ void SetupLocalCoords() plr[myplr]._ptargx = x; plr[myplr]._ptargy = y; plr[myplr].plrlevel = currlevel; - plr[myplr]._pLvlChanging = 1; + plr[myplr]._pLvlChanging = TRUE; plr[myplr].pLvlLoad = 0; plr[myplr]._pmode = PM_NEWLVL; plr[myplr].destAction = ACTION_NONE; diff --git a/Source/player.cpp b/Source/player.cpp index a6fe55e66..fe82b7cc5 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -635,7 +635,7 @@ void CreatePlayer(int pnum, char c) plr[pnum]._pSLvlVisited[i] = 0; } - plr[pnum]._pLvlChanging = 0; + plr[pnum]._pLvlChanging = FALSE; plr[pnum].pTownWarps = 0; plr[pnum].pLvlLoad = 0; plr[pnum].pBattleNet = 0; @@ -1962,7 +1962,7 @@ void InitLevelChange(int pnum) ClrPlrPath(pnum); plr[pnum].destAction = ACTION_NONE; - plr[pnum]._pLvlChanging = 1; + plr[pnum]._pLvlChanging = TRUE; if (pnum == myplr) { plr[pnum].pLvlLoad = 10; diff --git a/structs.h b/structs.h index 68a23ba98..d8a9dc3d9 100644 --- a/structs.h +++ b/structs.h @@ -227,7 +227,7 @@ typedef struct PlayerStruct { BOOLEAN _pBlockFlag; BOOLEAN _pInvincible; char _pLightRad; - unsigned char _pLvlChanging; + BOOLEAN _pLvlChanging; char _pName[PLR_NAME_LEN]; // plr_class enum value. // TODO: this could very well be `enum plr_class _pClass` From a443e5091e780bf7a9e9ec682b595164665b3e5d Mon Sep 17 00:00:00 2001 From: Robin Eklind Date: Wed, 17 Jul 2019 15:12:11 +0200 Subject: [PATCH 4/8] Make _pInfraFlag a boolean. _pInfraFlag is only ever used in boolean contexts. --- Source/items.cpp | 4 ++-- Source/player.cpp | 2 +- structs.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/items.cpp b/Source/items.cpp index d6958c1fa..74e163057 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -510,9 +510,9 @@ void CalcPlrItemVals(int p, BOOL Loadgfx) plr[p]._pILMaxDam = lmax; if (iflgs & ISPL_INFRAVISION) { - plr[p]._pInfraFlag = 1; + plr[p]._pInfraFlag = TRUE; } else { - plr[p]._pInfraFlag = 0; + plr[p]._pInfraFlag = FALSE; } plr[p]._pBlockFlag = FALSE; diff --git a/Source/player.cpp b/Source/player.cpp index fe82b7cc5..6c182e405 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -587,7 +587,7 @@ void CreatePlayer(int pnum, char c) plr[pnum]._pFireResist = 0; plr[pnum]._pLghtResist = 0; plr[pnum]._pLightRad = 10; - plr[pnum]._pInfraFlag = 0; + plr[pnum]._pInfraFlag = FALSE; if (c == PC_WARRIOR) { plr[pnum]._pAblSpells = (__int64)1 << (SPL_REPAIR - 1); diff --git a/structs.h b/structs.h index d8a9dc3d9..09e5d0030 100644 --- a/structs.h +++ b/structs.h @@ -267,7 +267,7 @@ typedef struct PlayerStruct { char _pFireResist; char _pLghtResist; int _pGold; - int _pInfraFlag; + BOOL _pInfraFlag; int _pVar1; int _pVar2; int _pVar3; From 29eb52b6d017416a7a3bbd51623205c88e9c4a31 Mon Sep 17 00:00:00 2001 From: Robin Eklind Date: Wed, 17 Jul 2019 20:34:45 +0200 Subject: [PATCH 5/8] Make _pLvlVisited into a boolean. _pLvlVisited is only ever used in boolean contexts. --- Source/loadsave.cpp | 2 +- Source/msg.cpp | 2 +- Source/player.cpp | 4 ++-- structs.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Source/loadsave.cpp b/Source/loadsave.cpp index 71472eb5b..505d7350a 100644 --- a/Source/loadsave.cpp +++ b/Source/loadsave.cpp @@ -596,7 +596,7 @@ void SaveLevel() mem_free_dbg(SaveBuff); if (setlevel == 0) - plr[myplr]._pLvlVisited[currlevel] = 1; + plr[myplr]._pLvlVisited[currlevel] = TRUE; else plr[myplr]._pSLvlVisited[setlvlnum] = 1; } diff --git a/Source/msg.cpp b/Source/msg.cpp index 3a729303e..875ff3dbd 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -452,7 +452,7 @@ void DeltaSaveLevel() if (i != myplr) plr[i]._pGFXLoad = 0; } - plr[myplr]._pLvlVisited[currlevel] = 1; + plr[myplr]._pLvlVisited[currlevel] = TRUE; delta_leave_sync(currlevel); } } diff --git a/Source/player.cpp b/Source/player.cpp index 6c182e405..9219b7366 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -628,7 +628,7 @@ void CreatePlayer(int pnum, char c) } for (i = 0; i < NUMLEVELS; i++) { - plr[pnum]._pLvlVisited[i] = 0; + plr[pnum]._pLvlVisited[i] = FALSE; } for (i = 0; i < 10; i++) { @@ -1957,7 +1957,7 @@ void InitLevelChange(int pnum) if (pnum == myplr) { dPlayer[plr[myplr].WorldX][plr[myplr].WorldY] = myplr + 1; } else { - plr[pnum]._pLvlVisited[plr[pnum].plrlevel] = 1; + plr[pnum]._pLvlVisited[plr[pnum].plrlevel] = TRUE; } ClrPlrPath(pnum); diff --git a/structs.h b/structs.h index 09e5d0030..b94f896ab 100644 --- a/structs.h +++ b/structs.h @@ -276,7 +276,7 @@ typedef struct PlayerStruct { int _pVar6; int _pVar7; int _pVar8; - unsigned char _pLvlVisited[NUMLEVELS]; + BOOLEAN _pLvlVisited[NUMLEVELS]; unsigned char _pSLvlVisited[NUMLEVELS]; // only 10 used int _pGFXLoad; unsigned char *_pNAnim[8]; From b727d158abfac7e09cebafc3ef133737edbf517f Mon Sep 17 00:00:00 2001 From: Robin Eklind Date: Wed, 17 Jul 2019 20:36:02 +0200 Subject: [PATCH 6/8] Make _pSLvlVisited into a boolean. _pSLvlVisited is only ever used in boolean contexts. --- Source/loadsave.cpp | 2 +- Source/player.cpp | 2 +- structs.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/loadsave.cpp b/Source/loadsave.cpp index 505d7350a..ad1d7fb3e 100644 --- a/Source/loadsave.cpp +++ b/Source/loadsave.cpp @@ -598,7 +598,7 @@ void SaveLevel() if (setlevel == 0) plr[myplr]._pLvlVisited[currlevel] = TRUE; else - plr[myplr]._pSLvlVisited[setlvlnum] = 1; + plr[myplr]._pSLvlVisited[setlvlnum] = TRUE; } void LoadLevel() diff --git a/Source/player.cpp b/Source/player.cpp index 9219b7366..4bf1d44a1 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -632,7 +632,7 @@ void CreatePlayer(int pnum, char c) } for (i = 0; i < 10; i++) { - plr[pnum]._pSLvlVisited[i] = 0; + plr[pnum]._pSLvlVisited[i] = FALSE; } plr[pnum]._pLvlChanging = FALSE; diff --git a/structs.h b/structs.h index b94f896ab..494860fba 100644 --- a/structs.h +++ b/structs.h @@ -277,7 +277,7 @@ typedef struct PlayerStruct { int _pVar7; int _pVar8; BOOLEAN _pLvlVisited[NUMLEVELS]; - unsigned char _pSLvlVisited[NUMLEVELS]; // only 10 used + BOOLEAN _pSLvlVisited[NUMLEVELS]; // only 10 used int _pGFXLoad; unsigned char *_pNAnim[8]; int _pNFrames; From 105a583ce06fee9dde345108e20c8e6264148027 Mon Sep 17 00:00:00 2001 From: Robin Eklind Date: Wed, 17 Jul 2019 20:41:41 +0200 Subject: [PATCH 7/8] Use TRUE and FALSE enums for setlevel. Also simplify if conditions to make use of boolean values. (If the cleanup4 PR ends up increasing inserts/deletions, then this commit is probably at fault.) --- Source/diablo.cpp | 5 ++--- Source/gendung.cpp | 2 +- Source/loadsave.cpp | 2 +- Source/missiles.cpp | 2 +- Source/multi.cpp | 2 +- Source/objects.cpp | 4 ++-- Source/portal.cpp | 6 +++--- Source/trigs.cpp | 1 - 8 files changed, 11 insertions(+), 13 deletions(-) diff --git a/Source/diablo.cpp b/Source/diablo.cpp index c5a0e3304..146cec6f4 100644 --- a/Source/diablo.cpp +++ b/Source/diablo.cpp @@ -376,7 +376,7 @@ void diablo_parse_flags(char *args) */ break; case 'l': - setlevel = 0; + setlevel = FALSE; leveldebug = 1; while (isspace(*args)) { args++; @@ -440,7 +440,7 @@ void diablo_parse_flags(char *args) break; case 't': leveldebug = 1; - setlevel = 1; + setlevel = TRUE; while (isspace(*args)) { args++; } @@ -1834,7 +1834,6 @@ void LoadGameLevel(BOOL firstflag, int lvldir) PlaySFX(USFX_SKING1); } // 525738: using guessed type int setseed; -// 5CF31D: using guessed type char setlevel; // 679660: using guessed type char gbMaxPlayers; void game_loop(BOOL bStartup) diff --git a/Source/gendung.cpp b/Source/gendung.cpp index 73b089d82..35f59a5a6 100644 --- a/Source/gendung.cpp +++ b/Source/gendung.cpp @@ -950,6 +950,6 @@ void InitLevels() if (!leveldebug) { currlevel = 0; leveltype = DTYPE_TOWN; - setlevel = 0; + setlevel = FALSE; } } diff --git a/Source/loadsave.cpp b/Source/loadsave.cpp index ad1d7fb3e..a2b51b465 100644 --- a/Source/loadsave.cpp +++ b/Source/loadsave.cpp @@ -595,7 +595,7 @@ void SaveLevel() pfile_write_save_file(szName, SaveBuff, tbuff - SaveBuff, dwLen); mem_free_dbg(SaveBuff); - if (setlevel == 0) + if (!setlevel) plr[myplr]._pLvlVisited[currlevel] = TRUE; else plr[myplr]._pSLvlVisited[setlvlnum] = TRUE; diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 9b6c695cc..b9318d248 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1299,7 +1299,7 @@ void AddRndTeleport(int mi, int sx, int sy, int dx, int dy, int midir, char mien missile[mi]._miVar1 = 0; missile[mi]._mirange = 2; - if (setlevel == 0 || setlvlnum != SL_VILEBETRAYER) { + if (!setlevel || setlvlnum != SL_VILEBETRAYER) { missile[mi]._mix = sx + r1; missile[mi]._miy = sy + r2; if (!mienemy) diff --git a/Source/multi.cpp b/Source/multi.cpp index 466ccd57f..844e54f3a 100644 --- a/Source/multi.cpp +++ b/Source/multi.cpp @@ -772,7 +772,7 @@ void SetupLocalCoords() if (!leveldebug || gbMaxPlayers > 1) { currlevel = 0; leveltype = DTYPE_TOWN; - setlevel = 0; + setlevel = FALSE; } x = 75; y = 68; diff --git a/Source/objects.cpp b/Source/objects.cpp index c57efcba8..4f84bad9c 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -2462,7 +2462,7 @@ void OperateBook(int pnum, int i) } object[i]._oAnimFrame++; object[i]._oSelFlag = 0; - if (setlevel == 0) + if (!setlevel) return; if (setlvlnum == SL_BONECHAMB) { @@ -2485,7 +2485,7 @@ void OperateBook(int pnum, int i) 0, 0); } - if (setlevel != 0 && setlvlnum == SL_VILEBETRAYER) { + if (setlevel && setlvlnum == SL_VILEBETRAYER) { ObjChangeMapResync( object[i]._oVar1, object[i]._oVar2, diff --git a/Source/portal.cpp b/Source/portal.cpp index dfffa8872..296fea10f 100644 --- a/Source/portal.cpp +++ b/Source/portal.cpp @@ -121,19 +121,19 @@ void SetCurrentPortal(int p) void GetPortalLevel() { if (currlevel) { - setlevel = 0; + setlevel = FALSE; currlevel = 0; plr[myplr].plrlevel = 0; leveltype = DTYPE_TOWN; } else { if (portal[portalindex].setlvl) { - setlevel = 1; + setlevel = TRUE; setlvlnum = portal[portalindex].level; currlevel = portal[portalindex].level; plr[myplr].plrlevel = setlvlnum; leveltype = portal[portalindex].ltype; } else { - setlevel = 0; + setlevel = FALSE; currlevel = portal[portalindex].level; plr[myplr].plrlevel = currlevel; leveltype = portal[portalindex].ltype; diff --git a/Source/trigs.cpp b/Source/trigs.cpp index 6928d668d..fa2249976 100644 --- a/Source/trigs.cpp +++ b/Source/trigs.cpp @@ -695,7 +695,6 @@ void CheckTrigForce() ClearPanel(); } } -// 5CF31D: using guessed type char setlevel; void CheckTriggers() { From 5371d13154dcc0cd6c3cd9958945a1910a354a01 Mon Sep 17 00:00:00 2001 From: Robin Eklind Date: Thu, 18 Jul 2019 00:30:49 +0200 Subject: [PATCH 8/8] Make use of item_special_effect enums. --- Source/items.cpp | 14 +++++++------- Source/missiles.cpp | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Source/items.cpp b/Source/items.cpp index 74e163057..1d2f59ac6 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -2811,21 +2811,21 @@ void PrintItemPower(char plidx, ItemStruct *x) strcpy(tempstr, "damages target's armor"); break; case IPL_FASTATTACK: - if (x->_iFlags & 0x20000) + if (x->_iFlags & ISPL_QUICKATTACK) strcpy(tempstr, "quick attack"); - if (x->_iFlags & 0x40000) + if (x->_iFlags & ISPL_FASTATTACK) strcpy(tempstr, "fast attack"); - if (x->_iFlags & 0x80000) + if (x->_iFlags & ISPL_FASTERATTACK) strcpy(tempstr, "faster attack"); - if (x->_iFlags & 0x100000) + if (x->_iFlags & ISPL_FASTESTATTACK) strcpy(tempstr, "fastest attack"); break; case IPL_FASTRECOVER: - if (x->_iFlags & 0x200000) + if (x->_iFlags & ISPL_FASTRECOVER) strcpy(tempstr, "fast hit recovery"); - if (x->_iFlags & 0x400000) + if (x->_iFlags & ISPL_FASTERRECOVER) strcpy(tempstr, "faster hit recovery"); - if (x->_iFlags & 0x800000) + if (x->_iFlags & ISPL_FASTESTRECOVER) strcpy(tempstr, "fastest hit recovery"); break; case IPL_FASTBLOCK: diff --git a/Source/missiles.cpp b/Source/missiles.cpp index b9318d248..940ac3077 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1240,7 +1240,7 @@ void AddArrow(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, i } if (!mienemy) { av = 32; - if (plr[id]._pIFlags & 4) { + if (plr[id]._pIFlags & ISPL_RNDARROWVEL) { av = random(64, 32) + 16; } if (plr[id]._pClass == PC_ROGUE)