From 937e64ff62fdf700bb0eebcc5a2703e67787d80b Mon Sep 17 00:00:00 2001 From: qndel Date: Thu, 2 Jan 2020 23:09:33 +0100 Subject: [PATCH] [hellfire] Obj_Door bin exact --- Source/objects.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/Source/objects.cpp b/Source/objects.cpp index 038e0780b..c347761cb 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -1592,21 +1592,28 @@ void Obj_StopAnim(int i) void Obj_Door(int i) { int dx, dy; + DIABOOL dok; - if (!object[i]._oVar4) { - object[i]._oMissFlag = FALSE; + if (object[i]._oVar4 == 0) { object[i]._oSelFlag = 3; + object[i]._oMissFlag = FALSE; } else { - dy = object[i]._oy; 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 object[i]._oSelFlag = 2; + object[i]._oVar4 = dok ? 1 : 2; object[i]._oMissFlag = TRUE; - object[i]._oVar4 = (((dItem[dx][dy] == 0 ? 1 : 0) - & (dDead[dx][dy] == 0 ? 1 : 0) - & (dPlayer[dx][dy] == 0 ? 1 : 0) - & (dMonster[dx][dy] == 0 ? 1 : 0)) - == 0) - + 1; } }