From b81d2eb83132a5d3e4084bcbea6f2a88a79b8db7 Mon Sep 17 00:00:00 2001 From: qndel Date: Mon, 12 Oct 2020 00:42:02 +0200 Subject: [PATCH] some cleanups (#2099) --- Source/automap.cpp | 2 +- Source/drlg_l2.cpp | 10 ++-- Source/drlg_l4.cpp | 2 +- Source/inv.cpp | 2 +- Source/lighting.cpp | 6 +-- Source/missiles.cpp | 128 ++++++++++++++++++++++---------------------- Source/msg.cpp | 4 +- Source/objects.cpp | 8 +-- Source/player.cpp | 18 +++---- Source/portal.cpp | 2 +- Source/quests.cpp | 96 ++++++++++++++++----------------- Source/quests.h | 2 +- Source/render.cpp | 6 +-- Source/scrollrt.cpp | 2 +- Source/stores.cpp | 8 +-- Source/towners.cpp | 2 +- enums.h | 6 +++ structs.h | 2 +- 18 files changed, 156 insertions(+), 150 deletions(-) diff --git a/Source/automap.cpp b/Source/automap.cpp index 4ebf7e758..5a313b938 100644 --- a/Source/automap.cpp +++ b/Source/automap.cpp @@ -717,7 +717,7 @@ void DrawAutomapText() } if (setlevel) { PrintGameStr(8, nextline, quest_level_names[(BYTE)setlvlnum], COL_GOLD); - } else if (currlevel) { + } else if (currlevel != 0) { #ifdef HELLFIRE if (currlevel < 17 || currlevel > 20) { if (currlevel < 21 || currlevel > 24) diff --git a/Source/drlg_l2.cpp b/Source/drlg_l2.cpp index 454e3e5fd..773f1850c 100644 --- a/Source/drlg_l2.cpp +++ b/Source/drlg_l2.cpp @@ -2766,21 +2766,21 @@ static BOOL CreateDungeon() switch (currlevel) { case 5: - if (quests[Q_BLOOD]._qactive) { + if (quests[Q_BLOOD]._qactive != QUEST_NOTAVAIL) { ForceHW = TRUE; ForceH = 20; ForceW = 14; } break; case 6: - if (quests[Q_SCHAMB]._qactive) { + if (quests[Q_SCHAMB]._qactive != QUEST_NOTAVAIL) { ForceHW = TRUE; ForceW = 10; ForceH = 10; } break; case 7: - if (quests[Q_BLIND]._qactive) { + if (quests[Q_BLIND]._qactive != QUEST_NOTAVAIL) { ForceHW = TRUE; ForceW = 15; ForceH = 15; @@ -3506,13 +3506,13 @@ void LoadPreL2Dungeon(char *sFileName, int vx, int vy) void CreateL2Dungeon(DWORD rseed, int entry) { if (gbMaxPlayers == 1) { - if (currlevel == 7 && !quests[Q_BLIND]._qactive) { + if (currlevel == 7 && quests[Q_BLIND]._qactive == QUEST_NOTAVAIL) { currlevel = 6; CreateL2Dungeon(glSeedTbl[6], 4); currlevel = 7; } if (currlevel == 8) { - if (!quests[Q_BLIND]._qactive) { + if (quests[Q_BLIND]._qactive == QUEST_NOTAVAIL) { currlevel = 6; CreateL2Dungeon(glSeedTbl[6], 4); currlevel = 8; diff --git a/Source/drlg_l4.cpp b/Source/drlg_l4.cpp index 0ccfab4b5..9606023aa 100644 --- a/Source/drlg_l4.cpp +++ b/Source/drlg_l4.cpp @@ -1170,7 +1170,7 @@ static void L4firstRoom() int x, y, w, h, rndx, rndy, xmin, xmax, ymin, ymax, tx, ty; if (currlevel != 16) { - if (currlevel == quests[Q_WARLORD]._qlevel && quests[Q_WARLORD]._qactive) { + if (currlevel == quests[Q_WARLORD]._qlevel && quests[Q_WARLORD]._qactive != QUEST_NOTAVAIL) { /// ASSERT: assert(gbMaxPlayers == 1); w = 11; h = 11; diff --git a/Source/inv.cpp b/Source/inv.cpp index 15159117a..f95e3fc13 100644 --- a/Source/inv.cpp +++ b/Source/inv.cpp @@ -2778,7 +2778,7 @@ BOOL UseInvItem(int pnum, int cii) ItemStruct *Item; BOOL speedlist; - if (plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr) + if (plr[pnum]._pInvincible && plr[pnum]._pHitPoints == 0 && pnum == myplr) return TRUE; if (pcurs != CURSOR_HAND) return TRUE; diff --git a/Source/lighting.cpp b/Source/lighting.cpp index 511533c94..644632b39 100644 --- a/Source/lighting.cpp +++ b/Source/lighting.cpp @@ -996,7 +996,7 @@ void ToggleLighting() lightflag ^= TRUE; - if (lightflag != 0) { + if (lightflag) { memset(dLight, 0, sizeof(dLight)); } else { memcpy(dLight, dPreLight, sizeof(dLight)); @@ -1035,7 +1035,7 @@ int AddLight(int x, int y, int r) { int lid; - if (lightflag != 0) { + if (lightflag) { return -1; } @@ -1131,7 +1131,7 @@ void ProcessLightList() int i, j; BYTE temp; - if (lightflag != 0) { + if (lightflag) { return; } diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 07664e065..ff11bb050 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1027,7 +1027,7 @@ void CheckMissileCol(int i, int mindam, int maxdam, BOOL shift, int mx, int my, int oi; if (missile[i]._miAnimType != MFILE_FIREWAL && missile[i]._misource != -1) { - if (!missile[i]._micaster) { + if (missile[i]._micaster == 0) { if (dMonster[mx][my] > 0) { if (MonsterMHit( missile[i]._misource, @@ -1138,7 +1138,7 @@ void CheckMissileCol(int i, int mindam, int maxdam, BOOL shift, int mx, int my, missile[i]._mirange = 0; missile[i]._miHitFlag = FALSE; } - if (!missile[i]._mirange && missiledata[missile[i]._mitype].miSFX != -1) + if (missile[i]._mirange == 0 && missiledata[missile[i]._mitype].miSFX != -1) PlaySfxLoc(missiledata[missile[i]._mitype].miSFX, missile[i]._mix, missile[i]._miy); } @@ -2416,7 +2416,7 @@ void AddTown(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, in int CrawlNum[6] = { 0, 3, 12, 45, 94, 159 }; #endif - if (currlevel) { + if (currlevel != 0) { missile[mi]._miDelFlag = TRUE; for (j = 0; j < 6; j++) { k = CrawlNum[j] + 2; @@ -2462,7 +2462,7 @@ void AddTown(int mi, int sx, int sy, int dx, int dy, int midir, char mienemy, in missile[mx]._mirange = 0; } PutMissile(mi); - if (id == myplr && !missile[mi]._miDelFlag && currlevel) { + if (id == myplr && !missile[mi]._miDelFlag && currlevel != 0) { if (!setlevel) { NetSendCmdLocParam3(TRUE, CMD_ACTIVATEPORTAL, tx, ty, currlevel, leveltype, 0); } else { @@ -3535,7 +3535,7 @@ void MI_LArrow(int i) GetMissilePos(i); if (p != -1) { - if (!missile[i]._micaster) { + if (missile[i]._micaster == 0) { mind = plr[p]._pIMinDam; maxd = plr[p]._pIMaxDam; } else { @@ -3553,7 +3553,7 @@ void MI_LArrow(int i) CheckMissileCol(i, mind, maxd, FALSE, missile[i]._mix, missile[i]._miy, FALSE); missiledata[missile[i]._mitype].mResist = rst; } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._mimfnum = 0; missile[i]._mitxoff -= missile[i]._mixvel; missile[i]._mityoff -= missile[i]._miyvel; @@ -3571,7 +3571,7 @@ void MI_LArrow(int i) } } } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } @@ -3589,7 +3589,7 @@ void MI_Arrow(int i) GetMissilePos(i); p = missile[i]._misource; if (p != -1) { - if (!missile[i]._micaster) { + if (missile[i]._micaster == 0) { mind = plr[p]._pIMinDam; maxd = plr[p]._pIMaxDam; } else { @@ -3602,7 +3602,7 @@ void MI_Arrow(int i) } if (missile[i]._mix != missile[i]._misx || missile[i]._miy != missile[i]._misy) CheckMissileCol(i, mind, maxd, FALSE, missile[i]._mix, missile[i]._miy, FALSE); - if (!missile[i]._mirange) + if (missile[i]._mirange == 0) missile[i]._miDelFlag = TRUE; PutMissile(i); } @@ -3621,7 +3621,7 @@ void MI_Firebolt(int i) GetMissilePos(i); p = missile[i]._misource; if (p != -1) { - if (!missile[i]._micaster) { + if (missile[i]._micaster == 0) { switch (missile[i]._mitype) { case MIS_FIREBOLT: d = random_(75, 10) + (plr[p]._pMagic >> 3) + missile[i]._mispllvl + 1; @@ -3642,7 +3642,7 @@ void MI_Firebolt(int i) if (missile[i]._mix != missile[i]._misx || missile[i]._miy != missile[i]._misy) { CheckMissileCol(i, d, d, FALSE, missile[i]._mix, missile[i]._miy, FALSE); } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; missile[i]._mitxoff = omx; missile[i]._mityoff = omy; @@ -3694,7 +3694,7 @@ void MI_Firebolt(int i) } PutMissile(i); } - } else if (!missile[i]._mirange) { + } else if (missile[i]._mirange == 0) { if (missile[i]._mlid >= 0) AddUnLight(missile[i]._mlid); missile[i]._miDelFlag = TRUE; @@ -3729,7 +3729,7 @@ void MI_Lightball(int i) if (object[oi]._otype == OBJ_SHRINEL || object[oi]._otype == OBJ_SHRINER) missile[i]._mirange = j; } - if (!missile[i]._mirange) + if (missile[i]._mirange == 0) missile[i]._miDelFlag = TRUE; PutMissile(i); } @@ -3741,7 +3741,7 @@ void mi_null_33(int i) missile[i]._mityoff += missile[i]._miyvel; GetMissilePos(i); CheckMissileCol(i, missile[i]._midam, missile[i]._midam, FALSE, missile[i]._mix, missile[i]._miy, FALSE); - if (!missile[i]._mirange) + if (missile[i]._mirange == 0) missile[i]._miDelFlag = TRUE; PutMissile(i); } @@ -3754,8 +3754,8 @@ void MI_Acidpud(int i) range = missile[i]._mirange; CheckMissileCol(i, missile[i]._midam, missile[i]._midam, TRUE, missile[i]._mix, missile[i]._miy, FALSE); missile[i]._mirange = range; - if (!range) { - if (missile[i]._mimfnum) { + if (range == 0) { + if (missile[i]._mimfnum != 0) { missile[i]._miDelFlag = TRUE; } else { SetMissDir(i, 1); @@ -3780,12 +3780,12 @@ void MI_Firewall(int i) missile[i]._miAnimAdd = -1; } CheckMissileCol(i, missile[i]._midam, missile[i]._midam, TRUE, missile[i]._mix, missile[i]._miy, TRUE); - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } - if (missile[i]._mimfnum && missile[i]._mirange && missile[i]._miAnimAdd != -1 && missile[i]._miVar2 < 12) { - if (!missile[i]._miVar2) + if (missile[i]._mimfnum != 0 && missile[i]._mirange != 0 && missile[i]._miAnimAdd != -1 && missile[i]._miVar2 < 12) { + if (missile[i]._miVar2 == 0) missile[i]._mlid = AddLight(missile[i]._mix, missile[i]._miy, ExpLight[0]); ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, ExpLight[missile[i]._miVar2]); missile[i]._miVar2++; @@ -3810,7 +3810,7 @@ void MI_Fireball(int i) } if (missile[i]._miAnimType == MFILE_BIGEXP) { - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } @@ -4031,7 +4031,7 @@ void mi_immolation(int i) GetMissilePos(i); if (missile[i]._mix != missile[i]._misx || missile[i]._miy != missile[i]._misy) CheckMissileCol(i, dam, dam, FALSE, missile[i]._mix, missile[i]._miy, FALSE); - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { mx = missile[i]._mix; my = missile[i]._miy; ChangeLight(missile[i]._mlid, missile[i]._mix, my, missile[i]._miAnimFrame); @@ -4519,7 +4519,7 @@ void MI_Lightning(int i) CheckMissileCol(i, missile[i]._midam, missile[i]._midam, TRUE, missile[i]._mix, missile[i]._miy, FALSE); if (missile[i]._miHitFlag == TRUE) missile[i]._mirange = j; - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } @@ -4535,8 +4535,8 @@ void MI_Town(int i) missile[i]._mirange--; if (missile[i]._mirange == missile[i]._miVar1) SetMissDir(i, 1); - if (currlevel && missile[i]._mimfnum != 1 && missile[i]._mirange) { - if (!missile[i]._miVar2) + if (currlevel != 0 && missile[i]._mimfnum != 1 && missile[i]._mirange != 0) { + if (missile[i]._miVar2 == 0) missile[i]._mlid = AddLight(missile[i]._mix, missile[i]._miy, 1); ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, ExpLight[missile[i]._miVar2]); missile[i]._miVar2++; @@ -4552,7 +4552,7 @@ void MI_Town(int i) } } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } @@ -4561,7 +4561,7 @@ void MI_Town(int i) void MI_Flash(int i) { - if (!missile[i]._micaster) { + if (missile[i]._micaster == 0) { if (missile[i]._misource != -1) plr[missile[i]._misource]._pInvincible = TRUE; } @@ -4572,7 +4572,7 @@ void MI_Flash(int i) CheckMissileCol(i, missile[i]._midam, missile[i]._midam, TRUE, missile[i]._mix - 1, missile[i]._miy + 1, TRUE); CheckMissileCol(i, missile[i]._midam, missile[i]._midam, TRUE, missile[i]._mix, missile[i]._miy + 1, TRUE); CheckMissileCol(i, missile[i]._midam, missile[i]._midam, TRUE, missile[i]._mix + 1, missile[i]._miy + 1, TRUE); - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; if (missile[i]._micaster == 0) { if (missile[i]._misource != -1) @@ -4584,7 +4584,7 @@ void MI_Flash(int i) void MI_Flash2(int i) { - if (!missile[i]._micaster) { + if (missile[i]._micaster == 0) { if (missile[i]._misource != -1) plr[missile[i]._misource]._pInvincible = TRUE; } @@ -4592,7 +4592,7 @@ void MI_Flash2(int i) CheckMissileCol(i, missile[i]._midam, missile[i]._midam, TRUE, missile[i]._mix - 1, missile[i]._miy - 1, TRUE); CheckMissileCol(i, missile[i]._midam, missile[i]._midam, TRUE, missile[i]._mix, missile[i]._miy - 1, TRUE); CheckMissileCol(i, missile[i]._midam, missile[i]._midam, TRUE, missile[i]._mix + 1, missile[i]._miy - 1, TRUE); - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; if (missile[i]._micaster == 0) { if (missile[i]._misource != -1) @@ -4670,14 +4670,14 @@ void MI_Manashield(int i) missile[i]._miDelFlag = TRUE; if (plr[id]._pHitPoints < 0) SetPlayerHitPoints(id, 0); - if (!(plr[id]._pHitPoints >> 6) && id == myplr) { + if ((plr[id]._pHitPoints >> 6) == 0 && id == myplr) { SyncPlrKill(id, missile[i]._miVar8); } } } #ifndef HELLFIRE - if (id == myplr && !plr[id]._pHitPoints && !missile[i]._miVar1 && plr[id]._pmode != PM_DEATH) { + if (id == myplr && plr[id]._pHitPoints == 0 && missile[i]._miVar1 == 0 && plr[id]._pmode != PM_DEATH) { missile[i]._mirange = 0; missile[i]._miDelFlag = TRUE; SyncPlrKill(id, -1); @@ -4718,7 +4718,7 @@ void MI_Etherealize(int i) missile[i]._miy++; } plr[src]._pSpellFlags |= 1; - if (!missile[i]._mirange || plr[src]._pHitPoints <= 0) { + if (missile[i]._mirange == 0 || plr[src]._pHitPoints <= 0) { missile[i]._miDelFlag = TRUE; plr[src]._pSpellFlags &= ~0x1; } @@ -4745,18 +4745,18 @@ void MI_Firemove(int i) CheckMissileCol(i, missile[i]._midam, missile[i]._midam, FALSE, missile[i]._mix, missile[i]._miy, FALSE); if (missile[i]._miHitFlag == TRUE) missile[i]._mirange = j; - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } - if (missile[i]._mimfnum || !missile[i]._mirange) { + if (missile[i]._mimfnum != 0 || missile[i]._mirange == 0) { if (missile[i]._mix != missile[i]._miVar3 || missile[i]._miy != missile[i]._miVar4) { missile[i]._miVar3 = missile[i]._mix; missile[i]._miVar4 = missile[i]._miy; ChangeLight(missile[i]._mlid, missile[i]._miVar3, missile[i]._miVar4, 8); } } else { - if (!missile[i]._miVar2) + if (missile[i]._miVar2 == 0) missile[i]._mlid = AddLight(missile[i]._mix, missile[i]._miy, ExpLight[0]); ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, ExpLight[missile[i]._miVar2]); missile[i]._miVar2++; @@ -4885,7 +4885,7 @@ void MI_Chain(int i) void mi_null_11(int i) { missile[i]._mirange--; - if (!missile[i]._mirange) + if (missile[i]._mirange == 0) missile[i]._miDelFlag = TRUE; if (missile[i]._miAnimFrame == missile[i]._miAnimLen) missile[i]._miPreFlag = TRUE; @@ -4909,14 +4909,14 @@ void MI_Weapexp(int i) missiledata[missile[i]._mitype].mResist = MISR_LIGHTNING; } CheckMissileCol(i, mind, maxd, FALSE, missile[i]._mix, missile[i]._miy, FALSE); - if (!missile[i]._miVar1) { + if (missile[i]._miVar1 == 0) { missile[i]._mlid = AddLight(missile[i]._mix, missile[i]._miy, 9); } else { - if (missile[i]._mirange) + if (missile[i]._mirange != 0) ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, ExpLight[missile[i]._miVar1]); } missile[i]._miVar1++; - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } else { @@ -4933,11 +4933,11 @@ void MI_Misexp(int i) #endif missile[i]._mirange--; - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } else { - if (!missile[i]._miVar1) + if (missile[i]._miVar1 == 0) missile[i]._mlid = AddLight(missile[i]._mix, missile[i]._miy, 9); else ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, ExpLight[missile[i]._miVar1]); @@ -4956,7 +4956,7 @@ void MI_Acidsplat(int i) missile[i]._miyoff -= 32; } missile[i]._mirange--; - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; monst = missile[i]._misource; dam = missile[i]._mispllvl; @@ -5003,7 +5003,7 @@ void MI_Stone(int i) missile[i]._mirange--; m = missile[i]._miVar2; - if (!monster[m]._mhitpoints && missile[i]._miAnimType != MFILE_SHATTER1) { + if (monster[m]._mhitpoints == 0 && missile[i]._miAnimType != MFILE_SHATTER1) { #ifndef HELLFIRE missile[i]._mimfnum = 0; missile[i]._miDrawFlag = TRUE; @@ -5016,7 +5016,7 @@ void MI_Stone(int i) return; } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; if (monster[m]._mhitpoints > 0) monster[m]._mmode = missile[i]._miVar1; @@ -5030,11 +5030,11 @@ void MI_Stone(int i) void MI_Boom(int i) { missile[i]._mirange--; - if (!missile[i]._miVar1) + if (missile[i]._miVar1 == 0) CheckMissileCol(i, missile[i]._midam, missile[i]._midam, FALSE, missile[i]._mix, missile[i]._miy, TRUE); if (missile[i]._miHitFlag == TRUE) missile[i]._miVar1 = 1; - if (!missile[i]._mirange) + if (missile[i]._mirange == 0) missile[i]._miDelFlag = TRUE; PutMissile(i); } @@ -5138,7 +5138,7 @@ void MI_FirewallC(int i) } else { tx = missile[i]._miVar1 + XDirAdd[missile[i]._miVar3]; ty = missile[i]._miVar2 + YDirAdd[missile[i]._miVar3]; - if (!nMissileTable[dPiece[missile[i]._miVar1][missile[i]._miVar2]] && !missile[i]._miVar8 && tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { + if (!nMissileTable[dPiece[missile[i]._miVar1][missile[i]._miVar2]] && missile[i]._miVar8 == 0 && tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { AddMissile(missile[i]._miVar1, missile[i]._miVar2, missile[i]._miVar1, missile[i]._miVar2, plr[id]._pdir, MIS_FIREWALL, 0, id, 0, missile[i]._mispllvl); missile[i]._miVar1 = tx; missile[i]._miVar2 = ty; @@ -5147,7 +5147,7 @@ void MI_FirewallC(int i) } tx = missile[i]._miVar5 + XDirAdd[missile[i]._miVar4]; ty = missile[i]._miVar6 + YDirAdd[missile[i]._miVar4]; - if (!nMissileTable[dPiece[missile[i]._miVar5][missile[i]._miVar6]] && !missile[i]._miVar7 && tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { + if (!nMissileTable[dPiece[missile[i]._miVar5][missile[i]._miVar6]] && missile[i]._miVar7 == 0 && tx > 0 && tx < MAXDUNX && ty > 0 && ty < MAXDUNY) { AddMissile(missile[i]._miVar5, missile[i]._miVar6, missile[i]._miVar5, missile[i]._miVar6, plr[id]._pdir, MIS_FIREWALL, 0, id, 0, missile[i]._mispllvl); missile[i]._miVar5 = tx; missile[i]._miVar6 = ty; @@ -5161,7 +5161,7 @@ void MI_Infra(int i) { missile[i]._mirange--; plr[missile[i]._misource]._pInfraFlag = TRUE; - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; CalcPlrItemVals(missile[i]._misource, TRUE); } @@ -5343,7 +5343,7 @@ void MI_Flame(int i) CheckMissileCol(i, missile[i]._midam, missile[i]._midam, TRUE, missile[i]._mix, missile[i]._miy, FALSE); if (missile[i]._mirange == 0 && missile[i]._miHitFlag == TRUE) missile[i]._mirange = k; - if (!missile[i]._miVar2) + if (missile[i]._miVar2 == 0) missile[i]._miAnimFrame = 20; if (missile[i]._miVar2 <= 0) { k = missile[i]._miAnimFrame; @@ -5351,7 +5351,7 @@ void MI_Flame(int i) k = 24 - k; ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, k); } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } @@ -5389,7 +5389,7 @@ void MI_Flamec(int i) missile[i]._miVar2 = missile[i]._miy; missile[i]._miVar3++; } - if (!missile[i]._mirange || missile[i]._miVar3 == 3) + if (missile[i]._mirange == 0 || missile[i]._miVar3 == 3) missile[i]._miDelFlag = TRUE; } @@ -5400,7 +5400,7 @@ void MI_Cbolt(int i) missile[i]._mirange--; if (missile[i]._miAnimType != MFILE_LGHNING) { - if (!missile[i]._miVar3) { + if (missile[i]._miVar3 == 0) { md = (missile[i]._miVar2 + bpath[missile[i]._mirnd]) & 7; missile[i]._mirnd = (missile[i]._mirnd + 1) & 0xF; GetMissileVel(i, missile[i]._mix, missile[i]._miy, missile[i]._mix + XDirAdd[md], missile[i]._miy + YDirAdd[md], 8); @@ -5423,7 +5423,7 @@ void MI_Cbolt(int i) } ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, missile[i]._miVar1); } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } @@ -5443,7 +5443,7 @@ void MI_Hbolt(int i) if (missile[i]._mix != missile[i]._misx || missile[i]._miy != missile[i]._misy) { CheckMissileCol(i, dam, dam, FALSE, missile[i]._mix, missile[i]._miy, FALSE); } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._mitxoff -= missile[i]._mixvel; missile[i]._mityoff -= missile[i]._miyvel; GetMissilePos(i); @@ -5459,7 +5459,7 @@ void MI_Hbolt(int i) } } else { ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, missile[i]._miAnimFrame + 7); - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } @@ -5498,7 +5498,7 @@ void MI_Element(int i) CheckMissileCol(i, dam, dam, TRUE, cx - 1, cy + 1, TRUE); if (!CheckBlock(px, py, cx - 1, cy - 1)) CheckMissileCol(i, dam, dam, TRUE, cx - 1, cy - 1, TRUE); - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } @@ -5509,7 +5509,7 @@ void MI_Element(int i) cx = missile[i]._mix; cy = missile[i]._miy; CheckMissileCol(i, dam, dam, FALSE, cx, cy, FALSE); - if (!missile[i]._miVar3 && cx == missile[i]._miVar4 && cy == missile[i]._miVar5) + if (missile[i]._miVar3 == 0 && cx == missile[i]._miVar4 && cy == missile[i]._miVar5) missile[i]._miVar3 = 1; if (missile[i]._miVar3 == 1) { missile[i]._miVar3 = 2; @@ -5530,7 +5530,7 @@ void MI_Element(int i) missile[i]._miVar2 = cy; ChangeLight(missile[i]._mlid, cx, cy, 8); } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._mimfnum = 0; SetMissAnim(i, MFILE_BIGEXP); missile[i]._mirange = missile[i]._miAnimLen - 1; @@ -5549,7 +5549,7 @@ void MI_Bonespirit(int i) id = missile[i]._misource; if (missile[i]._mimfnum == 8) { ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, missile[i]._miAnimFrame); - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } @@ -5582,7 +5582,7 @@ void MI_Bonespirit(int i) missile[i]._miVar2 = cy; ChangeLight(missile[i]._mlid, cx, cy, 8); } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { SetMissDir(i, DIR_OMNI); missile[i]._mirange = 7; } @@ -5607,13 +5607,13 @@ void MI_Rportal(int i) if (missile[i]._mirange == missile[i]._miVar1) SetMissDir(i, 1); - if (currlevel && missile[i]._mimfnum != 1 && missile[i]._mirange != 0) { - if (!missile[i]._miVar2) + if (currlevel != 0 && missile[i]._mimfnum != 1 && missile[i]._mirange != 0) { + if (missile[i]._miVar2 == 0) missile[i]._mlid = AddLight(missile[i]._mix, missile[i]._miy, 1); ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, ExpLight[missile[i]._miVar2]); missile[i]._miVar2++; } - if (!missile[i]._mirange) { + if (missile[i]._mirange == 0) { missile[i]._miDelFlag = TRUE; AddUnLight(missile[i]._mlid); } diff --git a/Source/msg.cpp b/Source/msg.cpp index eb2ceb39b..50144bb56 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -272,7 +272,7 @@ BYTE *DeltaExportJunk(BYTE *dst) mq = sgJunk.quests; for (i = 0; i < MAXMULTIQUESTS; i++) { - if (questlist[i]._qflags & 1) { + if (questlist[i]._qflags & QUEST_ANY) { mq->qlog = quests[i]._qlog; mq->qstate = quests[i]._qactive; mq->qvar1 = quests[i]._qvar1; @@ -1302,7 +1302,7 @@ void DeltaImportJunk(BYTE *src) mq = sgJunk.quests; for (i = 0; i < MAXMULTIQUESTS; i++) { - if (questlist[i]._qflags & 1) { + if (questlist[i]._qflags & QUEST_ANY) { memcpy(mq, src, sizeof(MultiQuests)); src += sizeof(MultiQuests); quests[i]._qlog = mq->qlog; diff --git a/Source/objects.cpp b/Source/objects.cpp index 03e689583..f9cc69ec3 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -2978,12 +2978,12 @@ void OperateBookLever(int pnum, int i) if (object[i]._oSelFlag != 0 && !qtextflag) { if (object[i]._otype == OBJ_BLINDBOOK && !quests[Q_BLIND]._qvar1) { quests[Q_BLIND]._qactive = QUEST_ACTIVE; - quests[Q_BLIND]._qlog = 1; + quests[Q_BLIND]._qlog = TRUE; quests[Q_BLIND]._qvar1 = 1; } if (object[i]._otype == OBJ_BLOODBOOK && !quests[Q_BLOOD]._qvar1) { quests[Q_BLOOD]._qactive = QUEST_ACTIVE; - quests[Q_BLOOD]._qlog = 1; + quests[Q_BLOOD]._qlog = TRUE; quests[Q_BLOOD]._qvar1 = 1; SpawnQuestItem(IDI_BLDSTONE, 2 * setpc_x + 19, 2 * setpc_y + 26, 0, 1); SpawnQuestItem(IDI_BLDSTONE, 2 * setpc_x + 31, 2 * setpc_y + 26, 0, 1); @@ -2992,7 +2992,7 @@ void OperateBookLever(int pnum, int i) object[i]._otype = object[i]._otype; if (object[i]._otype == OBJ_STEELTOME && !quests[Q_WARLORD]._qvar1) { quests[Q_WARLORD]._qactive = QUEST_ACTIVE; - quests[Q_WARLORD]._qlog = 1; + quests[Q_WARLORD]._qlog = TRUE; quests[Q_WARLORD]._qvar1 = 1; } if (object[i]._oAnimFrame != object[i]._oVar6) { @@ -3026,7 +3026,7 @@ void OperateSChambBk(int pnum, int i) object[i]._oAnimFrame = object[i]._oVar6; if (quests[Q_SCHAMB]._qactive == QUEST_INIT) { quests[Q_SCHAMB]._qactive = QUEST_ACTIVE; - quests[Q_SCHAMB]._qlog = 1; + quests[Q_SCHAMB]._qlog = TRUE; } if (plr[myplr]._pClass == PC_WARRIOR) { textdef = TEXT_BONER; diff --git a/Source/player.cpp b/Source/player.cpp index 27402daed..2682154f2 100644 --- a/Source/player.cpp +++ b/Source/player.cpp @@ -1281,7 +1281,7 @@ void StartStand(int pnum, int dir) app_fatal("StartStand: illegal player %d", pnum); } - if (!plr[pnum]._pInvincible || plr[pnum]._pHitPoints || pnum != myplr) { + if (!plr[pnum]._pInvincible || plr[pnum]._pHitPoints != 0 || pnum != myplr) { if (!(plr[pnum]._pGFXLoad & PFILE_STAND)) { LoadPlrGFX(pnum, PFILE_STAND); } @@ -1405,7 +1405,7 @@ void StartWalk(int pnum, int xvel, int yvel, int xadd, int yadd, int EndDir, int app_fatal("StartWalk: illegal player %d", pnum); } - if (plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr) { + if (plr[pnum]._pInvincible && plr[pnum]._pHitPoints == 0 && pnum == myplr) { SyncPlrKill(pnum, -1); return; } @@ -1475,7 +1475,7 @@ void StartWalk2(int pnum, int xvel, int yvel, int xoff, int yoff, int xadd, int app_fatal("StartWalk2: illegal player %d", pnum); } - if (plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr) { + if (plr[pnum]._pInvincible && plr[pnum]._pHitPoints == 0 && pnum == myplr) { SyncPlrKill(pnum, -1); return; } @@ -1554,7 +1554,7 @@ void StartWalk3(int pnum, int xvel, int yvel, int xoff, int yoff, int xadd, int app_fatal("StartWalk3: illegal player %d", pnum); } - if (plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr) { + if (plr[pnum]._pInvincible && plr[pnum]._pHitPoints == 0 && pnum == myplr) { SyncPlrKill(pnum, -1); return; } @@ -1632,7 +1632,7 @@ void StartAttack(int pnum, int d) app_fatal("StartAttack: illegal player %d", pnum); } - if (plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr) { + if (plr[pnum]._pInvincible && plr[pnum]._pHitPoints == 0 && pnum == myplr) { SyncPlrKill(pnum, -1); return; } @@ -1653,7 +1653,7 @@ void StartRangeAttack(int pnum, int d, int cx, int cy) app_fatal("StartRangeAttack: illegal player %d", pnum); } - if (plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr) { + if (plr[pnum]._pInvincible && plr[pnum]._pHitPoints == 0 && pnum == myplr) { SyncPlrKill(pnum, -1); return; } @@ -1676,7 +1676,7 @@ void StartPlrBlock(int pnum, int dir) app_fatal("StartPlrBlock: illegal player %d", pnum); } - if (plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr) { + if (plr[pnum]._pInvincible && plr[pnum]._pHitPoints == 0 && pnum == myplr) { SyncPlrKill(pnum, -1); return; } @@ -1698,7 +1698,7 @@ void StartSpell(int pnum, int d, int cx, int cy) if ((DWORD)pnum >= MAX_PLRS) app_fatal("StartSpell: illegal player %d", pnum); - if (plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr) { + if (plr[pnum]._pInvincible && plr[pnum]._pHitPoints == 0 && pnum == myplr) { SyncPlrKill(pnum, -1); return; } @@ -1794,7 +1794,7 @@ void StartPlrHit(int pnum, int dam, BOOL forcehit) app_fatal("StartPlrHit: illegal player %d", pnum); } - if (plr[pnum]._pInvincible && !plr[pnum]._pHitPoints && pnum == myplr) { + if (plr[pnum]._pInvincible && plr[pnum]._pHitPoints == 0 && pnum == myplr) { SyncPlrKill(pnum, -1); return; } diff --git a/Source/portal.cpp b/Source/portal.cpp index 34ae71f91..9ff371fb4 100644 --- a/Source/portal.cpp +++ b/Source/portal.cpp @@ -129,7 +129,7 @@ void SetCurrentPortal(int p) void GetPortalLevel() { - if (currlevel) { + if (currlevel != 0) { setlevel = FALSE; currlevel = 0; plr[myplr].plrlevel = 0; diff --git a/Source/quests.cpp b/Source/quests.cpp index a039652cd..c9a9c4503 100644 --- a/Source/quests.cpp +++ b/Source/quests.cpp @@ -17,39 +17,39 @@ int WaterDone; int ReturnLvlX; int ReturnLvlY; int ReturnLvlT; -/** current frame # for the pentagram selector */ -int ALLQUESTS; +/** current frame # for the quest pentagram selector */ +int questpentframe; int ReturnLvl; /** Contains the data related to each quest_id. */ QuestData questlist[MAXQUESTS] = { // clang-format off - // _qdlvl, _qdmultlvl, _qlvlt, _qdtype, _qdrnd, _qslvl, _qflags, _qdmsg, _qlstr - { 5, -1, DTYPE_NONE, Q_ROCK, 100, 0, 0, TEXT_INFRA5, "The Magic Rock" }, - { 9, -1, DTYPE_NONE, Q_MUSHROOM, 100, 0, 0, TEXT_MUSH8, "Black Mushroom" }, - { 4, -1, DTYPE_NONE, Q_GARBUD, 100, 0, 0, TEXT_GARBUD1, "Gharbad The Weak" }, - { 8, -1, DTYPE_NONE, Q_ZHAR, 100, 0, 0, TEXT_ZHAR1, "Zhar the Mad" }, - { 14, -1, DTYPE_NONE, Q_VEIL, 100, 0, 0, TEXT_VEIL9, "Lachdanan" }, - { 15, -1, DTYPE_NONE, Q_DIABLO, 100, 0, 1, TEXT_VILE3, "Diablo" }, - { 2, 2, DTYPE_NONE, Q_BUTCHER, 100, 0, 1, TEXT_BUTCH9, "The Butcher" }, - { 4, -1, DTYPE_NONE, Q_LTBANNER, 100, 0, 0, TEXT_BANNER2, "Ogden's Sign" }, - { 7, -1, DTYPE_NONE, Q_BLIND, 100, 0, 0, TEXT_BLINDING, "Halls of the Blind" }, - { 5, -1, DTYPE_NONE, Q_BLOOD, 100, 0, 0, TEXT_BLOODY, "Valor" }, - { 10, -1, DTYPE_NONE, Q_ANVIL, 100, 0, 0, TEXT_ANVIL5, "Anvil of Fury" }, - { 13, -1, DTYPE_NONE, Q_WARLORD, 100, 0, 0, TEXT_BLOODWAR, "Warlord of Blood" }, - { 3, 3, DTYPE_CATHEDRAL, Q_SKELKING, 100, 1, 1, TEXT_KING2, "The Curse of King Leoric" }, - { 2, -1, DTYPE_CAVES, Q_PWATER, 100, 4, 0, TEXT_POISON3, "Poisoned Water Supply" }, - { 6, -1, DTYPE_CATACOMBS, Q_SCHAMB, 100, 2, 0, TEXT_BONER, "The Chamber of Bone" }, - { 15, 15, DTYPE_CATHEDRAL, Q_BETRAYER, 100, 5, 1, TEXT_VILE1, "Archbishop Lazarus" }, + // _qdlvl, _qdmultlvl, _qlvlt, _qdtype, _qdrnd, _qslvl, _qflags, _qdmsg, _qlstr + { 5, -1, DTYPE_NONE, Q_ROCK, 100, 0, QUEST_SINGLE, TEXT_INFRA5, "The Magic Rock" }, + { 9, -1, DTYPE_NONE, Q_MUSHROOM, 100, 0, QUEST_SINGLE, TEXT_MUSH8, "Black Mushroom" }, + { 4, -1, DTYPE_NONE, Q_GARBUD, 100, 0, QUEST_SINGLE, TEXT_GARBUD1, "Gharbad The Weak" }, + { 8, -1, DTYPE_NONE, Q_ZHAR, 100, 0, QUEST_SINGLE, TEXT_ZHAR1, "Zhar the Mad" }, + { 14, -1, DTYPE_NONE, Q_VEIL, 100, 0, QUEST_SINGLE, TEXT_VEIL9, "Lachdanan" }, + { 15, -1, DTYPE_NONE, Q_DIABLO, 100, 0, QUEST_ANY, TEXT_VILE3, "Diablo" }, + { 2, 2, DTYPE_NONE, Q_BUTCHER, 100, 0, QUEST_ANY, TEXT_BUTCH9, "The Butcher" }, + { 4, -1, DTYPE_NONE, Q_LTBANNER, 100, 0, QUEST_SINGLE, TEXT_BANNER2, "Ogden's Sign" }, + { 7, -1, DTYPE_NONE, Q_BLIND, 100, 0, QUEST_SINGLE, TEXT_BLINDING, "Halls of the Blind" }, + { 5, -1, DTYPE_NONE, Q_BLOOD, 100, 0, QUEST_SINGLE, TEXT_BLOODY, "Valor" }, + { 10, -1, DTYPE_NONE, Q_ANVIL, 100, 0, QUEST_SINGLE, TEXT_ANVIL5, "Anvil of Fury" }, + { 13, -1, DTYPE_NONE, Q_WARLORD, 100, 0, QUEST_SINGLE, TEXT_BLOODWAR, "Warlord of Blood" }, + { 3, 3, DTYPE_CATHEDRAL, Q_SKELKING, 100, 1, QUEST_ANY, TEXT_KING2, "The Curse of King Leoric" }, + { 2, -1, DTYPE_CAVES, Q_PWATER, 100, 4, QUEST_SINGLE, TEXT_POISON3, "Poisoned Water Supply" }, + { 6, -1, DTYPE_CATACOMBS, Q_SCHAMB, 100, 2, QUEST_SINGLE, TEXT_BONER, "The Chamber of Bone" }, + { 15, 15, DTYPE_CATHEDRAL, Q_BETRAYER, 100, 5, QUEST_ANY, TEXT_VILE1, "Archbishop Lazarus" }, #ifdef HELLFIRE - { 17, 17, DTYPE_NONE, Q_GRAVE, 100, 0, 1, TEXT_GRAVE7, "Grave Matters" }, - { 9, 9, DTYPE_NONE, Q_FARMER, 100, 0, 1, TEXT_FARMER1, "Farmer's Orchard" }, - { 17, -1, DTYPE_NONE, Q_GIRL, 100, 0, 0, TEXT_GIRL2, "Little Girl" }, - { 19, -1, DTYPE_NONE, Q_TRADER, 100, 0, 0, TEXT_TRADER, "Wandering Trader" }, - { 17, 17, DTYPE_NONE, Q_DEFILER,100, 0, 1, TEXT_DEFILER1, "The Defiler" }, - { 21, 21, DTYPE_NONE, Q_NAKRUL, 100, 0, 1, TEXT_NAKRUL1, "Na-Krul" }, - { 21, -1, DTYPE_NONE, Q_CORNSTN,100, 0, 0, TEXT_CORNSTN, "Cornerstone of the World" }, - { 9, 9, DTYPE_NONE, Q_JERSEY, 100, 0, 1, TEXT_JERSEY4, "The Jersey's Jersey" }, + { 17, 17, DTYPE_NONE, Q_GRAVE, 100, 0, QUEST_ANY, TEXT_GRAVE7, "Grave Matters" }, + { 9, 9, DTYPE_NONE, Q_FARMER, 100, 0, QUEST_ANY, TEXT_FARMER1, "Farmer's Orchard" }, + { 17, -1, DTYPE_NONE, Q_GIRL, 100, 0, QUEST_SINGLE, TEXT_GIRL2, "Little Girl" }, + { 19, -1, DTYPE_NONE, Q_TRADER, 100, 0, QUEST_SINGLE, TEXT_TRADER, "Wandering Trader" }, + { 17, 17, DTYPE_NONE, Q_DEFILER, 100, 0, QUEST_ANY, TEXT_DEFILER1, "The Defiler" }, + { 21, 21, DTYPE_NONE, Q_NAKRUL, 100, 0, QUEST_ANY, TEXT_NAKRUL1, "Na-Krul" }, + { 21, -1, DTYPE_NONE, Q_CORNSTN, 100, 0, QUEST_SINGLE, TEXT_CORNSTN, "Cornerstone of the World" }, + { 9, 9, DTYPE_NONE, Q_JERSEY, 100, 0, QUEST_ANY, TEXT_JERSEY4, "The Jersey's Jersey" }, #endif // clang-format on }; @@ -106,33 +106,34 @@ void InitQuests() } } else { for (i = 0; i < MAXQUESTS; i++) { - if (!(questlist[i]._qflags & 1)) { + if (!(questlist[i]._qflags & QUEST_ANY)) { quests[i]._qactive = QUEST_NOTAVAIL; } } } questlog = FALSE; - ALLQUESTS = 1; + questpentframe = 1; WaterDone = 0; initiatedQuests = 0; for (z = 0; z < MAXQUESTS; z++) { - if (gbMaxPlayers <= 1 || questlist[z]._qflags & 1) { + if (gbMaxPlayers > 1 && !(questlist[z]._qflags & QUEST_ANY)) + continue; quests[z]._qtype = questlist[z]._qdtype; if (gbMaxPlayers > 1) { quests[z]._qlevel = questlist[z]._qdmultlvl; if (!delta_quest_inited(initiatedQuests)) { quests[z]._qactive = QUEST_INIT; quests[z]._qvar1 = 0; - quests[z]._qlog = 0; + quests[z]._qlog = FALSE; } initiatedQuests++; } else { quests[z]._qactive = QUEST_INIT; quests[z]._qlevel = questlist[z]._qdlvl; quests[z]._qvar1 = 0; - quests[z]._qlog = 0; + quests[z]._qlog = FALSE; } quests[z]._qslvl = questlist[z]._qslvl; @@ -142,7 +143,6 @@ void InitQuests() quests[z]._qlvltype = questlist[z]._qlvlt; quests[z]._qvar2 = 0; quests[z]._qmsg = questlist[z]._qdmsg; - } } if (gbMaxPlayers == 1) { @@ -168,9 +168,9 @@ void InitQuests() } #endif - if (!quests[Q_SKELKING]._qactive) + if (quests[Q_SKELKING]._qactive == QUEST_NOTAVAIL) quests[Q_SKELKING]._qvar2 = 2; - if (!quests[Q_ROCK]._qactive) + if (quests[Q_ROCK]._qactive == QUEST_NOTAVAIL) quests[Q_ROCK]._qvar2 = 2; quests[Q_LTBANNER]._qvar1 = 1; if (gbMaxPlayers != 1) @@ -283,15 +283,15 @@ BOOL ForceQuests() BOOL QuestStatus(int i) { - BOOL result; - - if (setlevel - || currlevel != quests[i]._qlevel - || !quests[i]._qactive - || (result = 1, gbMaxPlayers != 1) && !(questlist[i]._qflags & 1)) { - result = FALSE; - } - return result; + if (setlevel) + return FALSE; + if (currlevel != quests[i]._qlevel) + return FALSE; + if (quests[i]._qactive == QUEST_NOTAVAIL) + return FALSE; + if (gbMaxPlayers != 1 && !(questlist[i]._qflags & QUEST_ANY)) + return FALSE; + return TRUE; } void CheckQuestKill(int m, BOOL sendmsg) @@ -841,7 +841,7 @@ void PrintQLString(int x, int y, BOOL cjustflag, char *str, int col) off += k; } if (qline == y) { - CelDraw(cjustflag ? x + k + 12 + SCREEN_X : x + 12 + SCREEN_X, s + 205, pSPentSpn2Cels, ALLQUESTS, 12); + CelDraw(cjustflag ? x + k + 12 + SCREEN_X : x + 12 + SCREEN_X, s + 205, pSPentSpn2Cels, questpentframe, 12); } for (i = 0; i < len; i++) { c = fontframe[gbFontTransTbl[(BYTE)str[i]]]; @@ -852,7 +852,7 @@ void PrintQLString(int x, int y, BOOL cjustflag, char *str, int col) off += fontkern[c] + 1; } if (qline == y) { - CelDraw(cjustflag ? x + k + 36 + SCREEN_X : 276 + SCREEN_X - x, s + 205, pSPentSpn2Cels, ALLQUESTS, 12); + CelDraw(cjustflag ? x + k + 36 + SCREEN_X : 276 + SCREEN_X - x, s + 205, pSPentSpn2Cels, questpentframe, 12); } } @@ -868,7 +868,7 @@ void DrawQuestLog() y += 2; } PrintQLString(0, 22, TRUE, "Close Quest Log", 0); - ALLQUESTS = (ALLQUESTS & 7) + 1; + questpentframe = (questpentframe & 7) + 1; } void StartQuestlog() @@ -891,7 +891,7 @@ void StartQuestlog() if (numqlines != 0) qline = qtopline; questlog = TRUE; - ALLQUESTS = 1; + questpentframe = 1; } void QuestlogUp() diff --git a/Source/quests.h b/Source/quests.h index 35b2dfc9e..6809a3277 100644 --- a/Source/quests.h +++ b/Source/quests.h @@ -17,7 +17,7 @@ extern int WaterDone; extern int ReturnLvlX; extern int ReturnLvlY; extern int ReturnLvlT; -extern int ALLQUESTS; +extern int questpentframe; extern int ReturnLvl; void InitQuests(); diff --git a/Source/render.cpp b/Source/render.cpp index eab646500..10e8aab3f 100644 --- a/Source/render.cpp +++ b/Source/render.cpp @@ -1169,7 +1169,7 @@ void drawBottomArchesUpperScreen(BYTE *pBuff, DWORD *pMask) gpCelFrame = (BYTE *)SpeedFrameTbl; dst = pBuff; gpDrawMask = pMask; - if (!(BYTE)light_table_index) { + if ((BYTE)light_table_index == 0) { if (level_cel_block & 0x8000) level_cel_block = *(DWORD *)&gpCelFrame[64 * (level_cel_block & 0xFFF)] + (WORD)(level_cel_block & 0xF000); @@ -1822,7 +1822,7 @@ void drawUpperScreen(BYTE *pBuff) } gpCelFrame = (BYTE *)SpeedFrameTbl; dst = pBuff; - if (!(BYTE)light_table_index) { + if ((BYTE)light_table_index == 0) { if (level_cel_block & 0x8000) level_cel_block = *(DWORD *)&gpCelFrame[64 * (level_cel_block & 0xFFF)] + (WORD)(level_cel_block & 0xF000); @@ -2430,7 +2430,7 @@ void drawTopArchesLowerScreen(BYTE *pBuff) gpCelFrame = (BYTE *)SpeedFrameTbl; dst = pBuff; - if (!(BYTE)light_table_index) { + if ((BYTE)light_table_index == 0) { if (level_cel_block & 0x8000) level_cel_block = *(DWORD *)&gpCelFrame[64 * (level_cel_block & 0xFFF)] + (WORD)(level_cel_block & 0xF000); diff --git a/Source/scrollrt.cpp b/Source/scrollrt.cpp index e4fe18c81..8c247d10f 100644 --- a/Source/scrollrt.cpp +++ b/Source/scrollrt.cpp @@ -719,7 +719,7 @@ void DrawDeadPlayer(int x, int y, int sx, int sy, int CelSkip, int CelCap, BOOL for (i = 0; i < MAX_PLRS; i++) { p = &plr[i]; - if (p->plractive && !p->_pHitPoints && p->plrlevel == (BYTE)currlevel && p->_px == x && p->_py == y) { + if (p->plractive && p->_pHitPoints == 0 && p->plrlevel == (BYTE)currlevel && p->_px == x && p->_py == y) { pCelBuff = p->_pAnimData; if (!pCelBuff) { // app_fatal("Drawing dead player %d \"%s\": NULL Cel Buffer", i, p->_pName); diff --git a/Source/stores.cpp b/Source/stores.cpp index 32831566e..6c8e310c2 100644 --- a/Source/stores.cpp +++ b/Source/stores.cpp @@ -513,7 +513,7 @@ void PrintStoreItem(ItemStruct *x, int l, char iclr) str = x->_iMinStr; dex = x->_iMinDex; mag = x->_iMinMag; - if (!(str + mag + dex)) { + if ((str + mag + dex) == 0) { strcat(sstr, "No required attributes"); } else { strcpy(tempstr, "Required:"); @@ -707,7 +707,7 @@ void S_StartSSell() if (storehold[storenumh]._iMagical != ITEM_QUALITY_NORMAL && storehold[storenumh]._iIdentified) storehold[storenumh]._ivalue = storehold[storenumh]._iIvalue; - if (!(storehold[storenumh]._ivalue >>= 2)) + if ((storehold[storenumh]._ivalue >>= 2) == 0) storehold[storenumh]._ivalue = 1; storehold[storenumh]._iIvalue = storehold[storenumh]._ivalue; @@ -979,7 +979,7 @@ void S_StartWSell() if (storehold[storenumh]._iMagical != ITEM_QUALITY_NORMAL && storehold[storenumh]._iIdentified) storehold[storenumh]._ivalue = storehold[storenumh]._iIvalue; - if (!(storehold[storenumh]._ivalue >>= 2)) + if ((storehold[storenumh]._ivalue >>= 2) == 0) storehold[storenumh]._ivalue = 1; storehold[storenumh]._iIvalue = storehold[storenumh]._ivalue; @@ -999,7 +999,7 @@ void S_StartWSell() if (storehold[storenumh]._iMagical != ITEM_QUALITY_NORMAL && storehold[storenumh]._iIdentified) storehold[storenumh]._ivalue = storehold[storenumh]._iIvalue; - if (!(storehold[storenumh]._ivalue >>= 2)) + if ((storehold[storenumh]._ivalue >>= 2) == 0) storehold[storenumh]._ivalue = 1; storehold[storenumh]._iIvalue = storehold[storenumh]._ivalue; diff --git a/Source/towners.cpp b/Source/towners.cpp index e7d7e0392..3e0d59fc0 100644 --- a/Source/towners.cpp +++ b/Source/towners.cpp @@ -575,7 +575,7 @@ void TownDead() tidx = GetActiveTowner(TOWN_DEADGUY); TownCtrlMsg(tidx); if (!qtextflag) { - if (quests[Q_BUTCHER]._qactive == QUEST_ACTIVE && quests[Q_BUTCHER]._qlog == 0) { + if (quests[Q_BUTCHER]._qactive == QUEST_ACTIVE && !quests[Q_BUTCHER]._qlog) { return; } if (quests[Q_BUTCHER]._qactive != QUEST_INIT) { diff --git a/enums.h b/enums.h index 279d78fef..e2b967e4f 100644 --- a/enums.h +++ b/enums.h @@ -3103,6 +3103,12 @@ typedef enum quest_state { QUEST_DONE = 3 } quest_state; +typedef enum quest_gametype { + QUEST_SINGLE = 0, + QUEST_ANY = 1, + QUEST_MULTI = 2, +} quest_gametype; + typedef enum quest_mush_state { QS_INIT = 0, QS_TOMESPAWNED = 1, diff --git a/structs.h b/structs.h index 532a8ff04..4e0dc8fa2 100644 --- a/structs.h +++ b/structs.h @@ -1047,7 +1047,7 @@ typedef struct QuestStruct { #endif unsigned char _qvar1; unsigned char _qvar2; - int _qlog; + BOOL _qlog; } QuestStruct; typedef struct QuestData {