diff --git a/Source/objects.cpp b/Source/objects.cpp index 5e648d1b9..385b84efb 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -79,7 +79,7 @@ BYTE shrineavail[NUM_SHRINETYPE] = { SHRINETYPE_SINGLE, // SHRINE_GLOOMY SHRINETYPE_SINGLE, // SHRINE_WEIRD SHRINETYPE_ANY, // SHRINE_MAGICAL - SHRINETYPE_ANY, // SHRINE_STONE + SHRINETYPE_ANY, // SHRINE_STONE SHRINETYPE_ANY, // SHRINE_RELIGIOUS SHRINETYPE_ANY, // SHRINE_ENCHANTED SHRINETYPE_SINGLE, // SHRINE_THAUMATURGIC @@ -95,7 +95,7 @@ BYTE shrineavail[NUM_SHRINETYPE] = { SHRINETYPE_MULTI, // SHRINE_SPOOKY SHRINETYPE_ANY, // SHRINE_ABANDONED SHRINETYPE_ANY, // SHRINE_CREEPY - SHRINETYPE_ANY, // SHRINE_QUIET + SHRINETYPE_ANY, // SHRINE_QUIET SHRINETYPE_ANY, // SHRINE_SECLUDED SHRINETYPE_ANY, // SHRINE_ORNATE SHRINETYPE_ANY, // SHRINE_GLIMMERING @@ -1869,17 +1869,10 @@ void Obj_Door(int i) } else { dx = object[i]._ox; dy = object[i]._oy; -#ifdef HELLFIRE - dok = !dMonster[dx][dy]; - dok = dok && !dItem[dx][dy]; - dok = dok && !dDead[dx][dy]; - dok = dok && !dPlayer[dx][dy]; -#else dok = !dMonster[dx][dy]; - dok = dok & !dItem[dx][dy]; - dok = dok & !dDead[dx][dy]; - dok = dok & !dPlayer[dx][dy]; -#endif + dok = dok HFAND !dItem[dx][dy]; + dok = dok HFAND !dDead[dx][dy]; + dok = dok HFAND !dPlayer[dx][dy]; object[i]._oSelFlag = 2; object[i]._oVar4 = dok ? 1 : 2; object[i]._oMissFlag = TRUE; @@ -2603,6 +2596,7 @@ void OperateL1LDoor(int pnum, int oi, DIABOOL sendflag) void OperateL2RDoor(int pnum, int oi, DIABOOL sendflag) { int xp, yp; + DIABOOL dok; if (object[oi]._oVar4 == 2) { if (!deltaload) @@ -2627,7 +2621,10 @@ void OperateL2RDoor(int pnum, int oi, DIABOOL sendflag) if (!deltaload) PlaySfxLoc(IS_DOORCLOS, object[oi]._ox, yp); - if (((dDead[xp][yp] != 0 ? 0 : 1) & (dMonster[xp][yp] != 0 ? 0 : 1) & (dItem[xp][yp] != 0 ? 0 : 1)) != 0) { + dok = !dMonster[xp][yp]; + dok = dok HFAND !dItem[xp][yp]; + dok = dok HFAND !dDead[xp][yp]; + if (dok) { if (pnum == myplr && sendflag) NetSendCmdParam1(TRUE, CMD_CLOSEDOOR, oi); object[oi]._oVar4 = 0; @@ -2644,6 +2641,7 @@ void OperateL2RDoor(int pnum, int oi, DIABOOL sendflag) void OperateL2LDoor(int pnum, int oi, BOOL sendflag) { int xp, yp; + DIABOOL dok; if (object[oi]._oVar4 == 2) { if (!deltaload) @@ -2668,7 +2666,10 @@ void OperateL2LDoor(int pnum, int oi, BOOL sendflag) if (!deltaload) PlaySfxLoc(IS_DOORCLOS, object[oi]._ox, yp); - if (((dDead[xp][yp] != 0 ? 0 : 1) & (dMonster[xp][yp] != 0 ? 0 : 1) & (dItem[xp][yp] != 0 ? 0 : 1)) != 0) { + dok = !dMonster[xp][yp]; + dok = dok HFAND !dItem[xp][yp]; + dok = dok HFAND !dDead[xp][yp]; + if (dok) { if (pnum == myplr && sendflag) NetSendCmdParam1(TRUE, CMD_CLOSEDOOR, oi); object[oi]._oVar4 = 0; @@ -2685,6 +2686,7 @@ void OperateL2LDoor(int pnum, int oi, BOOL sendflag) void OperateL3RDoor(int pnum, int oi, DIABOOL sendflag) { int xp, yp; + DIABOOL dok; if (object[oi]._oVar4 == 2) { if (!deltaload) @@ -2710,7 +2712,10 @@ void OperateL3RDoor(int pnum, int oi, DIABOOL sendflag) if (!deltaload) PlaySfxLoc(IS_DOORCLOS, object[oi]._ox, yp); - if (((dDead[xp][yp] != 0 ? 0 : 1) & (dMonster[xp][yp] != 0 ? 0 : 1) & (dItem[xp][yp] != 0 ? 0 : 1)) != 0) { + dok = !dMonster[xp][yp]; + dok = dok HFAND !dItem[xp][yp]; + dok = dok HFAND !dDead[xp][yp]; + if (dok) { if (pnum == myplr && sendflag) NetSendCmdParam1(TRUE, CMD_CLOSEDOOR, oi); object[oi]._oVar4 = 0; @@ -2727,6 +2732,7 @@ void OperateL3RDoor(int pnum, int oi, DIABOOL sendflag) void OperateL3LDoor(int pnum, int oi, DIABOOL sendflag) { int xp, yp; + DIABOOL dok; if (object[oi]._oVar4 == 2) { if (!deltaload) @@ -2752,7 +2758,10 @@ void OperateL3LDoor(int pnum, int oi, DIABOOL sendflag) if (!deltaload) PlaySfxLoc(IS_DOORCLOS, object[oi]._ox, yp); - if (((dDead[xp][yp] != 0 ? 0 : 1) & (dMonster[xp][yp] != 0 ? 0 : 1) & (dItem[xp][yp] != 0 ? 0 : 1)) != 0) { + dok = !dMonster[xp][yp]; + dok = dok HFAND !dItem[xp][yp]; + dok = dok HFAND !dDead[xp][yp]; + if (dok) { if (pnum == myplr && sendflag) NetSendCmdParam1(TRUE, CMD_CLOSEDOOR, oi); object[oi]._oVar4 = 0; diff --git a/defs.h b/defs.h index 616c61a2d..9641c3b4d 100644 --- a/defs.h +++ b/defs.h @@ -14,6 +14,11 @@ #define APP_NAME "Diablo" #endif +#ifdef HELLFIRE +#define HFAND && +#else +#define HFAND & +#endif #define DMAXX 40 #define DMAXY 40