Browse Source

some cleanups (#2099)

pull/876/head
qndel 6 years ago committed by GitHub
parent
commit
b81d2eb831
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      Source/automap.cpp
  2. 10
      Source/drlg_l2.cpp
  3. 2
      Source/drlg_l4.cpp
  4. 2
      Source/inv.cpp
  5. 6
      Source/lighting.cpp
  6. 128
      Source/missiles.cpp
  7. 4
      Source/msg.cpp
  8. 8
      Source/objects.cpp
  9. 18
      Source/player.cpp
  10. 2
      Source/portal.cpp
  11. 96
      Source/quests.cpp
  12. 2
      Source/quests.h
  13. 6
      Source/render.cpp
  14. 2
      Source/scrollrt.cpp
  15. 8
      Source/stores.cpp
  16. 2
      Source/towners.cpp
  17. 6
      enums.h
  18. 2
      structs.h

2
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)

10
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;

2
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;

2
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;

6
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;
}

128
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);
}

4
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;

8
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;

18
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;
}

2
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;

96
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()

2
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();

6
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);

2
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);

8
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;

2
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) {

6
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,

2
structs.h

@ -1047,7 +1047,7 @@ typedef struct QuestStruct {
#endif
unsigned char _qvar1;
unsigned char _qvar2;
int _qlog;
BOOL _qlog;
} QuestStruct;
typedef struct QuestData {

Loading…
Cancel
Save